李巨集毅機器學習2016 第二十一講 隱馬爾可夫模型和條件隨機場
Hidden Markov Model & Conditional Random Field
本章主要通過舉例詞性標註的例子講解了隱馬爾可夫模型和條件隨機場。
1.詞性標註(part-of-speech tagging,POS tagging)
對應輸入是序列輸出也是序列的結構化學習問題,詞性標註屬於其中。詞性標註指的是在一串的字詞中標註每一個所屬的詞性。
在上圖中,第一個“saw”的詞性是動詞,第二個“saw”的詞性是名詞。
2.隱馬爾可夫模型(Hidden Markov Model,HMM)
隱馬爾可夫模型有兩步:第一步是基於語法生成一個合法的詞性序列(generate a POS sequence based on the grammar);第二部是基於字典生成一個句子序列在第一步生成的詞性序列的基礎上(gengerate a sentence based on the POS sequence;based on a dictionary)。
例如第一步,基於合法的語法,可以計算出生成一個詞性序列的概率。
第二步,基於字典,可計算出在第一步生成的合法詞性序列的條件下生成對應句子的概率。
這兩步之後就可計算出x和y,對應的詞性和句子一起出現的概率。
將其一般化,可將第一步的概率稱為轉移概率(transition probability),第二步的概率稱為輸出概率(emission probability)。其概率值都可以通過訓練資料得到。
計算概率值可以通過在訓練資料中出現的次數計算得到。
詞性標註的任務是給定x(句子序列),找到y(詞性序列)。
需要遍歷所有的y來找到能夠使得P(x,y)最大的y,可以使用維特比演算法(Viterbi Algorithm)減少計算的複雜度。
總結下HMM,至此其三個問題就得到了解決。
HMM的缺點(Drawback):
1、HMM只依賴於每一個狀態和它對應的觀察物件:
計算轉移概率和輸出概率是分開計算的,認為其是相互獨立的。然而序列標註問題不僅和單個詞相關,而且和觀察序列的長度,單詞的上下文,等等相關。
2、目標函式和預測目標函式不匹配:
HMM學到的是狀態和觀察序列的聯合分佈P(Y,X),而預測問題中,我們需要的是條件概率P(Y|X)。
3.條件隨機場(Conditional Random Field,CRF)
條件隨機場對隱馬爾可夫模型進行了改進。CRF假設概率P(x,y)正比於一個函式。
下面介紹下公式由來。
所以可得:
可以認為概率值是正比於一個權值和特徵向量的內積。
特徵向量由兩部分組成,一個部分是標籤和詞的關係(relations between tags and words);
第二部分是標籤之間的關係(relations between tags);
CRF的訓練準則是找到滿足的權值向能夠在最大化目標函式。能夠最大化我們所觀察到的同時,最小化我們沒有觀察到的。
可以使用梯度上升(gradient ascent)方法來求解。
在求得權值向量和特徵向量後,同樣可以和隱馬爾可夫模型一樣使用維特比演算法找到y。
總結下CRF,至此其三個問題就得到了解決。
4.對比(comparsion)
與HMM比較。CRF沒有HMM那樣嚴格的獨立性假設條件,因而可以容納任意的上下文資訊。CRF模型解決了標註偏置問題,去除了HMM中兩個不合理的假設,當然,模型相應得也變複雜了。因此訓練代價大、複雜度高。
5.總結
本章重點以詞性標註(part-of-speech tagging,POS tagging)為例,講述了隱馬爾可夫模型(Hidden Markov Model,HMM)和條件隨機場(Conditional Random Field,CRF),並對二者進行了對比(comparsion)。