竇方坤 曹皓偉 徐建良
摘 要:為了對(duì)藥學(xué)PDF文獻(xiàn)中的表格進(jìn)行正確識(shí)別,減少表格抽取過程中無關(guān)文本元素混入的噪音,以更準(zhǔn)確地進(jìn)行表格結(jié)構(gòu)還原和信息抽取,基于pdf2xml對(duì)藥學(xué)文獻(xiàn)PDF中的文本元素進(jìn)行抽取,將文本元素分類并對(duì)表格標(biāo)題區(qū)域向下延伸,從而識(shí)別表格區(qū)域。實(shí)驗(yàn)結(jié)果表明,該算法在單欄藥學(xué)PDF和雙欄藥學(xué)PDF中的識(shí)別率分別達(dá)到89.7%和93.7%,比tabula工具的識(shí)別結(jié)果分別提高了10.4%和60.4%,表明該算法能有效處理表格框線缺失和分欄文獻(xiàn)等復(fù)雜情況。
關(guān)鍵詞:PDF;文字流;文本抽取;文本分類;表格識(shí)別
DOI: 10. 11907/rjdk.191410
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1672-7800(2020)001-0113-04
0 引言
識(shí)別藥學(xué)文獻(xiàn)PDF中的表格,目的在于通過一定的方法識(shí)別藥學(xué)文獻(xiàn)中的表格區(qū)域,從而為表格信息的結(jié)構(gòu)化抽取奠定基礎(chǔ),降低表格信息抽取過程中可能由其它非表格文本元素混入帶來的噪音[1]。
表格區(qū)域識(shí)別是表格信息抽取的重要任務(wù)[2-4]?,F(xiàn)有方法較多使用表格框線作為表格識(shí)別依據(jù),并在識(shí)別一般表格和圖片表格任務(wù)中結(jié)果良好,得到廣泛應(yīng)用[5]。Has-san等[6]按照PDF中表格框線特征,將表格分為既有水平線又有垂直線、只有水平線、包含不規(guī)則線的3種表格進(jìn)行識(shí)別;Pereira等[7]提出的方法利用了水平線和垂直線的檢測;Abayan等[8]則進(jìn)一步利用水平線和垂直線的長度、寬度和位置信息作為特征,處理基于固定模板的表格識(shí)別問題。但對(duì)藥學(xué)文獻(xiàn)使用基于表格框線的方法時(shí)會(huì)遇到一定的困難:①PDF中表格線條的提取較為困難,容易混入頁面中其余的線條元素[9-10];②藥學(xué)文獻(xiàn)中往往使用三線表,只有水平表格線,缺失垂直表格線[11]。因此,使用表格框線方法識(shí)別藥學(xué)PDF文獻(xiàn)中的表格難以奏效。
另一種常用方法是通過柵格化手段,對(duì)文獻(xiàn)中的文本建立橫向和豎向上的柵格布局,根據(jù)柵格的劃分推測表格區(qū)域[12]。柵格化方法應(yīng)用代表是“tabula”工具[13]。唐皓瑾[14]在設(shè)計(jì)面向PDF文件的表格數(shù)據(jù)抽取方法時(shí)使用了柵格化方法。柵格化方法目前主要應(yīng)用于表格區(qū)域結(jié)構(gòu)化還原,在表格識(shí)別上少有應(yīng)用。該方法容易受到不同文本排版布局干擾,在不同PDF文獻(xiàn)中的識(shí)別率差別較大,穩(wěn)定性較差。此外,部分科學(xué)文獻(xiàn)的雙欄布局對(duì)柵格化方法是致命的,因?yàn)殡p欄布局極易識(shí)別為全文范圍內(nèi)的雙列表格,從而產(chǎn)生錯(cuò)誤識(shí)別。
本文提出一種忽略表格框線,完全依賴于PDF中文本元素及區(qū)域坐標(biāo)的方法。該方法只提取PDF中的文本元素而不需要提取線條、圖片等特殊格式的元素對(duì)象。根據(jù)文本元素的位置特征對(duì)PDF頁面的分欄數(shù)量和分欄軸線位置進(jìn)行判定,并在后續(xù)算法中根據(jù)分欄數(shù)不同進(jìn)行不同處理。根據(jù)文本元素的寬度和位置進(jìn)行分類,對(duì)類型為“表格標(biāo)題”的文本區(qū)域進(jìn)行左右擴(kuò)展和向下延伸,從而進(jìn)一步判別延伸區(qū)域是否為表格區(qū)域。
在自建數(shù)據(jù)集上對(duì)提出的方法進(jìn)行實(shí)驗(yàn),結(jié)果表明,與“tabula”方法對(duì)比,本文方法對(duì)單欄PDF文獻(xiàn)的表格區(qū)域識(shí)別率提高了10%,對(duì)雙欄PDF文獻(xiàn)的表格區(qū)域識(shí)別率提高了60%,綜合識(shí)別率提高了36.3%。該方法克服了藥學(xué)PDF文獻(xiàn)中線條難以提取和表格框線缺失造成的困擾,同時(shí)避免了雙欄布局造成的影響,具有良好的準(zhǔn)確率和適用范圍。
1 表格區(qū)域識(shí)別方法
基于文本元素的藥物PDF文獻(xiàn)表格區(qū)域識(shí)別方法,目的在于對(duì)符合正規(guī)文獻(xiàn)編寫規(guī)范的藥學(xué)PDF中的表格區(qū)域進(jìn)行識(shí)別和定位,并輸出每個(gè)表格的區(qū)域坐標(biāo)和表格包含的文本元素信息。
1.1 PDF文本抽取
pdf2xml可以將PDF中的文本元素按照PDF本身的文本邏輯截?cái)喔袷竭M(jìn)行抽取并組織成xml文檔[16],如圖1所示。該xml文檔的結(jié)構(gòu)樹自頂向下的層次分別為“pages→page→textbox_→textline→text”。其中textbox表示本文中需要使用的文本段,textline為PDF中的文本行,text為單個(gè)的文本字符。同時(shí),page、textbox、textline標(biāo)簽含有bbox屬性,該屬性由4個(gè)數(shù)字組成,分別表示該粒度下的文本元素在實(shí)際PDF渲染時(shí)映射于頁面中的左上角橫縱坐標(biāo)和右下角橫縱坐標(biāo)。
將該xml中的文本元素按結(jié)構(gòu)樹組織到textbox級(jí)別,提取出PDF中的文本段t。令σ為某- textbox下的text聚合后的字符串,并將textbox的bbox屬性映射到可視化區(qū)域a。
1.2 文獻(xiàn)分欄識(shí)別
為保證后文中表格區(qū)域識(shí)別在左右邊界上的準(zhǔn)確性,需對(duì)PDF文獻(xiàn)的分欄情況進(jìn)行判別。基于對(duì)不同分欄的PDF中文本元素坐標(biāo)特征的歸納和對(duì)科學(xué)文獻(xiàn)的基本認(rèn)知對(duì)分欄進(jìn)行判定:①在所有基于某一軸線左對(duì)齊的文本段中,沿分欄左邊界對(duì)齊的文本段高度和最大,且應(yīng)遠(yuǎn)大于沿其余某一軸線左對(duì)齊的文本段高度之和;②正文的左右邊界應(yīng)擬合于分欄的左右邊界,且正文應(yīng)當(dāng)有一定的文本塊高度,其余大多數(shù)文本段高度應(yīng)在某一閾值之下。
基于認(rèn)知①對(duì)簇中元素的高度(yb -yt)進(jìn)行求和。若最終只有一個(gè)簇的高度和遠(yuǎn)大于其余高度和,則該文獻(xiàn)為單欄文獻(xiàn);若存在兩個(gè)簇的高度和遠(yuǎn)大于其余高度和,則該文獻(xiàn)為雙欄文獻(xiàn)。分欄的左右邊界在x軸上的投影坐標(biāo)即為簇中所有元素xt、xb的平均值。
基于認(rèn)知②對(duì)所有文本段t進(jìn)行過濾,過濾出具有一定高度值的文本段集合Rt,并可視化區(qū)域中的xt作為距離參數(shù)對(duì)Rt進(jìn)行層次聚類[17-18]。選取頁面寬度的5%作為裁剪閾值對(duì)聚類樹進(jìn)行裁剪,即可得到簇中文本元素的左邊界擬合于某一近似軸線的簇集合。
文本元素分類:
(1)表格、圖片、圖表標(biāo)題的識(shí)別。假設(shè)文獻(xiàn)作者已經(jīng)按照學(xué)術(shù)機(jī)構(gòu)要求對(duì)表格、圖片和圖表添加了題注[19]。表格標(biāo)題應(yīng)當(dāng)以“Table”或“table”開頭,后邊需附帶表格編號(hào),并可能包含空格、冒號(hào)等。對(duì)于圖片和圖表,同樣應(yīng)當(dāng)具有類似的潛在開頭,潛在開頭分別以“Figure”和“Chart”作為開頭。通過檢測這些開頭,即可較為準(zhǔn)確地識(shí)別出表格標(biāo)題。
正文也可能存在這些潛在開頭?;谝恢滦约僭O(shè):同一篇文獻(xiàn)中的表格標(biāo)題格式應(yīng)當(dāng)保持一致。提取PDF中存在唯一編號(hào)的表格標(biāo)題特征,則具有相同潛在開頭的文本段中,真實(shí)的表格標(biāo)題應(yīng)當(dāng)遵循提取的一致性特征。特征位置選取描述為:
T①able②③1④:⑤
提取的一致性特征如表1所示。
對(duì)一致性特征進(jìn)行檢驗(yàn)即可過濾掉可能}昆人的正文假陽性噪音。
使用同樣的方法對(duì)“Figure”、“Chart”及其縮略短語進(jìn)行潛在開頭檢驗(yàn),識(shí)別出PDF文本元素中的潛在開頭。
(2)正文元素識(shí)別。對(duì)正文文本段的判斷基于兩個(gè)特征:①正文一定不是表格標(biāo)題、圖片標(biāo)題和圖表標(biāo)題;②正文的起始位置應(yīng)當(dāng)位于分欄的左邊界線,結(jié)束位置應(yīng)位于分欄的右邊界線。
其中b為與分欄的邊界軸線擬合的相似閾值,一般設(shè)為5個(gè)像素即可。
(3)其它類型文本元素識(shí)別。將不屬于表格標(biāo)題、圖片標(biāo)題、圖表標(biāo)題、正文的文本元素統(tǒng)一歸類為“其它”。
1.3 表格區(qū)域識(shí)別與定位
表格區(qū)域識(shí)別分為表格標(biāo)題左右擴(kuò)展和表格標(biāo)題向下延伸兩部分。
(1)表格標(biāo)題區(qū)域左右擴(kuò)展。依據(jù)識(shí)別出的PDF分欄情況,當(dāng)PDF為單欄文獻(xiàn)時(shí),需將表格標(biāo)題的可視化區(qū)域左右邊界擴(kuò)展到分欄的左右邊界處。當(dāng)PDF為雙欄文獻(xiàn)時(shí),則有3種情況:①當(dāng)表格標(biāo)題跨越兩個(gè)分欄時(shí),該表格為跨欄表格,將表格標(biāo)題的左右邊界分別延伸至左側(cè)分欄的左邊界和右側(cè)分欄的右邊界;②當(dāng)表格標(biāo)題只位于右側(cè)分欄內(nèi)時(shí),該表格也只位于右側(cè)分欄內(nèi),將表格標(biāo)題的左右邊界分別延伸至右側(cè)分欄的左右邊界;③當(dāng)表格標(biāo)題只位于左側(cè)分欄內(nèi)時(shí),該表格可能位于左側(cè)分欄內(nèi),也可能是表格標(biāo)題寬度較短且采用了左對(duì)齊的跨欄表格。此時(shí)對(duì)表格標(biāo)題延伸的范圍判定應(yīng)基于以下規(guī)則:非跨欄表格的表格標(biāo)題右側(cè)區(qū)域應(yīng)當(dāng)出現(xiàn)其它文本元素,而跨欄表格的表格標(biāo)題右側(cè)區(qū)域應(yīng)當(dāng)是空白的。基于該認(rèn)知,當(dāng)判斷表格標(biāo)題位于左側(cè)分欄時(shí),應(yīng)當(dāng)將表格標(biāo)題的右邊界向右擴(kuò)展至右側(cè)分欄的右邊界。若擴(kuò)展期間觸碰到其它文本元素,則將左側(cè)分欄的右邊界作為表格標(biāo)題的右邊界;若延伸期間未觸碰到其它文本元素,則將右側(cè)分欄的右邊界作為表格標(biāo)題的右邊界。
(2)表格標(biāo)題區(qū)域向下延伸。假設(shè)文獻(xiàn)作者已經(jīng)按照學(xué)術(shù)機(jī)構(gòu)要求將表格置于表格標(biāo)題之后,則表格會(huì)出現(xiàn)在表格標(biāo)題下方,應(yīng)對(duì)表格標(biāo)題區(qū)域向下延伸,具體方法為:將擴(kuò)展后的表格標(biāo)題區(qū)域的下邊界不斷下移,下移期間忽略碰觸到的類型為“其它”的文本元素,并在其觸碰到類型為“正文”、“表格標(biāo)題”、“圖片標(biāo)題”、“圖表標(biāo)題”或頁面邊界時(shí)停止。延伸過程如圖2所示。此時(shí),表格標(biāo)題區(qū)域下邊界在下移時(shí),起始位置和終止位置之間形成的矩形區(qū)域即為表格區(qū)域,區(qū)域中類型為“其它”的文本元素即為構(gòu)成表格的文本元素。
2 實(shí)驗(yàn)結(jié)果
從pubmed的藥學(xué)文獻(xiàn)中,人工選取20篇表格數(shù)量較多且復(fù)雜的PDF文獻(xiàn),并隨機(jī)選取30篇PDF文獻(xiàn),共計(jì)50篇藥學(xué)文獻(xiàn)構(gòu)成數(shù)據(jù)集。對(duì)該數(shù)據(jù)集分別使用本方法和“tabula”工具進(jìn)行表格區(qū)域識(shí)別并對(duì)比。
在50篇藥學(xué)PDF中,單欄PDF共有27篇,對(duì)這27篇PDF文獻(xiàn)的識(shí)別結(jié)果如表2所示。
可以看出,在單欄藥學(xué)文獻(xiàn)表格識(shí)別中,本文方法的識(shí)別率達(dá)到89.7%,比tabula工具的表格識(shí)別率提高了10.4%。
對(duì)剩余的23篇雙欄PDF文獻(xiàn)識(shí)別結(jié)果如表3所示。
可以看出,在雙欄藥學(xué)文獻(xiàn)表格識(shí)別中,本文方法的識(shí)別率達(dá)到了93.7%,比tabula工具的表格識(shí)別率提高了60.4%。造成該巨大差異的原因是,tabula為代表的柵格化方法容易將雙欄文獻(xiàn)中的左右分欄整體識(shí)別為雙列表格,或是將實(shí)際表格區(qū)域兩側(cè)的正文區(qū)域識(shí)別為一個(gè)新的列。而本文方法首先對(duì)表格分欄進(jìn)行判定,并對(duì)表格分欄造成的多種情況進(jìn)行分類處理,從而屏蔽掉分欄造成的影響。
綜合評(píng)定,本方法對(duì)藥學(xué)PDF中表格的綜合識(shí)別率為91.7%,比tabula工具提升了36.3%。
3 結(jié)語
本文提出的基于文本元素的藥學(xué)PDF表格區(qū)域識(shí)別方法,不依賴于表格框線,能更有效地對(duì)表格框線缺失的表格區(qū)域進(jìn)行識(shí)別,更好地處理PDF文獻(xiàn)分欄情況,對(duì)分欄文獻(xiàn)中的表格具有更高的識(shí)別率。但該方法還需解決一些細(xì)節(jié)問題,如在表格標(biāo)題向下延伸過程中,仍可能混人極少量的非表格文本元素。本文提出的藥學(xué)PDF表格區(qū)域識(shí)別方法為更好地進(jìn)行表格的結(jié)構(gòu)還原和信息結(jié)構(gòu)化輸出奠定了基礎(chǔ)[20]。
參考文獻(xiàn):
[1] 刁繼紅,甄連花.如何利用PubMed檢索醫(yī)學(xué)文獻(xiàn)[J].中國藥房,2009, 20( 22): 1755-1756.
[2]ZANIBBI R,BLOSTEIN D,CORDY J R.A survey of table recogni-tion: models, observations, transformations, and inferences[J]. Inter-national Journal On Document Analvsis&Recognition, 2003,7 (1):1-16
[3]KHUSRO S, LATIF A,ULLAH I. On methods and tools of table detec-tion. extraction and annotation in PDF documents[J]. Journal of Infor-mation Science, 2015 ,41(1):41-57.
[4]YILDIZ B,KAISER K,MIKSCH S. Pdf2table:a method to extract ta一ble information from PDF files.[C].lndian International Conference onArtificial Intelligence, DBLP, 2008: 1773-1785.
[5]汪先矩,黃瀚敏,馬笑瀟,基于表格線搜索的智能表格結(jié)構(gòu)提取算法[J].基礎(chǔ)自動(dòng)化,1999(6):30-33.
[6] HASSAN T.BAUMGARTNER R.Table recognition and understand-ing from PDF files [Cl. 9th International Conference on DocumentAnalvsis and Recognition, 2007.
[7]PEREIRA NEVES,L A J M DE. CARVALHO, et al. Table-form ex-traction with artefact removal[J].Journal of Universal Computer Sci-ence.2008, 14(2):252-265.
[8]MAO J, ABAYAN M,MOHIUDDIN K.A model-based form process-ing sub-system [C]. International Conference on Pattern Recogni-tion.1996.
[9]ZHANG Y. YU S.Extraction and removal of frame line in form bill[Jl. Journal of Computer Research and Development, 2008 (45):1000-1239.
[10]ZHOU S,ZHAO J. Rapid form frame-line detection with arbitrawskew angle[ J]. Computer Engineering, 2008( 34): 1000-3428.
[11] 中國農(nóng)業(yè)氣象編輯部.Word文檔中三線表的處理技巧[J].中國農(nóng)業(yè)氣象,2007( 28):274-354.
[12] 張伯.基于PDF文字流的表格識(shí)別技術(shù)的研究[D].北京:北京工業(yè)大學(xué),2010.
[13] CIULIA SAVIO. Tabula-py[ EB/OL]. https://github.com/chezou/ta-bula-py
[14] 唐皓瑾.一種面向PDF文件的表格數(shù)據(jù)抽取方法的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2015.
[15]YANG Y G,PAICK K.PDF2XML: Converting PDF to xml [M].Springer,2004.
[16] 劉政敏,牛艷芳.XML相關(guān)技術(shù)綜述[J].現(xiàn)代情報(bào),2003(8):57-59.
[17] 周世杰.層次聚類的算法研究[J].課程教育研究,2018(40):240-241.
[18]胡曉慶,馬儒寧,鐘寶江.層次聚類算法的有效性研究[J].山東大學(xué)學(xué)報(bào):工學(xué)版,2010.40(5):146-149.
[19]福建醫(yī)科大學(xué)學(xué)報(bào)編輯部,科技期刊論文表格編寫規(guī)范[J].福建醫(yī)科大學(xué)學(xué)報(bào),2018,52(1):56-58.
[ 20]ORO E,RUFFOLO M. PDF-TREX: an approach for recognizing andextracting tables from PDF documents[C].International Conferenceon Document Analysis&Recognition, 2009
(責(zé)任編輯:杜能鋼)
作者簡介:竇方坤(1993-),男,中國海洋大學(xué)信息科學(xué)與工程學(xué)院碩士研究生,研究方向?yàn)橹悄苄畔⑻幚?曹皓偉(1995-),男,中國海洋大學(xué)信息科學(xué)與工程學(xué)院碩士研究生,研究方向?yàn)檐浖こ?徐建良(1969-),男,博士,中國海洋大學(xué)信息科學(xué)與工程學(xué)院教授、博士生導(dǎo)師,研究方向?yàn)橛?jì)算復(fù)雜性理論、計(jì)算機(jī)軟件與理論。