N-Gram的基本原理
1.N-Gram的介紹
N-Gram是基于一個(gè)假設(shè):第n個(gè)詞出現(xiàn)與前n-1個(gè)詞相關(guān),而與其他任何詞不相關(guān)(這也是隱馬爾可夫當(dāng)中的假設(shè))。整個(gè)句子出現(xiàn)的概率就等于各個(gè)詞出現(xiàn)的概率乘積。各個(gè)詞的概率可以通過(guò)語(yǔ)料中統(tǒng)計(jì)計(jì)算得到。通常N-Gram取自文本或語(yǔ)料庫(kù)。
N=1時(shí)稱為unigram,N=2稱為bigram,N=3稱為trigram,假設(shè)下一個(gè)詞的出現(xiàn)依賴它前面的一個(gè)詞,即 bigram,假設(shè)下一個(gè)詞的出現(xiàn)依賴它前面的兩個(gè)詞,即 trigram,以此類推。
舉例中文:“你今天休假了嗎”,它的bigram依次為:
你今,今天,天休,休假,假了,了嗎
理論上,n 越大越好,經(jīng)驗(yàn)上,trigram 用的最多,盡管如此,原則上,能用 bigram 解決,絕不使用 trigram。
假設(shè)句子T是有詞序列w1,w2,w3...wn組成,用公式表示N-Gram語(yǔ)言模型如下:
P(T)=P(w1)*p(w2)*p(w3)***p(wn)=p(w1)*p(w2|w1)*p(w3|w1w2)** *p(wn|w1w2w3...)p(T)?就是語(yǔ)言模型,即用來(lái)計(jì)算一個(gè)句子 T 概率的模型。
以上公式難以實(shí)際應(yīng)用。此時(shí)出現(xiàn)馬爾可夫模型,該模型認(rèn)為,一個(gè)詞的出現(xiàn)僅僅依賴于它前面出現(xiàn)的幾個(gè)詞。這就大大簡(jiǎn)化了上述公式。
P(w1)P(w2|w1)P(w3|w1w2)…P(wn|w1w2…wn-1)≈P(w1)P(w2|w1)P(w3|w2)…P(wn|wn-1)一般常用的N-Gram模型是Bi-Gram和Tri-Gram。分別用公式表示如下:?
Bi-Gram: P(T)=p(w1|begin)*p(w2|w1)*p(w3|w2)***p(wn|wn-1)Tri-Gram: P(T)=p(w1|begin1,begin2)*p(w2|w1,begin1)*p(w3|w2w1)***p(wn| wn-1,wn-2)
注意上面概率的計(jì)算方法:P(w1|begin)=以w1為開(kāi)頭的所有句子/句 子總數(shù);p(w2|w1)=w1,w2同時(shí)出現(xiàn)的次數(shù)/w1出現(xiàn)的次數(shù)。以此類推
2.一個(gè)經(jīng)典的二元語(yǔ)言模型例子
語(yǔ)料庫(kù)中一些單詞的詞頻,統(tǒng)計(jì)出各個(gè)單詞與其他單詞的前后聯(lián)系的頻次,組成一個(gè)7*7的二維矩陣,如下圖
那么語(yǔ)句 ?“I want to eat Chinese food” ?的二元語(yǔ)言模型概率計(jì)算過(guò)程如下
3.構(gòu)建 N-Gram 語(yǔ)言模型
通常,通過(guò)計(jì)算最大似然估計(jì)(Maximum Likelihood Estimate)構(gòu)造語(yǔ)言模型,這是對(duì)訓(xùn)練數(shù)據(jù)的最佳估計(jì),如 bigram 公式如下:
p(wi|wi?1)=fraccount(wi?1,wi)count(wi?1)——條件概率
如給定句子集“<s> I am Sam </s>
? ? ? ? ? ? ? ? ? ? ? ?<s> Sam I am </s>
? ? ? ? ? ? ? ? ? ? ? ?<s> I do not like green eggs and ham </s>”
部分 bigram 語(yǔ)言模型如下所示
?
count(wi)?如下:
count(wi?1,wi)?如下:
則 bigram 為:
那么,句子“<s> I want chinese?food </s>”的概率為:
p(<s>Iwantchinesefood</s>)?=p(I|<s>)P(want|I)p(chinese|want)p(food|chinese)p(</s>|food)=.000031
?
轉(zhuǎn)載于:https://www.cnblogs.com/bep-feijin/p/9430164.html
總結(jié)
以上是生活随笔為你收集整理的N-Gram的基本原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PHP mail()可能导致的问题
- 下一篇: Jquery.tmpl