命名實(shí)體識(shí)別: BiLSTM 之上的 CRF 層 - 1

注:本文翻譯自 CreateMoMo 個(gè)人博客穗熬,暫未取得作者授權(quán)柄瑰,僅做學(xué)習(xí)交流使用弧呐,如若侵權(quán),立即刪除冒签。點(diǎn)擊底部閱讀原文可直達(dá)原博客。

目錄

該系列文章將會(huì)涉及以下幾個(gè)方面:

  • Idea 概述 - 在命名實(shí)體識(shí)別任務(wù)中钟病,為什么要在 BiLSTM模型上添加CRF層萧恕?

  • 案例解讀 - 通過一個(gè)簡(jiǎn)單的實(shí)現(xiàn)來(lái)揭示:CRF 層是怎樣工作的?

  • Chainer 實(shí)現(xiàn) BiLSTM+CRF 模型(翻譯者會(huì)努力用 TensorFlow or PyTorch 來(lái)實(shí)現(xiàn)一番3濉)

誰(shuí)適合閱讀本系列文章票唆?
本系列文章適合 NLP 或其他 AI 相關(guān)領(lǐng)域的初學(xué)者或者在校學(xué)生,希望你們?cè)谖业奈恼轮心苡兴斋@屹徘。期待有建設(shè)性的意見和建議走趋!

前置知識(shí)

如果你不知道神經(jīng)網(wǎng)絡(luò)、CRF 或者其他相關(guān)的知識(shí)缘回,別擔(dān)心吆视,我會(huì)盡量從直覺上來(lái)幫助你來(lái)理解它們。唯一需要你知道的是命名實(shí)體識(shí)別的概念酥宴!

1 簡(jiǎn)介

對(duì)于命名實(shí)體識(shí)別任務(wù)來(lái)說(shuō)啦吧,基于神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的方法越來(lái)越流行了。比如在這篇Paper中拙寡,作者就提出了 BiLSTM-CRF 模型用于命名實(shí)體識(shí)別任務(wù)授滓,文中使用了 word level 和 character level 的 embedding。我將使用這篇文章中的模型來(lái)解釋模型中 CRF層 是如何工作的 :) 肆糕。

如果你還不了解有關(guān) BiLSTM 和 CRF 的細(xì)節(jié)的話般堆,只要記住它們不過是命名實(shí)體識(shí)別模型中兩種不同的 Layer 罷了!

1.1 開始之前

首先诚啃,假設(shè)我們的數(shù)據(jù)集中有兩種不同的實(shí)體類型:Person(人物) 和 Organization(組織)淮摔。那么,實(shí)際上始赎,我們便有了五種實(shí)體的類別 Label :

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

這樣的話和橙,假如我們使用 x 代表包含五個(gè)單詞的句子仔燕,w_0,w_1,w_2,w_3,w_4。那么魔招,在句子 x 中晰搀,[w_0,w_1] 是一個(gè) Person 實(shí)體,[w_3] 是一個(gè) Organization 實(shí)體办斑,其他的單詞我們用 O 表示外恕。

1.2 BiLSTM-CRF model

在這里我會(huì)簡(jiǎn)要介紹一下 BiLSTM-CRF 模型。

如下圖所示:

  • 首先乡翅,在句子 x 中的每一個(gè)詞 w_i都對(duì)應(yīng)著一個(gè)向量表示鳞疲,這個(gè)向量由字符級(jí)別的詞嵌入(character embedding)和單詞級(jí)別的詞嵌入(word embedding)共同組成(concat 操作?)峦朗。其中建丧,字符級(jí)別的詞嵌入(character embedding)由隨機(jī)初始化得到,而單詞級(jí)別的詞嵌入(word embedding)一般來(lái)自于預(yù)先訓(xùn)練好的 word embedding 文件(word2vec 或者 GloVe)波势。所有的 embeddings 在訓(xùn)練過程中將會(huì)被 fine-tuned翎朱。

  • 其次,BiLSTM-CRF 模型的輸入便是這些詞向量尺铣,模型的輸出是對(duì)句子 x 中單詞對(duì)應(yīng)的標(biāo)簽類別的預(yù)測(cè)拴曲。盡管了解 BiLSTM 層的細(xì)節(jié)對(duì)于我們來(lái)說(shuō)并不必要,但是為了更加容易的理解 CRF 層凛忿,還是有必要知道一下 BiLSTM 層輸出結(jié)果表示什么意思澈灼。

如上所示, BiLSTM 層的輸出是每個(gè)類別的預(yù)測(cè)分?jǐn)?shù)值店溢。譬如叁熔,對(duì)于詞 w_0 來(lái)說(shuō),BiLSTM 層的輸出為:1.5 (B-Person), 0.9 (I-Person), 0.1 (B-Organization), 0.08 (I-Organization) 和 0.05 (O)床牧。這些分?jǐn)?shù)值將會(huì)作為 CRF 層的輸入荣回。

之后,在所有由 BiLSTM 層預(yù)測(cè)的分?jǐn)?shù)值輸入到 CRF 層之后戈咳,CRF 便會(huì)選擇具有最高預(yù)測(cè)分?jǐn)?shù)值的類別標(biāo)記序列作為最佳的答案心软。

1.3 如果沒有 CRF 層會(huì)怎么樣?

你可能已經(jīng)注意到了著蛙,假使沒有 CRF 層删铃,我們一樣可以只訓(xùn)練 LSTM 來(lái)進(jìn)行命名實(shí)體識(shí)別,流程如下:

因?yàn)?BiLSTM 層輸出的正是每個(gè)單詞的在各個(gè)類標(biāo)上的分?jǐn)?shù)值踏堡,我們完全可以選擇具有最高分?jǐn)?shù)的類標(biāo)作為單詞的命名實(shí)體類別標(biāo)注猎唁。

譬如,對(duì)于 w_0 來(lái)說(shuō)顷蟆, “B-Person” 具有最高的得分(1.5)胖秒,因而我們可以選擇 “B-Person”作為最佳的預(yù)測(cè)缎患。同理,對(duì)于w_1阎肝,我們可以選擇 “I-Person”;對(duì)于 w_2肮街,我們可以選擇 “O”风题;對(duì)于 w_3,我們可以選擇 “B-Org”嫉父;對(duì)于 w_2沛硅,我們可以選擇 “O”。

在這個(gè)例子中绕辖,盡管我們可以得到句子x中各個(gè)單詞的正確類別標(biāo)記摇肌。但是,有些情況下并不總是如此仪际,看一看這個(gè)例子:

很顯然围小,沿用上面的方法,我們得到的輸出(“I-Organization I-Person” 和 “B-Organization I-Person” )便顯得非常的不合理了树碱,I-Organization 之后竟然會(huì)出現(xiàn) I-Person 的標(biāo)注肯适!

1.4 CRF 層能夠從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到標(biāo)注序列的一些“約束”

The CRF layer could add some constrains to the final predicted labels to ensure they are valid. These constrains can be learned by the CRF layer automatically from the training dataset during the training process.

CRF 層能夠給最終的預(yù)測(cè) Labels 添加一些約束來(lái)確保其合理有效。在訓(xùn)練過程中成榜,這些約束會(huì)被 CRF 層自動(dòng)學(xué)習(xí)到框舔。

這些約束可以是:

  • 句子中首個(gè)單詞的 Label 應(yīng)該是 “B-“ or “O”, 而不會(huì)是 “I-“

  • “B-label1 I-label2 I-label3 I-…”,在這個(gè)模式中, label1, label2, label3 … 應(yīng)該是同一實(shí)體的 Label。譬如赎婚,“B-Person I-Person” 是合理有效的刘绣,但是 “B-Person I-Organization” 便是無(wú)效的。

  • “O I-label” 是無(wú)效的挣输。命名實(shí)體的第一個(gè)起始標(biāo)注應(yīng)該是 “B-“ 開頭的纬凤,而不是 “I-“。換一句話說(shuō)歧焦,合理有效的模式應(yīng)該是 “O B-label”

有了這些必要的約束移斩,出現(xiàn)不合理標(biāo)注序列的數(shù)量將會(huì)顯著下降!

后續(xù)

接下來(lái)绢馍,我將通過分析 CRF 的 Loss Function 來(lái)解釋 CRF 層如何從訓(xùn)練數(shù)據(jù)集中學(xué)習(xí)到上述約束向瓷,以及為什么 CRF 能夠?qū)W習(xí)到它們。

別走開舰涌,后續(xù)更加精彩猖任!

參考文獻(xiàn)

[1] CRF_Layer_on_the_Top_of_BiLSTM_1
[2] Lample, G., Ballesteros, M., Subramanian, S., Kawakami, K. and Dyer, C., 2016. Neural architectures for named entity recognition. arXiv preprint arXiv:1603.01360.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瓷耙,隨后出現(xiàn)的幾起案子朱躺,更是在濱河造成了極大的恐慌刁赖,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件长搀,死亡現(xiàn)場(chǎng)離奇詭異宇弛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)源请,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門枪芒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人谁尸,你說(shuō)我怎么就攤上這事舅踪。” “怎么了良蛮?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵抽碌,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我决瞳,道長(zhǎng)货徙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任瞒斩,我火速辦了婚禮破婆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胸囱。我一直安慰自己祷舀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布烹笔。 她就那樣靜靜地躺著裳扯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谤职。 梳的紋絲不亂的頭發(fā)上饰豺,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音允蜈,去河邊找鬼冤吨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛饶套,可吹牛的內(nèi)容都是我干的漩蟆。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼妓蛮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼怠李!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捺癞,失蹤者是張志新(化名)和其女友劉穎夷蚊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體髓介,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惕鼓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唐础。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呜笑。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖彻犁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凰慈,我是刑警寧澤汞幢,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站微谓,受9級(jí)特大地震影響森篷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜豺型,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一仲智、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姻氨,春花似錦钓辆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至娶眷,卻和暖如春似嗤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背届宠。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工烁落, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人豌注。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓伤塌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親幌羞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寸谜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361