BERT-MRC:統一化MRC框架提升NER任務效果

NLP論文解讀發表於2022-02-01

©原創作者 | 瘋狂的Max

01 背景

命名實體識別任務分為巢狀命名實體識別(nested NER)和普通命名實體識別(flat NER),而序列標註模型只能給一個token標註一個標籤,因此對於巢狀NER任務,需要使用兩個以上的序列標註模型來完成標註任務。

為了解決這一問題大部分人[1][2][3]用pipelined systems處理巢狀NER任務,但這種處理方式存在錯誤傳播、執行時間長、手工提取特徵強度大等問題。

受到當下一些研究者[4][5]將NLP問題轉換為QA任務的啟發,作者提出一種統一化MRC框架來同時解決nested NER和flat NER兩種型別任務。

具體來說,就是將NER任務從原本的序列標註轉變為MRC的任務形式[6]:每一個實體型別被表述為一句自然語言陳述的問句query,與文字context一起作為輸入進入模型,對應的answer為問句中詢問的實體在文字中的span位置或者對應的span內容。

此外,用MRC框架來解決NER任務的構想還帶來了另一個好處。傳統的NER任務,僅僅通過標註文字中的每個字元來解決問題,並沒有充分利用對實體型別本身的語言表述所蘊含的先驗知識。

而MRC任務,query中對實體型別本身的表述會一起進入模型,幫助模型理解實體型別的含義,從而更有利於在給定的context找出對應的實體。

舉個例子,當query是“find an organization such as company, agency and institution in the context”,那麼這樣的query會促使模型將“organization”這個詞和context中真正識別到的 organization 型別的實體聯絡起來。

同時,通過編碼query中對“organization”更復雜的表述(“such as company, agency and institution”)進一步幫助模型消除對organization這一實體型別的近似型別的歧義,更好的理解“organization”這一實體類別本身的含義。

作者將BERT-MRC在nested NER和flat NER資料集上都進行實驗,結果表明其效能都取得了SO他的效果。

02 相關工作

1.NER

傳統的NER任務都是通過序列標註模型實現的,從CRF發展到結合神經網路模型(LSTM,CNN,BiLSTM)+CRF的結構,而最近幾年的大規模預訓練模型BERT和ELMo進一步提升了NER任務的效果。

2.Nested NER

從2003年開始,就有研究針對實體的重疊問題採用手工規則進行定義。而後,相繼出現用雙層CRF結構的模型、基於語法樹的模型等方式解決巢狀實體識別任務。近年來,隨著預訓練模型的興起,一些研究利用BERT-based model處理nested NER任務,亦或是將其轉化為sequence-to-sequence問題來處理。

3.MRC

MRC模型是指通過query來抽取出context中對應的answer spans,本質上來說屬於2個多分類任務,即需要對context中的每個token輸出其是否為answer span的starting position和ending position。

在過去的一兩年裡,各種NLP任務趨向於轉換成MRC任務[6],而作者也提到之所以提出用MRC任務解決NER問題是受到[7]中將實體關係抽取任務轉換為多輪QA問題處理的啟發。

同時,作者認為該論文中利用模板化程式生成query會導致query缺乏多樣性,因此在構造query時作者使用同義詞或者舉例的方式加入了更多的現實類知識以增強query的多樣性。

03 NER任務轉換為MRC任務的技術實現

1.任務形式

BERT-MRC:統一化MRC框架提升NER任務效果

 

2.Query構造

BERT-MRC:統一化MRC框架提升NER任務效果

 

3.模型細節

3.1 模型主幹

BERT-MRC將BERT作為基礎模型主幹,通過[CLS]和[SEP]將query和context連線起來,進入BERT模型訓練,取BERT最後一層的context中字元的對應輸出作為最終的輸出。

3.2 Span 選擇

MRC任務對於span選擇有2種策略,一種是直接預測answer span的開始位置和結束位置分別對應的token index,但這種策略在給定query的情況下只能輸出單個span。

另一種策略是對輸入中的每個token都做一個二分類,來判斷其是否為開始位置或者結束位置,這種策略就可以輸出多個開始索引和多個結束索引,從而得到多個span。本文采用第二種策略。

對於start index的預測,通過BERT輸出表示矩陣點乘一個可學習的引數矩陣T,然後通過softmax獲得該token是否為start index, 如下圖所示:

BERT-MRC:統一化MRC框架提升NER任務效果

 

同理,end index的預測也通過以上方式獲得。

對於每一個給定X,會出現多個可能的start index和end index,通過就近原則將他們匹配對應起來,顯然是不合理的,因此將argmax運用於輸出矩陣每行的

BERT-MRC:統一化MRC框架提升NER任務效果

 

從而得到所有有可能的start index 和end index,如下所示:

BERT-MRC:統一化MRC框架提升NER任務效果

 

對於任意一個

BERT-MRC:統一化MRC框架提升NER任務效果

 

通過sigmoid函式,構造一個二分類的輸出即可,如下圖所示(其中m也是一個可學習的引數矩陣):

BERT-MRC:統一化MRC框架提升NER任務效果

 

04 損失計算

在訓練階段,X 中的每個token都會被賦予是否為start index和end index兩個標籤,其對應的損失函式計算如下:

BERT-MRC:統一化MRC框架提升NER任務效果

 

而start和end匹配的損失函式,則表示如下:

BERT-MRC:統一化MRC框架提升NER任務效果

 

最終模型的總損失,通過3個引數連線起來,其中

BERT-MRC:統一化MRC框架提升NER任務效果

 

如下圖公式所示:

BERT-MRC:統一化MRC框架提升NER任務效果

 

05 實驗結果

如以下Table 2和Table 3所示,在nest NER任務和flat NER任務上,BERT-MRC的實驗結果都超過了SOTA。

BERT-MRC:統一化MRC框架提升NER任務效果

 

BERT-MRC:統一化MRC框架提升NER任務效果

 

06 消融分析

對於BERT-MRC效能的提升原因探究,不能確定是來自於將任務轉化為了MRC形式還是來源於大規模BERT預訓練模型自身。

因此,作者對比了LSTM-CRF模型和其他的MRC模型QAnet[8]和BiDAF[9],後兩者並不依賴大規模預訓練模型。

由下表Table 4可以看出,儘管效果不如BERT-Tagger,但基於MRC的方法QAnet和BiDAF仍然顯著優於基於LSTM-CRF模型,由此可以證明將NER任務轉換為MRC任務是有用的。

BERT-MRC:統一化MRC框架提升NER任務效果

 

另外,從以下表Table 5可以看出,query的構造對結果也有重要影響。

其中值得一提的是,Position index of labels表現最差,原因在於僅僅使用標籤對應的index來構造query,比如query被表述為“one”, “two”, “three”,不帶有任何語義資訊;另外,Wikipedia效果也不佳,可能是因為其表述過於籠統,比如其query是“an organization is an entity comprising multiple people, such as an institution or an association.”不能帶來有效的語義資訊補充。

BERT-MRC:統一化MRC框架提升NER任務效果

 

還值得一提的是,由於BERT-MRC利用了query中的關於實體型別表述的先驗知識,作者推測在較少訓練資料的情況下,BERT-MRC也會有更好的表現。

如下圖Figure 3所示:在中文OntoNotes4.0訓練集上,基於query的BERT-MRC方法在訓練資料量減半的情況下也能獲得與BERT-Tagger相當的效能。

BERT-MRC:統一化MRC框架提升NER任務效果

 

07 結論與研究思考

BERT-MRC模型將NER任務轉換成MRC任務,其優勢在於:

1)使用統一框架同時解決nested NER任務和flat NER任務;

2)有效利用了query中關於實體型別表述的先驗知識,提高模型表現效果。

這樣的模型改造方法可以應用到實際場景中,提升BERT-base的預訓練模型在NER任務上的表現,並且在未來的研究中,可以更多關注於query的構造,不同垂直行業的NER任務有可能更依賴於對應的query構造策略來最大化先驗知識帶來的效能增益。

參考文獻

[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] 詳解如何充分發揮先驗資訊優勢,用MRC框架解決各類NLP任務

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

 

私信我領取目標檢測與R-CNN/資料分析的應用/電商資料分析/資料分析在醫療領域的應用/NLP學員專案展示/中文NLP的介紹與實際應用/NLP系列直播課/NLP前沿模型訓練營等乾貨學習資源。

相關文章