一種混合pdf圖書目錄自動抽取算法
【專利摘要】本發(fā)明公開了一種混合PDF圖書目錄自動抽取方法,涉及信息抽取領(lǐng)域,XML數(shù)據(jù)的抽取分析任務,目錄抽取問題。通過本發(fā)明,PDF圖書目錄不但被更準確的識別,而且相對目前現(xiàn)有的基于目錄頁內(nèi)容分析的目錄抽取方法,具有處理無目錄頁圖書的目錄的能力,而且通過獲得的目錄項的分析,完成了目錄項的定位導航功能,并對目錄項進行分級的操作,方便用戶更好的理解圖書的層級結(jié)構(gòu),完成了PDF圖書的目錄抽取建立任務,提升了用戶的瀏覽體驗。
【專利說明】—種混合PDF圖書目錄自動抽取算法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息抽取領(lǐng)域,尤其是一種使用基于規(guī)則與機器學習相結(jié)合的混合PDF圖書自動目錄抽取算法。
【背景技術(shù)】
[0002]目前,數(shù)字出版物勃然興起,傳統(tǒng)圖書館向著數(shù)字圖書館轉(zhuǎn)變。數(shù)字圖書館需要對圖書進行整頁高效的攝影或者掃描,之后再通過光學字符識別過程將圖像轉(zhuǎn)換為可搜索的文本。因為,光學字符識別技術(shù)生成的海量數(shù)字化圖書只有非常少的結(jié)構(gòu)信息,章節(jié)等高級信息沒有被識別出來。所以現(xiàn)有的手勢識別算法并不能根據(jù)章節(jié)等信息來形成目錄,以幫助讀者更好的定位書中的內(nèi)容,從而增強瀏覽時的用戶體驗。
[0003]發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下缺點和不足:
[0004]現(xiàn)有技術(shù)目前大部分算法還是基于已有的目錄頁來識別章節(jié)信息,無法針對沒有目錄頁的圖書進行識別,而在傳統(tǒng)的圖書中,還是有較大一部分比例的圖書沒有目錄。另外由于光學字符識別的過程中有大量的識別錯誤,單純依賴目錄頁的識別性能比較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種基于機器學習與規(guī)則混合的TOF圖書目錄自動抽取算法,本發(fā)明根據(jù)PDF文件通過光學字符識別工具得到的Djvuxml文件,根據(jù)文件的固定格式,對文件進行分析,采用機器學習與基于規(guī)則的方法相結(jié)合的方法得到目錄,詳見下文描述:
[0006]一種于機器學習與規(guī)則混合的PDF圖書自動目錄抽取算法,包括:針對有目錄圖書的基于規(guī)則的目錄抽取方法,以及針對無目錄圖書的使用機器學習方法的目錄抽取方法。以及獲得目錄項之后的目錄的定位以及分級操作,最終形成完整具有層級以及超鏈接的目錄,提供閱讀者良好的導航功能。
[0007]所述方法包括以下步驟:
[0008](I)有目錄的圖書基于規(guī)則的目錄項抽取方法
[0009]本發(fā)明針對有目錄的圖書利用書本中原有的目錄頁,采用基于規(guī)則的方式對原本目錄頁的內(nèi)容進行分析,從而獲得各個目錄項。首先,需要定位目錄頁,其次,再抽取目錄項。
[0010]定位目錄頁。目錄頁的開始一般都包含‘Contents’字樣,并且該頁包含很多以數(shù)字結(jié)尾的行。當然有時也會出現(xiàn)以‘Index’為標題的目錄。通過這些特征可以定位到目錄頁的起始位置。由于大多數(shù)書都有頁眉,因此判斷接下來的頁面是否為目錄頁的方法是查看其頁面頁眉是否含有‘Contents’字樣,或者以數(shù)字結(jié)尾的行數(shù)占總行數(shù)的比重。由于目錄一般都出現(xiàn)在書的前面,因此在定位目錄頁時,為了提高準確率并加快速度,只處理書的前半部分。
[0011]抽取目錄項。抽取目錄項工作的重點在于如何判斷一個目錄項的開始與結(jié)束。本說明中制定如下規(guī)則來判斷目錄項的開始:1)如果當前行的第一個單詞以Chapter、Part、Volume和Book等為開頭的,將其作為目錄項的開始。2)如果當前行的第一個單詞以數(shù)字或者羅馬數(shù)字開頭的,將其作為目錄項的開始。3)如果上一行以數(shù)字或者羅馬數(shù)字結(jié)尾的,則當前行為目錄項的開始。某一個目錄項的結(jié)束通常伴隨著下一個目錄項的開始,因此,我們很容易制定出如下規(guī)則來判斷目錄項的結(jié)束:1)如果下一行的第一個單詞以Chapter、Part、Volume和Book等開頭,則當前行為目錄項的最后一行。2)如果下一行的第一個單詞以數(shù)字或者羅馬數(shù)字開頭,則當前行為目錄項的最后一行。3)如果當前行以數(shù)字或者羅馬數(shù)字結(jié)尾,則當前行為目錄項的最后一行。上面這些規(guī)則已經(jīng)可以很好的解決大部分的問題,但是對于少部分的目錄卻不能很好的提取。比如,某些目錄項分成三大部分,第一部分為目錄項標題,第二部分為目錄項的頁碼,第三部分為目錄項的簡介。如果只使用以上的規(guī)則,則上一個目錄項的簡介將與下一個目錄項的標題和在一起,被當作當前目錄項的標題。因此在上面所說的規(guī)則中,加入一條規(guī)則:若上一行沒有上面說的Chapter、羅馬數(shù)字等明顯劃分目錄項的信息,并且當前行與上一行的特征差別很大時,則可以直接刪除之前所收集的關(guān)于當前目錄項的信息。也就是從當前行開始認為是目錄項的開始,而把原來本應作為當前目錄項內(nèi)容的信息刪除。
[0012](2)無目錄圖書基于支持向量機方法的目錄項抽取方法
[0013]對于不含目錄的書,本發(fā)明采用機器學習的方法。因為書中的每一段要么是能被當作鏈接目錄項的一部分,要么不能。因此,可以采用分類的方法解決該問題。本發(fā)明將該工作劃分為三大部分:1.對書中的每一段進行特征抽取并進行標注,抽取的特征我們希望是能夠區(qū)分目錄項和非目錄項的;2訓練分類器并對段進行分類,在這里我們使用的是RBF-SVM分類器.;3.將分類后的段提取出來,組成目錄項,并對其進行分級操作。
[0014]所述發(fā)明中特征標注與抽取。通過觀察數(shù)據(jù)集,本發(fā)明發(fā)現(xiàn)能夠被當作目錄項的段,也即是段落的標題,都具有一些明顯的特點。比如說字體比正文的字體大,段落的間距比正文的大,字體很多都為大寫,段落包含的字數(shù)相對于普通的段少,段中每行所包含的字數(shù)也很少,居中,頭一個詞有些有明顯的Chapter、Part字樣。因此定義如下八個特征:大寫字母所占比例、字體大小、最左端位置、最右端位置、段與段之間距離、段所包含的行數(shù)、段中每行字數(shù)的平均值、段出現(xiàn)的位置縱坐標。
[0015]所述發(fā)明中生成目錄項。通過SVM對文檔中的每一行進行分類之后,標記為正例的段落可能有很多種:第一種為我們期待的章節(jié)標題;第二種為頁眉;第三種為錯誤被認為是標題的段落;第四種為一些原本不屬于書中內(nèi)容的污點,由于OCR過程的錯誤而誤認為是字符的段落。如果不進行任何后處理,召回率很高但是準確率將很低。因此,在生成目錄項之前,有必要對標記為正例的樣本進行處理。我們首先將標記為正例的段落按出現(xiàn)順序進行排列。之后進行一下步驟:1)如果某一段大部分的詞都沒有大寫的話,則刪除該正例。2)如果該段是有一個字母,并且該字母不為羅馬數(shù)字,則刪除該正例。3)如果某一段內(nèi)容與其他段重復,則只保留第一次出現(xiàn)的段,刪除其他。4)如果某一頁出現(xiàn)很多正例(大于兩個),則該頁可能是扉頁。將該頁的所有正例刪除。
[0016](3)目錄項的定位
[0017]目錄項的定位,即是定位每一個目錄項在文檔正文中對應的位置。如果再簡單來說就是書目中的物理頁碼與邏輯頁碼的匹配工作(物理頁碼即書目中實際的頁碼,包含目錄、封面等;而邏輯頁碼即文本在正文中所處的頁碼,從正文開始計數(shù)。)在進行邏輯頁碼和物理頁碼的匹配之前,首先需要提取每一頁的邏輯頁碼。邏輯頁碼一般都是出現(xiàn)在頁眉或者頁腳部分。只要判斷出連續(xù)的若干頁都是第一行或者最后一行包含數(shù)字,就可以判斷出邏輯頁碼出現(xiàn)的位置,之后就可以提取邏輯頁碼。這樣提取出的邏輯頁碼不是很完全,因為有些頁確實沒有出現(xiàn)頁碼,或者很有可能OCR錯誤,沒有識別或者識別錯誤該頁碼。因此應該對這些遺漏的和錯誤的頁碼進行處理。首先將沒有邏輯頁碼的進行邏輯頁碼補全。假設第i個物理頁碼包含有邏輯頁碼L (i),第j (j > i)個物理頁碼也包含邏輯頁碼L (j),并且i,j中間的邏輯頁碼都是缺失的,那么如果L(j)-L(i) = j_i,也就是說中間空缺的邏輯頁碼剛好能夠被補全,則對這些邏輯頁碼進行補全。進行完了上一步之后,很多丟失的邏輯頁碼已經(jīng)補齊了。還有OCR錯誤的頁碼需要處理。由于已經(jīng)出現(xiàn)了長串的連續(xù)邏輯頁碼,因此首先假定這些連續(xù)邏輯頁碼為正確的,通過這些連續(xù)邏輯頁碼來修改其他的異常頁碼。最后再進行一次補全操作。
[0018](4)目錄項的分級
[0019]本發(fā)明通過對數(shù)據(jù)進行分析,發(fā)現(xiàn)大部分書的目錄中都包含比如Book、Volume,Part、Chapter等對分級很有幫助的關(guān)鍵字。并且分級的目錄一般都包含諸如阿拉伯數(shù)字
1、(I),羅馬數(shù)字1、(I)這些格式的表示分級的信息。因此本發(fā)明定義分級規(guī)則如下:
[0020]第一級:包含part、volume、book 字樣。
[0021]第二級:包含chapter、chap字樣或羅馬數(shù)字。
[0022]第三級:包含section、sect字樣。
[0023]第四級:以阿拉伯數(shù)字或字母開始。
[0024]第五級:為待定級,不包含任何以上特征。該級的目錄項最終屬于哪一級由其上一個目錄項決定。
[0025]對目錄項從頭到尾進行掃描,按照上面的規(guī)則對這些目錄項進行分級。通過這一次掃描,只剩下那些沒有特征的目錄項沒有被賦予級別。
[0026]本發(fā)明提供的技術(shù)方案的有益效果是:
[0027]本發(fā)明提供了一種針對TOF圖書的目錄自動抽取方法,采用混合的基于規(guī)則的方法與使用機器學習的方法分別處理有目錄頁的圖書和沒有目錄頁的圖書。方法簡單實用,同時具有較好的識別效率。
【專利附圖】
【附圖說明】
[0028]圖1 一種混合HF圖書目錄自動抽取方法流程示意圖。
【具體實施方式】
[0029]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0030]為了方便用戶更好地瀏覽圖書內(nèi)容,了解文章的框架,本發(fā)明提出了一種混合TOF圖書目錄的自動抽取方法,參見圖1,詳見下文描述:
[0031]一種混合PDF圖書目錄自動抽取法,包括:本發(fā)明中,有目錄的圖書目錄項獲取方法I,無目錄圖書的目錄抽取方法2,目錄項的定位操作3,以及目錄項的分級4.[0032]參照圖1,一種混合HF圖書目錄自動抽取方法包括以下步驟:[0033]101:判斷圖書是否具有目錄頁。
[0034]102:使用有目錄頁或者無目錄頁圖書目錄抽取方法抽取目錄項。
[0035]103:定位獲得的目錄項,即頁碼匹配操作。
[0036]104:將目錄項分級。
[0037]綜上所述,本發(fā)明實例提供了 一種針對TOF圖書目錄自動抽取方法,利用基于規(guī)則的方法對圖書中的目錄頁進行理解,從而完成對于有目錄頁的圖書的識別,對于無目錄頁的圖書,借用有目錄圖書中的目錄項,采用機器學習的方式,自動學習一組較好的特征來識別目錄項,克服了目前無法完成的無目錄圖書的識別任務,同時對識別的目錄項進行定位以及分級,從而抽取了更具有表達內(nèi)容的目錄抽取,便于閱讀者的瀏覽。
[0038]本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0039]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種混合roF圖書自動目錄抽取方法,其包括:針對有目錄頁圖書的基于規(guī)則的目錄項抽取方法,以及針對無目錄頁圖書借助有目錄頁圖書的基于機器學習的目錄想抽取算法,以及完成目錄項抽取之后,針對目錄項進行的定位目錄項任務以及目錄項分級整理任務。
2.根據(jù)權(quán)利要求1所述的一種混合PDF圖書自動目錄抽取方法,其特征在于,所述方法包括:針對有目錄頁圖書的基于規(guī)則的目錄項抽取方法; 所述針對有目錄頁圖書的基于規(guī)則的目錄項抽取方法包括:定位目錄頁,然后根據(jù)目錄頁的內(nèi)容采用基于規(guī)則的方式進行分析,進而獲得各個目錄項,所述方法在書目中的前部分采用查找包含‘Content’等與目錄頁相關(guān)的關(guān)鍵字來定位目錄頁;采用所述目錄頁中的基于規(guī)則的方式定義一個目錄項的開始與結(jié)束;定義目錄項的開始結(jié)束主要依賴一句是否以關(guān)鍵字‘Chapter’、‘Part’、‘Volume’和‘Book’以及數(shù)字羅馬數(shù)字等開頭。
3.根據(jù)權(quán)利要求1所述的一種混合PDF圖書自動目錄抽取方法,其特征在于,所述方法包括:針對無目錄頁圖書的基于機器學習方法的目錄項抽取方法; 所述針對無目錄頁圖書的基于機器學習方法的目錄項抽取方法,利用支持向量機的方法,定義了八個特征:大寫字母所占比例、字體大小、最左端位置、最右端位置、段與段之間距離、段所包含的行數(shù)、段中每行字數(shù)的平均值、段出現(xiàn)的位置縱坐標;通過采用RBM-SVM來訓練,標注數(shù)據(jù)利用有目錄頁的圖書的目錄項來生成。
4.根據(jù)權(quán)利要求1所述的一種混合PDF圖書自動目錄抽取方法,其特征在于,所述方法包括:目錄項的定位方法; 所述目錄項的定位方法即定位每一個目錄項在文檔正文中對應的位置,將獲得的邏輯頁碼找到對應的物理頁碼;獲取邏輯頁碼采用判斷出連續(xù)的若干頁都是第一行或者最后一行包含數(shù)字,就可以判斷出邏輯頁碼出現(xiàn)的位置,即頁眉或者頁腳;再進行一次邏輯頁碼補全操作,補全一些沒有頁碼或者OCR錯誤造成頁碼丟失的情況;然后根據(jù)修正的邏輯頁碼獲得OCR過程中分配給每個PDF頁的物理頁碼,并與相應的目錄項關(guān)聯(lián)。
5.根據(jù)權(quán)利要求1所述的一種混合TOF圖書自動目錄抽取方法,其特點在于包括目錄項的分級方法; 所述目錄項的分級方法通過對數(shù)據(jù)進行分析,定義五級分級規(guī)則:第一級:包含part、volume、book字樣;第二級:包含chapter、chap字樣或羅馬數(shù)字;第三級:包含section、sect字樣;第四級:以阿拉伯數(shù)字或字母開始;第五級:為待定級,不包含任何以上特征;該級的目錄項最終屬于哪一級由其上一個目錄項決定;對目錄項從頭到尾進行掃描,按照規(guī)則對這些目錄項進行分級。
【文檔編號】G06F17/30GK103778141SQ201210404052
【公開日】2014年5月7日 申請日期:2012年10月23日 優(yōu)先權(quán)日:2012年10月23日
【發(fā)明者】劉才華, 劉杰, 黃亞樓, 陳佳俊, 張嘯豐 申請人:南開大學