張仰森,黃改娟,蘇文杰
(北京信息科技大學 智能信息處理研究所,北京 100192)
漢語詞匯中的多義詞始終是自然語言理解中難以處理的問題,多年以來,關于漢語詞匯的語義消歧研究一直是中文信息處理領域的研究熱點。詞義消歧從研究方法上講主要有基于規(guī)則的方法、基于詞典知識的方法、有指導的統(tǒng)計消歧法、無指導的統(tǒng)計消歧法[1]。其中有指導的統(tǒng)計詞義消歧法是目前WSD領域的主流,它將詞義消歧問題作為分類問題來考慮,將機器學習領域里廣泛流行的算法用于詞義消歧,包括決策樹(Decision Tree)方法(Black,1988)[2]、決策表(Decision List)方法(Yarowsky)[3]、Na?ve Bayes方法[4]、向量空間模型(VSM)[5]、最大熵方法(Maximum Entropy)[6-7]、神經網絡模型[8]、基于實例的方法[9]等。其中,最大熵方法由于可以將多種上下文特征集于統(tǒng)一的模型框架之中,詞義消歧效果比較好,受到學界的廣泛應用。最大熵模型與n-gram模型相比,能夠獲取和使用自然語言多個方面的信息特征,將多種特征信息集成于一個模型之中,與樸素貝葉斯模型、決策樹等統(tǒng)計語言建模方法相比,有無需獨立性假設及自動特征權重確定的優(yōu)點。但其主要缺點是只能處理顯性統(tǒng)計特征信息,對那些自然語言中經常遇到的語義和句法信息無法進行處理。
為了將自然語言中人們不能直接觀察到的隱性特征,如語義信息或語法結構引入最大熵方法中,本文提出基于隱最大熵原理的詞義消歧方法,將語義搭配特征等隱性特征與顯性統(tǒng)計特征等一同引入一體化的指數性概率框架模型之中,以提高漢語詞匯的語義消歧正確率。
在最大熵方法中,由于使用的是顯性統(tǒng)計特征,因此,在進行模型參數估計時,可以使用最大似然估計法來計算訓練語料中的概率分布,對模型參數進行估計。然而,對于真實的自然語言來說,除了詞語、詞性標注等顯性統(tǒng)計特征以外,還有句法和語義特征,如何將句法語義特征融入最大熵模型以提高模型的效率,shaojun wang等于2002年提出了隱最大熵原理[10],提出了將句法語義信息融入模型的方法。
設X∈Φ是概率為p(X)的完全數據,Φ為一自然語言,Y∈Ψ是可觀察的非完全數據,Ψ表示詞、句、文檔等,并且Y=Y(X)是一個從Φ到Ψ的多對一映射,丟失的數據在文檔級為語義內容,在語句級為句法結構,如圖1所示。
圖1 語言信息結構表示
圖1中表示自然語言可觀察的不完全數據是詞、句、文檔,丟失數據語句級是語法結構,文檔級是語義內容,圖中黑節(jié)點表示丟失的信息。
設P(Y)表示Y的概率,P(X|Y)為給定Y條件下的X的條件概率。則:
這里,Φ(Y)={X:X∈Φ,Y(X)=Y},并且p(X)=p(Y)p(X|Y)具有隱變量的最大熵原理的問題是從一組允許的概率分布中選擇一個模型p,使其具有最大的熵:
(1)
服從
(2)
對隱變量沒有約束,最大熵的解將把相等的概率分配到各隱變量上去,如果沒有丟失數據,則問題將被簡化為Jaynes模型,因此,式(2)比ME具有更一般的描述。
隨機過程的輸出與上下文信息x有關,但在建立語言模型時,如果考慮所有與y同現(xiàn)的上下文信息,則建立的語言模型會很繁瑣,而且從語言學的知識上來講,也不可能所有的上下文信息都與輸出有關。所以在構造模型時,只要從上下文信息中選出與輸出相關的信息即可,稱這些對輸出有用的信息為特征。
特征表示由兩部分構成,一部分是目標類的上下文語境x,另一部分是目標類y。為了讓模型能夠理解特征,可以使用特征函數來表示(x,y)的特性。定義一個{0,1}域上的二值函數來表示特征:
(3)
特征的選擇與提取可通過特征模板的方法來實現(xiàn),在設計模板時可將影響多義詞詞義的上下文距離信息以及特定位置上的詞性信息考慮進來。一般考慮的因素有:(1)特征類型,包括詞形(Word)、詞性(Pos)、詞形+詞性; (2)窗口大小,包括語句中當前詞前后的n個詞;詞形特征表示使用Word+Index的形式, 詞性特征表示法與詞形類似。這里Word用字母W表示,Index為特征詞相對于當前詞的位置。本文中所設計的特征模板如表1所示。依據特征模板進行特征提取過程如算法1所示。
表1 特征模板設計
算法1特征提取算法
Step1: 從第一句開始掃描語料庫;
Step2: 循環(huán)特征模板中的特征列表,利用當前模板開始匹配特征并進行提取,命名為feature;
Step3: 查看特征文件中feature是否存在,如果已經存在,特征數目加1,轉到Step2;如果不存在,將feature寫入特征文件,轉到Step2;
Step4: 是否掃描到語料庫結尾,如果是,結束;否則,轉到Step1繼續(xù)掃描。
利用特征模板所得到的候選特征集合比較大,需要采用特征篩選方法從中篩選出對輸出影響較大的特征。本文采用特征頻次和互信息相互結合的特征選擇方法進行特征篩選。
(1) 特征頻次篩選法。特征頻次篩選法就是計算特征集中每個特征出現(xiàn)的次數,并根據實驗需求設定一個閾值,把出現(xiàn)次數較少的特征舍棄[11]。
(2) 互信息選擇法?;バ畔⑹怯脕砗饬績蓚€變量之間的相關度的量[12]。詞義消歧中可以使用互信息來表示特征詞與多義詞之間的相對語義距離。計算公式如下:
(4)
P(w1)、P(w2)和P(w1,w2)分別是詞語在語料庫中出現(xiàn)的概率和共現(xiàn)概率。根據計算結果,選擇滿足一定互信息要求的特征。
利用上述設計的特征模板提取的上下文特征屬于顯性統(tǒng)計特征,是比較容易獲取的,如果上下文的窗口寬度選擇的比較大的話,其特征數量將是相當大的,參數空間也會非常大,使建模的工作量增大。所抽取的特征反映的是上下文中詞語與當前詞之間的詞語搭配特征,而更深一層次的語義特征被忽略了。借助《知網》,詞語搭配之間更抽象一層關系能夠被抽取出來,這就是義原搭配信息[13]。為了避免算法過于復雜,本文只考慮從動賓結構中抽取義原搭配特征。將動賓結構中的兩個詞語之間的二元搭配組合轉變?yōu)槎鄠€義原之間相互制約的多元組合。這樣就豐富了文本特征所涵蓋的語義信息。
表2中給出了義原搭配的例子。多義動詞為“吃”,可能的賓語為“老本”、“利息”、“面包”、“飯”、“汽油”等。在傳統(tǒng)最大熵模型中,這些搭配信息都會被考慮到。但如果借助《知網》,就能夠抽取出義原搭配的信息,獲取到語義搭配特征。表2中詞義ID是表示當前多義動詞“吃”的義項編號。表中第三列和第四列分別是從《知網》中抽取出來的動詞和賓語的義原信息。這種義原信息可以反映出上下文的語義搭配特征,大大減少最大熵模型的特征數量,縮小參數空間,優(yōu)勢是顯而易見的。
表2 義原搭配示例
義原搭配信息能夠表征語義特征,但如何獲取和存儲語義搭配特征就成為關鍵。下面以動賓結構短語為例,給出獲取和構建義原搭配信息數據庫的方法,如算法2所示。在本算法中暫不考慮動賓結構中動詞和名詞均為多義詞的情況。
算法2義原搭配信息數據庫的構建算法
Step1: 從訓練語料中抽取動賓結構搭配詞語,作為義原搭配信息抽取的對象。
Step2: 在《知網》知識庫中查找動詞條目。以“展開”為例,查找“W_C=展開”,若存在,判斷詞性是否為動詞,即G_C的值是否以“V”開始,若是,則跳到下一步;若不是,則返回step2繼續(xù)查找;若文件結束,則返回。
Step3: 在“DEF”中讀取動詞概念中的第一義原,記作Verb_DEF。如果動詞在《知網》知識庫中具有多個概念,則抽取訓練語料中與動詞所標注詞義相一致的概念所在的義原。
Step4: 在《知網》知識庫中查找名詞條目。以“地圖”為例,查找“W_C=地圖”,若存在,判斷其詞性是否為名詞,即G_C的值是否以“N”開始,若是,則執(zhí)行下一步;若不是,則繼續(xù)執(zhí)行查找;若文件結束,則返回。
Step5: 在“DEF”中讀取名詞概念中的第一義原、領域義原和主體義原,分別記作Nouns_Sememe_First,Nouns_Sememe_Domain,Nouns_Sememe_Host。如果領域義原或主體義原不存在,則賦值空串。
Step6: 更新數據庫操作。將step2和step5中所抽取的信息插入到數據庫中。
Step7: 如果還存在未處理的動賓結構搭配詞語跳轉step2,否則,結束。
生成的義原搭配信息將被存儲于MySQL數據庫中。數據庫建立完成之后,義原搭配信息在數據庫中存儲形式如圖2所示。其中第三列(Verb_Word)為多義動詞原型;第五列(Feature_Verb_Sememe)為多義動詞的義原信息;第六列(Feature_Nouns_Sememe)為多義動詞的義原搭配信息;最后一列(Sence_ID)為動詞的義項標示。將最后兩列按照一定的格式,輸出到文本文件中,就可以作為隱性特征供詞義消歧模型來使用。
圖2 數據庫中的義原搭配信息
最大熵模型的缺點是它只考慮了目標詞所在上下文中的顯性特征[14]。隱最大熵模型是在最大熵模型基礎上考慮了隱性特征,將顯性特征和隱性特征相結合應用于消歧模型。本文通過《知網》從詞語搭配中所獲取義原搭配是一種語義搭配特征,它將最大熵模型的特征空間變成了語義類的特征空間,從而使參數空間大大縮小,提高了最大熵參數估計算法的效率和詞義消歧的準確率。
本文設計并實現(xiàn)了一個詞義消歧實驗系統(tǒng)。它把系統(tǒng)分成了三個大的部分:訓練模塊、測試模塊、評價模塊。本實驗采用OpenNLP MaxEnt[15]提供的以Java程序編寫的最大熵模型參數計算開源代碼,參數計算算法為GIS。詞義消歧系統(tǒng)的總體設計框架如圖3所示。
機器學習模塊主要包括文本預處理、特征提取、模型參數計算等操作。文本預處理主要的功能是去除停用詞和非法字符等。特征提取包括顯性特征提取和隱性特征提取。顯性特征依據算法1按照所設計的特征提取模板來實現(xiàn),隱性特征的提取則依據《知網》,依據算法2實現(xiàn)。模型參數的訓練使用隱最大熵原理來實現(xiàn),輸出的模型參數信息將保存在文本文件中供下一步中的預測模塊來使用。
圖3 基于隱最大熵的詞義消歧系統(tǒng)的總體設計框架圖
詞義消歧模塊用來對待消歧的文本進行詞義消歧。本模塊中文本預處理過程與機器學習模塊相同。特征提取模塊提取多義動詞所在上下文的特征詞語,用頻次和互信息相結合的方法來進行特征篩選,同時提取該多義動詞的賓語,并獲取機器學習模塊所獲得的義原搭配信息,最后根據模型參數與所選特征,計算出該多義動詞的可能詞義。
結果評測模塊是通過將機器標注的語料與人工標注的語料進行比較,對詞義標注模型與算法的性能進行評價。
Java語言和Eclipse是目前的強勢語言和開發(fā)環(huán)境之一,從系統(tǒng)的可移植性以及人才培養(yǎng)的角度考慮,本課題選擇的開發(fā)語言為Java,開發(fā)環(huán)境為Eclipse。數據庫使用MySQL3.5版本。數據庫設計工具使用MySQL Workbench5.0。
我們選取了由北京大學計算語言所開發(fā)的粗粒度詞義標注語料庫。該語料庫是在北京大學與富士通公司共同制作的2000年《人民日報》基本標注語料庫的基礎上,以《現(xiàn)代漢語語法信息詞典》和《現(xiàn)代漢語語義詞典》為依據,經過機器粗標再經過人工校對而完成的詞義標注語料庫,在國內外具有較大影響。本實驗選用2000年11和12月的詞義標注語料庫開展研究,其中50天的語料作為模型參數訓練語料,剩下十天語料作為測試與評測語料。
另外,所選擇的《人民日報》粗粒度詞義標注語料是以《現(xiàn)代漢語語法信息詞典》和《現(xiàn)代漢語語義詞典》的體系為依據構建而成,而我們在進行隱性信息提取時所采用的語義類是以《知網》中的義原為依據。盡管兩個知識資源的標注體系不同,但本文在應用它們時并不會引起矛盾。我們的詞義標注體系采用與北京大學計算語言所《人民日報》詞義標注語料相同的體系,對于《知網》的應用主要采用其“義原”的思想將多義詞上下文語境中的特征詞映射為語義類,這樣就將字詞級特征空間轉換為語義類特征空間,使得參數訓練的規(guī)模大大縮小。所以,《知網》主要應用在特征的提取方面,使得一些的隱性的語義類特征能夠被提取出來,以提高標注模型的通用性和正確率。
為了使實驗簡單,我們從確定的語料中選取十個多義動詞進行實驗。選取目標多義詞的原則如下:
(1) 目標詞應當具有多于一個詞義;
(2) 應當選取出現(xiàn)次數較多的動詞,一般來說,出現(xiàn)的次數越多越好;
(3) 多義詞的某一詞義在所有詞義中所占的比重不應當太大。例如,某個動詞有三個詞義,而其中一個詞義所占比重達到90%,其他兩個詞義總共占10%,剩余兩個詞義的區(qū)分將變得十分困難。選定的多義動詞及其在語料中出現(xiàn)的次數如表3所示。
表3 多義詞表
續(xù)表
所選動詞的詞義數目為2、3、4,在統(tǒng)計詞義的過程中,我們發(fā)現(xiàn),所用的北大《人民日報》基本標注語料庫的義項數與《知網》中所列義項數并不完全一致。我們以《人民日報》語料所標的義項為準。
系統(tǒng)采用準確率、召回率和F值對實驗結果進行評測。對測試語料去除義項標注后,進行義項標注的測試。實驗結果按未使用義原搭配信息和使用義原搭配信息來進行分類。實驗系統(tǒng)運行結果如表4所示。
表4 多義動詞消歧結果
上面的表格顯示出不同多義詞在使用義原搭配信息和不使用義原搭配信息情況下的準確率對比。從表4中可以看出。
(1) 使用義原搭配隱性特征后,系統(tǒng)詞義消歧的平均準確率為84.06%,比未使用義原搭配信息前提高了大約4個百分點。
(2) 系統(tǒng)對義項數目較少的多義詞,消歧結果較好,例如,“發(fā)表”、“表示”,“發(fā)動”等,而當多義詞義項數目較多時,消歧的結果稍差。分析原因主要有兩點:a)對于某些詞,如“發(fā)表”,在《人民日報》的語料中有其固定的搭配。《人民日報》不是小說,一些擬人、虛構等手法在《人民日報》中并不會出現(xiàn)?!度嗣袢請蟆氛Z料中更多的是關于政治、事實的報道,一些固定搭配可能對詞義消歧產生較大影響。例如:
例句①:表示/v!1 親切/a 的/ud 問候/vn !/wt
例句②:按照/p “/wyz 三/m 個/qe 代表/v!2 ”/wyy 的/ud 要求/n
對于例句①和例句②中“表示”、“代表”的消歧,固定搭配將會起到關鍵性作用; b)當多義詞義項數目較多,而在訓練集或測試集中出現(xiàn)的次數較少時,由于語料的不充分造成的準確率不高。
(3) 有少量詞在使用義原搭配信息后并未呈現(xiàn)出較好的結果,例如,“出”、“想”,分析其原因,可能的因素有兩個方面:一是多義詞在語料中出現(xiàn)的次數較少造成的;二是可能多義詞詞義較多,系統(tǒng)抽取義原搭配信息的結果會導致其中某兩個詞義或多個詞義出現(xiàn)義原搭配相同或相似的情況,對詞義消歧產生混淆作用,從而導致消歧的準確率下降。
[1] 張仰森.面向語言資源建設的漢語詞義消歧與標注方法研究[D]. 北京大學博士后研究工作報告. 2006.12.
[2] Black, Ezra. An Experiment in Computational Discrimination of English Word Sense[J]. IBM Journal of Research and Development, 1988, 32(2): 185-194.
[3] Yarowsky, D. Decision Lists for Lexical Ambiguity Resolution: Appliaction to Accent Restoration in Spanish and French[C]// Proceedings of the 32th Annual Meeting of ACL. 1994.
[4] Escudero G, Marquez L , et al. Naive Bayes and examplar-based approaches to word sense disambiguation revisited[C]// Proceedings of the 14th Europear Conference on Artificial Intelligence (ECAI) , 2000.
[5] Schutze, H. Automatic word sense discrimination. Computational Linguistics[J]. 1998,24(1):97-124.
[6] Adam L.Berger, Stephen A. Della Pietra, Vincent J.Della Pietra. A Maximum Entropy Approach to Natural Language Processing[J]. Computational Linguistics, 1996, 22(1): 1-36.
[7] Gerald Chao, Michael G.Dyer, Maximum Entropy Models for Word Sense Disambiguation[C]// Proceeding of COLING 2002 1: 155-161.
[8] Kawamoto, A.H. Distributed representations of ambiguous words and their resolution in a connectionist network[C]// Proceeding of Small, S., ed.Lexical Ambiguity Resolution: Perspectives from Psycholinguistics, Neuropsychology, and Artificial Intelligence. San Mateo, CA:Morgan Kaufman, 1998: 195-228.
[9] Ng, H.T. Exemplar-Based word sense disambiguation: some recent improvements[C]// Proceeding of Johnson, M., Allegrini, P., eds. Proceedings of the 2nd Conference on Empirical Methods in Natural Language Processing. Providence, Rhode Island, 1997: 208-213.
[10] Shaojun Wang, Dale Schuurmans, Yunxin Zhao. The Latent Maximum Entropy Principle[C]// Proceeding of IEEE International Symposium on Information Theory, 2002:182-185.
[11] 代六玲,黃河燕,陳肇雄.中文文本分類中特征抽取方法的比較研究[J].中文信息學報,2004,18(1):26-32.
[12] 王國胤,于洪,楊大春.基于條件信息熵的決策表約簡[J].計算機學報,2002,25(7):759-766.
[13] 郭充, 張仰森. 基于《知網》義原搭配的中文文本語義級自動查錯研究[J], 計算機工程與設計, 2010.9,31(17):3924-3928.
[14] 張仰森.基于最大熵模型的漢語詞義消歧與標注方法[J].計算機工程,2009,(9):15-18.
[15] http://maxent.sourceforge.net[OL].