竇方坤 曹皓偉 徐建良
摘 要:為了對藥學(xué)PDF文獻中的表格進行正確識別,減少表格抽取過程中無關(guān)文本元素混入的噪音,以更準確地進行表格結(jié)構(gòu)還原和信息抽取,基于pdf2xml對藥學(xué)文獻PDF中的文本元素進行抽取,將文本元素分類并對表格標題區(qū)域向下延伸,從而識別表格區(qū)域。實驗結(jié)果表明,該算法在單欄藥學(xué)PDF和雙欄藥學(xué)PDF中的識別率分別達到89.7%和93.7%,比tabula工具的識別結(jié)果分別提高了10.4%和60.4%,表明該算法能有效處理表格框線缺失和分欄文獻等復(fù)雜情況。
關(guān)鍵詞:PDF;文字流;文本抽取;文本分類;表格識別
DOI: 10. 11907/rjdk.191410
開放科學(xué)(資源服務(wù))標識碼(OSID):
中圖分類號:TP301
文獻標識碼:A
文章編號:1672-7800(2020)001-0113-04
0 引言
識別藥學(xué)文獻PDF中的表格,目的在于通過一定的方法識別藥學(xué)文獻中的表格區(qū)域,從而為表格信息的結(jié)構(gòu)化抽取奠定基礎(chǔ),降低表格信息抽取過程中可能由其它非表格文本元素混入帶來的噪音[1]。
表格區(qū)域識別是表格信息抽取的重要任務(wù)[2-4]。現(xiàn)有方法較多使用表格框線作為表格識別依據(jù),并在識別一般表格和圖片表格任務(wù)中結(jié)果良好,得到廣泛應(yīng)用[5]。Has-san等[6]按照PDF中表格框線特征,將表格分為既有水平線又有垂直線、只有水平線、包含不規(guī)則線的3種表格進行識別;Pereira等[7]提出的方法利用了水平線和垂直線的檢測;Abayan等[8]則進一步利用水平線和垂直線的長度、寬度和位置信息作為特征,處理基于固定模板的表格識別問題。但對藥學(xué)文獻使用基于表格框線的方法時會遇到一定的困難:①PDF中表格線條的提取較為困難,容易混入頁面中其余的線條元素[9-10];②藥學(xué)文獻中往往使用三線表,只有水平表格線,缺失垂直表格線[11]。因此,使用表格框線方法識別藥學(xué)PDF文獻中的表格難以奏效。
另一種常用方法是通過柵格化手段,對文獻中的文本建立橫向和豎向上的柵格布局,根據(jù)柵格的劃分推測表格區(qū)域[12]。柵格化方法應(yīng)用代表是“tabula”工具[13]。唐皓瑾[14]在設(shè)計面向PDF文件的表格數(shù)據(jù)抽取方法時使用了柵格化方法。柵格化方法目前主要應(yīng)用于表格區(qū)域結(jié)構(gòu)化還原,在表格識別上少有應(yīng)用。該方法容易受到不同文本排版布局干擾,在不同PDF文獻中的識別率差別較大,穩(wěn)定性較差。此外,部分科學(xué)文獻的雙欄布局對柵格化方法是致命的,因為雙欄布局極易識別為全文范圍內(nèi)的雙列表格,從而產(chǎn)生錯誤識別。
本文提出一種忽略表格框線,完全依賴于PDF中文本元素及區(qū)域坐標的方法。該方法只提取PDF中的文本元素而不需要提取線條、圖片等特殊格式的元素對象。根據(jù)文本元素的位置特征對PDF頁面的分欄數(shù)量和分欄軸線位置進行判定,并在后續(xù)算法中根據(jù)分欄數(shù)不同進行不同處理。根據(jù)文本元素的寬度和位置進行分類,對類型為“表格標題”的文本區(qū)域進行左右擴展和向下延伸,從而進一步判別延伸區(qū)域是否為表格區(qū)域。
在自建數(shù)據(jù)集上對提出的方法進行實驗,結(jié)果表明,與“tabula”方法對比,本文方法對單欄PDF文獻的表格區(qū)域識別率提高了10%,對雙欄PDF文獻的表格區(qū)域識別率提高了60%,綜合識別率提高了36.3%。該方法克服了藥學(xué)PDF文獻中線條難以提取和表格框線缺失造成的困擾,同時避免了雙欄布局造成的影響,具有良好的準確率和適用范圍。
1 表格區(qū)域識別方法
基于文本元素的藥物PDF文獻表格區(qū)域識別方法,目的在于對符合正規(guī)文獻編寫規(guī)范的藥學(xué)PDF中的表格區(qū)域進行識別和定位,并輸出每個表格的區(qū)域坐標和表格包含的文本元素信息。
1.1 PDF文本抽取
pdf2xml可以將PDF中的文本元素按照PDF本身的文本邏輯截斷格式進行抽取并組織成xml文檔[16],如圖1所示。該xml文檔的結(jié)構(gòu)樹自頂向下的層次分別為“pages→page→textbox_→textline→text”。其中textbox表示本文中需要使用的文本段,textline為PDF中的文本行,text為單個的文本字符。同時,page、textbox、textline標簽含有bbox屬性,該屬性由4個數(shù)字組成,分別表示該粒度下的文本元素在實際PDF渲染時映射于頁面中的左上角橫縱坐標和右下角橫縱坐標。
將該xml中的文本元素按結(jié)構(gòu)樹組織到textbox級別,提取出PDF中的文本段t。令σ為某- textbox下的text聚合后的字符串,并將textbox的bbox屬性映射到可視化區(qū)域a。
1.2 文獻分欄識別
為保證后文中表格區(qū)域識別在左右邊界上的準確性,需對PDF文獻的分欄情況進行判別?;趯Σ煌謾诘腜DF中文本元素坐標特征的歸納和對科學(xué)文獻的基本認知對分欄進行判定:①在所有基于某一軸線左對齊的文本段中,沿分欄左邊界對齊的文本段高度和最大,且應(yīng)遠大于沿其余某一軸線左對齊的文本段高度之和;②正文的左右邊界應(yīng)擬合于分欄的左右邊界,且正文應(yīng)當(dāng)有一定的文本塊高度,其余大多數(shù)文本段高度應(yīng)在某一閾值之下。
基于認知①對簇中元素的高度(yb -yt)進行求和。若最終只有一個簇的高度和遠大于其余高度和,則該文獻為單欄文獻;若存在兩個簇的高度和遠大于其余高度和,則該文獻為雙欄文獻。分欄的左右邊界在x軸上的投影坐標即為簇中所有元素xt、xb的平均值。
基于認知②對所有文本段t進行過濾,過濾出具有一定高度值的文本段集合Rt,并可視化區(qū)域中的xt作為距離參數(shù)對Rt進行層次聚類[17-18]。選取頁面寬度的5%作為裁剪閾值對聚類樹進行裁剪,即可得到簇中文本元素的左邊界擬合于某一近似軸線的簇集合。
文本元素分類:
(1)表格、圖片、圖表標題的識別。假設(shè)文獻作者已經(jīng)按照學(xué)術(shù)機構(gòu)要求對表格、圖片和圖表添加了題注[19]。表格標題應(yīng)當(dāng)以“Table”或“table”開頭,后邊需附帶表格編號,并可能包含空格、冒號等。對于圖片和圖表,同樣應(yīng)當(dāng)具有類似的潛在開頭,潛在開頭分別以“Figure”和“Chart”作為開頭。通過檢測這些開頭,即可較為準確地識別出表格標題。
正文也可能存在這些潛在開頭。基于一致性假設(shè):同一篇文獻中的表格標題格式應(yīng)當(dāng)保持一致。提取PDF中存在唯一編號的表格標題特征,則具有相同潛在開頭的文本段中,真實的表格標題應(yīng)當(dāng)遵循提取的一致性特征。特征位置選取描述為:
T①able②③1④:⑤
提取的一致性特征如表1所示。
對一致性特征進行檢驗即可過濾掉可能}昆人的正文假陽性噪音。
使用同樣的方法對“Figure”、“Chart”及其縮略短語進行潛在開頭檢驗,識別出PDF文本元素中的潛在開頭。
(2)正文元素識別。對正文文本段的判斷基于兩個特征:①正文一定不是表格標題、圖片標題和圖表標題;②正文的起始位置應(yīng)當(dāng)位于分欄的左邊界線,結(jié)束位置應(yīng)位于分欄的右邊界線。
其中b為與分欄的邊界軸線擬合的相似閾值,一般設(shè)為5個像素即可。
(3)其它類型文本元素識別。將不屬于表格標題、圖片標題、圖表標題、正文的文本元素統(tǒng)一歸類為“其它”。
1.3 表格區(qū)域識別與定位
表格區(qū)域識別分為表格標題左右擴展和表格標題向下延伸兩部分。
(1)表格標題區(qū)域左右擴展。依據(jù)識別出的PDF分欄情況,當(dāng)PDF為單欄文獻時,需將表格標題的可視化區(qū)域左右邊界擴展到分欄的左右邊界處。當(dāng)PDF為雙欄文獻時,則有3種情況:①當(dāng)表格標題跨越兩個分欄時,該表格為跨欄表格,將表格標題的左右邊界分別延伸至左側(cè)分欄的左邊界和右側(cè)分欄的右邊界;②當(dāng)表格標題只位于右側(cè)分欄內(nèi)時,該表格也只位于右側(cè)分欄內(nèi),將表格標題的左右邊界分別延伸至右側(cè)分欄的左右邊界;③當(dāng)表格標題只位于左側(cè)分欄內(nèi)時,該表格可能位于左側(cè)分欄內(nèi),也可能是表格標題寬度較短且采用了左對齊的跨欄表格。此時對表格標題延伸的范圍判定應(yīng)基于以下規(guī)則:非跨欄表格的表格標題右側(cè)區(qū)域應(yīng)當(dāng)出現(xiàn)其它文本元素,而跨欄表格的表格標題右側(cè)區(qū)域應(yīng)當(dāng)是空白的?;谠撜J知,當(dāng)判斷表格標題位于左側(cè)分欄時,應(yīng)當(dāng)將表格標題的右邊界向右擴展至右側(cè)分欄的右邊界。若擴展期間觸碰到其它文本元素,則將左側(cè)分欄的右邊界作為表格標題的右邊界;若延伸期間未觸碰到其它文本元素,則將右側(cè)分欄的右邊界作為表格標題的右邊界。
(2)表格標題區(qū)域向下延伸。假設(shè)文獻作者已經(jīng)按照學(xué)術(shù)機構(gòu)要求將表格置于表格標題之后,則表格會出現(xiàn)在表格標題下方,應(yīng)對表格標題區(qū)域向下延伸,具體方法為:將擴展后的表格標題區(qū)域的下邊界不斷下移,下移期間忽略碰觸到的類型為“其它”的文本元素,并在其觸碰到類型為“正文”、“表格標題”、“圖片標題”、“圖表標題”或頁面邊界時停止。延伸過程如圖2所示。此時,表格標題區(qū)域下邊界在下移時,起始位置和終止位置之間形成的矩形區(qū)域即為表格區(qū)域,區(qū)域中類型為“其它”的文本元素即為構(gòu)成表格的文本元素。
2 實驗結(jié)果
從pubmed的藥學(xué)文獻中,人工選取20篇表格數(shù)量較多且復(fù)雜的PDF文獻,并隨機選取30篇PDF文獻,共計50篇藥學(xué)文獻構(gòu)成數(shù)據(jù)集。對該數(shù)據(jù)集分別使用本方法和“tabula”工具進行表格區(qū)域識別并對比。
在50篇藥學(xué)PDF中,單欄PDF共有27篇,對這27篇PDF文獻的識別結(jié)果如表2所示。
可以看出,在單欄藥學(xué)文獻表格識別中,本文方法的識別率達到89.7%,比tabula工具的表格識別率提高了10.4%。
對剩余的23篇雙欄PDF文獻識別結(jié)果如表3所示。
可以看出,在雙欄藥學(xué)文獻表格識別中,本文方法的識別率達到了93.7%,比tabula工具的表格識別率提高了60.4%。造成該巨大差異的原因是,tabula為代表的柵格化方法容易將雙欄文獻中的左右分欄整體識別為雙列表格,或是將實際表格區(qū)域兩側(cè)的正文區(qū)域識別為一個新的列。而本文方法首先對表格分欄進行判定,并對表格分欄造成的多種情況進行分類處理,從而屏蔽掉分欄造成的影響。
綜合評定,本方法對藥學(xué)PDF中表格的綜合識別率為91.7%,比tabula工具提升了36.3%。
3 結(jié)語
本文提出的基于文本元素的藥學(xué)PDF表格區(qū)域識別方法,不依賴于表格框線,能更有效地對表格框線缺失的表格區(qū)域進行識別,更好地處理PDF文獻分欄情況,對分欄文獻中的表格具有更高的識別率。但該方法還需解決一些細節(jié)問題,如在表格標題向下延伸過程中,仍可能混人極少量的非表格文本元素。本文提出的藥學(xué)PDF表格區(qū)域識別方法為更好地進行表格的結(jié)構(gòu)還原和信息結(jié)構(gòu)化輸出奠定了基礎(chǔ)[20]。
參考文獻:
[1] 刁繼紅,甄連花.如何利用PubMed檢索醫(yī)學(xué)文獻[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ǔ)自動化,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ù)的研究[D].北京:北京工業(yè)大學(xué),2010.
[13] CIULIA SAVIO. Tabula-py[ EB/OL]. https://github.com/chezou/ta-bula-py
[14] 唐皓瑾.一種面向PDF文件的表格數(shù)據(jù)抽取方法的研究與實現(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)代情報,2003(8):57-59.
[17] 周世杰.層次聚類的算法研究[J].課程教育研究,2018(40):240-241.
[18]胡曉慶,馬儒寧,鐘寶江.層次聚類算法的有效性研究[J].山東大學(xué)學(xué)報:工學(xué)版,2010.40(5):146-149.
[19]福建醫(yī)科大學(xué)學(xué)報編輯部,科技期刊論文表格編寫規(guī)范[J].福建醫(yī)科大學(xué)學(xué)報,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é)院碩士研究生,研究方向為智能信息處理;曹皓偉(1995-),男,中國海洋大學(xué)信息科學(xué)與工程學(xué)院碩士研究生,研究方向為軟件工程;徐建良(1969-),男,博士,中國海洋大學(xué)信息科學(xué)與工程學(xué)院教授、博士生導(dǎo)師,研究方向為計算復(fù)雜性理論、計算機軟件與理論。