參考論文:《A Survey on Deep Learning for Named Entity Recognition》毅戈,Jing Li, Aixin Sun, Jianglei Han, and Chenliang Li
004 NER深度模型綜述
- NER基于深度學(xué)習(xí)的技術(shù)綜述到腥,根據(jù)3個要素對這些技術(shù)分類钞脂。3個要素分別是:輸入的分布式表達(dá)揪阶、上下文編碼器播演、標(biāo)注解碼器偶翅。
1. 命名實體識別任務(wù)
命名實體識別:NER讶坯,從文本中識別預(yù)定義語義類型的專有名詞宣鄙,并標(biāo)注語義類型袍镀。
命名實體:NE,可以分兩類冻晤。一類是通用的NE苇羡,包含人名和地名等;另外一類是領(lǐng)域內(nèi)特有的NE鼻弧,例如生物學(xué)中的蛋白質(zhì)等设江。
-
NER方法類型:
基于規(guī)則的方法,需要人工設(shè)計規(guī)則攘轩,不需要標(biāo)注數(shù)據(jù)叉存;
無監(jiān)督的方法;
基于特征的監(jiān)督學(xué)習(xí)方法撑刺;
基于深度學(xué)習(xí)的方法鹉胖,自動學(xué)習(xí)分布式表達(dá)。
2. 背景
- 組織名够傍,人名等是粗粒度的NER甫菠,而NER被賦予多種標(biāo)注的情況是細(xì)粒度的NER
2.1 NER數(shù)據(jù)集
2005年以前的數(shù)據(jù)集是人工標(biāo)注的少量新聞數(shù)據(jù),只適合粗粒度的NER
2005年以后開始出現(xiàn)不同來源的數(shù)據(jù)集(維基百科冕屯、對話寂诱、用戶產(chǎn)生的數(shù)據(jù)等)
典型的NER數(shù)據(jù)集有MUC-6,MUc-7安聘,ACE痰洒,BBN瓢棒,NNE,HYENA(36種NER丘喻,種類最多)脯宿,PubMed,MEDLINE等泉粉。
目前使用最多的CoNLL03和OntoNotes數(shù)據(jù)集连霉。
2.2 常用的NER工具
學(xué)術(shù)界最常用的NER工具包括:StanfordCoreNLP, OSU Twitter NLP, Illinois NLP, NeuroNER, NERsuite, Polyglot, Gimli
工業(yè)界最常用的NER工具包括:spaCy, NLTK, OpenNLP, LingPipe, AllenNLP, IBMWatson, FG-NER, Intellexer, Repustate, AYLIEN, Dandelion API, displaCy, ParallelDots, TextRazor
2.3 NER評價指標(biāo)
與人工標(biāo)注的結(jié)果作比較
Exact-match: EM, 輸出的NER類型和短語范圍都與人工標(biāo)注完全一致
Precision,Recall,F-score
Relaxed-match:只要NER類型正確,并且可以覆蓋短語范圍就認(rèn)為是匹配的嗡靡。這種評估方法的問題在于僅當(dāng)參數(shù)完全相同跺撼,最后的得分才有可比性
3. NER方法
3.1 傳統(tǒng)的NER方法
-
基于規(guī)則的方法
基于規(guī)則的方法依賴人工設(shè)計的規(guī)則,以及語法和詞的模式讨彼,規(guī)則與領(lǐng)域相關(guān)
基于規(guī)則的著名NER方法包括:LaSIE-II, NetOwl歉井,F(xiàn)acile,SAR哈误, FASTUS, LTG哩至。
優(yōu)點:當(dāng)已知據(jù)大多數(shù)詞時,基于規(guī)則的NER方法效果很好蜜自。
缺點:由于使用領(lǐng)域內(nèi)的特定規(guī)則和不完整的詞典憨募,基于規(guī)則的NER方法表現(xiàn)出高precision,但是低recall袁辈。且領(lǐng)域遷移困難。
-
無監(jiān)督的方法
典型的無監(jiān)督NER方法是clustering珠漂,通過context相似度抽取命名實體晚缩。
通過無監(jiān)督的方法,可以減少對監(jiān)督信息的需要媳危,只需要少數(shù)種子規(guī)則即可荞彼,也可能利用通用的規(guī)則,或淺層的語法知識
-
基于特征的監(jiān)督學(xué)習(xí)方法
在監(jiān)督學(xué)習(xí)中待笑,NER被當(dāng)成多分類任務(wù)或者序列標(biāo)簽任務(wù)
監(jiān)督學(xué)習(xí)中特征工程的設(shè)計非常重要鸣皂,使用特征向量表示文本的摘要信息
使用模型包括HMM,決策樹暮蹂,最大熵模型寞缝,支持向量機和條件隨機場
3.2 基于深度學(xué)習(xí)的NER方法
深度學(xué)習(xí)本質(zhì)在于利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)潛在的語義表達(dá),從而完成分類或檢測仰泻,潛在語義通過分布式向量表達(dá)荆陆。
深度學(xué)習(xí)的優(yōu)點在于自動學(xué)習(xí)特征,且基于深度學(xué)習(xí)的NER模型可以端到端訓(xùn)練集侯,從而可以建立復(fù)雜的NER系統(tǒng)
distributed representations for input:融合詞級別被啼、字符級別的嵌入信息帜消,詞性標(biāo)注和地理詞典等傳統(tǒng)特征
context encoder:使用CNN、RNN以及其他神經(jīng)網(wǎng)絡(luò)捕獲上下文依賴信息
tag decoder:根據(jù)輸入序列的信息預(yù)測標(biāo)簽浓体,通常使用BIO/BIOES標(biāo)簽表示
3.2.1 Distributed Representation for Input
-
分布式表示:使用低維度實值向量表示詞的信息泡挺,每一維都表示一種特征。分布式表示一般存在3種命浴,包括
1)詞級別的表示:通常是預(yù)訓(xùn)練的詞表示娄猫。
通用領(lǐng)域的詞表示包括Word2Vec, GloVe, fastText, SENNA。
對于特定領(lǐng)域咳促,可以使用特定領(lǐng)域的語料訓(xùn)練出詞表示稚新,例如Bio-NER中的詞表示。
基于神經(jīng)網(wǎng)絡(luò)的NER模型中跪腹,詞級別的表示初始化可以使用通用領(lǐng)域的詞表示或者完全隨機化褂删。
2)字符級別的表示:
詞級別的表示可以捕獲子詞信息,例如前綴冲茸、后綴屯阀。
可以推測未見詞的嵌入,從而自然地解決OOV問題轴术。
提取字符級別嵌入的方法:基于CNN的和基于RNN的难衰。其中CNN中字符經(jīng)過卷積池化獲得字符級別的嵌入;RNN中為每個字符預(yù)測生成標(biāo)簽的分布逗栽,詞級別的標(biāo)簽由字符級別的標(biāo)簽計算得到盖袭。
字符級別的嵌入和詞級別的嵌入通常連接在一起表示。
3)混合的表示:
除了詞級別和字符級別的嵌入表示彼宠,還可以在嵌入中引入其他信息鳄虱,例如地理信息,詞相似度凭峡,句法依賴拙已,視覺信息等。相當(dāng)于聯(lián)合使用基于深度學(xué)習(xí)的方法和基于特征的方法摧冀。
BiLSTM-CRF模型中融合4種特征:spelling features, context features, word embeddings, gazetteer features倍踪。
BiLSTM-CNN模型則融合了雙向LSTM和一個字符級別的CNN,除了word embeddings還有詞級別的特征索昂、字符級別的特征建车。
也有模型將LDA和基于深度學(xué)習(xí)的詞級別、字符級別的嵌入聯(lián)合在一起楼镐。
BERT提供預(yù)訓(xùn)練的雙向深度詞表示癞志。輸入的表示由位置信息,分段信息框产,詞嵌入信息綜合計算得到凄杯。
3.3 Context Encoder Architectures
- 目標(biāo)是得到更好的上下文表示错洁。
3.3.1 卷積神經(jīng)網(wǎng)絡(luò)
使用每個詞的嵌入作為輸入,卷積層計算得到本地特征戒突,全部本地特征綜合得到輸入的全局特征屯碴。
輸入句子的全局特征將輸入tag decoder計算所有可能標(biāo)簽的分布。即每個單詞的標(biāo)簽由整個句子決定膊存。
ID-CNNs適用于大規(guī)模文本和結(jié)構(gòu)化預(yù)測导而。
3.3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)
RNN通常使用兩大變種GRU、LSTM隔崎,利用門機制緩解長程依賴的問題今艺。
雙向RNNs有效利用過去的信息和未來的信息,適合建模上下文存在依賴的表示爵卒。
BiLSTM-CRF以及跨語言虚缎,多任務(wù)的變種。
基于RNN的NER研究方向之一是嵌套NER钓株。
3.3.3 遞歸神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)也是遞歸神經(jīng)網(wǎng)路的一種实牡。一般而言,循環(huán)神經(jīng)網(wǎng)絡(luò)是在時間維度上的遞歸轴合,而遞歸神經(jīng)網(wǎng)絡(luò)是在結(jié)構(gòu)上的遞歸创坞。
遞歸神經(jīng)網(wǎng)絡(luò)是一種自適應(yīng)的非線性模型,能夠按照拓?fù)漤樞虮闅v給定結(jié)構(gòu)來學(xué)習(xí)深層結(jié)構(gòu)信息受葛。
NER與語言成分高度相關(guān)题涨,遞歸計算constituency structure中的節(jié)點隱藏層信息并分類,有助于序列標(biāo)注总滩。
3.3.4 神經(jīng)語言模型
前向/后向神經(jīng)語言模型:分別給定前面/后面的詞預(yù)測當(dāng)前詞携栋,通過根據(jù)雙向RNN得到當(dāng)前位置的表示,這種表示在序列標(biāo)注任務(wù)中很實用咳秉。
LM-LSTM-CRF:同時利用預(yù)訓(xùn)練的詞表示和LM中詞的表示,使用多任務(wù)學(xué)習(xí)的方式共享字符級別的表示鸯隅。預(yù)訓(xùn)練的詞表示澜建,共享的字符級別表示以及語言模型中的表示共同組成最終的詞表示。
實驗證明蝌以,多任務(wù)學(xué)習(xí)有利于LM學(xué)得特定任務(wù)的知識炕舵。
ELMo通過雙層的雙向語言模型可以詞的復(fù)雜特定,例如跟畅,語法語義等咽筋。
3.3.5 Deep Transformer
transformer使用堆疊的自注意力和逐點連接的全連接層構(gòu)建編碼器和解碼器,徹底消除CNN和RNN徊件。
GPT:Generative Pre-trained Transformer奸攻,從左到右利用未標(biāo)記的數(shù)據(jù)訓(xùn)練語言模型。主要目的是生成,根據(jù)上文預(yù)測下一個詞惩阶。
BERT:Bidirectional Encoder Representations from Transformers括享,同時使用上文和下文。
在NER中硝训,使用預(yù)訓(xùn)練的詞嵌入效果比傳統(tǒng)的詞嵌入效果好很多响委,也可以聯(lián)合兩者使用。使用NER或chunking作為下游任務(wù)微調(diào)預(yù)訓(xùn)練模型窖梁。
3.4 Tag Decoder Architectures
- 輸入上下文相關(guān)的表示赘风,輸出標(biāo)簽序列。常用的解碼器結(jié)構(gòu)包括:MLP+softmax纵刘、CRFs邀窃、RNN和Pointer Network。
3.4.1 多層感知機+softmax
- 多層感知機和softmax層將序列標(biāo)注任務(wù)轉(zhuǎn)換成為多分類任務(wù)彰导,為每個詞標(biāo)注tag蛔翅。
3.4.2 CRFs
基于深度學(xué)習(xí)的CRFs主要用在雙向LSTM或者CNN層上,例如CoNLL03, OntoNotes5.0位谋。
CRFs的缺陷在于無法充分利用分段信息山析,因為分段信息無法完全使用詞嵌入表示。改進方法是直接建模分段的表示掏父,而不是詞的表示笋轨。
3.4.3 RNN
- 有研究表明,當(dāng)命名實體類別很多時赊淑,使用RNN作為解碼器表現(xiàn)更好爵政,且更容易訓(xùn)練。
3.4.4 Pointer Networks
指針網(wǎng)絡(luò)應(yīng)用在RNN上陶缺,輸出位置下標(biāo)集合钾挟,形成離散的位置范圍。使用softmax概率分布作為指針饱岸,表示可變長的詞典掺出。
NER中,PN將輸入的序列分段苫费,然后輸出標(biāo)簽汤锨。
3.5 總結(jié)
3.5.1 結(jié)構(gòu)
BiLSTM-CRF方法使用最普遍。
在填空類型的任務(wù)上使用雙向Transformer預(yù)訓(xùn)練獲得目前的最佳表現(xiàn)(CoNLL03, OntoNotes5.0)百框。
3.5.2 結(jié)構(gòu)對比
引入外部知識有助于提升NER,但獲取外部知識困難,且會降低端到端系統(tǒng)的泛化性能柬泽。
使用大規(guī)模預(yù)料上訓(xùn)練的Transformer encoder效果比LSTM表現(xiàn)更好,但如果語料規(guī)模不夠大的時候书幕,預(yù)訓(xùn)練反而會降低模型性能。
使用PN或者RNN作為decoder的缺陷在于解碼速度慢揽趾,不好并行台汇。
當(dāng)實體類型少的時候CRF處理處理速度快,但如果實體類型多的時候計算CRF的代價高昂篱瞎。需要注意的是苟呐,在BERT和ELMo上使用CRF的效果可能不如直接使用softmax多分類。
3.5.3 選擇結(jié)構(gòu)
模型的選擇取決于任務(wù)和數(shù)據(jù)俐筋。當(dāng)數(shù)據(jù)量很大的時候考慮從頭訓(xùn)練RNN模型或者微調(diào)預(yù)訓(xùn)練模型牵素;反之,如果數(shù)據(jù)量不足澄者,則要考慮使用遷移策略笆呆。
針對特定領(lǐng)域的數(shù)據(jù),可以在通用預(yù)訓(xùn)練語言模型的基礎(chǔ)上精調(diào)粱挡。
4 NER中新的深度學(xué)習(xí)方法
- CRFs赠幕,RNNs,LSTM都是典型的方法询筏,應(yīng)用在NER最新的工作包括深度多任務(wù)學(xué)習(xí)榕堰,深度遷移學(xué)習(xí),深度主動學(xué)習(xí)嫌套,深度強化學(xué)習(xí)局冰,深度對抗學(xué)習(xí)以及注意力相關(guān)的工作。
4.1 Deep Multi-task Learning for NER
多任務(wù)學(xué)習(xí)同時學(xué)習(xí)一組任務(wù)灌危,例如POS, Chunk, NER, SRL,考慮任務(wù)之間的關(guān)聯(lián)性碳胳,多任務(wù)學(xué)習(xí)期望多任務(wù)的綜合表現(xiàn)比單獨學(xué)習(xí)每一個任務(wù)更好勇蝙。
多任務(wù)的設(shè)置可以是NER任務(wù)和其他序列標(biāo)注任務(wù),或?qū)ER分解為實體分段和實體類型識別兩個子任務(wù)挨约,或者NER用于不同數(shù)據(jù)集上同時訓(xùn)練味混。
由于多任務(wù)的設(shè)定是多個任務(wù)共享網(wǎng)絡(luò)參數(shù)产雹,從而可能學(xué)到更通用的表達(dá)。
4.2 Deep Transfer Learning for NER
NER的遷移學(xué)習(xí)指用于低資源和跨領(lǐng)域的神經(jīng)網(wǎng)絡(luò)翁锡,將源領(lǐng)域的知識用于目的領(lǐng)域蔓挖。
可以使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)源命名實體類型和目標(biāo)命名實體類型之間的關(guān)聯(lián)。
NER遷移學(xué)習(xí)實現(xiàn)方式可以是共享參數(shù)馆衔,也可以是在源端預(yù)訓(xùn)練目標(biāo)端精調(diào)瘟判。
4.3 Deep Active Learning for NER
主動學(xué)習(xí)選擇數(shù)據(jù)去學(xué)習(xí),從而減少標(biāo)注的數(shù)據(jù)量角溃。傳統(tǒng)主動學(xué)習(xí)的缺陷在于每輪訓(xùn)練都需要從頭開始拷获。
有工作提出了對新標(biāo)注的數(shù)據(jù),在NER任務(wù)上增量訓(xùn)練减细。
主動學(xué)習(xí)的只需要使用24.9%的英文數(shù)據(jù)或30.1%的中文數(shù)據(jù)就可以獲得使用完整數(shù)據(jù)訓(xùn)練模型99%的效果匆瓜。
4.4 Deep Reinforcement Learning for NER
強化學(xué)習(xí):智能體和環(huán)境交互,選擇動作獲得獎勵未蝌,目標(biāo)是獲得最大的累積獎勵驮吱。
強化學(xué)習(xí)的建模方法:1)環(huán)境被建模為隨機的有限狀態(tài)自動機,自動機的輸入為智能體的動作萧吠,自動機的輸出為觀察結(jié)果以及智能體得到的獎勵左冬;2)智能體也被建模成隨機的有限狀態(tài)自動機,輸入為環(huán)境反饋的狀態(tài)和獎勵怎憋,輸出為動作又碌。
強化學(xué)習(xí)的的最終輸出是好的策略或狀態(tài)轉(zhuǎn)換函數(shù)。
4.5 Deep Adversarial Learning for NER
對抗訓(xùn)練在對抗樣本上訓(xùn)練绊袋,目標(biāo)是提供系統(tǒng)的健壯性或減少測試階段的錯誤毕匀。
NER中,將源領(lǐng)域的實例當(dāng)成目標(biāo)領(lǐng)域的對抗樣本癌别,尋找領(lǐng)域間通用的特征皂岔。
DATNet,將通過原樣本添加干擾構(gòu)造對抗樣本展姐,用于低資源的NER躁垛。
4.5 Neural Attention for NER
在NER任務(wù)中使用注意力機制,使得NER模型將注意力集中到輸入中信息最豐富的地方圾笨。特別是Transfromer完全基于自注意力教馆,構(gòu)建輸入和輸出的全局依賴。
NER系統(tǒng)可以將注意力機制用到字符級別和詞級別的組件中擂达,動態(tài)查找需要的權(quán)重土铺。
NER系統(tǒng)中也可以通過注意力構(gòu)造文檔級別的全局信息。
5 面臨的挑戰(zhàn)以及可能的研究方向
5.1 面臨的挑戰(zhàn)
數(shù)據(jù)標(biāo)注問題:同一個命名實體在不同的數(shù)據(jù)集中標(biāo)注的類型可能不一致,阻礙了模型的遷移能力悲敷。命名實體的標(biāo)注也可能存在嵌套性究恤。
非正式的文本:用戶產(chǎn)生的數(shù)據(jù)可能是非正式的,很短且充滿噪聲后德。
未見實體:實體此前未見部宿,對NER的健壯性提出挑戰(zhàn)。
5.2 未來的方向
細(xì)粒度的NER:領(lǐng)域內(nèi)細(xì)粒度的NER可以用于支持多種實際應(yīng)用瓢湃,但會帶來實體類型的增加理张。
邊界檢測:將NER分解為實體類型檢測和邊界檢測,則邊界檢測可以用于不同領(lǐng)域的NER箱季,則邊界檢測可以用于多個領(lǐng)域涯穷,更有泛化性和健壯性。同時將實體邊界檢測作為中間步驟藏雏,如果提升實體邊界檢測的正確性可以減少實體鏈接過程中的錯誤傳遞拷况。
NER和實體鏈接的結(jié)合:實體鏈接是將命名實體鏈接到知識庫,指明具體實體描述的任務(wù)掘殴。而實體鏈接攜帶的語義信息可以幫助檢測命名實體邊界和幫助正確識別實體類型赚瘦。將NER和EL聯(lián)合訓(xùn)練也許是有益的。
利用輔助資源解決非正式文本中的NER:理論上奏寨,使用輔助資源起意,例如特定領(lǐng)域的詞典,可以幫助解決非正式文本中的NER問題的病瞳。關(guān)鍵問題在于如何融合輔助資源揽咕。
基于深度學(xué)習(xí)的NER的可擴展性:目前NER模型隨著數(shù)據(jù)量的增大需求的算力也飛快增長,對于缺乏大規(guī)模算力的終端用戶來說不可接受套菜。模型壓縮和修剪是可能的解決方案亲善。
深度遷移學(xué)習(xí):當(dāng)前領(lǐng)域遷移的NER系統(tǒng)還不夠成熟。需要研究以下幾點:1)需要創(chuàng)建足夠健壯的識別器逗柴,可用于不同領(lǐng)域蛹头;2)低資源領(lǐng)域的NER,例如zero-shot, few-shot等戏溺;3)需解決跨領(lǐng)域標(biāo)簽不匹配的問題渣蜗。
-
真正簡單易用的,基于深度學(xué)習(xí)的NER工具:
GERBIL提供了簡單易用的NER工具旷祸,但是不涉及最新的深度學(xué)習(xí)技術(shù)耕拷;
FAIRSEQ為序列模型提供了簡單、可擴展的工具托享;
NeuroNER利用RNN的變種實現(xiàn)了一個NER框架骚烧。