本發(fā)明屬于文檔識(shí)別領(lǐng)域,涉及一種版式文檔中腳注識(shí)別方法及腳注與腳注引用關(guān)聯(lián)方法。
背景技術(shù):
隨著個(gè)人計(jì)算機(jī)和網(wǎng)絡(luò)的廣泛使用,電子文檔變得非常流行和常見(jiàn)。每天成百上萬(wàn)的文檔例如技術(shù)報(bào)告、政府文件、報(bào)紙、書(shū)、期刊雜志、郵件、票據(jù)等等從文檔處理軟件(如排版軟件)中生成。尤其是,由于PDF文檔具有逼真保持版式和可靠的分發(fā)交換等性能,越來(lái)越多的電子文檔開(kāi)始采用PDF格式,該格式已經(jīng)成為電子文檔領(lǐng)域的一個(gè)事實(shí)標(biāo)準(zhǔn)。另一方面對(duì)于電子文檔,尤其是數(shù)字出版物(如電子書(shū))而言,除了內(nèi)容信息以外,結(jié)構(gòu)信息同樣對(duì)讀者的閱讀理解、查詢(xún)檢索等起著重要的作用。然而,PDF文檔缺少文檔結(jié)構(gòu)信息的描述,使得針對(duì)PDF文檔的知識(shí)抽取等諸多應(yīng)用成為一個(gè)挑戰(zhàn)。因此,針對(duì)PDF文檔進(jìn)行結(jié)構(gòu)信息提取的研究正獲得越來(lái)越多的關(guān)注,并且在文檔基本結(jié)構(gòu)(例如標(biāo)題、段落、表格、公式等)的識(shí)別上取得了一些進(jìn)展。然而,交叉引用作為文檔版面的重要組成元素,在之前的研究中尚很少涉及。
在一個(gè)文檔中,交叉引用(例如腳注,參考文獻(xiàn),圖表)用于標(biāo)注并進(jìn)一步解釋它們對(duì)應(yīng)的實(shí)體。一個(gè)交叉引用包括兩個(gè)部分:引用與實(shí)體。例如,對(duì)于腳注而言,引用是指正文中通常以上標(biāo)形式出現(xiàn)的引用,實(shí)體是指位于頁(yè)面底端的用于進(jìn)一步解釋說(shuō)明正文對(duì)應(yīng)引用位置的文本。作為交叉引用中的一種,識(shí)別腳注對(duì)于文檔結(jié)構(gòu)理解的核心任務(wù)——頁(yè)面元素類(lèi)型標(biāo)注起著重要作用。腳注本身包含的內(nèi)容信息以及鏈接對(duì)應(yīng)信息對(duì)于文檔內(nèi)容理解也有所幫助。此外,在移動(dòng)設(shè)備上閱讀文檔,特別是閱讀科技文獻(xiàn)時(shí),屏幕大小的限制可能導(dǎo)致腳注的引用與實(shí)體呈現(xiàn)在不同頁(yè)面,從而給讀者尋找引用對(duì)應(yīng)實(shí)體的過(guò)程帶來(lái)不便。識(shí)別出引用與實(shí)體之間的鏈接關(guān)系,有助于讀者在引用處快速定位到對(duì)應(yīng)實(shí)體,提高讀者閱讀體驗(yàn)。
與交叉引用相關(guān)的研究并不多見(jiàn),并且相對(duì)集中在圖表標(biāo)題和參考文獻(xiàn)上。Anjewierden描述了一個(gè)名為AIDAS的文檔分析系統(tǒng),采用一種遞增式自底向上抽取文檔邏輯結(jié)構(gòu)(包括腳注、圖標(biāo)題等)的方法,但是系統(tǒng)使用的語(yǔ)法依賴(lài)于特定文檔類(lèi)型。Marinai等人在進(jìn)行PDF到EPUB格式的轉(zhuǎn)換過(guò)程中抽取了腳注。他們將字體大小小于主體字一定比例的數(shù)字識(shí)別為腳注的引用。在這樣的假設(shè)下,非數(shù)字引用無(wú)法被正確識(shí)別,同時(shí)公式上標(biāo)可能被誤識(shí)別為腳注的引用。同時(shí),他們將以數(shù)字開(kāi)頭且主體字小于文檔主體字的段落識(shí)別為腳注的實(shí) 體。但是并非所有類(lèi)型的腳注的字體大小都小于文檔主體字大小,同時(shí)該方法可能將有序列表和目錄誤識(shí)別為腳注。
可見(jiàn),腳注識(shí)別在文檔分析與識(shí)別領(lǐng)域有其必要性,但目前的研究對(duì)腳注關(guān)注較少,并且現(xiàn)有的識(shí)別方法大都不具有文檔類(lèi)型適應(yīng)性,在針對(duì)大量文檔進(jìn)行腳注識(shí)別與抽取過(guò)程中會(huì)出現(xiàn)無(wú)法適應(yīng)文檔排版風(fēng)格多樣性的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有腳注識(shí)別方法中依賴(lài)特定的文檔樣式和識(shí)別規(guī)則的問(wèn)題,本發(fā)明提出一種版式文檔中腳注識(shí)別方法及腳注與腳注引用關(guān)聯(lián)方法。本發(fā)明基于特征聚類(lèi)的腳注識(shí)別方法,使得識(shí)別過(guò)程可以適應(yīng)不同樣式的文檔,然后將腳注與腳注引用進(jìn)行關(guān)聯(lián),此外腳注的實(shí)體與引用匹配的結(jié)果為識(shí)別的過(guò)程提供了反饋,從而進(jìn)一步提高識(shí)別的準(zhǔn)確率和召回率。
本發(fā)明所述的數(shù)字內(nèi)容指版式文檔。版式文檔(Fixed-layout document),也稱(chēng)為矢量文檔(vector graphic),是在不同設(shè)備和閱讀軟件上具有顯示一致性的、版面固定的電子文檔,典型的版式文檔格式為PDF和CEB、CEBX。
本發(fā)明的技術(shù)方案如下:
一種版式文檔中腳注與腳注引用的關(guān)聯(lián)方法,包括如下步驟:
1)從版式文檔中抽取底層信息;
2)識(shí)別候選腳注區(qū)域;
3)對(duì)候選腳注區(qū)域進(jìn)行特征聚類(lèi),剔除特征不匹配的候選腳注區(qū)域;
4)腳注條目分割;
5)匹配腳注條目與腳注引用;
6)利用匹配結(jié)果對(duì)參數(shù)進(jìn)行調(diào)整。
步驟1)中所述底層信息包括:字符及其字體、大小、位置,路徑(表示PDF中一種由指令繪制出的路徑path,或者說(shuō)線段),平均文本行間距等信息。
步驟2)中的候選腳注區(qū)域,其特征是,每一頁(yè)中腳注項(xiàng)集中出現(xiàn)的區(qū)域通常出現(xiàn)在頁(yè)面底端;與正文區(qū)域之間有明顯的視覺(jué)分隔;區(qū)域內(nèi)條目的編號(hào)遵循頁(yè)面內(nèi)獨(dú)立編號(hào)方式或者頁(yè)面間連續(xù)編號(hào)方式;區(qū)域內(nèi)的條目采用相同的字體字號(hào)。
步驟2)中的視覺(jué)間隔,其特征是,正文區(qū)域與頁(yè)面底端的腳注區(qū)域之間會(huì)有一個(gè)明顯的視覺(jué)分隔以方便讀者閱讀。這種視覺(jué)分隔通常有兩種形式:腳注線和空白區(qū)域。
步驟2)中的識(shí)別候選腳注區(qū)域的方法,其特征是,判斷是否存在兩個(gè)連續(xù)文本行,其中第一個(gè)文本行為正文區(qū)域的最后一個(gè)文本行,第二個(gè)文本行為腳注區(qū)域的第一個(gè)文本行, 兩文本行之間存在視覺(jué)間隔,并且腳注區(qū)域內(nèi)的文本行采用相同的字體字號(hào)。
步驟3)中特征聚類(lèi)的方法,其特征是,首先計(jì)算候選腳注區(qū)域在位置、字體、條目編號(hào)方式構(gòu)成的特征向量,然后使用K-means聚類(lèi)對(duì)特征向量進(jìn)行聚類(lèi)。選擇聚類(lèi)結(jié)果中最大的簇的中心點(diǎn)作為目標(biāo)特征向量,比如聚類(lèi)之后最大的簇里有三個(gè)特征向量(1,0,0)(1,0,0)(1,1,0),簇的中心點(diǎn)為(1,1/3,0)即最大簇中特征向量的平均值,我們把這個(gè)作為目標(biāo)特征向量,計(jì)算目標(biāo)特征向量與候選腳注區(qū)域的特征向量之間的余弦相似度,剔除相似度小于設(shè)定閾值的區(qū)域。
步驟4)中腳注條目分割的方法是,對(duì)于步驟3)中經(jīng)過(guò)篩選后得到的候選腳注區(qū)域中的文本行,找出以聚類(lèi)結(jié)果中的序號(hào)模式開(kāi)始的文本行,比如常見(jiàn)的序號(hào)模式有:1,①,[1],聚類(lèi)結(jié)果中的序號(hào)模式如果是圓圈數(shù)字的形式,那么只找圓圈數(shù)字開(kāi)頭的文本行,不找單純數(shù)字開(kāi)頭的文本行。由于非腳注項(xiàng)起始行也可能以數(shù)字開(kāi)始,還需要檢查序號(hào)是否連續(xù),剔除明顯超出當(dāng)前頁(yè)面腳注序號(hào)范圍的文本行。然后依次將每一個(gè)文本行合并到之前最近的腳注項(xiàng)起始行,形成腳注條目。
步驟5)中腳注引用,其特征是,通常以上標(biāo)形式出現(xiàn)在正文中的序號(hào)。其識(shí)別方法是,如果正文中的一個(gè)數(shù)字或者用于腳注序號(hào)的特殊符號(hào)位于文本行中線以上,并且其字體大小小于頁(yè)面主體字,則識(shí)別為腳注引用。
步驟5)中匹配腳注條目與腳注引用的方法是,將腳注序號(hào)代表的序號(hào)與當(dāng)前頁(yè)面的腳注序號(hào)進(jìn)行匹配,如果序號(hào)對(duì)應(yīng)則認(rèn)為建立了一個(gè)鏈接對(duì)應(yīng)。
步驟6)中利用匹配結(jié)果對(duì)參數(shù)λ1,λ2,r,以及弦相似度的閾值進(jìn)行調(diào)整的方法是:
a.如果沒(méi)有找到腳注序號(hào)但是當(dāng)前頁(yè)面存在候選腳注區(qū)域,或者找到的腳注序號(hào)不能匹配候選腳注區(qū)域的序號(hào),這時(shí)認(rèn)為當(dāng)前頁(yè)面的候選腳注區(qū)域是一個(gè)錯(cuò)誤識(shí)別的區(qū)域,將反饋給腳注區(qū)域識(shí)別的過(guò)程進(jìn)行剔除,即如果沒(méi)發(fā)現(xiàn)有腳注引用,之前的步驟卻識(shí)別出了一個(gè)腳注區(qū)域,則反饋調(diào)整是剔除該腳注區(qū)域。
b.如果在腳注序號(hào)中找到多個(gè)能與候選腳注區(qū)域中某一個(gè)腳注項(xiàng)匹配。這種情況的出現(xiàn)一般是由于錯(cuò)誤地將文檔正文的公式中的指數(shù)識(shí)別為引用項(xiàng)。這里我們采用一種基于SVM的公式定位方法,排除那些位于公式中的引用項(xiàng)。如果匹配的引用項(xiàng)全部都位于公式定位范圍內(nèi),則選擇引用項(xiàng)的包圍矩形在各自公式區(qū)域中最靠后的一個(gè)(原因是在公式中引用腳注通常是為了進(jìn)一步解釋公式,那么這種引用一般位于公式結(jié)束的位置);如果經(jīng)過(guò)公式區(qū)域排除后仍然有多個(gè)匹配的引用項(xiàng),則將它們?nèi)颗c匹配的腳注項(xiàng)建立鏈接對(duì)應(yīng)。
c.如果當(dāng)前頁(yè)面沒(méi)有找到候選腳注區(qū)域但是存在腳注序號(hào)。如果經(jīng)過(guò)公式區(qū)域排除后仍 然存在引用項(xiàng),則反饋給第二步和第三步,對(duì)于當(dāng)前頁(yè)面適當(dāng)降低閾值,再次檢測(cè)是否存在腳注區(qū)域。
與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
與現(xiàn)有的基于規(guī)則的方法相比,本發(fā)明通過(guò)特征聚類(lèi)的方式得到文檔中腳注的風(fēng)格特征,從而不依賴(lài)于特定的特征與規(guī)則,使得本發(fā)明在識(shí)別不同文檔中排版樣式多樣的腳注時(shí),能夠取得更高的正確率和召回率。
附圖說(shuō)明
附圖為本發(fā)明的方法流程圖。
具體實(shí)施方式
下面通過(guò)實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
本實(shí)施例通過(guò)對(duì)題為“Bayesian Compressive Sensing”(下載地址為http://dsp.rice.edu/sites/dsp.rice.edu/files/cs/BCS_one_column.pdf)的PDF格式的學(xué)術(shù)論文(以下記為文檔一)和《分配革命》(經(jīng)濟(jì)管理出版社,2001版)的PDF格式的圖書(shū)(以下記為文檔二)進(jìn)行腳注抽取來(lái)說(shuō)明本發(fā)明的內(nèi)容。
本實(shí)施例的具體步驟為:
1)解析PDF版式文檔,抽取底層信息并進(jìn)行文檔分析。
版式文檔是由底層數(shù)據(jù)對(duì)象組成,包括:文本流、圖形流和圖像流,文檔解析負(fù)責(zé)獲取這些數(shù)據(jù)流。解析版式文檔的方法,包括:1)直接讀取版式文檔文件,并根據(jù)文檔格式/規(guī)范,實(shí)現(xiàn)文檔解析器;2)使用現(xiàn)有的文檔解析工具進(jìn)行解析。以PDF為例,現(xiàn)有以下PDF文檔解析工具:PDFBox、Xpdf、Multivalent等。
腳注識(shí)別還需要文本行、平均文本行間距等信息。這些信息不能直接從版式文檔中獲取,需要進(jìn)行必要的文檔分析與理解。
對(duì)于文本行,先采用空白覆蓋算法(Breuel,Thomas M."Two geometric algorithms for layout analysis."Document analysis systems v.Springer Berlin Heidelberg,2002.188-199.)獲得頁(yè)面分欄,在每一分欄中將字符按照包圍矩形是否存在水平交疊為原則聚集成行,然后按照從上到下、從左到右的閱讀順序?qū)ξ谋拘羞M(jìn)行排序。
平均文本行間距。文本行之間的距離通常是固定的,但是在一些情況下行間距可能會(huì)變化,例如標(biāo)題行與段落首行間的距離通常比段落中的行間距大。因此,簡(jiǎn)單地累加所有的文本行間距然后求平均值得到的結(jié)果與實(shí)際段落中的文本行間距會(huì)有偏差。本文使用K-means 算法(這里取K=3)對(duì)所有文本行間距進(jìn)行聚類(lèi)。因?yàn)樵谝粋€(gè)文檔中,普通段落的文本行一般是最多的,所以可以取聚類(lèi)結(jié)果中最大簇的行間距的平均值作為平均文本行間距。
2)識(shí)別候選腳注區(qū)域
在一個(gè)頁(yè)面中,對(duì)于步驟一中獲取到的已排序的文本行,檢查所有連續(xù)的兩個(gè)文本行是否滿(mǎn)足以下條件:首先利用正則表達(dá)式篩選出以數(shù)字(及其常見(jiàn)變化形式,包括帶圈數(shù)字、小寫(xiě)英文字母等)或特殊符號(hào)(如星號(hào)*,劍標(biāo)等)開(kāi)頭的文本行。例如,本實(shí)施例中的文檔一第4頁(yè)中符合上述條件的文本行有“[13]:”,“(4),itis straightforward to demonstrate thatthe solution in(1)corresponds to a maximum aposteriori”和“1In practice,not all ofthe assumptions made in deriving(3)will necessarily bevalid,but henceforth we simply use(3)as a”。記滿(mǎn)足正則表達(dá)式的文本行集合為CTL,然后識(shí)別候選腳注區(qū)域。定義L={l1,l2,...,ln}為頁(yè)面一個(gè)分欄中的所有文本行,并且已經(jīng)按照閱讀順序排序。首先檢查是否存在兩個(gè)連續(xù)文本行l(wèi)i,li+1滿(mǎn)足li+1∈CTL,并且li+1的序號(hào)N滿(mǎn)足0<N-NMax<λ1(當(dāng)文檔腳注采用連續(xù)編號(hào)時(shí));或者0<N<λ2(當(dāng)文檔腳注在各頁(yè)面獨(dú)立編號(hào)時(shí))。這里NMax是當(dāng)前頁(yè)面之前找到的最大的腳注序號(hào),λ1初始化為3,λ2初始化為3。對(duì)于滿(mǎn)足條件的兩個(gè)文本行l(wèi)i,li+1,檢查li,li+1之間是否存在視覺(jué)分隔區(qū)。識(shí)別視覺(jué)分隔區(qū)的方法是腳注線屬于PDF文檔中通過(guò)解析路徑得到的水平直線段集合,空白區(qū)域則通過(guò)判斷兩個(gè)連續(xù)文本行之間的距離超過(guò)平均文本行間距的r倍,r初始化為2。另外,判斷所有位于li+1下方的所有文本行,即文本行集合{li+1,li+2,...,ln}是否使用相同風(fēng)格的主體字。如果上述條件均符合,我們稱(chēng){li+1,li+2,...,ln}構(gòu)成的文本行區(qū)域?yàn)橐粋€(gè)候選腳注區(qū)域。例如對(duì)于本實(shí)施例中的文檔一第4頁(yè):文本行“[13]:”不滿(mǎn)足序號(hào)的合理范圍;文本行“(4),it is straightforward to demonstrate that the solution in(1)corresponds to a maximum aposteriori”與上一個(gè)文本行之間不存在視覺(jué)分隔區(qū);文本行“1In practice,not all ofthe assumptions made in deriving(3)will necessarily bevalid,but henceforth we simply use(3)as a”滿(mǎn)足序號(hào)范圍,與上一個(gè)文本行之間存在空白區(qū)域類(lèi)型的視覺(jué)分隔區(qū),且文本行下方所有文本行采用相同字體字號(hào)的主體字,因此是一個(gè)候選腳注區(qū)域。
3)對(duì)候選腳注區(qū)域進(jìn)行特征聚類(lèi)。
對(duì)于步驟2)中得到的候選腳注區(qū)域,提取下表列出的特征計(jì)算特征向量。
例如,對(duì)于本實(shí)施例中的文檔一第4頁(yè),步驟2)選擇出的候選腳注區(qū)域,其特征向量為(“空白區(qū)域”,“數(shù)字”,“NimbusRomNo9L”,1.22),再經(jīng)過(guò)數(shù)值化得到(0,0,0x9e,1.22)。
然后對(duì)所有候選腳注區(qū)域的特征向量使用K-means算法進(jìn)行聚類(lèi),選擇聚類(lèi)結(jié)果中最大簇的中心向量作為聚類(lèi)結(jié)果。然后計(jì)算候選腳注區(qū)域的特征向量與聚類(lèi)結(jié)果的余弦相似度,剔除余弦相似度小于0.75的候選腳注區(qū)域。
4)腳注條目分割
對(duì)于步驟四篩選出的候選腳注區(qū)域中的文本行,找出以聚類(lèi)結(jié)果中的序號(hào)模式開(kāi)始的文本行。由于非腳注項(xiàng)起始行也可能以數(shù)字開(kāi)始,還需要檢查序號(hào)是否連續(xù),剔除明顯超出當(dāng)前頁(yè)面腳注序號(hào)范圍的文本行。然后按照閱讀順序,依次將每一個(gè)文本行合并到之前最近的腳注項(xiàng)起始行,形成腳注項(xiàng)。
例如對(duì)于文檔二第27頁(yè)下方的候選腳注區(qū)域,需要剔除數(shù)字明顯超出范圍不是序號(hào)的文本行“1997.67~69”和“39~40”,然后以①和②開(kāi)頭的文本行作為腳注條目的起始行,將該腳注區(qū)域分為兩個(gè)腳注條目。
5)匹配腳注條目與腳注引用
首先在正文區(qū)域(即頁(yè)面中除去候選腳注區(qū)域的)識(shí)別腳注引用。對(duì)于一個(gè)文本行的某字符,如果它的包圍矩形的中心位于當(dāng)前文本行中線以上,并且字體大小小于頁(yè)面主體字大小的λ0(本文初始化為0.8),就將它加入腳注序號(hào)中,如果它與某個(gè)腳注序號(hào)相鄰,合并它們?yōu)橐粋€(gè)候選項(xiàng)。將腳注序號(hào)代表的序號(hào)與當(dāng)前頁(yè)面的腳注序號(hào)進(jìn)行匹配,如果序號(hào)對(duì)應(yīng)則認(rèn)為建立了一個(gè)鏈接對(duì)應(yīng)。
例如對(duì)于文檔一第12頁(yè)的正文區(qū)域,符合上述條件的腳注引用項(xiàng)有公式(19)中的指數(shù)“1”以及文本行“discussed here,as applied to BCS and OMP6.As demonstrated,both the rigorous implementation and”中的數(shù)字“6”。由于該頁(yè)候選腳注條目序號(hào)為6,故將該腳注條目與數(shù)字“6”建立鏈接對(duì)應(yīng)。
6)利用匹配結(jié)果對(duì)參數(shù)進(jìn)行調(diào)整
a.如果沒(méi)有找到腳注序號(hào)但是當(dāng)前頁(yè)面存在候選腳注區(qū)域,或者找到的腳注序號(hào)不能匹配候選腳注區(qū)域的序號(hào),這時(shí)適當(dāng)調(diào)整引用識(shí)別的參數(shù)檢查是否能找到引用項(xiàng),如果找到則 再次進(jìn)行匹配,否則認(rèn)為當(dāng)前頁(yè)面的候選腳注區(qū)域是一個(gè)錯(cuò)誤識(shí)別的區(qū)域,將反饋給腳注區(qū)域識(shí)別的過(guò)程進(jìn)行剔除。例如文檔二第24頁(yè)中存在候選腳注區(qū)域,但是未找到腳注序號(hào),故調(diào)整字體大小的參數(shù)為1.0,發(fā)現(xiàn)了腳注序號(hào)并進(jìn)行匹配;第50頁(yè)中的文本行“(一)智能化公司”下方的候選腳注區(qū)域,由于該頁(yè)并沒(méi)有找到腳注序號(hào),放松參數(shù)后仍未找到,因此將該候選腳注區(qū)域剔除。
b.如果在腳注序號(hào)中找到多個(gè)能與候選腳注區(qū)域中某一個(gè)腳注項(xiàng)匹配。這種情況的出現(xiàn)一般是由于錯(cuò)誤地將公式中的指數(shù)識(shí)別為引用項(xiàng)。這里我們采用一種基于SVM的公式定位方法(Xiaoyan Lin,Liangcai Gao,Zhi Tang,Josef B.Baker and Volker Sorge,"Mathematical formula identification and performance evaluation in PDF documents",Int'l.Journal on Document Analysis and Recognition(IJDAR),Volume 17,Issue 3,pp 239-255,September 2014.),排除那些位于公式中的引用項(xiàng)。例如,文檔一第5頁(yè)中的公式“σ2”和“α0=1/σ2”中均存在能與腳注條目對(duì)應(yīng)的腳注序號(hào),利用上述公式定位方法,可以排除這些區(qū)域內(nèi)的腳注序號(hào)。
c.如果當(dāng)前頁(yè)面沒(méi)有找到候選腳注區(qū)域但是存在腳注序號(hào)。如果經(jīng)過(guò)公式區(qū)域排除后仍然存在引用項(xiàng),則反饋給第二步和第三步,對(duì)于當(dāng)前頁(yè)面適當(dāng)調(diào)整閾值,再次檢測(cè)是否存在腳注區(qū)域。例如文檔一第8頁(yè)存在腳注序號(hào),但是未發(fā)現(xiàn)候選腳注區(qū)域,因此調(diào)整步驟二中的參數(shù)r=1.5,發(fā)現(xiàn)了候選腳注區(qū)域,并成功進(jìn)行匹配。