Bert+CRF 層
CRF層的輸入是:每個詞預測對應每個標簽的分數
CRF層的輸出是:每個可能的標註序列,並選擇得分最高的序列作為最終結果;
如果沒有CRF層的幫助,僅BiLSTM的話,模型只會選擇每個詞對應標簽最大的概率作為輸出,可能會出現I-Persion,I-location連接的錯誤情況,所以CRF的作用就是為模型提供壹個標簽約束關系:
這種約束為:
有了這些約束,無效的預測序列數量就將顯著減少;
在CRF層的損失函數中,我們有兩種類型的分數。這兩個分數是CRF層的 關鍵概念 。
第壹個是emission分數。這些emission分數來自BiLSTM層。例如上圖所示,標記為B-Person的w0的分數為1.5。
所以,我們用表示發射概率,i表示第i個詞的索引,y表示標簽的索引。例如: 表示選擇第0個詞,第0個標簽的發射概率;
我們用表示轉移概率。例如,表示標簽轉移的分數,解釋為B-person->I-persion的分數為0.9
為了使transition評分矩陣更健壯,我們將添加另外兩個標簽, START 和 END 。START是指壹個句子的開頭,而不是第壹個單詞。END表示句子的結尾。
下圖為為壹個transition得分矩陣的例子,包括額外添加的START和END標簽。
我們可以發現transition矩陣已經學習了壹些有用的約束。
例如START標簽的轉移,不可能是I標簽開頭;
B-perision後面轉移到I-organization的概率很小;
妳可能想問壹個關於矩陣的問題。 在哪裏或如何得到transition矩陣 ?
實際上,該矩陣是BiLSTM-CRF模型的壹個參數。
1)在訓練模型之前,可以隨機初始化矩陣中的所有transition分數。
那我們怎麽訓練這個轉移概率呢;
如果第10條路徑是真正的路徑,則在所有可能路徑中應占百分比最大;
參考文獻