統計語言模型(SLM)

2021-06-03 00:19:58 字數 1592 閱讀 6497

摘自: 第12講

slm廣泛使用於語音識別和統計機器翻譯領域,利用概率統計理論研究語言。

規則方法:詞、句、篇章的生成比如滿足某些規則,不滿足該規則就不應存在。

統計方法:任何語言片斷都有存在的可能,只是可能性大小不同

對於乙個文件片段d=w1w2…wn,統計語言模型是指概率p(w1w2…wn)求解,根據bayes公式,有:

p(w1w2...wn) = p(w1)p(w2...wn|w1) = p(w1)

其中p(wn|wn-1...w1)中的p(wn-1...w1)為歷史,按照歷史可分為下列模型:

1. 無歷史,一元模型

2. 最近乙個歷史,二元模型(bigram)

3. 最近n-1個歷史,n元模型(n-gram)

類似於打撲克中的出牌策略,只根據當前牌出牌,則為一元模型,根據上一輪牌出牌,為二元模型,...

不同模型的例子:

一元模型(unigram):p(w1w2w3w4) = p(w1)p(w2)p(w3)p(w4)

二元模型(bigram ):p(w1w2w3w4) = p(w1)p(w2|w1 )p(w3|w2)p(w4|w3 )

三元模型(trigram):p(w1w2w3w4) = p(w1)p(w2|w1)p(w3|w1w2)p(w4|w2w3)

對於n-gram,n越大,則模型越複雜估計的引數(即估計的概率)也越多。當然,當資料量足夠大的情況下,模型階數越高越對片段概率的計算也越準確。

slm的乙個應用例子

拼音輸入法(以下例子中將字看成語言單位):

輸入zhong guo ke xue yuan,到底是:種過科雪園?重果可薛原?還是中國科學院?……

一種利用slm的解決思路:計算p(種過科雪園) p(重果可薛原)p(中國科學院),看誰大!(為簡單起見,這裡計算沒有考慮拼音,實際上是計算p(種過科雪園| zhong guo ke xue yuan) )

一元模型(unigram):

p(種過科雪園)=p(種) p(過) p(科) p(雪) p(園)

p(重果可薛原)=p(重) p(果) p(可) p(薛) p(原)

p(中國科學院)=p(中) p(國) p(科) p(學) p(院)

訓練:在訓練語料庫中估計以上各p(x)的值

二元模型(bigram): p(中國科學院)=p(中)p(國|中)p(科|國)p(學|科)p(院|學),等價於一階馬爾科夫鏈(markov chain)

三元模型(trigram):p(中國科學院)= p(中)p(國|中)p(科|中國)p(學|國科) p(院|科學)

根據語料,估計所使用模型的引數,然後在搜尋空間中搜尋概率最大的語言片段。

理論上說,在資料充足的情況下,利用更多的歷史(高階)的模型更準確,但是總計算量也越大。資料規模總是有限的,即用於訓練模型引數的語料存在稀疏性(data  sparseness,即某引數在訓練語料中沒有出現)

問題。如二元模型中,在訓練語料中恰巧沒有出現「國科組合」。

資料稀疏性導致零概率問題,上述稀疏性情況下,如果直接計算,那麼p(中國科學院)=0,但是在訓練集上不出現的事件並不代表在新的語料上不出現。

slm的乙個重要工作就是進行平滑(smoothing):重新分配概率,即使沒出現的事件也會賦予乙個概率。

統計語言模型

語言模型就是用來計算乙個句子的概率的模型,即p w1,w2,wk 利用語言模型,可以確定哪個詞序列的可能性更大,或者給定若干個詞,可以 下乙個最可能出現的詞語。舉個音字轉換的例子來說,輸入拼音串為nixianzaiganshenme,對應的輸出可以有多種形式,如你現在幹什麼 你西安再趕什麼 等等,那...

統計語言模型(下)

p wi wi 1 就是這兩個數的比值,再考慮到上面的兩個概率有相同的分母 語料庫大小 可以約掉,所以p wi wi 1 wi 1,wi wi 1 現在你是否感受到數學的美妙?它把一些複雜的問題變得如此簡單。似乎難以相信,這麼簡單的數學模型能解決複雜的語音識別 機器翻譯等問題,而很複雜的文法規則和人...

統計語言模型示例

from collections import counter from jieba import lcut from random import choice corpus 這一生原本乙個人,你堅持廝守成我們,卻小小聲牽著手在預設。感動的眼神說願意,走進我的人生。進了門開了燈一家人,盼來生依然是一...