N-gram的簡單的介紹

目錄

  1. 聯合機率
  2. 條件機率
  3. N-gram的計算方式

     4. 評估N-gram的模型.

前言:

    N-gram是機器學習中NLP處理中的一個較爲重要的語言模型,經常使用來作句子類似度比較,模糊查詢,以及句子合理性,句子矯正等. 再系統的介紹N-gram前,咱們先了解一下這幾種機率.機器學習

正文:

  一、聯合機率介紹:

    形如:p(W1,....,Wn); 表示的意思是: w1,...Wn同時發生的機率.列舉一個具體的例子說明:學習

    P(A,B) ,表示的是A,B同時發生的機率.blog

   1.1 當A,B相互獨立時,也就是交集爲空的時候,P(A,B) = P(A)P(B)事件

   1.2 當A,B相關聯的時候,或者說存在交集的時候,P(A,B) = P(A)P(B|A),以下圖所示table

       

 總的樣本數爲T,A的樣本數爲7,B的樣本數爲6,A,B相同的樣本數爲2擴展

那麼:im

    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) = ∏nP(wi|w1,w2,..wi-1)     (累乘)

 

   二、條件機率:

  形如: 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),也就是這個句子的合理的機率.

                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("椅子"|「跳上」);其中各個詞的數量數語料庫中統計的數量

   跳上   椅子
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)

                   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   二元模型

    能夠看出二元模型比一元模型的值要小,而值越小說明模型越好.

相關文章
相關標籤/搜索