分詞方法
目前的分詞方法歸納起來有3 類:
第一類是基於語法和規則的分詞法。其基本思想就是在分詞的同時進行句法、語義分析, 利用句法信息和語義信息來進行詞性標注, 以解決分詞歧義現象。因為現有的語法知識、句法規則十分籠統、復雜, 基於語法和規則的分詞法所能達到的精確度遠遠還不能令人滿意, 目前這種分詞系統還處在試驗階段。
第二類是機械式分詞法(即基於詞典)。機械分詞的原理是將文檔中的字符串與詞典中的詞條進行逐一匹配, 如果詞典中找到某個字符串, 則匹配成功, 可以切分, 否則不予切分。基於詞典的機械分詞法, 實現簡單, 實用性強, 但機械分詞法的最大的缺點就是詞典的完備性不能得到保證。據統計, 用一個含有70 000 個詞的詞典去切分含有15 000 個詞的語料庫, 仍然有30% 以上的詞條沒有被分出來, 也就是說有4500 個詞沒有在詞典中登錄。
第三類是基於統計的方法。基於統計的分詞法的基本原理是根據字符串在語料庫中出現的統計頻率來決定其是否構成詞。詞是字的組合, 相鄰的字同時出現的次數越多, 就越有可能構成一個詞。因此字與字相鄰共現的頻率或概率能夠較好的反映它們成為詞的可信度。
基於統計分詞
1.什么是基於統計的分詞模型
令C=C1C2...Cm.C 是待切分的漢字串,W=W1W2...Wn.W 是切分的結果。
設P(WlC)是漢字串C切分為W的某種估計概率。
Wa,Wb,⋯.Wk是C的所有可能的切分方案。那么,基於統計的切分模型就是這樣的一種分詞模型,它能夠找到目的詞串W ,使得W 滿足:
P(W|C)=MAX(P(Wa|C),P(Wb|C)...P(Wk|C)),
即估計概率為最大之詞串。我們稱函數P(W|C)為評價函數。一般的基於統計的分詞模型的評價函數,都是根據貝葉斯公式.同時結合系統本身的資源限制,經過一定的簡化,近似得來的。
2.P(W|C)在不同資源需求下的近似方法
根據貝葉斯公式, 有:P(W|C)=P(W) P(C|W)/P(C),對於C的多種切分方案,P(C)是一常數,而P(C|W)是在給定詞串的條件下出現字串C的概率,故P(C|W)=1。所以 ,我們用P(W)來代替P(W|C)。那么,如何估計P(W)呢?最直接的估計P(W)的方法利用詞的n-gram,即:
P(W)=P(W1) P(W2lW1) P(W3|W1W2)⋯P(Wk|W1,W2...Wk-1)
但是,由於當前的計算機技術和我們現有的語料資源所限,這種方法存在致命的缺陷:
①對於有6萬詞的詞典而言,僅詞和詞的bigram就可能需要60000 x 60000=3600M的統計空間,這是當前的計算機硬件水平所難以接受的,更不要說更大的n-gram 了。
②需要與上述空間相當的熟語料,否則就會產生訓練語料不足所產生的數據稀疏問題。
③由於不同領域的語料庫的用詞有所差異,針對某一個領域的語料庫統計出來的n-gram,若用於其它領域,其效果難以預料,而目前通過語料庫搭配來克服領域差民間的方法尚未成熟。
因此,利用詞的n-gram 直接估計P(W)的方法,在目前是不可行的。基於上述的原因,大多數基於統計的分詞模型都沒有直接采用上述公式,而是采用各種各樣的估計方法,從不同的角度,實現對P(W)的近似。
3.馬爾可夫假設
馬爾可夫假設任意一個詞Wi出現的概率只同它前面的詞Wi-1有關,於是把上面的公式簡化成:
P(W)=P(W1) P(W2lW1) P(W3|W2)⋯P(Wk|Wk-1)
這里對應的統計語言模型是二元模型。也可以假設一個詞由前面n-1個詞決定,對應的模型稱為n元模型。
接着估算條件概率:
P(Wi|Wi-1)=P(Wi-1,Wi)/P(Wi-1)
而計算聯合概率P(Wi-1,Wi)和邊緣概率P(Wi-1),只要通過語料庫數一數Wi-1,Wi這對詞在統計的文本中前后相鄰出現了多少次#(Wi-1,Wi),以及Wi-1本身在同樣的文本中出現了多少次#(Wi-1),然后用兩個數分別除以語料庫的大小#,即可得到這些詞或二元組的相對頻度,再根據大數定理,只要統計量足夠,相對頻度就等於概率:
P(Wi-1,Wi)~f(Wi-1,Wi)=#(Wi-1,Wi)/# ; p(Wi-1)~f(Wi-1)=#(Wi-1)/#
所以最后:
P(Wi|Wi-1)=#(Wi-1,Wi)/#(Wi-1)
參考文獻:
<基於統計的漢語分詞模型及實現方法>
<基於統計的無詞典分詞方法>
<數學之美>