李軍懷,陳苗苗,王懷軍,崔穎安,張愛華
(1.西安理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,西安 710048;2.中鋁薩帕特種鋁材(重慶)有限公司,重慶 401326)
命名實(shí)體識(shí)別(Named Entity Recognition,NER)是指從大量待處理文本中識(shí)別出人名、地名、組織機(jī)構(gòu)名等具有特殊意義的一類名詞,又稱為實(shí)體抽取,是信息獲取、知識(shí)圖譜構(gòu)建、問答系統(tǒng)、機(jī)器翻譯、信息檢索等任務(wù)的基礎(chǔ)[1]。命名實(shí)體識(shí)別方法主要分為基于詞典和規(guī)則、基于傳統(tǒng)機(jī)器學(xué)習(xí)、結(jié)合深度學(xué)習(xí)和機(jī)器學(xué)習(xí)3 類。2016 年,XIE 等[2]提出結(jié)合人工編寫規(guī)則和啟發(fā)式算法的命名實(shí)體識(shí)別方法,實(shí)現(xiàn)了從大量非結(jié)構(gòu)化文本中抽取公司名稱。依賴規(guī)則的命名實(shí)體識(shí)別方法一方面對人力需求大,另一方面規(guī)則的不通用性導(dǎo)致方法泛化能力較差。在NER 任務(wù)中所應(yīng)用的機(jī)器學(xué)習(xí)方法包括最大熵馬爾可夫模型(Maximum Entropy Markov Models,MEMM)[3]、條件隨機(jī)場(Conditional Random Field,CRF)[4]等。MEMM 條件概率統(tǒng)計(jì)采用建立聯(lián)合概率的方式,局部歸一化導(dǎo)致結(jié)果容易陷入局部最優(yōu)。CRF 在統(tǒng)計(jì)全局概率、位置標(biāo)記的同時(shí)利用內(nèi)部特征和序列信息,解決了MEMM 容易陷入局部最優(yōu)的問題。深度學(xué)習(xí)技術(shù)的廣泛應(yīng)用使得NER 任務(wù)幾乎不再需要人工特征。2011年,COLLOBERT 等[5]提出基于神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別方法,該方法對每個(gè)單詞給定固定大小窗口,而未考慮長距離詞之間的信息。2016 年,CHIU 等[6]提出雙向LSTM-CNNs 模型克服了神經(jīng)網(wǎng)絡(luò)的限制。同年,MA 等[7]將模型進(jìn)一步優(yōu)化為BiLSTM-CNNs-CRF,通過加入CRF 模塊以減少錯(cuò)誤標(biāo)簽序列的輸出。
由于中文表述與英文表述有所區(qū)別,不存在空格、首字母大寫等明確標(biāo)識(shí)分詞的符號(hào)并且存在實(shí)體嵌套、英文縮寫、表述不規(guī)范等問題,因此給中文命名實(shí)體識(shí)別帶來了巨大挑戰(zhàn)。本文提出一種基于ALBERT-雙向門控循環(huán)單元(Bidirectional Gated Recurrent Unit,BGRU)-CRF 的中文命名實(shí)體識(shí)別方法,在ALBERT 層對輸入文本完成詞嵌入獲取動(dòng)態(tài)詞向量以解決一詞多義的問題,在BGRU 層進(jìn)一步學(xué)習(xí)長距離語義信息,在CRF 層進(jìn)行解碼并完成實(shí)體識(shí)別任務(wù)。
預(yù)訓(xùn)練語言模型是已訓(xùn)練完成具有對應(yīng)參數(shù)的深層網(wǎng)絡(luò)結(jié)構(gòu),利用大規(guī)模無標(biāo)注語料訓(xùn)練得到,通常作為一個(gè)模塊應(yīng)用于下游任務(wù)。
2013 年,MIKOLOV 等[8]提出用于表征文本的Word2Vec 詞向量技術(shù)。Word2Vec 將詞轉(zhuǎn)化為向量,所提取特征是上下文無關(guān)的,對于下游任務(wù)的支撐作用有限。2018 年,PETERS 等[9]提出ELMo 預(yù)訓(xùn)練語言模型。ELMo 內(nèi)部采用雙向LSTM 有效捕捉上下文語義,提取文本深層特征,基于大量文本訓(xùn)練得到針對下游任務(wù)的通用語言模型,解決了靜態(tài)詞向量無法理解一詞多義的問題。2019 年,DEVLIN等[10]提出的BERT 動(dòng)態(tài)預(yù)訓(xùn)練語言模型成為自然語言處理領(lǐng)域的重要里程碑,其在多個(gè)典型下游任務(wù)中取得較好效果。同年,谷歌發(fā)布了BERT 的改進(jìn)模型ALBERT[11],該模型參數(shù)更少且效果與BERT相當(dāng)。本文方法基于ALBERT 預(yù)訓(xùn)練語言模型。
中文命名實(shí)體識(shí)別任務(wù)的難點(diǎn)在于:1)區(qū)別于英文,不存在空格、首字母大寫等明確標(biāo)識(shí)分詞的符號(hào),增加了分詞難度;2)表述多元化,常出現(xiàn)字母縮寫、中英文交替等表述,其中英文描述會(huì)干擾中文命名實(shí)體識(shí)別。當(dāng)前針對中文命名實(shí)體識(shí)別任務(wù)多數(shù)采用結(jié)合機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的方法。
2016 年,劉玉嬌等[12]采用深度學(xué)習(xí)的命名實(shí)體識(shí)別方法,通過卷積自編碼器提取文本特征對中文微博語料庫進(jìn)行命名實(shí)體識(shí)別。2017 年,張海楠等[13]基于深度神經(jīng)網(wǎng)絡(luò)結(jié)合字特征和詞特征,針對1998 人民日報(bào)標(biāo)注語料庫進(jìn)行人名、地名和機(jī)構(gòu)名識(shí)別,識(shí)別結(jié)果F1 值達(dá)到93.3%。2018 年:李雁群等[14]提出一種從中文維基百科條目中自動(dòng)構(gòu)建中文嵌套命名實(shí)體識(shí)別語料庫的方法;JIA 等[15]使用深度神經(jīng)網(wǎng)絡(luò)與機(jī)器學(xué)習(xí)相結(jié)合的方法構(gòu)建CNNBiLSTM-CRF 模型完成中文命名實(shí)體識(shí)別任務(wù),在MSRA 數(shù)據(jù)集上F1 值達(dá)到90.95%;ZHANG 等[16]提出基于Lattice LSTM 模型的識(shí)別方法,在特征提取時(shí)利用字序列關(guān)系有效避免了分詞錯(cuò)誤的影響,該方法在微博、MSRA、OntoNotes 等數(shù)據(jù)集上F1 值均有所提升,在resume 數(shù)據(jù)集上F1 值達(dá)到94.46%;王蕾等[17]采用深度學(xué)習(xí)片段神經(jīng)網(wǎng)絡(luò)完成實(shí)體邊界標(biāo)注及分類,該方法在MSRA 數(shù)據(jù)集上總體F1 值達(dá)到90.44%。2019 年,石春丹等[18]提出基于BGRU-CRF的中文命名實(shí)體識(shí)別方法,充分利用潛在詞特征和上下文信息,在MSRA 和OntoNotes 數(shù)據(jù)集上F1 值均有所提升。2020 年:趙豐等[19]基于CNN 和注意力機(jī)制提出基于局部注意力卷積的嵌入算法以降低中文命名實(shí)體識(shí)別任務(wù)對分詞的依賴,該方法在MSRA、微博和軍事文本數(shù)據(jù)集上F1 值均有所提升;李妮等[20]提出一種基于BERT 預(yù)訓(xùn)練語言模型結(jié)合IDCNN 和CRF 的方法,該方法在MSRA 數(shù)據(jù)集上F1值達(dá)到94.41%,且模型訓(xùn)練時(shí)間大幅縮短。
現(xiàn)有研究主要存在2 個(gè)問題:1)多數(shù)方法僅提取字符或詞級別特征,而忽略長距離語義信息,導(dǎo)致無法提取文本語義信息;2)早期詞嵌入工具生成靜態(tài)詞向量,導(dǎo)致無法處理一詞多義的問題。針對以上2 個(gè)問題,本文提出一種基于ALBERT-BGRUCRF 模型的中文命名實(shí)體識(shí)別方法。該方法采用ALBERT 完成詞嵌入以獲取動(dòng)態(tài)詞向量,經(jīng)過BGRU 學(xué)習(xí)上下文語義特征,并使用CRF 降低錯(cuò)誤標(biāo)簽輸出概率。
傳統(tǒng)深度學(xué)習(xí)模型較多關(guān)注字符和詞級別特征,而忽略長距離語義信息,導(dǎo)致無法提取語義信息和解決一詞多義的問題。ALBERT 模型獲取動(dòng)態(tài)詞向量解決了一詞多義的問題,BGRU 捕捉雙向語義使得模型更深層理解文本語義信息。本文構(gòu)建的中文命名實(shí)體識(shí)別模型包括ALBERT 預(yù)訓(xùn)練語言模型、BGRU、CRF 等3 層,結(jié)構(gòu)如圖1 所示。
在ALBERT-BGRU-CRF 模型中,首先使用ALBERT 預(yù)訓(xùn)練語言模型對待處理文本進(jìn)行編碼完成詞嵌入,獲取動(dòng)態(tài)詞向量,然后采用BGRU 捕捉雙向語義,最終將拼接后的向量輸入至CRF 層并解碼,得到實(shí)體標(biāo)注信息,完成實(shí)體邊界及分類識(shí)別。對于文本“教育部新出臺(tái)”,經(jīng)過模型識(shí)別,為“教”標(biāo)注“B-ORG”標(biāo)簽表示組織機(jī)構(gòu)名的首字,為“育”和“部”標(biāo)注“I-ORG”標(biāo)簽表示組織機(jī)構(gòu)名的其他字符,文本中其他非實(shí)體字符均標(biāo)注“O”,識(shí)別結(jié)果為“教育部”是一個(gè)組織機(jī)構(gòu)名。
預(yù)訓(xùn)練語言模型通常體量大,千萬甚至億級別的參數(shù)量給訓(xùn)練帶來了較大困難。ALBERT 模型參數(shù)量遠(yuǎn)小于BERT 模型參數(shù)量。例如,在本文模型中所使用的albert_xlarge 參數(shù)量為60M,遠(yuǎn)小于bert_base 的參數(shù)量。ALBERT 主要在以下3 個(gè)方面做了改進(jìn):
1)嵌入向量參數(shù)因式分解
E表示詞向量大小,H表示隱藏層大小,在BERT、XLNet、RoBERTa等預(yù)訓(xùn)練語言模型中E≡H,若E和H始終相等,提升隱藏層大小H,則詞嵌入大小E也隨之提升,參數(shù)規(guī)模為O(V×H)。ALBERT 采用因式分解的方法來降低參數(shù)量,在詞嵌入后加入一個(gè)矩陣以完成維度變化,參數(shù)量從O(V×H)降低為O(V×E+E×H),當(dāng)H?E時(shí)參數(shù)量明顯減少。
2)跨層參數(shù)共享
ALBERT 采用跨層共享參數(shù)的方式,示意圖如圖2 所示。
圖2 跨層參數(shù)共享示意圖Fig.2 Schematic diagram of cross-layer parameter sharing
一般地,Transformer 每一層(Layer)參數(shù)均是相互獨(dú)立的,其中,多頭自注意力層(Multi-Head Attention)和前饋神經(jīng)網(wǎng)絡(luò)層(Feed Forward)參數(shù)也是相互獨(dú)立的,導(dǎo)致增加層數(shù)后參數(shù)量劇增。參數(shù)共享可采用僅跨層共享前饋神經(jīng)網(wǎng)絡(luò)參數(shù),也可僅共享注意力層參數(shù),ALBERT 模型則跨層共享(Shared)所有參數(shù),相當(dāng)于僅學(xué)習(xí)第一層參數(shù),在其他所有層中重用(Reuse)該層參數(shù),一方面減少了參數(shù)量,另一方面有效提升了模型穩(wěn)定性。
3)句間連貫性預(yù)測
ALBERT 提出一種句間連貫性預(yù)測(Sentence-Order Prediction,SOP)方法,正樣本表示與BERT 相同,是兩個(gè)連貫的語句,負(fù)樣本為原文中交換順序的兩個(gè)連貫句。SOP 中正負(fù)樣本選自同一文檔,僅關(guān)注句子之間的連貫性,避免主題影響,這使得模型在話語層面的學(xué)習(xí)具有更細(xì)粒度。
ALBERT-BGRU-CRF 模型將文本序列輸入至ALBERT 進(jìn)行編碼,將ALBERT 模型詞嵌入所得動(dòng)態(tài)詞向量作為BGRU 層的輸入。
門控循環(huán)單元(Gated Recurrent Unit,GRU)是新一代的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),與長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)類似,用以解決傳統(tǒng)RNN 梯度消失和梯度爆炸問題。與LSTM 的區(qū)別在于,GRU 不再采用單元狀態(tài)記錄或傳輸信息,利用隱藏狀態(tài)完成信息記錄及傳輸。更新門和重置門控制GRU 單元最終輸出信息,GRU 單元結(jié)構(gòu)如圖3 所示,其中,“+”表示加操作,“σ”表示Sigmoid 激活函數(shù),“×”表示Hadamard 乘積,“tanh”表示Tanh 激活函數(shù)。
圖3 GRU 單元結(jié)構(gòu)Fig.3 Structure of GRU unit
GRU 參數(shù)更新計(jì)算公式如下:
其中:zt為更新門的激活結(jié)果,以門控的形式控制信息的流入;xt為時(shí)間步t的輸入向量;Wz為權(quán)重矩陣;ht-1表示保存時(shí)間步t-1 的信息;rt為重置門激活結(jié)果,計(jì)算過程同更新門類似;Wr為權(quán)重矩陣;表示當(dāng)前時(shí)間步的記憶內(nèi)容;ht表示當(dāng)前時(shí)間步的最終記憶。
GRU 僅在一個(gè)方向上捕獲信息。BGRU 用于提取上下文信息,是雙向輸入的GRU。文本序列正向輸入至GRU 記錄“過去信息”,文本序列反向輸入至GRU 獲取“將來信息”,對兩者進(jìn)行拼接合并以達(dá)到提取上下文信息的目的。
BGRU 層提取上下文信息得到更深層次的語義理解,獲得發(fā)射分?jǐn)?shù)矩陣輸入至CRF 層。
CRF 是一種由輸入序列預(yù)測輸出序列的判別式模型,常見的條件隨機(jī)場是指在線性鏈上特殊的條件隨機(jī)場,線性鏈?zhǔn)綏l件隨機(jī)場結(jié)構(gòu)如圖4 所示。
圖4 線性鏈?zhǔn)綏l件隨機(jī)場結(jié)構(gòu)Fig.4 Structure of linear chain conditional random field
設(shè)兩組隨機(jī)變量X=(x1,x2,…,xn)和Y=(y1,y2,…,yn),線性鏈?zhǔn)綏l件隨機(jī)場定義如下:
其中:X為觀察狀態(tài);Y為隱藏狀態(tài)。X和Y具有相同結(jié)構(gòu)。
本文模型通過在CRF 中加入約束,以降低錯(cuò)誤標(biāo)簽的輸出概率。條件隨機(jī)場判別計(jì)算過程如下:
其中:score(s,w)表示綜合評估分?jǐn)?shù);P表示從BGRU層得到的發(fā)射分?jǐn)?shù)矩陣;A表示CRF 學(xué)習(xí)得到的轉(zhuǎn)移矩陣;p(w∣s)表示輸入序列與標(biāo)簽序列的對應(yīng)概率;Ws表示所有可能的標(biāo)簽序列。
CRF 層結(jié)合BGRU 層輸出的發(fā)射分?jǐn)?shù)矩陣和學(xué)習(xí)得到的轉(zhuǎn)移矩陣計(jì)算最終得分,得到輸入序列與對應(yīng)標(biāo)簽序列概率,通過維特比解碼獲得最優(yōu)序列標(biāo)注。
算法1 輸入為文本序列,輸出為標(biāo)簽序列。ALBERT 采用共享權(quán)值和分解矩陣的方式減少模型參數(shù),有效降低了空間復(fù)雜度,BGRU 由于自身特殊的門單元設(shè)置,通常收斂速度更快,CRF 采用維特比算法完成預(yù)測任務(wù),維特比算法利用動(dòng)態(tài)規(guī)劃求解最優(yōu)路徑降低復(fù)雜度。
實(shí)驗(yàn)使用微軟亞洲研究院公開的MSRA[21]數(shù)據(jù)集,其中標(biāo)注有人名(PER)、地名(LOC)、組織機(jī)構(gòu)名(ORG)三類實(shí)體。在實(shí)驗(yàn)過程中,訓(xùn)練集包含20 864 句語料,驗(yàn)證集包含2 318 句語料,測試集包含4 636 句語料。
命名實(shí)體識(shí)別又稱為序列標(biāo)注,常用的標(biāo)注策略包括BIO、BIOES、BMESO 等,本文實(shí)驗(yàn)過程中采用BIO 標(biāo)注策略。對于文本中的實(shí)體,實(shí)體開始字符標(biāo)注“B-Type”,實(shí)體其余字符標(biāo)注“I-Type”,非實(shí)體字符標(biāo)注“O”。
采用準(zhǔn)確率(P)、召回率(R)和F1 值(F1)作為評價(jià)指標(biāo)[22-23],其中,P表示正確識(shí)別的實(shí)體占全部識(shí)別出實(shí)體的比率,R表示正確識(shí)別的實(shí)體占應(yīng)識(shí)別實(shí)體的比率,F(xiàn)1是結(jié)合了P和R的綜合評價(jià)指標(biāo),具體計(jì)算過程如下:
其中:Tp表示模型識(shí)別的正確實(shí)體數(shù)量;Fp表示模型識(shí)別的錯(cuò)誤實(shí)體數(shù)量;Fn表示模型未識(shí)別出的實(shí)體數(shù)量。
實(shí)驗(yàn)訓(xùn)練過程的環(huán)境配置如表1 所示。
表1 實(shí)驗(yàn)環(huán)境配置Table 1 Experimental environment configuration
在訓(xùn)練過程中,使用Adam 優(yōu)化器,輸入文本最大長度為202,為防止過擬合設(shè)置Dropout 取0.5,具體參數(shù)設(shè)置如表2 所示。
表2 實(shí)驗(yàn)參數(shù)設(shè)置Table 2 Experimental parameter setting
ALBERT-BGRU-CRF 模型在MSRA 數(shù)據(jù)集上的各類實(shí)體識(shí)別結(jié)果如表3 所示。
表3 命名實(shí)體識(shí)別結(jié)果Table 3 Named entity recognition results %
由表3 可知,本文方法在各類實(shí)體中均有較高的準(zhǔn)確率,ALBERT-BGRU-CRF 模型結(jié)合上下文語義信息取得良好效果,針對人名的識(shí)別F1 值最高。ALBERT-BGRU-CRF 模型對于組織機(jī)構(gòu)名的識(shí)別準(zhǔn)確率、召回率偏低,主要原因?yàn)椋?)存在組織機(jī)構(gòu)名與地名歧義,例如句子“出席越秀藝苑和越秀書店開業(yè)典禮時(shí)”中“越秀藝苑”被標(biāo)注為組織機(jī)構(gòu)名,而模型識(shí)別其為地名,此類歧義表述導(dǎo)致識(shí)別率較低;2)組織機(jī)構(gòu)名與地名存在大量嵌套,例如句子“陜西省銅川市商務(wù)局一位叫張寶玲的下崗女工在培訓(xùn)結(jié)束時(shí)”,其中“陜西省銅川市商務(wù)局”被標(biāo)注為組織機(jī)構(gòu)名,模型則識(shí)別“陜西省”為地名、“銅川市商務(wù)局”為組織機(jī)構(gòu)名,此類嵌套描述也是影響模型準(zhǔn)確率的原因之一。
為了驗(yàn)證ALBERT-BGRU-CRF 模型的有效性,設(shè)置對比實(shí)驗(yàn)。ALBERT-BGRU-CRF 模型與其他模型的命名實(shí)體識(shí)別結(jié)果對比如表4 所示。
表4 不同模型命名實(shí)體識(shí)別結(jié)果對比Table 4 Comparison of named entity recognition results of different models %
由表4 可知:CNN-BiLSTM-CRF 模型、片段神經(jīng)網(wǎng)絡(luò)模型和Lattice-LSTM-CRF 模型與BERTIDCNN-CRF 模型對比發(fā)現(xiàn),基于BERT 對文本進(jìn)行詞嵌入后識(shí)別效果更佳,本文模型采用ALBERT 完成詞嵌入獲取動(dòng)態(tài)詞向量,ALBERT 在保證識(shí)別效果的基礎(chǔ)上參數(shù)量僅約為BERT 的1/2;Lattice-LSTM-CRF 模型與BGRU-CRF 模型對比發(fā)現(xiàn),BGRU 通過對上下文語義更深層的理解有效提高了命名實(shí)體識(shí)別的F1 值;ALBERT-BGRU-CRF 模型相比于其他模型F1 值最高,相比于片段神經(jīng)網(wǎng)絡(luò)模型的F1 值提升了4.43 個(gè)百分點(diǎn),相比于CNNBiLSTM-CRF 模型F1 值提升了3.78 個(gè)百分點(diǎn)。
本文提出一種用于中文命名實(shí)體識(shí)別的ALBERT-BGRU-CRF 模型,使用ALBERT 預(yù)訓(xùn)練語言模型對待處理文本進(jìn)行編碼完成詞嵌入并獲取動(dòng)態(tài)詞向量,解決了一詞多義的問題,同時(shí)結(jié)合BGRU有效利用序列信息,使ALBERT-BGRU-CRF 模型能進(jìn)一步理解上下文語義。實(shí)驗(yàn)結(jié)果表明,ALBERTBGRU-CRF 模型相比于傳統(tǒng)命名實(shí)體識(shí)別模型準(zhǔn)確率、召回率和F1 值均有所提升,并且在采用ALBERT 保留BERT 性能的同時(shí),參數(shù)量僅約為BERT 的1/2,降低了模型訓(xùn)練過程中對內(nèi)存等硬件設(shè)備的要求。由于ALBERT-BGRU-CRF 模型對于歧義實(shí)體和嵌套實(shí)體識(shí)別準(zhǔn)確率較低,因此后續(xù)將從細(xì)化和完善實(shí)體標(biāo)記規(guī)則以及更深層的語義學(xué)習(xí)等方面做進(jìn)一步優(yōu)化。