N gram的簡單的介紹

2022-03-13 13:03:22 字數 2111 閱讀 3591

1. 聯合概率

2. 條件概率

3. n-gram的計算方式

4. 評估n-gram的模型.n-gram是機器學習中nlp處理中的乙個較為重要的語言模型,常用來做句子相似度比較,模糊查詢,以及句子合理性,句子矯正等. 再系統的介紹n-gram前,我們先了解一下這幾種概率.

1、聯合概率介紹:

形如:p(w1,....,wn); 表示的意思是: w1,...wn同時發生的概率.列舉乙個具體的例子說明:

p(a,b) ,表示的是a,b同時發生的概率.

1.1 當a,b相互獨立時,也就是交集為空的時候,p(a,b) = p(a)p(b)

1.2 當a,b相關聯的時候,或者說存在交集的時候,p(a,b) = p(a)p(b|a),如下圖所示

總的樣本數為t,a的樣本數為7,b的樣本數為6,a,b相同的樣本數為2

那麼:p(a,b) =2/t

1.3 1.2處的公式簡化到一般形式:

p(w1,w2,w3) = p(w1)p(w2|w1)p(w3|w1,w2)

一般形式為: p(w1,w2,..,wn) = p(w1)p(w2|w1)...(wn|wn-1,...,w2,w1);

抽象為:

p(w1,w2,...,wn) = ∏n

i p(wi|w1,w2,..wi-1)     (累乘)

2、條件概率:

形如: p(a|b), 當某一系列事件放生時,該事件發生的概率.,如上圖中的韋恩圖所示:

p(a|b) = p(a,b)/p(a) =  2/7

我們將其擴充套件到一般形式:

p(a|b,c) =  p(a,b,c) / p(b,c)  = p(a,b,c) / ( p(b|c) p(c) )

3. n-gram的計算方式:

n-gram是依據乙個預料庫中,對於單詞的統計,來計算. n-gram常見的有1-gram(一元模型),2-gram(二元模型) ,3-gram(三元模型);

在語義上只認為相近的幾個詞有關聯 ,如果用韋恩圖表示:

3.1 對於一元模型(1-gram),每個詞都是獨立分布的,也就是對於p(a,b,c) 其中a,b,c互相之間沒有交集. 所以p(a,b,c) = p(a)p(b)p(c)

比如語句:「貓,跳上,椅子」 ,p(a="貓",b="跳上",c="椅子") = p("貓")p(「跳上」)p("椅子");其中各個詞的數量數語料庫中統計的數量貓跳上

椅子13

1623

依據這些資料就可以求出p(a,b,c),也就是這個句子的合理的概率.

p(a,b,c) = p(a)p(b)p(c) =13/m * 16/m * 23/m

3.2 對於二元模型,每個詞都與它左邊的最近的乙個詞有關聯,也就是對於p(a,b,c) = p(a)p(b|a)p(c|b)

比如語句:「貓,跳上,椅子」 ,p(a="貓",b="跳上",c="椅子") = p("貓")p(「跳上」|「貓」)p("椅子"|「跳上」);其中各個詞的數量數語料庫中統計的數量

貓跳上 椅子貓

091跳上

0315椅子00

0依據這些圖表一和圖表二就可以求出p(a,b,c),也就是這個句子的合理的概率.

p(a,b,c) = p(a)p(b|a)p(c|b)

p(a) = 13/m

p(b|a) =9/13

p(c|b) = 15/16

3.3 對於三元模型,每個詞都與它左邊的最近的兩個詞有關聯. 計算同上.

4. 評估模型的優劣

對於乙個訓練好的模型,我們需要評估模型的好壞,n-gram常用的評估方式是:

pp(w1,w2,...,wn) = p(w1,w2,...,wn)-1/n

我們以上面的一元模型和二元模型來為例,進行評估計算.

pp(w1,w2,...,wn)1 = (13/m * 16/m * 23/m)-1/3 = (12*16*23)-1/3*m  一元模型

pp(w1,w2,...,wn)2 = (13/m * 9/13 * 15/ 16)-1/3 = (9*15/(16m))-1/3   二元模型

可以看出二元模型比一元模型的值要小,而值越**明模型越好.

mysql的簡單介紹 mysql的簡單介紹

mysql的簡單介紹 資料庫的內部鏈結 1 連線管理器 使用者或應用程式連線 2 分析器 3 快取區4 優化器 優化器執行的結果交由儲存引擎,再轉向物理層 表空間 myisam每個表有三個檔案 frm 表結構 myd 表資料 myi 表索引 innodb 所有表空間再乙個檔案 資料庫失敗的原因 1 ...

N Gram的資料結構

html view plaincopyprint?data ngram 1 64000 ngram 2 522530 ngram 3 173445 1 grams 5.24036 cause 0.2084827 4.675221 em 0.221857 4.989297 n 0.05809768 5...

簡單的 介紹 樹形DP介紹

給定一棵有n個節點的樹 通常是無根樹,也就是有n 1條無向邊 我們可以任選乙個節點為根節點,從而定義出每個節點的深度和每棵子樹的根。在樹上設計動態規劃演算法時,一般就以節點從深到淺 子樹從小到大 的順序作為dp的 階段 dp的狀態表示中,第一維通常是節點編號 代表以該節點為根的子樹 大多數時候,我們...