李 欣,李紹穩(wěn),許高建,林建彬
(安徽農(nóng)業(yè)大學(xué) 信息與計算機學(xué)院,安徽 合肥 230036)
中國是世界竹林大國,在竹亞科植物的分類及種質(zhì)資源保存上已經(jīng)取得了舉世矚目的成績?!吨袊参镏尽?、《中國竹類植物圖志》和各地地方植物志文獻的公開出版及《竹類研究會刊》等領(lǐng)域重點期刊集中報道了大量的竹類研究論文和著作,此外竹類植物相關(guān)的專業(yè)性網(wǎng)站也陸續(xù)上線,如中國竹網(wǎng)、中國竹子網(wǎng)等。這些文獻及電子資源都極大地豐富了竹類研究領(lǐng)域的信息交流。然而隨著數(shù)字化技術(shù)的發(fā)展,如何有效管理這些龐大的文獻資源,將竹類種質(zhì)資源的基礎(chǔ)信息完整、準(zhǔn)確、高效地保存下來,并實現(xiàn)在專業(yè)領(lǐng)域內(nèi)的共享、交流和利用,成為竹亞科研究領(lǐng)域急需解決的問題。數(shù)據(jù)庫是實現(xiàn)數(shù)據(jù)存儲和共享的有效方式,構(gòu)建竹類種質(zhì)資源基礎(chǔ)數(shù)據(jù)庫勢在必行。
目前竹類研究的文獻及電子信息資源大都是沒有結(jié)構(gòu)的文本文檔、半結(jié)構(gòu)化數(shù)據(jù)或Web數(shù)據(jù),而竹類植物的基礎(chǔ)數(shù)據(jù)庫字段設(shè)計復(fù)雜、屬性維度高、數(shù)據(jù)采集量大,純手工錄入效率低[1]。信息抽取(information extraction)技術(shù)致力于從自然語言文本中獲取結(jié)構(gòu)化信息,已經(jīng)成功地應(yīng)用于情報檢索、自動文摘、文本分類等多個領(lǐng)域。
信息抽取是指依據(jù)一定的規(guī)則實現(xiàn)從文本中抽取特定的內(nèi)容(如實體、關(guān)系和事例等)得到結(jié)構(gòu)化的數(shù)據(jù),將抽取結(jié)果存儲到數(shù)據(jù)庫中或結(jié)構(gòu)化文件中形成一個數(shù)據(jù)集,為后續(xù)的數(shù)據(jù)挖掘、信息檢索和知識發(fā)現(xiàn)服務(wù)提供數(shù)據(jù)支撐[2]。著名的信息抽取會議(message understanding conferences,MUC)對信息抽取進行了嚴格的定義,指出信息抽取就是從一堆數(shù)據(jù)中提取特定內(nèi)容填充給定的數(shù)據(jù)表結(jié)構(gòu)模版的屬性值[3]。一直以來,信息抽取技術(shù)就是文本挖掘和自然語言處理研究的熱點問題,并有效解決了從海量知識中快速提取關(guān)鍵信息,從自由文檔或半結(jié)構(gòu)化文檔中提取結(jié)構(gòu)化數(shù)據(jù)的問題[4]?;谝陨涎芯?,文中提出一種基于信息抽取技術(shù)的竹種數(shù)據(jù)結(jié)構(gòu)化方法,構(gòu)建正則抽取模型,實現(xiàn)竹種基礎(chǔ)數(shù)據(jù)庫的快速構(gòu)建。
信息抽取系統(tǒng)的任務(wù)是從指定文本中按照一定的規(guī)則提取特定的事實(命名實體、關(guān)系、屬性值等)填充到預(yù)定義的數(shù)據(jù)庫模板中[5]。抽取規(guī)則構(gòu)建即抽取模式的獲得,是構(gòu)建信息抽取系統(tǒng)最重要的一個環(huán)節(jié)。依據(jù)抽取模式獲取方法的不同,信息抽取方法可以分為兩類:基于機器學(xué)習(xí)的方法和基于規(guī)則的方法[6]。機器學(xué)習(xí)方法的一般思路是先利用訓(xùn)練數(shù)據(jù)構(gòu)建一個抽取模型,選擇一種機器學(xué)習(xí)算法作用于訓(xùn)練數(shù)據(jù)得到模型的參數(shù)并完善模型,再用這個構(gòu)建好的抽取模型實現(xiàn)對未標(biāo)注語料的抽取任務(wù);該方法的優(yōu)點在于自動學(xué)習(xí)規(guī)則,自動構(gòu)建模型,領(lǐng)域移植性強,缺點是需要大量的訓(xùn)練語料才能保證模型的準(zhǔn)確率[7]?;谝?guī)則的方法又叫基于知識工程的方法,其一般思路是先根據(jù)信息抽取對象的特定領(lǐng)域構(gòu)建規(guī)則集(最初通常是手工構(gòu)建),再根據(jù)抽取規(guī)則對目標(biāo)文檔執(zhí)行抽取操作;該方法的優(yōu)點是基于領(lǐng)域知識編寫規(guī)則,大幅提高了信息抽取的準(zhǔn)確率,缺點就在于對領(lǐng)域知識的依賴性強,且手工構(gòu)建規(guī)則成為該方法的技術(shù)瓶頸[8-9]。其后,越來越多的學(xué)者將兩者相結(jié)合,采用機器學(xué)習(xí)算法進行知識的自動學(xué)習(xí)和處理,手工編寫規(guī)則與基于語料庫自動學(xué)習(xí)規(guī)則相結(jié)合,再根據(jù)抽取結(jié)果輔以手動修正規(guī)則[10]。
文中研究的竹類種質(zhì)資源屬于特定學(xué)科領(lǐng)域,數(shù)據(jù)集小,更宜采用基于規(guī)則的信息抽取方法。研究根據(jù)竹類植物數(shù)據(jù)的特點,將正則表達式用于信息抽取系統(tǒng)中的模式匹配和規(guī)則構(gòu)建,提出一種正則抽取模型,以確保抽取結(jié)果的準(zhǔn)確率。
正則表達式(regular expression,RE)是用于描述字符匹配規(guī)則的一種工具,或者說是一種記錄文本規(guī)則的代碼,功能在于可以用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串[11]。正則表達式是軟件開發(fā)中處理字符串的利器。簡單的說,正則表達式在字符串處理中有三大作用:一是匹配作用,檢測預(yù)定的字符串和正則表達式的過濾邏輯是否匹配,如數(shù)據(jù)包檢測過濾、賬號密碼驗證、郵箱地址驗證等;二是查找作用,在能正確匹配的基礎(chǔ)上,將所需要的字符查找出來,如信息抽取、自動文摘等;三是替換作用,在正確查找的基礎(chǔ)上,將查找結(jié)果進行替換[12]。正則表達式已經(jīng)廣泛應(yīng)用于信息抽取和信息檢索領(lǐng)域[13-14]。
正則表達式的構(gòu)建:一個正則表達式是由一些基本字符(元字符、限定符及特殊字符等)組合成的文字模式,描述了待搜索字符串的匹配模式[12]。元字符用來規(guī)定其前導(dǎo)字符在目標(biāo)對象中的出現(xiàn)模式,限定字符是指定數(shù)量的代碼,常見的元字符和限定字符如表1所示[12]。在構(gòu)建正則表達式時,只需將希望查找匹配對象的模式內(nèi)容放進定界符“/”中間,如匹配HTML標(biāo)記的正則表達式:/<(.*)>.*|<(.*) />/。
表1 正則表達式中常用元字符和限定符
為了說明正則表達式的用法,下面給出一個正則表達式的例子(Linux的防火墻體系下用于檢測網(wǎng)絡(luò)協(xié)議的正則表達式):
^(get[x09-x0d-~]*Accpet:application/x-rtsp-tunnelled|http/(0.9|1.0|1.1)[1-5][0-9][0-9][x09-x0d-~]*a=control:rstp://)
其中的主要正則語句描述如下:
^(get…|http…) 匹配以get…或http…為開頭的字符串[x09-x0d-~]匹配任意個可打印的字符,范圍從x09到x0d及從空格到~http/(0.9|1.0|1.1)匹配http/0.9或http/1.0或http/1.1[1-5][0-9][0-9]匹配一個三位數(shù),范圍從100到599
(1)抽取模式。
竹種基礎(chǔ)數(shù)據(jù)庫的表結(jié)構(gòu)即竹種信息抽取系統(tǒng)的抽取模板,根據(jù)竹種外在形態(tài)結(jié)合生殖器官和營養(yǎng)器官,從地下莖、竹竿、竹籜、竹葉、花果形態(tài)五個維度共設(shè)計字段57個,下面給出部分字段設(shè)計,見表2。以數(shù)據(jù)表的屬性名稱為規(guī)則觸發(fā)詞,構(gòu)建完整的觸發(fā)詞集。
表2 竹種基礎(chǔ)數(shù)據(jù)庫屬性(部分)
(2)抽取規(guī)則構(gòu)造。
對竹種信息的抽取分為兩部分:網(wǎng)頁解析和字段抽取。
網(wǎng)頁解析是為了實現(xiàn)對網(wǎng)頁中文本信息的抓取,通過定位詞找到關(guān)鍵信息,通過構(gòu)造正則表達式,過濾標(biāo)簽提取純文本信息,網(wǎng)頁解析的正則表達式構(gòu)造如:“
字段抽取是從純文本描述中,依據(jù)正則表達式的模糊匹配功能找到字段的屬性值,填入對應(yīng)的數(shù)據(jù)庫模板中。對字段抽取的規(guī)則構(gòu)造加以舉例說明,如表3所示。
(3)正則抽取系統(tǒng)的設(shè)計與實現(xiàn)。
文中提出基于正則表達式的竹種信息抽取模型,采用Java語言編程開發(fā)竹種信息抽取系統(tǒng),主要包括數(shù)據(jù)采集與預(yù)處理模塊、抽取模式生成模塊和信息抽取執(zhí)行模塊。系統(tǒng)中采用的分詞工具為中科院的ICTCLAS分詞系統(tǒng)2014,該工具能對漢語文本進行切分并標(biāo)注詞性。系統(tǒng)結(jié)構(gòu)如圖1所示。
表3 字段抽取示例
圖1 竹種信息抽取系統(tǒng)結(jié)構(gòu)
常用的信息抽取模型的評價指標(biāo)有準(zhǔn)確率(Pr)、召回率(Re)和F-測度(F-Measure),計算公式分別見式1~3[15]。準(zhǔn)確率顯示了模型的正確率,召回率顯示了模型的性能,F(xiàn)-測度是準(zhǔn)確率和召回率的綜合性能評價方法。
(1)
(2)
(3)
F-測度當(dāng)β取1時,就是F1-測度。文中采用上述的Pr、Re和F-測度作為對正則抽取模型及竹種信息抽取系統(tǒng)的性能評測指標(biāo)。測試的目標(biāo)是希望得到最大的F值。
文中采取網(wǎng)絡(luò)爬蟲技術(shù)實現(xiàn)目標(biāo)源數(shù)據(jù)的網(wǎng)頁采集工作。以竹種信息采集為例,具體做法是用爬蟲算法進行竹子信息網(wǎng)頁的自動采集和下載,通過預(yù)處理簡化源HTML文檔,只留下與抽取模式匹配的HTML代碼,再去除HTML標(biāo)簽讀取文本信息,將文本信息存儲為待抽取文檔。
以中國植物志在線版為抽取對象,進行抽取實驗。從網(wǎng)頁上截取一小段竹種描述信息:“地下莖為單軸或復(fù)軸型。稈散生,直立;節(jié)間在有分枝一側(cè)的基部乃至中、上部扁平或具縱溝槽?!睂φZ料進行如下分析:
特點1:句子與句子之間的區(qū)分界限很明顯,即對竹子的不同部位的描述在不同的句子里。
特點2:每個句子的第一個詞是句子的關(guān)鍵詞,如前述語料的的關(guān)鍵詞分別是地下莖、竿、節(jié)間。
特點3:在句子內(nèi)部,屬性與屬性之間的分隔界限也很明顯,如“竿散生,直立”。
特點4:待抽取屬性名稱,如地下莖類型、竿高度、節(jié)間長度,這三個短語的關(guān)鍵詞也是地下莖、竿、節(jié)間。
根據(jù)以上分析,在進行抽取時第一步將文本信息以“;”或者“。”切分成句子集,然后根據(jù)觸發(fā)詞定位到關(guān)鍵句,再對單個句子進行分析;第二步將單個句子用“,”切分成短語集,利用抽取規(guī)則對短語集進行遍歷匹配,進而抽取出對應(yīng)的屬性值。由此得出抽取算法的一般過程為:
輸入:一段自由文本
輸出:字段的屬性值
(1)以“;”或“?!睂⑽谋厩蟹殖删渥蛹?;
(2)取出屬性名稱與上述句子集的每個句子的關(guān)鍵詞進行比對;
(3)通過步驟2的比較定位到關(guān)鍵句;
(4)定位到關(guān)鍵句后,對該關(guān)鍵句用“,”切分成短語集;
(5)取出屬性的抽取規(guī)則的正則表達式與步驟4中的短語集進行遍歷匹配;
(6)如果匹配成功,則抽取出屬性值的信息,并返回;
(7)如果匹配失敗,賦空值,并返回。
抽取執(zhí)行過程及結(jié)果如圖2所示。
圖2 竹種信息抽取過程
對竹種數(shù)據(jù)庫中數(shù)據(jù)表的前八個字段的抽取結(jié)果進行統(tǒng)計分析,選取簕竹屬、牡竹屬、剛竹屬和玉山竹屬下46個竹種作為樣本點,統(tǒng)計Pr、Re和F-Measure,如表4所示。
表4 竹種抽取系統(tǒng)實驗結(jié)果
對取樣結(jié)果進行分析表明,提出的正則抽取模型準(zhǔn)確率較高,能夠有效地從竹類植物電子文獻或Web網(wǎng)頁上自動采集抽取到相應(yīng)的竹種信息。研究開發(fā)的竹種信息抽取系統(tǒng)是可行有效的。
基于正則表達式能快速匹配文本和基于規(guī)則的抽取準(zhǔn)確率較高的優(yōu)勢,提出了基于正則抽取模型的竹種數(shù)據(jù)結(jié)構(gòu)化方法。該方法以竹種數(shù)據(jù)庫屬性為抽取模式,利用正則表達式構(gòu)建抽取規(guī)則,設(shè)計實現(xiàn)了竹種信息抽取系統(tǒng),以中國植物志在線版為抽取對象,實例驗證了系統(tǒng)的抽取準(zhǔn)確率。而抽取規(guī)則的構(gòu)建需要竹亞科領(lǐng)域?qū)<业膮⑴c,領(lǐng)域依賴性較高,這導(dǎo)致系統(tǒng)不具備很好的移植性。下一步的研究中將考慮借助本體的知識工程方法來提高信息抽取模型的精確匹配,利用竹亞科本體中包含的領(lǐng)域知識及語義信息來指導(dǎo)信息抽取的整個過程。
參考文獻:
[1] 邢新婷.竹類種質(zhì)資源的收集、保存及其數(shù)據(jù)庫構(gòu)建[D].北京:中國林業(yè)科學(xué)研究院,2006.
[2] NéDELLEC C, NAZARENKO A,BOSSY R.Information extraction[M]//Verification plans.USA:Springer,2002:737.
[3] SODERLAND S. Learning information extraction rules for semi-structured and free text[J].Machine Learning,1999,34(1):233-272.
[4] SEKI K,MOSTAFA J.A hybrid approach to protein name identification in biomedical texts[J].Information Processing & Management,2005,41(4):723-743.
[5] 張素香.信息抽取中關(guān)鍵技術(shù)的研究[D].北京:北京郵電大學(xué),2007.
[6] 李保利,陳玉忠,俞士汶.信息抽取研究綜述[J].計算機工程與應(yīng)用,2003,39(10):1-5.
[7] 金 莉.基于機器學(xué)習(xí)的Web信息提取技術(shù)的研究[D].武漢:華中科技大學(xué),2003.
[8] 石 倩,陳 榮,魯明羽.基于規(guī)則歸納的信息抽取系統(tǒng)實現(xiàn)[J].計算機工程與應(yīng)用,2008,44(21):166-170.
[9] KLUEGL P,TOEPFER M,BECK P D,et al.UIMA Ruta:rapid development of rule-based information extraction applications[J].Natural Language Engineering,2016,22(1):1-40.
[10] 胡軍偉,秦奕青,張 偉.正則表達式在Web信息抽取中的應(yīng)用[J].北京信息科技大學(xué)學(xué)報:自然科學(xué)版,2011,26(6):86-89.
[11] 楊 楨,趙燕平,朱東華.基于正則表達式的信息抽取系統(tǒng)在國防技術(shù)監(jiān)測中的應(yīng)用[J].北京理工大學(xué)學(xué)報,2006,26:74-78.
[12] 弗里德爾.精通正則表達式[M].北京:電子工業(yè)出版社,2012.
[13] 向菁菁,耿光剛,李曉東.一種新聞網(wǎng)頁關(guān)鍵信息的提取算法[J].計算機應(yīng)用,2016,36(8):2082-2086.
[14] 朱文琰,鄭肖雄.基于正則表達式構(gòu)建學(xué)習(xí)的網(wǎng)頁信息抽取方法[J].計算機應(yīng)用與軟件,2017,34(2):14-19.
[15] 趙 軍,劉 康,周光有,等.開放式文本信息抽取[J].中文信息學(xué)報,2011,25(6):98-110.