背景知識
詞性標注:將句子中兼類詞的詞性根據上下文唯一地確定下來。
一、基於規則的詞性標注方法
1.原理
利用事先制定好的規則對具有多個詞性的詞進行消歧,最后保留一個正確的詞性。
2.步驟
①對詞性歧義建立單獨的標注規則庫
②標注時,查詞典,如果某個詞具有多個詞性,則查找規則庫,對具有相同模式的歧義進行排歧,否則保留。
③程序和規則庫是獨立的兩部分。
3.例子
TAGGIT系統
二、基於統計的詞性標注方法
1、原理
先對部分進行手工標注,然后對新的語料使用統計方法進行自動標注。
2、語言模型
(1)一個語言句子的信息量
一個句子s = w1w2……wn的信息量量可以用熵來表示:H = - ∑p(w1,w2,…,wn) log p(w1,w2,…,wn),概率p(s)的大小反映了這個詞串在該語言中的使用情況。
(2)n元語法模型
①一元語法,wi的出現獨立於歷史
p(w1,w2,…,wn) = p(w1)*p(w2)*p(w3)…p(wn)
②二元語法,wi的出現決定於wi-1
p(w1,w2,…,wn) = p(w1)*p(w2|w1)*p(w3|w2)…p(wn|wn-1)
③三元語法,wi的出現決定於wi-1,wi-2
p(w1,w2,…,wn) =p(w1)*p(w2|w1)*p(w3|w2,w1)…p(wn|wn-1,wn-2)
(3)數據平滑——Laplace法則

3、詞性標注模型
①另W=w1w2….wn是由n個詞組成的詞串,T=t1t2…tn是詞串W對應的標注串,其中tk是wk的詞性標注。
②根據HMM模型,計算使得條件概率p(T|W)值最大的那個T’= argmaxp(T|W)
③根據貝葉斯公式:p(T|W) = P(T)*P(W|T)/P(W)。由於詞串不變,p(W)不影響總的概率值,因此繼續簡化為:
p(T|W) = P(T)*P(W|T),其中p(T) = p(t1|t0)*p(t2|t1,t0)…p(ti|ti-1),
根據一階HMM獨立性假設,可得:p(T) = p(t1|t0)*p(t2|t1)…p(ti|ti-1),
即P(ti|ti-1) = 訓練語料中ti出現在ti-1之后的次數/訓練語料中ti-1出現的總次數。
③根據貝葉斯公式:p(W|T) = p(w1|t1)*p(w2|t2,t1)…p(wi|ti,ti-1,…,t1)。根據一階HMM獨立性假設,可得p(W|T) = p(w1|t1)*p(w2|t2)…p(wi|ti)。所以
4、詞典的預處理
將已標注好詞性的訓練語料集整理出:①每個詞在不同詞性下出現的次數;②每個詞性在語料集中出現的總次數。
算法介紹
一、CLAWS算法(Contituent-Likelihood Automatic Word-tagging System 成分似然性自動詞性標注系統)
1、介紹
早在60年代,國外學者就開始研究英語文本的自動詞類標注問題,提出了一些消除兼類詞歧義的方法,建立了一些自動詞性標注系統。1983年,里奇(G. Leech)和加塞德(R. Garside)等人建立了CLAWS系統,用概率統計的方法來進行自動詞性標注,他們使用了133×133的詞類共現概率矩陣,通過統計模型來消除兼類詞歧義,自動標注的正確率達到了96%.
2、主要原理
先從待標注的LOB語料庫中選出來部分語料,叫做“訓練集”(Training Set), 對訓練集中的語料逐詞進行詞性的人工標注, 然后利用計算機對訓練集中的任意兩個相鄰標記的同現概率進行統計,形成一個相鄰標記的同現概率矩陣。
進行自動標注時,系統從輸入文本中順序地截取一個有限長度的詞串,這個詞串的首詞和尾詞的詞性應該是唯一的,這樣的詞串叫做跨段(span),記為W0,W1,W2,…,Wn,Wn+1。其中, W0和Wn+1 都是非兼類詞, W1,W2,…,Wn 是n個兼類詞。
利用同現概率矩陣提供的數據來計算這個跨段中由各個單詞產生的每個可能標記的概率積,並選擇概率積最大的標記串作為選擇路徑(path),以這個路徑作為最佳結果輸出。
3、算法描述
①一個句子首先用全分割法或Viterbi算法分割成N個詞;
②這N個詞,首先查詞典,標上所有可能的詞類;
③N個相鄰的詞每一種詞類的排列叫做一條路徑;
④求出具有最大似然估計值的那條路徑,即最佳路徑;
⑤最佳路徑上所對應的標注為這N個詞的標注。
4、舉例分析
句子:一把青菜
①用全分割法或Viterbi法將句子分割成: 一,把,青菜
②找出每個詞包含的詞性:一/s 把/n/v/l 青菜/n
③計算每一條路徑的概率:
P(s,n,n|一,把,青菜) =P(一|s)* P(把|n)*P(青菜|n)
P(s,v,n|一,把,青菜) =P(一|s)* P(把|v)*P(青菜|n)
P(s,l,n|一,把,青菜) =P(一|s)* P(把|l)*P(青菜|n)
其中:
④取概率最大的那條路徑為結果。
5、優點分析
通過統計模型來消除兼類詞歧義,自動標注的正確率達到了96%.
6、缺點分析
需要復雜的數據結構來存儲路徑,保存概率結果,空間復雜度和時間復雜度都非常高,路徑數是一個句子中的所有詞包含的詞性個數相乘的結果。
7、改良方向
1988年,德洛斯(S. J. DeRose)對CLAWS系統作了一些改進,利用線性規划的方法來降低系統的復雜性,提出了VOLSUNGA算法,大大地提高了處理效率,使自動詞性標注的正確率達到了實用的水平。
二、VOLSUNGA 詞性標注算法
1、主要原理
VOLSUNGA算法從左到右,對於當前考慮的詞,只保留通往該詞的每個詞類的最佳路徑,然后繼續將這些路徑與下個詞的所有詞類標記進行匹配,分別找出通往這個詞的每個標記的最佳路徑,后面的詞依次重復。本質上相當於貪心算法中的單源最短路徑Dijkstra算法。
2、算法描述
①一個句子首先用全分割法或Viterbi算法分割成N個詞
②這N個詞,首先查詞典,標上所有可能的詞類
③N個相鄰的詞中每一種詞類的排列叫做一條路徑
④遍歷所有詞,每個詞都計算各個詞性下的一階HMM值,取值最大的為最終詞性,保存該詞性和概率,舍棄其他詞性。
3、優點分析
①對CLAWS算法的改進主要有兩個方面:
(a)在最佳路徑的選擇方面,不是最后才來計算概率積最大的標記串,而是沿着從左至右的方向,采用“步步為營”的策略,對於當前考慮的詞,只保留通往該詞的最佳路徑,舍棄其他路徑,然后再從這個詞出發,將這個路徑同下一個詞的所有標記進行匹配,繼續找出最佳的路徑,舍棄其他路徑,這樣一步一步地前進,直到整個跨段走完,得出整個跨段的最佳路徑作為結果輸出。
(b)根據語料庫統計出每個詞的相對標注概率(Relative Tag Probability),並用這種相對標注概率來輔助最佳路徑的選擇。
②VOLSUNGA算法大大地降低了CLAWS算法的時間復雜度和空間復雜度,提高了自動詞性標注的准確率。
4、缺點分析
CLAWS算法和VOLSUNGA算法都是基於統計的自動標注方法,僅僅根據同現概率來標注詞性。但是,同現概率僅只是最大的可能而不是唯一的可能,以同現概率來判定兼類詞,是以舍棄同現概率低的可能性前提的。
5、改進方向
為了提高自動詞性標注的正確率,還必須輔之以基於規則的方法,根據語言規則來判定兼類詞。


