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的狀態表示中,第一維通常是節點編號 代表以該節點為根的子樹 大多數時候,我們...