BiLSTM模型中CRF層的運行原理-1

本文框架如下:

介紹——在命名實體識別任務(wù)中,BiLSTM模型中CRF層的通用思想

詳細的實例——通過實例來一步步展示CRF的工作原理

實現(xiàn)——CRF層的一步步實現(xiàn)過程

誰可以讀本文——本文適用與NLP初級入門者或者AI其他相關(guān)領(lǐng)域

需要有的基礎(chǔ)知識:你只需要知道什么是命名實體識別,如果你不懂神經(jīng)網(wǎng)絡(luò),條件隨機場(CRF)或者其它相關(guān)知識,不必擔(dān)心,本文將向你展示CRF層是如何工作的。本文將盡可能的講的通俗易懂。

1.介紹

??????? 基于神經(jīng)網(wǎng)絡(luò)的方法,在命名實體識別任務(wù)中非常流行和普遍。在文獻【1】中,作者提出了Bi-LSTM模型用于實體識別任務(wù)中,在模型中用到了字嵌入和詞嵌入。本文將向你展示CRF層是如何工作的。

??????? 如果你不知道Bi-LSTM和CRF是什么,你只需要記住他們分別是命名實體識別模型中的兩個層。

1.1開始之前

??????? 我們假設(shè)我們的數(shù)據(jù)集中有兩類實體——人名和地名,與之相對應(yīng)在我們的訓(xùn)練數(shù)據(jù)集中,有五類標(biāo)簽:

??????? B-Person, I- Person,B-Organization,I-Organization, O

?????? 假設(shè)句子x由五個字符w1,w2,w3,w4,w5組成,其中【w1,w2】為人名類實體,【w3】為地名類實體,其他字符標(biāo)簽為“O”。

1.2BiLSTM-CRF模型

??????? 以下將給出模型的結(jié)構(gòu):

??????? 第一,句子x中的每一個單元都代表著由字嵌入或詞嵌入構(gòu)成的向量。其中,字嵌入是隨機初始化的,詞嵌入是通過數(shù)據(jù)訓(xùn)練得到的。所有的嵌入在訓(xùn)練過程中都會調(diào)整到最優(yōu)。

??????? 第二,這些字或詞嵌入為BiLSTM-CRF模型的輸入,輸出的是句子x中每個單元的標(biāo)簽。


圖1. Bi-LSTM結(jié)構(gòu)圖

??????? 盡管一般不需要詳細了解BiLSTM層的原理,但是為了更容易知道CRF層的運行原理,我們需要知道BiLSTM的輸出層。


圖2.Bi-LSTM標(biāo)簽預(yù)測原理圖

??????? 如上圖所示,BiLSTM層的輸出為每一個標(biāo)簽的預(yù)測分值,例如,對于單元w0,BiLSTM層輸出的是1.5 (B-Person), 0.9 (I-Person), 0.1 (B-Organization), 0.08 (I-Organization) and 0.05 (O). 這些分值將作為CRF的輸入。

1.3 如果沒有CRF層會怎樣

??????? 你也許已經(jīng)發(fā)現(xiàn)了,即使沒有CRF層,我們也可以訓(xùn)練一個BiLSTM命名實體識別模型,如圖3.所示:


圖3.去除CRF的BiLSTM命名實體識別模型

??????? 由于BiLSTM的輸出為單元的每一個標(biāo)簽分值,我們可以挑選分值最高的一個作為該單元的標(biāo)簽。例如,對于單元w0,“B-Person”有最高分值—— 1.5,因此我們可以挑選“B-Person”作為w0的預(yù)測標(biāo)簽。同理,我們可以得到w1——“I-Person”,w2—— “O” ,w3——“B-Organization”,w4——“O”。

??????? 雖然我們可以得到句子x中每個單元的正確標(biāo)簽,但是我們不能保證標(biāo)簽每次都是預(yù)測正確的。例如,圖4.中的例子,標(biāo)簽序列是“I-Organization I-Person” and “B-Organization I-Person”,很顯然這是錯誤的。


圖4. 去除CRF層的BiLSTM模型

1.4CRF層能從訓(xùn)練數(shù)據(jù)中獲得約束性的規(guī)則

??????? CRF層可以為最后預(yù)測的標(biāo)簽添加一些約束來保證預(yù)測的標(biāo)簽是合法的。在訓(xùn)練數(shù)據(jù)訓(xùn)練過程中,這些約束可以通過CRF層自動學(xué)習(xí)到。

這些約束可以是:

I:句子中第一個詞總是以標(biāo)簽“B-“ 或 “O”開始,而不是“I-”

II:標(biāo)簽“B-label1 I-label2 I-label3 I-…”,label1, label2, label3應(yīng)該屬于同一類實體。例如,“B-Person I-Person” 是合法的序列, 但是“B-Person I-Organization” 是非法標(biāo)簽序列.

III:標(biāo)簽序列“O I-label” is 非法的.實體標(biāo)簽的首個標(biāo)簽應(yīng)該是 “B-“ ,而非 “I-“, 換句話說,有效的標(biāo)簽序列應(yīng)該是“O B-label”。

有了這些約束,標(biāo)簽序列預(yù)測中非法序列出現(xiàn)的概率將會大大降低。

參考文獻:【1】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 翻譯自http://xueshu.baidu.com/s?wd=paperuri%3A%28a56c446f2f5...
    Jlan閱讀 10,245評論 0 16
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,915評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • 2017-2-24 如果沒什么問題我們就確定這個啦 嗯~就這個套餐啦 那兩位這邊做個登記,付一下定金就好啦,兩位的...
    株絮飛飛閱讀 491評論 0 0
  • 等我老了,就去找你 再不用懼怕現(xiàn)實的羈絆 再不用顧慮世俗的責(zé)難 我邁著蹣跚的步履 遠遠望見你身影搖曳 在小路上顫顫...
    月宛央閱讀 368評論 4 3