2018年的一篇NER綜述筆記

2021-03-01 AINLP

上周推薦了一篇NER的論文,這周算是把這篇綜述看完了,感覺自己的收穫挺大的(老是感覺自己看過寫過,但是又沒找到),給大家介紹一下。

A Survey on Deep Learning for Named Entity Recognition.

總評

這篇綜述讓我感受到比較完整的NER世界觀是啥樣的,問題定義、問題拆解、常用方法及其評價、模型評估、拓展等,由於是綜述,全面性滿滿,具體的方法可以在參考文獻裡面找,212篇文獻可謂是誠意滿滿。

文章關鍵點筆記1 introduction

命名實體識別的中的核心,命名實體(Named Entity)概念的出現其實並不久遠,1996年。時至今日,處理NER問題的主要有四種:

基於規則的方法。

無監督學習方法。

基於特徵的機器學習方法。

深度學習方法。

我們其實可以看到,得益於機器學習方法,NER問題被更好的解決。

2 background

本章主要是討論了NER的一些背景問題,NER的問題定義(尤其是NE的定義)、數據集和工具、模型評估、傳統方法之類的。

NER問題定義

首先是問題定義,主要是命名實體的定義,我直接用文章的原句吧:

A named entity is a word or a phrase that clearly identies one item from a set of other items that have similar attributes.

那麼NER,其實就是去識別這個命名實體。

NER的模型評估

作者把評估方法分為了兩塊,精準匹配和軟匹配(我翻譯的,英文是relaxed-match)。

精確匹配有兩個層面,一個是每個位點的預測準確情況(BIO或者BIEMO的情況),這個比較常見。

而軟匹配上,其實由於他的複雜性和基於問題的特異性,沒有被廣泛使用。

傳統NER方法

所謂的「傳統」方法,作者認為是除了DL之外的方法都算吧。

基於規則的方法會依賴問題的背景,其實也有一些輸出,作者角度看,如果資源足夠時,其實就能夠有很好的效果(這個和我的實踐來看是一致的),高準確低召回低可遷移性是它的特點。

無監督方法

無監督方法也有一些,說白了就是聚類,利用的是關鍵詞彙、種子詞彙去進行擴增,從而完成無監督學習的任務,需要根據問題進行策略的調整,可遷移性較低。

基於特徵的機器學習方法

常用的機器學習方法其實就是那些,隱馬爾科夫、決策樹、最大熵、支持向量機和條件隨機場。

至於特徵上,也給了大家一些提示,詞性、句子成分、大小寫等,另外還可以引入一些外部的知識信息,例如維基百科的地點詞等。

3 NER中的深度學習技術

我們都知道,在nlp領域下,論準招等各種效果,深度學習具有很高的地位,因此作者也花了非常大的筆墨來討論深度學習,首先就談了深度學習的特點:

非線性處理。

自動化信息抽取,不用花費精力尋找和維護特徵。

直接端到端訓練。

對於解決NER的深度學習方法,作者把整體架構劃分為三個等級:

分布式文本表示

分布式文本表示,說白了就是word2vector、glove之類的預訓練方法。具體定義不贅述了哈哈哈。

word級別,其實就比較常見word2vector、glove、fasttet、senna等,當然也有一些簡單預訓練語言模型,例如結合CNN之類的。

而char級別(中文就是字級別)對未登錄詞的識別能力很高,其構建的主要方式主要有CNN-based和RNN-based。

當然,還有一些混合方法,會加入一些外部信息(詞典信息、詞彙相似度信息),這些方法對效果提升有用,但是可遷移性下降了。另外,作者把bert的方法也歸於此處,主要原因是他在預訓練的時候使用了大量外部語料信息。

上下文編碼架構

上下文編碼是文本表示之後的操作,作者分為了4種情況,CNN、RNNs、遞歸神經網絡和transformer,另外還單獨提到了神經網絡語言模型。

CNN和RNNs的情況其實比較常規了,不做太多解釋,文章中其實更多的也是論文的解釋。

遞歸神經網絡(Recurrent Neural Networks)其實我也只是聽過,自己沒有深入地了解,後續會排期學習。簡單的用作者的話評價:

Recursive Neural Networks are non-linear adaptive mod- els that are able to learn deep structured information, by traversing a given structure in topological order.

也就是構建了一種特定的拓撲結構來表達內部的信息,這種信息大都和句子的語法結構相關。

神經語言模型是nlp裡面最為基礎的內容,NLP幾次前進的裡程碑都和神經語言模型的大跨步有關,word2vector、elmo、bert。

想提一個有意思的思路,他藉助語言模型和NER多任務的模型來進行訓練,這種方式能讓模型學到更加針對領域的語言模型,同時也能滿足NER的需求,作者的解釋放這裡:

Peters et al. [19] proposed TagLM, a language model augmented sequence tagger. This tagger considers both pre-trained word embeddings and bidirectional language model embeddings for every token in the input sequence for sequence labeling task. Figure 12 shows the architecture of LM-LSTM-CRF model [121], [122]. The language model and sequence tagging model share the same character-level layer in a multi-task learning manner. The vectors from character- level embeddings, pre-trained word embeddings, and lan- guage model representations, are concatenated and fed into the word-level LSTMs. Experimental results demonstrate that multi-task learning is an effective approach to guide the language model to learn task-specific knowledge.

transformer可以說是距離我們最近的一次裡程碑跨越的代表了,一次技術的突破需要時間落到更多任務的實踐中,NER也不例外,目前在transformer應用於NER的研究上,已經有不少人進行嘗試,而且從效果來看,具有下面這些特點:

tag解碼器

有關tag解碼器,其實就有點像機器學習方法了,上遊做好特徵工程,然後下遊接解碼器預測每個位置的分類,常用的方法有:

MLP+softmax,簡單,但是上下文信息捕獲能力很差。

CRF,NER上比較重要的基本方法。、

RNN,訓練速度比CRF稍快,但是個人感覺效果不如CRF強。

pointer networks。RNN的一種升級版,用來提取其中的chunk,內部其實有兩個神經網絡,一個用於分詞,一個用於標記。

summary

作者花了很多的力氣去對比各個模型的效果,經過作者的總結,有如下信息:

文本表示效果對預測結果影響很大。

噪音數據對效果影響較大。

外部信息,包括預訓練語言模型,效果雖好,作者特別指出了裡面的問題:

外部信息依賴計算性能和標註性能。

大部分情況不利於可遷移能力。

從效果來看transformer比lstm系列效果更好,可以成為lstm的替換方法。

rnn系列的缺點在於貪婪法,首先強烈依賴於上一步的結果,同時對速度有影響。

後續作者對任務下的方法進行總結,給出一些方法選擇的建議:

For end users, what architecture to choose is data and domain task dependent. If data is abundant, training models with RNNs from scratch and fine-tuning contextualized language models could be considered. If data is scarce, adopting transfer strategies might be a better choice. For newswires domain, there are many pre-trained off-the-shelf models available. For specific domains (e.g., medical and social media), fine-tuning general-purpose contextualized language models with domain-specific data is often an effective way.

可惜的是作者這裡只考慮了準招效果,而沒有考慮參數量、複雜度、內存等其他因素,不過就準招而言,確實有借鑑意義。

深度學習在NER中的應用

這章更多的是談一些使用深度學習解決NER的思路,這塊涉及自己的盲點很多,但是這些東西都很值得學習,此處先列出,後續慢慢學習。

深度多任務學習。

深度遷移學習。

深度主動學習。

深度強化學習。

深度對抗學習。

Attention機制。

NER的挑戰和未來方向

看到類似的句子,說明綜述到尾聲了,總結了過去,肯定要展望未來,在挑戰上,作者提出了兩個關鍵點:

而在方向上,有如下思路可供參考:

細粒度的NER和邊界問題。NER有時候也被叫做提槽,槽位的精準在現在問題下,其實多在於對邊緣的準確劃分。

實體連結。即對NER問題有了更高級的需求,要求理解實體之間的關係,這個對知識圖譜的構建非常重要。

資源匱乏下NER的訓練。

NER的可延展性,由於NER大都依賴rnn這種遞歸式,貪婪式的模型,所以耗時普遍較長,長句子的識別時間尤其可怕,因此這個問題需要被關注。

遷移學習。說白了就是看看能不能白嫖或者是少花錢的方式完成一個ner任務。

NER下可用的深度學習工具。

評價

這篇綜述其實談到了很多NER我之前沒有關注的點,幾個重點我劃一下,後續我也會持續去看:

上下遊編碼結構和tagger兩個模塊的模型拓展。

多任務、主動學習這兩塊有較大的挖掘空間。

另外我認為作者還有幾個方向沒有談到但是大家應該關注:

由於微信平臺算法改版,公號內容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標我們和給我們多點點【在看】。星標具體步驟為:

(1)點擊頁面最上方"AINLP",進入公眾號主頁。

(2)點擊右上角的小點點,在彈出頁面點擊「設為星標」,就可以啦。

感謝支持,比心

進群請添加AINLP小助手微信 AINLPer(id: ainlper),備註命名實體識別

推薦閱讀

這個NLP工具,玩得根本停不下來

徵稿啟示| 200元稿費+5000DBC(價值20個小時GPU算力)

完結撒花!李宏毅老師深度學習與人類語言處理課程視頻及課件(附下載)

從數據到模型,你可能需要1篇詳實的pytorch踩坑指南

如何讓Bert在finetune小數據集時更「穩」一點

模型壓縮實踐系列之——bert-of-theseus,一個非常親民的bert壓縮方法

文本自動摘要任務的「不完全」心得總結番外篇——submodular函數優化

Node2Vec 論文+代碼筆記

模型壓縮實踐收尾篇——模型蒸餾以及其他一些技巧實踐小結

中文命名實體識別工具(NER)哪家強?

學自然語言處理,其實更應該學好英語

史丹福大學NLP組Python深度學習自然語言處理工具Stanza試用

關於AINLP

AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流群請添加AINLPer(id:ainlper),備註工作/研究方向+加群目的。

閱讀至此了,分享、點讚、在看三選一吧🙏

相關焦點

  • 如何撰寫一篇中文綜述?
    兩周前,導師一聲令下,要求我撰寫一篇中文綜述完成雜誌社的約稿。說實話,前幾年根據課程要求撰寫的所謂綜述,跟發表級別的要求相比只能算是學術垃圾……但是,導師一聲令下,我也只有硬著頭皮上!可是我一個大四年級的課題組「新生」毫無正式寫作的經驗,該如何攻下這一城呢?在這兩周裡,我學到了很多。下面分享一下萌新的進化歷程吧!
  • 研究方法丨如何撰寫一篇優秀的文獻綜述?
    這一標準,也就是文獻檢索涵蓋的範圍,可以在綜述中做出相應介紹。(5)不僅要看研究論文,也要看之前的綜述。 假如某一領域已經有相關的綜述,也不要輕易放棄,而是要繼續準備你自己的綜述。這時候可以這樣應對:在你的綜述中討論之前綜述的研究方法,不足和結論;努力找出一個之前綜述沒有涉及或者討論不夠深入的方向;整合該綜述之後出現的新的研究成果。
  • 論中的文獻綜述筆記怎樣比較規範
    作者:新風學術官網寫論文或者做研究伊始,大量閱讀相關文獻、查閱相關資料,並做好筆記,是一項必不可少、很有裨益的工作。這篇文章是基於作者自己在香港中文大學教研究生方法課的提綱改寫,從學術文章的行文邏輯、結構講起,為如何寫一篇規範的、好的學術文章,提供了一個可供參考的寫作範式。對於學術文章的每一步,該文章都有講解和例子佐證。深入淺出,值得反覆讀。
  • 在碩士期間如何發表一篇綜述論文
    ✿ ONE DAY ✿目前國內的研究生,發論文是畢業的必要非充分條件,所以絕大部分研究生和我一樣一入學就要開始思考如何能夠儘快寫出一篇合適的論文來發表。奈何並不是所有導師在我們剛入學就會給我們數據寫文章,而是要求我們閱讀相關文獻並儘可能寫出篇文獻綜述來,這對於我們這些科研新手來說是一件很困難的事情,不過有幸的是我在研一期間就在核心期刊發表了1篇綜述文章。有些事情就是這樣,完成了以後才會發現並不是當初想像的那樣困難,所以在這裡分享一下我的個人經驗,希望給剛入學又需要寫綜述論文的師弟師妹們帶來一些幫助。
  • 如何寫出一篇優秀的文獻綜述?|《自然》專訪
    一篇好的綜述還應該避免術語,要為不熟悉該領域的人解釋基本概念。雖然我是科班出身的工程師,但我對生物學很感興趣,我的研究是關於開發納米材料來操縱細胞膜上的蛋白質,以及這會如何影響衰老和癌症。作為這些生物學主題的一個「局外人」,對我最有用的綜述是用明白易懂的科學語言寫的綜述。
  • NLP入門(四)命名實體識別(NER)
    在使用這個工具之前,你需要在自己的電腦上安裝Java(一般是JDK),並將Java添加到系統路徑中,同時下載英語NER的文件包:stanford-ner-2018-10-16.zip(大小為172MB),下載地址為:https://nlp.stanford.edu/software/CRF-NER.shtml。
  • 從一篇投稿談為什麼寫文獻綜述
    自2010年,金老師指導整個課題組以來,要求儘量寫文獻綜述,了解學科前沿。當然剛開始,我成了第一個,因為那個時候我在這個領域連一篇中文的綜述都沒有。所以我們課題組的開篇應該是2010年生命化學的綜述。
  • 近期做NER的反思
    本人有關自然語言處理和文本挖掘方面的學習和筆記
  • 文獻綜述類論文寫作秘籍
    筆記應包括以下兩方面的內容:一是對文章觀點、方法等方面的總結,二是自己的感受和思考。讀完足夠多的文獻,在對筆記進行分類、匯總、分析、刪減和組合以後就可以得到文獻綜述的基本素材,並且能夠列出相應的參考文獻。不做筆記,就不可能高效率地寫好文獻綜述類文章,而且還會平添成文後整理參考文獻的煩惱,對此不可小視。根據我們的經驗,寫一篇1萬字的文獻綜述,應該做二三萬字的筆記。
  • 【探店】2019年被評為德國第一的D ner美食店,火了!
    幾個月前,老胡在看電視上看到一家德國排名第一的D ner店,而且就在斯圖加特! 他舔了舔嘴唇對我說:「咱啥時候去呀?」 我鄙視地瞟了他一眼:「咋平時沒見你那麼上心,就對吃的最上心。」
  • 2018年考研管理類聯考大綱變化綜述(二)
    一、2018年考研綜合能力之數學大綱變化綜述  2017年9月15日上午教育部考試中心發布了2018年全國碩士研究生入學統一考試管理類學位聯考綜合能力考試大綱,與去年相比:和我們預測的完全一樣,數學基礎部分沒有任何的變化。
  • 如何寫好一篇文獻綜述?師兄給你劃重點
    文獻綜述包括兩種類型:一是純文獻綜述類的論文;二是學術論文組成部分的文獻綜述。本文所講的文獻綜述的寫作,主要是學術論文組成部分的文獻綜述。文獻綜述作為一篇文章的第一部分被稱為龍頭,萬事開頭難,是最難寫的,也是審稿專家最關注的地方。
  • 論文中文獻綜述應該怎麼寫
    寫一篇文獻綜述通常經歷以下幾個階段:選擇一個主題,收集閱讀文件,起草一個大綱(包)。括歸納、整理、分析)和成文。一、選題和搜集閱讀文獻文件審查通常是為某個需要而寫的,例如學術會議、科學研究項目或項目的主題。因此,筆者對文獻綜述的選題大致上是明確的,不像科學研究的主題。太難了。
  • 寫英文SCI綜述四部曲
    一說到綜述的寫作,許多人都覺得迷茫,困難,不知道從何下手,更別說英文綜述的寫作了。所以,下面為大家總結了寫SCI英文綜述四部曲。希望能給有需要的朋友們提供一些幫助。一.選題怎麼選英文綜述的選題的重要性決定了你文章接收的機率有多少。一篇好的綜述,能夠讓人耳目一新,即使對這個領域不甚了解的學者,看完之後也能有大致的輪廓。選題重在新穎,而選題恰恰是最困擾我們的一個難題,選題的來源可以是在臨床工作中遇到的待解決的問題,或者實驗過程中所涉及的領域。
  • 全新角度解讀如何寫好一篇文獻綜述
    而做文獻綜述的目的不僅僅是證明這個觀點是你想出來的而且還得論證別人的觀點是否正確,我們寫文章的時候都要有一個基本的出發點,而那個基本的出發點都是你從閱讀文獻中獲得的。那麼什麼是文獻綜述呢?其實簡單理解的話文獻綜述就是你對某一學科、專業或專題所做的大量的文獻閱讀所進行的整理篩選以及分析研究和綜合提煉而成的一種學術論文,是你自己通過眾多文獻高度濃縮的新的文獻產品。其根據涉及的內容範圍不同,綜述可分為綜合性綜述和專題性綜述兩種類型:「所謂綜合性綜述是以一個學科或專業為對象;而專題性綜述則是以一個論題為對象的,而大部分的學生畢業論文都是主要為專題性綜述的!」
  • 護理類醫學文獻綜述的寫作
    護理類醫學文獻綜述,是作者在收集大量有關護理類文獻的基礎上,通過綜合分析與評價,整理概括而成的專題性學術論文。好的護理類醫學文獻綜述,自有其豐富的原創性和獨特的學術價值。下面,藍譯編譯結合工作實踐體會,簡要介紹護理類醫學文獻綜述的寫作。
  • 文獻綜述literature review怎麼寫
    如果閱讀文獻是海底撈針,那麼寫文獻綜述就是用好多好多針去填滿一片海…夠生動了吧!很多同學都在問:文獻綜述literature review怎麼寫?學霸一般都會回答:多看看相關文章,在自己的腦子裡構建框架,再把前輩的論點一個個串起來,往前推一步就OK了。本期內容就是傻瓜教學模板之文獻綜述寫作方式~學會之後寫論文文獻綜述會事半功倍哦!
  • 文獻綜述的寫作步驟和注意事項
    (3)閱讀和整理文獻閱讀文獻是寫好綜述的重要步驟。因此,在閱讀文獻時,必須領會文獻的主要論點和論據,做好「讀書筆記」,並製作文獻摘錄卡片,用自己的語言寫下閱讀時所得到的啟示、體會和想法,摘錄文獻精髓,為撰寫綜述積累最佳的原始素材。閱讀文獻、製作卡片的過程,實際上是消化和吸收文獻精髓的過程。
  • 撰寫一篇科技期刊綜述類文章的大致步驟
    選題應有前瞻性,一般可根據學科專業教學、研究的不同需要,選擇自己從事的熟悉專業,不提倡直接將碩士或博士研究生開題報告作為綜述發表的做法;也可根據所調研或可能獲得的文獻資料的質和量,提出符合科研發展趨勢或有進展意義的綜述題目。另外,選題要反映學科發展新成果、新動向和新技術的焦點,題目不宜過空、過大,範圍不宜過寬,尤其對學生或寫作尚不夠嫻熟者,可從自己熟悉的某一方面入手,深入細緻地進行寫作。
  • 文獻綜述怎麼寫?這篇文章說的透徹!
    筆記應包括以下兩方面的內容:一是對文章觀點、方法等方面的總結,二是自己的感受和思考。讀完足夠多的文獻,在對筆記進行分類、匯總、分析、刪減和組合以後就可以得到文獻綜述的基本素材,並且能夠列出相應的參考文獻。不做筆記,就不可能高效率地寫好文獻綜述類文章,而且還會平添成文後整理參考文獻的煩惱,對此不可小視。根據我們的經驗,寫一篇1萬字的文獻綜述,應該做二三萬字的筆記。