1. 程式人生 > >統計語言模型

統計語言模型

mat uri data- add ace msu 信息 狀態 經典

語言模型

技術分享圖片

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

那麽,如何計算技術分享圖片呢?最簡單、直接的方法是計數後做除法,即最大似然估計(Maximum Likelihood Estimate,MLE),如下:

技術分享圖片

其中,count(w1,w2,,wi?1,wi) 表示詞序列(w1,w2,,wi?1,wi) 在語料庫中出現的頻率。這裏面臨兩個重要的問題:數據稀疏嚴重和參數空間過大,導致無法實用。

實際中,我們一般較常使用的是 N 元語法模型(N-Gram),它采用了馬爾科夫假設(Markov Assumption),即認為語言中每個單詞只與其前面長度 N-1 的上下文有關。

  • 假設下一個詞的出現依賴它前面的一個詞,即 bigram,則有:

技術分享圖片

  • 假設下一個詞的出現依賴它前面的兩個詞,即 trigram,則有:

技術分享圖片

那麽,我們在面臨實際問題時,如何選擇依賴詞的個數,即 N 呢?

  • 更大的 n:對下一個詞出現的約束信息更多,具有更大的辨別力
  • 更小的 n:在訓練語料庫中出現的次數更多,具有更可靠的統計信息,具有更高的可靠性。

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

從本質上說,這種統計語言模型描述的是有限狀態的正則文法語言,而自然語言是不確定性語言,因此與真實語言差異較大,表達能力有限,尤其無法較好的處理長距離依賴語言現象。但是,其抓住了自然語言中的局部性約束(Local Constrain)性質,因此該模型在實際應用中取得了較大的成功。

言模型效果評估

語言模型構造完成後,如何確定其好壞呢?目前主要有兩種評價方法:

  • 實用方法:通過查看該模型在實際應用(如拼寫檢查、機器翻譯)中的表現來評價,優點是直觀、實用,缺點是缺乏針對性、不夠客觀;
  • 理論方法:迷惑度/困惑度/混亂度(preplexity),其基本思想是給測試集賦予較高概率值的語言模型較好,公式如下:

技術分享圖片

由公式可知,迷惑度越小,句子概率越大,語言模型越好。

數據稀疏與平滑技術

大規模數據統計方法與有限的訓練語料之間必然產生數據稀疏問題,導致零概率問題,符合經典的 zip’f 定律。如 IBM Brown:366M 英語語料訓練 trigram,在測試語料中,有14.7% 的 trigram 和 2.2% 的bigram 在訓練語料中未出現。

為了解決數據稀疏問題,人們為理論模型實用化而進行了眾多嘗試與努力,誕生了一系列經典的平滑技術,它們的基本思想是“降低已出現 n-gram 的條件概率分布,以使未出現的 n-gram 條件概率分布非零”,且經數據平滑後一定保證概率和為1,數據平滑前後如下圖所示:

技術分享圖片

  • Add-one(Laplace) Smoothing

加一平滑法,又稱拉普拉斯定律,其保證每個 n-gram 在訓練語料中至少出現 1次,以 bigram 為例,公式如下:

技術分享圖片

其中,V 是所有 bigram 的個數。

V>>c(wi?1,wi)時,即訓練語料庫中絕大部分 n-gram 未出現的情況(一般都是如此),Add-one Smoothing後有些“喧賓奪主”的現象,效果不佳。

一種簡單的改進方法是 add-δ smoothing (Lidstone, 1920; Jeffreys, 1948)。δ 是一個小於 1 的數。

  • Good-Turing Smoothing

其基本思想是利用頻率的類別信息對頻率進行平滑。如下圖所示:

技術分享圖片

其中,Nc表示出現次數為 c 的 n-gram 的個數。調整出現頻率為 c 的 n-gram 折扣頻率為 c?

技術分享圖片

但是,對於較大的 c,可能出現Nc+1=0 或者 Nc>Nc+1的情況,反而使得模型質量變差,如下圖所示:

技術分享圖片

直接的改進策略就是“對出現次數超過某個閾值的 gram 不進行平滑,閾值一般取8~10。

  • Interpolation Smoothing

不管是 Add-one,還是 Good Turing 平滑技術,對於未出現的 n-gram 都一視同仁,難免存在不合理性(事件發生概率存在差別),所以這裏再介紹一種線性插值平滑技術,其基本思想是將高階模型和低階模型作線性組合,利用低元 n-gram 模型對高元 n-gram 模型進行線性插值。因為在沒有足夠的數據對高元 n-gram 模型進行概率估計時,低元 n-gram 模型通常可以提供有用的信息。

  • Katz Backoff

其基本思想是如果 n-gram 出現頻率為 0,就回退到(n-1)-gram 近似求解。

統計語言模型