李冬梅,羅斯斯,張小平,許 福
1.北京林業(yè)大學(xué) 信息學(xué)院,北京 100083
2.國家林業(yè)和草原局林業(yè)智能信息處理工程技術(shù)研究中心,北京 100083
3.中國中醫(yī)科學(xué)院 中醫(yī)藥信息研究所,北京 100700
命名實(shí)體識別(named entity recognition,NER)是指識別出文本中具有特定意義的命名實(shí)體并將其分類為預(yù)先定義的實(shí)體類型,如人名、地名、機(jī)構(gòu)名、時(shí)間、貨幣等。在大數(shù)據(jù)時(shí)代,如何精準(zhǔn)并高效地從海量無結(jié)構(gòu)或半結(jié)構(gòu)數(shù)據(jù)中獲取到關(guān)鍵信息,這是自然語言處理(natural language processing,NLP)任務(wù)的重要基礎(chǔ)。命名實(shí)體通常包含豐富的語義,與數(shù)據(jù)中的關(guān)鍵信息有著密切的聯(lián)系,NER 任務(wù)可以用于解決互聯(lián)網(wǎng)文本數(shù)據(jù)的爆炸式信息過載問題,能有效獲取到關(guān)鍵信息,并廣泛應(yīng)用于關(guān)系抽取、機(jī)器翻譯以及知識圖譜構(gòu)建等領(lǐng)域。
NER 歷經(jīng)了MUC(message understanding conference)、MET(multilingual entity task)、CoNLL(conference on computational natural language learning)、ACE(automatic content extraction)等,眾多研究者不斷深入研究,其理論和方法愈加完善。研究方法從最初需要人工設(shè)計(jì)規(guī)則,到后來借助傳統(tǒng)機(jī)器學(xué)習(xí)中的模型方法,目前已經(jīng)發(fā)展到利用各種深度學(xué)習(xí)。研究領(lǐng)域從一般領(lǐng)域到特定領(lǐng)域,研究語言從單一語言發(fā)展到多種語言,各種NER模型的性能隨著發(fā)展也在不斷提升。
本文調(diào)研了NER 發(fā)展史上有代表性的綜述論文,孫鎮(zhèn)等綜述了NER 的方法,包括對基于規(guī)則和詞典的方法以及基于統(tǒng)計(jì)的方法的介紹。Li 等詳細(xì)總結(jié)和分析了NER 的深度學(xué)習(xí)方法。李猛等從遷移學(xué)習(xí)的角度,總結(jié)了NER 的遷移方法。趙山等調(diào)研了在不同神經(jīng)網(wǎng)絡(luò)架構(gòu)下最具代表性的晶格結(jié)構(gòu)的中文NER 模型。以上綜述都是對NER 的傳統(tǒng)方法或者深度學(xué)習(xí)的部分方法的闡述,沒有詳細(xì)地包含基于規(guī)則和詞典的NER 方法、基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的NER 方法和基于深度學(xué)習(xí)的NER 方法這三者的介紹,且并未針對最新的基于提示學(xué)習(xí)的方法進(jìn)行總結(jié)。本文首先從基于規(guī)則和詞典、基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)和基于深度學(xué)習(xí)的NER 方法這三方面對目前NER 研究工作進(jìn)行系統(tǒng)性梳理,歸納總結(jié)了每一種NER 方法的關(guān)鍵思路、優(yōu)缺點(diǎn)和具有代表性的模型。同時(shí)對基于提示學(xué)習(xí)的NER 方法進(jìn)行了比較分析。其次,擴(kuò)充了中文NER 的介紹,給出了中文NER 的特殊性,總結(jié)歸納中文NER 特有的數(shù)據(jù)集,對各個(gè)階段的主流方法均單獨(dú)進(jìn)行了綜述。
最初在1991 年第7 屆IEEE 人工智能應(yīng)用會議上,Rau發(fā)表了一篇“從文本中抽取公司名稱”的論文,提出了一種從文本中提取公司名的方法,在文中需要識別的命名實(shí)體僅為公司名稱。在1996 年MUC-6 會議上,命名實(shí)體被定義為“實(shí)體的唯一標(biāo)識符”,需要識別的命名實(shí)體包含:人名、地名、機(jī)構(gòu)名、時(shí)間、日期、貨幣和百分比。
NER 是對文本中的命名實(shí)體進(jìn)行定位和分類的過程。對給定文本的標(biāo)注序列=<,,…, w>,經(jīng)過NER 過程后得到三元組列表,如<,,>,每一個(gè)三元組都包含一個(gè)實(shí)體的信息。在三元組<,,>中,∈[1,],∈[1,],分別指代實(shí)體的開始索引和結(jié)束索引,是預(yù)定義類別集合中的實(shí)體類型。圖1 給出了一個(gè)標(biāo)注序列的樣例,在經(jīng)過NER 系統(tǒng)后得到了3 個(gè)三元組,根據(jù)三元組判斷得到:Zhang San 是Person 類實(shí)體,Beijing 和China 是Location 類實(shí)體。
圖1 NER 任務(wù)的實(shí)例Fig.1 Example of NER task
目前,針對NER 的研究仍存在一些通用難點(diǎn)。
(1)未登錄詞。隨著時(shí)間的推移和各領(lǐng)域發(fā)展,會產(chǎn)生大量新實(shí)體,這些新產(chǎn)生的實(shí)體并沒有一個(gè)統(tǒng)一的命名規(guī)則,傳統(tǒng)的方法不再適用,此時(shí)要求NER 模型具有較強(qiáng)的上下文推理能力。
(2)嵌套實(shí)體。嵌套實(shí)體是指該實(shí)體中存在其他命名實(shí)體。這類實(shí)體不僅需要識別外層實(shí)體,還要識別內(nèi)層實(shí)體,對模型來說具有很大的挑戰(zhàn),這也是目前NER 的一個(gè)研究熱點(diǎn)。
(3)文本歧義。文本在某處為命名實(shí)體,而在另一處為普通名詞,或者為不同的實(shí)體類型,即文本類型是不明確的。因此,需要在NER 之前進(jìn)行額外的命名實(shí)體消歧任務(wù)。
(4)非正式文本。隨著社交軟件的流行,如微博等社交媒體中含有大量的語料,但這些語料有著簡短、口語化、包含諧音等特點(diǎn),這使得NER 任務(wù)更加難于處理,可以使用注意力機(jī)制和遷移學(xué)習(xí)結(jié)合深度學(xué)習(xí)完成對非正式文本的識別。
面向中文的NER 起步較晚,而且中文與英文等其他語言相差較大,由于其自身的語言特性,中文領(lǐng)域的NER 主要存在以下3 個(gè)特殊性。
(1)中文詞語的邊界不明確。中文的單元詞匯邊界模糊,缺少英文文本中空格這樣明確的分隔符,也沒有明顯的詞形變換特征,因此容易造成許多邊界歧義,從而加大了NER 的難度。
(2)中文NER 需要同中文分詞和語法分析相結(jié)合。只有準(zhǔn)確的中文分詞和語法分析才能正確劃分出命名實(shí)體,才能提升NER 的性能,這也額外增加了中文NER 的難度。
(3)中文存在多義性、句式復(fù)雜表達(dá)靈活、多省略等特點(diǎn)。在不同領(lǐng)域的同一詞語所表示的含義并不相同,且同一語義也可能存在多種表達(dá)。此外,互聯(lián)網(wǎng)的迅速發(fā)展,尤其是網(wǎng)絡(luò)文本中的文字描述更加個(gè)性化和隨意化,這都使得實(shí)體的識別更加困難。
常用于NER 的英文數(shù)據(jù)集有:MUC-6、MUC-7、CoNLL2002-2003、ACE2004-2005、GENIA、Onto-Notes5.0、BC5CDR、NCBI Disease、Few-NERD 等。中文數(shù)據(jù)集有:1998年人民日報(bào)數(shù)據(jù)集、MSRA、Onto-Notes5.0、BosonNLP NER、Weibo NER、Chinese Resume、CCKS2017-2020、CLUENER2020 等。以上數(shù)據(jù)集總結(jié)如表1 所示。
表1 NER 數(shù)據(jù)集總結(jié)Table 1 Summary of NER datasets
在NER 領(lǐng)域,通常使用準(zhǔn)確率(precision)、召回率(recall)和F1 值作為評估指標(biāo)。其中,準(zhǔn)確率是對于給定的測試數(shù)據(jù)集,分類器正確識別的實(shí)體樣本數(shù)與提取出來的全部實(shí)體樣本數(shù)之比;召回率則是對于給定的測試數(shù)據(jù)集,分類器正確識別測試集中的全部實(shí)體的百分比;而F1 值則是準(zhǔn)確率和召回率的調(diào)和平均值,可以對系統(tǒng)的性能進(jìn)行綜合性評價(jià)。準(zhǔn)確率、召回率和F1 值的計(jì)算公式如下:
其中,表示將正例預(yù)測為正;表示將負(fù)例預(yù)測為正;表示將正例預(yù)測為負(fù)。
根據(jù)NER 的發(fā)展歷程,主流的NER 方法可以分為3 類:基于規(guī)則和詞典的方法、基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法。這3 類方法根據(jù)處理特點(diǎn)又細(xì)分為若干種不同的子方法。圖2 給出了NER 方法的詳細(xì)分類,后面的內(nèi)容圍繞該分類方法分別進(jìn)行詳細(xì)闡述。
圖2 NER 方法的分類Fig.2 Classification of NER methods
早期的NER 方法主要運(yùn)用由語言學(xué)專家根據(jù)語言知識特性手工構(gòu)造的規(guī)則模板,通過匹配的方式實(shí)現(xiàn)命名實(shí)體的識別。針對不同的數(shù)據(jù)集通常需要構(gòu)造特定的規(guī)則,一般根據(jù)特定統(tǒng)計(jì)信息、標(biāo)點(diǎn)符號、關(guān)鍵字、指示詞和方向詞、位置詞、中心詞等特征來構(gòu)造。Krupka提出了一個(gè)用于英文NER 的SRA系統(tǒng),系統(tǒng)包括NameTag 和HASTEN 兩個(gè)子系統(tǒng),HASTEN 根據(jù)文本的語義信息來構(gòu)造生成人名和地名規(guī)則模板,進(jìn)一步來識別。Shaalan 等利用文本的上下文特征構(gòu)造規(guī)則,并同時(shí)增加地名詞典來識別專業(yè)名詞。
對于中文NER,最初的研究聚焦于專業(yè)名詞的研究,張小衡等根據(jù)機(jī)構(gòu)名稱的結(jié)構(gòu)規(guī)律和形態(tài)標(biāo)記等特點(diǎn)進(jìn)一步總結(jié)規(guī)則,從600 多萬的三地語料庫
中識別高校名稱實(shí)體,正確率達(dá)到了97.3%。王寧等從專業(yè)名詞識別的角度,充分考慮金融領(lǐng)域的特征,利用規(guī)則的方法專門針對公司名的識別問題進(jìn)行了研究。該方法分析研究了金融新聞文本,總結(jié)了公司名的結(jié)構(gòu)特征以及上下文信息,歸納形成知識庫,并采取兩次掃描的策略進(jìn)行識別。在共1 336 篇真實(shí)金融新聞的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),其中在封閉測試環(huán)境中的準(zhǔn)確率和召回率分別為97.13%和89.13%,在開放測試環(huán)境中分別為62.18%和62.11%。
表2 對上述提及到的方法進(jìn)行了總結(jié)?;谝?guī)則和詞典的方法可以利用相關(guān)語言特性或特定領(lǐng)域知識來制定規(guī)則,在特定的語料庫中該類方法具有較好的識別效果,但是該方法存在規(guī)則制定成本高、規(guī)則無法移植到其他語料等局限性。因此在其他大型語料中單純依靠這種方法較難獲得有效的識別結(jié)果。
表2 基于規(guī)則和詞典的主流NER 方法總結(jié)Table 2 Summary of mainstream NER methods based on rules and dictionaries
隨著機(jī)器學(xué)習(xí)在NLP 領(lǐng)域的興起,研究者們借助機(jī)器學(xué)習(xí)的方法研究NER。這種方法可以在一定程度上克服基于規(guī)則和詞典的NER 方法的局限性,該類方法可以歸納為三種:有監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。
有監(jiān)督學(xué)習(xí)的NER 方法是將NER 任務(wù)轉(zhuǎn)換成分類問題,通過機(jī)器學(xué)習(xí)方法將已標(biāo)記的語料構(gòu)造為特征向量,以此建立分類模型來識別實(shí)體。基于特征的有監(jiān)督學(xué)習(xí)的NER 方法一般流程包括:(1)獲取實(shí)驗(yàn)原始數(shù)據(jù)。(2)對原始數(shù)據(jù)預(yù)處理。(3)根據(jù)數(shù)據(jù)的文本信息,選擇合適的特征。(4)給不同的特征設(shè)置不同的權(quán)重并選擇合適的分類器訓(xùn)練特征向量,得到NER 模型。(5)利用NER 模型進(jìn)行實(shí)體識別。(6)對結(jié)果進(jìn)行評估。
采用有監(jiān)督機(jī)器學(xué)習(xí)的分類模型包括:HMM(hidden Markov models)、MEM(maximum entropy models)、SVM(support vector machines)和CRF(conditional random fields)等模型。
(1)HMM
基于HMM 的NER 方法利用維特比算法將可能的目標(biāo)序列分配給每個(gè)單詞序列,能夠捕捉現(xiàn)象的局部性,進(jìn)而提高了實(shí)體識別性能。Bikel 等基于大小寫、數(shù)字符號、句子首詞等特征,利用HMM 來計(jì)算某一單詞為某一實(shí)體類型的概率。但該模型仍然無法捕捉到遠(yuǎn)距離信息,還存在一些無法識別的實(shí)體。Zhou 等提出一種基于HMM 的組塊標(biāo)記器的NER 方法,在Bikel 的基礎(chǔ)上擴(kuò)充了內(nèi)部語義特征、內(nèi)部地名詞典特征以及外部上下文特征,對HMM 的傳統(tǒng)公式做了改進(jìn),以便能融合更多的上下文信息來確定當(dāng)前預(yù)測類型。
對于中文NER,張華平等借助HMM 提出了基于角色標(biāo)注的中國人名自動(dòng)識別方法。該方法采取HMM 對分詞結(jié)果進(jìn)行角色標(biāo)注,通過對最佳角色序列的最大匹配來識別和分類命名實(shí)體,該方法解決了不具備明顯特征的姓名的丟失、內(nèi)部成詞以及上下文成詞的人名難召回的問題。俞鴻魁等提出一種基于層疊HMM 的中文NER 模型,該模型由三級HMM 構(gòu)成。在分詞后低層的HMM 識別普通無嵌套的人名、地名和機(jī)構(gòu)名等,高層的HMM 識別嵌套的人名、地名和機(jī)構(gòu)名。
(2)MEM
基于MEM 的NER 方法的主要思想是在已知部分知識的前提下選擇熵最大的概率分布,從而來確定某一實(shí)體的類型,MEM 能夠較好地融合多種特征信息進(jìn)行分類。Borthwick 等最早將MEM 用于英文NER 任務(wù),綜合考慮了首字母大小寫、句子的結(jié)尾信息以及文本是否為標(biāo)題等多種特征信息。Bender等在Borthwick 的基礎(chǔ)上進(jìn)行改進(jìn),模型結(jié)構(gòu)依次為輸入序列、預(yù)處理、全局搜索、后處理和序列標(biāo)注。
對于中文NER,周雅倩等最早將MEM 應(yīng)用在中文名詞短語的識別上,將短語識別問題轉(zhuǎn)化為標(biāo)注問題。利用預(yù)定義的特征模板從語料中抽取候選特征,然后根據(jù)候選特征集識別名詞短語。但該模型未能將更多的語義、詞語共現(xiàn)等信息融合在模型中。因此,張玥杰等提出一種融合多特征的MEM中文NER 模型,該模型能集成局部與全局多種特征,將規(guī)則和機(jī)器學(xué)習(xí)的方法相結(jié)合,分別構(gòu)建了局部特征模板和全局特征模板,同時(shí)引入啟發(fā)式知識解決效率和空間問題。
(3)SVM
SVM 是定義為特征空間上的間隔最大的線性分類器。首先通過高維特征空間的轉(zhuǎn)化使分類問題轉(zhuǎn)換成線性可分問題,然后基于結(jié)構(gòu)風(fēng)險(xiǎn)最小理論構(gòu)建最優(yōu)分割超平面,使得分類器得到全局最優(yōu)化。該模型在NER 任務(wù)上被廣泛使用,Isozaki 等提出了一種基于SVM 的特征選擇方法以及有效的訓(xùn)練方法,能增加系統(tǒng)訓(xùn)練的速度。為了驗(yàn)證SVM 在不同領(lǐng)域的表現(xiàn)效果,Takeuchi等在MUC-6 評測語料與分子生物學(xué)領(lǐng)域語料使用SVM 進(jìn)行實(shí)體識別,發(fā)現(xiàn)SVM 在生物領(lǐng)域的NER 具有良好的表現(xiàn)。
對于中文NER,李麗雙等提出一種基于SVM的中文地名的自動(dòng)識別的方法,結(jié)合地名的特點(diǎn)信息作為向量的特征。此外,面對訓(xùn)練數(shù)據(jù)不足的難點(diǎn),陳霄等針對中文組織機(jī)構(gòu)名的識別任務(wù),提出了一種基于SVM 的分布遞增式學(xué)習(xí)的方法,利用主動(dòng)學(xué)習(xí)的策略對訓(xùn)練樣本進(jìn)行選擇,逐步增加分類器訓(xùn)練樣本的規(guī)模,進(jìn)一步提高分類器的識別精度。
(4)CRF
CRF 模型統(tǒng)計(jì)了全局概率,不僅在局部進(jìn)行歸一化,且考慮了數(shù)據(jù)在全局的分布情況。CRF 具有表達(dá)長距離依賴性和交疊性的優(yōu)勢,能有效融入上下文信息以及領(lǐng)域知識,可以解決標(biāo)注偏置問題。即使CRF 具有時(shí)間復(fù)雜度高導(dǎo)致的訓(xùn)練難度大等問題,但仍十分廣泛地被用于NER。McCallum 等提出了一種基于CRF 的特征歸納的NER 方法,與傳統(tǒng)方法相比,自動(dòng)歸納特征既提高了準(zhǔn)確性,又顯著減少了特征數(shù)量。Krishnan 等提出了一種利用非局部依賴且基于兩個(gè)耦合的CRF 分類器的方法。第一層CRF 利用局部信息提取特征,第二層CRF 將局部信息和從第一層CRF 的輸出中提取的特征結(jié)合,在整個(gè)文檔中使用特征去捕捉非局部的依賴信息。
對于中文NER,馮元勇等在CRF 框架中引入了小規(guī)模的常用尾字特征來降低特征集的規(guī)模,在提高模型訓(xùn)練速度同時(shí)保證識別準(zhǔn)確率。燕楊等針對中文電子病歷的NER 問題,提出一種層疊CRF,該模型在第二層中使用包含實(shí)體和詞性等特征的特征集,對疾病名稱和臨床癥狀兩類命名實(shí)體進(jìn)行識別。與無自定義組合特征的層疊CRF 相比,該模型的F1 值提高了約3 個(gè)百分點(diǎn),和單層CRF 相比,F(xiàn)1 值提高了約7 個(gè)百分點(diǎn)。
綜上所述,以上幾種有監(jiān)督機(jī)器學(xué)習(xí)NER 方法各有所長,也各有所短。研究者充分利用各種算法的優(yōu)勢,進(jìn)一步提升實(shí)體識別的性能。上述幾種方法的相關(guān)比較如表3 所示。
表3 基于有監(jiān)督機(jī)器學(xué)習(xí)NER 比較Table 3 Comparison of NER methods for supervised machine learning
有監(jiān)督學(xué)習(xí)的方法需要專家手工標(biāo)注大量訓(xùn)練數(shù)據(jù),為了解決這一問題,學(xué)者開始研究利用少量的標(biāo)注語料進(jìn)行NER 任務(wù),因此,半監(jiān)督的NER 方法應(yīng)運(yùn)而生。該方法通過使用少量標(biāo)記和大量無標(biāo)記的語料庫進(jìn)行NER 的研究。半監(jiān)督學(xué)習(xí)NER 的一般流程:(1)人工構(gòu)造初始種子集合。(2)根據(jù)命名實(shí)體上下文信息生成相關(guān)聯(lián)的模式。(3)將生成的模式和測試數(shù)據(jù)匹配,標(biāo)識出新的命名實(shí)體,生成新的模式,便于促進(jìn)循環(huán)。(4)將新識別的命名實(shí)體添加到實(shí)體集合中。流程圖如圖3 所示。
圖3 半監(jiān)督學(xué)習(xí)的NER 一般流程Fig.3 General process of NER based on semi-supervised learning
半監(jiān)督學(xué)習(xí)的NER 方法主要采用自舉的方法,該方法利用少量的標(biāo)注數(shù)據(jù)進(jìn)行訓(xùn)練,從而取得良好的實(shí)驗(yàn)結(jié)果。如Teixeira等提出一種基于CRF 的自舉訓(xùn)練方法,首先基于詞典對50 000 條新聞標(biāo)注人名,并使用標(biāo)注好人名的數(shù)據(jù)作為訓(xùn)練集建立基于CRF 的分類模型。然后使用CRF 分類模型對初始種子語料庫額外標(biāo)注,并將其用于訓(xùn)練新的分類模型。該模型經(jīng)過7 次自舉方法的迭代后,在HAREM數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)表現(xiàn)良好。此外,Thenmalar 等不僅在英文語料中使用半監(jiān)督的自舉方法,還增加了泰米爾文語料進(jìn)一步驗(yàn)證該方法的可行性。該方法利用少量訓(xùn)練數(shù)據(jù)中命名實(shí)體、單詞和上下文特征來定義模式,分別對英文和泰米爾文進(jìn)行NER,兩種語言的平均F1 值為75%。
對于中文NER,針對結(jié)構(gòu)復(fù)雜的產(chǎn)品名的識別任務(wù),黃詩琳等提出一種半監(jiān)督學(xué)習(xí)方法,提取不同產(chǎn)品實(shí)體的結(jié)構(gòu)特征和相互關(guān)系,構(gòu)建一種三層半監(jiān)督學(xué)習(xí)框架。首層結(jié)合規(guī)則和詞典選取數(shù)據(jù)集中的候選數(shù)據(jù);第二層利用相似度算法,把與種子集上下文相似的候選詞加入正例中,這一步驟能解決數(shù)據(jù)稀疏問題;第三層是一個(gè)CRF 的分類器用于識別相似度較低的實(shí)體。但因產(chǎn)品名的表達(dá)方式多樣化,該方法與一般的NER 方法相比,性能還存在一定的差距。在醫(yī)學(xué)NER 任務(wù)上,Long 等提出一個(gè)基于自舉的NER 方法,在自舉訓(xùn)練過程中將命名實(shí)體特征集表示為類特征向量,候選命名實(shí)體的上下文信息表示為示例特征向量,這兩種特征向量的相似程度決定了候選實(shí)體是否為命名實(shí)體。此外,針對少數(shù)民族語言的NER 任務(wù),王路路等以CRF 為基本框架,通過引入詞法特征、詞典特征以及基于詞向量的無監(jiān)督學(xué)習(xí)特征,對比不同特征對識別結(jié)果的影響,進(jìn)而得到最優(yōu)模型。
為了解決跨域和跨語言標(biāo)注文本的不足,學(xué)者們提出了NER 的無監(jiān)督學(xué)習(xí)技術(shù)。無監(jiān)督學(xué)習(xí)是不需要使用標(biāo)注數(shù)據(jù)的算法,該方法使用未標(biāo)注的數(shù)據(jù)來做出決策。無監(jiān)督學(xué)習(xí)旨在考慮數(shù)據(jù)的結(jié)構(gòu)和分布特征,從而發(fā)現(xiàn)更多關(guān)于數(shù)據(jù)的學(xué)習(xí)。
早期,Etzioni 等提出了一個(gè)名為KnowwitAll的無監(jiān)督NER 系統(tǒng),該系統(tǒng)以無監(jiān)督和可擴(kuò)展的方式自動(dòng)地從網(wǎng)頁中提取大量命名實(shí)體。Nadeau 等在Etzioni 等的基礎(chǔ)上進(jìn)一步研究,該系統(tǒng)可以自動(dòng)構(gòu)建地名詞典以及消解命名實(shí)體歧義,將構(gòu)建的地名詞典與常用的地名詞典相結(jié)合。Han 等提出一個(gè)基于聚類主動(dòng)學(xué)習(xí)的生物醫(yī)學(xué)NER 系統(tǒng),該聚類方法通過使用底層分類器在文檔中查找候選命名實(shí)體來進(jìn)行聚類,因而更能反映命名實(shí)體的分布。
綜上所述,無監(jiān)督學(xué)習(xí)的NER 方法既能解決有監(jiān)督學(xué)習(xí)中需要大量帶標(biāo)注的訓(xùn)練數(shù)據(jù)的問題,也不需要少量標(biāo)注的種子數(shù)據(jù),但是這種方法需要提前確定聚類閾值并且性能較低,仍需進(jìn)一步改善聚類方法。
對基于有監(jiān)督、半監(jiān)督、無監(jiān)督的三種方法進(jìn)行了比較,如表4 所示,并對基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的各種主流NER 模型進(jìn)行了總結(jié),如表5 所示。
表4 基于有監(jiān)督、半監(jiān)督、無監(jiān)督的NER 比較Table 4 Comparison of NER methods for supervised,semi-supervised and unsupervised
表5 基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的主流NER 模型總結(jié)Table 5 Summary of mainstream NER models for statistical machine learning
基于深度學(xué)習(xí)的方法對處理NER 等序列標(biāo)注任務(wù)的處理流程是類似的。首先,將序列通過Word2Vec 等編碼方式轉(zhuǎn)換成分布式表示,隨后將句子的特征表示輸入到編碼器中,利用神經(jīng)網(wǎng)絡(luò)自動(dòng)提取特征,最后使用CRF 等解碼器來預(yù)測序列中詞對應(yīng)的標(biāo)簽。早期,研究者大多對基于有監(jiān)督和遠(yuǎn)程監(jiān)督兩種深度學(xué)習(xí)的NER 方法進(jìn)行深入研究。預(yù)訓(xùn)練模型BERT(bidirectional encoder representation from transformers)自2018 年提出以來,也備受研究者關(guān)注。最近,基于提示學(xué)習(xí)的方法也在NER 任務(wù)上得到了初步嘗試,并取得了成功。
基于深度學(xué)習(xí)的NER 方法一般流程如圖4 所示,共分為4 步:(1)Sequence,預(yù)處理后的輸入序列。(2)Word embedding,將輸入序列轉(zhuǎn)換成固定長度的向量表示。(3)Context encoder,將詞嵌入進(jìn)行語義編碼。(4)Tag decoder,進(jìn)一步進(jìn)行標(biāo)簽解碼。
圖4 基于深度學(xué)習(xí)的NER 一般流程Fig.4 General process of NER based on deep learning
基于有監(jiān)督深度學(xué)習(xí)的方法目前主要分為CNN(convolutional neural network)、RNN(recurrent neural network)和GNN(graph neural network)等。
(1)CNN
早期,CNN 在計(jì)算機(jī)視覺領(lǐng)域取得突破性成果,后來也逐漸在NLP 領(lǐng)域被廣泛使用。2011 年,Collobert 等提出了一種基于CNN 的NLP 模型,能處理包含NER 等多種任務(wù)。該模型不需要利用人工輸入特征,而是基于大量未標(biāo)記的訓(xùn)練數(shù)據(jù)來學(xué)習(xí)內(nèi)部表示,在輸入時(shí)減少特征的預(yù)處理,使用以端到端方式訓(xùn)練的多層神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)。在Collobert 等的基礎(chǔ)上,Yao 等將CNN 應(yīng)用到生物醫(yī)學(xué)NER 上,模型具有多層結(jié)構(gòu),每層根據(jù)底層生成的特征提取特征。該模型具有良好準(zhǔn)確率,但并未充分利用CPU并行性,其計(jì)算效率不高,因此,Strubell 等提出了一種迭代擴(kuò)張卷積神經(jīng)網(wǎng)絡(luò)(ID-CNNs),與傳統(tǒng)的CNN 相比,該模型具有更好的上下文和結(jié)構(gòu)化預(yù)測能力并能大幅縮短訓(xùn)練時(shí)間。
對于中文NER,2015 年Wu 等利用卷積層生成由多個(gè)全局隱藏節(jié)點(diǎn)表示的全局特征,然后利用局部特征和全局特征以識別臨床文本中的命名實(shí)體。Wu 等提出了一種CNN-LSTM-CRF,以獲取短距離和長距離內(nèi)容依賴,同時(shí)提出將NER 和分詞任務(wù)聯(lián)合學(xué)習(xí)以挖掘這兩個(gè)任務(wù)之間的內(nèi)在聯(lián)系,增強(qiáng)中文NER 模型識別實(shí)體邊界的能力,但該模型無法捕捉全局的上下文信息。因此,Kong 等提出一種融合多層次CNN 和注意力機(jī)制的中文臨床NER 方法。該方法既能捕捉短距離和長距離的上下文信息,且注意力機(jī)制還能獲取全局上下文信息,進(jìn)一步解決了LSTM 在句子較長時(shí)無法捕捉全局信息的問題。但該方法目前對稀有命名實(shí)體仍然存在難以識別的問題,因此,Gui 等將詞典信息融合到CNN 結(jié)構(gòu)中,解決稀有實(shí)體識別的問題。
綜上所述,CNN 最大的特點(diǎn)是可以并行化,每個(gè)時(shí)間狀態(tài)不受上一時(shí)間狀態(tài)的影響,但其無法很好地提取序列信息。隨著RNN 的深入研究,CNN 和RNN 常?;旌鲜褂?。
(2)RNN
RNN 是基于深度學(xué)習(xí)的NER 方法中的主流模型,RNN 將語言視為序列數(shù)據(jù),能很好地處理序列數(shù)據(jù),解決了CNN 無法記憶上下文信息的問題。Huang 等在Collobert 等基礎(chǔ)上,提出了多種基于LSTM 的序列標(biāo)注模型,包括LSTM、Bi-LSTM 和Bi-LSTM-CRF 等。首次將Bi-LSTM-CRF 模型用于NER,該模型不僅可以同時(shí)利用上下文的信息,而且可以使用句子作為輸入。Gregoric 等在同一輸入端采用多個(gè)獨(dú)立的Bi-LSTM 單元,通過使用模型間正則化來促進(jìn)LSTM 單元之間的多樣性,能夠減少模型的參數(shù)。Li 等提出一個(gè)模塊化交互網(wǎng)絡(luò)模型用于NER,能同時(shí)利用段級信息和詞級依賴。Xu 等提出一種有監(jiān)督多頭自注意網(wǎng)絡(luò)的NER 模型,利用自我注意力機(jī)制獲取句子中詞與詞之間的關(guān)系,并引入一個(gè)多任務(wù)學(xué)習(xí)框架來捕捉實(shí)體邊界檢測和實(shí)體分類之間的依賴關(guān)系。
對于中文NER,Zhang 等首次提出了基于混合字符和詞典的Lattice-LSTM 模型,通過門控單元,將詞匯信息嵌入到每個(gè)字符中,從而利用上下文中有用的詞匯提升NER 效果。但是由于詞匯的長度和數(shù)量無法確定,Lattice-LSTM 存在無法批量訓(xùn)練而導(dǎo)致模型訓(xùn)練較慢的問題。為了解決該問題,Liu 等提出了基于單詞的LSTM(WC-LSTM)。該方法在輸入的向量中融入最優(yōu)詞匯的信息,在正向LSTM 中融入基于該字開頭的詞匯信息,在反向LSTM 中融入基于該字結(jié)尾的詞匯信息。Ma 等也在Lattice-LSTM 模型基礎(chǔ)上做了改進(jìn),不修改LSTM 的內(nèi)部結(jié)構(gòu),只在輸入層進(jìn)行詞與所有匹配到的詞匯信息的融合,該方法還可以應(yīng)用到不同的序列模型框架中,如CNN和Transformer。
(3)GNN
近年來,GCN(graph convolutional network)和GGNN(gated graph neural network)在NER 任務(wù)中得到廣泛的關(guān)注。Cetoli 等率先在NER 任務(wù)中使用圖GCN 來解決實(shí)體識別問題,在傳統(tǒng)的Bi-LSTMCRF 模型的Bi-LSTM 層和CRF 層中間額外添加一層GCN 層。Bi-GCN 層利用句子的句法依存關(guān)系構(gòu)圖,通過GCN 將節(jié)點(diǎn)信息傳遞給最近的節(jié)點(diǎn),通過將層圖堆疊在一起,該網(wǎng)絡(luò)結(jié)構(gòu)可以傳播最多相距跳的節(jié)點(diǎn)特征。
在中文領(lǐng)域,為了解決在NER 過程中使用詞典的最長匹配和最短匹配帶來的問題,Ding 等提出了一種基于GNN 并結(jié)合地名詞典的NER 方法,其目的使模型自動(dòng)學(xué)習(xí)詞典的特征。該模型首先根據(jù)地名詞典構(gòu)圖,然后依次通過GGNN 層、LSTM 層和CRF層進(jìn)行實(shí)體的識別。Gui等通過引入一個(gè)具有全局語義的基于詞典的GNN 模型來獲取全局信息。此外,Tang 等進(jìn)一步研究了如何將詞匯信息整合到基于字符的方法中,提出一種基于單詞-字符圖卷積網(wǎng)絡(luò)(WC-GCN),通過使用交叉GCN 塊同時(shí)處理兩個(gè)有向無環(huán)圖,并引入全局GCN 塊來學(xué)習(xí)全局上下文的節(jié)點(diǎn)表示。
基于遠(yuǎn)程監(jiān)督深度學(xué)習(xí)的方法主要利用外部詞典或知識庫對無標(biāo)注數(shù)據(jù)進(jìn)行標(biāo)注,可以解決有監(jiān)督學(xué)習(xí)需要大量已標(biāo)注數(shù)據(jù)這一問題,其常采用的方式包括詞典匹配和詞典匹配與神經(jīng)網(wǎng)絡(luò)相融合兩種。Peng 等僅借助未標(biāo)記數(shù)據(jù)和命名實(shí)體詞典,提出了一種新的PU(positive-unlabeled)遠(yuǎn)程監(jiān)督NER模型,該模型不需要利用詞典標(biāo)記句子中的每個(gè)實(shí)體,能大幅度降低對詞典質(zhì)量的要求。此外,Yang等提出了一個(gè)基于部分標(biāo)注學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的遠(yuǎn)程監(jiān)督的NER 模型,不僅可以通過遠(yuǎn)程監(jiān)督自動(dòng)獲取到大規(guī)模的訓(xùn)練數(shù)據(jù),而且通過使用部分標(biāo)注學(xué)習(xí)和強(qiáng)化標(biāo)注學(xué)習(xí),解決了遠(yuǎn)程監(jiān)督方法產(chǎn)生的不完全標(biāo)注和噪音標(biāo)注的問題。
對于中文NER,Zhang 等利用遠(yuǎn)程監(jiān)督的方法識別時(shí)間,提出了一種利用中文知識圖譜和百度百科生成的數(shù)據(jù)集進(jìn)行模型訓(xùn)練的方法,該方法不需要像手動(dòng)標(biāo)注數(shù)據(jù),且對不同類型的文本的適應(yīng)性良好。此外,邊俐菁基于深度學(xué)習(xí)和遠(yuǎn)程監(jiān)督的方法針對產(chǎn)品進(jìn)行實(shí)體識別,利用爬蟲整理得到的詞典高質(zhì)量地標(biāo)注數(shù)據(jù),按照詞典完全匹配、完全匹配+規(guī)則、核心詞匯+詞性擴(kuò)展+規(guī)則這三種方式進(jìn)行實(shí)體識別,該方法能大大減少手工標(biāo)注語料庫的工作量。
遠(yuǎn)程監(jiān)督的方法相對于有監(jiān)督的方法極大地減少了人工成本,但遠(yuǎn)程監(jiān)督的方法會產(chǎn)生不完全標(biāo)注和噪音標(biāo)注,導(dǎo)致自動(dòng)標(biāo)注獲得的數(shù)據(jù)集準(zhǔn)確率較低,會影響整個(gè)NER 模型的性能。
基于Transformer 方法典型代表是BERT 類的預(yù)訓(xùn)練模型。Souza 等在NER 任務(wù)上提出一種BERT-CRF 模型,將BERT 的傳輸能力與CRF 的結(jié)構(gòu)化預(yù)測相結(jié)合。Naseem 等提出一種針對生物醫(yī)學(xué)NER 的預(yù)訓(xùn)練語言模型BioALBERT,該模型在ALBERT 中使用自我監(jiān)督損失,能較好學(xué)習(xí)上下文相關(guān)的信息。Yang 等提出了一種分層的Transformer模型,應(yīng)用于嵌套的NER。實(shí)體表征學(xué)習(xí)結(jié)合了以自下而上和自上而下的方式聚集的相鄰序列的上下文信息。
對于中文NER,李妮等提出了基于BERTIDCNN-CRF 的中文NER 模型,該模型通過BERT 預(yù)訓(xùn)練模型得到字的上下文表示,再將字向量序列輸入IDCNN-CRF 模型中進(jìn)行訓(xùn)練。Li等為解決大規(guī)模標(biāo)記的臨床數(shù)據(jù)匱乏問題,在未標(biāo)記的中國臨床電子病歷文本上利用BERT 模型進(jìn)行預(yù)訓(xùn)練,從而利用未標(biāo)記的領(lǐng)域特定知識,同時(shí)將詞典特征整合到模型中,利用漢字字根特征進(jìn)一步提高模型的性能。Wu 等在Li 等的基礎(chǔ)上,提出了一個(gè)基于RoBERTa 和字根特征的模型,使用RoBERTa 學(xué)習(xí)醫(yī)學(xué)特征,同時(shí)利用Bi-LSTM 提取偏旁部首特征和RoBERTa 學(xué)習(xí)到醫(yī)學(xué)特征向量做拼接,解碼層使用CRF 進(jìn)行標(biāo)簽解碼。Yao 等針對制造文本進(jìn)行細(xì)粒度實(shí)體識別,提出一種基于ALBERT-AttBiLSTMCRF 和遷移學(xué)習(xí)的模型,使用更輕量級的預(yù)訓(xùn)練模型ALBERT 對原始數(shù)據(jù)進(jìn)行詞嵌入,Bi-LSTM 提取詞嵌入的特征并獲取上下文的信息,解碼層使用CRF 進(jìn)行標(biāo)簽解碼。
隨著NLP 技術(shù)的發(fā)展,近兩年有研究者在低資源任務(wù)中使用提示學(xué)習(xí)的方法來獲得良好的任務(wù)效果。提示學(xué)習(xí)通常不需要改變預(yù)訓(xùn)練語言模型的結(jié)構(gòu)和參數(shù),而是通過向輸入中添加一些提示信息,并修改下游任務(wù)來適應(yīng)預(yù)訓(xùn)練模型,進(jìn)而獲得更好的任務(wù)效果的一種方法。Brown 等首次在文本分類任務(wù)中使用提示學(xué)習(xí)的方法進(jìn)行了小樣本學(xué)習(xí)任務(wù)。在低資源的NER 任務(wù)中,沒有大規(guī)模的訓(xùn)練語料,大量依賴訓(xùn)練數(shù)據(jù)的模型都無法取得較好的效果。因此在低資源的NER 任務(wù)中使用提示學(xué)習(xí)是現(xiàn)在的一種新思路。Cui 等提出一種基于模板的NER 方法,再利用標(biāo)注實(shí)體填充的預(yù)定義模板提示對預(yù)訓(xùn)練模型BART(bidirectional and auto-regressive Transformers)微調(diào),該方法解決了小樣本NER 的問題。Chen 等受提示學(xué)習(xí)的啟發(fā),提出一種輕量級的低資源提示引導(dǎo)型注意生成框架,將連續(xù)的提示輸入到自我注意層中,來重新調(diào)節(jié)注意力并調(diào)整預(yù)先訓(xùn)練的權(quán)重。基于模板提示的方法需要枚舉所有可能的候選實(shí)體,存在較高的計(jì)算復(fù)雜度問題,因此,Ma 等提出一種在小樣本場景下無模板的提示微調(diào)方法,放棄模板構(gòu)建的枚舉思路,采用預(yù)訓(xùn)練任務(wù)中的掩碼預(yù)測任務(wù)的方式,將NER 任務(wù)轉(zhuǎn)化成將實(shí)體位置的詞預(yù)測為標(biāo)簽詞的任務(wù)。該方法能減少預(yù)訓(xùn)練和微調(diào)之間的差距并且解碼速度比基線方法快1 930.12 倍。此外,Liu 等提出一種帶有問答的提示學(xué)習(xí)NER 方法,將NER 問題轉(zhuǎn)換成問答任務(wù)。該方法在低資源的場景下具有更高的性能和更強(qiáng)的魯棒性??偟膩碚f,提示學(xué)習(xí)在低資源場景的NER任務(wù)上得到了初步嘗試,未來會有更多復(fù)雜的方法來增強(qiáng)提示,并應(yīng)用于低資源場景下的許多任務(wù)中。
綜上所述,本文針對基于有監(jiān)督深度學(xué)習(xí)、基于遠(yuǎn)程監(jiān)督深度學(xué)習(xí)、基于Transformer 和基于提示學(xué)習(xí)的四種方法進(jìn)行了比較分析,具體如表6 所示。此外,本文還總結(jié)了一些經(jīng)典的基于深度學(xué)習(xí)的NER模型,具體如表7 所示。
表6 基于深度學(xué)習(xí)的NER 方法比較Table 6 Comparison of NER methods for deep learning
表7 基于深度學(xué)習(xí)的主流NER 模型總結(jié)Table 7 Summary of mainstream NER models for deep learning
目前,NER 技術(shù)日漸成熟,但依然需要研究人員投入大量精力進(jìn)行不斷探索,通過對現(xiàn)有NER 研究工作進(jìn)行總結(jié),在以后的研究中可以從下面幾個(gè)方面展開相關(guān)的研究。
(1)多任務(wù)聯(lián)合學(xué)習(xí)。傳統(tǒng)的pipeline 模型有一定的局限性,例如,NER 任務(wù)中的實(shí)體標(biāo)注錯(cuò)誤,將會進(jìn)一步導(dǎo)致后續(xù)任務(wù)的標(biāo)注錯(cuò)誤;同時(shí),多個(gè)任務(wù)之間會有一定信息共享,但是pipeline 模型是無法利用這些潛在的信息的。多任務(wù)的聯(lián)合學(xué)習(xí),能解決pipeline 模型局限,使得多任務(wù)學(xué)習(xí)之間相互影響,提高學(xué)習(xí)的性能,利用這種方法來進(jìn)一步研究NER 仍是未來的一個(gè)研究熱點(diǎn)。
(2)基于提示學(xué)習(xí)的低資源NER 研究。在近些年的研究中,NER 任務(wù)在廣度上已經(jīng)延伸到跨領(lǐng)域、跨任務(wù)和跨語言等任務(wù)中。在一般領(lǐng)域,大多數(shù)最先進(jìn)的NER 模型需要依賴大量已標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練,這使得它們難以擴(kuò)展到新的、資源較少的語言中。隨著提示學(xué)習(xí)在低資源NER任務(wù)上的成功應(yīng)用,這種方法能在低資源和高資源之間架起橋梁,從而實(shí)現(xiàn)知識轉(zhuǎn)移。因此,探索更優(yōu)的提示學(xué)習(xí)方法來提升低資源的NER模型性能是該領(lǐng)域的重要研究方向。
(3)中文嵌套NER 的研究。由于中文構(gòu)詞規(guī)則,中文信息文本中的實(shí)體嵌套更為明顯,此外中文詞語沒有明顯的邊界,使得中文的嵌套NER 具有一定挑戰(zhàn)。近年來,隨著深度學(xué)習(xí)的發(fā)展,中文嵌套NER方法出現(xiàn)新思路,如金彥亮等提出一種基于分層標(biāo)注的中文嵌套NER 的方法,能充分捕捉嵌套實(shí)體之前的邊界信息,有效地提高中文嵌套NER 的效果。因此,將各種神經(jīng)網(wǎng)絡(luò)、BERT、注意力機(jī)制等方法融合用于中文嵌套NER 仍然值得研究。