史占堂,馬玉鵬,趙凡,馬博
(1.中國(guó)科學(xué)院新疆理化技術(shù)研究所,烏魯木齊 830011;2.中國(guó)科學(xué)院大學(xué),北京 100049;3.新疆民族語音語言信息處理實(shí)驗(yàn)室,烏魯木齊 830011)
命名實(shí)體識(shí)別(Named Entity Recognition,NER)是自然語言處理(Natural Language Processing,NLP)中的基礎(chǔ)任務(wù),包括關(guān)系抽?。≧elation Extraction,RE)[1]、事件抽取(Event Extraction,EE)[2]以及實(shí)體鏈接(Entity Link,EL)[3]等下游任務(wù),旨在給定的文本中判定相應(yīng)實(shí)體的類型和該實(shí)體對(duì)應(yīng)的左右邊界。近些年,隨著計(jì)算機(jī)運(yùn)算能力的快速提高,深度學(xué)習(xí)成為命名實(shí)體識(shí)別的主流研究方法,并將命名實(shí)體識(shí)別轉(zhuǎn)化為序列標(biāo)注任務(wù)。由于中文詞之間不存在潛在的分隔符,并且中文命名實(shí)體的邊界是詞的邊界,因此最初中文命名實(shí)體識(shí)別將分詞作為核心,并以詞作為深度學(xué)習(xí)序列標(biāo)注模型的輸入,但該方式存在未登錄詞以及分詞錯(cuò)誤的問題,使得基于字嵌入的方式成為中文命名實(shí)體識(shí)別領(lǐng)域深度學(xué)習(xí)序列標(biāo)注模型編碼層的主流嵌入方式。
在基于深度學(xué)習(xí)的中文命名實(shí)體識(shí)別方法中,長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)[4]網(wǎng)絡(luò)是應(yīng)用較廣泛的特征提取器,但是存在不能充分利 用GPU 并行計(jì)算的問 題。ZHANG等[5]提出的Lattice LSTM 通過添加詞典信息在提高準(zhǔn)確率的同時(shí)進(jìn)一步增加了模型訓(xùn)練和測(cè)試時(shí)間?;诙囝^自注意力機(jī)制的Transformer[6]的提出緩解了LSTM 存在的問題,并在多種自然語言處理任務(wù)中取得了優(yōu)異表現(xiàn),逐漸取代了LSTM 成為自然語言處理領(lǐng)域主流的特征提取器,但是YAN等[7]的實(shí)驗(yàn)結(jié)果表明Transformer 在命名實(shí)體識(shí)別領(lǐng)域表現(xiàn)欠佳。
本文結(jié)合Transformer 編碼器和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[8],提出一種用于中文命名實(shí)體識(shí)別的CHTE(CNN-Head Transformer Encoder)模型。在多頭注意力機(jī)制中根據(jù)不同窗口大小的CNN[8]增強(qiáng)模型的局部特征和潛在詞信息表示,并且利用門控殘差連接融合自適應(yīng)特征以進(jìn)一步提高識(shí)別準(zhǔn)確率。
在Transformer 未被提出之前,LSTM 作為自然語言處理領(lǐng)域主流的特征提取器被廣泛用于命名實(shí)體識(shí)別任務(wù)。HUANG等[9]使用Bi-LSTM 和條件隨機(jī)場(chǎng)[10](Conditional Random Field,CRF)進(jìn)行命名實(shí)體識(shí)別。PENG等[11]標(biāo)注了中文社交媒體數(shù)據(jù)集Weibo,并使用Bi-LSTM 和CRF 在該數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。MA等[12]使用CNN 獲取單詞的形態(tài)學(xué)特征并結(jié)合單詞的詞嵌入,通過Bi-LSTM 和CRF 進(jìn)行序列標(biāo)注。針對(duì)LSTM 不能充分利用GPU 并行計(jì)算的問題,STRUBELL等[13]提出基于CNN 的ID-CNNs 模型,由于CNN 僅能獲取固定范圍內(nèi)的局部特征,因此該模型通過對(duì)CNN 的堆疊逐層增加CNN 的感受野,使其獲取全局語義信息,在保障相當(dāng)F 值的情況下減少了運(yùn)算時(shí)間。
依據(jù)中文命名實(shí)體的邊界是詞的邊界,LIU等[14]將中文分詞(Chinese Word Segmentation,CWS)作為中文命名實(shí)體識(shí)別的首要任務(wù),但此方法存在分詞錯(cuò)誤以及未登錄詞的問題。為了緩解該問題,CAO等[15]依據(jù)NER 和CWS 之間的關(guān)聯(lián)關(guān) 系,利用兩種任務(wù)對(duì)抗學(xué)習(xí)的方式提高NER 性能。ZHANG等[5]通過外部詞典并在字級(jí)別模型的基礎(chǔ)上提出添加待抽取句中所有可能詞特征的Lattice LSTM,但由于一個(gè)字可能匹配多個(gè)詞造成實(shí)體識(shí)別錯(cuò)誤的問題。GUI等[16]提出基于CNN 的模型,該模型通過重考慮機(jī)制自適應(yīng)地融合句子中可能的詞信息緩解了這一問題。此外,針對(duì)中文為象形文字特點(diǎn),MENG等[17-18]提出使用CNN 提取中文字形信息的命名實(shí)體識(shí)別方法。張棟等[19]通過將每個(gè)字符拆解為五筆表示來獲取字形特征,增強(qiáng)模型語義信息。盡管LSTM 被廣泛應(yīng)用于命名實(shí)體識(shí)別任務(wù),但只能進(jìn)行單方向建模獲取單方向語義信息,即使通過雙向LSTM 也只是將左右分別獲取的單向特征進(jìn)行拼接,無法完全捕獲上下文語義信息。
VASWANI等[6]將基于多頭自 注意力機(jī)制的Transformer 模型用于機(jī)器翻譯(Machine Translation,MT)領(lǐng)域,該模型較好地緩解了LSTM 無法充分利用GPU 并行計(jì)算以及獲取上下文語義信息的問題,使其在自然語言處理領(lǐng)域取得了優(yōu)異表現(xiàn)。在中文命名實(shí)體識(shí)別任務(wù)中,針對(duì)Tansformer 在注意力頭的計(jì)算過程中會(huì)丟失方向和相對(duì)位置的問題,司逸晨等[20]提出一種能夠保留相對(duì)位置和方向信息注意力頭的計(jì)算方法,并將詞級(jí)別的特征拼接到嵌入層字級(jí)別的特征中增強(qiáng)語義表示。XUE等[21]提出PLTE(Porous Lattice Transformer Encoder)模型,該模型中添加了詞級(jí)別的嵌入特征以及定義了7 種token 之間的相對(duì)位置關(guān)系并對(duì)每個(gè)token 的位置進(jìn)行編碼,同時(shí)使用Porous 對(duì)自注意力機(jī)制進(jìn)行限制。但是,在PLTE 中相對(duì)位置關(guān)系的編碼方式不能還原出token 之間真實(shí)的位置信息,因此這種位置編碼方式導(dǎo)致了位置信息的丟失。針對(duì)這一問題,LI等[22]提出使用每個(gè)詞頭和詞尾的絕對(duì)位置來編碼任意兩個(gè)token之間相對(duì)位置信息的FLAT(FLATlattice Transformer)模型。上述將詞典信息添加到Transformer 的方法同樣存在一字多詞的問題,而且還會(huì)增加額外的存儲(chǔ)以及詞典匹配時(shí)間。
本文在不使用外部詞典和分詞工具的情況下,利用Transformer 和CNN 在捕獲全局語義信息和局部特征以及潛在詞信息方面的優(yōu)勢(shì),通過在多個(gè)注意力頭中融入CNN 充分捕獲全局語義信息并增強(qiáng)模型的局部特征以及潛在的詞信息表示,同時(shí)應(yīng)用自適應(yīng)的門控殘差連接融合當(dāng)前層和子層特征,從而提升Transformer 在命名實(shí)體識(shí)別領(lǐng)域的性能表現(xiàn)。
本文提出的CHTE 模型架構(gòu)如圖1 所示,其中Q、K、V分別表示Tansformer中的Query、Key和Value 向量。該模型主要分為嵌入層、編碼層以及解碼層3 個(gè)部分,首先將輸入的文本通過嵌入層獲取字級(jí)別的詞嵌入的向量表示,并在其中添加位置編碼特征向量增強(qiáng)模型的位置信息,然后通過編碼層獲取增強(qiáng)局部特征的輸入文本的上下文表示,最后通過解碼層對(duì)輸入文本進(jìn)行序列標(biāo)注。
圖1 CHTE 模型整體架構(gòu)Fig.1 Overall architecture of CHTE model
在中文命名實(shí)體識(shí)別領(lǐng)域,當(dāng)前主要的詞嵌入方式為字級(jí)別、詞級(jí)別以及兩者融合的嵌入方式。詞級(jí)別的嵌入方式存在分詞錯(cuò)誤以及未登錄詞的問題,字詞融合的嵌入方式則會(huì)增加存儲(chǔ)以及詞典匹配時(shí)間。因此,本文使用字級(jí)別的詞嵌入方式。
本文使用文獻(xiàn)[5]中預(yù)訓(xùn)練的字級(jí)別詞向量,假設(shè)模型的輸入為s=(c1,c2,…,cn),其中cj表示輸入句子s的第j個(gè)字,通過查表操作獲取該字的特征表示為=[ec(cj);eb(cj,cj+1);eb(cj-1,cj)],其中,[;]表示向量的拼接,ec為字級(jí)別特征的查表操作,eb為bi-gram的查表操作,eb(cj,cj+1)表示以第j個(gè)字開始的bigram 特征,eb(cj-1,cj)表示以第j個(gè)字結(jié)束的bi-gram特征。使用Transformer 中的位置編碼方式,獲取位置j的位置編碼特征,并將字級(jí)別的特征和位置特征相加得到嵌入層對(duì)文本句子的特征表示:
Transformer 作為使用多頭自注意力機(jī)制的特征提取模型,緩解了RNN 無法充分利用GPU 平行計(jì)算以及長(zhǎng)距離文本依賴的問題。本文依據(jù)其在實(shí)體識(shí)別任務(wù)中不能充分獲取局部特征,對(duì)Transformer Encoder 中的多頭自注意力機(jī)制進(jìn)行改進(jìn),在保留2 個(gè)注意力頭不變的情況下,將剩余6 個(gè)注意力頭的Value 向量分別使用不同窗口大小的CNN 獲取。注意力頭的計(jì)算如式(2)~式(4)所示。保留原始Transformer 的2 個(gè)注意力頭中Vl的計(jì)算如式(5)所示。剩余6 個(gè)注意力頭首先使用dh個(gè)卷積核獲取第j個(gè)字對(duì)應(yīng)窗口大小為l的局部特征,然后通過池化層進(jìn)行步長(zhǎng)為2 的最大池化操作得到該字的特征表示,并利用滑動(dòng)窗口獲取每個(gè)注意力頭中的Vc,計(jì)算公式如式(6)、式(7)所示。
其中:Wc,bc分別為卷積操作的卷積核以及偏移;表示向下取整操作。
將2 個(gè)線性注意力頭和6 個(gè)CNN 注意力頭得到的結(jié)果進(jìn)行拼接,獲得自注意力層對(duì)文本的特征表示=[Att(A,Vl);…;Att(A,Vc)],Transformer 中使用殘差連接是為了將子層特征Xs和當(dāng)前層特征直接相加,這種直接相加的方式賦予兩個(gè)特征相同的權(quán)重,不能自適應(yīng)地選擇子層和當(dāng)前層中對(duì)實(shí)體識(shí)別重要的特征信息。本文提出的門控殘差連接通過在殘差連接中融入門控機(jī)制,即首先通過門控機(jī)制計(jì)算門控得分G,然后通過該得分自適應(yīng)子層特征和當(dāng)前層特征(如式(8)、式(9)所示),之后將門控殘差連接的結(jié)果進(jìn)行歸一化,最后分別通過前饋神經(jīng)網(wǎng)絡(luò)層、門控殘差連接以及歸一化操作后和嵌入層的特征Xs進(jìn)行拼接,得到輸入序列s最終的特征表示U(如式(10)所示)。
其中:為殘差連接的輸出。
其中:uj表示句子中第j個(gè)字經(jīng)過編碼層后的最終特征表示。
在基于深度學(xué)習(xí)的命名實(shí)體識(shí)別中,CRF 成為主流解碼器,將實(shí)體識(shí)別問題轉(zhuǎn)化為序列標(biāo)注問題,通過狀態(tài)轉(zhuǎn)移概率來限制相鄰標(biāo)簽之間的關(guān)系,進(jìn)一步提高了命名實(shí)體識(shí)別的準(zhǔn)確率。本文使用CRF作為模型的解碼器,對(duì)于輸入句s=(c1,c2,…,cn)標(biāo)記為Y=(y1,y2,…,yn)的概率計(jì)算如式(11)所示:
其中:為對(duì)應(yīng)于uj的可訓(xùn)練權(quán)重參數(shù)為yj-1~yj的狀態(tài)轉(zhuǎn)移得分;Y′為輸入句s所有可能的標(biāo)記序列,通過Viterbi 算法查找最終的標(biāo)記序列;Y為真實(shí)標(biāo)記。
本文提出的CHTE 模型的損失函數(shù)是將概率p(Y|s)最大化,如式(12)所示:
選取Weibo 和Resume 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),其中Weibo 數(shù)據(jù)集[11,23]是從社交媒體新浪微博獲取并標(biāo)注的數(shù)據(jù)集,Resume 數(shù)據(jù)集[5]是從新浪金融網(wǎng)頁(yè)中獲取并標(biāo)注的來自中國(guó)股票市場(chǎng)上市公司高級(jí)管理人員的簡(jiǎn)歷數(shù)據(jù)集。本文采用文獻(xiàn)[5]中的數(shù)據(jù)集劃分方式,詳細(xì)的數(shù)據(jù)集統(tǒng)計(jì)信息如表1 所示。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息Table 1 Dataset statistics
采用BMESO(Begin,Middle,End,Single,Outside)進(jìn)行序列標(biāo)注,使用精確率、召回率、F1 值作為評(píng)估指標(biāo),在使用預(yù)訓(xùn)練詞嵌入和BERT 預(yù)訓(xùn)練語言模型兩種情況下進(jìn)行實(shí)驗(yàn)。通過驗(yàn)證集對(duì)模型中超參數(shù)進(jìn)行調(diào)整,為防止過擬合,嵌入層和全連接層中的Dropout 分別設(shè)定為0.3 和0.2,注意力頭中CNN 的窗口大小設(shè)定為(2,3,4,5,6,7),Batch 設(shè)定為16。依據(jù)FLAT 給定的注意力頭的維度范圍進(jìn)行調(diào)整,并將前饋層的維度使用和Transformer 相同的設(shè)定,即8 個(gè)注意力頭維度和的3 倍。在使用預(yù)訓(xùn)練詞嵌入的情況下,需要重新學(xué)習(xí)模型的參數(shù),因此學(xué)習(xí)率設(shè)定為1e-3。在Weibo 數(shù)據(jù)集中每個(gè)注意力頭的維度設(shè)置為16,前饋層的維度設(shè)置為384,在Resume 數(shù)據(jù)集中兩者分別設(shè)置為18 和432。在使用BERT 預(yù)訓(xùn)練語言模型的情況下,在BERT 的基礎(chǔ)上微調(diào),因此學(xué)習(xí)率設(shè)定為4e-5,當(dāng)以BERT 作為嵌入層時(shí),通過實(shí)驗(yàn)發(fā)現(xiàn)若輸入CHTE 模型的維度小于768 時(shí)性能會(huì)下降,因此為了保持模型的性能以及計(jì)算量將模型的輸入維度設(shè)定為768,即每個(gè)注意力頭維度設(shè)置為96,前饋層的維度設(shè)置為2 048。
本文分別與使用外部詞典的命名實(shí)體識(shí)別模型、未使用外部詞典的命名實(shí)體識(shí)別模型以及基于BERT 的命名實(shí)體識(shí)別模型進(jìn)行比較。以未使用外部詞典的命名實(shí)體識(shí)別模型TENER、使用外部詞典的命名實(shí)體識(shí)別模型Lattice LSTM 以及預(yù)訓(xùn)練語言模型BERT 作為基礎(chǔ)模型。使用與文獻(xiàn)[5]相同的預(yù)訓(xùn)練字向量和詞典YJ,對(duì)比實(shí)驗(yàn)數(shù)據(jù)均來自各模型的原文獻(xiàn)。
3.3.1 對(duì)比模型選取
對(duì)比模型主要分為基于詞嵌入的命名實(shí)體識(shí)別模型和基于字嵌入的命名實(shí)體識(shí)別模型兩類。除了Word-based 和+char+bichar LSTM 是基于詞嵌入的命名實(shí)體識(shí)別模型以外,其他均是基于字嵌入的命名實(shí)體識(shí)別模型,其中,+bichar+softword 是在charbased 模型上添加了bi-gram 潛入特性以及分詞標(biāo)記特征,Lattice LSTM、FLAT 是添加了詞典信息且識(shí)別效果較好的模型,CAN-NER 和TENER 是未使用詞典但效果較好的模型,F(xiàn)LAT 和TENER 是基于Transformer Encoder 的變換模型,F(xiàn)GN 是基于BERT的效果較好的模型。本文選取以上對(duì)比模型是為了說明本文提出的CHTE 模型在使用和未使用BERT作為嵌入層的情況下都能得到較好的識(shí)別結(jié)果。對(duì)比模型具體描述如下:
1)Word-based:以詞作為嵌入的基本單位,并以Bi-LSTM、CRF 作為編碼器和解碼器。
2)+char+bichar LSTM:將字級(jí)別特征以及bi-gram字級(jí)別特征作為Bi-LSTM 的輸入,并將字級(jí)別特征和對(duì)應(yīng)詞級(jí)別的特征拼接作為解碼器CRF 的輸入。
3)Char-based:對(duì)單個(gè)字進(jìn)行嵌入,未使用詞典信息。使用Bi-LSTM 作為編碼器,CRF 作為解碼器。
4)+bichar+softword:在字級(jí)別詞嵌入的基礎(chǔ)上添加了bi-gram 嵌入特征以及分詞標(biāo)記的嵌入特征。
5)Lattice LSTM:以字作為嵌入的基本單位,并將所有出現(xiàn)在詞典中的詞嵌入添加到序列中以該詞開始和結(jié)尾的兩個(gè)字中。使用Bi-LSTM 和CRF 作為編碼器和解碼器。
6)FLAT:將輸入句子中存在的所有可能的詞信息的相對(duì)位置跨度編碼融入到Transformer 的多頭注意力計(jì)算中。
7)CAN-NER[24]:使用卷積注意力獲取字級(jí)別特征,并使用GRU 和全局自注意力機(jī)制獲取相鄰字的特征。
8)TENER[7]:針對(duì)Transformer 對(duì)位置不敏感的問題,提出一種能夠捕獲方向和位置的注意力計(jì)算方式,通過位置信息能夠進(jìn)一步增強(qiáng)命名實(shí)體識(shí)別的效果。
9)FGN[18]:將BERT 獲取的字級(jí)別特征中融入通過CNN 獲取的有助于實(shí)體識(shí)別的字形特征,并將LSTM+CRF 作為解碼器。
3.3.2 基于預(yù)訓(xùn)練詞嵌入的模型性能對(duì)比
在Weibo 和Resume 數(shù)據(jù)集上的命名實(shí)體識(shí)別結(jié)果如表2 所示,其中,最優(yōu)指標(biāo)值用加粗字體標(biāo)示,N 表示未使用外部詞典。在Weibo 數(shù)據(jù)集上,Char-based 模型相較于Word-based 模型的F1 值提高了5.44 個(gè)百分點(diǎn),在Char-based 模型中添加2-gram 的字級(jí)別詞嵌入和分詞標(biāo)記的特征信息后得到+bichar+softword 模型,其F1 值相較于Char-based 模型提升了3.98 個(gè)百分點(diǎn),在Word-based模型中添加了字級(jí)別特征表示后的+char+bichar LSTM 模型的性能顯著提高,但其F1 值還是低于Char-based 模型0.44 個(gè)百分點(diǎn),本文CHTE 模型相較于未使用詞典的TENER 模型的F1 值提高了4.39 個(gè)百分點(diǎn),相較于使用詞典的Lattice LSTM 模型的F1 值提高了3.77 個(gè)百分點(diǎn),相較于融合外部詞典的FLAT 模型的F1 值提高了2.24 個(gè)百分點(diǎn)。在Resume 數(shù)據(jù)集中,CHTE 模型相較于未使用詞典的TENER 模型的F1 值提高了0.76個(gè)百分點(diǎn),相較于使用詞典的Lattice LSTM模型的F1 值提高了1.30 個(gè)百分點(diǎn),相較于融合外部詞典的FLAT 模型的F1 提高了0.31 個(gè)百分點(diǎn)。
由表2 可以看出,CHTE 模型在Weibo 數(shù)據(jù)集上的提升效果明顯優(yōu)于Resume 數(shù)據(jù)集,導(dǎo)致這一結(jié)果的原因可能為Weibo 作為社交媒體數(shù)據(jù)存在大量不規(guī)則語法、句法以及字丟失的文本內(nèi)容,使得外部詞典不能很好地匹配文本,引入錯(cuò)誤的詞信息,致使添加詞典信息的模型在該數(shù)據(jù)集中的表現(xiàn)欠佳,而CHTE 模型使用CNN 在不需要匹配詞典的情況下獲取潛在的詞信息,因此在Weibo 數(shù)據(jù)集上的識(shí)別性能更好。
表2 在Weibo和Resume數(shù)據(jù)集上的命名實(shí)體識(shí)別結(jié)果1Table 2 Named entity recognition results 1 of the Weibo and Resume datasets %
3.3.3 消融實(shí)驗(yàn)分析
如表3 所示,在Weibo 數(shù)據(jù)集上對(duì)CHTE 模型各模塊進(jìn)行分析,其中,add 表示CHTE 模型使用直接相加的殘差連接方式,wo cat 表示CHTE 模型的編碼層輸出不拼接嵌入層特征,all CNN-Head 表示在所有注意力頭中使用CNN,wo CNN-Head 表示使用原始Transformer 中注意力頭的計(jì)算方式。相較于Transformer Encoder 直接相加的方式,使用本文提出的門控殘差連接后F1 值提高了0.64 個(gè)百分點(diǎn),這一結(jié)果可能是由于采用直接相加的方式對(duì)待子層以及當(dāng)前層特征,不能自適應(yīng)地選擇子層和當(dāng)前層中的特征。相較于Transformer Encoder 中的多頭注意力的計(jì)算方式,使用本文提出的不同窗口大小的CNN的方式,增強(qiáng)了Transformer 局部特征的表示同時(shí)獲取潛在的詞級(jí)別的信息,使F1 值提高了2.32 個(gè)百分點(diǎn)。若將CHTE 模型中的注意力頭的計(jì)算方式全部轉(zhuǎn)化為Transformer Encoder 中的計(jì)算方式,則F1 值下降了1.88 個(gè)百分點(diǎn),這說明即使在注意力頭中增加了窗口大小為(8,9)的CNN 來計(jì)算Value 值,但長(zhǎng)度大于7 的實(shí)體數(shù)量稀少,并且缺少全局語義信息導(dǎo)致最終F1 值降低。
由表3 可以看出,本文設(shè)計(jì)的基于不同窗口大小CNN 的注意力頭對(duì)CHTE 模型的性能提升最明顯,門控殘差連接對(duì)CHTE 模型的性能提升也較明顯,說明本文在中文命名實(shí)體領(lǐng)域針對(duì)Transformer提出兩種改進(jìn)方法能有效提升模型性能。
表3 消融實(shí)驗(yàn)結(jié)果Table 3 Results of ablation experiments %
3.3.4 基于BERT 的模型性能對(duì)比
由于本文對(duì)比的FLAT 和FGN 模型分別使用Chinese-BERT-wwm[25]和Chines-BERT-base[26]兩個(gè)不同的版本的BERT,因此分別使用兩個(gè)版本的BERT 進(jìn)行實(shí)驗(yàn),并以兩個(gè)版本的BERT 作為基礎(chǔ)模型。
如表4 所示,本文提出的CHTE 模型在兩個(gè)數(shù)據(jù)集上相較于兩個(gè)版本的基礎(chǔ)模型Chinese-BERT-wwm 以及Chines-BERT-base均有明顯的性能提升,其中在Weibo數(shù)據(jù)集上提升更明顯,相比于Chines-BERT-wwm 模型的F1 值提高了5.29 個(gè)百分點(diǎn),相比于Chinese-BERTbase 模型的F1 值提高了4.40 個(gè)百分點(diǎn)。同樣地,相比于使用BERT 作為嵌入層的Chinese-BERT-wwm+FLAT模 型,Chinese-BERT-wwm+CHTE 模型在Weibo 和Resume 數(shù)據(jù)集上的F1 值分別提高了4.94 和0.31 個(gè)百分點(diǎn)。在Weibo 數(shù)據(jù)集上,Chines-BERT-base+CHTE 模型的F1 值相比于FGN 模型提高了0.27 個(gè)百分點(diǎn),而在相對(duì)較大且規(guī)范的數(shù)據(jù)集Resume中的F1值相比于FGN模型降低了0.50 個(gè)百分點(diǎn),這表明CHTE 模型在使用BERT 作為編碼層后對(duì)實(shí)體識(shí)別效果同樣有明顯的提升,但由于FGN 模型中融合了中文文字的字形信息,因此相比于CHTE 模型在Resume 數(shù)據(jù)集上的識(shí)別效果更好。
表4 在Weibo和Resume數(shù)據(jù)集上的命名實(shí)體識(shí)別結(jié)果2Table 4 Named entity recognition results 2 of the Weibo and Resume datasets %
3.3.5 CNN 注意力頭數(shù)量對(duì)模型性能的影響
圖2 為CHTE 模型中CNN 注意力頭數(shù)量對(duì)F1值的影響。圖3 為在兩個(gè)數(shù)據(jù)集上不同命名實(shí)體字符長(zhǎng)度的占比情況,其中Weibo 數(shù)據(jù)集中實(shí)體字符長(zhǎng)度范圍為1~11,Resume 數(shù)據(jù)集則相對(duì)較大、實(shí)體較多,其中實(shí)體字符長(zhǎng)度范圍為1~36,但由于字符長(zhǎng)度超過16 的實(shí)體數(shù)量較少,因此本文僅統(tǒng)計(jì)了字符長(zhǎng)度為1~16 的實(shí)體數(shù)量。如圖2 所示,當(dāng)CNN 注意力頭數(shù)量為6 時(shí)該模型在兩個(gè)數(shù)據(jù)集中得到了最高的F1 值。如圖3 所示,在兩個(gè)數(shù)據(jù)集中實(shí)體字符長(zhǎng)度主要集中于1~7,而采用6 個(gè)CNN 注意力頭的窗口大小為(2,3,4,5,6,7),正好能夠通過該范圍內(nèi)的窗口大小增強(qiáng)局部范圍內(nèi)的特征表示以及潛在的詞信息,因此當(dāng)CNN 注意力頭數(shù)量取6時(shí)在兩個(gè)數(shù)據(jù)集上具有較好的識(shí)別性能。
圖2 CNN 注意力頭數(shù)量對(duì)F1 值的影響Fig.2 Effect of the number of CNN attention heads on the F1 value
圖3 命名實(shí)體字符長(zhǎng)度占比Fig.3 Percentage of named entity character lengths
3.3.6 實(shí)體字符長(zhǎng)度對(duì)比
為驗(yàn)證在多頭自注意力機(jī)制中使用不同窗口大小的CNN 對(duì)不同字符長(zhǎng)度的實(shí)體識(shí)別的影響,在Weibo數(shù)據(jù)集上對(duì)比分析本文提出的使用CNN 的CHTE模型以及未使用CNN 的CHTE wo CNN 模型。如圖4 所示,CHTE 模型在字符長(zhǎng)度為1~6 時(shí)實(shí)體識(shí)別F1 值均有提升,其中字符長(zhǎng)度為1、5、6 以及≥7 的實(shí)體數(shù)據(jù)稀疏,出現(xiàn)F1 值較低、提升較大以及未提升的情況。在實(shí)體數(shù)據(jù)較多的字符長(zhǎng)度范圍內(nèi),字符長(zhǎng)度為3 的實(shí)體對(duì)應(yīng)的F1 值提升了0.03 個(gè)百分點(diǎn),這說明使用不同窗口大小的CNN 可增強(qiáng)局部特征,不僅能提高具有較長(zhǎng)字符長(zhǎng)度的實(shí)體識(shí)別效果,而且能增強(qiáng)較短數(shù)據(jù)字符長(zhǎng)度的實(shí)體識(shí)別效果。
圖4 Weibo 數(shù)據(jù)集上不同命名實(shí)體字符長(zhǎng)度的F1值Fig.4 F1 values of each named entity character length in Weibo dataset
3.3.7 可視化分析
圖5、圖6 為通過CHTE 模型得到的未使用CNN(Linear-Head)和使用CNN(CNN-Head)的注意力權(quán)重的可視化結(jié)果圖。如圖5 所示,Linear-Head 得到的注意力權(quán)重相對(duì)比較分散,這說明其更加注重獲取全局語義信息,存在注意力權(quán)重沒有集中在有意義的詞上的問題。如圖6 所示,CNN-Head 得到的注意力權(quán)重分布相較于Linear-Head 相對(duì)集中,這說明使用CNN 來獲取Value 向量的方法能夠有效地捕獲句子中的局部特征,增加字符的局部特征表示,并且能夠增強(qiáng)字符詞級(jí)別的特征表示,進(jìn)而增強(qiáng)模型實(shí)體識(shí)別能力。
圖5 Linear-Head 注意力權(quán)重Fig.5 Attention weight of Linear-Head
圖6 CNN-Head 注意力權(quán)重Fig.6 Attention weight of CNN-Head
本文提出一種用于中文命名實(shí)體識(shí)別的CHTE 模型,通過在多個(gè)注意力頭中融入CNN 充分捕獲全局語義信息并增強(qiáng)模型的局部特征以及潛在的詞信息表示,同時(shí)應(yīng)用自適應(yīng)的門控殘差連接融合當(dāng)前層和子層特征,提升了Transformer 對(duì)于命名實(shí)體的識(shí)別準(zhǔn)確率。通過將CHTE 模型與使用外部詞典信息模型、未使用外部詞典模型以及基于BERT的模型在Weibo和Resume兩個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對(duì)比,結(jié)果證明了CHTE 模型具有更好的中文命名實(shí)體識(shí)別性能。后續(xù)將在CNNHead Transformer 編碼器的基礎(chǔ)上融合詞典信息,進(jìn)一步提升模型對(duì)于中文命名實(shí)體的識(shí)別準(zhǔn)確率。