《NLP》第二章The Language Modeling Problem
0.本章會講哪些內容?
Language modeling。
2. 如何定義一個language model?
定義vocabulary和sentence set:

定義概率分布:
在90年代,訓練集一般是20 million words這個數量級。
在21世界初,訓練集一般是1 billion words這個數量級。
目前,訓練集可以到20 billion words這個數量級。
也就是input是一個trainning set,output是一個distribution。

a.因為很多應用需要它。
b.因為處理這個問題estimation技術在其它NLP問題上也很有用。
比如speech recognition怎麼使用language model:
語音識別時先把語音分割成frame,而frames組成了一句話,在語音識別時,符合我這個input可能有多種語音,比如下面:

在語音識別時,language model判斷的概率就可以當做先驗概率,可以用來過濾掉那些不太可能的sentences。
4. 最簡單的模型是什麼?
缺點有很多,一個是如果樣本集里沒有某個句子,那這個句子的概率就是0,所以對new sentences的generalize很不好。

而我們的目的,就是從這個最簡單的模型觸發,探索generalize很好的模型。
5.什麼是Markov process?
馬爾科夫過程:

一階馬爾科夫:
第一步:使用chain rule:

第i個random variable只和第i-1個random varirable相關。

這樣大大簡化了模型。
6.那麼二階馬爾科夫(second order markov process)?

7. 再進一步,如果想讓句子的長度n是個random variable呢?

相當於二階馬爾科夫
對於每個u,v,w,都有一個條件概率p(w|u, v),作為parameter

9.來舉個例子吧

這個模型還是很naive的,在課程後面會看到一些更realisitic的model。
這個模型的有點就是simplicity。
10.那剩下的問題,就是我們怎麼估計這些參數呢?
最簡單的方法就是最大似然


perplexity的中文叫做困惑度。和complexity拼寫起來比較像哈。
注意,最後計算出來的perplexity是平均每個word的metric。

加入我們的q(w|u, v)是個均勻分布,那麼Perplexity會取到最大值,即N。可以它它當做branching factor。
perplexity其實是個資訊理論里的概念。

13. 讓我們來看看這個language model的歷史吧
最早研究這個問題的是香農大神,怪不得衡量模型時用的是資訊理論里的概念perplexity。
當時香農做的實驗既是用的trigram model,他發現人在判斷下一個word要比trigram model好的多。

另外一個早期的研究,它的結論是對於語言學來說,統計學模型並不能搞定語法。(好像是這個意思)

推薦閱讀:
※Attention is All You Need | 每周一起讀
※基於TF-IDF演算法抽取文章關鍵詞
TAG:自然语言处理 |


