基於自然語言處理角度談談CRF
作者:白寧超
2016年8月2日21:25:35
【摘要】:條件隨機場用於序列標注,數據分割等自然語言處理中,表現出很好的效果。在中文分詞、中文人名識別和歧義消解等任務中都有應用。本文源於筆者做語句識別序列標注過程中,對條件隨機場的了解,逐步研究基於自然語言處理方面的應用。成文主要源於自然語言處理、機器學習、統計學習方法和部分網上資料對CRF介紹的相關的相關,最后進行大量研究整理匯總成體系知識。文章布局如下:第一節介紹CRF相關的基礎統計知識;第二節介紹基於自然語言角度的CRF介紹;第三節基於機器學習角度對CRF介紹,第四節基於統計學習角度對相關知識介紹;第五節對統計學習深度介紹CRF,可以作為了解內容。(本文原創,轉載請注明出處:基於自然語言處理角度談談CRF。)
目錄
【自然語言處理:漫步條件隨機場系列文章(一)】:前戲:一起走進條件隨機場
【自然語言處理:漫步條件隨機場系列文章(二)】:基於自然語言處理角度談談CRF
【自然語言處理:漫步條件隨機場系列文章(三)】:基於機器學習角度談談CRF
【自然語言處理:漫步條件隨機場系列文章(四)】:基於統計學習角度談談CRF
【自然語言處理:漫步條件隨機場系列文章(五)】:條件隨機場知識擴展
1 條件隨機場(Condition Random Fields),簡稱CRFs
條件隨機場概念:條件隨機場就是對給定的輸出標識序列Y和觀察序列X,條件隨機場通過定義條件概率P(X|Y),而不是聯合概率分布P(X,Y)來描述模型。
概念解析:
標注一篇文章中的句子,即語句標注,使用標注方法BIO標注,B代表句子的開始,I代表句子中間,O代表句子結束。則觀察序列X就是一個語料庫(此處假設一篇文章,x代表文章中的每一句,X是x的集合),標識序列Y是BIO,即對應X序列的識別,從而可以根據條件概率P(標注|句子),推測出正確的句子標注,顯然,這里針對的是序列狀態,即CRF是用來標注或划分序列結構數據的概率化結構模型,其在自然語言處理和圖像處理領域得到廣泛的應用,CRF可以看作無向圖模型或者馬爾科夫隨機場。
2 條件隨機場的形式化表示
設G=(V,E)為一個無向圖,V為結點的集合,E為無向邊的集合,,即V中的每個結點對應一個隨機變量Yv,其取值范圍為可能的標記集合{Y}.如果觀察序列X為條件,每一個隨機變量 都滿足以下馬爾科夫特性:
,其中,w – v表示兩個結點在圖G中是鄰近結點,那么,(X,Y)為條件隨機變量。
以語句識別的案例理解條件隨機場的形式化表示。
G=(V,E表示識別語句:【我愛中國】的標注是一個無向圖,X我觀察序列,Y為標注序列,V是每個標注狀態的結點,E的無向邊,邊上的權值為概率值。表示每個X的Y的標注,如:X1:我,y1:O,y2:I,y3:B;取值范圍
,而
中w—v表示我與愛是相鄰的結點,這樣的(X,Y)為一個條件隨機場,真正的標注再采用Viterbi算法,如:
尋求最大概率即,記錄下我的標注路徑,同理可知:
如上便是對條件隨機場與Viterbi算法的綜合運用,其中Viterbi標注問題本質是隱馬爾科夫模型三大問題之解碼問題算法模型,具體參考(揭秘馬爾科夫模型系列文章)
3 深度理解條件隨機場
理論上標記序列描述一定條件的獨立性,G圖結構任意的,對序列進行建模可形成最簡單,最普通的鏈式結構圖,結點對應標記序列X中元素,CRF鏈式圖如下:
如上圖兩種表示是一致的,其中圖鏈式句子標注是圖鏈式2的實例化,讀者可能問為什么上面圖是這種而不是廣義的圖,這是因為觀察序列X的元素之間並不存在圖結構,沒有做獨立性假設,這點也非常容易理解,諸如圖中,我愛中國,其中b表示反射概率而t是轉移概率,線上的數值表示權值即概率值。如圖3,我的發射概率0.7,我到愛的轉移概率0.5,通俗講,我和愛兩個字是有關聯的,並非獨立的。
4 公式化表示條件隨機場
在給定的觀察序列X時,某個待定標記序列Y的概率可以定義為
其中是轉移概率,
是狀態函數,表示觀察序列X其中i的位置的標記概率,
和
分別是t和s的權重,需要從訓練樣本中估計出來。
實例解析:
我愛中國,其中x2是愛字,表示在觀察狀態2中,我到愛的轉移概率,其中j∈{B,I,O},可知
的生成概率或者發射概率的特征函數.觀察序列{0,1}二值特征b(x,i)來表示訓練樣本中某些分布特征,其中采用{0,1}二值特征即符合條件標為1,反之為0;
為了便於描述,可以將狀態函數書寫以下形式:
特征函數:
其中每個局部特征表示狀態特征,
或者專業函數
,由此條件隨機場的定義條件概率如下:
,
其中分母為歸一化因子:
5 本節總結
條件隨機場模型也需要解決三個基本問題:特征的選擇,參數訓練和解碼。其中參數訓練過程在訓練數據集上基於對數似然函數最大化進行。
CRF優點:相對於HMM,CRF主要優點是它的條件隨機性,只需要考慮當前出現的觀察狀態的特性,沒有獨立性嚴格要求,CRF具有MEMM一切優點。
CRF與MEMM區別:
MEMM:使用每一個狀態的指數模型來計算給定前一個狀態下當前狀態的條件概率。
CRF:用單個指數模型計算給定觀察序列與整個標記序列聯合概率。
《統計自然語言處理》P128頁有關於隨機場模型的實現工具。
6 參考文獻
【1】 數學之美 吳軍 著
【2】 機器學習 周志華 著
【3】 統計自然語言處理 宗成慶 著(第二版)
【4】 統計學習方法(191---208) 李航
【5】 知乎 網絡資源
7 自然語言相關系列文章
【自然語言處理】:【NLP】揭秘馬爾可夫模型神秘面紗系列文章
【自然語言處理】:【NLP】大數據之行,始於足下:談談語料庫知多少
【自然語言處理】:【NLP】驀然回首:談談學習模型的評估系列文章
【自然語言處理】:【NLP】快速了解什么是自然語言處理
【自然語言處理】:【NLP】自然語言處理在現實生活中運用
聲明:關於此文各個篇章,本人采取梳理扼要,順暢通明的寫作手法。系統閱讀相關書目和資料總結梳理而成,旨在技術分享,知識沉淀。在此感謝原著無私的將其匯聚成書,才得以引薦學習之用。其次,本人水平有限,權作知識理解積累之用,難免主觀理解不當,造成讀者不便,基於此類情況,望讀者留言反饋,便於及時更正。本文原創,轉載請注明出處:基於自然語言處理角度談談CRF。