趙 輝,龐海婷,馮珊珊,韓東辰
(長春工業(yè)大學 計算機科學與工程學院,吉林 長春 130012)
在計算機科學人工智能大發(fā)展下,信息抽取IR 作為自然語言處理領域的一個重要分支,主要用來對文本信息進行結構化處理。信息抽取包含命名實體識別、關系提取、事件抽取和共指消解等多個子任務。命名實體識別NER是信息抽取研究中的子任務,是關系抽取、語義角色標注、自動問答等基礎工具。命名實體識別主要用來識別非結構化文本中指代性強的真實具體相互區(qū)別的實體,比如特定實體人名、地名、機構名、專有名詞等,并對所識別的實體屬類進行標注類型。例如臺風“煙花”不在寧波登陸為何寧波雨量浙江第一。臺風“煙花”為專有名詞,寧波和浙江是地名。因此,命名實體識別能將大量非結構化、半結構化數(shù)據(jù)中的實體識別出來,對未來收集、整理、查詢對應數(shù)據(jù)具有很強的現(xiàn)實意義和應用價值。
近幾年,命名實體識別在持續(xù)發(fā)展和進步中,在各個模型中產(chǎn)生很好的效果,并在多個領域得以運用。命名實體識別這個詞是在1995年第6屆消息理解會議MUC-6[1]上首次提出并命名,將命名實體識別設置為測評任務。此次會議主要關注3類專業(yè)名詞的識別,分別是人名、地名、組織機構名,之后在MUC-7會議又將類別劃分為3大類和7小類。進入21世紀后,CoNLL國際會議將命名實體定義為包含名稱的短語。
MUC-1~MUC-4會議都只針對英語語料,開始針對日語語料是在MUC-5會議上,開始針對中文語料的測評則是在MUC6會議上,當時這些語料主要是從電子新聞、廣播新聞、紙質(zhì)報紙等獲得的。一些國內(nèi)學者對中文命名實體識別的研究最早是1995年孫茂松等[2]提出基于統(tǒng)計的方法,使用算法在中文文本中自動識別出人名。2000年ACL會議上,Zhang Yimin等[3]提出信息抽取系統(tǒng),即識別實體及相互關系,運用記憶學習算法識別實體結果顯示準確率為81.10%、召回率為83.69%、F1值為82.38%,識別效果一般,說明該方法對于中文實體識別效果略差。這是因為中文存在實體邊界劃分不明顯、實體結構復雜、一詞多義歧義性、語料較少等問題。
中文命名實體識別難度高于英文。中文文字本身是沒有明顯劃分的,不能像英文文本首字母大寫、單詞之間有空格劃分,實體邊界劃分明顯,只需要確定實體的類別即可。而中文文本只有逗號、句號劃分句子,一邊需要確定實體的邊界,另一邊需要識別實體類別標注,這些問題導致中文文本在命名實體識別時比英文要復雜。中文命名實體識別難點在于:
1)實體邊界。英文文本單詞與單詞之間通過空格劃分,但是中文文字之間沒有類似的標識詞,所以中文文本的命名實體在識別前需要先確定詞的邊界,才能對詞進行標注,詞的邊界確定利用的是中文分詞方式,中文分詞最早出現(xiàn)的是jieba分詞技術。因此,中文命名實體識別效果首先取決于中文分詞[4]效果的好壞。
2)語料庫。現(xiàn)在有越來越多的網(wǎng)絡用語出現(xiàn),例如以中文為主、英文為輔,交替出現(xiàn)的文本,使得進行中文命名實體識別時需要將英文命名實體識別考慮進來,另一類網(wǎng)絡新名稱的出現(xiàn),導致語料庫的老舊。而且當探索一個新的領域就會遇到新的名詞,已有的語料庫不能完全適用于新領域,就需要花大量的人力、時間構造新領域的語料庫。
命名實體識別的研究方法有很多種,可分為基于規(guī)則詞典、機器學習、深度學習技術,還有當下熱門研究,包括基于BERT、ERNIE預訓練模型和基于遷移學習的方法等,因此命名實體識別還有很多方法值得研究。
規(guī)則和詞典技術是命名實體研究識別方法之一,識別方法來源于語言學家依據(jù)數(shù)據(jù)集特征手工構建的特殊詞典和特定規(guī)則模板,配合語法、句法等信息而設計規(guī)定的一批規(guī)則模板與詞典,將輸入文本與這些規(guī)則進行模式或字符串匹配,從而得到文本中的命名實體。基于規(guī)則和詞典技術依賴特定規(guī)則識別實體,且多為針對某一領域內(nèi)的實體知識制定的規(guī)則,無法對所有領域通用。Kim J H等[5]使用人工規(guī)則進行口語輸入文本的命名實體識別。Quimbaya A P等[6]使用人工規(guī)則詞典提取電子醫(yī)療記錄文本中的命名實體。周昆[7]提出一種基于規(guī)則的方法,結果得到89.29%的準確率。1997年,張小衡等[8]通過總結制定高效名詞的基本規(guī)則,用最大匹配法進行分析識別,效果良好,正確率和召回率均達到96%以上。但是基于規(guī)則的識別方法是存在局限性的,首先不能保證詞典完全豐富,其次詞語之間存在一定的歧義,如上下文信息缺乏,以及名稱的“切前”、“縮寫”等問題,而且隨著實體的增加,實體越來越豐富,面對大量的數(shù)據(jù)集想要好的識別效果,需要更加復雜的規(guī)則模板和詞典集,這樣就消耗大量的時間和人力。在新領域中舊領域制定的規(guī)則和詞集無法通用于新領域,語言學家需要根據(jù)新領域的特點重新書寫規(guī)則、建立知識庫,重新考慮系統(tǒng)識別能力,為這些繁瑣的工作量付出很大的代價。因此舊的規(guī)則難以涵蓋所有語言、規(guī)則之間發(fā)生的沖突、規(guī)則的局限性等,導致這種方法逐漸被后來的機器學習方法所替代。
以統(tǒng)計概率為主的機器學習方法于20世紀末出現(xiàn)在命名實體識別任務中。基于機器學習的方法本質(zhì)上屬于序列化標注問題,序列標注方法即從標記序列中提取實體塊,例如人名、地名和機構名等實體塊,再將提取出來的實體塊歸納整理,最終獲得由若干詞構成的命名實體及其類別。以統(tǒng)計概率為主的機器學習方法模型有ME最大熵、CRF條件隨機場、HMM隱馬爾可夫、DT決策樹等。
俞鴻魁等[9]提出用角色標注方法識別機構名稱;鄭逢強等[10]使用ME模型識別實體,并提出基于知網(wǎng)的改進策略;王江偉[11]基于標注語料庫,運用最大熵(ME)基本框架識別人名、地名、組織機構名,在訓練語料集相對較小時,訓練效果比較好。ME獲得的是所有滿足約束條件中信息熵最大的模型,在命名實體做分類時準確率非常高,但是樣本數(shù)量逐漸增多、約束條件逐漸增加,計算量也就越來越復雜,迭代速度越來越慢,訓練時間復雜度非常高,準確率下降,訓練代價加大[12]。
1999年,Bikel D M等[13]提出隱馬爾可夫模型的Identi Finder TM系統(tǒng),識別和分類名詞、日期、時間和數(shù)值等實體,在英語和西班牙語語料的準確率是非常高的。將隱馬爾可夫模型(HMM)應用在命名實體識別算法中[14],利用標注好的語料生成一系列概率值,再運用維特比算法解碼觀察序列及HMM下的隱藏狀態(tài)序列。但是HMM只考慮了一個狀態(tài)的影響,忽略了上下文的語義信息。條件隨機場(CRF)將忽略上下文語義信息的問題化解了。2006年,向曉雯[15]將CRF應用于中文命名實體識別任務中;Mccallum A等[16]提出基于條件隨機場(CRF)的命名實體識別方法,F(xiàn)1值達到了88.96%的識別效果;Han L F等[17]利用CRF進行中文NER,在bakeoff-4語料集上得到79.55%的F1值;胡佳慧等[18]提出一種使用pipeline標注思路的CRF方法,在中文電子病歷數(shù)據(jù)上F1值達到了87.72%。
在研究基于人工規(guī)則和基于統(tǒng)計機器學習的NER方法中,有部分研究人員提出兩者相結合的思路和模型,以尋求結合兩者各自的優(yōu)點,得到更好的識別效果。邱泉清等[19]使用中文知識庫構建規(guī)則模板,結合CRF做實體識別,并以正確識別的實體繼續(xù)反饋到知識庫,有效實現(xiàn)中文微博的命名實體識別。條件隨機場模型的優(yōu)勢在于能夠通過計算聯(lián)合概率捕捉全局信息。
基于統(tǒng)計機器學習方法的核心為機器學習模型和算法,基于機器學習的方法比之前基于規(guī)則和詞典的方法效果明顯有所提高,無需人工制定規(guī)則,減少了一部分人工成本投入,也使得構建的模型具有一定的可移植性以及健壯性。更重要的是,因為使用機器代替人來進行特征提取和分類,依靠其強大的計算能力和效率,可以更有效地處理大規(guī)模的復雜語料,從而得到更為精準的識別結果。但也有其問題存在,主要在于數(shù)據(jù)集的處理、選擇和構建合適有效的特征,因為特征的選取質(zhì)量會影響算法和模型的結果。這個過程同樣也需要具有專業(yè)領域知識的人進行大量人工標注,花費的人力和時間成本還是很高,需要一定的人力和時間資源投入。
隨著各種算法和模型不斷更迭,深度學習技術逐漸興起,使用深度學習神經(jīng)網(wǎng)絡方法處理命名實體識別任務已經(jīng)成為自然語言處理研究的大趨勢。目前深度學習技術在命名實體識別中的研究方法包括CNN、RNN等[20],以及改進RNN模型的LSTM、GRU、BiLSTM、BiGRU等。因此神經(jīng)網(wǎng)絡自動學習文本特征的方法被大家廣泛應用。2003年,Bengio Y等[21]把神經(jīng)網(wǎng)絡作為概率函數(shù),訓練了一個具有數(shù)百萬參數(shù)的模型,被認為是首次在語言模型中引入深度學習的概念;Kipyatkova I等[22]提出基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的語言模型,通過RNN調(diào)整訓練n-gram語言模型,降低了模型的絕對錯誤率;張聰品等[23]在命名實體識別任務中使用LSTM-CRF模型;Collobert R等[24]提出基于CNN的CNN-CRF模型處理命名實體識別任務;2015年,Huang Z等[25]提出BILSTM模型,將BILSTM模型應用于序列標記數(shù)據(jù)集中,經(jīng)過實驗證明,BiLSTM模型提取上下文特征能力的效果很好,但是模型存在訓練時間長、無法區(qū)分多義詞、缺乏對局部空間特征提取的問題;李麗雙等[26]運用BiLSTM模型結構,在生物醫(yī)學數(shù)據(jù)集上F1值達到了89.09%。
中文場景的命名實體識別有著中文的特性,字和詞各含有一定的信息和特征,因此有基于字級、詞級以及結合字詞特征的3個方向。Jingzhou H等[27]對比研究了字級和詞級基于統(tǒng)計方法的表現(xiàn),發(fā)現(xiàn)針對字級命名實體識別效果表現(xiàn)得更好。同時,也有研究人員嘗試在字級命名實體識別結構中加入詞級特征進行綜合訓練。王博冉等[28]提出基于字符級的Lattice LSTM,利用點陣長短期記憶(Lattice Long Short Term Mermory Network, Lattice LSTM)網(wǎng)絡處理句子中的詞匯,利用字符作為基礎輸入,通過從信息流中自動找到有用的詞來降低NER的分詞誤差。
近期學者們發(fā)現(xiàn)將BERT、ERNIE預訓練模型運用到命名實體識別研究方法的輸入中,有助于增強語義表示,對輸入的字向量、詞向量運用BERT預訓練模型和ERNIE語義模型,以及挖掘詞間信息的注意力模型(Attention Model,AM)等,再結合神經(jīng)網(wǎng)絡模型、機器學習模型產(chǎn)生了準確率、召回率很高的結果。
傳統(tǒng)的預訓練模型對中文文本特征提取能力較弱。2018年,Google AI研究院提出并發(fā)布基于Transformer的雙向編碼器表示BERT方法,可以對文本語義特征提取深層次特征信息,是深度雙向表示預訓練模型;2019年,王子牛等[29]提出BERT訓練詞向量,在1998年人民日報數(shù)據(jù)集實體識別的F1值達到了94.86%,實體識別效果得到明顯提升;2020年,王雪梅等[30]采用BERT模型訓練中文詞向量,利用BERT增強字的語義表示,完整保存語義信息,解決了多義詞問題,并利用BiGRU對文本深層次語義信息進行特征提取,完善了LSTM參數(shù)較多、內(nèi)部計算復雜等問題。
百度2019年基于自己的深度學習框架構造了ERNIE模型,它是在BERT預訓練模型的基礎上產(chǎn)生的另一個通過多任務學習方式充分捕捉語料信息的優(yōu)化模型。2020年,張曉等[31]引入ERNIE模型,結合深度學習,利用多任務學習語義知識對大規(guī)模語料進行建模,實驗表明,F(xiàn)1值達到了94.46%。
學者們通過總結發(fā)現(xiàn),無論基于規(guī)則詞典、機器學習,還是基于深度學習,命名實體識別都依賴于已經(jīng)標注好的訓練數(shù)據(jù),并且每個領域都標定大量訓練數(shù)據(jù),還需要服從同分布假設,在實際使用過程中可能會遇到標注數(shù)據(jù)、訓練數(shù)據(jù)過期的問題,完全放棄這些數(shù)據(jù)再標注新數(shù)據(jù)是非常繁瑣的過程。近期學者們發(fā)現(xiàn)遷移學習(Transfer Learning)[32]可以合理有效利用這些數(shù)據(jù),利用源域數(shù)據(jù)和模型完成目標域任務模型構建,通過在目標領域建立具有明確分類和清晰可靠的學習模型提升模型效果,有效利用殘缺的訓練數(shù)據(jù),減少數(shù)據(jù)資源浪費情況。
2021年,李猛等[33]通過遷移學習實現(xiàn)命名實體識別,主要思想是通過遷移學習一個相似任務,構建到要完成的任務上,并完成這個任務。例如,孔翔鵬等[34]提出對維吾爾語進行命名實體識別操作,由于維吾爾語數(shù)據(jù)資源不夠充分,所以利用遷移學習方法把中文命名實體識別學習到的任務構建到維吾爾語實體識別系統(tǒng)中,準確率達到了91.39%。利用舊知識解決新問題,表明遷移學習方法運用到命名實體識別中是行之有效的。
命名實體識別方法的實驗結果對比見表1。
由表1可以看出,基于規(guī)則詞典、機器學習、深度學習方法在實驗中得出的結果F1值平均都在80%左右,而近幾年的熱門研究方法F1值都在90%以上。隨著研究方法的不斷更新,識別效果逐漸趨于高準確率,實驗表明,深度學習與BERT等方法的融合是最普遍的方法,也是最佳的識別方法。對于命名實體識別方法還有很多有待探究的方法值得嘗試。
在命名實體輸入模型之前,需要對輸入的實體數(shù)據(jù)集指定一定的規(guī)范性,只有指定了數(shù)據(jù)集的標注規(guī)范,輸入到模型中得出的結果才有可比性。關于中文命名實體識別的標注方式[35]有BIO、BIOES、Markup等。
BIO標注法,B代表實體首部,B-school表示一個school實體首部;I代表實體內(nèi)部或結束,I-person表示一個person實體的內(nèi)部或尾部;O代表非命名實體,標注規(guī)范約束了B-school后應為I-school,而非I-person。
BIOES標注法是BIO標注法的擴展,B、I、O含義不變;E代表實體尾部;S表示由一個詞或字構成的單獨命名實體。
Markup標注法是一種類XML規(guī)范,使用字段設置類型,

表1 命名實體識別方法的實驗結果對比
命名實體識別評價方式[36]有精確率(Precise)、召回率(Recall)、F1值。精確率和召回率用于判斷訓練結果的好壞;F1值通過結合前面兩個指標用于判斷整體效果。精確率、召回率和F1值的計算矩陣見表2。

表2 計算矩陣
精確率、召回率和F1值的計算公式分別為:

(1)

(2)

(3)
命名實體識別的識別效果在關系抽取、語義角色標注、自動問答等NLP任務中起著不可或缺的作用。文中對NER的背景做了簡要介紹,其次對命名實體識別的識別方法詳細介紹,近年來學者們的研究路線都是以深度神經(jīng)網(wǎng)絡結構提取隱含特征,利用CRF求解最優(yōu)序列,如經(jīng)典模型BiLSTM+CRF、BERT+BiLSTM+CRF、BERT+BiGRU+CRF等,都取得了較好的效果。之后學者們開始運用當下熱門的方法,如對語料的操作運用Attention注意力機制[37]、Transformer、BERT、ERNIT等預訓練模型可以提升特征提取能力,又將遷移學習加入到命名實體識別研究中,避免了舊數(shù)據(jù)集的浪費。大部分標注方法和評價指標都大同小異,目的都是為了與其他方法做對比來判斷識別效果。所以無論用舊的思想,還是新的思想,或者新舊融合的思想,目地都是為了讓命名實體識別用一個簡單的方法呈現(xiàn)好的識別效果。因此,命名實體識別的研究方法可以向其他領域借鑒學習,運用解決其他問題的思想聯(lián)想解決命名實體識別方法。命名實體識別的識別能力雖然早已實現(xiàn),但是更好的識別效果還有很多方法,面向更多的領域和更廣的知識空間,有待于做進一步的探索。