祁鵬年,廖雨倫,覃 飆
(中國人民大學(xué) 信息學(xué)院,北京 100872)
命名實(shí)體識別 (NER) 作為獨(dú)立的信息抽取工具,被廣泛應(yīng)用于各種自然語言處理應(yīng)用中,如機(jī)器翻譯[1]、文本理解[2,3]、信息檢索[4,5]、問答系統(tǒng)[6]以及知識圖譜[7]等.而且它在推動自然語言處理技術(shù)落地實(shí)踐的過程中也占著非常關(guān)鍵的地位.下面是比較常見的應(yīng)用場景:
1) 機(jī)器翻譯
在機(jī)器翻譯[1]過程中,像人名、地名、機(jī)構(gòu)名以及專有名詞等命名實(shí)體的翻譯通常會根據(jù)特定的翻譯規(guī)則,如中文名翻譯成英文時(shí)先要把名字轉(zhuǎn)化成拼音然后再調(diào)換姓和名的順序.但對非命名實(shí)體單詞的翻譯則不需要添加額外的規(guī)則.可見,正確識別命名實(shí)體對機(jī)器翻譯而言至關(guān)重要.
2) 知識圖譜
知識圖譜[7]主要由頭實(shí)體、尾實(shí)體、關(guān)系及屬性和屬性值組成.顧名思義,知識圖譜中的實(shí)體也在命名實(shí)體所涵蓋的范圍之內(nèi),所以實(shí)體不僅是知識圖譜中最基本的組成元素,其抽取任務(wù)也是構(gòu)建知識圖譜的關(guān)鍵一步,所以命名實(shí)體識別的質(zhì)量與知識圖譜的質(zhì)量息息相關(guān).
3) 問答系統(tǒng)
在問答系統(tǒng)[6]中能否準(zhǔn)確的識別出問題的各個(gè)組成部分及問題所屬的領(lǐng)域和相關(guān)概念是影響后續(xù)任務(wù)的必要條件,這也是問答系統(tǒng)所面臨的重點(diǎn)和難點(diǎn).在分析問題時(shí)首先需要對用戶輸入的問題進(jìn)行命名實(shí)體識別,抽取出問題所包含的實(shí)體,然后進(jìn)一步使用關(guān)系分類、句法解析、指代消歧在內(nèi)的其他自然語言處理任務(wù),以便準(zhǔn)確把握用戶的意圖.可見在問答系統(tǒng)中命名實(shí)體識別的重要性.
4) 語義網(wǎng)絡(luò)
語義網(wǎng)絡(luò)一般是由概念、實(shí)例以及對應(yīng)關(guān)系組成.而語義網(wǎng)絡(luò)中的實(shí)例一般是指命名實(shí)體,所以構(gòu)建語義網(wǎng)絡(luò)之前,命名實(shí)體識別是一個(gè)基礎(chǔ)性的工作.
命名實(shí)體一般是指從預(yù)定義語義類型的文本中識別出有特殊意義或有很強(qiáng)指代性的名詞(如人名、地名、機(jī)構(gòu)名、時(shí)間和日期等).顧名思義,中文命名實(shí)體識別就是將中文文本中的上述實(shí)體抽取出來.然而,命名實(shí)體識別任務(wù)一開始是為英文文本而設(shè)計(jì).但隨著自然語言處理技術(shù)的不斷發(fā)展,開始逐漸應(yīng)用于其他語言文本中.由于英語和其他語言之間存在的差異,無法將其算法完全適配到其他語言文本中,因?yàn)橛⑽闹袔в忻黠@的形式標(biāo)志,所以識別實(shí)體相對更加容易.與之相比,中文句子則由連續(xù)的漢字組成,實(shí)體本身也無明顯的形式特征,識別難度更大面臨更多問題.目前尚無系統(tǒng)介紹中文命名實(shí)體識別的研究成果發(fā)表,鮮有的工作也是圍繞著英文命名實(shí)體識別展開,并以不同時(shí)期的技術(shù)發(fā)展為主線對現(xiàn)有的工作進(jìn)行概述,沒有從模型層面進(jìn)行深入分析,對基于深度學(xué)習(xí)的方法介紹過于籠統(tǒng).
近年來,命名實(shí)體識別技術(shù)不斷發(fā)展,從基于規(guī)則的傳統(tǒng)研究方法[8]到非監(jiān)督學(xué)習(xí)[12],再從非監(jiān)督學(xué)習(xí)到基于特征工程的監(jiān)督學(xué)習(xí)[13]方法,最后到基于深度學(xué)習(xí)的研究方法[9-11].具體來說,基于規(guī)則的命名實(shí)體識別方法,將手工規(guī)則與實(shí)體庫相結(jié)合并根據(jù)二者之間的相似性來做實(shí)體類型判斷.基于無監(jiān)督學(xué)習(xí)的方法通常利用統(tǒng)計(jì)模型來做命名實(shí)體識別,比如使用聚類算法將聚類組中上下文的相似性進(jìn)行對比來識別命名實(shí)體.基于特征的監(jiān)督學(xué)習(xí)方法,先從標(biāo)注的數(shù)據(jù)樣本中提取特征并利用這些特征來學(xué)習(xí)模型,然后從未標(biāo)注的數(shù)據(jù)中識別出學(xué)習(xí)過的模式.基于深度學(xué)習(xí)的方法,憑借最優(yōu)越的性能占據(jù)目前研究的主導(dǎo)地位,它利用向量化表示和深度神經(jīng)網(wǎng)絡(luò)處理,能夠從大量訓(xùn)練樣本中自動學(xué)習(xí)隱藏的特征.對中文命名實(shí)體識別而言,傳統(tǒng)研究方法使用較少,主要圍繞深度學(xué)習(xí)技術(shù)展開.所以本文將基于深度學(xué)習(xí)的CNER做了分類,根據(jù)不同的增強(qiáng)方法將其分為數(shù)據(jù)和結(jié)構(gòu)增強(qiáng)兩大類,對每個(gè)分類做了更細(xì)粒度的劃分.
本文主要介紹了基于深度學(xué)習(xí)的CNER相關(guān)模型、數(shù)據(jù)集、評價(jià)標(biāo)準(zhǔn)及性能.第1節(jié)對該領(lǐng)域已有的方法進(jìn)行了系統(tǒng)歸納,并提出了系統(tǒng)的分類方法.第2節(jié)主要介紹了用于測評CNER性能的相關(guān)數(shù)據(jù)集,并對4大常用數(shù)據(jù)集(OntoNotes 4.0、MSRA、Weibo、Resume)進(jìn)行重點(diǎn)介紹,也分析比較了近期提出的新數(shù)據(jù)集.第3節(jié)討論了模型的評價(jià)標(biāo)準(zhǔn).第4節(jié)分析和對比了不同時(shí)期的經(jīng)典模型.第5節(jié)探討了CNER任務(wù)當(dāng)下存在的挑戰(zhàn)以及未來的發(fā)展機(jī)遇.
在當(dāng)下的CNER領(lǐng)域中,傳統(tǒng)的研究方法使用較少,主要是基于深度學(xué)習(xí)的方法占據(jù)主導(dǎo)地位,而近些年陸續(xù)提出的模型也都是基于深度學(xué)習(xí)的.如圖1所示,本文將基于深度學(xué)習(xí)的CNER方法分為3類,分別是數(shù)據(jù)增強(qiáng)和模型結(jié)構(gòu)增強(qiáng),以及二者同時(shí)增強(qiáng).然后對每一類中的方法進(jìn)行更細(xì)粒度的剖析.
圖1 基于深度學(xué)習(xí)的CNER方法分類Fig.1 CNER method classification based on deep learning
1) 基于字詞的方法
字符級表示對英文文本而言可以有效處理前后綴信息,而對中文文本來說也可以有效避免分詞不準(zhǔn)確導(dǎo)致的模型傳播錯(cuò)誤.文獻(xiàn)[20-22]指出,在中文命名實(shí)體識別系統(tǒng)中基于字符級表示的方法比基于詞級表示的方法效果更好.其中,He等人[20]針對中文分詞和命名實(shí)體識別任務(wù)提出了一種基于字符的條件隨機(jī)場模型,分別對比了字符級表示、詞級表示以及詞級表示加詞性特征的中文命名實(shí)體識別任務(wù),結(jié)果表明基于字符表示方法的效果最好.Zhang等人[25]使用輸入的字符級表示并結(jié)合了分詞和語法解析,實(shí)驗(yàn)表明基于字符的特征可以顯著提高中文句法分析的準(zhǔn)確性.Chen等人[23]將中文命名實(shí)體識別視為一個(gè)字符序列標(biāo)注問題,構(gòu)建了一個(gè)基于條件隨機(jī)場(CRFs)的命名實(shí)體識別系統(tǒng),其中包含基本的特征和基于條件隨機(jī)場的附加特征.Lu[24]等人認(rèn)為,字的使用非常靈活,每個(gè)字在不同的詞中可以有不同的意思,通過對每個(gè)字符使用一個(gè)固定的表示很難完全捕獲字符的意義.因此,提出了一種多原型字符表示方法,該方法在給定輸入句子的情況下,可以同時(shí)做預(yù)測字符表示和字符語義.實(shí)驗(yàn)結(jié)果也表明,字符的多原型表示在中文命名實(shí)體識別任務(wù)上比單原型基準(zhǔn)有更好的表現(xiàn),而且多原型字符表示模型也成為了當(dāng)時(shí)最先進(jìn)的模型.Dong等人[26]將BiLSTM+CRF架構(gòu)引入到CNER任務(wù)中,并使用了字符和部首級聯(lián)合表示的方法,模型最終取得了不錯(cuò)的性能.
文獻(xiàn)[14-16]中則采用了詞級表示,使用無監(jiān)督算法對大量英文文本進(jìn)行預(yù)訓(xùn)練,并將預(yù)訓(xùn)練好的詞嵌入作為輸入,然后在NER模型訓(xùn)練時(shí)進(jìn)行固定或進(jìn)一步微調(diào)即可.這類方法的典型代表如連續(xù)詞袋(CBOW)和連續(xù)skip-gram模型[18],而文獻(xiàn)[17,19]也進(jìn)一步證明了預(yù)訓(xùn)練詞嵌入的重要性.目前,在中文命名實(shí)體識別模型的訓(xùn)練中,主要也是采用字符或詞向量模型的預(yù)處理方法.以字符向量作為神經(jīng)網(wǎng)絡(luò)的輸入不能使用單詞的語義并且要放棄單詞的顯式邊界信息,而以單詞向量作為神經(jīng)網(wǎng)絡(luò)的輸入則依賴于分割算法的準(zhǔn)確性.因此,選擇什么樣的表示方式,這取決于不同文本的語言特征和具體的應(yīng)用場景,也有研究將字和詞的表示結(jié)合起來取得了很好的效果.Liu等人[21]使用序列標(biāo)注的方法,研究了在中文命名實(shí)體識別任務(wù)中字符級和單詞級表示應(yīng)該采用哪一種表示粒度.結(jié)果表明,根據(jù)附加知識庫的規(guī)模應(yīng)該采用不同的方法.在相關(guān)知識不足的情況下,基于字符的方法適用于具有相同特征的姓名和地點(diǎn)的識別.在特征數(shù)量足夠的情況下,基于詞的模型對NER任務(wù)來說更有效.而且,基于詞的NER模型在使用更有用的全局知識特征(如人名、地名等)的情況下,可以達(dá)到更好的效果.
由于字詞表示都有其各自的優(yōu)勢與缺陷,所以有些方法使用字詞融合的思路來取長補(bǔ)短.Ye等人[27]提出了一種基于字詞向量融合的CNER模型CWVF-BiLSTM-CRF,該模型先利用Word2Vec得到字詞向量和字詞向量對應(yīng)的字典.然后將字詞向量集成到BiLSTM網(wǎng)絡(luò)的輸入單元中,并利用CRF解決標(biāo)簽序列不合理的問題.文中指出,該模型可以有效減少對分詞算法精度的依賴,并能有效地利用詞的語義特征.
2) 基于詞典的方法
在基于字符表示的基礎(chǔ)上融合中文分詞信息已成為中文命名實(shí)體識別方向的研究熱點(diǎn),此類方法以中文更有效的字符表示為基礎(chǔ),盡可能多的融合其他外部信息來豐富所表示的特征,而且已有的大量工作表明借助外部詞典信息可以有效提高中文NER的性能.因此,本節(jié)歸納了結(jié)合外部詞典來做中文命名實(shí)體識別的系列工作.首先,介紹此類工作的開山鼻祖Lattice-LSTM[28],然后深入剖析了它的各種變體,最后做全面的分析.
外部資源信息已被廣泛應(yīng)用于命名實(shí)體識別任務(wù)中,特別是詞典信息的使用,文獻(xiàn)[34-37]中均使用詞典信息來增加NER.LSTM已成為NER任務(wù)中序列建模的主要選擇,但其受到基本架構(gòu)的限制,只允許嚴(yán)格順序的信息傳播,因此Tai等人[29]將LSTM架構(gòu)擴(kuò)展成了基于樹形結(jié)構(gòu)的Tree-LSTM,如圖4所示,該模型結(jié)構(gòu)不僅可以支持多種網(wǎng)絡(luò)拓?fù)涠颐總€(gè)根節(jié)點(diǎn)都可以融合其子節(jié)點(diǎn)的信息.已有的工作[28,30-33]中都使用Tree-LSTM結(jié)構(gòu)來構(gòu)建模型并取得了很好的效果.
Zhang等人[28]基于Tree-LSTM結(jié)構(gòu)設(shè)計(jì)了一種中文命名實(shí)體識別模型,該模型是基于詞典的中文NER的開山之作,此后有一系列的優(yōu)秀工作都是在此基礎(chǔ)上的展開.該模型使用當(dāng)時(shí)英文NER中表現(xiàn)最好的LSTM-CRF[108]模型作為主要的網(wǎng)絡(luò)架構(gòu).文中同時(shí)構(gòu)建了基于字符和詞以及Lattice結(jié)構(gòu)的中文NER模型.其中,基于字符的模型使用的是BiLSTM+CRF架構(gòu),而且在字符表示的時(shí)候分別融入了二元語法(bigrams)信息和標(biāo)簽分割信息.而基于詞的模型則是在詞表示的基礎(chǔ)上添加了詞中所包含字的表示,也就是將字詞表示相融合,并且文中對詞中所包含字符的表示使用了3種不同的表示方法:第1種是使用一個(gè)雙向循環(huán)神經(jīng)網(wǎng)絡(luò)來做字符的表示;第2種則為每一個(gè)字符使用一個(gè)單獨(dú)的BiLSTM來獲取前向和反向的特征;第3種是在每個(gè)詞的字符序列上使用標(biāo)準(zhǔn)的CNN結(jié)構(gòu)來獲得其字符表示.而基于Lattice[28]的NER模型首先通過自動分割大量的原始文本構(gòu)建詞典,然后將所有的輸入字符序列一同去字典中匹配相關(guān)的詞.該模型以字符表示為基本結(jié)構(gòu),但是與基于字符模型不同的是需要考慮句子中的詞在詞典中對應(yīng)的詞序列,并在句子開始時(shí)候會使用一個(gè)細(xì)胞(Cell)來表示在詞典中查到的詞在RNN中的狀態(tài).實(shí)驗(yàn)結(jié)果表明:與單純基于字和詞的LSTM-CRF[108]相比,Zhang等人提出的方法在4個(gè)數(shù)據(jù)集上的表現(xiàn)都非常優(yōu)異,而且Lattice模型不受分詞結(jié)果的困擾,可以自由選擇詞典中的匹配詞.
Yang等人[65]的研究結(jié)果表明,LSTM由于本身的門結(jié)構(gòu)特征,有時(shí)錯(cuò)誤的路徑選擇會使得Lattice-LSTM模型[28]退化成基于詞表示的模型,而詞模型面臨著詞邊界檢測錯(cuò)誤的影響,這種情況下Lattice-LSTM就失去了結(jié)構(gòu)優(yōu)勢.為此,Liu等人[63]提出了一種新的字詞LSTM(WC-LSTM),用于將單詞信息集成到基于字符的模型中,為了防止模型退化為基于詞的部分模型,給每個(gè)字符分配固定的單詞信息.該模型以LSTM-CRF作為主要的網(wǎng)絡(luò)結(jié)構(gòu),但與標(biāo)準(zhǔn)LSTM-CRF模型之間的差異主要在于嵌入層和LSTM層.基于WC-LSTM[63]的模型,首先將中文句子表示為一系列字-詞對,其目的是將單詞信息集成到每個(gè)字符中.其次,為了使模型能夠批量訓(xùn)練并滿足不同的應(yīng)用需求,文中引入了4種編碼策略來從單詞中提取固定大小但不同的信息.最后,使用鏈結(jié)構(gòu)的字詞LSTM層從字符和單詞中提取特征.具體來說,在字詞嵌入層,每一個(gè)向量都是由兩部分組成,分別是對應(yīng)的字符和分配的詞,并且詞按其長度進(jìn)行排序.為了有效利用過去和將來的信息,模型使用了雙向WC-LSTM.因?yàn)榭紤]到連續(xù)標(biāo)簽之間的依賴性,所以使用CRF層來做序列標(biāo)記.最后該模型在幾個(gè)常用數(shù)據(jù)集上進(jìn)行評估,并以Zhang等人[28]提出的Lattice-LSTM模型為主要的比較對象,實(shí)驗(yàn)結(jié)果表明基于WC-LSTM的模型比Lattice LSTM模型更高效快速,并且和當(dāng)時(shí)最新的模型相比都有一定的優(yōu)勢.
由于中文句子不是天然分割的,所以中文NER任務(wù)的一種常見做法是先使用現(xiàn)有的CWS (Chinese Word Segmentation)系統(tǒng)執(zhí)行分詞,然后對分詞結(jié)果進(jìn)行將詞級序列標(biāo)注.但CWS系統(tǒng)不可避免地會錯(cuò)誤地對查詢語句進(jìn)行分段,這將導(dǎo)致NER中實(shí)體邊界的檢測和實(shí)體類別預(yù)測時(shí)出現(xiàn)錯(cuò)誤.所以目前很多研究者直接在字符級別上執(zhí)行中文NER任務(wù),而這種方法被已有的工作證明是非常有效的.基于純字符的模型無法有效融合詞信息.但Lattice-LSTM[28]模型結(jié)構(gòu)過于復(fù)雜,為了引入詞典信息,在輸入序列中不相鄰字符之間添加了多個(gè)附加邊,使得訓(xùn)練和推理的速度大大減慢.而且該模型很難移植到可能更適合于某些特定任務(wù)的其他神經(jīng)網(wǎng)絡(luò)模型中.由此,Ma等人[56]提出了一種更簡單的方法來實(shí)現(xiàn)Lattice-LSTM[28]的思想,該模型以字符模型為基礎(chǔ),在字符表示形式中對詞典信息進(jìn)行編碼,并設(shè)計(jì)編碼方案以保留盡可能多的詞典匹配結(jié)果.該方法避免了對復(fù)雜模型結(jié)構(gòu)的需求,易于實(shí)現(xiàn),并且可以通過調(diào)整字符表示層來快速適應(yīng)任何合適的神經(jīng)網(wǎng)絡(luò)架構(gòu).具體來說,該模型依然使用BiLSTM+CRF結(jié)構(gòu)來做序列建模,而字符表示層也是使用Lattice-LSTM[28]相同的方法,其創(chuàng)新點(diǎn)在于構(gòu)建了SoftLexicon特征并將其融入到了字符表示層中.SoftLexicon的特征構(gòu)建分為3步,第1步是分類匹配的單詞,將每個(gè)字符的所有匹配單詞根據(jù)字符位置的不同分類到4個(gè)詞集“BMES”中.第2步是壓縮單詞集,也就是在獲得每個(gè)字符的“BMES”單詞集之后將每個(gè)單詞集壓縮為固定維向量.第3步是與字符表示相結(jié)合,即將4個(gè)單詞集的表示形式組合到一個(gè)固定維特征中,并將其添加到每個(gè)字符的表示形式中.為了保留盡可能多的信息,文中選擇了串聯(lián)4個(gè)單詞集的表示形式.該模型在4個(gè)基準(zhǔn)中文NER數(shù)據(jù)集的實(shí)驗(yàn)研究表明,可以實(shí)現(xiàn)更快的推理速度和更好的性能.
3) 基于字形和部首的方法
部首對于漢語的計(jì)算處理非常重要,因?yàn)榫哂邢嗤渴椎淖址ǔ>哂邢嗨频恼Z義和語法角色.例如,動詞“打” (hit) 和“拍”(pat)共享同一個(gè)部首“扌”(手),二者不僅語義相同,而且在句子中都充當(dāng)動詞.現(xiàn)有的中文處理算法通常以單詞或字符為基本單位,忽略了重要的部首信息.Sun等人[66]提出了一種基于部首增強(qiáng)的中文字符嵌入模型,利用部首信息來學(xué)習(xí)漢字的連續(xù)表示.文中設(shè)計(jì)了一個(gè)專用的神經(jīng)網(wǎng)絡(luò)模型,該模型由兩個(gè)模塊組成:基于上下文的模塊和基于部首的模塊,其中基于上下文的模塊主要是為了捕獲上下文信息,而基于部首的模塊則用于充分融合部首信息.該模型應(yīng)用于漢字相似性判斷和中文分詞中并取得了不錯(cuò)的效果.Shi等人[67]深入探討了漢語處理的特點(diǎn)和基本層次,也提出了一種新的“部首嵌入”方法,并通過3個(gè)實(shí)驗(yàn)驗(yàn)證了其可行性和實(shí)用性:兩個(gè)關(guān)于短文本分類(STC)和漢語分詞(CWS)以及一個(gè)搜索排名的現(xiàn)場實(shí)驗(yàn).
從簡單的詞袋模型[77]和線性遞歸神經(jīng)網(wǎng)絡(luò)模型[77,78]到更加復(fù)雜的樹結(jié)構(gòu)[80]或卷積神經(jīng)網(wǎng)絡(luò)[81]模型均可學(xué)習(xí)如何將單詞組合成一個(gè)有意義的完整句子.Liu等人[68]根據(jù)中文字符的視覺特征來創(chuàng)建嵌入,首先將每個(gè)字符的Unicode表示轉(zhuǎn)換為圖像,然后通過卷積神經(jīng)網(wǎng)絡(luò)來計(jì)算字符的表示,最后將得到的字符表示作為下游處理任務(wù)的輸入.并且實(shí)驗(yàn)結(jié)果表明,在文本分類任務(wù)中,該模型能夠更好地處理中文、日文和韓文等語言中含有罕見字符的句子.Dai等人[69]也明確地將中文字形的視覺特征納入到字符的最終表示中,從而實(shí)現(xiàn)了一種新穎的漢字字形感知嵌入模型.在語言建模和分詞這兩個(gè)基本中文NLP任務(wù)中,該模型可以在字符級嵌入中有效學(xué)習(xí)其語義和句法信息.Su等人[70]也認(rèn)為中文單詞是由包含豐富語義的字符組成,一個(gè)漢字的意義往往與其組成漢字的意義有關(guān).因此,漢語單詞嵌入可以通過其組合字符嵌入來增強(qiáng)[80,81].此外,漢字由若干字形組合而成,具有相同字形的字符可能具有相似的語義或發(fā)音.而且除部首之外的其他成分可能包含單詞表征學(xué)習(xí)中潛在的有用信息,所以文中首先使用convAE從位圖中提取字符特征來表示字形,然后,使用與Skip gram[18]或GloVe[83]平行的模型從字符字形特征中學(xué)習(xí)單詞表示.
前期利用CNN來提取字符視覺特征以豐富字符最終嵌入的工作[68-70,84]中,文獻(xiàn)[68,69,84]得到的性能提升較為有限,而Su等人[70]也只證明了字形嵌入在單詞類比和單詞相似性比較中比較有用.Meng等人[71]則總結(jié)了使用CNN提取中文字符特征時(shí)最終效果不夠理想的主要原因:首先,沒有使用正確字體版本,因?yàn)闈h字從易于繪制開始,慢慢過渡到易于書寫,變得越來越不象形不具體,而迄今為止使用最廣泛的簡體中文是最容易書寫的字體,不可避免地會丟失最大量的象形文字信息;其次,沒有設(shè)計(jì)合適的網(wǎng)絡(luò)結(jié)構(gòu),ImageNet[86]圖像的尺寸大多為 800×600,而字符的灰度圖尺寸明顯小很多(通常為12×12),所以需要設(shè)計(jì)一個(gè)合適的CNN架構(gòu)來捕獲字符圖像的局部圖形特征;最后,由于常用的漢字字符大約只有10000個(gè)左右,所以需要考慮過擬合問題還要想方設(shè)法提高模型的泛化能力.基于這些考慮,Meng等人[71]使用不同時(shí)期的中文字體來豐富漢字的字形特征,還設(shè)計(jì)了專門的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對中文字符圖進(jìn)行編碼.此后,有一系列基于Glyce的工作出現(xiàn),Sehanobish等人[72]就使用圖像分類的方法來提取中文字符中“有意義的”特征,并且提出了一個(gè)自動編碼器體系結(jié)構(gòu)GLYNN對字形進(jìn)行編碼,然后將編碼后的特征作為NER系統(tǒng)的附加特征.Xuan等人[61]則指出上述工作只對字形和分布式表示進(jìn)行了獨(dú)立編碼,忽略了字符與上下文之間的交互信息,而多模態(tài)深度學(xué)習(xí)已經(jīng)對此做了相應(yīng)研究[86-88].此外,由于單個(gè)漢字的意義不完整,字符的單獨(dú)編碼并不是一個(gè)很好的方法,而相鄰字符的符號之間的交互信息可能有利于NER任務(wù).并且漢語中有很多相似的語義可以通過相鄰符號之間的交互信息進(jìn)行區(qū)分.為此,文中提出了一種融合字形和上下文信息的模型,其中使用CNN來獲取字符的字形特征,使用預(yù)訓(xùn)練好的BERT捕捉相鄰字符之間的潛在信息.此外,還設(shè)計(jì)了一種基于Attention的滑動窗口機(jī)制來融合字形特征和字符表示之間的交互信息.實(shí)驗(yàn)結(jié)果表明,該模型可以有效提高NER任務(wù)的性能,也進(jìn)一步揭示了在OntoNotes 4.0和Weibo數(shù)據(jù)集上使用BERT可以大幅提高其性能.
Sun等人[73]指出目前基于中文的預(yù)訓(xùn)練模型忽略了漢語中的兩個(gè)重要特性:字形和拼音,因?yàn)樽中魏推匆舫休d著重要的句法和語義信息,這對語言的理解來說至關(guān)重要.文中提出了一種將中文字形特征和拼音信息結(jié)合到預(yù)訓(xùn)練模型中的ChineseBERT方法.根據(jù)漢字的不同字體獲得字形嵌入,能夠從漢字的視覺特征中捕捉漢字語義,而拼音嵌入字符則是漢字的發(fā)音可以有效處理漢語中普遍存在的“異音異義”現(xiàn)象.首先將ChineseBERT模型在大規(guī)模無標(biāo)記中文語料庫上進(jìn)行了預(yù)訓(xùn)練,在訓(xùn)練步驟較少的情況下與基準(zhǔn)模型相比,具有顯著的性能提升.
在英語中不同的單詞可能有相同的詞根或詞綴,它們可以更好地代表單詞的語義.而且根據(jù)英語單詞的信息可知,詞根或詞綴往往決定了單詞的一般意義[89].即使是最先進(jìn)的方法,如BERT[50]和GPT[51],在大規(guī)模數(shù)據(jù)集上訓(xùn)練時(shí)也采用這種精細(xì)的詞分割方法來提高性能.而對于漢字來說,也有類似于英語詞根和詞綴的結(jié)構(gòu).Wu等人[48]認(rèn)為漢字從古代的象形文字進(jìn)化而來其結(jié)構(gòu)往往反映了更多有關(guān)漢字的信息,所以將漢字的結(jié)構(gòu)分解為詞根、頭尾和結(jié)構(gòu)成分3部分來獲取字符級嵌入.由于LSTM基于時(shí)序建模的特點(diǎn),使每個(gè)cell的輸入依賴于前一個(gè)cell的輸出,不僅模型結(jié)構(gòu)比較復(fù)雜而且并行能力有限.所以文中使用FLAT[46]來實(shí)現(xiàn)高效并行計(jì)算并結(jié)合其在詞匯學(xué)習(xí)方面的優(yōu)勢,在此基礎(chǔ)上引入了漢字結(jié)構(gòu)作為擴(kuò)展.模型不僅具有FLAT的詞邊界和語義學(xué)習(xí)能力,還增加了漢字的結(jié)構(gòu)信息,結(jié)果表明這對NER任務(wù)來說非常有效.
1)基于字詞的方法
雖然Zhang等人[28]提出的基于詞典的Lattice模型在中文NER領(lǐng)域中取得了巨大的成功,但Gui等人[38]認(rèn)為該方法明顯存在著兩方面的問題.首先,基于RNN的架構(gòu)由于受到網(wǎng)絡(luò)本身的限制不能夠充分利用GPU的并行性[39].具體來說,Lattice-LSTM結(jié)構(gòu)使用雙重循環(huán)神經(jīng)網(wǎng)絡(luò)來處理字詞表示,由于其順序處理的特點(diǎn)使得處理效率嚴(yán)重受限.而且Lattice-LSTM也無法選擇詞典中的最優(yōu)匹配詞,這可能會誤導(dǎo)模型.
Gui等人[38]使用CNN來并行處理整個(gè)句子和潛在的詞以提高處理的速度,然后使用Rethinking機(jī)制[40]中的高級語義來細(xì)化嵌入詞的權(quán)重以解決潛在詞之間的沖突.Rethinking機(jī)制中提出了兩個(gè)全新的層——反饋層和強(qiáng)調(diào)層,利用反饋層中候選對象類別的反饋后驗(yàn)概率來賦予網(wǎng)絡(luò)模型在訓(xùn)練過程中對決策進(jìn)行“反思”的能力.基于CNN和Rethinking機(jī)制的中文NER模型的構(gòu)建分為3步,首先是構(gòu)建基于詞典的CNN網(wǎng)絡(luò),其次是添加Rethinking機(jī)制,最后使用條件隨機(jī)場來做NER預(yù)測.Wu等人[111]提出了一種用于CNER的神經(jīng)網(wǎng)絡(luò)模型.該模型中,先引入了CNN-LSTM-CRF架構(gòu)來捕獲CNER任務(wù)中的本地和遠(yuǎn)程上下文信息,然后設(shè)計(jì)了統(tǒng)一的框架同時(shí)訓(xùn)練中文命名實(shí)體識別模型和分詞模型來輔助CNER模型中實(shí)體邊界檢測.此外,基于卷積神經(jīng)網(wǎng)絡(luò)的模型主要集中于使用漢字的灰度圖來提取字形的特征方法中,本文將在后面章節(jié)對其做系統(tǒng)的梳理.
2)基于圖神經(jīng)網(wǎng)絡(luò)的模型
基于RNN的中文NER模型受到鏈結(jié)構(gòu)特點(diǎn)的影響再加上全局語義的缺乏很容易產(chǎn)生歧義.而基于Lattice-LSTM[28]的模型,大多數(shù)使用RNN或CRF對句子進(jìn)行順序編碼,語言的底層結(jié)構(gòu)并不是嚴(yán)格順序的,會遇到嚴(yán)重的詞雙值問題,特別是對中文文本來說更具挑戰(zhàn)性.Gui和Zou等人[41]提出了一種將詞典與圖神經(jīng)網(wǎng)絡(luò)相結(jié)合的模型.該模型中使用詞典知識來連接字符以捕獲局部特征,并利用全局節(jié)點(diǎn)來捕獲全局句子語義和遠(yuǎn)程依賴.而且基于圖的字符、潛在詞和整個(gè)句子語義之間的多種交互可以有效地解決歧義問題.該模型使用了一種高效的圖消息傳遞架構(gòu)[44],通過詞匯信息來構(gòu)造圖神經(jīng)網(wǎng)絡(luò)以實(shí)現(xiàn)中文NER作為節(jié)點(diǎn)的分類任務(wù).
Sui等人[42]則認(rèn)為自動構(gòu)建的詞典雖然包含了豐富的詞邊界信息和詞語義信息,但對基于詞匯信息的漢語NER任務(wù)來說仍面臨著兩方面的重要挑戰(zhàn).第1個(gè)挑戰(zhàn)是整合字符在詞典中自匹配的詞,字符的自匹配詞是指詞典中所有包含該字符的詞.第2個(gè)挑戰(zhàn)則是直接整合詞典中最近的上下文詞匯.因此,Sui等人[145]提出了一種基于字符的協(xié)作圖網(wǎng)絡(luò).具體而言,在圖形層中包含3個(gè)“單詞-字符交互圖”.第1個(gè)是包含圖(C-graph),它用于集成自匹配詞法單詞并模擬了字符和自匹配詞之間的聯(lián)系.第2個(gè)是過渡圖(T-graph),它建立了字符和最接近的上下文匹配單詞之間的直接連接來應(yīng)對直接集成最接近的上下文單詞的挑戰(zhàn).第3個(gè)是格子圖(L-graph),它受Lattice[28]模型的啟發(fā),L-graph通過多次跳躍隱式捕獲自匹配詞和最近的上下文詞匯詞的部分信息.這些圖是在沒有外部NLP工具的情況下構(gòu)建的,不僅可以避免錯(cuò)誤傳播,而且這可以很好地互補(bǔ).
地名詞典被證明在命名實(shí)體識別任務(wù)中很有用[45].現(xiàn)有許多基于機(jī)器學(xué)習(xí)的NER系統(tǒng)中都納入了地名詞典,但目前仍然受限于手動選擇,特別是同時(shí)涉及到多個(gè)詞典時(shí)單純的靠手動選擇可能不會帶到很好的效果.在中文NER任務(wù)中更是如此,因?yàn)樵~典中的詞并沒有被標(biāo)記出來,所以可能會帶來歧義.為了將多個(gè)地名詞典自動的合并到NER系統(tǒng)中,Ding等人[43]提出了一種基于圖神經(jīng)網(wǎng)絡(luò)的創(chuàng)新方法,該網(wǎng)絡(luò)可以使用多圖結(jié)構(gòu)來捕獲地名詞典提供的信息.該模型由多圖及經(jīng)過改進(jìn)的GGNN嵌入層和BiLSTM-CRF層組成.其中,多圖顯式地將文本與命名實(shí)體地名詞典信息結(jié)合在一起,并使用改進(jìn)的圖神經(jīng)網(wǎng)絡(luò)對所有特征進(jìn)行建模,然后使用BiLSTM-CRF架構(gòu)來實(shí)現(xiàn)序列預(yù)測.
3)基于Transformer的模型
由于Lattice[28]模型天生擁有復(fù)雜的動態(tài)結(jié)構(gòu),而且LSTM只能進(jìn)行順序建模,無法有效利用GPU的并行能力.由此,Li等人[46]提出了一種將復(fù)雜Lattice結(jié)構(gòu)轉(zhuǎn)換為更為簡單的平面結(jié)構(gòu)的模型.模型借助Transformer結(jié)構(gòu)特性并精心設(shè)計(jì)位置編碼功能可充分利用格子信息并具有出色的并行化能力,整個(gè)過程構(gòu)建分為兩步,第1步是將Lattice的嵌入結(jié)構(gòu)轉(zhuǎn)化為由基本單元組成的平坦結(jié)構(gòu),第2步則對每一個(gè)基本單元進(jìn)行相對位置編碼.FLAT由一系列基本單元組成,而每一個(gè)單元(span)由對應(yīng)的token、頭部和尾部組成.其中,token是指字符或單詞,而頭部和尾部表示該token在原始序列中的首尾字符的位置索引,即在晶格中的位置.對于單個(gè)字符而言,其頭和尾是相同的.為了對跨度之間的交互進(jìn)行編碼,模型使用了相對位置編碼,對于晶格中的兩個(gè)跨度xi和xj,它們之間存在3種關(guān)系:相交,包含和分離.模型不直接編碼這3種關(guān)系,而是使用密集向量通過頭和尾信息的連續(xù)轉(zhuǎn)換來對它們之間的關(guān)系進(jìn)行建模.Wu等人[48]利用FLAT[46]在高效并行計(jì)算和詞典融合方面的巨大優(yōu)勢,結(jié)合雙流Transformer提出了一種融合漢字結(jié)構(gòu)信息的中文NER模型.具體來說,模型在一個(gè)雙流Transformer中使用多元數(shù)據(jù)嵌入來整合部首級的漢字特征,因?yàn)槔脻h字的結(jié)構(gòu)特點(diǎn)可以更好地捕捉漢字的語義信息,而且模型又繼承了FLAT的特性所以具備詞邊界和語義學(xué)習(xí)能力,實(shí)驗(yàn)結(jié)果也表明了該方法在性能上的優(yōu)越性.Yan等人[110]也提出了一種自適應(yīng)Transformer編碼器,通過結(jié)合方向感知、距離感知和未縮放注意力來建模字符級特征和字級特征的NER架構(gòu).
預(yù)訓(xùn)練模型[50,51,109]在各種中文NLP任務(wù)中已被證明其有效性[52-55].近期研究表明,在中文命名實(shí)體識別[46,56]、中文分詞[57]以及中文詞性標(biāo)注[58]等領(lǐng)域均使用詞典和BERT相結(jié)合的方法,其核心思想是將BERT和詞匯特征的上下文表征集成到神經(jīng)序列標(biāo)注模型中.Liu等人[49]受BERT適配器[58-60]的啟發(fā),提出了一種基于詞典增強(qiáng)的BERT(LEBERT)模型,該方法通過一個(gè)詞典Adapter層將外部的詞典知識直接集成到BERT層中.具體來說,使用字符到字符的雙線性注意機(jī)制,動態(tài)地為每個(gè)字符提取最相關(guān)的匹配詞將句子轉(zhuǎn)換為字詞對序列.Xuan等人[61]提出了一種將中文字形特征與BERT相結(jié)合的模型,該模型首先使用CNN提取中文字形特征,然后利用預(yù)先訓(xùn)練好的中文BERT對句子中的每個(gè)字符進(jìn)行編碼,最后將二者的輸出融合成最終嵌入送到LSTM-CRF架構(gòu)中做序列標(biāo)注.值得一提的是,與常規(guī)的BERT微調(diào)策略不同,該模型先在訓(xùn)練集中用CRF層作為標(biāo)記器對BERT進(jìn)行微調(diào),然后凍結(jié)BERT參數(shù)并將其應(yīng)用于字符表示中.Xue等人[62]提出了一種為中文NER量身定制的Transformer編碼器擴(kuò)展模型—PLTE.PLTE在Lattice結(jié)構(gòu)的基礎(chǔ)上通過位置關(guān)系表示法來增強(qiáng)自注意力(self-attention),并引入一種多孔機(jī)制來增強(qiáng)局部建模并保持捕獲豐富的長期依賴關(guān)系的強(qiáng)度.該模型主要由3部分組成,分別為:Lattice輸入層、多孔Lattice Transformer編碼器以及BiGRU-CRF解碼層.其中,輸入層是將tokens的語義信息和位置信息都融合到其嵌入中.多孔Lattice Transformer編碼器中提出了兩種編碼機(jī)制,一種是Lattice感知的自注意力編碼機(jī)制(LASA),另一種則是多孔多頭注意力機(jī)制(PMHA).由于位置編碼不能捕獲Lattice結(jié)構(gòu)中輸入的相對位置信息,所以提出了相對位置關(guān)系矩陣來表示這樣的位置信息,LASA就是將這種位置關(guān)系合并到Attention層中,而為了保持捕獲長距離依賴項(xiàng)的強(qiáng)度并增強(qiáng)捕獲短距離依賴項(xiàng)的能力,PMHA則是引用Guo等人[63]提出的樞軸共享結(jié)構(gòu)來替換全連接結(jié)構(gòu)以達(dá)到簡化Transformer架構(gòu)的目的.最后將字符序列表示形式送到BiGRU-CRF解碼層中以進(jìn)行序列標(biāo)記.
CNER任務(wù)和中文分詞(CWS)任務(wù)雖然都有各自的特點(diǎn),但卻存在許多相似的單詞邊界.Cao等人[47]指出,絕大多數(shù)工作中都沒有考慮將中文分詞系統(tǒng)中的詞邊界信息有效整合到CNER任務(wù)中,也沒有考慮將分詞任務(wù)中的特定屬性過濾掉,所以將對抗遷移學(xué)習(xí)整合到CNER模型中,幫助模型在使用共有詞邊界信息的同時(shí)也能有效過濾分詞專屬的邊界特性.此外,文中也使用了自注意力機(jī)制來獲取句子的全局依賴關(guān)系.該模型結(jié)構(gòu)可以分解為:輸入表示層,共享-專用特征提取器,自注意力層以及特定的CRF和任務(wù)判別器.與其他神經(jīng)網(wǎng)絡(luò)模型一樣,輸入表示層就是將離散字符映射到分布式表示中.而共享-私有特征提取器的作用是分別提取分詞任務(wù)與CNER任務(wù)共享的詞邊界信息和分詞系統(tǒng)獨(dú)有的信息.自注意力機(jī)制則用來捕捉字符之間的依賴信息,以此獲取句子的內(nèi)部結(jié)構(gòu)特性.由于兩個(gè)任務(wù)最終的輸出標(biāo)簽不同,所以特定任務(wù)的CRF是為每個(gè)任務(wù)引入了一個(gè)特定的CRF層來打標(biāo)簽.受對抗網(wǎng)絡(luò)[91]的啟發(fā),文中使用對抗訓(xùn)練來獲取共享的邊界信息.任務(wù)判別器的作用就是用于估計(jì)句子來自哪個(gè)任務(wù).最后,該框架在兩個(gè)數(shù)據(jù)集(WeiboNER和SighanNER)上取得了不錯(cuò)的效果.
Zhu等人[90]也提出了一種不依賴任何外部資源(如詞典)的CNER卷積注意力網(wǎng)絡(luò)模型,該模型使用兩個(gè)不同的注意力層分別捕獲不同級別的特征,其中基于字符的卷積神經(jīng)網(wǎng)絡(luò)(CNN)用于捕捉局部特征,而基于門控遞歸單元(GRU)則獲取全局信息.模型將BiGRU-CRF作為基本架構(gòu),并設(shè)計(jì)三層結(jié)構(gòu)來提取上下文特征,三層結(jié)構(gòu)分別為卷積注意力層,GRU層以及全局注意力層.其中,卷積注意力層是將輸入進(jìn)行分布式表示并提取局部上下文特征,然后將最終結(jié)果輸入到BiGRU中.通過卷積注意力層是對連續(xù)句子信息建模,而全局自注意力層的作用是處理句子級別的信息.實(shí)驗(yàn)結(jié)果表明,該模型在不同領(lǐng)域的數(shù)據(jù)集上都有不錯(cuò)的表現(xiàn).
Wang等人[107]探究了如何在神經(jīng)條件隨機(jī)場的框架下,通過NER和成分分析聯(lián)合建模來改善中文命名實(shí)體識別.文中將解析任務(wù)(Parsing Task)重新配置為高度受限的成分解析,從而降低計(jì)算復(fù)雜度,并且保留了大多數(shù)短語級語法.具體來說,該模型將神經(jīng)Semi-CRF模型和神經(jīng)Tree-CRF模型相統(tǒng)一,可以同時(shí)實(shí)現(xiàn)單詞分割,詞性(POS)標(biāo)記,NER和解析任務(wù).該聯(lián)合模型的難點(diǎn)在于如何實(shí)現(xiàn)有效的訓(xùn)練和推斷.因此,Wang等人設(shè)計(jì)了一種用于訓(xùn)練和推理的動態(tài)編程算法,其復(fù)雜度為O(n·4h),其中n是句子長度,h是限制高度.
Li等人[112]使用詞與詞之間的關(guān)系來建模NER問題,不僅使用新的數(shù)據(jù)編碼模式,而且提出了全新的模型架構(gòu),在嵌套、非嵌套以及不連續(xù)數(shù)據(jù)集中均表現(xiàn)很出色,同樣在4個(gè)中文數(shù)據(jù)集上也取得了不錯(cuò)的效果.Qi等人[113]提出的基于文本相似度和互信息最大化的CNER模型中,首先通過計(jì)算文本相似度尋找字符的潛在詞邊界,然后分別最大化字符、潛在詞邊界以及句子之間的互信息來增強(qiáng)輸入特征.此外,還設(shè)計(jì)了特定的網(wǎng)絡(luò)架構(gòu)來做結(jié)構(gòu)增強(qiáng).該方法在4個(gè)CNER數(shù)據(jù)集上均取得了最好的結(jié)果.
在中文命名實(shí)體識別中使用最廣泛的數(shù)據(jù)集包括:OntoNotes 4.0[92]、MSRA[93]、Weibo[94-95]、Resume[28].OntoNotes 4.0中文部分包括新聞專線數(shù)據(jù)250K、廣播新聞270K、廣播對話170K.其中新聞專線數(shù)據(jù)由100K的新華社新聞數(shù)據(jù)和150K光華新聞雜志數(shù)據(jù)組成.廣播新聞數(shù)據(jù)選取使用LDC標(biāo)注的用于自動內(nèi)容抽取(ACE)程序的數(shù)據(jù),廣播對話數(shù)據(jù)取自LDC的GALE數(shù)據(jù),其中50K的原始中文數(shù)據(jù)是用英文標(biāo)注的,另外還有55K的數(shù)據(jù)是從將原始的英語廣播對話翻譯成中文的.MSRA是由微軟亞研院標(biāo)注的CNER數(shù)據(jù)集,該數(shù)據(jù)集中共有5萬多條CNER的標(biāo)注數(shù)據(jù),其實(shí)體類別相對較少,分別為地點(diǎn)、機(jī)構(gòu)、人物.Weibo是從中文社交媒體(微博)上選取的消息作為命名實(shí)體識別數(shù)據(jù)集,并根據(jù)DEFT ERE標(biāo)注規(guī)則進(jìn)行標(biāo)注,其中實(shí)體類別包括名稱.和名義上的提及.該語料庫包含2013年11月~2014年12月期間從微博中抽取的1890條信息.Resume數(shù)據(jù)集是由Zhang等人[28]提供的從各類公司高管簡歷中隨機(jī)抽取了一部分并使用YEDDA系統(tǒng)標(biāo)注出來的CNER數(shù)據(jù)集,其中包含8種命名實(shí)體,分別為國家、教育機(jī)構(gòu)、位置、人名、機(jī)構(gòu)、職業(yè)、種族背景、職務(wù).此外,近期公開發(fā)表的數(shù)據(jù)集CLUENER2020[105]是將文本分類數(shù)據(jù)集THUCTC進(jìn)行了進(jìn)一步處理得到的一個(gè)細(xì)粒度CNER數(shù)據(jù)集.CLUENER2020共有10個(gè)不同的實(shí)體類別,包括:組織、人名、地址、公司、政府、書籍、游戲、電影、職位和景點(diǎn).常用的4個(gè)數(shù)據(jù)集中所包含的句子、字符以及實(shí)體數(shù)量統(tǒng)計(jì)如表1所示.
表1 數(shù)據(jù)集統(tǒng)計(jì)Table 1 Dataset statistics
如表2所示,本文列出了可用于中文命名實(shí)體識別幾個(gè)工具.Fast NLP是由復(fù)旦大學(xué)NLP組開發(fā)的一款面向NLP領(lǐng)域的快捷工具包,提供了一些常用的預(yù)訓(xùn)練模型和數(shù)據(jù)集并支持多種NLP任務(wù).NLPIR是中科院計(jì)算所開發(fā)的中文分詞系統(tǒng),有效支持多種依賴分詞的下游任務(wù),如NER、POS tagging、新詞識別等任務(wù),而且該系統(tǒng)支持跨平臺、跨語言開發(fā).LTP是哈工大開發(fā)的NLP工具包,也支持多種常見的NLP任務(wù).斯坦福大學(xué)NLP組開發(fā)的CoreNLP已支持中文,其中也實(shí)現(xiàn)了命名實(shí)體識別任務(wù).此外,由于傳統(tǒng)的中文NER任務(wù)被分割成分詞加序列標(biāo)注兩步實(shí)現(xiàn),所以表2中也列出了常用的分詞工具.Jieba作為分詞工具的典型代表應(yīng)用最為廣泛.由清華大學(xué)開發(fā)的THULAC也支持中文分詞和其他主流的NLP任務(wù),而且與其他同類型工具相比速度更快、精度更高.ZPar是用C++開發(fā)的NLP工具包,支持中英文兩種語言,用戶可根據(jù)需求自行選擇,支持中英文分詞、詞性標(biāo)注、依存關(guān)系和短語結(jié)構(gòu)解析等功能.
表2 可用于中文命名實(shí)體識別的工具Table 2 Available Chinese NER tools
通常使用兩個(gè)標(biāo)準(zhǔn)來評價(jià)一個(gè)命名實(shí)體識別任務(wù).首先是能否正確識別實(shí)體的邊界,另一個(gè)是實(shí)體的類型是否被正確標(biāo)記.所以可能會出現(xiàn)以下幾種錯(cuò)誤,不能正確識別實(shí)體,實(shí)體邊界正確而類型錯(cuò)誤或?qū)嶓w類型正確而邊界錯(cuò)誤等.只有當(dāng)實(shí)體邊界和類型都被正確識別時(shí),才能認(rèn)為命名實(shí)體識別任務(wù)的正確性.對于NER任務(wù)來說,衡量的標(biāo)準(zhǔn)有精確度(Precision)、召回率(Recall)和F值(F-score),它們分別是由True Positive(TP)、False Positive(FP)、False Negative(FN)3個(gè)統(tǒng)計(jì)量計(jì)算而來,其中True Positive(TP)是指正樣本預(yù)測判定為正、False Positive(FP)是指負(fù)樣本被預(yù)測判定為正、False Negative(FN)是指被模型預(yù)測為負(fù)的正樣本數(shù),具體的計(jì)算如下所示:
精確率和召回率均不能單獨(dú)衡量命名實(shí)體識別任務(wù)效果的好壞,所以F值是二者的調(diào)和平均值.
表3~表6介紹了近年來大多數(shù)最先進(jìn)模型的在4個(gè)公開數(shù)據(jù)集上的表現(xiàn).‘*’表示在基于半監(jiān)督學(xué)習(xí)的模型中使用外部標(biāo)記數(shù)據(jù),‘#’表示模型利用了離散特征,‘§’表示黃金分割.表3列出了OntoNotes 4.0數(shù)據(jù)集上的最先進(jìn)結(jié)果,目前來看,使用BERT可以有效增強(qiáng)中文NER任務(wù)在該數(shù)據(jù)集上的性能.因?yàn)镸ECT[48]不使用BERT的F1值為76.92%,使用BERT以后則為82.57%,二者相差5.65%.表4列出了Resume數(shù)據(jù)集上的最先進(jìn)結(jié)果,其中SSMI[113]的F1值最高,因?yàn)樵撃P蛷臄?shù)據(jù)和架構(gòu)兩個(gè)維度去做增強(qiáng).表5為Weibo數(shù)據(jù)集上的最新結(jié)果比較,其中使用字形增強(qiáng)方法相較于詞典增強(qiáng)的方法有明顯的性能優(yōu)勢.表6是MSRA上的實(shí)驗(yàn)結(jié)果匯總,由表可知,基于詞典的方法和字形融合的方法在性能上相差不大,使用BERT對F1值有明顯的增強(qiáng).
表3 數(shù)據(jù)集OntoNotes 4.0 的最新結(jié)果比較Table 3 Results on OntoNotes 4.0
表4 數(shù)據(jù)集Resume的最新結(jié)果比較Table 4 Results on Resume
表5 數(shù)據(jù)集Weibo的最新結(jié)果比較Table 5 Results on Weibo
表6 數(shù)據(jù)集 MSRA的最新結(jié)果比較Table 6 Results on Weibo MSRA
隨著技術(shù)的飛速迅速,各種先進(jìn)的模型不斷被提出,然而目前依然面臨諸多問題,如命名規(guī)則多樣化、分類嵌套模糊以及非正式文本和未登錄詞等,仍需要不斷地研究.總的來說,目前的NER任務(wù)仍處于向上發(fā)展的階段,CNER是在英文的基礎(chǔ)上,根據(jù)自身的語言特性衍生出了一套獨(dú)特的處理體系.相比之下識別難度更大,但隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展識別精度也逐漸上升.但依然面臨諸多挑戰(zhàn).比如:
1)數(shù)據(jù)標(biāo)注問題
在基于監(jiān)督學(xué)習(xí)的NER系統(tǒng)中,數(shù)據(jù)標(biāo)注工作至關(guān)重要,因?yàn)闃?biāo)注任務(wù)不僅非常依賴領(lǐng)域知識而且相當(dāng)費(fèi)時(shí)費(fèi)力,特別對特定領(lǐng)域來說更是挑戰(zhàn)巨大.語言本身的多義性使標(biāo)注質(zhì)量和一致性很難得到保證.而且每個(gè)實(shí)體都不是采用通用的類型進(jìn)行標(biāo)注,可能存在多種標(biāo)注規(guī)范.
2)實(shí)體嵌套問題
在NER任務(wù)中,嵌套實(shí)體非常普遍,不管是數(shù)據(jù)標(biāo)注工作還是實(shí)體識別任務(wù)相較于普通實(shí)體而言都更加困難.Katiyar等人[106]指出,GENIA和ACE語料庫中分別包含17%和30%的嵌套實(shí)體.在數(shù)據(jù)標(biāo)注方面,還沒有面向嵌套實(shí)體開發(fā)出通用的標(biāo)注方案.
3)非結(jié)構(gòu)化文本問題
基于結(jié)構(gòu)化文本(如新聞文章)的數(shù)據(jù)集可以取得很好的實(shí)驗(yàn)結(jié)果.而基于非結(jié)構(gòu)化的文本 (如推文、評論、用戶論壇)大多面向特定領(lǐng)域,不僅簡短而且嘈雜,相比于結(jié)構(gòu)化文本更具有挑戰(zhàn)性,如WUT-17數(shù)據(jù)集,最好的F1值略高于40%.但在很多應(yīng)用場景中,NER系統(tǒng)往往需要處理很多非結(jié)構(gòu)化文本,如電商平臺用戶評論等.
4)未登錄詞問題
對分詞系統(tǒng)而言,識別不在詞表和訓(xùn)練語料中的詞常困難,一般的做法是系統(tǒng)中集成一個(gè)新詞發(fā)現(xiàn)模塊來挖掘新詞,經(jīng)過驗(yàn)證后才會加入到詞典中,即便如此,對未登錄詞的識別并不理想.
基于以上的挑戰(zhàn),未來的研究工作可以從以下方面展開:
1)更細(xì)粒度的NER
目前的研究工作過于聚焦一般領(lǐng)域的粗粒度NER上,以至于忽略了對特定領(lǐng)域細(xì)粒度NER的究.相比之下,不同粒度包含不同的實(shí)體類型,顯然細(xì)粒度NER有更多的實(shí)體類型并且不同實(shí)體類型會帶來更多的復(fù)雜性問題.這需要重新定義NER的處理方法,其中將邊界檢測和實(shí)體類型識別解耦成兩個(gè)獨(dú)立的子任務(wù)是不錯(cuò)的解決方案.
2)結(jié)合實(shí)體消歧的NER
現(xiàn)有的研究大多將NER和實(shí)體消歧視為流水線環(huán)境下的兩個(gè)獨(dú)立任務(wù).因?yàn)閷?shí)體消歧不僅有助于成功檢測實(shí)體邊界而且對實(shí)體類型的正確分類也有幫助,所以如何有效的將實(shí)體消歧和NER任務(wù)結(jié)合在一起是一個(gè)值得探究的方向.
3)能處理非結(jié)構(gòu)化文本的NER
基于深度學(xué)習(xí)的NER模型在非結(jié)構(gòu)化文本中的性能很差,這驅(qū)使研究人員在該領(lǐng)域需要進(jìn)行更多的研究.本文發(fā)現(xiàn)NER的性能顯著受到外部資源可用性的影響,如地名詞典的使用會提高NER在一般領(lǐng)域中性能,所以外部資源的輔助對NER來說是非常必要.
4)基于遷移學(xué)習(xí)的NER
將NER任務(wù)與遷移學(xué)習(xí)結(jié)合在的一起的工作很少,很多應(yīng)用中都是用現(xiàn)成的NER系統(tǒng)來識別實(shí)體,但由于不同的標(biāo)注方法以及語言上的差異使得模型在不同的數(shù)據(jù)集之間遷移很難得到較好的性能.為了節(jié)省人力物力,將NER任務(wù)與遷移學(xué)習(xí)結(jié)合是一個(gè)不錯(cuò)的研究方向.
本文主要介紹了基于深度學(xué)習(xí)的CNER相關(guān)模型、數(shù)據(jù)集、評價(jià)標(biāo)準(zhǔn)及性能.首先,對該領(lǐng)域已有的方法進(jìn)行了系統(tǒng)歸納,并提出了系統(tǒng)的分類方法.然后討論了CNER任務(wù)相關(guān)的數(shù)據(jù)集,對4大公用數(shù)據(jù)集進(jìn)行重點(diǎn)解讀.最后,分析了模型的評價(jià)標(biāo)準(zhǔn)及性能并深入探討了中文命名實(shí)體識別任務(wù)存在的挑戰(zhàn)和展望.期待能有更多研究人員參與到CNER的研究工作中,也希望本文能對CNER的研究有一些參考價(jià)值.