王笑月,李 茹,段 菲
(山西大學 計算機科學與技術學院,山西 太原 030006)
作為自然語言處理中的一項基礎任務,命名實體識別旨在從一段非結構化文本中抽取出與任務要求相關的實體,例如人名、地名、機構名等。它在機器翻譯、信息抽取、問答系統等需要關鍵內容抽取技術的領域具有廣泛的應用價值。
傳統命名實體識別主要基于特征工程,即由線性統計模型(如隱馬爾可夫(HMM)[1]、支持向量機(SVM)[2]或條件隨機場(CRF)[3]等)與人工定義的特征相結合構造模型,但由于自然語言語法結構的多樣性,基于特征工程的方法需要針對不同的數據、結合領域知識人工總結特征和定義規則,其缺乏靈活性且無法保證泛化能力。高性能通用并行計算設備(如GPGPU、TPU)的出現與進步使一系列神經網絡架構被成功應用于序列標注任務中,Ling等[4]、Ma 等[5]、Lample等[6]提出的基于RNN的神經網絡模型雖然取得了優異的結果,但由于其采用循環處理序列的方式,故未能充分利用GPU的并行計算能力。
不同于RNN循環處理輸入序列的方式,卷積運算可一次性地并行處理整個輸入序列。雖然在并行處理方面卷積神經網絡具有先天的優勢,但通常用于文本處理的一維卷積感受野受限于輸入窗口大小w。在第l層,卷積對于輸入文本的感受野大小為r=l(w-1)+1,當輸入序列長度增加時,需要堆疊的層數也隨之增加。為擴大感受野,同時減少堆疊層數,可以采用池化操作,但池化會導致信息損失,因而不適用于序列標注任務。為在同樣的窗口大小下擴大卷積的感受野,Yu 等[7]提出了空洞卷積,其在相同的濾波器上通過更改空洞率D的大小,在不同范圍的文本上操作,使其有效感受野隨網絡深度以指數級增長,且不產生信息損失,也不會增加模型參數;Strubell等[8]首次將空洞卷積用于命名實體識別任務上,但只是簡單地將Bi-LSTM替換為空洞卷積,并未進一步對信息流動的方式進行考慮和處理;Dauphin等[9]在普通卷積的基礎上引入了門控機制,進一步強化了數據中的有效信息,降低了無效信息的影響,實驗結果表明其在語言建模任務上是有效的;Wang等[10]將這種門控機制運用到命名實體識別任務中,首次使用門控卷積結構進行實體識別。
Wang 等[10]所提出的模型易出現梯度消失的問題,本文針對該缺陷進行改進,采用可通過參數調節感受野范圍的空洞卷積,并引入了帶有殘差連接[11]的門控機制(詳見2.2節)。
除模型架構外,自然語言處理任務中的另一關鍵點在于如何更好地表示輸入文本。對于輸入文本常采用基于字的劃分粒度或基于詞劃分粒度兩種方式。在基于字的模型中,每個字通常只有一種表示,無法兼顧一字多義的情況,例如,“京”在“北京”和“京東”中有著不同的意義;而基于詞的模型常因為分詞錯誤和誤差傳遞導致實體識別錯誤,而且在真實應用中構建領域相關的大規模詞典代價昂貴,在匹配特征時時間和空間復雜度較高,從而導致模型十分低效;此外,大規模詞典中帶來的噪聲影響難以消除。本文使用Chen等[12]所提出的基于位置的字向量,針對每一個字在所屬詞中的位置,對于每個字給予了四種預訓練的向量,從而在字級別的基礎上針對每一個字加入了所屬詞的位置特征,豐富了文本信息表示,同時也在一定程度上改善了一字多義的問題。Chen等[12]以詞為劃分粒度結合基于位置的字向量得到文本表示,繼而輸入模型中,本文考慮到以詞為劃分粒度易產生OOV(out-of-vocabulary)問題,故以字為劃分粒度。
本文的主要貢獻可概括為以下兩方面:
(1) 首次在中文數據集上使用空洞卷積進行命名實體識別,顯著提升了模型訓練速度;
(2) 為避免由于網絡層數加深而產生的梯度消失現象,并使信息可以在多通道內傳輸,引入了帶有殘差連接的門控機制。
傳統模型大多基于手工定義的特征和線性鏈條件隨機場(He等[13],Mao等[14])。基于CNN或者RNN等的神經網絡模型效果超過傳統的機器學習方法而無需手工定義特征。由于LSTM具有長期記憶的特點,LSTM-CRF架構被廣泛運用到命名實體識別的任務中。Huang等[15]使用Bi-LSTM抽取詞級別的文本信息;Lample等[6]在其基礎上結合了字級別的文本特征;Peng 等[16]基于如何更豐富地表示文本信息問題,使用Chen等[12]的字詞嵌入融合方法,提出了一個“字+位置”嵌入和NER任務聯合訓練的模型;Zhang等[17]構造了一個詞格模型,通過使用外部詞典,匹配文本中所有可能的分詞結果,進而避免了分詞錯誤;Cao等[18]考慮到中文分詞任務和中文命名實體識別任務存在共同特性,即實體邊界識別,使用對抗學習來聯合訓練命名實體識別任務和中文分詞任務,抽取共享的詞邊界信息;Tan等[19]通過自注意力機制捕捉輸入文本的全局信息,結果表明自注意力機制在命名實體識別任務中的有效性;最近,隨著ELMo[20]和BERT[21]等大型預訓練語言模型的出現,在自然語言處理的下游任務中,許多工作使用了這類模型并獲得了顯著的性能提升,但由于其參數量巨大,僅微調需要的時間也較長,本文出于降低資源消耗的考慮,未采用這兩種方式。
本文將實體識別視為序列標注的任務,為文本中的每個字預測對應的標簽,并對文本采用BIO[22]的標注方式,即字位于實體開頭標注為B,位于實體內部標注為I,非實體的字標注為O。
模型整體架構如圖1所示,其中“門控機制空洞卷積”單元為帶有門控機制的卷積層,細節將在2.2節中闡述,為張量拼接操作;將輸入文本的字向量與所對應的基于位置的字向量拼接,所得到的文本表示輸入到若干個堆疊的卷積層中,之后通過CRF解碼得到實體識別結果。

圖1 模型架構
自然語言處理任務中所使用的卷積類型通常為一維卷積。卷積層相當于仿射變換,對每個字,卷積操作如式(1)所示,其中WC表示窗口大小為r的濾波器,ct代表經過卷積變換后的輸出,⊕代表向量拼接操作。
空洞卷積(Yu等[7])是卷積的一種變體,與普通卷積不同,其跨越與空洞率d相同的文本片段對輸入文本間隔采樣,通過堆疊以指數級別增長的空洞率的空洞卷積(例如,本文所采用的空洞率為1,2,4,1,2,4),可以實現以較少的層數覆蓋到大多數句子的長度,例如第L層的感受野可達2L+1-1。如果設置卷積核窗口大小為3,堆疊4層空洞卷積,則其有效感受野的寬度為31,而普通的卷積感受野僅為9。
空洞卷積的計算方式如式(2)所示。
其中δ為空洞率 ,⊕為向量拼接操作,Wc為窗口大小為r的濾波器,ct為輸出。
為強化數據中的有效信息,并增加流通渠道的多樣性,Dauphin等[9]在卷積的基礎上加入了門控機制,提升了語言模型實體識別的效果。本文在其基礎上進一步拓展,引入了殘差機制,以改善深層網絡帶來的梯度消失問題,同時使信息可在多通道內傳輸。本文采用的門控卷積架構如圖2所示。

圖2 帶有殘差連接的門控卷積架構
每一個卷積門控單元內的操作可用式(3)表示:
其中X表示輸入,Conv1定義為卷積操作1,Conv2定義為卷積操作2,Conv1與Conv2都為空洞卷積,二者所設定的濾波器個數、窗口大小一致,但權值不共享,σ代表sigmoid激活函數,?代表張量的Hardamard積,+代表張量相加。
采用字向量作為輸入,可避免分詞錯誤帶來的影響,同時不存在OOV的問題,但其所包含的文本信息較少,而詞向量又無法充分利用詞中的字間關系,因此本文提出一種融合字向量與詞特征的方案,具體介紹如下。
考慮到每一個字在詞中的位置有四種情況: ①位于詞的開始;②位于詞的中間;③位于詞的末尾;④單個字表示詞。故構建特征矩陣W∈R4×s,其中4表示四種位置情況,s為詞特征矩陣的維度。
給定輸入序列X={x1,x2,…,xn},其中xi代表輸入序列中的字,在經過分詞之后,得到輸入詞序列C={c1,c2,…,cm},其中ci表示序列中索引為i的詞。按照劃分好的詞信息,對每個字賦予位置標簽,0表示所屬詞的開始,1表示所屬詞的中間,2表示所屬詞的末尾,3表示單個字為詞。基于位置的字向量表示如圖3所示。

圖3 基于位置的字向量表示
根據所賦予的位置信息標簽,對文本序列中的每一個字在特征矩陣W中查找對應的詞特征向量,繼而得到與輸入文本相對應的詞特征向量矩陣E2∈Rn×s。
將最終得到的字向量矩陣E1∈Rn×c(其中n表示輸入序列長度,c表示字向量矩陣維度)與詞特征向量矩陣E2∈Rn×s進行拼接,得到輸入向量矩陣E∈Rn×(c+s)。
通過構造轉移矩陣,條件隨機場可考慮到相鄰標簽之間標注的合理性,并輸出一個概率值最大的標注序列。本文在模型輸出層采用了條件隨機場。
給定一個文本X={x1,x2,…,xn},通過CNN層后可得到對應的分數矩陣H∈Rn×L,其中Hi,j表示輸入序列中第i個單詞對應第j個標記的分數,標簽之間的關系可以通過轉移矩陣T∈RL×L來刻畫,其中L為標簽數量。令其可能的標注序列表示為Y={y1,y2,…,yn},定義其得分如式(4)所示。
其標注序列概率計算方式為式(5):
其中U為所有可能的標注序列構成的集合,采用負對數似然作為損失函數,如式(6)所示。
其中Y*為正確的標注序列。在訓練階段,通過反向傳播最小化該損失函數;在測試階段,使用維特比算法將條件概率最大的標注序列作為最終的輸出。
本文在已經公開劃分好的Sina Resume數據集[17]和SIGHAN Bakeoff 2006[23]的MSRA數據集上進行實驗,兩個數據集的規模如表1所示。
Resume數據集包含八種實體,分別是國家(CONT)、教育組織(EDU)、地點(LOC)、人名(PER)、機構(ORG)、職業(PRO)、種族(RACE)、職業名(TITLE)。

表1 實驗所采用數據集介紹
MSRA數據集包含三種實體,分別是人名(PER)、機構名(ORG)、地名(LOC)。
實驗采用F1值來評估命名實體識別效果,其中F1值由P(準確率)和R(召回率)來決定。計算公式如式(7)~式(9)所示。
模型參數設置如表2所示。
模型中字向量(char-embedding)維度設置為100,詞特征向量維度(seg-embedding)設置為20,詞特征矩陣采用了隨機初始化的方式,字向量使用Word2Vec[24]工具訓練,選用了skip-gram[24]模型,上下文掃描窗口設置為5,負采樣值設置為8,迭代次數設置為8。采用了BIO標注方式進行文本標注,空洞卷積的窗口大小設置為3,濾波器個數設置為120,采用優化函數為Adam,初始學習率大小為0.001,學習率縮減步長lr_decay設置為0.05,dropout率設置為0.5,batch_size設置為32,epoch設置為100。

表2 模型參數設置

續表
本實驗采用準確率、召回率和F1值作為評估指標。
3.4.1 MSRA數據集命名實體識別結果與分析
表3展示了在MSRA數據集中的實驗結果,將本文提出的模型同先前的實驗結果做了對比。其中baseline為不加門控機制與詞特征的普通空洞卷積;Chen等[25]、Zhang等[26]、Zhou等[27]運用了豐富的人工定義特征結合CRF進行命名實體識別;Dong等[28]采用Bi-LSTM-CRF的架構進行中文命名實體識別,并且基于漢字的組合結構構建了radical-level特征, 將其與字向量融合; Zhou 等[29]

表3 MSRA數據集命名實體識別實驗結果(%)
使用了基于字符級別的CNN-Bi-LSTM-CRF的架構,通過Bi-LSTM來捕捉文本全局信息,CNN捕捉文本局部信息;Wang等[10]使用完全基于卷積的架構,并在卷積基礎上引入了門控機制;Cao等[18]使用了聯合學習的方法,提取分詞和命名實體識別中的共同詞邊界信息;Zhang 等[17]提出了一種詞格結構,將詞典信息加入到神經網絡中,避免了分詞錯誤。雖然其模型性能最優,但運用了外部數據,且結果依賴于詞典的質量。本文所提出的模型在不引入外部資源的情況下,效果達到了最優。
3.4.2 Resume數據集命名實體識別結果與分析
Resume數據集實體識別結果如表4所示,(1)表示Zhang 等[17]所采用的基于字的LSTM模型,(2)為Zhang 等[17]所采用的基于詞的LSTM模型,(3)為Zhang 等[17]所提出的詞格模型。Zhang 等[17]使用了詞格模型,并且加入了額外的詞典信息,可以看到本文提出的模型性能達到了F1值94.98%,顯示出本文所提出模型的優越性。

表4 Resume數據集命名實體識別實驗結果(%)
通過對比實驗結果,發現在MSRA數據集上,本文所提出的模型結果略低于Zhang 等[17],而在Resume數據集上,本文所提出的模型結果高于Zhang 等[17];筆者分析導致該現象的原因之一為,對于MSRA數據集,數據涉及的領域范圍較廣,在不同文本場景下,同一實體邊界粒度不一致,模型無法從數據集中獲取足夠的信息,準確地區分不同場景下的實體邊界,較依賴于外部資源;但對于Resume數據集,數據涉及的范圍領域較單一,實體邊界劃分較準。故在MSRA數據集上本文所提出模型效果低于Zhang 等[17],而在Resume數據集上模型效果略高于Zhang 等[17]。
3.4.3 對比實驗
為了驗證所提出改進方案的有效性,分別在MSRA和Resume數據集上進行了一系列的對比實驗,結果分別如表5和表6所示。為增強結果的直觀性,將表5結果可視化于圖4中,而將表6結果可視化于圖5中。其中baseline設置為普通空洞卷積,baseline+gate為空洞卷積加上門控機制,baseline+seg為空洞卷積加上詞特征,dgcnn為本文所提出的模型,dgcnn-residual為本文所提出的模型去除殘差結構部分。

表5 MSRA數據集命名實體識別對比實驗結果(%)

圖4 MSRA數據集命名實體識別對比實驗結果
由表5和圖4可看出,引入帶有殘差連接門控機制和詞特征的模型(dgcnn),與基于普通空洞卷積的模型(baseline)相比,其準確率和召回率都有所提升,表示出在無效信息的過濾以及文本表示上具有更優的性能。在MSRA數據集上F1值提升2.08%;相比于未引入殘差連接門控機制的空洞卷積模型(dgcnn-residual),F1值提升0.34%;相比于未引入詞特征的空洞卷積與帶有殘差連接的門控機制相結合模型(baseline+gate),結合詞特征后具有更加豐富的文本信息,改善了實體邊界劃分不準的現象,F1值提升1.51%,召回率提升了2.04%;相比于未引入帶有殘差連接的門控機制模型(baseline+seg),F1值提升0.93%。以上結果顯示出本文所提出模型架構的有效性。

表6 Resume數據集命名實體識別對比實驗結果(%)

續表

圖5 Resume數據集命名實體識別對比實驗結果
從表6和圖5(圖5為表6的可視化結果)中可看出,門控機制與詞特征是模型性能提升的主要因素,相比于基于普通空洞卷積的模型架構(baseline),引入詞特征的模型(baseline+seg)與引入殘差連接的門控機制模型(baseline+gate),在Resume數據集上,分別提升F1值0.6%與0.63%;將詞特征與帶有殘差連接的門控機制相結合的模型(dgcnn)學習到了更多的上下文特征,與baseline相比F1值提升1.27%,召回率R與精確率P均得到明顯的提升。其中在門控特征部分,本文在Dauphin[9]所提出的方案的基礎上加入了殘差連接。為了驗證殘差連接對模型性能的影響,本文還加入了對比實驗(dgcnn-residual),與之相比引入殘差連接的模型(dgcnn)不僅改善了梯度消失的現象,同時也使得信息可以在多通道內流動,F1值提升0.14%。此結果表明該改進可以進一步提升命名實體識別效果。
3.4.4 MSRA數據集模型訓練時間對比及分析
由于Resume數據集規模較小,各模型訓練時間未表現出明顯差異,故本文選擇在規模較大的MSRA數據集上進行訓練時長對比,結果示于表7。采用的對比模型基準為Bi-LSTM-CRF架構,并將普通卷積與空洞卷積速度進行對比,由表7可看出,當本文所提出模型“帶有門控機制空洞卷積”單元層數設置為4層時, 其在訓練階段速度為基于Bi-LSTM-CRF模型的5倍,并且在擁有與普通卷積相同感受野時,其性能優于普通卷積架構;當感受野范圍為15時(空洞卷積堆疊層數為3,普通卷積堆疊層數為7),模型訓練速度約提升了3倍,并且F1值也同時提升了1.4%;當感受野范圍為31時(空洞卷積堆疊層數為4,普通卷積堆疊層數為15),模型訓練速度提升了約5倍,F1值也同時提升了0.09%。以上結果表明了本文所提出模型在速度和性能上的優越性。

表7 MSRA數據集上時間對比
3.4.5 錯誤案例分析
本文進一步對所提出模型在MSRA數據集上各實體類別的識別效果進行分析,如表8所示。

表8 MSRA數據集各個類別實體識別效果(%)
由表8可以看出,PER(人名)的識別效果準確率與召回率較為一致,而LOC(地名)和ORG(機構名)的實體識別效果準確率高于召回率。
出于研究模型在MSRA數據集中,實體識別結果準確率高于召回率的原因,本文選取了測試集中50條錯誤數據進行了分析,從表9中列舉出的錯誤案例可以看出,產生誤差的主要原因在于機構名同地名容易混淆,由實體邊界識別不清所致。例如“特立尼達和多巴哥-中國友好協會”屬于機構名,但模型識別結果將“特立尼達”與“多巴哥”判斷為地名,“中國友好協會”判斷為“機構名”,因此導致準確率較高,召回率偏低。

表9 典型錯誤案例
Zhang等[17]由于使用了大型外部詞典,大大減少了實體邊界識別錯誤的可能性,故表中第三條文本中實體“特立尼達和多巴哥-中國友好協會”可正確識別為機構;對表中第二條文本數據識別出謂詞“設立”,該謂詞將實體“香港特區”與“終審法院”分隔開,正確劃分出兩實體邊界,從而降低了這種易混淆的噪聲數據影響;然而dgcnn于本例中無法正確判斷出謂詞“設立”,導致實體邊界劃分錯誤,將“香港特區設立終審法院”錯誤地判斷為一個實體。故推測通過外部詞典匹配,進而大幅度提高實體邊界識別準確率,是Zhang等[17]所提出模型效果在MSRA數據集上優于本文所提出模型效果的主要原因。
本文提出了一個基于空洞卷積的模型架構,并在此基礎上加入了殘差門控機制,既保證了信息能夠在多通道流通,同時也緩解了梯度消失現象。基于位置的詞特征與字向量融合,改善了字向量表示信息有限的問題,豐富了上下文的特征表示。實驗結果表明,本文所提出的模型在速度和性能上具有明顯優勢。
在未來的工作中,我們將繼續研究如何在降低模型計算量的同時保持模型的性能,并將該架構拓展到自然語言處理的其他任務上。