李 超,王會(huì)珍,朱慕華,張 俐,朱靖波
(東北大學(xué) 自然語(yǔ)言處理實(shí)驗(yàn)室,遼寧 沈陽(yáng) 110004)
多詞串是一種比詞攜帶了更多信息的語(yǔ)言學(xué)表示,其應(yīng)用前景包括信息檢索、機(jī)器翻譯、問(wèn)答系統(tǒng)、詞義消歧以及自動(dòng)摘要等熱門任務(wù)[1]??紤]到人工收集多詞串的高昂代價(jià)以及信息時(shí)代領(lǐng)域知識(shí)的更新速度,如何用自動(dòng)或者半自動(dòng)的方法獲取多詞串就成為了自然語(yǔ)言處理領(lǐng)域的一個(gè)重要問(wèn)題。
到目前為止,多詞串的自動(dòng)抽取方法包括最開始提出的基于語(yǔ)言學(xué)規(guī)則的方法[2-4]以及后期提出的基于頻率統(tǒng)計(jì)的抽取方法[5-8]。 C-value方法是目前用于解決多詞串抽取問(wèn)題最為常用的方法之一。該方法考慮了候選多詞串的頻次,多詞串的長(zhǎng)度以及多詞串間相互包含的信息并以一個(gè)有序的多詞串列表作為輸出結(jié)果。以前的研究工作已經(jīng)證明了C-value方法的有效性[9]。
但是,采用傳統(tǒng)的C-value方法進(jìn)行多詞串抽取時(shí),對(duì)于不同領(lǐng)域的抽取過(guò)程是獨(dú)立進(jìn)行的,那么就存在一些多詞串在多個(gè)領(lǐng)域的計(jì)算結(jié)果中都會(huì)得到較大的C-value值,最終在輸出列表中均獲得較高的排位,也就意味著它們?cè)诙鄠€(gè)領(lǐng)域中同時(shí)具有“較高重要性”,對(duì)領(lǐng)域類別具有較弱的指示作用,不應(yīng)該作為領(lǐng)域多詞串的抽取結(jié)果。
本文工作基于如下假設(shè):根據(jù)多詞串在不同領(lǐng)域的C-value輸出列表中的位置信息,多詞串的排序可以重新調(diào)整以獲得更好的性能。例如:采用C-value方法,多詞串“詳細(xì) 信息”在不同領(lǐng)域的輸出列表中都會(huì)排在靠前的位置,而多詞串“上海 大眾”僅在汽車領(lǐng)域中獲得較高的排位。在不同領(lǐng)域的C-value輸出列表中具有相近排位的多詞串(例如“詳細(xì) 信息”)具有較弱的領(lǐng)域相關(guān)性,在調(diào)整之后的多詞串列表中應(yīng)該賦予較低的排位;與之相對(duì),如果多詞串在不同領(lǐng)域輸出列表中的位置分布差異較大(例如“上海 大眾”),在最終輸出結(jié)果中應(yīng)該賦予較高的排位。
基于以上假設(shè),本文提出了一種基于領(lǐng)域類別信息的多詞串自動(dòng)抽取方法:多類別C-value (Multi-Class C-value)。該方法對(duì)C-value在不同領(lǐng)域獨(dú)立輸出的結(jié)果進(jìn)行重新排序,得到最終的多詞串輸出列表。
本文提出的多類別C-value(Multi-Class C-value)方法,首先利用傳統(tǒng)的C-value計(jì)算方法在各個(gè)領(lǐng)域中獨(dú)立進(jìn)行多詞串抽取,生成多詞串列表,然后利用各個(gè)多詞串在不同列表中的位置分布信息進(jìn)行多詞串的重新排序,以獲得最終的抽取結(jié)果。
使用傳統(tǒng)C-value方法進(jìn)行多詞串抽取的操作流程可以歸納如下:1)文本預(yù)處理,包括分詞和詞性標(biāo)注; 2)候選多詞串的抽取; 3)詞性規(guī)則過(guò)濾; 4)C-value值的計(jì)算; 5)輸出各個(gè)領(lǐng)域的多詞串列表。C-value的計(jì)算方法考慮了候選多詞串的長(zhǎng)度(詞串中詞語(yǔ)的個(gè)數(shù))、頻次信息以及詞串相互包含的信息,計(jì)算公式如下所示:
(1)
其中:a表示候選的多詞串,|a|表示多詞串的長(zhǎng)度,f(a)表示多詞串在整個(gè)語(yǔ)料庫(kù)中出現(xiàn)的頻次,Ta表示以多詞串a(chǎn)為子串的多詞串集合,P(Ta)表示集合Ta中的元素個(gè)數(shù)。
在利用C-value方法進(jìn)行多詞串抽取時(shí),除了C-value值的計(jì)算,另外一個(gè)需要考慮的問(wèn)題是詞性過(guò)濾規(guī)則的構(gòu)建。只有符合詞性過(guò)濾規(guī)則的多詞串才會(huì)參與C-value值的計(jì)算。由先前工作可知,大部分多詞串只由名詞、形容詞、動(dòng)詞、副詞以及介詞組成[10],因此本文所構(gòu)建的過(guò)濾規(guī)則只考慮上述五種詞性。
2.2.1 MCC-value方法的引入
傳統(tǒng)的C-value方法在各個(gè)領(lǐng)域中分別進(jìn)行多詞串抽取,可以成功地使部分領(lǐng)域相關(guān)的多詞串在輸出列表中排在較高的位置。表1給出了在汽車、科技和旅行領(lǐng)域的部分抽取結(jié)果。
然而,由于傳統(tǒng)的C-value方法只考慮了多詞串本身在各自領(lǐng)域內(nèi)的分布信息,而沒有考慮多詞串在不同領(lǐng)域之間的分布,難以避免會(huì)有一部分多詞串,在各個(gè)領(lǐng)域中都具有較大的 C-value值,而在最終的輸出列表中獲得較高的排位,即該類多詞串在各個(gè)領(lǐng)域中具有類似的分布。直覺上解釋,如果某個(gè)多詞串在各個(gè)領(lǐng)域中的分布類似,表示該多詞串具有較弱的領(lǐng)域相關(guān)性,表2顯示了部分該類多詞串。
表1 多詞串在不同領(lǐng)域的輸出列表中的位置情況
表2 多詞串在不同領(lǐng)域的輸出列表中的位置情況
在本文中,多詞串領(lǐng)域指示性的強(qiáng)弱被稱為“領(lǐng)域模糊度”,模糊度的具體計(jì)算方法將在2.2.2節(jié)中詳述。
本文提出MCC-value方法的動(dòng)機(jī)總結(jié)如下:
1) 如果多詞串A只在一個(gè)領(lǐng)域的輸出列表中排在很靠前的位置,在其他輸出列表中沒有出現(xiàn)或者是排在很靠后的位置,那么多詞串對(duì)領(lǐng)域類別具有較強(qiáng)的指示作用,模糊度較低,能夠作為領(lǐng)域多詞串的抽取結(jié)果;
2) 如果多詞串A在多個(gè)領(lǐng)域的輸出列表中都出現(xiàn)在很靠前的位置,那么多詞串屬于多個(gè)領(lǐng)域,對(duì)領(lǐng)域類別的指示作用較弱,其模糊度較高,在最終輸出的多詞串列表中的排位應(yīng)該被降低。
2.2.2 MCC-value計(jì)算方法
本文利用多詞串在傳統(tǒng)C-value方法輸出列表中的位置分布,定義了模糊度計(jì)算函數(shù)。該函數(shù)將被用于對(duì)傳統(tǒng)C-value輸出結(jié)果進(jìn)行重新排序,以得到最終的抽取結(jié)果。這種考慮多詞串在不同領(lǐng)域之間分布信息的C-value方法稱為多類別C-value(MCC-value)方法。本文首先定義模糊度計(jì)算公式,然后詳細(xì)介紹如何利用模糊度定義MCC-value方法。
某個(gè)特定多詞串的模糊度(表示為AD(t))由該多詞串在各個(gè)領(lǐng)域的輸出列表中的位置決定,其計(jì)算公式定義如下:
(2)
其中:m表示領(lǐng)域個(gè)數(shù),集合S={S1,S2,…,Sm}表示C-value方法得到的m個(gè)多詞串集合,p(t,Si)代表多詞串t在第i個(gè)領(lǐng)域的C-value輸出列表中的位置,maxp(t,S)代表t在不同領(lǐng)域的輸出列表中位置的最大值,log2(1/m) 是歸一化因子。公式中的分子部分是一個(gè)類似于信息熵的計(jì)算式,恰好衡量了多詞串在輸出列表中的位置差異性,本文稱該部分計(jì)算式為“位置熵”。
利用公式(2)可以計(jì)算得到任意一個(gè)多詞串的模糊度值。將傳統(tǒng)C-value方法得到的分值(C-value值)與AD值結(jié)合在一起,就可得到基于多類別C-value的多詞串自動(dòng)抽取方法,該方法的計(jì)算公式定義見公式(3)。
(3)
其中:Cvalue(t,Si)表示多詞串t在第i個(gè)領(lǐng)域用傳統(tǒng)C-value方法計(jì)算得到的分值,AD(t)表示利用公式(2)計(jì)算得到的多詞串t的模糊度。公式中將Cvalue(t,Si)取對(duì)數(shù)是減弱Cvalue(t,Si)值對(duì)于MCCvalue(t,Si)值的影響。由公式(3)可知,模糊度 與MCC-value的值成反比關(guān)系,即模糊度AD(t)越小,意味著多詞串t在多個(gè)輸出列表中的位置差異性越大,多詞串對(duì)領(lǐng)域的指示性越強(qiáng),MCC-value方法傾向于提高這類多詞串的排位。
本文采用的語(yǔ)料來(lái)自于搜狗語(yǔ)料庫(kù)2.0版本*http://www.sogou.com/labs/dl/t.html。語(yǔ)料庫(kù)包含1億個(gè)網(wǎng)頁(yè)。根據(jù)對(duì)網(wǎng)頁(yè)的URL分析,可以自動(dòng)得到部分具有領(lǐng)域類別的網(wǎng)頁(yè)。本文實(shí)驗(yàn)采用汽車、科技和旅行三個(gè)領(lǐng)域的數(shù)據(jù)。其包含的網(wǎng)頁(yè)數(shù)量和詞的數(shù)量見表3所示。
表3 實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)信息
本文采用人工校對(duì)的方法對(duì)三個(gè)領(lǐng)域中的多詞串輸出列表分別評(píng)測(cè)。評(píng)測(cè)的結(jié)果采用準(zhǔn)確率作為評(píng)測(cè)指標(biāo)。為了提高實(shí)驗(yàn)結(jié)果的可信度,本文的實(shí)驗(yàn)結(jié)果評(píng)測(cè)過(guò)程中,3名人員獨(dú)立進(jìn)行,并采用了兩種評(píng)測(cè)方法:針對(duì)某個(gè)抽取方法得到的多詞串,評(píng)測(cè)方法1,當(dāng)3名評(píng)測(cè)人員中至少有2名人員一致判定多詞串抽取結(jié)果正確則認(rèn)為該多詞串抽取結(jié)果正確;評(píng)測(cè)方法2,判定條件更加嚴(yán)格,只有當(dāng)3名評(píng)測(cè)人員全部判定抽取結(jié)果為正確的條件下才認(rèn)為該多詞串的抽取結(jié)果為正確。
判定領(lǐng)域多詞串正確的基本規(guī)則有兩個(gè),第一,多詞串應(yīng)該帶有明顯的領(lǐng)域信息。例如:“上海 大眾”多詞串?dāng)y帶著明顯的汽車領(lǐng)域信息;第二,多詞串在語(yǔ)法上必須完整,例如,“責(zé) 聲明”這樣不完整的多詞串并不能作為正確的結(jié)果。不符合以上兩個(gè)標(biāo)準(zhǔn)的多詞串將判定為錯(cuò)誤的結(jié)果。
在本文的實(shí)驗(yàn)中,候選多詞串的最小長(zhǎng)度為2,最大長(zhǎng)度設(shè)置為6。由公式(1)可知,除了需要設(shè)定候選多詞串的最大長(zhǎng)度以外,還需要設(shè)定包含當(dāng)前候選多詞串的更長(zhǎng)詞串的最大長(zhǎng)度。在本文實(shí)驗(yàn)中該閾值設(shè)定為7。具體地說(shuō),假設(shè)當(dāng)前候選多詞串t的長(zhǎng)度為L(zhǎng),則公式(1)只考慮包含多詞串t而且長(zhǎng)度在[L+1,7]范圍內(nèi)的多詞串參與計(jì)算。
從表4中可以看出MCC-value方法較于傳統(tǒng)的C-value方法有顯著的提高。在top-100的級(jí)別上,使用評(píng)測(cè)方法1,汽車領(lǐng)域多詞串抽取的結(jié)果準(zhǔn)確率由66%提高到78%,科技領(lǐng)域準(zhǔn)確率由63%提高到75%,而旅行領(lǐng)域準(zhǔn)確率由64%提高到77%。在這三個(gè)領(lǐng)域中,準(zhǔn)確率分別提高了12%、12%和13%。隨著參與評(píng)測(cè)的多詞串個(gè)數(shù)增加(最大達(dá)到1 000),C-value和MCC-value的方法都有明顯下降。
表4 利用評(píng)測(cè)方法1得到的實(shí)驗(yàn)結(jié)果
表5給出了使用評(píng)測(cè)方法2得到的實(shí)驗(yàn)結(jié)果。在top-100級(jí)別上,準(zhǔn)確率由57%提高到68%,科技領(lǐng)域準(zhǔn)確率由51%提高到65%,而旅行領(lǐng)域準(zhǔn)確率由58%提高到68%。在這三個(gè)領(lǐng)域中,準(zhǔn)確率分別提高了11%、14%和10%。兩種評(píng)測(cè)方法都表明:MCC-value方法較于傳統(tǒng)C-value方法有顯著提高,充分驗(yàn)證了MCC-value方法的有效性。
表5 利用評(píng)測(cè)方法2得到的實(shí)驗(yàn)結(jié)果
MCC-value方法,考慮了多詞串在不同領(lǐng)域的分布情況,有效地降低了模糊度較高的多詞串對(duì)于抽取結(jié)果的影響,而使用MCC-value方法,加入了多詞串在不同領(lǐng)域的分布信息,有效地減小了這類模糊多詞串對(duì)抽取結(jié)果的影響。
在多詞串抽取結(jié)果中,還發(fā)現(xiàn)一些錯(cuò)誤的多詞串抽取結(jié)果,例如:汽車領(lǐng)域中的“鉛 汽油”、“廂 轎車”,這樣的多詞串在C-value方法的輸出列表和MCC-value方法的輸出列表中都排在很靠前的位置,但卻不是完整的多詞串,不能作為正確的抽取結(jié)果。包含“鉛 汽油”、“廂 轎車”抽取結(jié)果的正確的多詞串是“無(wú) 鉛 汽油”、“兩 廂 轎車”這樣的多詞串,而它們卻不符合詞性過(guò)濾規(guī)則,計(jì)算C-value值時(shí),“鉛 汽油”等多詞串就會(huì)作為不被其他更長(zhǎng)的串包含的情況處理,所以影響了抽取結(jié)果的準(zhǔn)確率。那么詞性規(guī)則的選擇,也一定程度上影響了系統(tǒng)的性能。
本文首先用C-value的方法對(duì)多個(gè)領(lǐng)域的文本進(jìn)行多詞串自動(dòng)抽取,然后將多詞串在不同領(lǐng)域的分布信息加入到C-value方法中,提出了一種多類別C-value(MCC-value)方法,進(jìn)行領(lǐng)域多詞串的自動(dòng)抽取。
最后在汽車、科技和旅行三個(gè)領(lǐng)域的數(shù)據(jù)上進(jìn)行實(shí)驗(yàn),較于傳統(tǒng)的C-value方法性能有著明顯的提高。實(shí)驗(yàn)結(jié)果表明,此方法在領(lǐng)域多詞串自動(dòng)抽取的任務(wù)中是非常有效的。
下一步工作有:1)進(jìn)一步研究詞性過(guò)濾規(guī)則,尋找更適合于多詞串抽取任務(wù)的詞性規(guī)則; 2)將MCC-value的方法應(yīng)用到領(lǐng)域知識(shí)庫(kù)的構(gòu)建工作中,為領(lǐng)域知識(shí)庫(kù)的構(gòu)建提供多詞串信息; 3)將模糊度的概念引入到其他多詞串抽取方法中,比較其在其他方法中的效果。
[1] 段建勇.多詞表達(dá)抽取及其應(yīng)用[D].上海交通大學(xué)博士論文,2007.9.
[2] Sophia Ananiadou.Towards a Methodology for Automatic Term Recognition[D].University of Manchester Institute of Science and Technology, 1988.
[3] Sophia Ananiadou.A methodology for automatic term recognition[C]//Proceedings of the 15th International Conference on Computational Linguistics. Morristown,NJ,USA:Association for Computational Linguistics,1994:1034-1038.
[4] Didier Bourigault.Surface grammatical analysis for the extraction of terminological noun phrases[C]//Proceedings of the 14th International Conference on Computational Lingustics.Morristown,NJ,USA:Association for Computational Linguistics,1992:977-981.
[5] Ido Dagan,Ken Church.Termight: Identifying and translating technical terminology[C]//Proceedings of the 7th Conference of the European Chapter of the Association for Computational Linguistics.Morristown,NJ,USA:Association for Computational Linguistics,1994:34-40.
[6] Beatrice Daille,Eric Gaussier,Jean-Marc Lange.Towards automatic extraction of monolingual and bilingual terminology[C]//Proceedings of the 15th International Conference on Computational Linguistics.Morristown,NJ,USA:Association for Computational Linguistics,1994:515-521.
[7] John S. Justeson,Slava M. Katz.Technical terminology: some linguistic properties and an algorithm for identication in text[J]. Natural Language Engineering, 1(1):9-27, 1995.
[8] Chantal Enguehard,Laurent Pantera. Automatic natural acquisition of a terminology[J]. Journal of Quantitative Linguistics,1994,2(1):27-32.
[9] KT Frantzi,S Ananiadou.The C-Value/NCValue domain independent method for multi-word term extraction[J]. Journal of Natural Language Processing,1999,6(3):145-179.
[10] 朱靖波,陳文亮.基于領(lǐng)域知識(shí)的文本分類[J].東北大學(xué)學(xué)報(bào),2005,26(8):733-735.