BERT-MRC:统一化MRC框架提升NER任务效果
?原創(chuàng)作者?| 瘋狂的Max
01 背景
命名實(shí)體識(shí)別任務(wù)分為嵌套命名實(shí)體識(shí)別(nested NER)和普通命名實(shí)體識(shí)別(flat NER),而序列標(biāo)注模型只能給一個(gè)token標(biāo)注一個(gè)標(biāo)簽,因此對(duì)于嵌套NER任務(wù),需要使用兩個(gè)以上的序列標(biāo)注模型來(lái)完成標(biāo)注任務(wù)。
為了解決這一問(wèn)題大部分人[1][2][3]用pipelined systems處理嵌套NER任務(wù),但這種處理方式存在錯(cuò)誤傳播、運(yùn)行時(shí)間長(zhǎng)、手工提取特征強(qiáng)度大等問(wèn)題。
受到當(dāng)下一些研究者[4][5]將NLP問(wèn)題轉(zhuǎn)換為QA任務(wù)的啟發(fā),作者提出一種統(tǒng)一化MRC框架來(lái)同時(shí)解決nested NER和flat NER兩種類型任務(wù)。
具體來(lái)說(shuō),就是將NER任務(wù)從原本的序列標(biāo)注轉(zhuǎn)變?yōu)镸RC的任務(wù)形式[6]:每一個(gè)實(shí)體類型被表述為一句自然語(yǔ)言陳述的問(wèn)句query,與文本context一起作為輸入進(jìn)入模型,對(duì)應(yīng)的answer為問(wèn)句中詢問(wèn)的實(shí)體在文本中的span位置或者對(duì)應(yīng)的span內(nèi)容。
此外,用MRC框架來(lái)解決NER任務(wù)的構(gòu)想還帶來(lái)了另一個(gè)好處。傳統(tǒng)的NER任務(wù),僅僅通過(guò)標(biāo)注文本中的每個(gè)字符來(lái)解決問(wèn)題,并沒(méi)有充分利用對(duì)實(shí)體類型本身的語(yǔ)言表述所蘊(yùn)含的先驗(yàn)知識(shí)。
而MRC任務(wù),query中對(duì)實(shí)體類型本身的表述會(huì)一起進(jìn)入模型,幫助模型理解實(shí)體類型的含義,從而更有利于在給定的context找出對(duì)應(yīng)的實(shí)體。
舉個(gè)例子,當(dāng)query是“find an organization such as company, agency and institution in the context”,那么這樣的query會(huì)促使模型將“organization”這個(gè)詞和context中真正識(shí)別到的 organization 類型的實(shí)體聯(lián)系起來(lái)。
同時(shí),通過(guò)編碼query中對(duì)“organization”更復(fù)雜的表述(“such as company, agency and institution”)進(jìn)一步幫助模型消除對(duì)organization這一實(shí)體類型的近似類型的歧義,更好的理解“organization”這一實(shí)體類別本身的含義。
作者將BERT-MRC在nested NER和flat NER數(shù)據(jù)集上都進(jìn)行實(shí)驗(yàn),結(jié)果表明其性能都取得了SOTA的效果。
02 相關(guān)工作
1.NER
傳統(tǒng)的NER任務(wù)都是通過(guò)序列標(biāo)注模型實(shí)現(xiàn)的,從CRF發(fā)展到結(jié)合神經(jīng)網(wǎng)絡(luò)模型(LSTM,CNN,BiLSTM)+CRF的結(jié)構(gòu),而最近幾年的大規(guī)模預(yù)訓(xùn)練模型BERT和ELMo進(jìn)一步提升了NER任務(wù)的效果。
2.Nested NER
從2003年開始,就有研究針對(duì)實(shí)體的重疊問(wèn)題采用手工規(guī)則進(jìn)行定義。而后,相繼出現(xiàn)用雙層CRF結(jié)構(gòu)的模型、基于語(yǔ)法樹的模型等方式解決嵌套實(shí)體識(shí)別任務(wù)。近年來(lái),隨著預(yù)訓(xùn)練模型的興起,一些研究利用BERT-based model處理nested NER任務(wù),亦或是將其轉(zhuǎn)化為sequence-to-sequence問(wèn)題來(lái)處理。
3.MRC
MRC模型是指通過(guò)query來(lái)抽取出context中對(duì)應(yīng)的answer spans,本質(zhì)上來(lái)說(shuō)屬于2個(gè)多分類任務(wù),即需要對(duì)context中的每個(gè)token輸出其是否為answer span的starting position和ending position。
在過(guò)去的一兩年里,各種NLP任務(wù)趨向于轉(zhuǎn)換成MRC任務(wù)[6],而作者也提到之所以提出用MRC任務(wù)解決NER問(wèn)題是受到[7]中將實(shí)體關(guān)系抽取任務(wù)轉(zhuǎn)換為多輪QA問(wèn)題處理的啟發(fā)。
同時(shí),作者認(rèn)為該論文中利用模板化程式生成query會(huì)導(dǎo)致query缺乏多樣性,因此在構(gòu)造query時(shí)作者使用同義詞或者舉例的方式加入了更多的現(xiàn)實(shí)類知識(shí)以增強(qiáng)query的多樣性。
03 NER任務(wù)轉(zhuǎn)換為MRC任務(wù)的技術(shù)實(shí)現(xiàn)
1.任務(wù)形式
2.Query構(gòu)造
3.模型細(xì)節(jié)
3.1 模型主干
BERT-MRC將BERT作為基礎(chǔ)模型主干,通過(guò)[CLS]和[SEP]將query和context連接起來(lái),進(jìn)入BERT模型訓(xùn)練,取BERT最后一層的context中字符的對(duì)應(yīng)輸出作為最終的輸出。
3.2 Span 選擇
MRC任務(wù)對(duì)于span選擇有2種策略,一種是直接預(yù)測(cè)answer span的開始位置和結(jié)束位置分別對(duì)應(yīng)的token index,但這種策略在給定query的情況下只能輸出單個(gè)span。
另一種策略是對(duì)輸入中的每個(gè)token都做一個(gè)二分類,來(lái)判斷其是否為開始位置或者結(jié)束位置,這種策略就可以輸出多個(gè)開始索引和多個(gè)結(jié)束索引,從而得到多個(gè)span。本文采用第二種策略。
對(duì)于start index的預(yù)測(cè),通過(guò)BERT輸出表示矩陣點(diǎn)乘一個(gè)可學(xué)習(xí)的參數(shù)矩陣T,然后通過(guò)softmax獲得該token是否為start index, 如下圖所示:
同理,end index的預(yù)測(cè)也通過(guò)以上方式獲得。
對(duì)于每一個(gè)給定X,會(huì)出現(xiàn)多個(gè)可能的start index和end index,通過(guò)就近原則將他們匹配對(duì)應(yīng)起來(lái),顯然是不合理的,因此將argmax運(yùn)用于輸出矩陣每行的
從而得到所有有可能的start index 和end index,如下所示:
對(duì)于任意一個(gè)
通過(guò)sigmoid函數(shù),構(gòu)造一個(gè)二分類的輸出即可,如下圖所示(其中m也是一個(gè)可學(xué)習(xí)的參數(shù)矩陣):
04 損失計(jì)算
在訓(xùn)練階段,X 中的每個(gè)token都會(huì)被賦予是否為start index和end index兩個(gè)標(biāo)簽,其對(duì)應(yīng)的損失函數(shù)計(jì)算如下:
而start和end匹配的損失函數(shù),則表示如下:
最終模型的總損失,通過(guò)3個(gè)參數(shù)連接起來(lái),其中
如下圖公式所示:
05 實(shí)驗(yàn)結(jié)果
如以下Table 2和Table 3所示,在nest NER任務(wù)和flat NER任務(wù)上,BERT-MRC的實(shí)驗(yàn)結(jié)果都超過(guò)了SOTA。
06 消融分析
對(duì)于BERT-MRC性能的提升原因探究,不能確定是來(lái)自于將任務(wù)轉(zhuǎn)化為了MRC形式還是來(lái)源于大規(guī)模BERT預(yù)訓(xùn)練模型自身。
因此,作者對(duì)比了LSTM-CRF模型和其他的MRC模型QAnet[8]和BiDAF[9],后兩者并不依賴大規(guī)模預(yù)訓(xùn)練模型。
由下表Table 4可以看出,盡管效果不如BERT-Tagger,但基于MRC的方法QAnet和BiDAF仍然顯著優(yōu)于基于LSTM-CRF模型,由此可以證明將NER任務(wù)轉(zhuǎn)換為MRC任務(wù)是有用的。
另外,從以下表Table 5可以看出,query的構(gòu)造對(duì)結(jié)果也有重要影響。
其中值得一提的是,Position index of labels表現(xiàn)最差,原因在于僅僅使用標(biāo)簽對(duì)應(yīng)的index來(lái)構(gòu)造query,比如query被表述為“one”, “two”, “three”,不帶有任何語(yǔ)義信息;另外,Wikipedia效果也不佳,可能是因?yàn)槠浔硎鲞^(guò)于籠統(tǒng),比如其query是“an organization is an entity comprising multiple people, such as an institution or an association.”不能帶來(lái)有效的語(yǔ)義信息補(bǔ)充。
還值得一提的是,由于BERT-MRC利用了query中的關(guān)于實(shí)體類型表述的先驗(yàn)知識(shí),作者推測(cè)在較少訓(xùn)練數(shù)據(jù)的情況下,BERT-MRC也會(huì)有更好的表現(xiàn)。
如下圖Figure 3所示:在中文OntoNotes4.0訓(xùn)練集上,基于query的BERT-MRC方法在訓(xùn)練數(shù)據(jù)量減半的情況下也能獲得與BERT-Tagger相當(dāng)?shù)男阅堋?/p>
07 結(jié)論與研究思考
BERT-MRC模型將NER任務(wù)轉(zhuǎn)換成MRC任務(wù),其優(yōu)勢(shì)在于:
1)使用統(tǒng)一框架同時(shí)解決nested NER任務(wù)和flat NER任務(wù);
2)有效利用了query中關(guān)于實(shí)體類型表述的先驗(yàn)知識(shí),提高模型表現(xiàn)效果。
這樣的模型改造方法可以應(yīng)用到實(shí)際場(chǎng)景中,提升BERT-base的預(yù)訓(xùn)練模型在NER任務(wù)上的表現(xiàn),并且在未來(lái)的研究中,可以更多關(guān)注于query的構(gòu)造,不同垂直行業(yè)的NER任務(wù)有可能更依賴于對(duì)應(yīng)的query構(gòu)造策略來(lái)最大化先驗(yàn)知識(shí)帶來(lái)的性能增益。
參考文獻(xiàn)
[1] Beatrice Alex, Barry Haddow, and Claire Grover. 2007. Recognising nested named entities in biomedical text. In Proceedings of the Workshop on BioNLP 2007: Biological, Translational, and Clinical Language Processing, pages 65–72. Association for Computational Linguistics.
[2] Arzoo Katiyar and Claire Cardie. 2018. Nested named entity recognition revisited. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), pages 861–871.
[3] Wei Lu and Dan Roth. 2015. Joint mention extraction and classification with mention hypergraphs. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pages 857–867.
[4] Omer Levy, Minjoon Seo, Eunsol Choi, and Luke Zettlemoyer. 2017. Zero-shot relation extraction via reading comprehension. arXiv preprint arXiv:1706.04115.
[5] Bryan McCann, Nitish Shirish Keskar, Caiming Xiong, and Richard Socher. 2018. The natural language decathlon: Multitask learning as question answering. arXiv preprint arXiv:1806.08730.
[6] 詳解如何充分發(fā)揮先驗(yàn)信息優(yōu)勢(shì),用MRC框架解決各類NLP任務(wù)
https://mp.weixin.qq.com/s/tvcG8sZSCUrUqob8MA6Nvw
[7] Xiaoya Li, Fan Yin, Zijun Sun, Xiayu Li, Arianna Yuan, Duo Chai, Mingxin Zhou, and Jiwei Li. 2019. Entity-relation extraction as multi-turn question answering. In Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL 2019, Florence, Italy, July 28- August 2, 2019, Volume 1: Long Papers, pages 1340–1350.
[8] Adams Wei Yu, David Dohan, Minh-Thang Luong, Rui Zhao, Kai Chen, Mohammad Norouzi, and Quoc V. Le. 2018. Qanet: Combining local convolution with global self-attention for reading comprehension. In 6th International Conference on Learning Representations, ICLR 2018, Vancouver, BC, Canada, April
[9] Omer Levy, Minjoon Seo, Eunsol Choi, and Luke Zettlemoyer. 2017. Zero-shot relation extraction via reading comprehension. arXiv preprint arXiv:1706.04115
私信我領(lǐng)取目標(biāo)檢測(cè)與R-CNN/數(shù)據(jù)分析的應(yīng)用/電商數(shù)據(jù)分析/數(shù)據(jù)分析在醫(yī)療領(lǐng)域的應(yīng)用/NLP學(xué)員項(xiàng)目展示/中文NLP的介紹與實(shí)際應(yīng)用/NLP系列直播課/NLP前沿模型訓(xùn)練營(yíng)等干貨學(xué)習(xí)資源。
總結(jié)
以上是生活随笔為你收集整理的BERT-MRC:统一化MRC框架提升NER任务效果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用sharesdk第三方等陆或分享到QQ
- 下一篇: 内存管理(一)MRC