N-gram的簡單的介紹
目錄:
1. 聯合概率
2. 條件概率
3. 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) = ∏ni 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 | 16 | 23 |
依據這些數據就可以求出P(A,B,C),也就是這個句子的合理的概率.
3.2 對於二元模型,每個詞都與它左邊的最近的一個詞有關聯,也就是對於P(A,B,C) = P(A)P(B|A)P(C|B)
比如語句:“貓,跳上,椅子” ,P(A="貓",B="跳上",C="椅子") = P("貓")P(“跳上”|“貓”)P("椅子"|“跳上”);其中各個詞的數量數語料庫中統計的數量
貓 | 跳上 | 椅子 | |
貓 | 0 | 9 | 1 |
跳上 | 0 | 3 | 15 |
椅子 | 0 | 0 | 0 |
依據這些圖表一和圖表二就可以求出P(A,B,C),也就是這個句子的合理的概率.
P(A,B,C) = P(A)P(B|A)P(C|B)
3.3 對於三元模型,每個詞都與它左邊的最近的兩個詞有關聯. 計算同上.
N-gram的簡單的介紹