超詳綜述 | 基於深度學習的命名實體識別

©PaperWeekly 原創 · 作者|馬敏博

單位|西南交通大學碩士生

研究方向|命名實體識別

論文名稱:A Survey on Deep Learning for Named Entity Recognition

論文鏈接:https://arxiv.org/abs/1812.09449

目前已被數據挖掘頂刊 TKDE 收錄,先膜拜!

目錄

1. 全文簡介

2. NER任務簡介

3. NER標註語料庫(公開評測集)

4. off-the-shelf NER工具

5. 評價指標

6. 序列標註標籤方案

7. 四類NER常用方法

8. 基於規則的NER方法

9. 基於無監督學習的NER方法

10. 基於特徵的有監督學習NER方法(傳統機器學習)

11. 基於深度學習的NER方法

  • 11.1 深度學習在NER任務上的優勢

  • 11.2 分佈式表示

  • 11.3 上下文編碼

    • 11.3.1 CNN

    • 11.3.2 循環神經網絡 RNN

    • 11.3.3 遞歸神經網絡

    • 11.3.4 Transformer

    • 11.3.5 神經語言模型

  • 11.4 標籤解碼

12. 其他研究方向的NER方法

13. NER任務的挑戰與機遇

  • 13.1 面臨的挑戰

  • 13.2 機遇與未來可研究方向


全文簡介

從摘要中可以看出全文的介紹路線分爲五部分,具體爲:

1. NER 任務的常用標註語料

2. 現成的 NER 工具

3. 三個角度介紹現有研究工作:分佈式嵌入表示,文本編碼,標籤解碼;

4. 其他研究方向的深度學習方法做 NER

5. NER 面臨的挑戰與機遇


NER簡介

NER 的研究意義這裏不多加贅述,任何一篇 NER 相關的論文在引言中都會有所介紹。

一句話總結該任務:命名實體識別(Named Entity Recognition, NER)是指從自由文本中識別出屬於預定義類別的文本片段。

NER 任務最早由第六屆語義理解會議(Message Understanding Conference)提出,當時僅定義一些通用實體類別,如地點、機構、人物等。目前命名實體識別任務已經深入各種垂直領域,如醫療、金融等。在該論文中將實體歸爲兩類:generic(通用類)和 domain-specific(特定領域類)。


NER標註語料庫(公開評測集)

論文對現有公開評測任務使用的 NER 語料庫進行了彙總,包括鏈接地址、類別個數以及語料類型。如下圖所示:

此外,論文也給出了評測集對應的 SOTA 模型及其性能表現,這個感覺很好。這裏也推薦一個 SOTA 模型倉庫 paperswithcode,裏面收錄了 SOTA 模型源碼以及論文介紹,感覺還是不錯。

link: https://paperswithcode.com/


OFF-THE-SHELF NER工具

論文對學術界和工業界一些 NER 工具進行彙總,工具中通常都包含預訓練模型,可以直接在自己的語料上做實體識別。不過一般研究使用的話(所定義實體類別與工具預定的不符),還需要依據待抽取領域語料再訓練模型,或重新訓練模型。


評價指標 (Evaluation Metric)

論文將 NER 評測指標 P R F1 分爲了兩類介紹,這也是比賽和論文中通用評測方式:

1. Exact-match嚴格匹配,範圍與類別都正確。其中 F1 值又可以分爲 macro-averaged 和 micro-averaged,前者是按照不同實體類別計算 F1,然後取平均;後者是把所有識別結果合在一起,再計算 F1。這兩者的區別在於實體類別數目不均衡,因爲通常語料集中類別數量分佈不均衡,模型往往對於大類別的實體學習較好。

2. relaxed match 寬鬆匹配,簡言之,可視爲實體位置區間部分重疊,或位置正確類別錯誤的,都記爲正確或按照匹配的位置區間大小評測。


序列標註標籤方案

1. BIO

2. BIOES

基本都逃不脫這兩種,B 開始位置、I 中間位置、O 其他類別、S 單字表示一個實體。

句子:西南交通大學位於成都。預定義實體類別:學校、地點。上述句子按照BIOES方案標籤:B-學校 I-學校 I-學校 I-學校 I-學校 E-學校 O O B-地點 E-地點


四類常用NER方法

1. 規則模板,不需要標註數據,依賴於人工規則;

2. 無監督學習方法,不需要標註數據,依賴於無監督學習算法;

3. 基於特徵的有監督學習算法,依賴於特徵工程;

4. 深度學習方法。

論文簡要地介紹了前三種方法,着重地介紹第四種方法。如果要看前三種方法的綜述可以去看 Nadeau and Sekine 07 年的綜述 A survey of named entity recognition and classification,13 年 Marrero 綜述 Named entity recognition: fallacies, challenges and opportunities,15 年 Potey 綜述 Approaches to named entity recognition: a survey

18年出的一篇綜述比較有意思,主題是複雜實體識別,也就是重疊實體或者非連續性實體。最近對此進行了一些研究,先挖個坑,後續整理一下工作,再做分享。

論文標題:Recognizing complex entity mentions: A review and future directions

論文鏈接:https://www.aclweb.org/anthology/P18-3006/

還有兩篇 18 年較新的綜述,A survey on recent advances in named entity recognition from deep learning modelsRecent named entity recognition and classification techniques: A systematic review

ps: 偷懶!這裏就不給出論文的鏈接了。

對於論文中出現的兩個名詞 coarse-grained entity 和 fine-grained entity,存在一些疑問。論文中對於兩者的定義爲:粗粒度實體 coarse-grained entity 一個實體一個類別;細粒度實體 fine-grained entity 一個實體多個類別。

對於這樣的分類,感到有些迷惑。細粒度實體在我的理解應該是指預定義實體類別是具有層級,如一級類別人、動物、地點,動物又分爲了貓、狗、鳥等。也有可能是我理解不到位。這裏貼出原文,歡迎討論。

Note that the task focuses on a small set of coarse entity types and one type per named entity. We call this kind of NER tasks as coarse-grained NER [10], [11]. Recently, some fine-grained NER tasks [29]–[33] focus on a much larger set of entity types where a mention may be assigned multiple fine-grained types.


基於規則方法

1. 特定領域詞典,其中還包括同義林詞典;

2. 句法詞彙模板;

3. 正則表達式;

論文列出了一些基於規則的 NER 系統:LaSIE-II, NetOwl, Facile, SAR, FASTUS, and LTG。總的來說,當詞彙表足夠大時,基於規則的方法能夠取得不錯效果。但總結規則模板花費大量時間,且詞彙表規模小,且實體識別結果普遍高精度、低召回。


無監督學習方法

主要是基於聚類的方法,根據文本相似度得到不同的簇,表示不同的實體類別組。常用到的特徵或者輔助信息有詞彙資源、語料統計信息(TF-IDF)、淺層語義信息(分塊NP-chunking)等。


基於特徵的有監督學習(傳統機器學習)

NER 任務可以是看作是 token 級別的多分類任務序列標註任務,深度學習方法也是依據這兩個任務建模。

特徵工程:word 級別特徵(詞法特徵、詞性標註等),詞彙特徵(維基百科、DBpdia 知識),文檔及語料級別特徵。

機器學習算法:隱馬爾可夫模型 HMM、決策樹 DT、最大熵模型 MEM、最大熵馬爾科夫模型 HEMM、支持向量機 SVM、條件隨機場 CRF。


深度學習方法

終於進入正題,下文將按照以下四點,詳細介紹基於深度學習的 NER 方法。

1. 深度學習優勢

2. 分佈式表示

3. 上下文編碼結構

4. 標籤解碼結構


11.1 深度學習優勢

不能算深度學習做 NER 的優勢,深度學習解決其他問題也是這些亮點。

1. 強大的向量表示能力;

2. 神經網絡的強大計算能力;

3. DL 從輸入到輸出的非線性映射能力;

4. DL 無需複雜的特徵工程,能夠學習高維潛在語義信息;

5. 端到端的訓練方式。

11.2 分佈式表示

1. 詞級別表示word-level representation

首先 Mikolov 提出的 word2vec(兩種框架 CBOW 和 skip-gram),斯坦福的 Glove,Facebook 的 fasttextSENNA。使用這幾種詞嵌入方式,一些研究工作使用不同語料進行訓練,如生物醫學領域PubMed、NYT 之類。

2. 字符級別表示 character-level representation

字符級別通常是指英文或者是其他具備自然分隔符語種的拆開嵌入,在中文中指字級別嵌入,字符嵌入主要可以降低 OOV 率。文中給出了兩種常用的字符級別嵌入方式,分別爲 CNN、RNN。

着重提一下 18 年 COLING 的一項工作《Contextual String Embeddings for Sequence Labeling》,使用字符級別的神經語言模型產生上下文相關的文本嵌入。大致思路爲使用雙向RNN編碼字符級別嵌入,將一個詞的前向和後向隱層狀態與詞嵌入拼接作爲最終詞嵌入向量,如下圖所示。Github 上也開源了源碼庫 Flair:

https://github.com/flairNLP/flairgithub.com

3. 混合信息表示 hybrid representation

除了詞級別表示、字符級別表示外,一些研究工作還嵌入了其他一些語義信息,如詞彙相似 度、詞性標註、分塊、語義依賴、漢字偏旁、漢字拼音等。此外,還有一些研究從多模態學習出發,通過模態注意力機制嵌入視覺特徵。論文也將 BERT 歸爲這一類,將位置嵌入、token 嵌入和段嵌入看作是混合信息表示。


11.3 上下文編碼

包括了卷積網絡 CNN、循環網絡 RNN、遞歸網絡、Transformer。


11.3.1 CNN

基本框架如下圖所示,句子經過 embedding 層,一個 word 被表示爲 N 維度的向量,隨後整個句子表示使用卷積(通常爲一維卷積)編碼,進而得到每個 word 的局部特徵,再使用最大池化操作得到整個句子的全局特徵,可以直接將其送入解碼層輸出標籤,也可以將其和局部特徵向量一起送入解碼層。

其他一些研究者,開始考慮使用 BiLSTM-CNN 的網絡結構,隨之而來的還有 ID-CNNs 迭代膨脹卷積(個人認爲類似多層 N-Gram 語言模型)等。

11.3.2 循環神經網絡 RNN

常用的循環神經網絡包括 LSTM 和 GRU,在 NLP 中常使用雙向網絡 BiRNN,從左到右和從右到左兩個方向提取問題特徵。

補充一個文中沒有的網絡結構 ConvLSTM,CNN 與 RNN 更好的結合方式,只不過需要將樣本重構。

11.3.3 遞歸神經網絡 Recursive Neural Networks

遞歸神經網絡相較循環神經網絡,最大區別是具有樹狀階層結構。循環神經網絡一個很好的特性是通過神經元循環結構處理變長序列,而對於具有樹狀或圖結構的數據很難建模(如語法解析樹)。還有一點特別在於其訓練算法不同於常規的後向傳播算法,而是採用 BPTS (Back Propagation Through Structure)。

雖然遞歸神經網絡理論上感覺效果不錯,但實際應用中效果一般,並且很難訓練。相較之下 treeLSTM 近些年的研究經常被提及,在關係抽取以及其他任務上有不少應用。

11.3.4 Transformer

Google 的一篇《Attention is all you need》將注意力機制推上新的浪潮之巔,於此同時 transformer 這一不依賴於 CNN、RNN 結構,純堆疊自注意力、點積與前饋神經網絡的網絡結構也被大家所熟知。此後的研究證明,transformer 在長距離文本依賴上相較 RNN 有更好的效果。


11.3.5 神經語言模型

語言模型是在做一件事:判斷語言是否合理?

發展歷史:專家語法規則模型-->統計語言模型-->神經語言模型(具體的介紹可以自行搜索,網上資源挺多)。

着重提一下現有的神經語言模型:

1. word2vec

2. Glove

3. fasttext

4. ELMO

5. BERT

6. GPT

7. GPT2

8. XLNET

9. ALBERT

10. RoBERTa

持續挖坑...... 準備 github 上維護一個預訓練語言模型權重下載地址的倉庫,希望趕緊填平它。

https://github.com/cloudXia777/Pretrained-Model

11.4 解碼層

1. MLP+softmax

2. CRF

3. RNN

4. Pointer Network

對於 1、2 應該沒什麼要說的常規操作,着重看一下 3 和 4。使用 RNN 解碼,框架圖如下所示。文中所述當前輸出(並非隱藏層輸出)經過 softmax 損失函數後輸入至下一時刻 LSTM 單元,所以這是一個局部歸一化模型。

DEEP ACTIVE LEARNING FOR NAMED ENTITY RECOGNITION:

Since this is a locally normalized model (Andor et al., 2016), it does not require the costly computation of partition function, and it allows us to significantly speed up training compared to using CRFs.

使用指針網絡解碼,是將 NER 任務當作先識別“塊”即實體範圍,然後再對其進行分類。指針網絡通常是在 Seq2seq 框架中,如下圖所示。


其他研究方向的NER方法

下面列出各類研究方向的 NER 方法,若想細緻瞭解每個方向的文獻,請移步原文。

1. 多任務學習 Multi-task Learning

2. 深度遷移學習 Deep Transfer Learning

3. 深度主動學習 Deep Active Learning

4. 深度強化學習 Deep Reinforcement Learning

5. 深度對抗學習 Deep Adversarial Learning

6. 注意力機制 Neural Attention


NER任務的挑戰與機遇


13.1 挑戰

1. 數據標註

2. 非正式文本(評論、論壇發言、tweets 或朋友圈狀態等),未出現過的實體。


13.2 機遇與未來可研究方向

1. 多類別實體

2. 嵌套實體

3. 實體識別與實體鏈接聯合任務

4. 利用輔助資源進行基於深度學習的非正式文本 NER(補充一點,知識圖譜方向)

5. NER模型壓縮

6. 深度遷移學習 for NER

總結一句,NER 的現有研究較爲豐富,想要再開花,選好問題切入點是關鍵。

 

點擊以下標題查看更多往期內容: 

#投 稿 通 道#

 讓你的論文被更多人看到 

如何才能讓更多的優質內容以更短路徑到達讀者羣體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成爲一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得技術乾貨。我們的目的只有一個,讓知識真正流動起來。

???? 來稿標準:

• 稿件確係個人原創作品,來稿需註明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向) 

• 如果文章並非首發,請在投稿時提醒並附上所有已發佈鏈接 

• PaperWeekly 默認每篇文章都是首發,均會添加“原創”標誌

???? 投稿郵箱:

• 投稿郵箱:[email protected] 

• 所有文章配圖,請單獨在附件中發送 

• 請留下即時聯繫方式(微信或手機),以便我們在編輯發佈時和作者溝通

????

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

關於PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公衆號後臺點擊「交流羣」,小助手將把你帶入 PaperWeekly 的交流羣裏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章