斯坦福大學-自然語言處理入門 筆記 第四課 語言模型
阿新 • • 發佈:2018-11-06
一、介紹N-grams
1、概率語言模型
對每個句子給出一個概率,用以判斷機器翻譯中哪個句子是最佳的選擇,拼寫校準中哪個句子可能出現錯誤。
- 目標:計算句子或者是一系列單詞的概率
- 相關任務:下一個詞的概率
- 計算上述兩者的模型就是語言模型。可能更好的叫法是語法(the grammer),但是語言模型(language model)和LM是標準的叫法。
2、如何計算P(W)
利用概率的鏈式法則來進行計算
- 鏈式法則
- 公式為:
3、如何估計等式右邊的概率
- 直接統計出現的次數進行比較(如下式)是不可以的。因為我們無法統計完所有可能的句子。
- 所以我們採用馬爾可夫假設(Markov assumption)
或者是:
也就是說我們利用前面有限個數(k個)的單詞的條件概率來估計前面所有單詞的條件概率,通用公式可以表示為:
4、N-grams模型
- 利用馬爾可夫假設最簡單的模型是一元模型(unigram model),這個模型假設單詞之間是獨立的。
- 二元模型(bigram model),假設單詞只與前一個單詞有關聯
- N元模型(N-gram model):往下拓展我們可以得到三元、四元,五元。
- 從一般意義上而言,對語言模型而言還是不夠的,因為語言存在長距離相關性
- 但是對於我們研究的問題而言,大部分時候是能夠解決問題的
- 利用馬爾可夫假設最簡單的模型是一元模型(unigram model),這個模型假設單詞之間是獨立的。
二、估計N元(N-gram)概率
1、二元概率的估計
- 極大似然的估計
- 例子
2、句子概率的二元估計
3、在實際應用中我們會以對數形式運算
優點是
- 可以防止得到的數字過小下溢(underflow)
- 加法算起來比乘法更快
4、語言模型工具(toolkits)
- SRILM http://www.speech.sri.com/projects/srilm
- Google N-Gram Release (2006年八月)http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
- Google book N-grams http://ngrams.googlelabs.com/
三、Evaluation and Perplexity
1、N元模型的外部估計(extrinsic evaluation)
- 比較模型A和模型B的最好估計:給AB兩個模型一樣的任務,比較A和B的任務的正確情況
- 問題這樣的估計有的時候非常費時,所以我們的有的時候會使用內部(intrinsic)估計:perplexity。
- perplexity不是一個好的近似,只有在測試資料和訓練資料相似的時候,才比較好。所以我們一般用在中間試驗(pilot experiment)
2、Perplexity的一種度量
- 一個比較好的模型,應該給實際上會出現的單詞更高的概率。最好的模型,應該是在測試集上表現得最好的模型。
- Perplexity就是在測試集上度量的概率,並且用單詞數進行標準化,等價於最大化概率。
使用鏈式法則
當二元模型時: