李軍懷,陳苗苗,王懷軍,崔穎安,張愛華
(1.西安理工大學 計算機科學與工程學院,西安 710048;2.中鋁薩帕特種鋁材(重慶)有限公司,重慶 401326)
命名實體識別(Named Entity Recognition,NER)是指從大量待處理文本中識別出人名、地名、組織機構名等具有特殊意義的一類名詞,又稱為實體抽取,是信息獲取、知識圖譜構建、問答系統、機器翻譯、信息檢索等任務的基礎[1]。命名實體識別方法主要分為基于詞典和規則、基于傳統機器學習、結合深度學習和機器學習3 類。2016 年,XIE 等[2]提出結合人工編寫規則和啟發式算法的命名實體識別方法,實現了從大量非結構化文本中抽取公司名稱。依賴規則的命名實體識別方法一方面對人力需求大,另一方面規則的不通用性導致方法泛化能力較差。在NER 任務中所應用的機器學習方法包括最大熵馬爾可夫模型(Maximum Entropy Markov Models,MEMM)[3]、條件隨機場(Conditional Random Field,CRF)[4]等。MEMM 條件概率統計采用建立聯合概率的方式,局部歸一化導致結果容易陷入局部最優。CRF 在統計全局概率、位置標記的同時利用內部特征和序列信息,解決了MEMM 容易陷入局部最優的問題。深度學習技術的廣泛應用使得NER 任務幾乎不再需要人工特征。2011年,COLLOBERT 等[5]提出基于神經網絡的命名實體識別方法,該方法對每個單詞給定固定大小窗口,而未考慮長距離詞之間的信息。2016 年,CHIU 等[6]提出雙向LSTM-CNNs 模型克服了神經網絡的限制。同年,MA 等[7]將模型進一步優化為BiLSTM-CNNs-CRF,通過加入CRF 模塊以減少錯誤標簽序列的輸出。
由于中文表述與英文表述有所區別,不存在空格、首字母大寫等明確標識分詞的符號并且存在實體嵌套、英文縮寫、表述不規范等問題,因此給中文命名實體識別帶來了巨大挑戰。本文提出一種基于ALBERT-雙向門控循環單元(Bidirectional Gated Recurrent Unit,BGRU)-CRF 的中文命名實體識別方法,在ALBERT 層對輸入文本完成詞嵌入獲取動態詞向量以解決一詞多義的問題,在BGRU 層進一步學習長距離語義信息,在CRF 層進行解碼并完成實體識別任務。
預訓練語言模型是已訓練完成具有對應參數的深層網絡結構,利用大規模無標注語料訓練得到,通常作為一個模塊應用于下游任務。
2013 年,MIKOLOV 等[8]提出用于表征文本的Word2Vec 詞向量技術。Word2Vec 將詞轉化為向量,所提取特征是上下文無關的,對于下游任務的支撐作用有限。2018 年,PETERS 等[9]提出ELMo 預訓練語言模型。ELMo 內部采用雙向LSTM 有效捕捉上下文語義,提取文本深層特征,基于大量文本訓練得到針對下游任務的通用語言模型,解決了靜態詞向量無法理解一詞多義的問題。2019 年,DEVLIN等[10]提出的BERT 動態預訓練語言模型成為自然語言處理領域的重要里程碑,其在多個典型下游任務中取得較好效果。同年,谷歌發布了BERT 的改進模型ALBERT[11],該模型參數更少且效果與BERT相當。本文方法基于ALBERT 預訓練語言模型。
中文命名實體識別任務的難點在于:1)區別于英文,不存在空格、首字母大寫等明確標識分詞的符號,增加了分詞難度;2)表述多元化,常出現字母縮寫、中英文交替等表述,其中英文描述會干擾中文命名實體識別。當前針對中文命名實體識別任務多數采用結合機器學習和深度學習的方法。
2016 年,劉玉嬌等[12]采用深度學習的命名實體識別方法,通過卷積自編碼器提取文本特征對中文微博語料庫進行命名實體識別。2017 年,張海楠等[13]基于深度神經網絡結合字特征和詞特征,針對1998 人民日報標注語料庫進行人名、地名和機構名識別,識別結果F1 值達到93.3%。2018 年:李雁群等[14]提出一種從中文維基百科條目中自動構建中文嵌套命名實體識別語料庫的方法;JIA 等[15]使用深度神經網絡與機器學習相結合的方法構建CNNBiLSTM-CRF 模型完成中文命名實體識別任務,在MSRA 數據集上F1 值達到90.95%;ZHANG 等[16]提出基于Lattice LSTM 模型的識別方法,在特征提取時利用字序列關系有效避免了分詞錯誤的影響,該方法在微博、MSRA、OntoNotes 等數據集上F1 值均有所提升,在resume 數據集上F1 值達到94.46%;王蕾等[17]采用深度學習片段神經網絡完成實體邊界標注及分類,該方法在MSRA 數據集上總體F1 值達到90.44%。2019 年,石春丹等[18]提出基于BGRU-CRF的中文命名實體識別方法,充分利用潛在詞特征和上下文信息,在MSRA 和OntoNotes 數據集上F1 值均有所提升。2020 年:趙豐等[19]基于CNN 和注意力機制提出基于局部注意力卷積的嵌入算法以降低中文命名實體識別任務對分詞的依賴,該方法在MSRA、微博和軍事文本數據集上F1 值均有所提升;李妮等[20]提出一種基于BERT 預訓練語言模型結合IDCNN 和CRF 的方法,該方法在MSRA 數據集上F1值達到94.41%,且模型訓練時間大幅縮短。
現有研究主要存在2 個問題:1)多數方法僅提取字符或詞級別特征,而忽略長距離語義信息,導致無法提取文本語義信息;2)早期詞嵌入工具生成靜態詞向量,導致無法處理一詞多義的問題。針對以上2 個問題,本文提出一種基于ALBERT-BGRUCRF 模型的中文命名實體識別方法。該方法采用ALBERT 完成詞嵌入以獲取動態詞向量,經過BGRU 學習上下文語義特征,并使用CRF 降低錯誤標簽輸出概率。
傳統深度學習模型較多關注字符和詞級別特征,而忽略長距離語義信息,導致無法提取語義信息和解決一詞多義的問題。ALBERT 模型獲取動態詞向量解決了一詞多義的問題,BGRU 捕捉雙向語義使得模型更深層理解文本語義信息。本文構建的中文命名實體識別模型包括ALBERT 預訓練語言模型、BGRU、CRF 等3 層,結構如圖1 所示。
在ALBERT-BGRU-CRF 模型中,首先使用ALBERT 預訓練語言模型對待處理文本進行編碼完成詞嵌入,獲取動態詞向量,然后采用BGRU 捕捉雙向語義,最終將拼接后的向量輸入至CRF 層并解碼,得到實體標注信息,完成實體邊界及分類識別。對于文本“教育部新出臺”,經過模型識別,為“教”標注“B-ORG”標簽表示組織機構名的首字,為“育”和“部”標注“I-ORG”標簽表示組織機構名的其他字符,文本中其他非實體字符均標注“O”,識別結果為“教育部”是一個組織機構名。
預訓練語言模型通常體量大,千萬甚至億級別的參數量給訓練帶來了較大困難。ALBERT 模型參數量遠小于BERT 模型參數量。例如,在本文模型中所使用的albert_xlarge 參數量為60M,遠小于bert_base 的參數量。ALBERT 主要在以下3 個方面做了改進:
1)嵌入向量參數因式分解
E表示詞向量大小,H表示隱藏層大小,在BERT、XLNet、RoBERTa等預訓練語言模型中E≡H,若E和H始終相等,提升隱藏層大小H,則詞嵌入大小E也隨之提升,參數規模為O(V×H)。ALBERT 采用因式分解的方法來降低參數量,在詞嵌入后加入一個矩陣以完成維度變化,參數量從O(V×H)降低為O(V×E+E×H),當H?E時參數量明顯減少。
2)跨層參數共享
ALBERT 采用跨層共享參數的方式,示意圖如圖2 所示。

圖2 跨層參數共享示意圖Fig.2 Schematic diagram of cross-layer parameter sharing
一般地,Transformer 每一層(Layer)參數均是相互獨立的,其中,多頭自注意力層(Multi-Head Attention)和前饋神經網絡層(Feed Forward)參數也是相互獨立的,導致增加層數后參數量劇增。參數共享可采用僅跨層共享前饋神經網絡參數,也可僅共享注意力層參數,ALBERT 模型則跨層共享(Shared)所有參數,相當于僅學習第一層參數,在其他所有層中重用(Reuse)該層參數,一方面減少了參數量,另一方面有效提升了模型穩定性。
3)句間連貫性預測
ALBERT 提出一種句間連貫性預測(Sentence-Order Prediction,SOP)方法,正樣本表示與BERT 相同,是兩個連貫的語句,負樣本為原文中交換順序的兩個連貫句。SOP 中正負樣本選自同一文檔,僅關注句子之間的連貫性,避免主題影響,這使得模型在話語層面的學習具有更細粒度。
ALBERT-BGRU-CRF 模型將文本序列輸入至ALBERT 進行編碼,將ALBERT 模型詞嵌入所得動態詞向量作為BGRU 層的輸入。
門控循環單元(Gated Recurrent Unit,GRU)是新一代的循環神經網絡(Recurrent Neural Network,RNN),與長短期記憶網絡(Long Short-Term Memory,LSTM)類似,用以解決傳統RNN 梯度消失和梯度爆炸問題。與LSTM 的區別在于,GRU 不再采用單元狀態記錄或傳輸信息,利用隱藏狀態完成信息記錄及傳輸。更新門和重置門控制GRU 單元最終輸出信息,GRU 單元結構如圖3 所示,其中,“+”表示加操作,“σ”表示Sigmoid 激活函數,“×”表示Hadamard 乘積,“tanh”表示Tanh 激活函數。

圖3 GRU 單元結構Fig.3 Structure of GRU unit
GRU 參數更新計算公式如下:

其中:zt為更新門的激活結果,以門控的形式控制信息的流入;xt為時間步t的輸入向量;Wz為權重矩陣;ht-1表示保存時間步t-1 的信息;rt為重置門激活結果,計算過程同更新門類似;Wr為權重矩陣;表示當前時間步的記憶內容;ht表示當前時間步的最終記憶。
GRU 僅在一個方向上捕獲信息。BGRU 用于提取上下文信息,是雙向輸入的GRU。文本序列正向輸入至GRU 記錄“過去信息”,文本序列反向輸入至GRU 獲取“將來信息”,對兩者進行拼接合并以達到提取上下文信息的目的。
BGRU 層提取上下文信息得到更深層次的語義理解,獲得發射分數矩陣輸入至CRF 層。
CRF 是一種由輸入序列預測輸出序列的判別式模型,常見的條件隨機場是指在線性鏈上特殊的條件隨機場,線性鏈式條件隨機場結構如圖4 所示。

圖4 線性鏈式條件隨機場結構Fig.4 Structure of linear chain conditional random field
設兩組隨機變量X=(x1,x2,…,xn)和Y=(y1,y2,…,yn),線性鏈式條件隨機場定義如下:

其中:X為觀察狀態;Y為隱藏狀態。X和Y具有相同結構。
本文模型通過在CRF 中加入約束,以降低錯誤標簽的輸出概率。條件隨機場判別計算過程如下:

其中:score(s,w)表示綜合評估分數;P表示從BGRU層得到的發射分數矩陣;A表示CRF 學習得到的轉移矩陣;p(w∣s)表示輸入序列與標簽序列的對應概率;Ws表示所有可能的標簽序列。
CRF 層結合BGRU 層輸出的發射分數矩陣和學習得到的轉移矩陣計算最終得分,得到輸入序列與對應標簽序列概率,通過維特比解碼獲得最優序列標注。


算法1 輸入為文本序列,輸出為標簽序列。ALBERT 采用共享權值和分解矩陣的方式減少模型參數,有效降低了空間復雜度,BGRU 由于自身特殊的門單元設置,通常收斂速度更快,CRF 采用維特比算法完成預測任務,維特比算法利用動態規劃求解最優路徑降低復雜度。
實驗使用微軟亞洲研究院公開的MSRA[21]數據集,其中標注有人名(PER)、地名(LOC)、組織機構名(ORG)三類實體。在實驗過程中,訓練集包含20 864 句語料,驗證集包含2 318 句語料,測試集包含4 636 句語料。
命名實體識別又稱為序列標注,常用的標注策略包括BIO、BIOES、BMESO 等,本文實驗過程中采用BIO 標注策略。對于文本中的實體,實體開始字符標注“B-Type”,實體其余字符標注“I-Type”,非實體字符標注“O”。
采用準確率(P)、召回率(R)和F1 值(F1)作為評價指標[22-23],其中,P表示正確識別的實體占全部識別出實體的比率,R表示正確識別的實體占應識別實體的比率,F1是結合了P和R的綜合評價指標,具體計算過程如下:

其中:Tp表示模型識別的正確實體數量;Fp表示模型識別的錯誤實體數量;Fn表示模型未識別出的實體數量。
實驗訓練過程的環境配置如表1 所示。

表1 實驗環境配置Table 1 Experimental environment configuration
在訓練過程中,使用Adam 優化器,輸入文本最大長度為202,為防止過擬合設置Dropout 取0.5,具體參數設置如表2 所示。

表2 實驗參數設置Table 2 Experimental parameter setting
ALBERT-BGRU-CRF 模型在MSRA 數據集上的各類實體識別結果如表3 所示。

表3 命名實體識別結果Table 3 Named entity recognition results %
由表3 可知,本文方法在各類實體中均有較高的準確率,ALBERT-BGRU-CRF 模型結合上下文語義信息取得良好效果,針對人名的識別F1 值最高。ALBERT-BGRU-CRF 模型對于組織機構名的識別準確率、召回率偏低,主要原因為:1)存在組織機構名與地名歧義,例如句子“出席越秀藝苑和越秀書店開業典禮時”中“越秀藝苑”被標注為組織機構名,而模型識別其為地名,此類歧義表述導致識別率較低;2)組織機構名與地名存在大量嵌套,例如句子“陜西省銅川市商務局一位叫張寶玲的下崗女工在培訓結束時”,其中“陜西省銅川市商務局”被標注為組織機構名,模型則識別“陜西省”為地名、“銅川市商務局”為組織機構名,此類嵌套描述也是影響模型準確率的原因之一。
為了驗證ALBERT-BGRU-CRF 模型的有效性,設置對比實驗。ALBERT-BGRU-CRF 模型與其他模型的命名實體識別結果對比如表4 所示。

表4 不同模型命名實體識別結果對比Table 4 Comparison of named entity recognition results of different models %
由表4 可知:CNN-BiLSTM-CRF 模型、片段神經網絡模型和Lattice-LSTM-CRF 模型與BERTIDCNN-CRF 模型對比發現,基于BERT 對文本進行詞嵌入后識別效果更佳,本文模型采用ALBERT 完成詞嵌入獲取動態詞向量,ALBERT 在保證識別效果的基礎上參數量僅約為BERT 的1/2;Lattice-LSTM-CRF 模型與BGRU-CRF 模型對比發現,BGRU 通過對上下文語義更深層的理解有效提高了命名實體識別的F1 值;ALBERT-BGRU-CRF 模型相比于其他模型F1 值最高,相比于片段神經網絡模型的F1 值提升了4.43 個百分點,相比于CNNBiLSTM-CRF 模型F1 值提升了3.78 個百分點。
本文提出一種用于中文命名實體識別的ALBERT-BGRU-CRF 模型,使用ALBERT 預訓練語言模型對待處理文本進行編碼完成詞嵌入并獲取動態詞向量,解決了一詞多義的問題,同時結合BGRU有效利用序列信息,使ALBERT-BGRU-CRF 模型能進一步理解上下文語義。實驗結果表明,ALBERTBGRU-CRF 模型相比于傳統命名實體識別模型準確率、召回率和F1 值均有所提升,并且在采用ALBERT 保留BERT 性能的同時,參數量僅約為BERT 的1/2,降低了模型訓練過程中對內存等硬件設備的要求。由于ALBERT-BGRU-CRF 模型對于歧義實體和嵌套實體識別準確率較低,因此后續將從細化和完善實體標記規則以及更深層的語義學習等方面做進一步優化。