NLP-初學條件隨機場(CRF)
阿新 • • 發佈:2019-01-24
- 說明:學習筆記,內容參考《機器學習》《數學之美》和七月線上課件
條件隨機場
定義1:
條件隨機場(conditional random field,簡稱CRF)是一種判別式無向圖模型。生成式模型是直接對聯合分佈進行建模,而判別式模型則是對條件分佈進行建模,隱馬爾可夫模型就是生成式模型。——周志華《機器學習》
定義2:
條件隨機場模型是Lafferty於2001年,在最大熵模型和隱馬爾可夫模型的基礎上,提出的一種判別式概率無向圖學習模型,是一種用於標註和切分有序資料的條件概率模型。
普遍意義上的條件隨機場:
模型解釋:
①條件隨機場保留了隱含馬爾可夫模型的一些特性,比如圖中的 等狀態的序列還是一個馬爾可夫鏈。
②在圖中,頂點代表一個個隨機變數,頂點之間的弧代表他們之間的依賴關係,採用概率分佈來描述。
③它的特殊性在於變數之間要遵守馬爾可夫假設,即每個狀態的轉移概率只取決於相鄰的狀態,這一點,它和貝葉斯網路相同。不同之處在於貝葉斯網路是有向圖,而條件隨機場是無向圖,
1.生成式模型和判別式模型
o,s分別代表觀測序列和標記序列
- 生成式模型
- 構建o和s的聯合分佈p(s,o),可以根據聯合概率來生成樣本,如HMM,BNs,MRF。
- 缺點:目標分類問題中容易產生較大的錯誤率
- 優點:
- 判別式模型
- 構建o和s的條件分佈p(s|o),因為沒有s的知識無法生成樣本,只能判斷分類,如SVM,CRF,MEMM。
- 缺點:不能反映訓練資料本身的特性
- 優點:分類邊界更靈活;能清晰分辨出多類或某一類與其他類之間的差異特徵;適用於較多類別的識別
- 二者關係
- 由生成模型可以得到判別模型,但由判別模型得不到生成模型。
2.詞性標註
除了上一章介紹的HMM進行詞性標註外,也可以使用條件隨機場進行詞性標註。正如分類器所做,首先需要設定一組特徵方程。
①CRF的特徵函式
每個特徵函式的輸入包括:
- 一個句子
- 詞在句子中的位置
- 當前詞的標籤
- 前一個詞的標籤
②從特徵到概率
為我們每個特徵函式設定一個權重值(通過訓練學習得到這些權重值),給定一個句子s,可以通過累加句中所有詞加權後的特徵來為s的打標結果打分:
注:第一個求和是對遍歷特徵方程的求和,第二個球和是對句子裡面的每一個位置進行遍歷求和。最終,通過求指數與歸一的方式將得分轉化為0,1之間的概率值:
注:邏輯迴歸是分類問題的對數線性模型,CRF是序列標註問題的對數線性模型。
③權重學習
- 學習CRF權重,以梯度上升方法為例:
- 有一組訓練樣本(包括句子和相關的詞性標註標籤結果);先為我們的CRF模型隨機初始化權重值;為了使這些隨機初始的權重最終調整為正確的值,需要遍歷每個訓練樣本,然後執行:
遍歷每個特徵函式,併為計算訓練樣本的對數概率梯度值: