余昕聰 李紅蓮 呂學(xué)強
摘 要:隱馬爾可夫模型(HMM)基于n-元語法的標注效果雖然不錯,但由于預(yù)測信息的不足,對漢語的詞性標注,特別是未登錄詞的詞性標注精度影響很大。而最大熵模型使用特征的形式,有效的利用了上下文信息,在一定的約束條件下可以得到與訓(xùn)練數(shù)據(jù)一致的概率分布,即使是未登錄詞,由于其豐富的上下文信息,對它的詞性標注也起到了很好的預(yù)測作用。實驗結(jié)果證明最大熵方法取得了較好的標注效果。
關(guān)鍵詞:隱馬爾科夫模型(HMM);最大熵模型;未登錄詞;漢語的詞性標注
1 引言
近年來,信息處理技術(shù)在現(xiàn)代社會具有廣泛的應(yīng)用,中文信息處理也已經(jīng)進入了快速發(fā)展階段,并極大地提高了中文社會的信息處理效率。中文信息處理分為漢字信息處理與漢語信息處理兩部分,具體內(nèi)容包括對字、詞、句、篇章的輸入、存儲http://baike.baidu.com/view/87682.htm、傳輸、輸出、識別、轉(zhuǎn)換、壓縮、檢索、分析、理解和生成等方面的處理技術(shù)。在中文信息處理研究領(lǐng)域中,中文的詞性標注是一項基礎(chǔ)性的課題,它是通過適當(dāng)?shù)姆椒▽τ诰渥又械拿總€詞都標注上一個合適的詞性。詞性標注的難點主要是由詞性的兼類所引起的,即同一個詞有很多種詞性的現(xiàn)象,而我們正在朝著解決這些問題的方向前進著。
目前詞性標注的方法主要有基于規(guī)則和基于統(tǒng)計的方法, 常用的詞性標注模型有N元模型、隱馬爾科夫模(HMM)、最大熵模型、決策樹模型等,本文主要介紹基于最大熵模型的詞性標注方法,將實驗結(jié)果與隱馬爾科夫模型方法進行對比分析。
2 最大熵模型
最大熵是指已知未知分布時,選取這些知識,且熵值最大的概率分布。假設(shè)存在n個特征,所求的模型是在滿足約束集合 的條件下生成的模型,而滿足約束集合的模型不只一個,需要的是具有最均勻分布的概率模型,最大熵原理的實質(zhì)就是已知部分信息時,對未知部分信息隨機,最合理的推斷。而隨機事件的不確定性我們可以用條件熵衡量:
式中: 出現(xiàn)的情況下t的實際概率。而最大熵模型就是找出滿足上式的具有最均勻分布的模型。故最大熵模型可以用下式表示:
在數(shù)據(jù)分布的先驗的限制和條件中,求得的分布與我們認為重要和可靠的已知條件相符合即可,不去對為未知的數(shù)據(jù)做任何的可能的先驗假設(shè),從而引入了最大的不確定性,這也是最大熵模型成功的因素之一。
2.1 模型參數(shù)的估計
若隨機過程所有的輸出值所構(gòu)成集合為T(在本文中T為詞性標記集合),而已知語料庫中的所有上下文信息為集合X,對于一個詞來說,其輸出t∈T會受到其在文中上下文信息的影響。對于詞性標記而言,假設(shè)x為與待標記詞有關(guān)的上下文信息的組合, t為該詞可能出現(xiàn)的詞性標記。那么,對于給定的t∈X,精確估計輸出為t∈T的條件概率,即為對 進行精確估計。
經(jīng)過人工標注和校對的訓(xùn)練語料庫中有大量的詞性標注實例(詞的標記,詞的上下文信息),即(t,x)樣本。經(jīng)過統(tǒng)計可以得到訓(xùn)練語料中在特定的上下文中一個詞出現(xiàn)某一詞性的頻率,從而得到訓(xùn)練語料中上下文信息與輸出的經(jīng)驗概率分布:
隨機過程的輸出受上下文信息的影響。如在詞性標注系統(tǒng)中,文本待標記可能出現(xiàn)的詞性標記與其上下文有關(guān),而上下文信息可以用特征來表示,建立一個預(yù)測模型,可以引人了特征函數(shù)來表述數(shù)據(jù)集中(x,t)的特性,它被定義為{0,1}域上的二值函數(shù),例如可用如下所示的二值函數(shù)來表示:
進一步可以引人一系列的特征函數(shù)來表示訓(xùn)練數(shù)據(jù)集的限制,并在此基礎(chǔ)上通過對特征函數(shù)的期望值施加一定的約束來表述存在在原數(shù)據(jù)集中的上下文依賴關(guān)系,即要求特征函數(shù)在 p(x)分布上的期望值和在先驗?zāi)P?上的相同。
2.2 算法描述
2.2.1 訓(xùn)練模型
假設(shè)滿足最大熵條件的概率具有Gibbs分布:
其中:
每個特征函數(shù)對應(yīng)一個權(quán)重值λi。
設(shè)有n個特征函數(shù),每個特征函數(shù)對應(yīng)一個權(quán)重值,我們的目的實在滿足約束集合的模型集合內(nèi),求出其中熵最大模型的一組值,過程如下:
(1)從訓(xùn)練語料中經(jīng)過統(tǒng)計得到
并計算出:
(2)從訓(xùn)練語料中得到每個詞的上下文信息及當(dāng)前的詞性標記,每一條記為一個import,然后合并成相同的imports;
(3)通過對imports的統(tǒng)計得到建立模型所需的特征,并增加“true”作為校正信息,來滿足算法對特征函數(shù)的限制條件。
(4)對于每個import,計算其特征個數(shù)m。如果特征個數(shù)為常數(shù)則記為C,否則C為特征個數(shù)中的最大值,同時增加k=C-m個校正true,以便使得每個import的C均為常數(shù)。
(5)對于所有的 ,設(shè)置 ;
(6)對于每個 :
(i)設(shè)m為迭代次數(shù),計算:
(ii)計算:
(iii)計算:
(iv)更新 。
重復(fù)(6)直到收斂或循環(huán)若干次。
在本文中,對于每個import,當(dāng) 不為常數(shù)時,都增加k個校正信息true,使得每個import都有相同的特征個數(shù),而不是對所有的imports統(tǒng)一增加一個校正特征,這樣在迭代時就不存在計算校正參數(shù)與其它參數(shù)不一致的問題了,這使得在模型訓(xùn)練時,訓(xùn)練時間減少了。同時校正信息與可能的標記形成了不只一個的校正特征函數(shù),能更精確的進行預(yù)測,這使得對文本進行詞性標記時正確率較增加一個校正參數(shù)形成的模型而言有所提高。
2.2.2 測試模型
給定一句需要詞性標注的句子,可以得到一個詞可能出現(xiàn)的詞性概率,而這一句話的詞性標注的條件概率可表示為:
測試模型的目的是要求出使上式的值最大的一組詞性標注,在該系統(tǒng)中是用動態(tài)規(guī)劃法實現(xiàn)的。
2 隱馬爾科夫模型
詞性標注問題可描述為給定詞序列的條件下,搜尋詞性序列使得最大??勺?yōu)樵诮o定觀察序列條件下搜索最佳的隱馬爾科夫狀態(tài)序列的問題。若第i個詞出現(xiàn)的概率依賴于它前面的N-1個詞,該模型成為N元文法模型。將W視作一階Markov鏈,則有二元文法模型(Bigram模型):單詞出現(xiàn)概率只依賴于。
隱馬爾科夫模型在詞性標注中主要需要解決一下兩個問題:
⑴模型參數(shù)的估計
⑵最佳狀態(tài)的確定(Viterbi算法)
2.1 模型參數(shù)的估計
對于訓(xùn)練語料,其隱藏狀態(tài)(標記集)和觀察符號(單詞)是確定的。確定了標記集和單詞,就可以通過訓(xùn)練語料集的性質(zhì)進行學(xué)習(xí)HMM的各項參數(shù)。對于初始狀態(tài)(詞性)的概率分布矩陣 可以通過統(tǒng)計方法得到。而標記間的狀態(tài)轉(zhuǎn)移概率矩陣A可以通過如下公式求出:
其中 表示狀態(tài)(詞性)Sj到下一個狀態(tài)(詞性)Sj的次數(shù);
表示狀態(tài)(詞性)Sj出現(xiàn)的次數(shù)。而每個狀態(tài)(詞性)所對應(yīng)的符號(單詞)的輸出概率矩陣B可以由下列式子求出:
其中 表示為狀態(tài)(詞性)為Si時輸出詞Vk的概率;符號C代表的是其括號內(nèi)因子在語料庫中的計數(shù)。
通過以上統(tǒng)計方法可以求得模型λ={A,B}將問題轉(zhuǎn)化為已知詞序列W(觀測序列)和得到的模型λ的情況下,求使得條件概率 值最大的那個T*,一般記作 。
如果訓(xùn)練語料庫沒有標注,則可以通過一些輔助資源,利用前向-后向算法進行學(xué)習(xí)HMM模型。前向-后向算法被用于解決HMM的第三個問題,即HMM的參數(shù)估計問題。如果已經(jīng)訓(xùn)練了一個與語料庫對應(yīng)的HMM詞性標注模型,那么就可以利用這個模型來解決詞性標注問題。針對觀察序列 和模型 λ={A,B},選擇最優(yōu)的狀態(tài)序列 ,使得該狀態(tài)序列“最好地解釋”觀察序列。這里主要采用維特比算法解碼,HMM模型的第二大基本問題就是專門來解決這個問題的。
2.2 最佳狀態(tài)的確定
Viterbi算法是運用動態(tài)規(guī)劃搜索這種最優(yōu)狀態(tài)序列的算法。Viterbi算法定義了一個維特比變量 ,它表示在時間t隱馬爾科夫模型沿著某一條路徑到達狀態(tài)Si,并輸出觀察序列 的最大概率,即:
和前向變量相似, 有如下的遞歸關(guān)系,使得我們能夠應(yīng)用動態(tài)規(guī)劃。除了 外,Viterbi算法利用變量 來記憶在時間t隱馬爾科夫模型是通過哪一條概率最大的路徑到達狀態(tài)Si的。實際上 記錄了該路徑上狀態(tài)Si的前面一個(在時間t-1的)狀態(tài)。
對于其算法過程可以用圖1進行描述,已知圖中符號A和B分別代表了觀測序列,下面的M1、N1分別代表該符號可能輸出的狀態(tài),從H2返回S1的最佳狀態(tài)為N1,因為p(M1-H2)=0.6*0.5= 0.3,而p(N1-H2)=0.4x0.8=0.32,說明了從狀態(tài)N1到達狀態(tài)H2的概率比較大,同時采用 記錄了該路徑上狀態(tài)的前面一個(在時間t-1的)狀態(tài),即最佳狀態(tài)N1。盡管搜索還沒有完全結(jié)束,但是H2已經(jīng)找到了最佳返回節(jié)點為N1。
3 實驗數(shù)據(jù)
3.1 實驗方法
本實驗采用的是訓(xùn)練語料庫為1998年人民日報標記語料庫。首先,我們要選取適當(dāng)?shù)膬?nèi)容區(qū)完成詞性標注的任務(wù),一般好的集更有助于對詞的類別和信息進行合理的劃分,這里采用26個標記詞性標記集。從語料庫中抽取150萬詞的內(nèi)容作為訓(xùn)練語料,再從150萬詞的訓(xùn)練語料中抽取50萬的詞作為封閉測試語料,進行詞性標注,并記錄正確率。從選定的訓(xùn)練語料之外,再選取50萬的詞作為開放測試語料,進行詞性標注,并記錄正確率。
再分別用最大熵模型和HMM模型兩種方法對上述語料進行開放測試和封閉測試,最后比較二者的正確率。
3.2 實驗結(jié)果
實驗結(jié)果:
按照以上實驗步驟,得到以下實驗結(jié)果:
實驗結(jié)果分析:
我們可以從表中的數(shù)據(jù)看出,對語料進行開放測試和封閉測試的準確率大有不同。開放測試中由于未登錄詞(即訓(xùn)練語料中沒出現(xiàn)過的詞語)的出現(xiàn),導(dǎo)致其測試概率明顯低于封閉測試的概率??梢娢吹卿浽~很大程度上影響了詞性標注的準確率。同時我們發(fā)現(xiàn),在漢語詞性標注中,最大熵模型提供了較為靈活的特征機制,能讓我們有效的利用上下文的信息去得到更好的標注結(jié)果,更高的準確率,而隱馬爾科夫模型中針對上下文的應(yīng)用還有待完善,可以通過提高模型的階數(shù)以及針對上下文信息的關(guān)聯(lián)進行改進提高正確率。
現(xiàn)如今,統(tǒng)計學(xué)方法在中文詞性標注中的主流的方法,然而若是能在這些方法中融入一些有效的語言規(guī)則,建立更大規(guī)模的語料庫,使其能盡可能涵蓋更多的語言現(xiàn)象,涉及更多的領(lǐng)域,相信會使得詞性標注系統(tǒng)有更高的效率和準確率。
4 總結(jié)
漢語的詞性標注,是中文信息處理領(lǐng)域中的基礎(chǔ)。而關(guān)于詞性標注的研究結(jié)果,直接涉及到機器翻譯、信息檢索、自然語言理解等諸多領(lǐng)域。目前來說,在處理中文詞性標注方面,有很多種統(tǒng)計學(xué)方法,本文主要最大熵模型和隱馬爾科夫模型這兩種重要的方法進行對比,發(fā)現(xiàn)最大熵模型由于采用了上下文特征機制取得了較好的標注效果。
[參考文獻]
[1]Jiang Y,Zhou Z,Wan L,et al.Cross sentence oriented complicated Chinese grammar proofreading method and practice[C].Information Management,Innovation Management and Industrial Engineering (ICIII),2012 International Conference on.IEEE,2012,3:254-258.
[2]Zhao Y,Wang X L,Liu B Q,et al.Applying class triggers in Chinese POS tagging based on maximum entropy model[C].Machine Learning and Cybernetics,2004.Proceedings of 2004 International Conference on.IEEE,2004,3:1641-1645.
[3]孔海霞.基于最大熵的漢語詞性標注[D].大連理工大學(xué).2007.
[4]林紅,苑春法,郭樹軍.基于最大熵方法的漢語詞性標注[J].計算機應(yīng)用.2004,24(1):14-16.
[5]趙紅丹,王希杰.基于隱馬爾科夫模型的詞性標注[J].安陽師范學(xué)院學(xué)報.2010(5):9-12.
[6]胡春靜,韓兆強.基于隱馬爾可夫模型(HMM)的詞性標注的應(yīng)用研究[J].計算機工程與應(yīng)用.2002,38(6):62-64.