李攀鋒, 陳櫻玨, 鐘泠韻, 林 鋒
(四川大學計算機學院, 成都 610065)
命名實體識別是自然語言處理領(lǐng)域的核心任務,其目的是從文本序列數(shù)據(jù)中識別出表示命名實體的成分,并給出其具體的實體類別.命名實體識別是將非結(jié)構(gòu)化文本轉(zhuǎn)化為結(jié)構(gòu)化信息的關(guān)鍵技術(shù),可以為上層的自然語言處理任務提供基礎(chǔ)支撐,如知識圖譜、搜索引擎、推薦系統(tǒng)等[1].
目前,命名實體識別通常被當作序列標注任務[2],常用的方法有基于詞典和規(guī)則的模式匹配方法、基于統(tǒng)計機器學習的方法、基于深度學習的方法.基于模式匹配方法如University of Sheffield NLP在2012年開發(fā)的GATE框架,有著明確清晰的NER規(guī)范[3].模式匹配方法準確率高,但需要領(lǐng)域?qū)<以O(shè)計眾多的實體抽取規(guī)則,且領(lǐng)域詞典需要定期維護.基于統(tǒng)計機器學習的方法如隱馬爾科夫模型、最大熵模型、條件隨機場等.統(tǒng)計機器學習的方法受限于高質(zhì)量的大規(guī)模標注語料庫以及對普適性的特征模板的需要.深度學習的方法如BiLSTM、BiLSTM+CRF等[4-7].深度學習的方法引入了基于字向量或詞向量的特征表示[8],無需進行額外的特征工程,在中文命名實體識別領(lǐng)域越發(fā)占據(jù)主導地位.
實際的場景中,某些特定領(lǐng)域由于樣本匱乏或者受限于標注成本,可使用的訓練數(shù)據(jù)較少,基于常規(guī)深度學習的方法對字詞特征向量的學習效果欠佳.為此,出現(xiàn)了很多基于多任務學習的命名實體識別研究,如聯(lián)合分詞、詞性標注、語義角色標注等任務[9].這些方法通過與其他相關(guān)任務的聯(lián)合學習,對字詞特征向量的捕捉效果有一定的提升.但需要額外進行輔助任務數(shù)據(jù)標注,在標注成本有限的場景下并不適用.
針對這個問題,本文從多粒度認知理論出發(fā),以深度學習中經(jīng)典的BiLSTM及機器學習中傳統(tǒng)的CRF為基礎(chǔ)模型,引入了命名實體識別與實體數(shù)量預測聯(lián)合學習模式,提出了一種基于多粒度認知(MGC)的命名實體識別方法,在不產(chǎn)生額外標注成本的前提下,增強字嵌入特征表示,提高命名實體識別效果.
RNN(Recurrent Neural Networks) 模型由美國認知科學家Elman對Jordan Network進行了簡化而提出[10],被廣泛應用于自然語言處理領(lǐng)域,如詞性標注、語義角色標注等序列問題[11].RNN網(wǎng)絡(luò)在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上增加了隱層間的信息傳遞機制,使得序列的歷史信息可以保留并為后續(xù)時間步提供支持.常規(guī)的RNN網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
RNN網(wǎng)絡(luò)在設(shè)計之初是為了學習長期的序列依賴性,但是實踐證明,在處理長序列數(shù)據(jù)時,RNN容易產(chǎn)生梯度消失問題.為了解決這個問題, Hochreiter等提出了長短期記憶網(wǎng)絡(luò)(LSTM), 用于改進傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)模型[12].LSTM單元由輸入門、遺忘門和輸出門3個模塊組成,如圖2所示.
圖1 RNN結(jié)構(gòu)圖Fig.1 Structure diagram of RNN
圖2 LSTM單元結(jié)構(gòu)圖
圖2中,遺忘門決定了上一時刻的單元狀態(tài)Ct-1有多少保留到當前時刻單元狀態(tài)Ct;輸入門決定了當前時刻的輸入Xt有多少保留到了當前時刻細胞狀態(tài)Ct;輸出門控制單元狀態(tài)Ct有多少傳遞到當前時刻輸出Ht.LSTM單元更新過程如下.
(1) 計算遺忘門值ft.
ft=σ(Wf·[ht-1,xt]+bf)
(1)
(2) 計算輸入門值it.
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3) 計算輸出門值Ot.
Ot=σ(Wo·[ht-1,xt]+bo)
(3)
(4)
(5) 更新當前細胞狀態(tài)Ct.
(5)
(6) 計算當前隱層輸出ht.
ht=Ot*tanh(Ct)
(6)
其中,ht-1為上一時刻的輸出;Ct-1為上一時刻的細胞狀態(tài);Xt為當前時刻的輸入;σ、tanh為激活函數(shù);Wf、Wi、Wo、Wc為權(quán)重矩陣[13].
針對序列處理問題,基于LSTM單元的網(wǎng)絡(luò)模型如圖3所示.
圖3 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Structure diagram of LSTM networks
在自然語言處理領(lǐng)域,單向LSTM能夠捕捉和記憶前驅(qū)語義信息,但無法獲取后向語義信息.因此,在目前的自然語言處理相關(guān)任務上,通常使用雙向的LSTM網(wǎng)絡(luò)[14],即BiLSTM,網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示.
圖4 BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
條件隨機場模型(CRF)由Lafferty等于2001年提出,是一種判別式概率無向圖模型,是一個標準的序列標注算法[15].最常用的是線性鏈條件隨機場,它接收一個觀測序列x,輸出目標序列y,如圖5所示.
圖5 線性鏈條件隨機場示意圖Fig.5 Diagram of linear-CRF
設(shè)P(Y|X)是線性鏈條件隨機場,X為觀測序列變量,Y為目標序列變量,用P(y|x)表示給定X的觀測值x的情況下,隨機變量Y取值為y的條件概率.
對于觀測序列x的任意位置xi(i=1,2,3,…,n),都有K1個局部特征函數(shù)和K2個節(jié)點特征函數(shù),共有K=K1+K2個特征函數(shù),特征函數(shù)取值{0,1},即滿足特征和不滿足特征.其中,局部特征函數(shù)是關(guān)于yi-1、yi、x、i的函數(shù),用tk表示;節(jié)點特征函數(shù)是關(guān)于yi、x、i的函數(shù),用sk表示.其中,yi-1表示當前節(jié)點的前驅(qū)節(jié)點的目標值;yi表示當前節(jié)點的目標值[16].用hk統(tǒng)一表示特征函數(shù).
(7)
其中,A={1,2,…,K1};B={K1+r};r=1, 2,…,K2.
則對于整個序列,定義全局特征函數(shù)如下.
(8)
同時定義特征函數(shù)權(quán)重系數(shù)wk如下式.
(9)
則有
(10)
其中,Z(x)為規(guī)范化因子,如下式.
(11)
將特征函數(shù)fk與權(quán)重系數(shù)wk張量化表示為
w=(w1,w2,…,wK)T
(12)
F(y,x)=(f1(y,x),…,fK(y,x))T
(13)
則P(Y|X)的內(nèi)積形式為
(14)
認知科學是揭示人類智能和行為的一門學科,重點研究神經(jīng)系統(tǒng)和腦機制中,信息的表達、處理和轉(zhuǎn)化過程[17].隨著人工智能的發(fā)展,認知計算逐漸出現(xiàn).認知計算是對新一代智能系統(tǒng)特點的概括,基于認知計算的智能系統(tǒng)具備人類的某些認知能力, 能夠出色完成對數(shù)據(jù)的發(fā)現(xiàn)、理解、推理和決策等特定認知任務,幫助決策者從不同類型的數(shù)據(jù)中揭示潛在意義,以實現(xiàn)不同程度的感知、記憶、學習和其他認知活動.
人的認知往往是多層次、多視角的,依托人類處理問題時所表現(xiàn)出全局觀和近似求解能力,多粒度認知成為了解決人工智能問題的重要手段[18].在語義理解任務中,基于篇章粒度與句子粒度實現(xiàn)了語義融合;在分詞任務中,基于長短詞層次粒度增強了分詞效果.
在命名實體識別任務中,本質(zhì)是對字粒度的文字序列進行標簽標注,考慮到人類在對文本認知時,綜合考慮文本整體,對文本有一定的全局認知.基于此,本文提出了一種結(jié)合字粒度與句子全局粒度的命名實體識別方法.在字粒度層面,模型解決命名實體識別任務,在句子全局粒度層面,模型解決命名實體數(shù)量預測任務.兩個粒度認知任務聯(lián)合優(yōu)化,以提高命名實體識別效果.
本文提出的基于多粒度認知的命名實體識別方法,以BiLSTM+CRF為基本的命名實體識別模型,實現(xiàn)字粒度的序列標記任務,同時采用BiLSTM結(jié)合注意力機制,實現(xiàn)句子全局粒度的命名實體數(shù)量預測任務,網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示.
圖6 MGC_NER網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 Structure diagram of MGC_NER networks
下面對圖6中模型的各個部分進行說明.
(1) 字嵌入層.模型的輸入為中文句子,通過預處理構(gòu)建字表,將句子轉(zhuǎn)化為高維的one-hot矩陣,傳入字嵌入層.字嵌入層將one-hot矩陣映射為壓縮的低維的字嵌入矩陣.
(2) 命名實體識別BiLSTM層.接收字嵌入后的文本矩陣,通過捕捉前后向語義信息,初步獲取命名實體識別任務的標簽預測概率.
(3) CRF層.以命名實體識別BiLSTM層的輸出為發(fā)射矩陣,通過狀態(tài)轉(zhuǎn)移矩陣進一步修正命名實體識別任務的標簽預測概率.
(4) 實體數(shù)量預測BiLSTM層.接收字嵌入后的文本矩陣,通過捕捉前后向語義信息,進一步獲取句子的語義特征.
(5) 注意力層.接收實體數(shù)量預測BiLSTM層的輸出特征矩陣,通過注意力機制獲取句子全局的重要特征信息,最終預測出該句子中包含的實體數(shù)量.
總體上,字粒度的命名實體識別任務與句子全局粒度的實體數(shù)量預測任務共享字嵌入層,通過兩個粒度認知任務的損失函數(shù)共同優(yōu)化.
本文提出的MGC_NER模型有兩部分優(yōu)化目標.
(1) 命名實體識別的優(yōu)化Loss采取log似然如下式.
(15)
其中,Prealpath為在給定觀測序列x的條件下,真實的目標序列yrealpath的概率;P1~Pn為在給定觀測序列x的條件下,預測目標序列yn的概率.
(2) 實體數(shù)量預測的優(yōu)化Loss采取交叉熵損失如下式.
(16)
為實現(xiàn)兩個粒度聯(lián)合優(yōu)化,通過系數(shù)d(超參數(shù),通過驗證集調(diào)整)將Loss1與Loss2聯(lián)合,得到最終模型優(yōu)化目標.
Loss=Loss1+d*Loss2
(17)
本文選取新浪財經(jīng)簡歷數(shù)據(jù)集和人民日報數(shù)據(jù)集兩個公共數(shù)據(jù)集,自行構(gòu)建了涉案財物領(lǐng)域法律數(shù)據(jù)集,并對數(shù)據(jù)集規(guī)模進行了限制.其中,新浪財經(jīng)簡歷數(shù)據(jù)集與涉案財物領(lǐng)域法律數(shù)據(jù)集為特定領(lǐng)域數(shù)據(jù)集,人民日報數(shù)據(jù)集為跨領(lǐng)域數(shù)據(jù)集.通過多領(lǐng)域數(shù)據(jù)集以驗證本文方法的有效性.
本文的命名實體識別任務采取BIO三位序列標注法,各數(shù)據(jù)集規(guī)模及標簽類別劃分如表1所示.
表1 數(shù)據(jù)集信息表
本文按照5∶1∶1的比例隨機劃分了訓練集、驗證集和測試集.在各個數(shù)據(jù)集的訓練集上實體數(shù)量分布情況如圖7~圖9所示.
圖7 新浪財經(jīng)數(shù)據(jù)集實體數(shù)量分布圖
圖8 人民日報數(shù)據(jù)集實體數(shù)量分布圖
由圖7~圖9可知,在新浪財經(jīng)簡歷數(shù)據(jù)集、人民日報數(shù)據(jù)集和涉案財物處置領(lǐng)域法律數(shù)據(jù)集上,各種實體數(shù)量類型下的句子分布差異較大,在實體數(shù)量預測任務中將產(chǎn)生數(shù)據(jù)偏斜問題.針對這個問題,本文通過區(qū)間劃分,將實體數(shù)量區(qū)間預測作為實體數(shù)量預測的目標,避免了類別不平衡問題.
圖9 涉案財物數(shù)據(jù)集實體數(shù)量分布圖
本文在BiLSTM+CRF命名實體識別模型上引入基于多粒度認知的聯(lián)合優(yōu)化方法(MGC_NER模型).為進一步說明本文提出的多粒度認知機制的有效性,在單純的BiLSTM模型上引入基于多粒度認知的聯(lián)合優(yōu)化方法構(gòu)建了對比實驗.并在隨機初始化字向量和載入預訓練字向量兩種情況下進行實驗,總體設(shè)計如圖10所示.
圖10 實驗總體設(shè)計圖Fig.10 The overall design of the experiment
其中,NER組模型為常規(guī)的命名實體識別模型,引入了MGC機制的BiLSTM+CRF模型(MGC_NER)為本文提出的最終模型.特別的,引入了MGC機制的BiLSTM模型用于證明MGC機制的有效性.各組實驗均在相同情況下進行,字嵌入維度300維, BiLSTM隱層維度256維,注意力隱層維度100維,實體數(shù)量預測區(qū)間數(shù)為5,粒度聯(lián)合系數(shù)d為0.3.
本文依照圖10的實驗結(jié)構(gòu)進行了實驗,評價指標采取在實體識別嚴格比對下的準確率(Precision)、召回率(Recall)和F1值.計算公式如下.
(18)
(19)
(20)
其中,Pcorrect表示預測正確的實體數(shù)量;Pall表示預測結(jié)果中實體數(shù)量的總和;Call表示標定數(shù)據(jù)中實體數(shù)量總和.實驗結(jié)果如表2~表4所示.
其中,粗體數(shù)據(jù)為引入了本文提出的多粒度機制方法的實驗數(shù)據(jù).對比各組實驗結(jié)果可知,本文提出的方法在保持基礎(chǔ)模型的準確率不降低或基本不降低的情況下,能夠顯著提升召回率.總體上,在各個數(shù)據(jù)集的各項實驗上,本文所提方法的F1值都高于對比方法的F1值,驗證了本文方法的有效性.
表2 新浪財經(jīng)數(shù)據(jù)集實驗結(jié)果
表3 人民日報數(shù)據(jù)集實驗結(jié)果
表4 涉案財物數(shù)據(jù)集實驗結(jié)果
此外,實驗數(shù)據(jù)還表明了如下3種情況.
(1) 通過對比隨機初始化字向量與預訓練字向量的實驗結(jié)果,說明在命名實體識別領(lǐng)域,預訓練字向量不一定能夠起到積極的效果,甚至可能起到負面作用.本文認為,預訓練的字向量更側(cè)重于語義信息,在命名實體識別任務上,信息量冗雜的預訓練向量干擾了任務的進行.
(2) 通過對比BiLSTM和BiLSTM+CRF實驗結(jié)果,說明CRF對于命名實體識別任務有一定的輔助作用.本文認為,由于CRF模型在訓練過程中學習到了相鄰字標簽之間的約束關(guān)系,從而降低了命名實體識別的錯誤率.
(3) 在人民日報數(shù)據(jù)集上,本文的方法對比基礎(chǔ)模型準確率有所下降,本文認為,與人民日報數(shù)據(jù)集自身特點有關(guān).從圖8可知,該數(shù)據(jù)集上實體數(shù)量為零的句子較多,為了維持區(qū)間均衡,將實體數(shù)量為零的句子與其他句子劃分為一個區(qū)間,導致了實體數(shù)量預測任務中對數(shù)量為零的句子造成了干擾,從而間接影響了該數(shù)據(jù)集上命名實體識別的準確率.
本文提出了一種基于多粒度認知的命名實體識別方法,從多粒度認知理論出發(fā),基于BiLSTM和CRF構(gòu)建了命名實體識別與實體數(shù)量預測聯(lián)合模型,通過共同優(yōu)化字嵌入表達,提高句子語義信息捕捉能力.本文在3個數(shù)據(jù)集上進行了多組實驗,實驗表明,引入多粒度認知機制有助于改善命名實體識別效果,證明了本文方法的有效性.后續(xù)將對實體數(shù)量預測中實體數(shù)量區(qū)間的劃分進行深入研究,細化區(qū)間劃分,有望進一步提升模型效果.