天天看點

HMM & CRFHMMCRF

主要介紹HMM和CRF在NER序列标注問題中的應用。

HMM

  • 例子:O O B I I I(我在浙江大學),狀态序列是【O O B I I I】,觀測序列是【我在浙江大學】

    屬于生成模型,包含隐變量,要對x(狀态)和y(觀測)聯合模組化,即P(X,Y)。

  • 兩個假設
    • 齊次馬爾可夫假設:目前狀态隻有前一個狀态有關,與其他狀态和觀測值無關
    • 觀測獨立性假設:目前觀測值隻跟目前狀态有關,跟其他狀态無關也跟其他觀測值無關
  • 五元素

    觀測集合:所有組成句子的字的集合A

    狀态集合這裡是S={B,I,O}(一般還隐式包括start和end兩個特殊狀态)

    發射機率:每個狀态轉移到每個字的機率P(Ai|Sj)

    狀态轉移機率:狀态之間轉移的機率P(Si|Sj)

    初始機率:每個狀态作為第一個狀态的機率

  • 訓練

    分兩種,一種是訓練集包括句子和标注結果(大多數序列标注任務),這個時候用統計下五元素即可。第二種是隻有觀測序列,要用baum-welch算法預估參數。

  • 機率計算:給定觀測集合,發射機率,狀态轉移機率、初始機率計算該觀測集合出現的機率(計算所有可能的狀态序列對應的觀測集合的聯合機率和):前向算法
  • 解碼:給定馬爾可夫模型和一個觀測序列,判斷最可能的狀态序列:Viterbi算法

CRF

  • 例子 :我在浙江大學(O O B I I I),觀測序列是【我在浙江大學】,狀态序列是【O O B I I I】;X是【我在浙江大學】,Y是【O O B I I I】

    直接對P(Y|X)模組化,屬于給定輸入序列對輸出序列的判别模型,給定句子x(觀測),判斷标注序列的機率y(狀态)

  • 機率計算:給定條件随機場P(Y|X)和輸入序列x和輸出序列y,計算在目前時刻t觀測值為k的機率:前向算法
  • 解碼:給定CRF模型和一個狀态序列,判斷最可能的觀測序列:Viterbi算法

繼續閱讀