宋旭暉,于洪濤,李邵梅
(1.鄭州大學 網(wǎng)絡(luò)空間安全學院,鄭州 450001;2.戰(zhàn)略支援部隊信息工程大學 信息技術(shù)研究所,鄭州 450002)
命名實體識別(Named Entity Recognition,NER)是信息抽取的子任務(wù)之一,主要指識別文本中的人名、地名、組織名等實體,是關(guān)系抽?。?]、事件抽?。?]、問答系統(tǒng)[3]等自然語言處理任務(wù)的重要基石。早期的命名實體識別方法主要基于規(guī)則和字典,但這些方法的效率較低、成本過高,且需要大量的專業(yè)知識。隨著深度學習在自然語言處理領(lǐng)域的廣泛應(yīng)用,研究人員將深度學習應(yīng)用到命名實體識別模型中?;谏疃葘W習的模型一般可以分為嵌入層、編碼層和解碼層3 個部分。模型首先利用嵌入層將字詞級別的輸入轉(zhuǎn)化為相應(yīng)的字詞向量,其次將字詞向量輸入編碼層以學習上下文語義特征,最后通過解碼層對編碼層輸出的特征向量進行分類,從而完成對實體的標注。[4]
在編碼層中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[5]與循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[6]因其高效并行運算、兼顧上下文信息等優(yōu)勢被廣泛應(yīng)用[7-8],但梯度消失、梯度爆炸、數(shù)據(jù)空間限制等問題的存在嚴重影響了模型的準確性與可擴展性。由于在命名實體識別任務(wù)中語句與篇章結(jié)構(gòu)均以圖數(shù)據(jù)的方式存在,因此越來越多的研究人員考慮將基于圖注意力網(wǎng)絡(luò)的編碼器應(yīng)用于模型中。相比于CNN、RNN 等序列模型,基于圖注意力網(wǎng)絡(luò)的編碼器可以充分利用圖結(jié)構(gòu)在空間中的優(yōu)勢,并利用信息交互的方式減少信息傳遞損失,因此具有更好的識別效果。圖注意力網(wǎng)絡(luò)在圖中引入注意力機制,每個節(jié)點特征的計算都會通過計算相鄰節(jié)點對該節(jié)點的影響來動態(tài)調(diào)整權(quán)重,從而將注意力集中在影響較大的節(jié)點上。文獻[9]將圖注意力網(wǎng)絡(luò)(Graph Attention Network,GAT)[10]引入中文命名實體識別,將自匹配詞匯、最近上下文詞匯等詞匯知識融入到編碼層中,提出協(xié)同圖網(wǎng)絡(luò)(Collaborative Graph Network,CGN)的模型,進一步提高命名實體識別效果。然而由于該模型使用的GAT 網(wǎng)絡(luò)在計算注意力時,連續(xù)的線性計算對于任何查詢節(jié)點i,注意力網(wǎng)絡(luò)都傾向于同一節(jié)點j更高的注意力權(quán)重,因此得到的是靜態(tài)注意力,損害了圖注意力的表達能力?;诖耍疚牟捎酶倪M的圖注意力網(wǎng)絡(luò)(GATv2)[11]提高命名實體識別的效果。
此外,CGN 模型只在編碼層利用詞匯知識,在嵌入層沒有充分利用詞邊界信息。然而在模型的嵌入層中,詞邊界信息是影響中文命名實體識別性能的重要因素。在命名實體識別任務(wù)中,詞邊界信息的缺乏會導致無法確定實體的首尾位置,進而降低識別準確率。研究表明,在命名實體識別模型中融入分詞信息,可以提高模型識別效果[12-13]。與英文相比,中文沒有顯性的詞邊界信息,因此本文在嵌入層融入分詞信息,以改善詞邊界信息缺乏問題。
為提高基于CGN 網(wǎng)絡(luò)的中文命名實體識別模型[9]的識別準確率,本文提出一種基于改進圖注意力網(wǎng)絡(luò)的中文命名實體識別(WS-GAT)模型。通過在嵌入層加入分詞信息,并在序列編碼過程中使用向量拼接方式,從而充分利用詞邊界信息。在編碼層對圖注意力網(wǎng)絡(luò)進行改進,采用GATv2 模型改進節(jié)點間相關(guān)系數(shù)的計算方式,以計算節(jié)點間的動態(tài)注意力,提高命名實體識別準確率。
本文模型結(jié)構(gòu)分為嵌入層、編碼層和解碼層3 層,如圖1 所示。
圖1 WS-GAT 模型結(jié)構(gòu)Fig.1 Structure of WS-GAT model
由圖1 可知,模型首先在嵌入層將文本映射成字符向量,將分詞信息映射成特征向量,并與字符向量進行融合,作為嵌入層的字向量表示。其次,在編碼層使用BiLSTM 提取特征,利用GATv2 網(wǎng)絡(luò)將詞匯信息融合,作為最終的特征表示。最后,在解碼層采用條件隨機場進行解碼,實現(xiàn)對實體的標注。與傳統(tǒng)的命名實體識別模型相比,本文模型在嵌入層融入分詞信息并生成包含詞匯邊界信息的字向量(如圖1 中右側(cè)框圖所示),能夠緩解難以確定詞匯邊界的問題。此外,在編碼層采用GATv2 網(wǎng)絡(luò)(如圖1 中編碼層單詞-字符融合框圖所示),能夠提高模型的特征提取能力。
1.1.1 字向量的生成
在通常情況下,模型嵌入層負責對輸入字符和詞匯進行編碼,而在中文命名實體識別任務(wù)中,對字符進行編碼的方式由于存在語義缺失等問題,導致無法有效利用詞匯信息。且與英文相比,中文沒有顯性的詞邊界特征,詞邊界信息的缺失降低了命名實體識別的性能。因此,本文模型采用將詞匯的分詞特征向量與字向量相融合的方式,以改善詞邊界信息缺失的問題,提高命名實體識別準確率。字向量與分詞特征向量進行融合的方式如圖2 所示。
圖2 字向量與分詞特征向量的融合示意圖Fig.2 Schematic diagram of word vector and word segmentation feature vector
如圖1 所示,模型的輸入是一個句子和這個句子中所有的自匹配詞,字符的自匹配詞是指包含該字符的詞匯。本文用t={t1,t2,…,tn}表示該句子,其中tn表示句子中的第n個字。對句子中的每個字符均通過查找字符嵌入矩陣的方式表示為一個向量xi,其表達式如式(1)所示:
其中:ac是一個字符嵌入查找表。
模型通過分詞工具對句子進行分詞并對訓練集中的數(shù)據(jù)進行標注以構(gòu)建分詞特征,如對于“北京”實體,在訓練集中的標注為“北B-LOC”、“京E-LOC”。為了獲得詞邊界信息,本文在數(shù)據(jù)中增加分詞特征,將“北京”實體重新標注為“北seg:0 B-LOC”、“京seg:1 E-LOC”。將重新標注的數(shù)據(jù)輸入到模型后,模型通過維護特征查找表實現(xiàn)分詞特征的編碼,將分詞信息編碼為特征向量[s1,s2,…,sn],進而將分詞特征編碼與字向量進行拼接,并作為字符的向量表示。最后將詞匯信息融合到字向量中,得到包含詞邊界信息的字向量,其表達式如式(2)所示:
其中:si表示該字對應(yīng)的特征向量;⊕表示向量拼接;ci表示融合后的字向量表示。
1.1.2 自匹配詞向量的生成
為了表示單詞的語義信息,得到自匹配詞的向量表示,本文將模型中輸入句子匹配到的詞匯表示為l={z1,z2,…,zm},通過查找預(yù)訓練單詞嵌入矩陣,將每個單詞表示為一個語義向量zi,其表達式如式(3)所示:
最后將字向量和詞向量進行拼接,得到嵌入層最后的輸出表示:
其中:zi為自匹配詞向量表示。
模型編碼層負責捕獲文本的上下文特征,相比于CNN、RNN 等序列模型,圖注意力網(wǎng)絡(luò)因其對圖結(jié)構(gòu)數(shù)據(jù)的強大特征提取能力被應(yīng)用于命名實體識別中。為增強特征提取效果,本文應(yīng)用GATv2 網(wǎng)絡(luò)對特征進行編碼,從而得到文本的語義表示。
首先使用BiLSTM 模型[14]對嵌入層獲得的字向量進行初步建模,通過計算得到前向和后向2 個不同的特征表示,并將這2 個特征表示進行拼接,得到包含上下文特征的向量H={h1,h2,…,hn},如式(7)所示:
然后將向量H輸入到GATv2 網(wǎng)絡(luò)中以提取特征,從而得到包含更加豐富語義信息的特征向量。具體來說,構(gòu)建單詞-字符交互圖G=(V,E),其中:V是節(jié)點集合,代表所有的字符和自匹配詞;E是邊集合,代表不同的關(guān)系。本文通過參考文獻[9]的構(gòu)圖方式構(gòu)建的圖注意力模型由3 個單詞-字符交互圖構(gòu)成:包含圖、轉(zhuǎn)換圖和Lattice 圖,它們分別用來整合詞內(nèi)語義信息、上下文詞匯信息和自匹配詞邊界信息,構(gòu)圖方式如圖3 所示。這3 個圖共享相同的頂點集V,并引入3 個鄰接矩陣A來表示圖中節(jié)點和邊的信息。在包含圖中,如果自匹配詞i包含字符j,則將鄰接矩陣AC中(i,j)的值賦為1。在轉(zhuǎn)換圖中,如果單詞i或字符m與字符j的最近前序或后序相匹配,則對應(yīng)AT中的(i,j)或(m,j)的值被賦為1。在Lattice 圖中,如果字符j和匹配詞i的第1個或最后1個字符匹配,則AL中(i,j)的值賦值為1,如果字符m是字符j的前一個或后一個字符,則AL中(m,j)賦值為1。
圖3 單詞-字符交互示意圖Fig.3 Schematic diagram of word-character interaction
GAT 網(wǎng)絡(luò)的輸入是節(jié)點的特征表示NFj={h1,h2,…,hN}以及鄰接矩陣A,其中A∈?N×N,N為節(jié)點數(shù)。文獻[10]使用GAT 網(wǎng)絡(luò)進行字詞信息融合,如公式(8)所示:
其中:e(hi,hj)表示節(jié)點j和節(jié)點i間的相關(guān)系數(shù);a和W均為可學習的參數(shù)矩陣;k為注意力頭數(shù)。
傳統(tǒng)GAT 網(wǎng)絡(luò)存在靜態(tài)注意力問題[11],由于權(quán)重矩陣W和注意力矩陣a的連續(xù)應(yīng)用,導致經(jīng)過連續(xù)線性變化的hi和hj對于任何查詢節(jié)點,注意函數(shù)相對鄰居節(jié)點是單調(diào)的,即對于任何查詢節(jié)點i,圖注意力網(wǎng)絡(luò)都傾向給同一節(jié)點j更高的權(quán)重,這損害了圖注意力的表達能力。因此本文采用GATv2 網(wǎng)絡(luò)進行特征提取,表達式如式(9)所示:
改進后的公式對注意力功能進行修正,在經(jīng)過非線性層之后,應(yīng)用注意力矩陣a可以計算所有節(jié)點的貢獻程度,進一步增強了節(jié)點的特征向量表示。
將上一步計算得到的相關(guān)系數(shù)進行歸一化,得到節(jié)點的注意力系數(shù),表達式如式(10)所示:
之后進行加權(quán)求和,得到最終的輸出特征:
使用3 個圖注意力網(wǎng)絡(luò)進行編碼后,獲得的節(jié)點特征分別為G1、G2、G3:
其中:Gk∈?F′×(n+m),k∈{1,2,3}。保留這些矩陣的前n列作為最后的字符表示來解碼標簽。
最后,對3 個交互圖獲取的包含不同詞匯知識的向量進行融合,表達式如式(16)所示:
其中:W1,W2,W3,W4為可訓練矩陣;H是輸入的上下文表示;Q1,Q2,Q3為3 個GAT 圖得到的字符表示。
最終,本文得到融合上下文信息、自匹配詞信息和最近上下文詞匯知識的新句子表示,使用矩陣T來表示,其中T∈?F′×n。
解碼層負責對輸入的上下文表示生成對應(yīng)的標記序列。在自然語言處理任務(wù)中常將條件隨機場(Conditional Random Fields,CRF)[15]作為解碼器,CRF 通過捕獲連續(xù)標簽之間的依賴關(guān)系進行全局優(yōu)化,在很大程度上解決了輸出標簽獨立假設(shè)的問題,被廣泛應(yīng)用于序列標注等任務(wù)。
本文模型也采用CRF 作為解碼層,對于編碼層的輸出序列T={r1,r2,…,rn},若其對應(yīng)的標注序列為Y={y1,y2,…,yn},則標注序列y的概率為:
其中:y′是一個任意的標簽序列;T是存儲一個標簽到另一個標簽的轉(zhuǎn)移得分矩陣。在模型訓練過程中,采用L2 正則化最小化對數(shù)似然損失函數(shù)來優(yōu)化模型,損失函數(shù)的定義為:
其中:y是L2 的正則化參數(shù);θ是所有可訓練集的參數(shù)。
實驗共選取了6 個中文數(shù)據(jù)集,包括MSRA[16]、OntoNotes4.0[17]、Resume[18]、Weibo[19]4 個常用數(shù)據(jù)集,以及People Daily[20]、Boson 這2 個公開數(shù)據(jù)集來評估模型結(jié)果。各數(shù)據(jù)集信息如表1 所示,其中“—”表示無此項內(nèi)容。
表1 數(shù)據(jù)集信息Table 1 Information of datesets
命名實體識別有多種標注方式,包括BIO、BMESO、BIOES 等。本文實驗采取BMES 標注方式,其中,B、M、E 分別代表實體的開始、中間以及末尾部分,S 代表一個單獨的實體。
本文選用精確率(P)、召回率(R)以及F1 值為評價指標衡量模型好壞,計算方式如下:
其中:Tp為模型標記正確的實體個數(shù);Fp為錯誤標記的實體個數(shù);Fn為未進行標記的實體個數(shù)。
本文將在中文Giga-Word 數(shù)據(jù)集上預(yù)先訓練的字符作為輸入模型的字符嵌入[18],采用文獻[21]中提供的詞匯信息作為詞匯嵌入,并使用dropout[22]算法防止模型過擬合。在MSRA、People Daily 和Boson 3 個數(shù)據(jù)集上使用Adam 算法[23]優(yōu)化參數(shù),在OntoNotes4.0、Resume、Weibo 數(shù)據(jù)集上使用隨機梯度下降(Stochastic Gradient Descent,SGD)算法優(yōu)化參數(shù)。實驗設(shè)定的超參數(shù)值如表2 所示。
表2 實驗超參數(shù)設(shè)置Table 2 Experimental hyper parameters setting
相對于CGN 模型,本文模型在嵌入層融入詞匯的分詞信息,并在編碼層改進圖注意力網(wǎng)絡(luò)。為驗證本文模型的有效性,本文對于在嵌入層融入分詞信息并改進圖注意力網(wǎng)絡(luò)的模型(即本文模型)以及僅在嵌入層融入分詞信息的模型分別進行實驗。下文從改進策略有效性、與其他模型的對比、模型復(fù)雜度和模型的收斂速度4 個角度對模型進行分析。
2.4.1 改進策略有效性分析
為驗證本文模型在中文命名實體識別任務(wù)上的有效性,本文在MSRA、OntoNotes4.0、Resume、Weibo、People Daily 和Boson 數(shù)據(jù)集上對改進前后的模型進行對比實驗,結(jié)果如表3 所示,表中加粗數(shù)字表示該組數(shù)據(jù)最大值。
表3 本文模型改進前后在不同數(shù)據(jù)集下的F1 值對比Table 3 Comparision of F1 value of model before and after improvement in this paper under different datasets %
由表3 可知,在MSRA、OntoNotes4.0、Resume、Weibo、People Daily 和Boson 數(shù)據(jù)集上,本文模型的F1值相比改進前模型均有一定程度的提高,證明了融入分詞信息與改進圖注意力網(wǎng)絡(luò)對于提高命名實體識別性能的有效性。
此外,在MSRA、OntoNotes4.0、People Daily 和Boson 數(shù)據(jù)集上,僅融入分詞信息的模型F1 值相比改進前的模型均有一定程度的提高,在這4 類數(shù)據(jù)集上分別提高了0.45%、1.07%、0.86%、0.77%。進一步分析表4 可以得出如下結(jié)論:融入分詞信息對小數(shù)據(jù)集的影響更為明顯;在比較規(guī)則的數(shù)據(jù)集上,融入分詞信息對于模型的F1 值提升較小。綜上所述,融入分詞信息在一定程度上緩解了詞邊界確定困難的問題。
通過將僅融入分詞信息模型的實驗結(jié)果與在此基礎(chǔ)上改進圖注意力網(wǎng)絡(luò)(即本文模型)的實驗結(jié)果進行對比,可以看到在MSRA、OntoNotes4.0、Resume、Weibo 和People Daily 數(shù)據(jù)集上,本文模型的F1 值相對僅使用分詞信息的模型有一定程度的提高,這說明改進后的圖注意力網(wǎng)絡(luò)GATv2 解決了GAT 網(wǎng)絡(luò)的靜態(tài)注意力問題,進一步提高了編碼層的特征提取能力。
2.4.2 與其他模型的對比結(jié)果
為全面驗證本文模型的有效性,引入Lattice LSTM[18]、LGN[24]、FLAT[25]、LR-CNN[7]等模型與本文模型進行對比,各對比模型分別基于LSTM、CNN、GCN、Transformer 網(wǎng)絡(luò)實現(xiàn),覆蓋了幾種常用的特征提取器,結(jié)果如表4 所示,表中加粗數(shù)字表示該組數(shù)據(jù)最大值,“—”表示原論文中未列出實驗結(jié)果。由表4 可知,本文模型在Resume 和Weibo 數(shù)據(jù)集上的F1 值略高于其他模型。雖然本文模型在OntoNotes4.0 數(shù)據(jù)集上的F1 值表現(xiàn)略差,但模型召回率得到了明顯提升。
表4 不同模型在不同數(shù)據(jù)集下的實驗結(jié)果對比Table 4 Comparison of experimental results of different models under different datasets %
2.4.3 模型時間復(fù)雜度分析
命名實體識別作為自然語言處理任務(wù)的重要組成部分,對訓練以及測試的速度有很高的要求。本文模型在嵌入層融入分詞信息時會引入額外的計算開銷,但不影響后續(xù)計算中原有模型的處理結(jié)構(gòu)和輸入數(shù)據(jù)規(guī)模。此外,GATv2 網(wǎng)絡(luò)與標準GAT 網(wǎng)絡(luò)具有相同的時間復(fù)雜度[11],所以本文模型除了增加分詞開銷外不會引入其他的計算開銷。為具體度量分詞的時間開銷在模型總處理時間上所占的比例,本文通過實驗對模型復(fù)雜度進行分析。
實驗隨機選取10 個訓練epoch 作為樣本,并對比融入分詞信息前后的模型訓練時間。如表5 所示,在MSRA、OntoNotes4.0、Resume 和Weibo數(shù)據(jù)集上,模型融入分詞信息占用了一定的時間,但占整體處理時間的比例較小,對模型性能的影響不大。在OntoNotes4.0 數(shù)據(jù)集上,本文模型的訓練時間增加了2.82%,但F1 值提高了3.16%。在其他數(shù)據(jù)集上,F(xiàn)1 值也取得了一定程度的提升。綜上,在嵌入層融入分詞信息僅犧牲較少時間復(fù)雜度,但獲得了F1值的提升。
表5 不同模型在不同數(shù)據(jù)集下的時間復(fù)雜度與F1 值對比Table 5 Comparison of time complexity and F1 value of different models under different datasets
2.4.4 模型收斂速度對比
為進一步探究融入分詞信息對模型收斂速度的影響,本文研究了在不同的數(shù)據(jù)集下,模型融入分詞信息前后的F1 值與迭代次數(shù)的關(guān)系,結(jié)果如圖4所示,其中CGN with seg 表示在CGN 中融入分詞信息的模型??梢钥吹?,在保持迭代次數(shù)和學習率不變的情況下,融入分詞信息后,模型在不同數(shù)據(jù)集下的的收斂速度均得到了提升。
圖4 模型收斂速度的對比Fig.4 Comparison of model convergence speed
本文提出一種基于改進圖注意力網(wǎng)絡(luò)的中文命名實體識別模型,通過在嵌入層融入分詞信息,以有效結(jié)合文本中的詞匯信息,緩解字詞融合的詞邊界確定困難問題。對模型編碼層的圖注意力網(wǎng)絡(luò)進行改進,增強特征提取能力,使用條件隨機場解碼文本,以實現(xiàn)對實體的標注。實驗結(jié)果表明,與CGN 模型相比,本文模型在保持迭代次數(shù)和學習率不變的情況下,收斂速度更快,證明了融入分詞信息、改進圖注意力網(wǎng)絡(luò)對中文命名實體識別的有效性。下一步將重點改進分詞信息融合策略,降低噪聲對識別結(jié)果的影響,并通過優(yōu)化模型,提高模型運行效率。