在之前的文章中,我們介紹了文檔智能的相關(guān)工作,并談到文檔智能技術(shù)廣泛應(yīng)用于金融、保險(xiǎn)、能源、物流、醫(yī)療等行業(yè)。
其常見(jiàn)的應(yīng)用場(chǎng)景包括財(cái)務(wù)報(bào)銷單、招聘簡(jiǎn)歷、企業(yè)財(cái)報(bào)、合同文書(shū)、動(dòng)產(chǎn)登記證、法律判決書(shū)、物流單據(jù)等多模態(tài)文檔的關(guān)鍵信息抽取、文檔解析、文檔比對(duì)等。
例如:
結(jié)構(gòu)化信息抽取,對(duì)文檔關(guān)鍵內(nèi)容進(jìn)行結(jié)構(gòu)化提取,如簡(jiǎn)歷信息抽取、合同違約金額提取、地址提取等;
文檔信息比對(duì),識(shí)別Word、PDF、掃描件等紙質(zhì)版、線上電子版修改比對(duì),快速實(shí)現(xiàn)修改部分和本體定位,準(zhǔn)確找出修改區(qū)域,提高審核人員效率
文書(shū)校對(duì)審查,有效識(shí)別文書(shū)存在紕漏并給出糾錯(cuò)建議和提示,如錯(cuò)別字、敏感信息、風(fēng)險(xiǎn)點(diǎn)等文檔元素后丟棄的內(nèi)容,提高文書(shū)表達(dá)準(zhǔn)確度、保障審核效率和文書(shū)質(zhì)量。
風(fēng)險(xiǎn)合規(guī)性檢查,依據(jù)規(guī)則和要求,自動(dòng)對(duì)企業(yè)內(nèi)部文書(shū)、合同進(jìn)行合規(guī)性審查,可提示更正內(nèi)容和相關(guān)法條推薦,輔助工作人員提升合規(guī)性效率。
而實(shí)際上,這些場(chǎng)景中所對(duì)應(yīng)的文檔處理技術(shù),與現(xiàn)有的知識(shí)圖譜構(gòu)建有很大的關(guān)系,目前很多B端的知識(shí)圖譜構(gòu)建項(xiàng)目中存在數(shù)字化程度不高的數(shù)據(jù)源,如電子書(shū)、拍照、圖書(shū)、單據(jù)等,如何標(biāo)準(zhǔn)為一個(gè)干凈、完整的純文本格式,顯得尤為關(guān)鍵。
因此,帶著這個(gè)問(wèn)題,本文主要從知識(shí)圖譜在工業(yè)界落地中受忽視的一環(huán)、文檔版面分析關(guān)鍵技術(shù)與數(shù)據(jù)集、現(xiàn)有開(kāi)放可用的工具模型三個(gè)方向進(jìn)行介紹,供大家一起參考。
一、知識(shí)圖譜在工業(yè)落地中受忽視的一環(huán)
說(shuō)到知識(shí)圖譜,大家第一印象其主要工作就是在定義圖譜本體、標(biāo)注數(shù)據(jù),然后進(jìn)行實(shí)體識(shí)別、關(guān)系抽取,然后通過(guò)知識(shí)融合等方式完成構(gòu)建,最后使用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。
但是,其中有個(gè)很矛盾的事情就是,在很多場(chǎng)景里,很多數(shù)據(jù)其實(shí)并不是txt格式類型的文本,比如Word、PDF、掃描件等紙質(zhì)版,這樣一來(lái),知識(shí)圖譜的抽取構(gòu)建環(huán)節(jié)就無(wú)法直接做的處理【尤其是在針對(duì)復(fù)雜的文檔情況】,其首先需要進(jìn)行pdf轉(zhuǎn)txt,并且要能夠高保真的不丟失原語(yǔ)義。
例如,針對(duì)半結(jié)構(gòu)化文本抽取時(shí)候,需要處理拍照版的表格轉(zhuǎn)換、劃線、拉直、定位等,然后通過(guò)OCR進(jìn)行識(shí)別處理。
又如,針對(duì)非結(jié)構(gòu)化文檔進(jìn)行抽取時(shí),會(huì)遇到影印PDF、文檔PDF等格式的處理,這時(shí)就需要采用版式分析、段落合并、DOC轉(zhuǎn)換等方法,得到完整的非結(jié)構(gòu)化數(shù)據(jù)。
因此,我們可以看到文檔版面分析,變成了不可忽視的知識(shí)圖譜落地的前置步驟,下面兩節(jié),我們對(duì)方法和現(xiàn)有工具進(jìn)行介紹。
二、知識(shí)圖譜落地的前置步驟:文檔版面分析任務(wù)概述
崔磊等《文檔智能: 數(shù)據(jù)集、模型和應(yīng)用》一文對(duì)文檔智能這一任務(wù)進(jìn)行了論述,下面引用其中的部分內(nèi)容進(jìn)行論述。
文檔版面分析是指對(duì)文檔版面內(nèi)的圖像、文本、表格信息和位置關(guān)系所進(jìn)行的自動(dòng)分析、識(shí)別和理解的過(guò)程,包含文檔視覺(jué)結(jié)構(gòu)分析和文檔語(yǔ)義結(jié)構(gòu)分析兩個(gè)子任務(wù)。
文檔視覺(jué)分析的主要目的是檢測(cè)文檔結(jié)構(gòu)并確定其同類區(qū)域的邊界,文檔語(yǔ)義結(jié)構(gòu)分析是需要為這些檢測(cè)到的區(qū)域標(biāo)記具體的文檔類別,如標(biāo)題、段落、表格等。
1、實(shí)現(xiàn)思路
傳統(tǒng)的文檔分析過(guò)程通常分為兩階段,首先將文檔圖片切割,得到多個(gè)不同候選區(qū)域,然后對(duì)區(qū)域進(jìn)行屬性分類,將其判別為文本、圖像、表格等規(guī)定類。
在實(shí)現(xiàn)上有多種不同的做法文檔元素后丟棄的內(nèi)容,如在文檔的切割過(guò)程中,可以使用邏輯斯蒂回歸對(duì)文檔進(jìn)行切割,丟棄空白部分;在區(qū)域分類方面,使用支持向量機(jī)、多層感知機(jī)和高斯混合模型進(jìn)行處理;
在文檔版面分析中,表格理解是一項(xiàng)富有挑戰(zhàn)性的任務(wù)。與標(biāo)題、段落等文檔元素相比,表格的格式通常較為多變,結(jié)構(gòu)也較為復(fù)雜。
因此,有大量的相關(guān)工作圍繞表格展開(kāi),其中最為主要的兩個(gè)子任務(wù)分別是表格檢測(cè)和表格結(jié)構(gòu)識(shí)別。表格檢測(cè)是指確定文檔中的表格的邊界;
表格結(jié)構(gòu)識(shí)別是指將表格的語(yǔ)義結(jié)構(gòu),包括行、列、單元格的信息按照預(yù)定義的格式抽取出來(lái)。
在表格檢測(cè)方面,可以使用二叉樹(shù)對(duì)文檔進(jìn)行自上而下分析查找表格候選區(qū),繼而根據(jù)區(qū)域特征確定最終表格區(qū)域,或者使用條件隨機(jī)場(chǎng)在頁(yè)面中抽取表格區(qū)域,并確定表格中的標(biāo)題、子標(biāo)題等內(nèi)容。使用隱馬爾可夫抽取表格區(qū)域。
又如,可以首先識(shí)別圖中水平和豎直的垂直線,隨后使用支持向量機(jī)對(duì)每條線的屬性進(jìn)行分類,判斷該線條是否屬于表格。
在深度學(xué)習(xí)方法方面,-CNN在表格檢測(cè)任務(wù)上直接應(yīng)用就能取得較好的性能,例如等人通過(guò)將可變形卷積應(yīng)用在-CNN上獲得了更好的性能。使用了-CNN模型同時(shí)完成表格檢測(cè)和表格結(jié)構(gòu)識(shí)別。Table-Sense通過(guò)增加單元格特征、添加采樣算法來(lái)顯著提高表格檢測(cè)能力。
2、相關(guān)數(shù)據(jù)集
在版式分析上,目前已經(jīng)出現(xiàn)多個(gè)相關(guān)數(shù)據(jù)集,例如:
是一個(gè)大規(guī)模的文檔版面分析數(shù)據(jù)集,通過(guò)自動(dòng)解析的XML文件構(gòu)建了超過(guò)個(gè)文檔圖片。
地址:
通過(guò)arXiv網(wǎng)站的PDF文件和LaTeX文件的對(duì)應(yīng)關(guān)系自動(dòng)構(gòu)建了一個(gè)可擴(kuò)展的文檔版面分析數(shù)據(jù)集,同時(shí)支持對(duì)基于文本的方法和基于圖像的方法進(jìn)行評(píng)測(cè)。
地址:
IIIT-AR-13K提供了13000的人工標(biāo)注的文檔圖片用于版面分析。
地址:
此外,也有許多針對(duì)表格理解這一任務(wù)提出的數(shù)據(jù)集。UNLV和是較早的表格識(shí)別數(shù)據(jù)集。ICDAR會(huì)議在表格檢測(cè)與識(shí)別上舉辦的多次競(jìng)賽提供了優(yōu)質(zhì)的表格數(shù)據(jù)集。
但這些傳統(tǒng)表格數(shù)據(jù)集通常較小,難以發(fā)揮現(xiàn)代深度神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì),因此研究工作利用LaTex和來(lái)自動(dòng)構(gòu)建了一個(gè)大規(guī)模的表格理解數(shù)據(jù)集。此后,提出了一個(gè)大規(guī)模表格數(shù)據(jù)集并提供了表格結(jié)構(gòu)及單元格內(nèi)容輔助表格識(shí)別。TNCR在提供表格標(biāo)注的同時(shí)提供了表格類別的標(biāo)注。
三、文檔版面分析相關(guān)開(kāi)源工具概述與實(shí)踐
目前,已經(jīng)陸續(xù)出現(xiàn)了若干個(gè)文檔版面分析開(kāi)源工具和代碼模型,下面就代表性的進(jìn)行介紹:
1、
是一個(gè)版面分析工具包,提供了布局檢測(cè)、OCR識(shí)別、布局分析等接口,
1)使用案例
import?layoutparser?as?lp
import?cv2
image?=?cv2.imread("data/paper-image.jpg")
image?=?image[...,?::-1]#?Convert?the?image?from?BGR?(cv2?default?loading?style)?to?RGB
model?=?lp.Detectron2LayoutModel('lp://PubLayNet/faster_rcnn_R_50_FPN_3x/config',
?extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST",?0.8],
?label_map={0:?"Text",?1:?"Title",?2:?"List",?3:"Table",?4:"Figure"})#?Load?the?deep?layout?model?from?the?layoutparser?API
layout?=?model.detect(image)#?Detect?the?layout?of?the?input?image
text_blocks?=?lp.Layout([b?for?b?in?layout?if?b.type=='Text'])
figure_blocks?=?lp.Layout([b?for?b?in?layout?if?b.type=='Figure'])
text_blocks?=?lp.Layout([b?for?b?in?text_blocks?\
???????????????????if?not?any(b.is_in(b_fig)?for?b_fig?in?figure_blocks)])
ocr_agent?=?lp.TesseractAgent(languages='eng')
for?block?in?text_blocks:
????segment_image?=?(block
???????????????????????.pad(left=5,?right=5,?top=5,?bottom=5)
???????????????????????.crop_image(image))
????text?=?ocr_agent.detect(segment_image)
????block.set(text=text,?inplace=True)
for?txt?in?text_blocks.get_texts():
????print(txt,?end='\n---\n')
2)實(shí)驗(yàn)結(jié)果:
Figure?7:?Annotation?Examples?in?HJDataset.?(a)?and?(b)?show?two?examples?for?the?labeling?of?main?pages.?The?boxes
are?colored?differently?to?reflect?the?layout?element?categories.?Illustrated?in?(c),?the?items?in?each?index?page?row?are
categorized?as?title?blocks,?and?the?annotations?are?denser.
---
tion?over?union?(IOU)?level?[0.50:0.95]’,?on?the?test?data.?In
general,?the?high?mAP?values?indicate?accurate?detection?of
the?layout?elements.?The?Faster?R-CNN?and?Mask?R-CNN
achieve?comparable?results,?better?than?RetinaNet.?Notice-
ably,?the?detections?for?small?blocks?like?title?are?less?pre-
cise,?and?the?accuracy?drops?sharply?for?the?title?category.?In
Figure?8,?(a)?and?(b)?illustrate?the?accurate?prediction?results
of?the?Faster?R-CNN?model.
項(xiàng)目地址:
2、文心ERNIE-
百度文檔智能團(tuán)隊(duì)基于多語(yǔ)言跨模態(tài)布局增強(qiáng)的文檔智能大模型文心ERNIE-。
1)使用案例
給定發(fā)票,要求回答出其中的指定答案。
>>>?from?pprint?import?pprint
>>>?from?paddlenlp?import?Taskflow
>>>?docprompt?=?Taskflow("document_intelligence")
>>>?pprint(docprompt([{"doc":?"https://bj.bcebos.com/paddlenlp/taskflow/document_intelligence/images/invoice.jpg",?"prompt":?["發(fā)票號(hào)碼是多少?",?"校驗(yàn)碼是多少?"]}]))
2)實(shí)現(xiàn)效果
[{'prompt':?'發(fā)票號(hào)碼是多少?',
??'result':?[{'end':?2,?'prob':?0.74,?'start':?2,?'value':?'No44527206'}]},
{'prompt':?'校驗(yàn)碼是多少?',
??'result':?[{'end':?233,
??????????????'prob':?1.0,
??????????????'start':?231,
??????????????'value':?'01107?555427109891646'}]}]
項(xiàng)目地址:
3、/
/是開(kāi)源的一個(gè)版式分析,提供了基于MRCNN的版式分析模型,可以一鍵使用。
1)使用案例
給定一個(gè)PDF文檔圖片,識(shí)別出其中的標(biāo)題、圖片以及文字內(nèi)容。
cd?maskrcnn
python?infer.py?--image_path?=?"document_image_dir/image.jpg"?--model_path?=?"mrcnn_model_dir/model.pth"?--output_path="model_segmentation_output_dir/"
2)實(shí)現(xiàn)效果
項(xiàng)目地址:
總結(jié)
本文主要從知識(shí)圖譜在工業(yè)界落地中受忽視的一環(huán)、文檔版面分析關(guān)鍵技術(shù)與數(shù)據(jù)集、現(xiàn)有開(kāi)放可用的工具模型三個(gè)方向進(jìn)行了介紹,大家可以看到文檔預(yù)處理已經(jīng)不單單是NLP的范疇,其更多的是NLP和CV混合的一個(gè)處理方案。
最近在做知識(shí)圖譜平臺(tái)里有個(gè)新的體會(huì),即不要做成"兩頭小,中間大"的形式,將注意力從構(gòu)建轉(zhuǎn)向前期文檔預(yù)處理和后期的知識(shí)圖譜應(yīng)用,把整體環(huán)節(jié)打通,可能會(huì)是另一條可落地的路徑。
寫(xiě)到這,供大家參考。
參考文獻(xiàn)
1、崔磊,徐毅恒,呂騰超,韋福如. 文檔智能: 數(shù)據(jù)集、模型和應(yīng)用[J]. 中文信息學(xué)報(bào), 2022, 36(6): 1-19.
進(jìn)技術(shù)交流群請(qǐng)?zhí)砑覣INLP小助手微信(id:?ainlp2)
請(qǐng)備注具體方向+所用到的相關(guān)技術(shù)點(diǎn) 關(guān)于AINLP
AINLP 是一個(gè)有趣有AI的自然語(yǔ)言處理社區(qū),專注于 AI、NLP、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、推薦算法等相關(guān)技術(shù)的分享,主題包括文本摘要、智能問(wèn)答、聊天機(jī)器人、機(jī)器翻譯、自動(dòng)生成、知識(shí)圖譜、預(yù)訓(xùn)練模型、推薦系統(tǒng)、計(jì)算廣告、招聘信息、求職經(jīng)驗(yàn)分享等,歡迎關(guān)注!加技術(shù)交流群請(qǐng)?zhí)砑覣INLP小助手微信(id:ainlp2),備注工作/研究方向+加群目的。
閱讀至此了,分享、點(diǎn)贊、在看三選一吧