廖 濤,勾艷杰,張順香
(安徽理工大學(xué) 計算機科學(xué)與工程學(xué)院,安徽 淮南 232001)
命名實體識別技術(shù)是自然語言處理中最基礎(chǔ)的技術(shù),在自然語言理解中起著至關(guān)重要的作用。命名實體識別就是在一段自然語言文本中,標注有意義的實體的位置,并將其劃分到相應(yīng)的實體類型中。
傳統(tǒng)的命名實體識別主要采用構(gòu)建規(guī)則模板或統(tǒng)計機器學(xué)習(xí)模型的方法。盡管這些方法也能夠取得較好的識別效果,但需要一定的語言學(xué)知識或者人工抽取特征,通常泛化能力差。近些年,深度學(xué)習(xí)方法由于不需要使用大量的人工特征就可以取得優(yōu)良的識別結(jié)果而受到廣泛關(guān)注和使用。例如,陶源等人[1]提出了一種混合神經(jīng)網(wǎng)絡(luò)模型,在中文數(shù)據(jù)集SIGHAN2006 上取得了優(yōu)良的識別效果。Qin Y 等[2]使用了雙向長短期記憶網(wǎng)絡(luò)和條件隨機場來識別臨床命名實體,在i2b2/VA開放數(shù)據(jù)集上獲得了較好的識別效果。
然而,現(xiàn)有的深度學(xué)習(xí)方法無法表征一詞多義且未能充分挖掘文本的潛在語義特征。針對上述問題,本文提出了融合注意力機制的BERTBiLSTM-CRF 中文命名實體識別方法。該方法不僅可以獲得豐富語義的詞向量,還可以增強當前信息和上下文信息之間的語義相關(guān)性,挖掘文本之間的潛在語義特征,取得了不錯的識別效果。
早期采用基于規(guī)則的方法,通過規(guī)則模板來提取相應(yīng)的信息。孫譽僑等人[3]通過使用基于規(guī)則的方法進行命名實體識別,在招標數(shù)據(jù)的識別中取得了較好的F1 值。孔玲玲等人[4]提出一種面向無標注數(shù)據(jù)的中文命名實體識別框架,取得了較好的F1 值。但是以上方法中,規(guī)則的構(gòu)建需要大量專業(yè)的語言學(xué)知識,熟悉各實體出現(xiàn)的規(guī)律,并且還要注意規(guī)則之間的沖突與局限性,存在時間效率低、可移植性弱等缺點。
考慮到基于規(guī)則的方法具有上述問題,國內(nèi)外學(xué)者提出了基于統(tǒng)計機器學(xué)習(xí)的方法。該方法自動抽取真實文本中的命名實體,構(gòu)成規(guī)律,然后再進行語言模型的訓(xùn)練,使其自動識別命名實體。LONG 等人[5]通過CRF(Conditional Random Field)和字典相結(jié)合的方法進行命名實體識別,取得了較好的識別效果。王路路等人[6]使用CRF 和半監(jiān)督學(xué)習(xí)的方法進行維吾爾文命名實體識別,取得了較好的識別效果。然而,該方法雖然降低了對語言學(xué)知識的要求,但還是需要人工抽取特征。
近年來,深度學(xué)習(xí)以其不需要人工干預(yù),可以自動提取詞語特征的優(yōu)點,成為命名實體識別的主流研究方法。張聰品等人[7]使用LSTM(Long Short-Term Memory)和CRF 對電子病歷進行命名實體識別,F(xiàn)1 值達到了93.85%。殷章志等人[8]通過一種融合字詞BiLSTM(Bi-directional?Long Short-Term Memory)模型的方法,取得了較好的F1 值。Bin Ji 等[9]通過BiLSTM-CRF 模型對電子健康記錄中400 份住院病案進行識別,取得了較好的F1 值。劉宇鵬等人[10]引入了CNN(Convolutional Neural Networks),提出了BiLSTM-CNNCRF的命名實體識別模型,可以獲取到字符和詞語級別的表示,在醫(yī)療領(lǐng)域和新聞領(lǐng)域取得了較好的F1 值。冀相冰等人[11]引入了注意力機制(Attention),提出了Attention-BiLSTM 模型,取得了不錯的識別效果。Luo 等[12]提出了atts-BiLSTMCRF的命名實體識別模型,在身體部位,疾病和癥狀等實體中取得了較好的識別效果。
然而,深度學(xué)習(xí)方法沒有考慮到相同的詞語在不同的語句中具有不同的含義的問題。而且,一段文本中,不同的詞語對識別的結(jié)果也會產(chǎn)生不同的影響,從而導(dǎo)致識別的準確率不高。谷歌發(fā)布的 BERT(Bidirectional Encoder Representations from Transformers)預(yù)訓(xùn)練語言模型[13],可以充分表征一詞多義。此外,注意力機制為文本中的不同文字分配不同的權(quán)重,增強了當前信息和上下文信息之間的潛在語義相關(guān)性。受此啟發(fā),為了能夠更好的表達一詞多義并且充分挖掘文本之間的潛在特征,提出了本文的研究方法。針對中文命名實體識別,主要做了如下貢獻:①引入BERT 預(yù)訓(xùn)練語言模型,用來表征一詞多義;②將注意力機制與深度學(xué)習(xí)模型結(jié)合;③通過實驗驗證了本文提出的方法具有不錯的識別效果。
本文提出的模型主要分為4 層。第一層是BERT 層,由于BERT 可以表征一詞多義,語料經(jīng)過BERT 預(yù)訓(xùn)練語言模型,獲得含有豐富語義的詞向量;第2 層是BiLSTM 層,BiLSTM 使用前向LSTM 和后向LSTM,捕捉文本的上下文特征;第3 層是Attention 層,對不同的上下文信息給予不同的關(guān)注程度,為其分配不同的權(quán)重,捕捉文本之間的潛在語義特征;第4 層是CRF 層,CRF 可以為預(yù)測的標簽添加一些約束來保證預(yù)測標簽的合法性。利用CRF 對輸出結(jié)果進行解碼標注,對實體進行提取分類。模型整體結(jié)構(gòu)如圖1 所示。
圖1 融合注意力機制的BERT-BiLSTM-CRF 模型
BERT 模型采用雙向Transformer 作為編碼器,并使用開放域語料庫進行預(yù)訓(xùn)練。谷歌開源實現(xiàn)了兩個版本的BERT 模型,分別是BERT Base,BERT Large。二者本質(zhì)是一樣的,區(qū)別在于參數(shù)的設(shè)置。BERT Base 是十二層的,而另一個是二十四層的,訓(xùn)練時間長。本文實驗采用的是BERT Base 版本。BERT 模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 BERT的網(wǎng)絡(luò)結(jié)構(gòu)
2.2.1 BERT 輸入表示
對于任意序列,先進行分詞處理得到分詞文本序列;然后對此序列的部分詞隨機Mask,在序列開頭添加特殊標記[CLS],句間標記[SEP摘要此時序列的每個詞的輸出Embedding 由3 部分組成:Token Embedding (詞向量)、Segment Embedding(句子切分向量)和Position Embedding(位置向量)。將序列向量輸入到雙向Transformer 進行特征提取,最后得到含有豐富語義特征的序列向量。BERT 模型輸入示例如圖3 所示。
圖3 BERT 預(yù)訓(xùn)練語言模型輸入
2.2.2 BERT 模型預(yù)訓(xùn)練
BERT 模型使用:Masked 語言模型和下一句預(yù)測進行模型預(yù)訓(xùn)練。
Masked 語言模型,其思想來自英語的完形填空。訓(xùn)練過程中,每個序列隨機掩蓋15%的標簽。比如“黨中央國務(wù)院關(guān)心西藏雪災(zāi)救災(zāi)工作”這句話中的“雪”會出現(xiàn)以下三種情況:1、80%的可能性用[MASK]直接替換所選字。如:黨中央國務(wù)院關(guān)心西藏[MASK]災(zāi)救災(zāi)工作。2、10%的可能性把所選字隨機替換成一個字。如:黨中央國務(wù)院關(guān)心西藏西災(zāi)救災(zāi)工作。3、最后10%的可能性不進行任何改變。掩蓋完成后,通過上下文內(nèi)容對被掩蓋的單詞進行預(yù)測。
下一個預(yù)測是為了獲得粗粒度(句子)級別的關(guān)系,這一任務(wù)是在上一任務(wù)的基礎(chǔ)上進行的。首先,在預(yù)訓(xùn)練語料中隨機選擇兩個句子;例如句子a:黨中央國務(wù)院關(guān)心西藏[MASK]災(zāi)救災(zāi)工作。句子b:災(zāi)區(qū)各級政府全力組織抗[MASK]。然后,預(yù)測句子b 是不是句子a的下一句;最后,使用IsNext/NoNext 標簽標記。在這一任務(wù)中,句子b 有一半的概率為句子a的下一句,也有一半的概率不是其下一句。
2.3.1 LSTM
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),沒有記憶的功能。即上一時刻的有關(guān)信息,無法用于下一時刻。遞歸神經(jīng)網(wǎng)絡(luò)卻有這一功能。然而,當預(yù)測點與依賴的相關(guān)信息相距較遠時,就難以學(xué)到相關(guān)信息。LSTM就可以很好的解決此問題,學(xué)習(xí)到長期依賴信息。其單元結(jié)構(gòu)如圖4 所示。
圖4 LSTM 單元結(jié)構(gòu)
LSTM的計算公式如下:
其中,xt是輸入,it,ft,ot分別為輸入門、遺忘門及輸出門,σ 為Sigmod 函數(shù),tanh 為雙曲正切函數(shù)。W 是權(quán)重矩陣,b 是偏置向量,為細胞的臨時狀態(tài),~Ct為t 時刻的狀態(tài),ht為t 時刻的輸出。
2.3.2 BiLSTM
單向的LSTM 模型只能通過上文信息推測當前結(jié)果,無法同時利用下文信息。為了彌補這一不足,模型采用BiLSTM。通過前向LSTM 和后向LSTM,充分利用上下文信息。其具體結(jié)構(gòu)如圖5 所示。
圖5 BiLSTM 模型結(jié)構(gòu)
在中文命名實體識別中,將由BERT 模型得到的詞向量序列輸入到前向LSTM 中,其計算過程使用上述公式,得到前向特征信息ht。與上述方式類似,可以得到后向特征信息h’t,再將ht 與h’t 按位拼接,得到最終的隱藏狀態(tài)Ht,即Ht=[ht,h’t],其中[,]是拼接符號。這樣就匯總了雙向語義特征。
BiLSTM 可以得到上下文信息,但沒有突出當前信息和上下文信息之間的潛在語義相關(guān)性。因此,在BiLSTM 網(wǎng)絡(luò)后加入注意力層,挖掘文本之間的潛在語義特征。例如“印度尼西亞總統(tǒng)蘇哈托呼吁全國人民團結(jié)起來”。“全國人民”對識別出人名實體“蘇哈托”作用較小,而“印度尼西亞總統(tǒng)”對識別出人名實體“蘇哈托”有較大的意義。注意力機制會給“全國人民”分配較少的注意力,給“印度尼西亞總統(tǒng)”分配較多的注意力,有助于人名實體“蘇哈托”正確識別出來。
在中文命名實體識別任務(wù)中,利用注意力機制進行文本特征提取的過程如下:首先,把詞向量序列輸入到BiLSTM 網(wǎng)絡(luò)中進行上下文特征的提?。蝗缓?,利用注意力機制給上一步獲得的不同的特征向量,賦予不同的權(quán)重,提取文本潛在語義特征;最后,生成包含文本上下文特征和潛在語義特征的聯(lián)合特征向量序列。
首先,計算注意力權(quán)重vt。ht 是BiLSTM 層輸出的特征向量。公式如下:
然后,計算注意力權(quán)重概率向量Pt。
最后,計算注意力權(quán)重配置at。
常用的序列標注模塊方法有兩種:一種是條件隨機場模型,另一種是使用softmax 函數(shù)直接進行分類。條件隨機場在預(yù)測標簽時,充分的考慮了文本的上下文關(guān)聯(lián)性,為預(yù)測標簽添加一些約束來保證預(yù)測標簽的合法性。因此,模型選擇了條件隨機場來進行序列標注。
在本次命名實體識別中,CRF 層的參數(shù)為(m+2)*(m+2)的矩陣A,m 為標簽個數(shù)。Ai,j表示由標簽i 到j(luò)的概率。P 為BiLSTM 層輸出的權(quán)重矩陣。Pi,j表示矩陣中第i 行第j 列的概率。對于輸入序列x={x1,x2,…,xn}和標記序列y={y1,y2,…,yn},模型可定義為:
對所有可能的序列路徑進行歸一化,得到預(yù)測序列y的概率:
解碼后得到最大概率的輸出序列:
采用1998 年上半年的人民日報語料進行相關(guān)實驗研究。經(jīng)統(tǒng)計,該語料已經(jīng)標注好了34 種詞性類別。實驗主要識別人名、地名、組織機構(gòu)名等實體。由于BIO 可以逐字標記,因此本文使用BIO 進行標記,B 表示實體的第一個詞,I 表示實體中間詞,O 表示不是實體。因此要識別的標記有:B-PER,I-PER,B-LOC,I-LOC,B-ORG,I-ORG,O。將標注好的數(shù)據(jù)集以7:2:1的比例劃分為訓(xùn)練集、測試集和驗證集。具體預(yù)料數(shù)據(jù)如表1 所示。
表1 1998 年人民日報語料數(shù)據(jù)(單位:字)
3.2.1 不同模型的性能對比
在數(shù)據(jù)集上,采用LSTM、LSTM-CRF、BiLSTM、BiLSTM-CRF、BERT-BiLSTM-CRF 和本文方法進行性能分析。人名、地名、組織機構(gòu)名的識別結(jié)果分別如表2 至4 所示。
表2 人名識別各模型效果對比(單位:%)
表3 地名識別各模型效果對比(單位:%)
表4 機構(gòu)名識別各模型效果對比(單位:%)
對比LSTM 模型和LSTM-CRF 模型的實驗結(jié)果,可以看出增加了CRF 模塊后,F1 值提高了。這是因為CRF 能充分利用相鄰標簽的關(guān)聯(lián)性。
對比LSTM-CRF 模型和BiLSTM-CRF 模型的實驗結(jié)果,可以看出BiLSTM的表現(xiàn)優(yōu)于LSTM,因為LSTM 只能利用上文信息,無法利用下文信息。而BiLSTM 能同時利用上下文信息。
對比BiLSTM-CRF 模型和BERT-BiLSTMCRF 模型的實驗結(jié)果,可以看出F1 值取得了比較明顯的提高,這是因為BERT 模型能夠深層次地提取文本語義信息,充分表征一詞多義。
對比BERT-BiLSTM-CRF 模型和本文模型的實驗結(jié)果,可以看出準確率取得了明顯提高,歸因于注意力機制使模型更專注于尋找與當前輸出更關(guān)的輸入信息,強化了當前信息與上下文信息之間的潛在語義關(guān)聯(lián)性,有利于識別出不易識別的實體,提高了識別的準確率。
對比三個表,在所有模型中,人名、地名實體的識別效果優(yōu)于組織機構(gòu)名。這是因為大多數(shù)的機構(gòu)名都有簡稱,包含大量的未登錄詞,且其長度極不穩(wěn)定,導(dǎo)致識別難度很大。
3.2.2 本文模型與他人方法性能對比
將本文方法與目前主流方法進行了實驗,結(jié)果如表5 所列。
表5 本文方法與目前主流方法識別效果對比(單位:%)
BiLSTM-CRF 與BiLSTM-CNN-CRF 實驗結(jié)果對比,可以看出后者的識別效果更好。這是因為CNN 可以進行字符級別的特征提取,提高了模型的識別結(jié)果。相比于增加CNN,本文方法融合了注意力機制,強化了當前信息與上下文信息之間潛在的語義關(guān)聯(lián)性,能夠捕捉到文本間的潛在語義特征,提高了模型的準確率。此外,還引入了表征能力更強的BERT 模型,使得本文方法在中文命名實體任務(wù)上取得了較高的F1 值。
針對目前深度學(xué)習(xí)方法無法表征一詞多義且未能充分挖掘文本潛在語義特征的問題,提出了融合注意力機制的BERT-BiLSTM-CRF 中文命名實體識別方法,BERT 作為預(yù)訓(xùn)練語言模型,不僅可以獲取詞語或字符級別的特征信息,而且還可以挖掘句法結(jié)構(gòu)及語義信息;加入注意力機制,使模型更專注于與當前輸出有關(guān)的信息,捕捉文本的潛在語義信息。實驗表明,此方法使得P、R、F1值均有了較大的提升,在命名實體識別上具有較好的識別效果。但是命名實體識別任務(wù)仍有提升空間。比如,實驗的語料庫規(guī)模較小。因此,下一步工作是解決語料規(guī)模較小的問題,對語料庫進行數(shù)據(jù)增強,以進一步提升命名實體的識別效果,展示出該模型具有較好的通用性,可移植性較好。