蔡雨岐,郭衛斌
(華東理工大學信息科學與工程學院,上海 200237)
序列標注是自然語言處理領域的一個基本任務,目的是通過給文本序列中的每個詞進行標注得到對應的標簽序列,包括命名實體識別NER(Named Entity Recognition)、詞性標注POS(Part Of Speech)及詞匯組塊(Chunking)等子任務。序列標注在自然語言處理中發揮著重要作用,其性能對于機器翻譯和智能問答等下游應用有著重要影響。
目前,主流的序列標注方法多使用循環神經網絡RNN(Recurrent Neural Network)或其變體來直接提取序列中的上下文信息,即按照序列的輸入順序,利用網絡生成的所有歷史信息來遞歸地對每一個單詞進行編碼,有效提取序列中單詞之間的連續依賴關系。但是,這種方法捕獲離散依賴關系的能力不強,同時也忽略了詞與標簽之間的聯系。在序列標注任務中,序列中每一個詞的最終標注結果都受其他所有詞的影響,這種影響與距離無關,句子中的末尾詞可能對句首詞的最終標注結果產生很大影響。以命名實體識別為例,在“Amazon is one of the largest online e-commerce companies”這一句子中,將“Amazon”標注為“機構”主要依賴于“companies”。由此可見,序列中詞之間的離散依賴關系也十分重要。其次,詞與標簽之間也存在一定關聯,若上下文編碼過程中學習到正確的標簽知識[1,2],能夠提升模型的性能。
為了更好地捕獲序列中的離散依賴關系,同時增強詞與標簽的聯系,本文提出了一種基于多級語義信息融合編碼的序列標注方法。首先,采用雙向長短期記憶網絡BiLSTM(Bidirectional Long Short-Term Memory)[3]提取序列上下文語義信息;然后,利用注意力機制將標簽語義信息添加到上下文語義信息中,得到融合標簽信息的上下文語義信息;接著,引入自注意力機制捕捉序列中的離散依賴關系,得到含有離散依賴關系的上下文語義信息;再使用融合機制對3種語義信息進行融合,得到一種全新的語義信息;最后,使用條件隨機場CRF(Conditional Random Fields)[4]對全新的語義信息進行建模,得到對應的標簽序列。通過對比實驗發現,融合標簽信息的上下文語義信息和含有離散依賴關系的上下文語義信息,在單獨使用的情況下,相比于基準模型性能有提升,但提升幅度要小于使用多級語義信息融合編碼的模型,驗證了基于多級語義信息融合編碼的序列標注方法的合理性與有效性。
傳統的序列標注方法主要是基于經典的機器學習模型,如隱馬爾可夫模型HMM(Hidden Markov Model)[5]、條件隨機場CRF[5]和支持向量機SVM(Support Vector Machine)[6]等。傳統的序列標注方法取得了成功,但是其所使用的特征需要手工制作,使得系統的設計成本過高,且泛化能力較弱,在新的數據集上很難達到好的效果。近年來,隨著深度神經網絡的不斷發展,其在訓練過程中自動提取特征的能力引起了研究人員的關注。
Collobert等人[7]率先使用固定大小窗口的簡單前饋神經網絡提取上下文語義信息,并通過CRF層生成最終的標記序列,取得了不錯的實驗結果。然而,通過窗口對序列進行編碼只能提取到鄰近詞的信息,忽略了序列中的長距離連續依賴關系。雙向長短期記憶網絡BiLSTM因為具有良好的序列信息保存能力,被廣泛應用于各種序列建模任務當中。Huang等人[8]首先利用BiLSTM對序列進行編碼,得到序列的上下文語義表示后,利用CRF層解碼生成最終的序列標記。在此基礎上,Lample等人[9]和Ma等人[10]分別使用BiLSTM和卷積神經網絡CNN(Convolutional Neural Network)對序列字符級別的特征進行編碼;Liu等人[11]在使用BiLSTM提取字符特征的基礎上加入了語言模型進行聯合訓練;Yamada等人[12]和Jiang等人[13]使用了新的詞嵌入模型,通過引入外部知識來提升模型的性能。上述模型在序列標注任務中都取得了很好的成績,但都沒有有效捕捉詞之間的離散依賴關系。
自注意力機制(Self-Attention)[14]能夠無視距離建模序列中任意2個詞依賴關系的能力引起了研究人員的關注,如何利用自注意力機制提高自然語言處理任務的性能,成為了當前研究的熱點。目前,通過引入自注意力機制,閱讀理解[15]、情感分析[16]和機器翻譯[14]等自然語言處理任務的性能都得到了提升。同時有大量研究表明,在原有的語義信息上加入標簽語義信息[17-20],增強序列與標簽之間的依賴關系能夠得到更好的實驗結果。
本文受以上研究啟發,提出了一種新的語義信息編碼方法。首先,利用注意力機制生成包含序列離散依賴關系的語義信息,以及包含序列與標簽依賴關系的語義信息;然后,設計了一種新的語義信息融合機制,將不同的語義信息融合在一起。在新的語義信息中既包含了序列的離散依賴關系,又包含了序列與標簽之間的依賴關系。實驗結果表明,本文提出的多級語義信息融合編碼方式與基準模型相比性能有明顯提升。
序列標注任務可以看成一個分類任務,目的是給序列中的每一個單詞選擇一個最佳標記。即給定序列X=(X1,X2,…,Xn),求出對應的標記序列(y1,y2,…,yn)。本文提出了一種基于多級語義信息融合編碼的序列標注方法,具體標注過程如圖1所示。

Figure 1 Process of sequence labeling based on multi-level semantic information fusion coding
首先,使用第1層BiLSTM提取原始序列的上下文語義信息,并將其輸入多級語義信息融合層;在多級語義信息融合層中,利用注意力機制生成包含序列離散依賴關系的語義信息和包含序列與標簽依賴關系的語義信息,然后將3種語義信息進行融合得到新的語義信息;第2層BiLSTM對新的語義信息進行建模,進一步從新的語義信息中提取特征;最后,將這些特征輸入CRF層中,利用CRF預測出最終的標簽序列。
給定文本序列(X1,X2,…,Xn),其中Xi表示序列中的第i個單詞。首先使用BiLSTM對序列進行字符編碼,提取序列字符級別的特征,得到單詞字符級別的向量表示,如式(1)所示:
(1)

將ci與預先訓練好的詞向量ei進行拼接得到單詞的分布式表示。對于給定單詞Xi,其單詞的分布式表示xi如式(2)所示:
xi=[ci;ei]
(2)
本文使用BiLSTM來學習序列的上下文特征表示,共有2個BiLSTM編碼層。

(3)
H={h1,h2,…,hn}
(4)
第2個BiLSTM層的輸入為融合后的語義信息,通過對新的語義信息進行建模,進一步從新的語義信息中提取上下文特征。
BiLSTM按照順序處理輸入的文本序列,以遞歸的方式將每個單詞的前向隱藏狀態和后向隱藏狀態拼接起來,作為每個單詞的上下文信息表示。在此基礎上,為了更好地捕捉序列中的離散依賴關系以及充分利用標簽信息,本文提出了一種多級語義信息融合編碼方式。
(1)使用多頭自注意力機制對序列的上下文語義信息H進行建模,增強序列中任意2個單詞之間的依賴關系,進而得到含有離散依賴關系的上下文語義信息Hs。對于輸入序列H,定義Q=K=V=H,其中Q,K和V分別表示查詢向量序列、鍵向量序列和值向量序列。多頭自注意力機制計算如式(5)~式(7)所示:
(5)
(6)
Hs=concat(head1,…,headm)Ws
(7)



再利用多頭注意力機制將標簽語義信息添加到序列的上下文語義信息H中,得到融合標簽語義信息的上下文語義信息Hl。輸入序列為H,定義Q=H,K=V=Le,Le為標簽的分布式表示。具體計算同式(5)~式(7),最后得到輸出Hl。
(3)由(1)可知,Hs和Hl中包含了一部分H的信息,因此需要通過遺忘機制增強Hs和Hl中的特殊語義信息。首先通過線性變換和非線性激活函數tanh、sigmoid生成對應的遺忘因子λ,如式(8)和式(9)所示:
(8)
(9)
接著使用融合門自適應地分別將Hs和Hl中的語義信息與H中的語義信息結合起來,得到zs和zl,如式(10)和式(11)所示:
zs=(1-λs)⊙H+λs⊙Hs
(10)
zl=(1-λl)⊙H+λl⊙Hl
(11)
最后將3種語義信息進行拼接,得到融合多級語義信息的Hf,如式(12)所示:
Hf=concat(H,zs,zl)
(12)
不同于普通的分類任務,序列標注任務中的標簽之間具備一定的相關性,序列中元素的標簽正確與否往往取決于鄰近元素的標簽。因此,在對元素進行標簽預測時,還需要考慮相鄰標簽之間的相關性,從而得到最優的標注序列。

(13)
(14)
其中,Wyi-1,yi和byi-1,yi分別表示標簽對(yi-1,yi)的狀態轉移矩陣和偏置矩陣中的相應值,這些參數在訓練過程中被不斷優化,從而讓條件概率達到最大值。最后,選取極大似然函數L為目標函數,如式(15)所示:
(15)
其中,Y為所有可能的序列標注的集合。
本文針對命名實體識別NER、詞性標注POS和詞性組塊Chunking等序列標注子任務進行實驗,從而綜合評估本文方法的性能,所使用的數據集分別為CoNLL03 NER、WSJ和CoNLL00 chunking等公開數據集,表1是3個數據集的具體統計情況。

Table 1 Information of three datasets
在單詞的分布式表示過程中,使用隱藏狀態大小為25維的BiLSTM學習單詞字符級別的表示,得到維度大小為50的字符嵌入,然后與預訓練好的100維度的glove詞嵌入[21]進行拼接,得到150維度的單詞分布式表示。上下文編碼過程中BiLSTM的隱藏狀態維度設置為256,層數為1,在多級語義信息融合編碼階段,設置多頭注意力機制中的h=8。為了防止過擬合,在詞嵌入與神經網絡之后添加了dropout層,dropout參數分別設置為0.1和0.3。
在模型訓練過程中,使用隨機梯度下降優化函數訓練模型參數,初始學習率η0=0.02,學習率更新方式為ηt=0.9ηt-1,batch_size=32,max_epoch=100。
POS實驗采用精確度Accuracy來評估實驗結果,NER和Chunking實驗采用綜合評價指標F1值來評估實驗結果,具體計算如式(16)~式(18)所示:
(16)
(17)
(18)
其中,TP表示正例樣本中被預測為正例樣本的數目,FP表示反例樣本中被預測為正例樣本的數目,FN表示正例樣本中被預測為反例樣本的數目。
為了綜合評估模型的性能,定義深度學習模型將所有輸入數據完整運行一次的時間為模型的訓練時間,所有輸入數據完整運行一次的過程稱為一個epoch。本文記錄模型的訓練時間以及模型達到收斂所需的epoch數量,用于評估模型的效率。
本文所提出的基于多級語義信息融合編碼的序列標注方法對BiLSTM-CRF基準模型做出了改進,為了驗證本文方法的有效性與合理性,本文自主設計了4種對比實驗,每種對比實驗重復實驗5次,取平均值做為最終結果。同時,為了綜合評估改進模型的性能,在經典的NER任務中,本文選取了BiLSTM-CRF基準模型和幾個在其基礎上改進的經典模型進行對比。4種自主設計的對比實驗如下所示:
(1)BiLSTM-CRF:經典的BiLSTM-CRF模型,基于Huang等人[8]提出的序列標注模型,在單詞層級上使用3.1節的單詞分布式表示方法。
(2)BiLSTM-CRF+SA:在BiLSTM-CRF的基礎上,添加自注意力機制捕獲序列中的離散依賴關系。
(3)BiLSTM-CRF+LA:在BiLSTM-CRF的基礎上,使用標簽嵌入生成標簽語義關系,然后利用多頭注意力機制將標簽語義關系添加到原始語義關系中,增強序列元素與標簽之間的聯系。
(4)BiLSTM-CRF+FA:在BiLSTM-CRF的基礎上,通過(2)和(3)得到包含序列離散依賴關系的語義信息以及包含序列與標簽依賴關系的語義信息,然后將這2種語義信息與原始語義信息融合得到新的語義信息。
4.4.1 NER實驗結果
上述算法在NER任務上的實驗結果如表2所示。其中,Lample等人[9]和Ma等人[10]分別使用BiLSTM和CNN對序列字符級別的特征進行編碼,Liu等人[11]在使用BiLSTM提取字符特征的基礎上加入了語言模型進行聯合訓練。

Table 2 Comparison of experimental results of different models on NER
從表2可以看出,相比于經典的BiLSTM-CRF模型,加入使用自注意力機制的語義信息后,F1分數提高了0.27%;加入融合標簽嵌入信息的語義信息后,F1分數提高了0.18%;加入融合多級語義信息的新型語義信息后,F1分數提高了0.39%。相比于Huang等人實現的基準模型,本文改進的BiLSTM-CRF+SA模型的F1分數提高了1.04%;BiLSTM-CRF+LA模型的F1分數提高了0.95%;BiLSTM-CRF+FA模型的F1分數提高了1.16%。
總之,對比算法所取得的實驗效果均不如本文所提方法對基準模型改進后的效果。
4.4.2 POS實驗結果
上述算法在POS任務上的實驗結果如表3所示。

Table 3 Comparison of experimental results of different models on POS
從表3可以看出,相比于經典的BiLSTM-CRF模型,加入使用自注意力機制的語義信息后,準確率提高了0.06%;加入融合標簽嵌入信息的語義信息后,準確率提高了0.04%;加入融合多級語義信息的新型語義信息后,準確率提高了0.09%。相比于Huang等人[8]實現的基準模型,BiLSTM-CRF+SA模型的準確率提高了0.15%;BiLSTM-CRF+LA模型的準確率提高了0.13%;BiLSTM-CRF+FA模型的準確率提高了0.18%。
4.4.3 Chunking實驗結果
上述算法在Chunking任務上的實驗結果如表4所示。從表4可以看出,相比于經典的BiLSTM-CRF模型,加入使用自注意力機制的語義信息后,F1分數提高了0.22%;加入融合標簽嵌入信息的語義信息后,F1分數提高了0.09%;加入融合多級語義信息的新型語義信息后,F1分數提高了0.38%。相比于Huang等人[8]實現的基準模型,本文所實現的BiLSTM-CRF+SA模型的F1分數提高了0.41%;BiLSTM-CRF+LA模型的F1分數提高了0.28%;BiLSTM-CRF+FA模型的F1分數提高了0.57%。

Table 4 Comparison of experimental results of different models on Chunking
4.4.4 模型訓練時間結果對比與分析
本文所提方法改進的模型在不同數據集上的訓練時間如表5所示。從表5可以看出,在3個數據集上,模型訓練時間滿足如下關系:BiLSTM-CRF+FA > BiLSTM-CRF+SA > BiLSTM-CRF+LA > BiLSTM-CRF。

Table 5 Comparison of the training time of models on different data sets and the number of epochs required for training
從模型結構上來看,前3種模型相比于基準模型多了一個BiLSTM層,因此訓練時間增加較為明顯;3種模型的線性變換結構不同,訓練時間雖然有差異,但差距較小;BiLSTM-CRF+FA模型結構最復雜,所以訓練時間最長。
在NER任務和Chunking任務上,BiLSTM-CRF+FA模型的F1分數相比于基準模型提升較大,訓練所需時間提升較小;在POS任務上,BiLSTM-CRF+FA模型的準確率相比于基準模型提升較小,但是訓練所需時間提升較大。因此,在解決NER問題和Chunking問題時,BiLSTM-CRF+FA模型是最好的選擇;在解決POS問題時,如果要選擇最高的準確率,也應該選擇BiLSTM-CRF+FA模型。
從表5還可以看出,在NER任務上,模型達到收斂所需的訓練時間較短,不同的模型所需時間相差不大,均為1~2 h;在POS任務上,BiLSTM-CRF+FA模型達到收斂所需的訓練時間最長,需要將近10 h,經典的BiLSTM-CRF模型所需時間最短,需要7 h;在Chunking任務上,模型達到收斂所需的訓練時間大約為1 h。
4.4.5 實驗結果分析
通過對比實驗可以看出:
(1)在基準模型上加入使用自注意力機制的語義信息后,模型性能在3個任務上都有提升。這說明利用自注意力機制能捕獲序列中的離散依賴關系,且使用包含序列離散依賴關系的語義信息能提高模型的性能。
(2)在基準模型上加入融合標簽嵌入信息的語義信息后,模型性能在3個任務上都有提升。這說明在訓練過程中優化標簽嵌入向量的參數能夠使標簽具備語義信息,且利用注意力機制可以建立序列元素與標簽之間的依賴關系,合理利用這種依賴關系能提高模型的性能。
(3)BiLSTM-CRF+SA模型的整體性能優于BiLSTM-CRF+LA的。這說明在本文提出的模型中,序列間離散依賴關系對最終序列標注結果的影響大于序列元素與標簽之間的依賴關系的。
(4)BiLSTM-CRF+FA模型的性能在3個任務上都取得了最好的結果。這說明本文提出的融合機制能有效地將3種語義信息融合成為1種新的多級語義信息,使新的語義信息同時包含了序列中的離散依賴關系與序列元素與標簽之間的依賴關系,且在后續的神經網絡中使用融合后的多級語義信息提升了模型性能。
本文提出了一種基于多級語義信息融合編碼的序列標注方法。針對BiLSTM-CRF基準模型無法有效捕獲序列中離散依賴關系的缺點,引入自注意力機制生成包含離散依賴關系的語義信息;在此基礎上,將標簽語義信息加入原始語義信息中,建立序列與標簽之間的聯系;最后通過融合機制生成一種新的多級語義信息。通過多組對比實驗發現,本文提出的方法改進的模型相比于基準模型在性能上有顯著提升,驗證了本文所提方法的合理性與有效性。從實驗結果可以看出,序列間的離散依賴關系是影響序列標注最終結果的一個重要因素,因此設計出相應方法以更高效地捕捉序列間離散依賴關系是未來的一個重要研究方向。