謝 騰,楊俊安,劉 輝
(國防科技大學 電子對抗學院,合肥 230037)
命名實體識別(Named Entity Recognition,NER)是自然語言處理的關鍵技術之一,同時也是作為知識抽取的一項子任務,其主要作用就是從海量文本中識別出特定類別的實體,例如人名、地名、組織機構名以及領域專有詞匯等.中文命名實體識別是信息抽取、信息檢索、知識圖譜、機器翻譯和問答系統等多種自然語言處理技術必不可少的組成部分,在自然語言處理技術走向實用化的過程中占有重要地位.因此,命名實體識別作為自然語言處理最基礎的任務,對它的研究則具有非凡的意義與作用.在中文實體識別任務中,其難點主要表現在以下幾個方面:(1)命名實體類型與數量眾多,而且不斷有新的實體涌現,如新的人名、地名等;(2)命名實體構成結構較復雜,如組織機構存在大量的嵌套、別名以及縮略詞等問題,沒有嚴格的命名規律;(3)命名實體識別常常與中文分詞、淺層語法分析等相結合,而這兩者的可靠性也直接決定命名實體識別的有效性,使得中文命名實體識別更加困難.因此,中文命名實體識別研究還存在很大的提升空間,有必要對其做進一步的研究.
命名實體識別從最早期開始,主要是基于詞典與規則的方法,它們依賴于語言學家的手工構造的規則模板,容易產生錯誤,不同領域間無法移植.因此,這種方法只能處理一些簡單的文本數據,對于復雜非結構化的數據卻無能為力.隨后主要是基于統計機器學習的方法,這些方法包括隱馬爾可夫模型(HMM)、最大熵模型(MEM)、支持向量機(SVM)和條件隨機場(CRF)等.例如,彭春艷等人[1]就利用CRF結合單詞結構特性與距離依賴性,在生物命名實體上取得較好的結果;鞠久朋等人[2]提出把CRF與規則相結合來進行地理空間命名實體識別,該算法有效地提高了地理空間命名實體識別的性能;樂娟等人[3]提出基于HMM的京劇機構命名實體識別算法,并且取得相當不錯的效果.在基于機器學習的方法中,NER被當作序列標注問題,利用大規模語料來學習標注模型.但是這些方法在特征提取方面仍需要大量的人工參與,且嚴重依賴于語料庫,識別效果并非很理想.近些年來,深度學習被應用到中文命名實體識別研究上.基于深度學習的方法,是通過獲取數據的特征和分布式表示,避免繁瑣的人工特征抽取,具有良好的泛化能力.最早使用神經網絡應用到命名實體研究上是Hammerton 等人[4],他們使用單向的長短期記憶網絡(LSTM),該網絡具有良好的序列建模能力,因此LSTM-CRF成為了實體識別的基礎架構;后來在該模型的基礎上,Guillaume Lample 等人[5]提出雙向長短期記憶網絡(Bidirectional Long Short-Term Memory,BiLSTM)和條件隨機場(CRF)結合的神經網絡模型,這種雙向結構能夠獲取上下文的序列信息,因此在命名實體識別等任務中得到相當廣泛的應用,并且他們利用BiLSTM-CRF模型在語料庫CoNLL-2003 取得了比較高的F1值90.94%;Collobert 等人[6]就首次使用CNN與CRF結合的方式應用于命名實體識別研究中,在CoNLL-2003上取得不錯的效果;Huang等人[7]在BiLSTM-CRF模型的基礎上融入人工設計的拼寫特征,在CoNLL-2003語料上達到了88.83%的F1值;Chiu和Nichols 等人[8]在LSTM模型前端加入CNN處理層,在CoNLL-2003語料庫上達到了91.26%的F1值;在生物醫學領域上,李麗雙等人[9]利用CNN-BiLSTM-CRF神經網絡模型在Biocreative Ⅱ GM和JNLPBA2004語料上取得了目前最好的F1值,分別為89.09%和74.40%;在化學領域上,Ling Luo 等人[10]采用基于attention 機制的BiLSTMCRF模型,在BioCreative IV數據集上取得91.14%的F1值;Fangzhao Wu 等人[11]提出聯合分詞與CNNBiLSTM-CRF模型共同訓練,增強中文NER模型實體識別邊界的能力,同時又介紹了一種從現有標記數據中生成偽標記樣本的方法,進一步提高了實體識別的性能;秦婭等人[12]在深度神經網絡模型的基礎上,提出一種結合特征模板的CNN-BiLSTM-CRF網絡安全實體識別方法,利用人工特征模板提取局部上下文特征,在大規模網絡安全數據集上F1值達到86%;武惠等人[13]聯合遷移學習和深度學習應用到中文NER上,也取得了較好的效果;王紅斌[14]、王銀瑞[15]利用遷移學習來進行實體識別,該方法相對監督學習方法很大程度上減少了人工標注語料的工作量;Dong 等[16]提出了Radical-BiLSTM-CRF模型使用雙向LSTM提取字根序列的特征,然后與字向量拼接組成模型的輸入;劉曉俊等人[17]利用基于attention 機制的DC-BiLSTMCRF模型在MSRA語料上F1值最高可達到92.05%;Zhang 等人[18]提出的Lattice LSTM模型,它顯式地利用了詞與詞序列信息,避免了分詞錯誤的傳遞,在MSRA語料上取得了較高的F1值93.18%;Liu 等人[19]提出WC-LSTM模型,把詞信息加入到整個字符的開頭或末尾,增強語義信息,在MSRA語料上取得了93.74%的F1值;王蕾等人[20]則是利用片段神經網絡結構,實現特征的自動學習,并在MSRA語料上取得90.44%的F1值.
然而以上方法存在這樣的一個問題:這些方法無法表征一詞多義,因為它們主要注重詞、字符或是詞與詞之間的特征提取,而忽略了詞上下文的語境或語義,這樣提取出來的只是一種不包含上下文語境信息的靜態詞向量,因而導致其實體識別能力下降.為解決該問題,谷歌團隊Jacob Devlin 等人[21]所提出來一種BERT (Bidirectional Encoder Representation from Transformers)語言預處理模型來表征詞向量,BERT作為一種先進的預訓練詞向量模型,它進一步增強詞向量模型泛化能力,充分描述字符級、詞級、句子級甚至句間關系特征,更好地表征不同語境中的句法與語義信息.Fábio Souza 等人[22]采用BERT-CRF模型應用到Portuguese NER上,在HAREM I上取得最佳的F1值;Jana Straková等人[23]把BERT 預處理模型應用到實體識別上,在CoNLL-2002 Dutch、Spanish和CoNLL-2003 English上取得相當理想的效果.由于BERT具有表征一詞多義的能力,本文在此基礎上提出一種BERTBiLSTM-CRF神經網絡模型,該模型首先利用BERT預訓練出詞向量,再將詞向量輸入到BiLSTM做進一步訓練,最后通過CRF解碼預測最佳序列.實驗結果表明,該模型在MSRA語料和人民日報語料庫上分別達到了94.65%和95.67%的F1值.
本文的創新點主要有以下兩點:① 將語言預訓練模型BERT應用到中文實體識別中,語言預訓練是作為中文實體識別的上游任務,它把預訓練出來的結果作為下游任務BiLSTM-CRF的輸入,這就意味著下游主要任務是對預訓練出來的詞向量進行分類即可,它不僅減少了下游任務的工作量,而且能夠得到更好的效果;② BERT語言預訓練模型不同于傳統的預訓練模型,BERT預訓練出來的是動態詞向量,能夠在不同語境中表達不同的語義,相較于傳統的語言預訓練模型訓練出來的靜態詞向量(無法表征一詞多義),在中文實體識別中具有更大的優勢.
近幾年來,對于實體識別的上游任務語言預處理而言,它一直是研究的熱點問題.而BERT作為先進的語言預處理模型,可以獲取高質量的詞向量,從而更有利于實體識別的下游任務進行實體提取和分類.本文提出的BERT-BiLSTM-CRF模型整體結構如圖1所示,這個模型主要分3個模塊.首先標注語料經過BERT 預訓練語言模型獲得相應的詞向量,之后再把詞向量輸入到BiLSTM模塊中做進一步處理,最終利用CRF模塊對BiLSTM模塊的輸出結果進行解碼,得到一個預測標注序列,然后對序列中的各個實體進行提取分類,從而完成中文實體識別的整個流程.

圖1 BERT-BiLSTM-CRF模型框架
本文模型最大的優勢在于BERT語言預處理模型的應用,它不再需要提前訓練好字向量和詞向量,只需要將序列直接輸入到BERT中,它就會自動提取出序列中豐富的詞級特征、語法結構特征和語義特征.Ganesh Jawahar 等人[24]對BERT模型的內在機理做了進一步的研究,指出對于BERT模型每一層學習到的特征是不盡相同的.BERT模型的底層主要是獲取短語級別的特征信息,中層主要是學習到句法結構特征信息,頂層則是捕獲整個句子的語義信息,經過BERT處理過后能夠獲得語境化的詞向量,對處理長距離依賴信息的語句有很好的效果.而對于傳統模型,它們主要集中在詞語或字符級別特征信息的獲取,而對于句法結構以及語義信息很少涉及.可以看出BERT模型特征抽取能力明顯強于傳統模型.
多年來,對語言模型的研究先后經歷了one-hot、Word2Vec、ELMO、GPT到BERT,前幾個語言模型均存在一些缺陷,如Word2Vec模型訓練出來的詞向量是屬于靜態Word Embedding,無法表示一詞多義;GPT 則是單向語言模型,無法獲取一個字詞的上下文.而對BERT模型而言,它是綜合ELMO和GPT 這兩者的優勢而構造出來的模型.Fábio Souza[22]利用BERT提取更強的句子語義特征來進行命名實體識別,并取得相當不錯的效果.由于BERT 具有很強的語義表征優勢,本文就利用BERT 獲取語境化的詞向量來提高實體識別的性能.但是本文采取的BERT模塊與Fábio Souza[22]有不同之處:在對句子進行前期處理時,他采用的是以字符為單位進行切分句子.因此,這樣的分詞方式會把一個完整的詞切分成若干個子詞,在生成訓練樣本時,這些被分開的子詞會隨機被Mask.而本文則按照中文的分詞習慣,于是將全詞Mask[25]的方法應用到中文上,在全詞Mask中,如果一個完整的詞的部分被Mask,則同屬該詞的其他部分也會被Mask.具體如表1所示.

表1 全詞Mask
具體BERT模型結構如圖2所示.

圖2 BERT模型結構
對于任意序列,首先通過分詞處理得到分詞文本序列;然后對分詞序列的部分詞進行全詞Mask,再為序列的開頭添加一個特殊標記[CLS],句子間用標記[SEP]分隔.此時序列的每個詞的輸出Embedding 由3部分組成:Token Embedding、Segment Embedding和Position Embedding.將序列向量輸入到雙向Transformer進行特征提取,最后得到含有豐富語義特征的序列向量.
對于BERT而言,其關鍵部分是Transformer結構.Transformer是個基于“自我注意力機制”的深度網絡,其編碼器結構圖如圖3所示.
該編碼器的關鍵部分就是自注意力機制,它主要是通過同一個句子中的詞與詞之間的關聯程度調整權重系數矩陣來獲取詞的表征:

其中,Q,K,V是字向量矩陣,dk是Embedding 維度.而多頭注意力機制則是通過多個不同的線性變換對Q,K,V進行投影,最后將不同的Attention結果拼接起來,公式如式(2)和式(3):


圖3 Transformer編碼器
因此模型就可以得到不同空間下的位置信息,其中W是權重矩陣.
由于Transformer 并沒有像RNN 一樣能夠獲取整個句子的序列能力,因此為解決這個問題,Transformer在數據預處理前加入了位置編碼,并與輸入向量數據進行求和,得到句子中每個字的相對位置.
而Transformer結構中的全鏈接前饋網絡有兩層dense:第一層的激活函數是ReLU,第二層是一個線性激活函數.如果多頭注意力機制的輸出表示為Z,b是偏置向量,則FFN(全鏈接前饋網絡)可以表示為:

LSTM (Long-Short Term Memory,長短期記憶網絡),是循環神經網絡(RNN)的一種變體.它解決了RNN 訓練時所產生的梯度爆炸或梯度消失.LSTM 巧妙地運用門控概念實現長期記憶,同時它也能夠捕捉序列信息.LSTM 單元結構如圖4.
LSTM的核心主要是以下結構:遺忘門、輸入門、輸出門以及記憶Cell.輸入門與遺忘門兩者的共同作用就是舍棄無用的信息,把有用的信息傳入到下一時刻.對于整個結構的輸出,主要是記憶Cell的輸出和輸出門的輸出相乘所得到的.其結構用公式表達如下:

其中,σ是激活函數,W是權重矩陣,b是偏置向量,zt是待增加的內容,ct是t時刻的更新狀態,it,ft,ot分別是輸入門、遺忘門及輸出門的輸出結果,ht則是整個LSTM 單元t時刻的輸出.

圖4 LSTM 單元結構
由于單向的LSTM模型無法同時處理上下文信息,而Graves A 等人[26]提出的BiLSTM (Bidirectional Long-Short Term Memory,雙向長短期記憶網絡),其基本思想就是對每個詞序列分別采取前向和后向LSTM,然后將同一個時刻的輸出進行合并.因此對于每一個時刻而言,都對應著前向與后向的信息.具體結構如圖5所示.其中輸出如以下式所示:


圖5 BiLSTM模型結構
在命名實體識別任務中,BiLSTM 善于處理長距離的文本信息,但無法處理相鄰標簽之間的依賴關系.而CRF 能通過鄰近標簽的關系獲得一個最優的預測序列,可以彌補BiLSTM的缺點.對于任一個序列X=(x1,x2,···,xn),在此假定P是BiLSTM的輸出得分矩陣,P的大小為n×k,其中n為詞的個數,k為標簽個數,Pij表示第i個詞的第j個標簽的分數.對預測序列Y=(y1,y2,···,yn)而言,得到它的分數函數為:

A表示轉移分數矩陣,Aij代表標簽i轉移為標簽j的分數,A的大小為k+2.預測序列Y產生的概率為:

兩頭取對數得到預測序列的似然函數:


本文主要采用人民日報語料庫和MSRA語料作為實驗的數據集,這兩個數據集是國內公開的中文評測數據集.它們包含了3種實體類型,分別是人名、地名和組織機構.本實驗主要對人名、地名以及組織機構進行識別評測.語料具體規模如表2所示.

表2 語料規模介紹(單位:句)
命名實體識別常用的標注體系有BIO體系、BIOE體系以及BIOES體系,本文選用的是BIO體系,該體系的標簽有7個,分別是“O”、“B-PER”、“I-PER”、“B-ORG”、“I-ORG”、“B-LOC”、“I-LOC”.
本文采用召回率R、精確率P和F1值來評判模型的性能,各評價指標的計算方法如下:

式中,a是識別正確的實體數,A是總實體個數,B是識別出的實體數.
3.3.1 實驗環境配置
本實驗是基于Tensorflow平臺搭建,具體訓練環境配置如表3所示.

表3 訓練環境配置
3.3.2 實驗參數配置
訓練過程中,采用Adam 優化器,學習速率選取0.001.同時,還設置LSTM_dim為200,batch_size為64,max_seq_len為128.為防止過擬合問題,在BiLSTM的輸入輸出中使用Dropout,取值為0.5.具體超參數設定如表4所示.

表4 參數設置
為了對本文模型做出更加客觀的評價,本文分別對人民日報語料和MSRA語料進行測評,具體實驗結果如表5至表8所示(注:表中的BERT-BiLSTMCRF指的是全詞Mask下的BERT-BiLSTM-CRF).

表5 人民日報語料測試結果(單位:%)

表6 MSRA語料測試結果(單位:%)

表7 訓練時間(單位:s)

表8 在MSRA語料測試的模型對比(單位:%)
3.4.1 BERT-BiLSTM-CRF和傳統經典神經網絡模型的對比實驗
首先,比較LSTM-CRF和BiLSTM-CRF這兩者實驗結果,后者的F1值在人民日報語料和MSRA語料上比前者分別高出3.09%、3.56%.從此可看出,BiLSTM能夠利用雙向結構獲取上下文序列信息,因此效果要優于LSTM.其次,比較BiLSTM與BiLSTM-CRF的實驗結果,增加CRF模塊后,F1值在兩者語料上分別提高了5.04%、7.99%,這主要歸因于CRF模塊能夠充分利用彼此相鄰標簽的關聯性,像“B-PER I-ORG ···”這樣的標簽序列無法有效地輸出,從而可以獲得全局最優的標簽序列,進而能夠改善實體識別性能.隨后在BiLSTM-CRF的基礎上,引入BERT模型(原始Mask)進行詞向量預處理,從實驗的各項指標來看,效果相當理想,F1值高達94.74%、94.21%,同比BiLSTMCRF模型,F1值已經提高了9.65%、9.17%.加入的BERT模型,該模型可以充分提取字符級、詞級、句子級甚至句間關系的特征,從而使預訓練出來的詞向量能夠更好地表征不同語境中的句法與語義信息,進而增強模型泛化能力,提高實體識別的性能.當全詞Mask取代原始Mask的BERT時,在人民日報語料、MSRA語料上分別提高了0.93%、0.44%,說明其提取的特征能力更強.
此外,本文還對比分析了前20輪的F1值更新情況(以人民日報測試結果為例),如圖6所示.在訓練初期,兩種BERT-BiLSTM-CRF模型就能夠達到一個較高的水平,并且會持續提升,最后保持在相當高的水平上;而對于傳統經典神經網絡模型,在初期就處于一個相當低的水平,只有經過多次迭代更新才會上升到一個較高的水平,但還是無法超過BERT-BiLSTM-CRF模型.

圖6 F1值更新情況
同時也對比各模型訓練一輪所需的時間(以人民日報測試結果為例),如表7所示.
值得比較的是后兩個模型,BERT-BiLSTM-CRF(原始Mask)訓練一輪的所需時間是本文模型的15倍左右,而且本文模型的訓練時間在所有模型中是最少的,說明全詞Mask的BERT 具有更高的訓練效率.
3.4.2 BERT-BiLSTM-CRF和現有其他工作的對比
從表8中可以看出,DC-BiLSTM-CRF模型利用DC-BiLSTM來學習句子特征,應用自注意力機制來捕捉兩個標注詞語的關系;Radical-BiLSTM-CRF模型使用雙向LSTM提取字根序列的特征,然后與字向量拼接組成模型的輸入;Lattice-LSTM模型則是把傳統的LSTM單元改進為網格LSTM,然后顯式地利用詞與詞序信息,避免了分詞錯誤的傳遞;對于WC-LSTM而言,則是利用詞語信息加強語義信息,減少分詞錯誤的影響;片段神經網絡結構通過片段信息對片段整體進行分配標記,從而完成實體識別.這幾種改進模型很大程度上提高了F1值.
但是上述的改進模型始終停留在對字符和詞語特征的提取,導致這些改進模型有一定的局限性.例如,“南京市長江大橋”,這個短語可以理解為“南京市-長江大橋”,以也可以理解為“南京市長-江大橋”,然而上述的模型只能獲取其中的一種意思,無法同時表征兩種意思.而本文提出的BERT-BiLSTM-CRF模型能很好地解決這個問題.BERT是構建于Transformer之上的預訓練語言模型,它的特點之一就是所有層都聯合上下文語境進行預訓練.因此BERT模型網絡不僅可以學習到短語級別的信息表征以及豐富的語言學特征,而且也能夠學習到豐富的語義信息特征.對于上面的“南京市長江大橋”這個例子,BERT根據上下文不同的語境信息能夠準確區分出這兩種意思.所以本文提出的BERT-BiLSTM-CRF與BERT-IDCNNCRF模型兩者相差不大,而本文模型的F1值在MSRA語料上達到了94.65%.通過對上述多種模型的對比分析,BERT-BiLSTM-CRF模型在所有模型中都表現出最佳的效果,說明BERT相比其他模型,其特征抽取能力更強.
針對中文實體識別任務,本文通過BERT語言預處理模型獲得語境化的詞向量,再結合經典神經網絡模型BiLSTM-CRF,構建BERT-BiLSTM-CRF模型.在人民日報語料庫和MSRA語料上分別進行評測,相比其他模型,本文的BERT-BiLSTM-CRF模型在這兩者語料上都取得了最佳的結果.本文模型,其最大的優勢在于BERT能夠結合上下文的語義信息進行預訓練,能夠學習到詞級別、句法結構的特征和上下文的語義信息特征,使得該模型相比其他模型,具有更優的性能.同時利用BiLSTM對詞向量做進一步處理,再結合CRF的優勢,進一步提高了中文實體識別的效果.下一步工作可以考慮將其應用到其他領域,進行相應的領域實體識別.