崔文浩 張偉 張利國
(沈陽化工大學圖書館,遼寧沈陽110142)
科技文獻中表格信息的存儲及檢索方法研究
崔文浩張偉張利國
(沈陽化工大學圖書館,遼寧沈陽110142)
當前文獻數(shù)據(jù)庫檢索系統(tǒng)缺乏成熟的表格檢索功能,針對這一現(xiàn)狀提出一種多特征域檢索、以子表形式精確返回單元格數(shù)據(jù)的表格檢索方法。分析了科技文獻表格的特征,從表格抽取、標準化處理、表格對象封裝存儲、檢索及結果集排序算法等方面進行探討。實驗結果證明該方法復雜度不高,檢索效果較好。
表格檢索表格存儲表格標準化科技文獻
科技文獻經(jīng)常使用表格來描述結構化信息。表格能夠簡潔、集中地展現(xiàn)科學內(nèi)容的邏輯性和對比性,是實驗數(shù)據(jù)、統(tǒng)計結果及事物分類的一種有效表示方法。數(shù)字圖書館的重要優(yōu)勢之一在于檢索便捷,但至今尚未出現(xiàn)成熟的表格檢索系統(tǒng),為獲取表格數(shù)據(jù),只能先檢索相關文獻,再閱讀全文查找表格信息,這種檢索方式效率低且無法保證查全率。
近年國內(nèi)外對表格檢索的研究主要包括:應用機器學習、自然語言處理等方法實現(xiàn)表格自動抽取[1-3];將單元格內(nèi)容散列存入數(shù)據(jù)庫,利用數(shù)據(jù)挖掘技術獲取表格信息[4];將向量空間模型引入表格檢索體系,形成嚴謹?shù)南嚓P度計算算法[5]。現(xiàn)有研究雖取得一些進展,但離實際應用仍有差距。表格自動抽取的研究多針對HTML格式文檔,其他格式則效果不夠理想[3],基本表與復雜表存儲形式的非統(tǒng)一性不利檢索[4],特征詞標引及相關度計算過程復雜,對于經(jīng)常更新的文獻集缺乏實時性[5]。筆者在現(xiàn)有研究的基礎上,提出將表格進行標準化處理,使用矩陣結構將其封裝為獨立對象存儲,并對科技文獻表格進行統(tǒng)計分析,根據(jù)其特點提出簡化的相關度排序算法,實現(xiàn)了表格多維檢索、返回重構子表功能。該方法復雜度不高,卻能實現(xiàn)對科技文獻中表格內(nèi)部屬性的檢索,對數(shù)字圖書館的建設具有實際意義。
2.1科技文獻的表格抽取方法
表格通過布局、文字兩個要素描述數(shù)據(jù),對元數(shù)據(jù)的提取、表內(nèi)數(shù)據(jù)存儲與檢索,都需要將表格布局一并考慮。目前科技期刊多要求論文使用三線表[6],但早期文獻中的表格版式更為靈活,這為建立統(tǒng)一的表格抽取算法帶來困難。Word、HTML及PDF是常用的數(shù)字文獻格式。Word格式論文中的表格易于計算機程序讀取,此格式中有些三線表是隱藏豎線的多單元格表,有些是用繪圖工具繪制的橫線與成列文字組合而成的表格,這兩種形式都能夠較為準確地由程序讀取[7-8],存在的問題是圖書館在自建機構館藏庫時難以獲得原版Word格式論文。英文數(shù)據(jù)庫通常提供Full Text HTML格式的論文,由于HTML使用固定的標記來描述,其中的表格信息也能夠較精確地識別,且相關研究資料豐富[9-10]。對于科技論文最常用的PDF格式,由于對其解析相對困難,因此目前的方法是使用第三方軟件將其轉(zhuǎn)換為前兩種格式再進行表格抽取,OCR技術難以做到極其精確,轉(zhuǎn)換后仍需手動校驗[4]。
2.2表格特征域提取及功能分析
表格標題、表頭、文獻標題是表格3個重要的特征域。在科技文獻中,表格標題一般位于主體前端,起到對表格內(nèi)容的說明作用,其形式通常為“‘表N’+空格+標題”。表格的主體部分由屬性單元格和值單元格組成。屬性單元格的集合即表頭,由行名及列名構成,對表格內(nèi)容描述起到?jīng)Q定性作用。文獻標題是對整篇文獻內(nèi)容最精練的概括,表格作為文獻整體的一部分也在其涵蓋的范圍內(nèi),因此文檔標題能夠輔助判斷表格與檢索預期的符合度。相關研究顯示,上述3個特征域的疊加基本可以描述表格的主題[5]。此外有些表格還含有注腳、參考文獻,對表格中某些內(nèi)容做進一步闡述或加以解釋說明,但他們對描述表格主題內(nèi)容所起的作用很小,且在大部分科技文獻中都不出現(xiàn),因此筆者將其忽略。表格抽取包含對特征域提取,科技文獻表格標題比較規(guī)范,易于程序提取,在轉(zhuǎn)換生成的Word文檔中,表格標題是程序發(fā)現(xiàn)表格的重要依據(jù)。表頭含在表格的主體中,筆者提取表格后對主體進行標準化處理,提取的表頭信息是標準化后的內(nèi)容。
表格信息提取后有兩種數(shù)據(jù)處理模式,分別是動態(tài)生成臨時文件模式與數(shù)據(jù)庫持久化保存模式[2,4]。數(shù)字文獻中的表格檢索不同于對互聯(lián)網(wǎng)頁面中表格信息的挖掘,除部分OA資源外正規(guī)科技文獻均由機構或出版集團掌握,數(shù)據(jù)增長速度有限且內(nèi)容格式規(guī)范,將表格對象獨立存儲比動態(tài)挖掘效果好。筆者改進文獻[4]提出的方法,將表格主體統(tǒng)一格式整體存儲,從而減小存儲算法的空間復雜度,易于后期檢索、維護。
3.1表格按布局分型及標準表結構定義
科技文獻表格按照屬性單元格出現(xiàn)的位置可歸為3種基本類型:
①行表頭表格:總行數(shù)為p,前m行為屬性單元格,其余為值單元格,其中1≤m
②列表頭表格:總列數(shù)為q,前n列都為屬性單元格,其余為值單元格,其中1≤n ③行列表頭表格:對于p行q列的表格,前m行和前n列為屬性單元格,表格中的所有其余單元格存放屬性值,其中1≤m 上述3種基本類型表格的特征是值單元格位于行、列表頭的下方、右側(cè),若屬性與值間隔出現(xiàn)則視為復合表格。在不改變表格內(nèi)容前提下,基本類型表格經(jīng)過標準化轉(zhuǎn)化后可用矩陣描述[6],筆者將這種在格式上與矩陣對應的表格稱為標準格式表格,具體定義為: ①屬性單元格僅出現(xiàn)在首行(m=1,n≠1)、首列(m≠1,n= 1)、首行列(m=1,n=1),屬性值可以重復出現(xiàn),但除首行第一個單元格外每個屬性單元格不允許為空。 ②值單元格的行數(shù)為p-1,列數(shù)為q-1,若不為空則值與單元格必須呈一對一關系。 文獻中有時還會出現(xiàn)描述性的無表頭表格,但在科技類文獻中極少見,且無表頭表格對標準化存儲并無影響,在此不作討論。 3.2表格標準形式轉(zhuǎn)換方法 公共屬性、公共值的使用讓表格版式更簡潔,雖有利于讀者閱讀,但給計算機處理數(shù)據(jù)帶來困難。為了使檢索程序能夠支持對表格內(nèi)部屬性的查詢,需要預先對表頭及值單元格做標準化轉(zhuǎn)換,以對1 ①公共屬性展開。某列屬性若其覆蓋的下一行屬性單元格數(shù)大于1,則按其覆蓋的列數(shù)生成新的屬性單元格,并用相同屬性值填充新生成的單元,使相鄰兩行的列數(shù)相等。 ②列屬性合并。使用“-”將同列屬性由上至下連接,使相鄰行的列屬性合并為一行。 ③重復①②直至列屬性整體位于首行,若首行一個單元格為空則賦值為Null。 對列表頭的轉(zhuǎn)換與之類似,為公共屬性按行展開,然后進行多列屬性按行連接。對值單元格標準化轉(zhuǎn)換只需展開而不需要連接。表2是對表1標準形式轉(zhuǎn)換后的效果。 表1 Population Statistics 表2 標準形式的Population Statistics 3.3特征域信息及標準形式表格對象的存儲 特征域信息可直接存儲,表格主體需要做封裝處理。標準化后的表格與矩陣Am×n對應,列表頭為第1行的n個單元,行表頭為第1列的m個單元,表格的數(shù)據(jù)部分由(m-1)×(n-1)個值單元格的組合,在高級程序語言中,此矩陣可用二維數(shù)組封裝,并序列化處理為一個獨立的字符串存入數(shù)據(jù)庫。檢索時將此字符串取出并重構為與A對應的二維數(shù)組,或根據(jù)需要提取A的某些行列重構為原表格的子集。以表2為例,數(shù)據(jù)庫存儲步驟如下: ①定義數(shù)據(jù)庫表結構:a.表格標題表(表格ID,表格標題),存儲表格標題特征域內(nèi)容;b.表格-文檔表(表格ID,文檔ID,文檔標題),存儲文檔標題特征域內(nèi)容;c.表格屬性表(表格ID,表格表頭),表頭為標準化處理后的內(nèi)容;d.表格對象表(表格ID,標準形式表格對象),“標準形式表格對象”字段為變長字符串類型。 ②提取表頭信息,分別加列、行前綴“col-”“row-”區(qū)別屬性位置。即a12=col-Average-Height,a21=row-Males。此例中a11=Null。 ③屬性單元a1j(j=2,3,4)與ai1(i=2,3)對應內(nèi)容存入“表格屬性表”。 ④表格標題特征域內(nèi)容“Population Statistics”存入“表格標題表”。 ⑤通過以上步驟將表2特征域信息存儲后,將表2整體賦值給二維數(shù)組,序列化處理后將生成的字符串存入表格對象表的“標準形式表格對象”字段。 3.4表格信息檢索算法 3.4.1表格檢索相關度計算 相關度計算是結果集排序的重要依據(jù),在全文搜索系統(tǒng)中,向量空間模型應用最廣泛,文獻[5]將向量空間模型引入表格檢索的相關度計算中,此模型需要計算表格對象集內(nèi)每個詞的特征值,其值為單詞級權值、表格級權值及特征域權值三者之積,再計算表格特征向量與查詢特征向量夾角余弦值,此方法排序效果雖好,但計算量大且缺乏實時性??萍嘉墨I中的表格與純文本區(qū)別較大,表格標題、屬性所使用的詞語簡明、重復率低,因此單詞級與表格級權值意義小,筆者僅取特征域權值,將該值與檢索詞出現(xiàn)在此特征域中的頻率作為依據(jù)。 在文獻檢索中,出現(xiàn)在題名中的文獻具有更高的相關度,同理在表格檢索中,出現(xiàn)在不同特征域的文字對描述表格的主題具有不同的貢獻。在實驗部分對實際科技期刊中的文獻表格觀察,發(fā)現(xiàn)參考文獻、注腳兩個特征域出現(xiàn)的概率近似為零,因此對文獻[5]所做研究取得的特征域權值稍作調(diào)整,設檢索詞依次出現(xiàn)在表格標題、表格列名、文檔標題獲得的權值為Qj,(j=1,2,3),則: 用戶輸入的先拆分為詞項,設全部詞項為termi,i=1,2,…k.設Fij為termi在第j個特征域中出現(xiàn)的頻率,則表格相關度的值由如下公式計算: 3.4.2表格信息檢算法的主要步驟 ①取得用戶輸入的并進行詞項拆分,每個詞項搜索“表格屬性表”,若結果不為空,則生成結果集R1。結果集R1的每條記錄包含表格ID、命中的表格屬性值等。 ②查詢“表格標題表”及“表格-文檔表”,匹配表格標題及文檔標題字段內(nèi)容,若搜索結果不為空,則生成結果集R2,此結果集中的記錄不包含表格屬性值項。 ③按照公式(1)對結果集R1、R2進行相關度計算,合并排序生成結果集R3。 ④遍歷結果集R3,對于表格屬性值為空的記錄,按照表格ID從“表格對象表”中提取出序列化字符串的表格對象,整體重構為表格。 ⑤對表格屬性值不為空的記錄提取行、列屬性對應列。規(guī)則如下:對于與矩陣Am×n相對應的表格,p和q分別對應命中的行、列屬性個數(shù),則①若p≠0,q=0則返回子表格對應矩陣A′為p行×n列,即返回命中的p行;②若p=0,q≠0則返回子表格對應矩陣A′為m行×q列,即返回命中的q列;③若p≠0且q≠0則返回子表格對應矩陣A′為p行×q列。 ⑥結果集R3經(jīng)過④⑤將重構后,按原排序生成文檔返回。 以表1為例,當布爾查詢?yōu)椤癕ales”and“Weight”時,返回子表格的形式如表3;當布爾查詢?yōu)椤癙opulation Statistics”and“Males”時,返回子表格的形式如表4。 表3 查詢“Males”and“Weight” 表4 查詢“Population Statistics”and“Males” 沈陽化工大學教師科研成果數(shù)據(jù)庫是自建機構館藏庫,從中隨機選取本校教師2014年在科技核心期刊上發(fā)表的100篇論文作為文獻集樣本,學科領域包括化工、材料、機械等。對樣本進行統(tǒng)計分析,得此樣本集中含有表格的論文共72篇,表格176個,從表5中的統(tǒng)計數(shù)據(jù)可知,科技類核心期刊中的表格多為三線表,且屬于筆者定義的基本表類型的表格占絕對比重,復合表僅兩個,筆者在不改變原意的前提下,手動改變布局轉(zhuǎn)換為基本表格。 表5 表格統(tǒng)計信息 圖1 表格提取、轉(zhuǎn)換與存儲流程 使用ASP.net及C#實現(xiàn)前述算法,構建表格檢索平臺。由于樣本均為PDF格式文檔,因此采用自動與手動結合的方式提取表格。首先調(diào)用Solid PDF Converter V7轉(zhuǎn)換文檔格式,實驗發(fā)現(xiàn)轉(zhuǎn)換工具處理三線表缺乏穩(wěn)定性,如轉(zhuǎn)成HTML格式,則三線表的邊線常被忽略,表內(nèi)文字雖能保持原來的對齊方式,但生成的源碼缺乏必要的HTML標記,為自動提取帶來不便;如轉(zhuǎn)換為Word格式,則表格邊線會被保留,但多以圖形的方式存在,實驗中將文獻統(tǒng)一轉(zhuǎn)換為Word格式。轉(zhuǎn)換后讀取生成的文檔,查找“‘表N’+空格+標題”形式字符串提取表格信息,遇首次提取失敗的情況則手動選擇表格區(qū)域進行二次提取。使用3.3節(jié)方法存儲176個標準化表格對象,與圖像格式相比,字符串序列占用存儲空間小,且得到更好的封裝效果。與文獻[4]的存儲方法相比,表格存儲在數(shù)據(jù)庫中的格式更加統(tǒng)一,均能夠以子表格返回。為驗證筆者所提出的表格提取、存儲及檢索方法,在系統(tǒng)構建后,從樣本中隨機選取表格特征詞作為關鍵詞進行考察,3詞為1組,共10組,通過人工比對作評價。得出查全率100%,查準率92%,子表格重構顯示準確率達到90%。簡化的相關度計算方法降低了檢索算法時間復雜度,且檢索結果按相關度排序準確性較好,誤差在可接受范圍內(nèi)。 筆者分析了表格檢索領域現(xiàn)有研究方法以及科技文獻中表格對象的特征,指出現(xiàn)有方法應用于科技文獻表格檢索存在的問題,提出標準化轉(zhuǎn)換、封裝后存儲及重構顯示的方法,實驗證明在科技文獻表格檢索中能夠取得較好的效果。未來的研究重點將集中在以下兩方面: ①本方法在表格提取環(huán)節(jié)需要調(diào)用第三方軟件轉(zhuǎn)換格式,這種轉(zhuǎn)換是整篇文檔轉(zhuǎn)換,缺乏針對性且準確率不高。對于早期文獻中某些結構較為特殊的表格,計算機程序識別及規(guī)范化處理均較為困難,因此自動化提取工作依然是未來研究的重點。 ②目前表格3個主要特征域在數(shù)據(jù)庫中都是整體存儲的,這樣更易于程序?qū)崿F(xiàn),但影響了檢索速度,拆分后的詞項獨立存儲會帶來更好的檢索效率,這需要做進一步探索。 [1]P.Yu.Kudinov.Extracting statistics indicators from tables of basic structure[J].Pattern Recognition and Image Analysis,2011(4):630-636. [2]Xing Wei,Bruce Croft,Andrew McCallum.Table extraction for answer retrieval[J].In formation Retrieval.2006(9):589-611. [3]Ana Costa e Silva,Alípio M.Jorge and Luís Torgo.Design ofanend-to-endmethodtoextractinformationfromtables[J]. International Journal on Document Analysis and Recogni?tion,2006(2):144-171. [4]劉葳,孫一鳴.信息檢索中關于表格信息挖掘技術研究[J].情報科學,2014(11):92-95. [5]王凱,王朝飛.一種基于向量空間模型的表格檢索算法[J].現(xiàn)代圖書情報技術,2010(9):41-45. [6]王耘,馮金東,劉飚.科技論文中表格數(shù)據(jù)處理的矩陣轉(zhuǎn)置法[J].編輯學報,2014(3):246-247. [7]王立濤.使用VB編程讀取WORD表格中數(shù)據(jù)一例[J].電腦知識與技術,2010(22):6255-6260. [8]孫明珠,蓋強,吉紅安.基于廣源報表的Word表格數(shù)據(jù)自動獲取方法[J].測控技術,2011(12):75-78. [9]趙洪,等,師慶輝.Web表格信息抽取研究綜述[J].現(xiàn)代圖書情報技術,2008(3):24-31. [10]車成逸,馬宗民,焦曉龍.Web表格中本體實例自動獲取方法[J].東北大學學報:自然科學版,2012(3):92-95. 崔文浩男,1981年生。碩士,工程師。研究方向:數(shù)字圖書館。 張偉男,1980年生。碩士,工程師。研究方向:網(wǎng)絡安全。 張利國男,1976年生,館員。研究方向:信息檢索。 TP391 (2015-08-03;責編:王天泥。)4 實驗結果及分析
5 結語