條件隨機場
作者:櫻花豬
摘要:
本文為七月算法(julyedu.com)12月機器學習第十八次課在線筆記。條件隨機場是一種判別式概率模型,是隨機場的一種,常用於標注或分析序列資料,如自然語言文字或是生物序列。
引言:
“條件隨機場”被用於中文分詞和詞性標注等詞法分析工作,一般序列分類模型常常采用隱馬爾科夫模型(HMM),像基於類的中文分詞。但隱馬爾可夫模型中存在兩個假設:輸出獨立性假設和馬爾可夫性假設。其中,輸出獨立性假設要求序列數據嚴格相互獨立才能保證推導的正確性,而事實上大多數序列數據不能被表示成一系列獨立事件。而條件隨機場則使用一種概率圖模型,具有表達長距離依賴性和交疊性特征的能力,能夠較好地解決標注(分類)偏置等問題的優點,而且所有特征可以進行全局歸一化,能夠求得全局的最優解。
隱馬爾科夫模型可以用於分詞,而條件隨機場則是可以用於詞性的判斷。
預備知識:
最大熵模型,隱馬爾科夫模型、Logistic回歸
一、概述
1、幾種網絡模型的比較
HMM:
MEMM:
CRF
RVM
2、對數線性模型
令x為某樣本,y是x的可能標記,將Logistic/Softmax回歸的特征記做Fj(x,y),則對數線性模型的一般形式:
其中,歸一化因子:
給定x的預測標記為:
3、特征函數的選擇
特征函數幾乎可任意選擇,甚至特征函數間重疊;
以自然語言處理為例:
假定觀測x是單詞,則下列都是合理可行的特征:
x以大寫字母開頭、x以J開頭、x的長度為7、x中包含兩個大寫字母
NLP中常用的特征:前綴、后綴、詞典位置、前置/后置標點
4、詞性標注的特征函數
詞性標注是指將每個單詞標記為名詞/動詞/形容詞/介詞等。
詞性:POS,Part Of Speech
o記w為句子s的某個單詞,則特征函數可以是:
- w在句首/句尾(位置相關)
- w的前綴是anti-/co-/dis-/inter-等(單詞本身)
- w的后綴是-able/-ation/-er/-ing等(單詞本身)
- w前面的單詞是a/could/SALUTATION等(單詞間)
- w后面的單詞是am/is/are/等(單詞間)
w前面兩個單詞是Wouldlike/Therebe等(單詞和句子)
高精度的POS會使用超過10萬個特征。
- 每個特征只和當前詞性有關,最多只和相鄰詞的詞性有關;
- 但特征可以和所有詞有關。
5、詞性標注
詞性標注被稱為“結構化預測”,該任務與標准的類別學習任務存在巨大不同:
- 如果每個單詞分別預測,將丟失眾多信息;
- 相鄰單詞的標記是相互影響的,非獨立。
- 不同的句子有不同長度;
- 這導致不方便將所有句子統一成同長度向量。
- 標記序列解集與句子長度呈指數級增長。
- 這使得窮舉計算幾乎無法實用。
二、線性條件隨機場
線性條件隨機場可以使用對數線性模型。
使用表示n個詞的序列;
表示相應的詞性
定義:
次特征:
定義句子的第j個特征
是由若干次特征組
合而成的,這里的
依賴或部分依賴於當前整個句子
、當前詞的標記
、前一個詞的標記
、當前詞在句子中的位置i。
將每一個位置i上的次特征相加,即得到特征
,從而解決訓練樣本變長的問題。
參數訓練:
給定一組訓練樣本(x,y),找出權向量w,使得下式成立:
滿足上式的w,即為最終的推斷參數。
二、條件隨機場
設X=(X1,X2…Xn)和Y=(Y1,Y2…Ym)都是聯合隨機變量,若隨機變量Y構成一個無向圖G=(V,E)表示的馬爾科夫隨機場(MRF),則條件概率分布P(Y|X)稱為條件隨機場(Conditional Random Field,CRF)
- X稱為輸入變量、觀測序列
- Y稱為輸出序列、標記序列、狀態序列
一般而言,MRF是關於隱變量(狀態變量、標記變量)的圖模型,而給定觀測變量后考察隱變量的條件概率,即為CRF。但這種混用,類似較真總理和周恩來的區別。混用的原因:在計算P(Y|X)時需要將X也納入MRF中一起考慮
三、線性鏈條件隨機場
設X=(X1,X2…Xn)和Y=(Y1,Y2…Ym)都是聯合隨機變量,若隨機變量Y構成一個無向圖G=(V,E)表示的馬爾科夫隨機場(MRF),則條件概率分布P(Y|X)稱為條件隨機場(Conditional Random Field,CRF)
即:
其中,表示與結點v相連的所有結點wo一種重要而特殊的CRF是線性鏈條件隨機場(Linear Chain Conditional Random Field),可用於標注等問題。這時,條件概率P(Y|X)中,Y表示標記序列(或稱狀態序列),X是需要標注的觀測序列。
線性條件隨機場的定義:
X=(X1,X2…Xn)和Y=(Y1,Y2…Yn)均為線性鏈表示的隨機變量序列,若在給定隨機變量序列X的條件下,隨機變量序列Y的條件概率分布P(Y|X)構成條件隨機場,即滿足馬爾科夫性
則稱P(Y|X)為線性鏈條件隨機場。在標注問題中,X表示輸入序列或稱觀測序列,Y表述對應的輸出標記序列或稱狀態序列。
四、CRF總結
條件隨機場可以使用對數線性模型表達。不嚴格的說,線性鏈條件隨機場可看成是隱馬爾科夫模型的推廣,隱馬爾科夫模型可看成是線性鏈條件隨機場的特殊情況。
- 概率計算使用前向-后向算法;
- 參數學習使用梯度上升算法(或IIS);
- 應用於標注/分類,在給定參數和觀測序列(樣本)的前提下,使用Viterbi算法進行標記的預測。
- 標記序列y要求鏈狀,但x無要求,除了一維的詞性標注、中文分詞,還可以用於離散數據(如用戶信息),或二維數據(如圖像),用途廣泛。
缺點:有監督學習計算參數、參數估計的速度慢。