上周推薦了一篇NER的論文,這周算是把這篇綜述看完了,感覺自己的收獲挺大的(老是感覺自己看過寫過,但是又沒找到),給大家介紹一下。
A Survey on Deep Learning for Named Entity Recognition.
總評(píng)
這篇綜述讓我感受到比較完整的NER世界觀是啥樣的,問題定義、問題拆解、常用方法及其評(píng)價(jià)、模型評(píng)估、拓展等,由于是綜述,全面性滿滿,具體的方法可以在參考文獻(xiàn)里面找,212篇文獻(xiàn)可謂是誠(chéng)意滿滿。
文章關(guān)鍵點(diǎn)筆記
1 introduction
命名實(shí)體識(shí)別的中的核心,命名實(shí)體(Named Entity)概念的出現(xiàn)其實(shí)并不久遠(yuǎn),1996年。時(shí)至今日,處理NER問題的主要有四種:
基于規(guī)則的方法。
無監(jiān)督學(xué)習(xí)方法。
基于特征的機(jī)器學(xué)習(xí)方法。
我們其實(shí)可以看到,得益于機(jī)器學(xué)習(xí)方法,NER問題被更好的解決。
2 background
本章主要是討論了NER的一些背景問題,NER的問題定義(尤其是NE的定義)、數(shù)據(jù)集和工具、模型評(píng)估、傳統(tǒng)方法之類的。
NER問題定義
首先是問題定義,主要是命名實(shí)體的定義,我直接用文章的原句吧:
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,其實(shí)就是去識(shí)別這個(gè)命名實(shí)體。
NER的模型評(píng)估
作者把評(píng)估方法分為了兩塊,精準(zhǔn)匹配和軟匹配(我翻譯的,英文是relaxed-match)。
精確匹配有兩個(gè)層面,一個(gè)是每個(gè)位點(diǎn)的預(yù)測(cè)準(zhǔn)確情況(BIO或者BIEMO的情況),這個(gè)比較常見。
而軟匹配上,其實(shí)由于他的復(fù)雜性和基于問題的特異性,沒有被廣泛使用。
傳統(tǒng)NER方法
所謂的“傳統(tǒng)”方法,作者認(rèn)為是除了DL之外的方法都算吧。
基于規(guī)則的方法會(huì)依賴問題的背景,其實(shí)也有一些輸出,作者角度看,如果資源足夠時(shí),其實(shí)就能夠有很好的效果(這個(gè)和我的實(shí)踐來看是一致的),高準(zhǔn)確低召回低可遷移性是它的特點(diǎn)。
無監(jiān)督方法
無監(jiān)督方法也有一些,說白了就是聚類,利用的是關(guān)鍵詞匯、種子詞匯去進(jìn)行擴(kuò)增,從而完成無監(jiān)督學(xué)習(xí)的任務(wù),需要根據(jù)問題進(jìn)行策略的調(diào)整,可遷移性較低。
基于特征的機(jī)器學(xué)習(xí)方法
常用的機(jī)器學(xué)習(xí)方法其實(shí)就是那些,隱馬爾科夫、決策樹、最大熵、支持向量機(jī)和條件隨機(jī)場(chǎng)。
至于特征上,也給了大家一些提示,詞性、句子成分、大小寫等,另外還可以引入一些外部的知識(shí)信息,例如維基百科的地點(diǎn)詞等。
3 NER中的深度學(xué)習(xí)技術(shù)
我們都知道,在nlp領(lǐng)域下,論準(zhǔn)招等各種效果,深度學(xué)習(xí)具有很高的地位,因此作者也花了非常大的筆墨來討論深度學(xué)習(xí),首先就談了深度學(xué)習(xí)的特點(diǎn):
非線性處理。
自動(dòng)化信息抽取,不用花費(fèi)精力尋找和維護(hù)特征。
直接端到端訓(xùn)練。
對(duì)于解決NER的深度學(xué)習(xí)方法,作者把整體架構(gòu)劃分為三個(gè)等級(jí):
分布式文本表示
上下文編碼
tag解碼
分布式文本表示
分布式文本表示,說白了就是word2vector、glove之類的預(yù)訓(xùn)練方法。具體定義不贅述了哈哈哈。
word級(jí)別,其實(shí)就比較常見word2vector、glove、fasttet、senna等,當(dāng)然也有一些簡(jiǎn)單預(yù)訓(xùn)練語言模型,例如結(jié)合CNN之類的。
而char級(jí)別(中文就是字級(jí)別)對(duì)未登錄詞的識(shí)別能力很高,其構(gòu)建的主要方式主要有CNN-based和RNN-based。
當(dāng)然,還有一些混合方法,會(huì)加入一些外部信息(詞典信息、詞匯相似度信息),這些方法對(duì)效果提升有用,但是可遷移性下降了。另外,作者把bert的方法也歸于此處,主要原因是他在預(yù)訓(xùn)練的時(shí)候使用了大量外部語料信息。
上下文編碼架構(gòu)
上下文編碼是文本表示之后的操作,作者分為了4種情況,CNN、RNNs、遞歸神經(jīng)網(wǎng)絡(luò)和transformer,另外還單獨(dú)提到了神經(jīng)網(wǎng)絡(luò)語言模型。
CNN和RNNs的情況其實(shí)比較常規(guī)了,不做太多解釋,文章中其實(shí)更多的也是論文的解釋。
遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks)其實(shí)我也只是聽過,自己沒有深入地了解,后續(xù)會(huì)排期學(xué)習(xí)。簡(jiǎn)單的用作者的話評(píng)價(jià):
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.
也就是構(gòu)建了一種特定的拓?fù)浣Y(jié)構(gòu)來表達(dá)內(nèi)部的信息,這種信息大都和句子的語法結(jié)構(gòu)相關(guān)。
神經(jīng)語言模型是nlp里面最為基礎(chǔ)的內(nèi)容,NLP幾次前進(jìn)的里程碑都和神經(jīng)語言模型的大跨步有關(guān),word2vector、elmo、bert。
想提一個(gè)有意思的思路,他借助語言模型和NER多任務(wù)的模型來進(jìn)行訓(xùn)練,這種方式能讓模型學(xué)到更加針對(duì)領(lǐng)域的語言模型,同時(shí)也能滿足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可以說是距離我們最近的一次里程碑跨越的代表了,一次技術(shù)的突破需要時(shí)間落到更多任務(wù)的實(shí)踐中,NER也不例外,目前在transformer應(yīng)用于NER的研究上,已經(jīng)有不少人進(jìn)行嘗試,而且從效果來看,具有下面這些特點(diǎn):
上下文和位置信息的表征。
微調(diào)方法為模型的通用性提供了保證,同時(shí)對(duì)特定問題也能進(jìn)行特異性訓(xùn)練。
tag解碼器
有關(guān)tag解碼器,其實(shí)就有點(diǎn)像機(jī)器學(xué)習(xí)方法了,上游做好特征工程,然后下游接解碼器預(yù)測(cè)每個(gè)位置的分類,常用的方法有:
MLP+softmax,簡(jiǎn)單,但是上下文信息捕獲能力很差。
CRF,NER上比較重要的基本方法。、
RNN,訓(xùn)練速度比CRF稍快,但是個(gè)人感覺效果不如CRF強(qiáng)。
pointer networks。RNN的一種升級(jí)版,用來提取其中的chunk,內(nèi)部其實(shí)有兩個(gè)神經(jīng)網(wǎng)絡(luò),一個(gè)用于分詞,一個(gè)用于標(biāo)記。
summary
作者花了很多的力氣去對(duì)比各個(gè)模型的效果,經(jīng)過作者的總結(jié),有如下信息:
文本表示效果對(duì)預(yù)測(cè)結(jié)果影響很大。
噪音數(shù)據(jù)對(duì)效果影響較大。
外部信息,包括預(yù)訓(xùn)練語言模型,效果雖好,作者特別指出了里面的問題:
外部信息依賴計(jì)算性能和標(biāo)注性能。
大部分情況不利于可遷移能力。
從效果來看transformer比lstm系列效果更好,可以成為lstm的替換方法。
rnn系列的缺點(diǎn)在于貪婪法,首先強(qiáng)烈依賴于上一步的結(jié)果,同時(shí)對(duì)速度有影響。
后續(xù)作者對(duì)任務(wù)下的方法進(jìn)行總結(jié),給出一些方法選擇的建議:
For end users, what architecture to choose is data and domain task dependent. If data isabundant, training models withRNNs from scratch and fine-tuning contextualized languagemodels could be considered. If data is scarce, adoptingtransfer strategiesmight 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 modelswith domain-specific data is often an effective way.
可惜的是作者這里只考慮了準(zhǔn)招效果,而沒有考慮參數(shù)量、復(fù)雜度、內(nèi)存等其他因素,不過就準(zhǔn)招而言,確實(shí)有借鑒意義。
深度學(xué)習(xí)在NER中的應(yīng)用
這章更多的是談一些使用深度學(xué)習(xí)解決NER的思路,這塊涉及自己的盲點(diǎn)很多,但是這些東西都很值得學(xué)習(xí),此處先列出,后續(xù)慢慢學(xué)習(xí)。
深度多任務(wù)學(xué)習(xí)。
深度遷移學(xué)習(xí)。
深度主動(dòng)學(xué)習(xí)。
深度強(qiáng)化學(xué)習(xí)。
深度對(duì)抗學(xué)習(xí)。
Attention機(jī)制。
NER的挑戰(zhàn)和未來方向
看到類似的句子,說明綜述到尾聲了,總結(jié)了過去,肯定要展望未來,在挑戰(zhàn)上,作者提出了兩個(gè)關(guān)鍵點(diǎn):
數(shù)據(jù)標(biāo)注問題,NER相比文本分類,其實(shí)更加需要數(shù)據(jù),這個(gè)一直是一個(gè)老大難的問題,如何獲取更多更準(zhǔn)的標(biāo)注樣本,是一個(gè)技術(shù)活。
非正式語言環(huán)境。在非正式的語境下,其實(shí)語法結(jié)構(gòu)并不是那么完整(例如微博、朋友圈、用戶query到等),這對(duì)準(zhǔn)確性和魯棒性要求就很高了。
而在方向上,有如下思路可供參考:
細(xì)粒度的NER和邊界問題。NER有時(shí)候也被叫做提槽,槽位的精準(zhǔn)在現(xiàn)在問題下,其實(shí)多在于對(duì)邊緣的準(zhǔn)確劃分。
實(shí)體鏈接。即對(duì)NER問題有了更高級(jí)的需求,要求理解實(shí)體之間的關(guān)系,這個(gè)對(duì)知識(shí)圖譜的構(gòu)建非常重要。
資源匱乏下NER的訓(xùn)練。
NER的可延展性,由于NER大都依賴rnn這種遞歸式,貪婪式的模型,所以耗時(shí)普遍較長(zhǎng),長(zhǎng)句子的識(shí)別時(shí)間尤其可怕,因此這個(gè)問題需要被關(guān)注。
遷移學(xué)習(xí)。說白了就是看看能不能白嫖或者是少花錢的方式完成一個(gè)ner任務(wù)。
NER下可用的深度學(xué)習(xí)工具。
評(píng)價(jià)
這篇綜述其實(shí)談到了很多NER我之前沒有關(guān)注的點(diǎn),幾個(gè)重點(diǎn)我劃一下,后續(xù)我也會(huì)持續(xù)去看:
上下游編碼結(jié)構(gòu)和tagger兩個(gè)模塊的模型拓展。
多任務(wù)、主動(dòng)學(xué)習(xí)這兩塊有較大的挖掘空間。
另外我認(rèn)為作者還有幾個(gè)方向沒有談到但是大家應(yīng)該關(guān)注:
nlp下的數(shù)據(jù)增強(qiáng)問題,可以從ner角度開始拓展,主要因?yàn)閚er的標(biāo)注數(shù)據(jù)具有的信息,比比他簡(jiǎn)單的文本分類問題的數(shù)據(jù)多,也比比他復(fù)雜的機(jī)器翻譯、對(duì)話系統(tǒng)的數(shù)據(jù)信息更結(jié)構(gòu)化,因此用ner進(jìn)行數(shù)據(jù)增強(qiáng)具有很大價(jià)值。
蒸餾。我們都知道上述模型耗時(shí)長(zhǎng)、體積大,蒸餾是解決該問題的一個(gè)重要方法,但是相比CV領(lǐng)域,nlp領(lǐng)域的蒸餾還有很大潛力。
責(zé)任編輯:lq
-
模型
+關(guān)注
關(guān)注
1文章
3521瀏覽量
50431 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134630 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5561瀏覽量
122799
原文標(biāo)題:【綜述】2018年的一篇NER綜述筆記
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式AI技術(shù)之深度學(xué)習(xí):數(shù)據(jù)樣本預(yù)處理過程中使用合適的特征變換對(duì)深度學(xué)習(xí)的意義
軍事應(yīng)用中深度學(xué)習(xí)的挑戰(zhàn)與機(jī)遇
BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系
AI自動(dòng)化生產(chǎn):深度學(xué)習(xí)在質(zhì)量控制中的應(yīng)用

GPU在深度學(xué)習(xí)中的應(yīng)用 GPUs在圖形設(shè)計(jì)中的作用
深度學(xué)習(xí)中RNN的優(yōu)勢(shì)與挑戰(zhàn)
NPU在深度學(xué)習(xí)中的應(yīng)用
pcie在深度學(xué)習(xí)中的應(yīng)用
GPU深度學(xué)習(xí)應(yīng)用案例
激光雷達(dá)技術(shù)的基于深度學(xué)習(xí)的進(jìn)步
FPGA加速深度學(xué)習(xí)模型的案例
AI大模型與深度學(xué)習(xí)的關(guān)系
AI深度噪音抑制技術(shù)

評(píng)論