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