BiLSTM-CRF中CRF層解析-1

最近,使用BiLstm-CRF模型,但是對CRF層的算法實現不是很理解,在網上找了很多資料也沒解答我心中的疑問,後邊看到了英文版的解析,很清晰,因此,將其進行翻譯。
原英文鏈接:https://www.cnblogs.com/createMoMo/p/7529885.html

概要

此係列博文將會包含以下內容:

  • 引言-命名實體識別任務中,Bilstm-CRF模型中CRF層的基本概念和思想;
  • 示例-解釋CRF層是如何一步一步工作的小例子;
  • 實現-CRF層的鏈式實現算法。

文章讀者
讀者目標:學習NLP的新手或者AI相關的人員,我希望您能從該博文中學到您想學的知識。

先驗知識

在閱讀本博文之前,您唯一需要了解的就是什麼是命名實體識別。如果您不瞭解神經網絡、CRF或者其他相關概念,請不要擔心,我會儘可能地將這些講的通俗易懂。

1.引言

對於命名實體識別來講,目前比較流行的方法是基於神經網絡,例如,論文[1]提出了基於BiLSTM-CRF的命名實體識別模型,該模型採用word embedding和character embedding(在英文中,word embedding對應於單詞嵌入式表達,character embedding對應於字母嵌入式表達;在中文中,word embedding對應於詞嵌入式表達,character embedding對應於字嵌入式表達;接下來的示例中我們都假設是英文的場景),我將用該模型作爲示例來解釋CRF層的工作原理。

1.1 參數定義

假設,我們的數據集中有兩種實體類型:人名和機構名,因此,在我們的數據集中有5種實體標籤:

  • B-Person
  • I- Person
  • B-Organization
  • I-Organization
  • O

假設xx是一個句子,該句子由5個單詞組成:w0,w1,w2,w3,w4w_0,w_1,w_2,w_3,w_4,而且在句子xx中,[w0,w1][w_0,w_1]組成一個人名,[w3][w_3]爲一個機構名,其他單詞標籤都是"O"。

1.2 BiLSTM-CRF模型

接下來,簡明介紹一下該模型。
示意圖如下所示:

  • 首先,句子xx中的每個單詞表達成一個向量,該向量包含了上述的word embedding和character embedding,其中character embedding隨機初始化,word embedding通常採用預訓練模型初始化。所有的embeddings 將在訓練過程中進行微調。
  • 其次,BiLSTM-CRF模型的的輸入是上述的embeddings,輸出是該句子xx中每個單詞的預測標籤。
儘管,我們講的是CRF層,不必瞭解BiLSTM層的細節,但是爲了便於瞭解CRF層,我們必須知道BiLSTM層輸出的意義。

從上圖可以看出,BiLSTM層的輸出是每個標籤的得分,如單詞w0w_0,BiLSTM的輸出爲1.5(B-Person),0.9(I-Person),0.1(B-Organization), 0.08 (I-Organization) and 0.05 (O),這些得分就是CRF層的輸入。
將BiLSTM層預測的得分喂進CRF層,具有最高得分的標籤序列將是模型預測的最好結果。

如果沒有CRF層將如何

根據上文,能夠發現,如果沒有CRF層,即我們用下圖所示訓練BiLSTM命名實體識別模型:

因爲BiLSTM針對每個單詞的輸出是標籤得分,對於每個單詞,我們可以選擇最高得分的標籤作爲預測結果。
例如,對於w0w_0,“B-Person"得分最高(1.5),因此我們可以選擇“B-Person”最爲其預測標籤;同樣的,w1w_1的標籤爲"I-Person”,w2w_2的爲"O", w3w_3的標籤爲"B-Organization",w4w_4的標籤爲"O"。
按照上述方法,對於xx雖然我們得到了正確的標籤,但是大多數情況下是不能獲得正確標籤的,例如下圖的例子:

顯然,輸出標籤“I-Organization I-Person” 和 “B-Organization I-Person”是不對的。

1.4 CRF能夠從訓練數據中學習到約束條件

CRF層可以對最終的約束標籤添加一些約束條件,從而保證預測標籤的有效性。而這些約束條件是CRF層自動從訓練數據中學到。
約束可能是:

  • 一句話中第一個單詞的標籤應該是“B-“ or “O”,而不能是"I-";
  • “B-label1 I-label2 I-label3 I-…”中,label1, label2, label3 …應該是相同的命名實體標籤。如“B-Person I-Person”是有效的,而“B-Person I-Organization” 是無效的;
  • “O I-label” 是無效的。一個命名實體的第一個標籤應該以 “B-“ 開頭,而不能以“I-“開頭,換句話說, 應該是“O B-label”這種模式;

有了這些約束條件,無效的預測標籤序列將急劇減少。

下篇博客

在下篇博客中,將會分析CRF的損失函數,從而解釋CRF層是如何從訓練數據中學習到上述約束條件的。

參考文獻

[1] Lample, G., Ballesteros, M., Subramanian, S., Kawakami, K. and Dyer, C., 2016. Neural architectures for named entity recognition. arXiv preprint arXiv:1603.01360.
https://arxiv.org/abs/1603.01360

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章