條件随機場(conditional random fields, CRFs)由J. Lafferty等人(2001)提出,近幾年來在自然語言處理和圖像處理等領域中得到了廣泛的應用。
CRF是用來标注和劃分序列結構資料的機率化結構模型。言下之意,就是對于給定的輸出辨別序列Y和觀測序列X,條件随機場通過定義條件機率P(Y|X),而不是聯合機率分布P(X,Y)來描述模型。 CRF也可以看作一個無向圖模型或者馬爾可夫随機場(Markov random field)。
定義6-5(條件随機場) 設G=(V,E)為一個無向圖,V為結點集合,E為無向邊的集合。Y={Yv|v∈V},即V中的每個結點對應于一個随機變量Yv,其取值範圍為可能的标記集合{y}。如果以觀察序列X為條件,每一個随機變量Yv都滿足以下馬爾可夫特性:

其中,w~v表示兩個結點在圖G中是鄰近結點。那麼,(X,Y)為一個條件随機場。
理論上,隻要在标記序列中描述了一定的條件獨立性,G的圖結構可以是任意的。對序列進行模組化可以形成最簡單、最普通的鍊式結構(chain-structured)圖,結點對應标記序列Y中的元素(圖6-13)。或者更直覺一點,把CRF的鍊式結構圖畫為如圖6-14所示。
顯然,觀察序列X的元素之間并不存在圖結構,因為這裡隻是将觀察序列X作為條件,并不對其作任何獨立性假設。
在給定觀察序列X時,某個特定标記序列Y的機率可以定義為
其中,tj(yi-1,yi,X,i)是轉移函數,表示對于觀察序列X其标注序列在i及i-1位置上标記的轉移機率;sk(yi,X,i)是狀态函數,表示對于觀察序列X其i位置的标記機率;λj和μk分别是tj和sk的權重,需要從訓練樣本中估計出來。
參照最大熵模型的做法,在定義特征函數時可以定義一組關于觀察序列的{0,1}二值特征b(X, i)來表示訓練樣本中某些分布特性,例如,
轉移函數可以定義為如下形式:
為了便于描述,可以将狀态函數書寫成如下形式:
s(yi,X,i)=s(yi-1,yi,X,i)
這樣,特征函數可以統一表示為:
其中,每個局部特征函數fj(yi-1,yi,X,i)表示狀态特征s(yi-1, yi,X,i)或轉移函數t(yi-1,yi,X,i)。
由此,條件随機場定義的條件機率可以由下式給出:
其中,分母Z(X)為歸一化因子:
條件随機場模型也需要解決三個基本問題:特征的選取、參數訓練和解碼。其中,參數訓練過程可在訓練資料集上基于對數似然函數的最大化進行。
相對于HMM,CRF的主要優點在于它的條件随機性,隻需要考慮目前已經出現的觀測狀态的特性,沒有獨立性的嚴格要求,對于整個序列内部的資訊和外部觀測資訊均可有效利用,避免了MEMM和其他針對線性序列模型的條件馬爾可夫模型會出現的辨別偏置問題。CRF具有MEMM的一切優點,兩者的關鍵差別在于,MEMM使用每一個狀态的指數模型來計算給定前一個狀态下目前狀态的條件機率,而CRF用單個指數模型來計算給定觀察序列與整個标記序列的聯合機率。是以,不同狀态的不同特征權重可以互相交替代換。