• 沒有找到結果。

二、  相關研究

2.5  Conditional Random Fields

2.5.2  模型定義

2.5 Conditional Random Fields 

2.5.1 簡介 

Hidden Markov models 是經典的 sequence models,然而,最近幾年,效能 最好,獲得許多領域廣泛使用的序列模記模型,則是conditional random fields  (CRFs)。Lafferty et al. [8]  提出 conditional random fields,主要針對 hidden  Markov models 和 maximum entropy Markov models [25]  的缺點,改進而來。

相較於傳統的hidden Markov models,以 conditional models 為基礎的

conditional random fields 沒有 generative models 的限制,所以可以如 maximum  entropy models 或 maximum entropy Markov models,自由地在 model 中,增加 各種形式的features。而相較於同樣是 conditional probabilistic based 的序列模 型的maximum entropy Markov models,conditional random fields 迴避了惡名 昭彰的label bias problem [8], [26], [27]。除了理論上的優點,conditional random  fields 也確實在實驗中,超越 hidden Markov models 和 maximum entropy Markov  models,而迅速成為主流的序列標記模型。目前已經應用在詞性標記

(part‐of‐speech tagging)  [8]、部份短語標記(shallow parsing)  [28]、中文 斷詞  [7]、語音資料的句式邊界偵測  [29]  等問題,並且展現優秀的效能。 

 

2.5.2 模型定義 

在一般情況下,conditional random fields 是一種 undirected graphical  models(無向圖模型),但在作序列標記時,則只使用其中的特例:鏈狀結構

(chain‐structured)無向圖,如圖 5 所示。 

 

圖  5  鏈狀結構的 conditional random fields 圖形 

 

設   為 observation sequence 的隨機變數,Y 是對應於 X 的 label sequence 的隨機變數,在此假設    和    有相同的長度。 的每一個項目    的內容都是 一個label,例如詞性標記中的詞性,或是中文斷詞中,漢字在詞中的位置(舉  [6]   

的例子,就是LL、RR、MM、LR 這些標籤)。Conditional random fields 定義  |   是給定輸入序列  X 之後,label sequence Y 的條件機率分布。 

 

定義:設無向圖    , ,且  ,故Y 裡的每一項,都是 G 上的頂點。當X 條件成立,且隨機變數    符合 Markov property 

| , , | , , ~  ,則  ,   是 conditional random fields。 

2 

由於我們在此只考慮鏈狀結構(chain‐structured)的 conditional random  fields,因此,G 可以簡化為鏈狀形式:   1, 2, 3, … , , 1 ,

其中 1 。 

設輸入的observation sequence  , , … ,其對應的label (state)  sequence    , , …  ,則可以透過conditional random fields 計算給定 X

      

  在此,  ~    表示 w 和 v 是 G 上的相鄰點 

時,Y 的條件機率: 

 

| 1

exp , , ,        1  

 

  其中, 是正規化因數(normalization factor),使所有  | 對 所有Y 值的機率總合為 1。而  , , …  和  , , …   則分別是參數

(parameters)和特徵函數(feature functions)。 

特徵函數  , , ,   通常是二元值(binary‐valued)函數,而參數      則可以視為是這個函數    的 weight。由於特徵函數的格式,考慮了標籤前後的 相依(   )、整個 observation sequence X、以及目前在序列中的位置 t,

所以在使用conditional random fields 時,可以針對問題特質,設計各式各樣的 特徵函數。以古漢語斷詞來說,被標記為RR 的字(詞的尾字),下一個字很可 能就是LL(詞的首字)。所以對應的特徵函數就是: 

 

, , , 1, if   and    0, otherwise    

由於在RR 後面接著 LL 的可能性極高(另一個可能是 RR 之後接 LR,但 LR 是極少數),所以這個特徵函數所對應的參數 經過訓練之後,理應有相當高的 權重。 

而像「汽車」這個詞,「汽」字是LL,「車」字是 RR,則可以用這個特徵函 數來描述: 

 

, , , 1, if   and   and  汽 and  車  

0, otherwise  

 

將feature function 改寫為比較簡短的形式,得到: 

 

, , , ,         2  

 

再將  (1)  式改寫為: 

 

| 1

exp ,        3  

 

特徵函式可以由人工設計、從外部的字典檔產生,也可以透過自動化的方法,

從training data 中汲取。而每一個特徵函式    所對應的 weight      值,無法 用分析式的方法計算,而必須要用parameters estimation 求出。 

 

有了特徵函數  f  以及參數  ,對於給定的 input sequence X,其最有可能的 label sequence 就是: 

 

arg max |      

此時,只要套用典型的解碼演算法Viterbi [22], [23],便可以很有效率地算 出label sequence    [8],和 hidden Markov models 的解碼過程相似。