N Gram的基本原理

2022-07-20 18:18:14 字數 1806 閱讀 9258

n-gram是基於乙個假設:第n個詞出現與前n-1個詞相關,而與其他任何詞不相關(這也是隱馬爾可夫當中的假設)。整個句子出現的概率就等於各個詞出現的概率乘積。各個詞的概率可以通過語料中統計計算得到。通常n-gram取自文字或語料庫。

n=1時稱為unigram,n=2稱為bigram,n=3稱為trigram,假設下乙個詞的出現依賴它前面的乙個詞,即 bigram,假設下乙個詞的出現依賴它前面的兩個詞,即 trigram,以此類推。

舉例中文:「你今天休假了嗎」,它的bigram依次為:

你今,今天,天休,休假,假了,了嗎

理論上,n 越大越好,經驗上,trigram 用的最多,儘管如此,原則上,能用 bigram 解決,絕不使用 trigram。

假設句子t是有詞序列w1,w2,w3...wn組成,用公式表示n-gram語言模型如下:

p(t)=p(w1)*p(w2)*p(w3)***p(wn)=p(w1)*p(w2|w1)*p(w3|w1w2)** *p(wn|w1w2w3...) 

p(t) 就是語言模型,即用來計算乙個句子 t 概率的模型。

以上公式難以實際應用。此時出現馬爾可夫模型,該模型認為,乙個詞的出現僅僅依賴於它前面出現的幾個詞。這就大大簡化了上述公式。

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)

注意上面概率的計算方法:p(w1|begin)=以w1為開頭的所有句子/句 子總數;p(w2|w1)=w1,w2同時出現的次數/w1出現的次數。以此類推

語料庫中一些單詞的詞頻,統計出各個單詞與其他單詞的前後聯絡的頻次,組成乙個7*7的二維矩陣,如下圖

那麼語句  「i want to eat chinese food」  的二元語言模型概率計算過程如下

通常,通過計算最大似然估計(maximum likelihood estimate)構造語言模型,這是對訓練資料的最佳估計,如 bigram 公式如下:

p(wi|wi−1)=fraccount(wi−1,wi)count(wi−1)——條件概率

如給定句子集「i am sam

sam i am

i do not like green eggs and ham 」

部分 bigram 語言模型如下所示

count(wi) 如下:

count(wi−1,wi) 如下:

則 bigram 為:

那麼,句子「i want chinese food」的概率為:

p(iwantchinesefood)=p(i|)p(want|i)p(chinese|want)p(food|chinese)p(|food)=.000031

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

pwm控制的基本原理 PWM控制的基本原理

pwm pulse width modulation 控制 脈衝寬度調製技術,通過對一系列脈衝的寬度進行調製,來等效地獲得所需要波形 含形狀和幅值 pwm控制技術在逆變電路中應用最廣,應用的逆變電路絕大部分是pwm型,pwm控制技術正是有賴於在逆 變電路中的應用,才確定了它在電力電子技術中的重要地位...

8 2 1 基本原理

乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...