Language Modeling with N-grams (Speech and Language Processing)

語言模型

計算詞序列(words sequences)機率的模型稱爲語言模型(LMs),詞序列(w1,w2,...,wn)的機率爲:
P(w1n) = P(w1)p(w2|w1)P(w3|w1w2)...P(wn|w1n-1)web

Bigram model

二元模型的前提是Markov假設(一個詞的機率只依賴於其前面一個詞),值爲前一個詞下的條件機率,再也不是前面詞序列下的條件機率。
P(wn|w1n-1) => P(wn|wn-1)blog

N-gram model

N元模型詞機率設爲前N-1個詞下的條件機率
P(wn|w1n-1) => P(wn|wn-(N-1)n-1)get

計算實例

計算下二元模型的詞序列機率。
下圖展現了一個語料庫裏各詞出現次數

下圖展現了二元詞序列的出現次數及其各詞機率

如(i want)詞序列出現827次,i出現2533次,P(want|i) = 827/2533 = 0.33class

log機率

一般機率計算轉換爲log機率,避免機率相乘太小溢出。存儲的時候只記錄log和,須要原始機率時再進行轉換。
P1P2P3P4=e(lnP1 + lnP2 + lnP3 + lnP4)
機率大小就存儲爲lnP1 + lnP2 + lnP3 + lnP4model

參考

http://web.stanford.edu/~jurafsky/slp3/im

相關文章
相關標籤/搜索