詞性(part-of-speech)是詞匯基本的語法屬性,通常也稱為詞類。詞性標(biāo)注就是在給定句子中判定每個詞的語法范疇,確定其詞性并加以標(biāo)注的過程,是中文信息處理面臨的重要基礎(chǔ)性問題。
基于統(tǒng)計模型的詞性標(biāo)注方法
我們可以基于HMM去實現(xiàn)詞性標(biāo)注方法,實現(xiàn)基于HMM的詞性標(biāo)注方法中,模型的參數(shù)估計是其中的關(guān)鍵問題,也就是HMM的第三個問題,當(dāng)時我們講可以隨機地初始化HMM的所有參數(shù),但是,這將使詞性標(biāo)注問題過于缺乏限制。
因此,通常利用詞典信息約束模型的參數(shù)。假設(shè)輸出符號表由單詞構(gòu)成(即詞序列為HMM的觀察序列),如果某個對應(yīng)的『詞匯-詞性標(biāo)記』沒有被包含在詞典中,那該詞匯被標(biāo)記為該詞性標(biāo)記的概率就為0;如果存在,那該詞匯被標(biāo)記為某詞匯標(biāo)記的概率為其所有可能被標(biāo)記的所有詞性個數(shù)的倒數(shù):

然后我們根據(jù)訓(xùn)練語料給定詞性標(biāo)記生成詞的概率,我們思考一下,如何根據(jù)訓(xùn)練語料來合理的估計模型概率,對于某詞性標(biāo)記j生成詞wl的概率,分子我們用詞wl出現(xiàn)的次數(shù)乘以該詞匯被標(biāo)記為該詞匯標(biāo)記的概率,分母是在訓(xùn)練語料范圍內(nèi),所有詞被標(biāo)記為該詞匯標(biāo)記的概率乘以該詞出現(xiàn)的次數(shù)。某詞性標(biāo)記j生成詞wl的概率,也即下式:

不僅考慮詞出現(xiàn)次數(shù)的原因,個人理解,一是考慮到前面說過的,有些詞是不能由特定詞性標(biāo)記輸出的,所以其乘積為0,累加時就會被忽略;二是在估計模型參數(shù)時考慮到詞本身所可能對應(yīng)的詞性標(biāo)記的個數(shù),在計算特定詞性標(biāo)記的生成概率時,給予對應(yīng)詞性標(biāo)記少的詞匯一定的優(yōu)待,給予其一定的概率傾斜。
另外,還有一種方法是采用將詞匯劃分成若干等價類的策略,以類為單位進行參數(shù)統(tǒng)計,進而避免了為每個單詞單獨調(diào)整參數(shù),大大減少了參數(shù)的總個數(shù)。
一旦初始化完成后,就可以按照HMM的前向后向算法進行訓(xùn)練。
還有一點要注意的是,由于不同領(lǐng)域語料的概率有所差異,HMM的參數(shù)也應(yīng)隨著語料的變化而變化。
這就涉及到一個問題,在對原有的訓(xùn)練語料增加新的語料以后,模型的參數(shù)就需要重新調(diào)整了。而根據(jù)經(jīng)典HMM的理論,也就是上篇講的HMM,已經(jīng)訓(xùn)練過的語料就難以再發(fā)揮作用了,所以這里希望當(dāng)有新語料進來時,新舊語料能夠同時發(fā)揮作用。
只需要對HMM的前向后向算法做一些微調(diào)即可,我們還記得,前向后向算法需要根據(jù)初始化好的模型去計算轉(zhuǎn)移概率的期望值,再根據(jù)期望值去估計模型參數(shù),也即π、aij、bj(k),最終收斂,我們得到了訓(xùn)練完畢的π、aij、bj(k),但是這里我們不只保存π、aij、bj(k),我們還要保存前一步的結(jié)果,也就是那些期望值,這樣,當(dāng)新的語料引入時,我們將原來模型中保存的期望值與新語料訓(xùn)練的期望值相加,即得到了反映新舊語料期望值變量的值,通過計算即可得到新的模型。這樣也就解決了舊語料的利用問題。
基于規(guī)則的詞性標(biāo)注方法
基于規(guī)則的詞性標(biāo)注方法是人們提出較早的一種詞性標(biāo)注方法,其基本思想是按兼類詞(擁有多種可能詞性的詞)搭配關(guān)系和上下文語境建造詞類消歧規(guī)則,早期的規(guī)則一般由人編寫。
然而隨著語料庫規(guī)模的逐步增大,以人工提取規(guī)則的方式顯然是不現(xiàn)實的,于是人們提出了基于機器學(xué)習(xí)的規(guī)則自動提取方法。如下圖所示:

基于規(guī)則的錯誤驅(qū)動的機器學(xué)習(xí)方法的基本思想是,首先運用初始狀態(tài)標(biāo)注器標(biāo)識未標(biāo)注的文本,由此產(chǎn)生已標(biāo)注的文本。文本一旦被標(biāo)注以后,將其與正確的標(biāo)注文本進行比較,學(xué)習(xí)器可以從錯誤中學(xué)到一些規(guī)則,從而形成一個排序的規(guī)則集,使其能夠修正已標(biāo)注的文本,使標(biāo)注結(jié)果更接近于參考答案。
這樣,在所有學(xué)習(xí)到的可能的規(guī)則中,搜索那些使已標(biāo)注文本中的錯誤數(shù)減少最多的規(guī)則加入到規(guī)則集,并將該規(guī)則用于調(diào)整已標(biāo)注的文本,然后對已標(biāo)注的語料重新打分(統(tǒng)計錯誤數(shù))。不斷重復(fù)該過程,直到?jīng)]有新的規(guī)則能夠使已標(biāo)注的語料錯誤數(shù)減少。最終的規(guī)則集就是學(xué)習(xí)到的規(guī)則結(jié)果。
這種方法的標(biāo)注速度要快于人工,但仍然存在著學(xué)習(xí)時間過長的問題,改進方法是,在算法的每次迭代過程中,只調(diào)整受到影響的小部分規(guī)則,而不需要搜索所有的轉(zhuǎn)換規(guī)則。因為每當(dāng)一條獲取的規(guī)則對訓(xùn)練語料實施標(biāo)注后,語料中只有少數(shù)詞性會發(fā)生改變,而只有在詞性發(fā)生改變的地方,才影響與該位置相關(guān)的規(guī)則的得分。
統(tǒng)計方法與規(guī)則方法相結(jié)合的詞性標(biāo)注方法
有人提出了這樣一種詞性標(biāo)注方法,其基本思想是,對漢語句子的初始詞性標(biāo)注結(jié)果,先經(jīng)過規(guī)則排歧,排除漢語中那些最常見的、語言現(xiàn)象比較明顯的歧義現(xiàn)象,然后再通過統(tǒng)計排歧,處理那些剩余的多類詞并進行未登錄詞的詞性推斷,最后再進行人工校對,得到正確的標(biāo)注結(jié)果。人工校對時可以發(fā)現(xiàn)系統(tǒng)中的問題,并進行改進。
但是上面這種方法存在一個很大的問題就是統(tǒng)計的可信度,我們不知道統(tǒng)計結(jié)果的可信度,總是需要人工校對所有的統(tǒng)計排歧結(jié)果,所以有人又提出了一種新的統(tǒng)計方法與規(guī)則方法相結(jié)合的詞性標(biāo)注方法。
新的方法通過計算詞被標(biāo)注為所有詞性的概率,來對統(tǒng)計標(biāo)注的結(jié)果給出一個可信度,這樣對于所有的語料,先經(jīng)過統(tǒng)計標(biāo)注,然后對那些可信度小于閾值,或者說錯誤可能性高于閾值的統(tǒng)計標(biāo)注結(jié)果,才進行人工校對和采用規(guī)則方法進行歧義消解。
詞性標(biāo)注的一致性檢查與自動校對
在語料庫建設(shè)中,詞性標(biāo)注的一致性檢查和自動校對是不可缺少的重要環(huán)節(jié)。
一般情況下,語料庫中出現(xiàn)的詞性標(biāo)注不一致現(xiàn)象主要由兩種,一種情況是,詞匯在詞表中本來是非兼類詞,只有一種詞性標(biāo)記,在語料中卻被標(biāo)注了不同的詞性標(biāo)記;另一種情況是,詞匯在詞表中本來就是兼類詞,允許不同的詞性標(biāo)注,可在標(biāo)注語料語境相同時出現(xiàn)了不同的詞性標(biāo)注。
第一種現(xiàn)象比較好解決,第二種現(xiàn)象可以采用基于聚類和分類的詞性標(biāo)注一致性檢查方法,其基本觀點是,同一個詞在相似的上下文中應(yīng)該具有相同的詞性。所以,根據(jù)訓(xùn)練語料,可以對每個兼類詞分別計算出詞性標(biāo)注相同時期上下文語境向量的平均值VA,然后計算該兼類詞被標(biāo)注成每個可能的詞性符號時所在的上下文語境向量與相應(yīng)的VA之間的關(guān)系,如果
與VA之間的距離大于了某個閾值H,則認為其可能出現(xiàn)了詞性標(biāo)注不一致。
然后是詞性標(biāo)注的自動校對方法,在計算機自動實現(xiàn)詞性標(biāo)注的語料中,錯誤情況一般分為兩種,一種是,對于同樣的情況,如果一個地方出錯則通篇有錯,一錯到底。而另一種情況是,只有部分出錯,這也就是前面的一致性問題之一,已經(jīng)給出了解決方法。
而對于一錯到底的情況,處理方法的基本思路實際上也相似,其基本思路是通過機器學(xué)習(xí),從大規(guī)模訓(xùn)練語料中抽取每個兼類詞在特定上下文語境中被標(biāo)注的詞性信息,形成一個詞性校對決策表。這里用的不再是平均值了,對于被校對的標(biāo)注語料,首先檢測每個兼類詞的上下文語境與決策表中的對應(yīng)語境是否匹配,若匹配,則認為該校對語料中的兼類詞的語境與決策表中的條件一直,那其兼類詞的詞性也應(yīng)該一致。