本文框架如下:
介紹——在命名實體識別任務(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)簽。
??????? 盡管一般不需要詳細了解BiLSTM層的原理,但是為了更容易知道CRF層的運行原理,我們需要知道BiLSTM的輸出層。
??????? 如上圖所示,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.所示:
??????? 由于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”,很顯然這是錯誤的。
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】