鄭軼?k



摘要:近年來,信息抽取成為自然語言處理的一個熱點,同時也是難點。針對不同的問題,大家提出了不同的方法,而大多數(shù)的方法是基于啟發(fā)式規(guī)則或者抽象成分類問題,本文將從人物百科中抽取人物信息看成是一個序列標(biāo)注的問題,利用條件隨機場對生語料進行序列標(biāo)注。此外,文中詳細介紹數(shù)據(jù)分析的方法以及特征選取方法,所提出的方法直接從生語料中抽取,節(jié)省了大部分方法的數(shù)據(jù)預(yù)處理部分,同時避開了大部分方法使用的句法分析的特征,有效地提高了信息抽取的效率。在文章的最后做了兩組對比實驗,實驗結(jié)果表明,本方法能夠非常準(zhǔn)確地從HTML生語料中抽取出人物信息。
關(guān)鍵詞:CRFs;人物;人物信息;信息抽取
中圖分類號:TP391.1文獻標(biāo)識碼:A
1引言
隨著互聯(lián)網(wǎng)的不斷發(fā)展,每天網(wǎng)絡(luò)中產(chǎn)生的信息越來越多,各種信息也呈爆炸式增長。而如何有效的從網(wǎng)絡(luò)中抽取出我們感興趣的信息,則顯得非常重要了。
傳統(tǒng)的信息抽取方法一般來說分為兩類:基于無監(jiān)督的啟發(fā)式規(guī)則進行抽取,和基于機器學(xué)習(xí)方法進行有監(jiān)督的信息抽取。其過程一般是定義一個清晰的信息抽取需求,然后分析所要處理語料的數(shù)據(jù)格式,再選擇合適的方法進行信息抽取。
為了從大規(guī)模的信息中抽取出所需要的信息,以及促進信息抽取的發(fā)展,美國華盛頓大學(xué)圖靈中心(University of Washington Turing Center)提出開放信息抽取(Open Information Extraction),這一理念也被稱為“新型抽取范式”的一種知識抽取方法[1]。
信息抽取系統(tǒng)的發(fā)展主要經(jīng)歷了幾個階段,每一個階段都有其典型的系統(tǒng),例如TEXTRUNNER系統(tǒng)[2]、REVERB系統(tǒng)[3]、R2A2系統(tǒng)[5]等。其中TEXTRUNNER系統(tǒng)是最早的開放信息抽取系統(tǒng),主要通過自監(jiān)督的學(xué)習(xí)器、信息抽取器和基于重復(fù)信息的評價器三個部分來進行信息抽取,其相比之前出現(xiàn)的KNOWITALL系統(tǒng),錯誤率降低了30%[4]。但是EXTRUNNER有其自身的問題,首先是其抽取出的信息有些是無意義的,第二由于其light verb construction的現(xiàn)象導(dǎo)致丟失了關(guān)鍵信息。在此基礎(chǔ)上出現(xiàn)了REVERB系統(tǒng),它的主要原理是以動詞作為句子的核心抽取標(biāo)記,增加語法限制和詞匯限制,通過一定量的訓(xùn)練語料發(fā)現(xiàn)信息抽取模式并進行泛化[5],其抽取效果較好,但是明顯的缺點是重動詞輕其他詞性,如以名詞作為中心詞的關(guān)系就抽取不出,而名詞作為中心詞在語言現(xiàn)象中出現(xiàn)的情況也屬常見,同時其論元的確定有寫也是錯誤的。這兩類信息抽取方法都是依據(jù)簡單的啟發(fā)式規(guī)則或簡單論元進行,不能適合大部分的復(fù)雜的語言語境,而后面出現(xiàn)的R2A2增加了論元識別器,即ARGLEARNER,目的是識別每一個Arg1和Arg2的左右邊界,原理是采用REPTree和條件隨機場以及正則表達式等技術(shù)進行語法監(jiān)測,其準(zhǔn)確率和召回率較前面的系統(tǒng)都有顯著的提升。
信息抽取的很重要的過程是分析數(shù)據(jù)文本,對指定信息進行定義,并發(fā)現(xiàn)其特征。本文借鑒了前面采用的信息抽取技術(shù),并針對本文應(yīng)用的百科數(shù)據(jù)進行分析,重點在于信息定義以及分析數(shù)據(jù)中信息特征,進行信息識別及抽取的過程,提出了基于條件隨機場的信息抽取方法。
3基于條件隨機場的人物信息抽取
本文的主要內(nèi)容是做網(wǎng)頁信息的序列標(biāo)注,所以這里本文采用CRF++開源工具包作為本文的分類器。CRF++工具包提供了兩類特征接口,一類是Unigram特征,一類是Bigram特征,其不同點在于生成特征時,包不包含前面一個輸出,顧名思義,Bigram是包含的,因此其能產(chǎn)生較多的特征,但同時效率也較低。
3.1數(shù)據(jù)分析
本文采用的數(shù)據(jù)語料是從網(wǎng)絡(luò)中爬取的歷史人物百科信息。該語料的特點是數(shù)據(jù)完全是原始的HTML數(shù)據(jù),也正是因為如此,數(shù)據(jù)中包含了大量的HTML標(biāo)簽和大量的對識別無意義的標(biāo)識符。因此如何從生語料中分析出有價值信息就顯得格外重要。
經(jīng)過仔細分析數(shù)據(jù)特點,我們發(fā)現(xiàn)對于人物百科HTML源碼,人物簡介部分,和人物介紹部分的HTML標(biāo)簽并不固定,是會變化的。而且部分內(nèi)容會以圖片連接的形式加入到HTML中,所以對于這些特殊情況,我們要對數(shù)據(jù)進行預(yù)處理。
3.2序列標(biāo)注
從網(wǎng)頁源代碼中抽取人物信息的過程可以看成是序列標(biāo)注的過程,即識別出HTML源中哪些部分是我們需要的語句塊,對于語句塊的序列標(biāo)注具有多種表示方法,較常見的是IOB表示法和start/end表示法[7]。
IBO表示方法又可以分為IOB1,IOB2,IOE1和IOE2等四種。IOB1最早在[8]中提出,后來[9]在IOB1上進行改進,提出了其他幾種方法。但是其本質(zhì)是相同的。表示如下:
B代表當(dāng)前元素是一個組塊的開始。
I 代表當(dāng)前元素是一個組塊的內(nèi)部元素。
E代表當(dāng)前元素是一個組塊的結(jié)束。
O代表當(dāng)前元素不在任何一個組塊當(dāng)中。
start/end是另外一種表示方法,最早由[10]中提出。其表達內(nèi)容相比于IOB更加細致,共有I,O,E,B,S五種符號。其中BIEO表達的意思和上面一樣,而S代表當(dāng)前元素獨立成一個組塊。
本文采用start/end表示方法,將我們所需要標(biāo)注的訓(xùn)練語料和測試語料都用BIEOS的方式標(biāo)注。
3.3特征選擇
與以往進行序列標(biāo)注的任務(wù)不同,我們的數(shù)據(jù)對象是HTML生文本,因此不需要進行Parser等工作,如此對于特征選取的效率會有一定的提高,但是同時也提高了分析數(shù)據(jù)特征的困難程度。對傳統(tǒng)的文本進行特征提取方式會提取句法結(jié)構(gòu)、詞性等自然語言元素,對于本課題的任務(wù),由于采用CRF++工具包作為分類器,本文采取以下特征模板:
Unigram:
1)div中每一個標(biāo)簽中間的句的句原型。因為標(biāo)簽中句原型是該部分的最直接、最明顯的信息特征,因此這是第一個最重要的特征。
2)中句原型所對應(yīng)的HTML標(biāo)簽,沒有則為NULL。即該句原型是被什么HTML標(biāo)簽所包含,不同的HTML標(biāo)簽表達的信息不同,因此HTML標(biāo)簽可看作為該句的描述。
3)當(dāng)前標(biāo)簽前的class內(nèi)容(-1,-2,-3,-4),沒有則為NULL。其中-1表示當(dāng)前標(biāo)簽的前一個class的內(nèi)容,-2表示當(dāng)前標(biāo)簽的前兩個的class內(nèi)容,以此類推,該項共表達了4個特征。class在HTML中表達固定部分的信息,其對應(yīng)的是css樣式。如果前4個class都存在體現(xiàn)了標(biāo)簽間互相包含的層次關(guān)系。
4)當(dāng)前句的父class,沒有則為NULL。由于CRFs并不體現(xiàn)推理關(guān)系,也就是說各個特征之間在算法層面相互獨立,因此對于該特征與3中特征并不重復(fù),該特征體現(xiàn)當(dāng)前句是包含在哪個class中,對于當(dāng)前句具有識別作用。
5)當(dāng)前句后面的HTML標(biāo)簽(+1,+2,+3,+4),沒有則為NULL。其中,+1表示當(dāng)前句后第一個HTML標(biāo)簽,+2表示當(dāng)前句后第二個HTML標(biāo)簽,以此類推,該項共表達了4個特征。由于部分HTML標(biāo)簽有結(jié)束標(biāo)記,部分HTML標(biāo)簽沒有結(jié)束標(biāo)記,因此用該特征來標(biāo)記當(dāng)前句的HTML信息。
6)當(dāng)前句距離本
Bigram:
1)class內(nèi)容-4/ class內(nèi)容-3/ class內(nèi)容-2/ class內(nèi)容-1。也即Unigram中的特征3中的4個特征的組合特征,組合特征會產(chǎn)生更豐富的信息,有利于序列標(biāo)注的準(zhǔn)確性。
2)HTML標(biāo)簽+1/ HTML標(biāo)簽+2/ HTML標(biāo)簽+3/ HTML標(biāo)簽+4。也即Unigram特征5中4個特征的組合特征。
4實驗結(jié)果
根據(jù)上述標(biāo)注方法,本文標(biāo)注了3組不同數(shù)量的測試集,8組不同數(shù)量的訓(xùn)練集。
從表中我們可以看出,人物描述部分TITLE和CONTENT是一一對應(yīng)的。測試結(jié)果1:
第一,測試不同標(biāo)注數(shù)量的訓(xùn)練集對測試的影響。首先選定測試集為TEST1,當(dāng)訓(xùn)練集為TRAIN1TRAIN8時整體準(zhǔn)確率、召回率和F值的變化如下:
1)隨著標(biāo)注數(shù)量的增多,從標(biāo)注1200組數(shù)據(jù)到標(biāo)注2000組數(shù)據(jù)的過程中,整體的準(zhǔn)確率上升幅度非常大,說明標(biāo)注的數(shù)量對于整體的準(zhǔn)確率影響很大。
2)SUMMARY部分的準(zhǔn)確率一直處于100%狀態(tài),說明選取特征與實際HTML中的情況相對吻合,但由于召回率起始并不高,說明標(biāo)注語料覆蓋的程度較小。
3)TITLE和CONTENT部分的F值一直處于100%狀態(tài)。這一現(xiàn)象說明用于CRFs訓(xùn)練的特征與實際HTML中的TITLE、CONTENT部分的分布情況十分吻合,同時根據(jù)我們所選取的特征說明HTML源中該部分的HTML標(biāo)記相對規(guī)則。
測試結(jié)果2:
第二,測試使用標(biāo)注數(shù)量最大的訓(xùn)練集對相對大規(guī)模的網(wǎng)頁文本進行抽取,統(tǒng)計其準(zhǔn)確度情況。
從表中我們可以看出:
1)隨著測試集的增多,使用同一訓(xùn)練集的召回率在不斷下降,說明所標(biāo)注的訓(xùn)練集的內(nèi)容并沒有覆蓋所有的實際情況。
2)盡管測試集數(shù)量從2000上升到10000SUMMARY、TITLE和CONTENT部分的準(zhǔn)確率始終保持在98%左右, 說明我們所選取的特征確實反映了實際HTML中的情況。
從上面的兩組結(jié)果我們可以看到,本文所提出的基于條件隨機場的人物信息抽取,對于百科文本具有十分良好的效果,其準(zhǔn)確率和召回率能夠滿足實際應(yīng)用的需要,信息抽取出的結(jié)果有利于下一步科研的進行。后續(xù)工作我們還會繼續(xù)添加訓(xùn)練語料,以盡可能完整地覆蓋實際百科HTML中的實際情況。
5結(jié)論與展望
本文中,根據(jù)特定的任務(wù)分析出數(shù)據(jù)的特點,有效地利用了人物百科HTML源中各個標(biāo)簽所起的作用,分析出能夠合理表示我們所需信息的特征及其組合。
以往的信息抽取或者利用啟發(fā)式規(guī)則進行抽取,或者將其抽象成分類問題進行抽取,本文將信息抽取看成是一個序列標(biāo)注問題進行序列標(biāo)注,而不是抽取。在特征選擇的部分,拋開以往方法所用到的句法分析等耗時的步驟,直接從生語料中選取特征,一方面節(jié)省了大量的時間,另一方面減少了對生語料的處理步驟,從整體上講,大幅度的提高了信息抽取的效率。此外本文所提出的方法并不僅限于人物百科的抽取,同樣的方法可以應(yīng)用到其他對于HTML源的信息抽取任務(wù),提供了一種新穎的信息抽取思路。
信息抽取是當(dāng)前自然語言處理的熱點也是難點,如何從每天產(chǎn)生的海量數(shù)據(jù)中抽取出我們所需要的、感興趣的信息,對于節(jié)省人力物力非常有意義,當(dāng)前的信息抽取一般采用基于啟發(fā)式規(guī)則和機器學(xué)習(xí)相結(jié)合的方法來進行。但是大多是針對特定任務(wù)而提出的方法,并不具有通用性,因此如何提出一個普適的信息抽取方法將成為信息抽取發(fā)展的一個方向,這將為自然語言處理的發(fā)展,做出巨大的貢獻。
參考文獻
[1]張智雄,吳振新,劉建華,等. 當(dāng)前知識抽取的主要技術(shù)方法解析[J]. 現(xiàn)代圖書情報技術(shù),2008,08:2-11.
[2]Michele Banko, Michael J Cafarella, Stephen Scoderl, Matt Broadhead, Oren Etzioni. Open Iniformation Extraction from the Web[C]. In Proceedings of Conference on Arti_cial Intelligence, 2007:2670-2676
[3]Anthony Fader, Stephen Soderland, Oren Etzioni. Identifying Relations for Open Information Extraction[C]. In Proceedings of the Conference of Empirical Methods in Natural Language Processing, 2011
[4]SCHMITZ M,BART R,SODERLAND S,et al.Open language learning for information extraction[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Association for Computational Linguistics, 2012: 523-534.
[5]ETZIONI O,F(xiàn)ADER A, CHRISTENSEN J, et al. Open information extraction: The second generation[C]//Proceedings of the Twenty-Second international joint conference on Artificial IntelligenceVolume Volume One. AAAI Press, 2011: 3-10.
[6]孫靜, 李軍輝, 周國棟. 基于條件隨機場的無監(jiān)督中文詞性標(biāo)注[J]. 計算機應(yīng)用與軟件, 2011, 28(4): 21-23.
[7]丁偉偉,常寶寶. 基于語義組塊分析的漢語語義角色標(biāo)注[J]. 中文信息學(xué)報,2009,05:53-61+74.
[8]RAMSHAW L A,MARCUS M P.Text chunking using transformation based learning[C]//Proceedings of the 3rd Workshop on VeryLarge Corpora. 1995.
[9]SANG E F,KIM T J. Veenstra. Representing text chunks [C]//Proceedingsof the 38th Annual Meetingof the Association for Computational Linguistics, Hong Kong, China. 1999.
[10]UCHIMOTO K,MA Q,MURATA M,OZAKU H,ISAHARA H.Named Entity Extraction Based on A Maximum Entropy Model and Transformation Rules [C]// Proceedings of the 38thAnnual Meeting of the Association for Computational Linguistics, Hong Kong, China. 2000.