胥小波, 王 濤, 康 睿, 周 剛, 李天寧
(1.中國(guó)電子科技網(wǎng)絡(luò)信息安全有限公司, 成都 610041; 2. 四川省科學(xué)技術(shù)信息研究所, 成都 610016; 3. 四川大學(xué)計(jì)算機(jī)學(xué)院, 成都 610065)
命名實(shí)體識(shí)別任務(wù)旨在對(duì)文本中特定類別的實(shí)體進(jìn)行定位并且將其分類為預(yù)先定義的類別,是信息抽取領(lǐng)域的一個(gè)子任務(wù). 由于中文本身的一些特點(diǎn),中文命名實(shí)體識(shí)別任務(wù)在方法上與英文命名實(shí)體識(shí)別任務(wù)有所區(qū)別.其中,中文的詞之間沒有天然的邊界,如果以詞作為基本單位,需要先對(duì)中文進(jìn)行分詞,但是分詞工具會(huì)發(fā)生錯(cuò)誤,并且有些錯(cuò)誤是不可能通過(guò)之后模型的訓(xùn)練來(lái)緩解的.例如,在“南京市長(zhǎng)江大橋”這句話中,正確的實(shí)體標(biāo)記是“南京”為地名(LOC),“江大橋”是人名(PER),如果分句工具將句子分為“南京市|長(zhǎng)江大橋”,那么模型就不可能識(shí)別出正確的命名實(shí)體.為了避免上述的情況發(fā)生,如今主流的中文命名實(shí)體識(shí)別模型都是將字作為基本單位,但是基于字的命名實(shí)體識(shí)別模型也存在一些問題.首先,由于中文句法分析需要先進(jìn)行分詞,所以基于字符的模型并不能很好地引入句子的句法信息,顯式的引入句法信息的方法跟基于字的中文命名實(shí)體識(shí)別模型并不契合;然后,從向量嵌入的角度,字嵌入包含的特征信息沒有詞嵌入豐富,例如對(duì)于“長(zhǎng)”這個(gè)字,在基于字的命名實(shí)體識(shí)別模型中,無(wú)論是在“市長(zhǎng)”還是在“長(zhǎng)江大橋”,它最初的表示都是相同的,沒有引入能夠區(qū)分的先驗(yàn)信息.但是,如果是基于詞的命名實(shí)體識(shí)別模型“市長(zhǎng)”和“長(zhǎng)江大橋”擁有不同的表示,在最初就包含了更多的先驗(yàn)信息,同時(shí)還引入了一定的邊界信息.所以,基于字的命名實(shí)體識(shí)別模型缺少詞的先驗(yàn)信息,需要通過(guò)一些方法將詞典的信息融入模型中.最后,中文屬于象形文字,文字的偏旁部首體現(xiàn)了文字的含義,例如“江”和“河”都包含三點(diǎn)水,暗示了這兩個(gè)字都與水有關(guān),所以漢字的結(jié)構(gòu)中暗含了這個(gè)字的屬性.通過(guò)對(duì)文字的結(jié)構(gòu)進(jìn)行編碼,不僅能夠提取部分字形方面的特征,也可以解決一些OOV問題.
命名實(shí)體識(shí)別方法主要?dú)w為3類:基于規(guī)則[1]、基于傳統(tǒng)機(jī)器學(xué)習(xí)[2]和基于深度學(xué)習(xí)的方法.其中,由于具有自動(dòng)捕獲輸入句子特征,實(shí)現(xiàn)端到端的命名實(shí)體識(shí)別的優(yōu)點(diǎn),基于深度學(xué)習(xí)的方法已經(jīng)成為了近年的研究熱點(diǎn).
近年來(lái),在命名實(shí)體識(shí)別任務(wù)中,一些研究工作很好地應(yīng)用了基于深度學(xué)習(xí)的方法.Huang等[3]將雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory, BiLSTM)和條件隨機(jī)場(chǎng)網(wǎng)絡(luò)應(yīng)用于命名實(shí)體標(biāo)記.但由于BiLSTM對(duì)長(zhǎng)序列的編碼能力有限,并且在計(jì)算速度方面表現(xiàn)不佳. Strubell等[4]將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)用于命名實(shí)體識(shí)別.卷積神經(jīng)網(wǎng)絡(luò)相比BiLSTM之類的循環(huán)神經(jīng)網(wǎng)絡(luò)具有更快的計(jì)算速度.然而,卷積神經(jīng)網(wǎng)絡(luò)雖然具有很好的局部捕捉能力,但是會(huì)損失大量的全局信息.已有研究對(duì)Transformer編碼器進(jìn)行改進(jìn),補(bǔ)充了方向信息,提升了Transformer編碼器的編碼能力[5].但是淺層的Transformer編碼器具有編碼層級(jí)結(jié)構(gòu)能力不足的缺點(diǎn).
由于中文本身的特殊性,中文命名實(shí)體識(shí)別相比起步更早的英文命名實(shí)體識(shí)別更具有挑戰(zhàn)性.Yang等[6]在對(duì)單詞序列進(jìn)行標(biāo)注之前用分詞工具對(duì)中文句子序列進(jìn)行分詞.然而,分詞工具不可避免地會(huì)出現(xiàn)單詞的錯(cuò)誤劃分,造成實(shí)體邊界的錯(cuò)誤識(shí)別.這是因?yàn)椴煌谟⑽闹胁捎梅指舴麃?lái)標(biāo)識(shí)詞與詞之間的邊界,中文句子中的詞沒有天然的邊界,在分詞方面更加困難. 詞增強(qiáng)的方法可以減少分割錯(cuò)誤并增加中文語(yǔ)義和邊界信息,但是Wu等[7]表示這種方法忽略了漢字結(jié)構(gòu)中的信息,并提出了一種將漢字特征和部首信息相結(jié)合的多元數(shù)據(jù)嵌入進(jìn)行改善.為了解決這一邊界問題,已有研究表明字符級(jí)別的命名實(shí)體識(shí)別的效果比單詞級(jí)別的更好[8,9].但是,基于字符的命名實(shí)體識(shí)別存一個(gè)很明顯的缺點(diǎn)就是損失了單詞中豐富的信息.因此,將詞典信息充分融入字符模型中是中文命名識(shí)別的一大研究熱點(diǎn).文獻(xiàn)[10]提出的Lattice-LSTM模型結(jié)合詞典信息提升了模型識(shí)別能力.具體來(lái)說(shuō),該模型利用長(zhǎng)短期神經(jīng)網(wǎng)絡(luò)的門控機(jī)制來(lái)自動(dòng)匹配句子中每個(gè)字符對(duì)應(yīng)的單詞,將詞典中與句子語(yǔ)義最匹配的單詞信息融入句子表示中.Li等[11]采用“五筆畫”編碼方式表示漢字結(jié)構(gòu)模式改進(jìn)漢字的字形嵌入,提高在中文命名實(shí)體識(shí)別的整體表現(xiàn).Xu等[12]表示中文字符部首蘊(yùn)含的特征信息也能夠幫助提升識(shí)別命名實(shí)體的能力.該工作提出在模型中同時(shí)使用字、詞和部首3種不同粒度級(jí)別的嵌入能夠豐富句子中的字符表示,并且驗(yàn)證了部首信息的有效性.這些工作的成功也印證了中文多級(jí)別特征信息的有效性.雖然,現(xiàn)已有研究將中文的語(yǔ)法信息用于命名實(shí)體識(shí)別任務(wù)中,例如Nie等[13]研究句法信息對(duì)命名實(shí)體識(shí)別模型的影響,通過(guò)鍵-值記憶網(wǎng)絡(luò)來(lái)提取詞性、句法成分信息和句法依存信息,然后通過(guò)門控的方式對(duì)提取出來(lái)的信息進(jìn)行篩選和融合.由于該方法需要先對(duì)輸入文本進(jìn)行句法分析,對(duì)中文進(jìn)行句法分析首先需要進(jìn)行分詞,與基于字符的模型并不契合.

圖1 模型整體框架圖
多特征中文命名實(shí)體識(shí)別模型在表示層增加了詞典特征和字形特征來(lái)融入先驗(yàn)的詞信息和中文的象形特征;在編碼層的底層首次使用ON-LSTM對(duì)表示層的輸出進(jìn)行編碼來(lái)隱式的捕獲層次結(jié)構(gòu)信息,引入語(yǔ)法歸納偏置.本節(jié)具體介紹在表示層引入詞典特征和字形特征的方法以及對(duì)ON-LSTM的介紹.
表示層由3部分表示組成,分別是字符表示、詞表示和字形表示.其中,字符表示使用預(yù)訓(xùn)練的詞嵌入,通過(guò)查表的方式匹配到每個(gè)字符對(duì)應(yīng)的向量表示,維度為d.詞典嵌入采用Ma等[14]提出的SoftLexicon方法,該方法不僅引入了字符在對(duì)應(yīng)詞中的位置信息,同時(shí)還引入了其在各個(gè)位置對(duì)應(yīng)詞的嵌入向量.具體步驟為:首先統(tǒng)計(jì)文本序列中每個(gè)字符對(duì)應(yīng)的{B,M,E,S}4個(gè)集合,這4個(gè)集合即包含了字符在詞中的位置信息還包含了對(duì)應(yīng)詞的嵌入表示;在統(tǒng)計(jì)了每個(gè)字符對(duì)應(yīng)的4個(gè)集合表示后,通過(guò)加權(quán)平均的方式計(jì)算每個(gè)集合對(duì)應(yīng)的集合向量表示.如式(1)和式(2)所示,是集合向量表示的計(jì)算方法,其中z(w)表示詞w出現(xiàn)的頻率,ew(w)是詞w對(duì)應(yīng)詞向量,Z表示4個(gè)集合中詞w出現(xiàn)頻率的總和;最后,如式(3)所示,將4個(gè)集合的向量表示進(jìn)行拼接組成該字符對(duì)應(yīng)的詞典嵌入表示.
(1)
Z=∑w∈B∪M∪E∪Sz(w)
(2)
e(B,M,E,S)=[v(B);v(M);v(E);v(S)]
(3)
為了引入字形特征,本章分別采用了兩種模型結(jié)構(gòu)對(duì)字符的偏旁序列進(jìn)行編碼.第1種方式如圖2所示,使用雙向LSTM對(duì)字符的偏旁序列進(jìn)行編碼,然后取前向和后向的最后一個(gè)隱藏向量進(jìn)行拼接,來(lái)表示這個(gè)字符的字形特征.
e=Embradical(x)
(4)
hFW=LSTMFW(e)
(5)
hBW=LSTMBW(e)
(6)
(7)

圖2 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)編碼偏旁序列Fig.2 Bidirectional recurrentneural network coding radical sequence
第2種方式如圖3所示,使用多尺度的卷積神經(jīng)網(wǎng)絡(luò)對(duì)字符的偏旁序列進(jìn)行編碼.分別使用跨度為2和3的兩種卷積核對(duì)偏旁序列進(jìn)行卷積,然后將兩種尺度的卷積核卷積出來(lái)的特征向量進(jìn)行拼接,最后采用最大池化獲得這個(gè)字符的象形特征.
h2=Conv2(e)
(8)
h3=Conv3(e)
(9)
xr=Maxp([h2;h3])
(10)
在分別得到字符表示、詞典表示和字形表示后,模型對(duì)這3種表示進(jìn)行拼接,如式(11)所示,其中xc是字符表示,e(B,M,E,S)是詞典表示,xr是字形表示.
x←[xc;e(B,M,E,S);xr]
(11)

圖3 多尺度卷積神經(jīng)網(wǎng)絡(luò)編碼偏旁序列Fig.3 Multi-scale convolutional neural network coding radical sequence
編碼層分為兩個(gè)部分,分別是ON-LSTM和改進(jìn)后的Transformer編碼器,其中ON-LSTM用來(lái)歸納語(yǔ)法信息;Transformer編碼器用來(lái)捕獲長(zhǎng)距離的依賴,從多個(gè)特征子空間提取更豐富的特征.
ON-LSTM是Shen等[15]對(duì)LSTM網(wǎng)絡(luò)的改進(jìn),由于文本序列并不是從左到右的鏈?zhǔn)浇Y(jié)構(gòu),而是一種樹形層級(jí)結(jié)構(gòu),從頂層到底層粒度不斷減小.編碼器對(duì)這種樹形結(jié)構(gòu)信息的捕獲對(duì)命名實(shí)體的識(shí)別有輔助作用,因?yàn)槊麑?shí)體一般都是一個(gè)詞或者多個(gè)詞組成的短語(yǔ).如圖4所示,ON-LSTM可以學(xué)習(xí)這種樹形層級(jí)結(jié)構(gòu),ON-LSTM在編碼時(shí)對(duì)神經(jīng)元進(jìn)行了排序,并且劃分了不同的層級(jí),高層級(jí)表示粗粒度,低層級(jí)表示細(xì)粒度.在編碼過(guò)程中,高層級(jí)的信息更新的頻率低,所以保留了更多的歷史信息,但是低層級(jí)的信息容易受到當(dāng)前輸入的影響,更新的頻率高.

圖4 ON-LSTM表示的樹形結(jié)構(gòu)Fig.4 The tree structure represented by ON-LSTM


圖5 ON-LSTM結(jié)構(gòu)Fig.5 Structure of ON-LSTM
(12)
當(dāng)df>di,代表當(dāng)前輸入xt的層級(jí)低于歷史記錄ht-1的層級(jí),那么對(duì)于(df,di)的區(qū)間就會(huì)保持初始狀態(tài);低于df的區(qū)間 [0,df]寫入當(dāng)前的輸入信息,高于di的區(qū)間 [di:]保留歷史信息不變.

(13)
(14)
(15)
(16)
模型可以通過(guò)使用ON-LSTM來(lái)編碼這種層次結(jié)構(gòu)信息,從神經(jīng)元底層的細(xì)粒度到頂層的粗粒度,學(xué)習(xí)層級(jí)句法結(jié)構(gòu)來(lái)輔助命名實(shí)體識(shí)別.
本實(shí)驗(yàn)在兩個(gè)領(lǐng)域的中文命名實(shí)體識(shí)別數(shù)據(jù)集進(jìn)行驗(yàn)證,分別是網(wǎng)絡(luò)社交領(lǐng)域的數(shù)據(jù)集Weibo和新聞?lì)I(lǐng)域的數(shù)據(jù)集CLUENER.同時(shí),這兩個(gè)數(shù)據(jù)集有不同的粒度.CLUENER是細(xì)粒度命名實(shí)體識(shí)別數(shù)據(jù)集.該數(shù)據(jù)集共有10 種不同的實(shí)體類別,除了人名、組織等常見類別外,還有一些在常見類別基礎(chǔ)上進(jìn)行了細(xì)粒度劃分得到的類別.這就造成了細(xì)粒度類別與劃分前的常見類別之間混淆程度較高.比如從“組織”中劃分出了“政府”和“公司”.相比起區(qū)分“人名”和“組織”,區(qū)分“組織”、“政府”和“公司”會(huì)更加困難.此外,CLUENER數(shù)據(jù)集中的同一實(shí)體所屬類別在不同語(yǔ)境下也會(huì)有變化.如某個(gè)屬于“游戲”的實(shí)體在其他語(yǔ)境中可能指的是改編的某個(gè)“書籍”或者“電影”.如表1所示,實(shí)體“《黑暗之塔》”在第2個(gè)句子中是一個(gè)“游戲”,然而第2個(gè)和第3個(gè)句子中代表的是一本“書籍”.
Weibo數(shù)據(jù)集包括人名、地名、機(jī)構(gòu)和地緣政治實(shí)體,從社交網(wǎng)絡(luò)數(shù)據(jù)中獲得,存在一些非規(guī)范用詞和語(yǔ)法不規(guī)范的情況,如表2所示.微博用戶為了加強(qiáng)情感經(jīng)常使用疊字、疊詞的方式寫評(píng)論,增加了文章的不規(guī)范性.

表1 CLUENER數(shù)據(jù)集中實(shí)體在不同的語(yǔ)境屬于不同類別的樣例
本實(shí)驗(yàn)在Colab pro p100 16 GB內(nèi)存的環(huán)境下進(jìn)行.在該實(shí)驗(yàn)環(huán)境下,本文模型參數(shù)設(shè)置如表3所示,其中優(yōu)化器使用動(dòng)量梯度下降的優(yōu)化器,該優(yōu)化器相對(duì)于普通的梯度下降優(yōu)化器具有減少震蕩和加速收斂的作用,動(dòng)量參數(shù)momentum設(shè)置為默認(rèn)值0.9.同時(shí)在計(jì)算梯度時(shí),對(duì)梯度值進(jìn)行裁剪,限制梯度值在[-5.0, 5.0]之間,防止梯度爆炸.

表2 Weibo數(shù)據(jù)集用詞和語(yǔ)法不規(guī)范的樣例

表3 參數(shù)取值
本文模型本實(shí)驗(yàn)采用分層優(yōu)化的方式,對(duì)不同層使用不同的學(xué)習(xí)率進(jìn)行參數(shù)訓(xùn)練,由于訓(xùn)練條件隨機(jī)場(chǎng)層需要比其他層更大的學(xué)習(xí)率才能充分的學(xué)習(xí)各個(gè)標(biāo)簽之間的約束關(guān)系,即轉(zhuǎn)移矩陣中各個(gè)標(biāo)簽之間的轉(zhuǎn)移概率.所以,本實(shí)驗(yàn)將條件隨機(jī)場(chǎng)層的學(xué)習(xí)率設(shè)置的大于其他層的學(xué)習(xí)率,減少一些不可能的標(biāo)簽序列的出現(xiàn).
本文模型在CLUENER數(shù)據(jù)集上的訓(xùn)練過(guò)程如圖6所示,圖中橫坐標(biāo)為模型的迭代輪次,縱坐標(biāo)為模型的F1值.該圖展示了在驗(yàn)證集上加入句法信息和不加入句法信息的兩個(gè)模型的F1值的變化情況.很明顯可以看出加入語(yǔ)法信息的模型在訓(xùn)練的前期收斂更快,同時(shí)模型的最終收斂的效果也要好于無(wú)語(yǔ)法信息的模型.
表4和表5分別是論文模型與近年多個(gè)模型的在兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果對(duì)比.由表4的實(shí)驗(yàn)結(jié)果可以看出,論文模型在Weibo數(shù)據(jù)集上取得了63.61%的F1值,分別超過(guò)TENER和SoftLexicon(LSTM)模型5.44%和2.19%.其主要原因是,論文模型同時(shí)結(jié)合了這兩個(gè)模型在嵌入層和編碼層的優(yōu)勢(shì),在嵌入層增加了詞典特征,在編碼層使用改進(jìn)后的Transformer編碼器直接建立任意位置兩兩字符之間的聯(lián)系.另外,論文模型還在編碼器的底層加入ON-LSTM彌補(bǔ)Transformer編碼器編碼樹形層次結(jié)構(gòu)信息能力不足的缺點(diǎn),進(jìn)一步提升了模型的識(shí)別效果.

圖6 模型在驗(yàn)證集上的F1值對(duì)比Fig.6 Comparison of F1 values of the model on the validation set

表4 各個(gè)模型在Weibo數(shù)據(jù)集上的結(jié)果對(duì)比

表5 各個(gè)模型在CLUENER數(shù)據(jù)集上的結(jié)果對(duì)比
表6是多特征模型的消融實(shí)驗(yàn)表,對(duì)比表中的第1行和第2行,可以得出在底層加入ON-LSTM,引入句法偏置可以提高模型的識(shí)別效果;對(duì)比表中的第1行和第3行,可以得出增加詞典特征可以提升命名實(shí)體識(shí)別的效果,說(shuō)明字典提供的先驗(yàn)的語(yǔ)義信息的有效性;對(duì)比表中的第3行和第4行,可以的得出融合ON-LSTM編碼的語(yǔ)法信息和嵌入層的詞典信息有相互促進(jìn)的作用,可以提高命名實(shí)體識(shí)別模型的識(shí)別效果.表7在Weibo數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),加入了字形特征的命名實(shí)體識(shí)別模型的實(shí)驗(yàn)結(jié)果.

表6 模型消融對(duì)比實(shí)驗(yàn)表

表7 字形特征對(duì)實(shí)驗(yàn)結(jié)果的影響
從表7可知,字形特征在基于Transformer編碼器的命名實(shí)體識(shí)別模型上的作用,以及不同網(wǎng)絡(luò)結(jié)構(gòu)編碼的字形特征的效果.表7中radical(CNN)是使用多尺度的卷積神經(jīng)網(wǎng)絡(luò)編碼偏旁序列,radical(LSTM)是使用雙向LSTM來(lái)編碼偏旁序列,bichar是引入了n-gram特征.從表7前3行可以看出,加入字形特征在一定程度上可以增加模型的魯棒性.從表7后3行可以看出,在加入n-gram特征后,使用多尺度卷積神經(jīng)網(wǎng)絡(luò)編碼的字形特征對(duì)模型的識(shí)別效果有提升,但是效果并不明顯.
論文主要分析了Transformer模型編碼能力的不足,由于句子擁有樹形的語(yǔ)法結(jié)構(gòu),從單獨(dú)的字組成詞,再?gòu)脑~組成短語(yǔ),最后形成一個(gè)句子,這種分層級(jí)的組成結(jié)構(gòu)無(wú)法通過(guò)單層的Transformer模型來(lái)表示,甚至淺層的Transformer模型也存在編碼樹形結(jié)構(gòu)能力不足的情況.論文通過(guò)在編碼器的底層增加有序神經(jīng)元的LSTM來(lái)編碼句子的層級(jí)結(jié)構(gòu),彌補(bǔ)了Transformer編碼器編碼句法信息能力不足的缺點(diǎn).另外,論文研究了多特征對(duì)中文命名實(shí)體識(shí)別的影響,包括先驗(yàn)的字典特征,句法成分特征以及字形特征,以及各種特征疊加后的模型效果,從本文的實(shí)驗(yàn)可以看出詞典信息和句法信息可以同時(shí)輔助模型進(jìn)行命名實(shí)體識(shí)別,字形特征對(duì)模型的效果影響微弱,甚至有時(shí)會(huì)產(chǎn)生負(fù)面效果.