林廣和,張紹武,2,林鴻飛
(1. 大連理工大學 計算機科學與技術學院,遼寧 大連 116024;2. 新疆財經大學 計算機科學與工程學院,新疆 烏魯木齊 830012)
命名實體識別(Named Entity Recognition,NER)作為自然語言處理的基礎工作,其主要任務是識別文本中的人名、地名、組織機構名等專有名詞和有意義的時間、日期等短語[1]。NER作為信息抽取中重要的組成部分,其識別效果對于后續的關系抽取、語義角色標注、機器翻譯等任務有很大影響。
目前NER任務通常被當作序列標注任務,其主要模型分為傳統的統計機器學習模型和神經網絡模型兩類。常見的NER統計模型主要有隱馬爾可夫模型(Hidden Markov Model,HMM)和條件隨機場(Conditional Random Field,CRF)等淺層模型,其中CRF模型廣泛應用于各種NER任務中,并取得了不錯的效果[2-6]。近年來,深度學習在自然語言處理領域中取得了重大的突破。與傳統機器學習方法相比,神經網絡模型在命名實體識別任務中取得了更好的結果。神經網絡方法使用大規模的未標注語料進行詞向量訓練,通過將預訓練詞向量輸入到卷積神經網絡(Convolutional Neural Network,CNN)、循環神經網絡(Recurrent Neural Network,RNN)等模型,實現了端到端的訓練。在基于神經網絡方法的NER任務中,Collobert等[7]采用CNN進行特征抽取,同時提出了一種句級對數似然函數(Sentence-level log-likelihood),通過融合其他特征取得了不錯的結果。Huang等[8]提出了BiLSTM-CRF模型,同時還融合了其他語言學特征以提升模型性能。在上述NER方法中,淺層模型采用了特征工程,但在其他領域和語言中泛化能力不佳;大部分神經網絡模型盡管采用了語義豐富的詞向量、自動學習任務相關的特征表示,但是沒有考慮單詞的結構信息,導致形態學信息缺失的問題。如何使模型能根據當前的任務自動學習形態學上的信息,從而提升實體識別性能成為近期研究的熱點。
在目前的NER任務中,研究自動學習詞形信息的工作主要有Lample等[9]的雙向長短時記憶網絡(Bi-directional Long Short-Term Memory Network,BiLSTM)和Chiu等[10]的CNN。Lample等人采用兩個BiLSTM分別自動學習詞級和字符級表示,在命名實體識別任務中取得了與先進水平可比的結果。Chiu等人提出采用CNN自動學習字符級表示,在一定程度上緩解了模型對于特征工程的依賴,同時還融合了由兩個公開的外部資源構造的詞典特征,在CoNLL 2003英文NER語料上取得了F1為91.62%的目前最先進結果。盡管上述字符級表示模型在命名實體識別任務中取得了較好的進展,但是兩者在理論上均無法全局、動態地定量表示單詞內各字符在字符級詞向量中的貢獻。如何能全局、動態地定量刻畫詞內各字符的貢獻,以期產生一種更好的字符級表達方式,是本研究的核心內容。
近年來,注意力(attention)機制廣泛應用于機器翻譯[11-12]等自然語言處理領域中。在NER任務中,Rei等[13]采用一種類似門機制的Attention模型動態地選擇詞級信息和字符級信息作為模型的輸入,相比于僅有詞向量作為輸入的方法,該方法在多個數據集上有了顯著提升。Bharadwaj等[14]通過Attention機制針對輸入單詞的語義信息與詞內字符信息之間的關聯性進行全局性建模,從而得到該單詞的上下文表示。盡管Attention機制開始在NER任務中取得了一定的進展,但如何將Attention機制的動態性和全局性有效地融入字符級模型有待進一步探索。
綜合上述情況和近期Attention機制在自然語言處理領域上取得的進展,本文提出了一種基于Attention機制的細粒度字符級詞表示模型(Fine-grained character-level word representation model,Finger)。Finger根據Attention機制產生的概率分布,重點關注對于單詞的形態學信息表示起到關鍵作用的個別字符,從而充分捕獲詞內的結構信息,進而有助于提升NER系統的識別效果。在此基礎上,我們結合BiLSTM-CRF模型構建了Finger-BiLSTM-CRF模型進行實體識別。該模型是基于BiLSTM-CRF模型的改進,結合解釋性較強的Attention機制,構成了一種完全端到端、無任何特征工程的NER系統,在CoNLL 2003數據集上取得了91.09%的結果。
受Vaswani等[15]工作的啟發,本文提出一種完全基于Attention機制的字符級詞表示模型Finger來替代BiLSTM、CNN字符級模型。同時,將Finger作為BiLSTM-CRF模型的擴展,構造了新的命名實體識別模型Finger-BiLSTM-CRF。該模型的結構如圖1所示,主要由特征表示層、BiLSTM和CRF層三部分構成。
(1)特征表示層主要由詞向量層和字符特征層組成。字符特征層由字符向量層和構建在字符向量層之上的基于注意力機制的Finger模型組成。詞向量層和字符向量層分別接受單詞和字符作為輸入,分別將離散、高維的獨熱表示映射到各自的稠密連續的低維特征空間中。Finger則將單詞轉換為字符序列表示,通過Attention機制建立形態學信息與字符信息間的關聯,構成與詞內結構相關的字符級向量。最后,將詞向量和字符級向量進行拼接以表示單詞在特定語義空間下的特征。
(2)BiLSTM由正向和反向的長短時記憶網絡(Long Short-Term Memory,LSTM)組成。正向和反向LSTM接收特征表示層的輸出特征作為輸入,分別編碼當前時刻的上文和下文信息。兩者的編碼信息合并構成待解碼的得分信息。
(3)CRFCRF層接受BiLSTM的輸出得分作為輸入,同時引入轉移得分矩陣,根據序列得分選擇全局最優的標簽序列。

圖1 本文模型結構
整個模型既融合了NER所需的詞形信息,有助于模型對于實體的判斷,又結合了BiLSTM對于單詞的上下文信息的表示能力,還保留CRF層求解標簽序列的全局最優解的能力,從而為模型產生最優結果創造了可能。
特征表示層將輸入的單詞序列映射為實值的特征向量,該特征向量捕獲了單詞的句法信息、語義信息和形態學信息。定義一個固定大小的詞典Vwrd和一個固定大小的字符集Vchr。給定長度為N的句子{w1,w2,...,wN},將句中每個單詞映射為由詞向量rwrd∈Rdwrd和字符級向量rwch∈Rfinu拼接而成的詞表示xn=[rwrd;rwch],其中詞向量捕獲了單詞wn的句法信息和語義信息,字符級向量表達了詞形信息。
1.1.1 詞向量層

rwrd=Wwrdvw
(1)
其中,向量vw是長度為|Vwrd|的獨熱(one-hot)表示。矩陣Wwrd為待學習參數,詞向量維度dwrd為超參數。
1.1.2 字符特征層

rchr=Wchrvc
(2)
其中,向量vc是長度為|Vchr|的獨熱(one-hot)表示。矩陣Wchr為待學習參數,詞向量維度dchr為超參數。
1.1.3 Finger模型
詞向量的出現減少了模型對于特征工程的依賴,但由此產生了未登錄詞問題和形態學信息缺失問題。盡管作為字符級表示模型的BiLSTM[9]和CNN[10]均能通過模型學習,捕獲單詞的結構信息,彌補了信息缺失的問題,解決了未登錄詞問題,但是BiLSTM只能捕獲單詞的詞綴信息,卻無法明確指出哪些字符構成字符表示,CNN捕獲了單詞的n-gram信息,卻無法動態地表示n-gram中各個字符的貢獻。
在人工標注命名實體識別語料場景下,標注者通常根據自己的語言學知識來完成標注工作,以下文為例:
“…,O includingO 19O landlessO peasantsO massacredO byO policeO inO AprilO inO theO northernO stateO ofO ParaI-LOC . O”
人們通常在判別實體過程中僅需關注到當前單詞Para的大小寫特征,就大致能判別出Para是否為實體。
受上述場景啟發,為了更好地編碼單詞的形態學特征,本文提出一種基于Attention機制的細粒度字符級詞表示模型Finger。Finger采用Attention機制[11,12]找到適合任務的字符級詞表示,該過程可以理解為形態學信息編碼過程,即引入待學習的形態學信息參數,針對詞形信息與字符信息的關聯性進行建模,通過訓練賦予與任務相關的字符以較高的權重,而降低其他無關字符的權重。在避免人工提取詞綴信息的同時,捕獲了單詞內全局的、非線性的形態學信息。該模型將BiLSTM對于詞形特征的定性表示和CNN的靜態表示轉變為全局動態的定量刻畫。
如圖2所示,首先引入一個形態學信息矩陣M=(m1,m2,...,mfinu)∈Rdchr×finu,finu表示形態學特征類別數,mi表示第i類形態學信息特征向量。同時,采用式(3)計算相關性得分向量Gi,通過雙線性操作(bilinear operation)來捕獲形態學信息mi與輸入字符序列矩陣C之間的關聯信息。

圖2 細粒度字符級詞表示模型
(3)
其中,U是待訓練權值矩陣。
隨后,根據式(4)來處理相關性得分向量Gi,以獲得該類形態學信息的Attention權重向量αi,j:
(4)
其中Gi,j,αi,j分別表示形態學信息mi與輸入的第j個字符間的相關性得分和對應權重。
接著,利用式(5)將Attention權重向量αi和輸入字符序列向量C相乘來表示形態學上強調的字符表示:
(5)
然后,根據式(6),通過一個非線性變換來表示第i類形態學特征對應的字符表示:
(6)
其中非線性激活函數f為雙曲正切函數。
最后,構成單詞w的字符級向量rwch=(r1,r2,…,rfinu)。
循環神經網絡是一種時間序列模型,具有保持歷史信息的能力,理論上能根據長距離特征來推測當前輸出,但在實際中,RNN因為梯度消失和梯度爆炸而無法學習到歷史信息[16]。為了解決長距離依賴問題,Hochreiter等人[17]設計了一種LSTM單元來替換原來RNN的內部實現,該單元采用了門機制來控制信息的傳遞,同時引入記憶單元,保證歷史信息的更替。結果顯示,LSTM能很好地解決長距離依賴問題。本文中采用的LSTM實現如式(7~10)所示。
其中,W為層間的權重矩陣,b為偏置向量,σ為按位sigmoid函數,i,o和c分別對應輸入門、輸出門和記憶單元;?表示按位乘法。

通常在預測階段采用Softmax分類器解決多分類問題,但Softmax分類器在序列標注問題中沒有考慮到標簽之間的依存關系。例如,在IOBES標注方式下,標注器若能正確學得模型,那么I-PER的后繼標簽不能為B-ORG或I-LOC等錯誤標簽,可能的正確標簽應該為I-PER或E-PER。
鑒于上述情況,本文采用Collobert提出的句級對數似然函數[7],也就是CRF層。該方法考慮標簽序列的全局信息,具體細節如下:
假定引入轉移得分矩陣A,矩陣元素Ai,j表示標簽i轉移到標簽j的轉移得分,令y0,yn+1為句中的起始標簽和終止標簽,標簽種類為k,則A∈R(k+2)*(k+2)。設句子長度為n,則輸出層的得分矩陣為P∈Rn*k,矩陣元素Pi,j表示第i個詞在第j個標簽下的輸出得分;給定輸入句子X=(x1,x2,...,xn),輸出標簽序列y=(y1,y2,...yn),則該標簽序列的總得分為式(11)。
(11)
對所有可能的序列路徑進行歸一化,產生關于輸出序列y的概率分布,如式(12)所示。
(12)
在訓練過程中,最大化關于正確標簽序列y*的對數概率,如式(13)所示。
(13)
從上式可知: 采用句級似然函數的目的是鼓勵模型生成正確的標簽序列。在解碼階段,預測總得分最高的序列作為最優序列,如式(14)所示。
(14)
在預測階段,本文采用維特比算法[19]來求解最優序列。
為驗證所提出模型的有效性,本文采用CoNLL 2003共享任務[1]提供的英文數據集進行相關實驗研究。該數據集來自1996年8月至1997年8月的路透社新聞。為方便研究者們在測試集上進行性能比較,該數據集已經預先劃定了訓練集、驗證集和測試集,從而避免了測試語料不統一的問題。如表1所示,整個語料包括14 987個訓練樣本、3 466個驗證樣本和3 684個測試樣本,包含地名(LOC)、組織名(ORG)、人名(PER)和其他命名實體(MISC)4類實體。語料中各數據集的句子、單詞和各類實體的分布如表1所示。
由于Ratinov和Roth[2]、Lample[9]等人在試驗中采用的IOBES標注方式表明了顯式的邊界標記有助于模型性能的提升,因此本文使用IOBES標注方式來替代傳統的IOB2標注方式。
在結果評估上,本研究的評價結果是基于標注結果和實際結果之間的匹配得到的,采用準確率(Precision,P)、召回率(Recall,R)和F1值(F1-score)作為模型性能的評價指標。

表1 CoNLL 2003 English語料統計
本文采用Theano深度學習框架[20],整個模型按照表2的參數設置進行訓練。在訓練過程中,本文使用隨機梯度下降(Stochastic Gradient Descent,SGD)作為參數的優化算法,學習率為0.015。為了免受梯度爆炸的影響,采用梯度截斷(Gradient Clipping)[21]方法,并設置該參數為5.0。本模型經過訓練,發現最佳驗證集參數出現在第32輪。對于詞向量映射矩陣、字符向量映射矩陣,都允許它們動態地隨著反向傳播進行更新。為了避免產生過擬合,在Finger和BiLSTM的輸入后采用了dropout率為0.5的正則化方法,實驗發現dropout對于模型在性能上有著顯著的提升,具體性能比較參見2.4.2節。

表2 實驗參數設置

2.4.1 詞向量比較
如表3所示,整個模型在預訓練詞向量來源不一、維數不同情況下的表現存在一定的差異。從表中可以看到同為100維的詞向量,GloVe詞向量的性能遠好于隨機初始化詞向量的結果,表明預訓練詞向量對于模型性能提升有很大的幫助,其原因在于預訓練詞向量包含了上下文語義信息,因此在進行實體識別時可以取得更好的效果。同為50維的GloVe詞向量和Collobert的Senna詞向量[7],前者效果略差于后者,可能的原因是Senna的訓練語料來源于路透社語料的第一卷(RCV-1),與NER的訓練語料同源,因此在維度相同情況下性能略優;由Word2Vec訓練獲得的300維詞向量和同維GloVe詞向量相比,后者明顯優于前者,可能是因為GloVe的字符均是小寫表示,而Word2Vec則是大小寫敏感,本實驗并未做相關的預處理,導致部分單詞作為未登錄詞對待,影響了詞向量的表示能力。根據GloVe詞向量在不同維數上的表現,實驗表明并非隨著詞向量維數升高,模型的性能越佳,從而得出維數的過度增加帶來了信息冗余,反而造成性能下降的結論。綜上所述,預訓練詞向量較大地提升實體識別模型的性能,詞向量的維度對于性能的影響極大,利用和訓練語料同源的大規模語料訓練得到的詞向量效果更佳。

表3 公開詞向量在NER上的表現
2.4.2 Dropout層的使用
為了分析dropout對于本模型在性能上的影響,關于dropout層的研究依照如下順序進行實驗: (1)不使用dropout; (2)只在Finger上的字符物征層后使用dropout; (3)在(2)的基礎上,在BiLSTM的輸入前應用dropout。如表4所示,實驗結果表明dropout的使用能有效地防止過擬合,從而使整個模型的性能得到較大提升。

表4 dropout在各層中應用的表現
2.4.3 模塊性能分析
根據2.3節的參數初始化和表2的超參數設置,分別對于LSTM、BiLSTM、Finger和CRF的性能進行分析。在LSTM模型和BiLSTM模型的比較中,BiLSTM無論在準確率、召回率和F1值上均高于LSTM,驗證了BiLSTM考慮上下文信息后要優于LSTM。從Finger-BiLSTM模型和BiLSTM模型的比較中,可以發現Finger-BiLSTM模型由于Finger產生的字符級詞表示和詞向量聯合輸入到BiLSTM,相比于只考慮語義信息的模型在性能上有顯著的提升,說明本文設計的字符級表示模型Finger學習到的形態學信息提升了模型的表示能力。由Finger-BiLSTM模型和Finger-BiLSTM-CRF模型的比較中,充分說明CRF層在解碼過程中利用了序列中的全局標簽信息,對于模型性能有明顯的提升,使Finger-BiLSTM-CRF模型在充分考慮單詞的語言學信息的同時,融合標簽序列的全局信息,從而使模型性能最優。具體性能細節見表5。

表5 模型在CoNLL 2003英文語料的驗證集和測試集上的性能
2.4.4 關于Finger的顯著性檢驗
為了進一步證明字符級模型Finger的有效性并不是隨機產生,本文基于樣本分布未知的前提,采用威爾科克森符號秩檢驗(Wilcoxon rank sum test)進行驗證。
如表6所示,驗證集和測試集的準確率P、召回率R和F1值均為實驗的平均值,通過P值檢驗Finger-BiLSTM-CRF和BiLSTM-CRF之間的平均性能是否存在顯著差異。
由表6可得如下結論: Finger產生的字符級特征能為模型在召回率帶來顯著的提升(p=0.0002<0.01),從而使整個模型在F1值上的表現與原模型存在顯著差異(p=0.0002<0.01)。

表6 模型的顯著性檢驗
2.4.5 Finger與主流方法的比較
表7為本模型和其他公開方法在CoNLL 2003英文NER語料上的比較。Collobert等[7]采用前饋神經網絡結合預處理和詞綴、大小寫特征,取得了F1值為89.59%的結果。Huang等[8]采用LSTM-CRF模型融合拼寫、詞性和上下文特征,達到了90.10%的結果。Passos等[4]采用CRF結合詞典和短語向量,達到了90.90%的結果。本文不借助于任何人工構造的特征,僅使用Finger自動抽取的形態學特征和詞向量,通過端到端方式訓練實體識別模型,在CoNLL 2003 NER數據上取得了91.09%的結果,性能優于上述模型。實驗結果表明本文設計的NER模型可以有效利用字符特征和詞向量表示單詞信息,同時結合BiLSTM學習上下文信息,利用CRF對標簽序列進行全局推斷,達到了較好的模型性能。

表7 本模型和主流方法的性能比較(括號內表示端到端情況下的性能)
從字符級詞表示模型角度出發,表7顯示: Lample等[9]的LSTM-CRF模型采用BiLSTM學習字符級詞表示,達到了90.94%的結果;Chiu等[10]采用BLSTM-CNN模型結合DBpidia和Senna的詞典特征,達到了91.62%的最先進結果,但在未使用詞典特征下,該模型只能達到90.98%的結果。本模型在同為BiLSTM-CRF模型且沒有任何附加特征的情況下,獲得了91.09%的結果,超過了Lample和Chiu等人的結果。實驗結果表明,相比較于BiLSTM和CNN,字符級模型Finger具有更強的形態學信息的刻畫能力,這與Attention機制所具有精確的信息刻畫能力有著密不可分的聯系,而BiLSTM、CNN分別只能定性或靜態地表示單詞的詞綴特征,因此無法準確表達單詞的信息。為了更為深入地研究Attention機制的表示能力,我們將在2.4.6進行進一步的分析。
在Finger與傳統模型和神經網絡模型的先進方法比較中,Luo等的模型[5]采用實體識別任務和實體鏈接任務聯合訓練來相互提升各自的性能,而本模型在不借助于其他任務帶來的額外信息的情況下,采用端到端方式獨立訓練實體識別任務,取得了91.09%的結果。同時,本模型的Finger采用Attention機制,因而Finger具備了刻畫字符對于字符級詞表示的貢獻的能力;Chiu和Nichols等人的方法[10]結合DBpidia和Senna的詞典特征,同時采用CNN抽取字符特征,但所表示的特征僅能靜態地表示詞形信息,而Finger在精確刻畫每個字符的貢獻的同時,動態地表示形態學特征,且在端到端的比較中,Finger的表現明顯優于CNN。實驗結果表明Attention機制為構建字符級表示模型提供了理論基礎和實踐價值。
2.4.6 樣例分析
通過比較BiLSTM-CRF模型和Finger-BiLSTM-CRF模型,我們發現模型在加入Finger模型后在召回率上有顯著提升。為了探究這一現象,我們對錯誤樣例進行分析,發現存在部分樣例是由于缺少形態學信息導致模型對于實體邊界產生了誤判,造成模型對實體判別出現偏差。在圖3所示的例子中,我們可以清楚地看到Finger在實體識別中發揮著重要作用。
在大規模語料中,單詞Do通常以動詞形式出現,而實體由名詞構成,所以本例中的BiLSTM-CRF模型結合上下文和大量語料信息判斷Do為非實體類型,而融合了Finger產生的詞形特征的BiLSTM-CRF模型成功識別Do作為實體Kim Do Hoon的一部分。圖3表明,我們設計的Finger模型能有效融合字符和詞形信息,有助于NER系統進行實體識別。
為了進一步分析Finger的有效表示能力,本文在圖4中展示了各字符對于單詞的貢獻度(顏色越深表明在詞表示中的權重越大)。

圖3 Finger模型的糾錯能力實例

圖4 Finger模型可視化
我們可以從圖4中清楚地看到實體Kim Do Hoon各單詞的首字母均呈現較高權重,這和我們對于命名實體特征的認知保持高度一致。圖4表明本文設計的Finger模型不同于BiLSTM和CNN,該模型通過Attention機制,展現了良好的可解釋能力,能定量表示詞內各字符對于字符級詞表示的貢獻程度,所呈現的詞表示對于NER系統的實體識別能力有較大的提升。
盡管詞形信息的加入顯著提升了模型性能,但同時存在著常識性單詞作為實體時的誤判。如圖5所示,Finger模型感知到單詞Award的拼寫形式,將Lombardi Award判別為實體,修正了BiLSTM-CRF模型形態學信息缺失造成的實體判別問題,但無法根據該實體的上下文信息正確判斷該實體的類型。在模型無法通過上下文標簽有效判別出實體的類型時,一種可能的解決方案就是引入外部資源,而如何通過外部資源得到常識性信息成為我們下一步工作的研究方向之一。

圖5 Finger模型的錯誤實例
本文構造一種完全端到端、無需人工特征的神經網絡模型Finger-BiLSTM-CRF用于命名實體識別任務。該模型引入詞向量特征,并融合了字符特征信息,使模型充分考慮語義信息和形態學信息,在避免了傳統統計模型所需的大量特征工程的同時,彌補了此前一些神經網絡未能考慮詞內信息的缺陷,增強了向量特征對于未登錄詞的表示能力。該模型既結合了BiLSTM學習單詞的上下文信息的能力,同時又保留了CRF模型通過全局信息推斷標簽的能力,在CoNLL 2003英文數據集上取得了F1為91.09%的結果,超過了大部分公開方法,并在端到端模型中達到了較先進水平。
同時,本文提出一種基于Attention機制的細粒度字符級詞表示模型Finger。Finger在考慮字符信息的同時,引入形態學信息,通過Attention機制捕獲形態學信息和字符信息的相互聯系,在有效解決實體識別模型中形態學信息缺失、未登錄詞表示不佳等問題的同時,產生一種可解釋的詞表示。通過字符Attention可視化證明Finger能充分挖掘詞形特征,并深入分析了字符級模型Finger對于NER系統的有效性。
盡管本文通過Finger學習到形態學信息,但語言學中的其他信息無法通過NER系統捕獲。因此,在未來研究中,我們會更多地通過聯合訓練或者由基于知識庫的模型引入外部資源以獲得更多的語言學信息,從而提升模型性能。