王 棟,李業(yè)剛,張 曉,蒲相忠
(山東理工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
信息檢索、機(jī)器翻譯、問答系統(tǒng)等自然語言處理任務(wù)是目前人工智能領(lǐng)域的熱門研究方向[1-3]。然而,命名實體識別、短語識別[4]和文本匹配[5]等基礎(chǔ)任務(wù)對于上述熱門研究方向來說則是重要的組成部分[6,7]。
傳統(tǒng)的命名實體識別多采用基于規(guī)則和統(tǒng)計機(jī)器學(xué)習(xí)的方法,例如,最大熵模型(maximum entropy,ME)[8]、條件隨機(jī)場模型(conditional random fields,CRF)[9]、支持向量機(jī)模型(support vector machine,SVM)[10]等。雖然上述方法在命名實體識別任務(wù)中取得了不錯的成績,但是識別效果很依賴特征模板的設(shè)計。相較于傳統(tǒng)方法,利用深度學(xué)習(xí)技術(shù)處理序列任務(wù)可以直接通過神經(jīng)網(wǎng)絡(luò)模型自動獲得序列數(shù)據(jù)的特征信息,更精確地描述命名實體識別問題。
為了獲得更好的識別性能和系統(tǒng)運行速度。本文提出了融合雙向準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)(BQRNN)與條件隨機(jī)場(CRF)的中文命名實體識別模型。該模型中的BQRNN網(wǎng)絡(luò)首先將待標(biāo)注對象和各標(biāo)簽序列所對應(yīng)的得分輸出給CRF模型,由CRF依據(jù)標(biāo)簽之間的約束關(guān)系對標(biāo)簽序列進(jìn)行選取。并且在模型中引入了Attention機(jī)制,進(jìn)一步增強(qiáng)了BQRNN網(wǎng)絡(luò)所獲取的特征信息。
近年來,深度學(xué)習(xí)技術(shù)大量的應(yīng)用在自然語言處理領(lǐng)域。命名實體識別在深度學(xué)習(xí)中常常被定義為序列標(biāo)注任務(wù)。文獻(xiàn)[11]通過深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)獲取文本序列的特征信息,對中文新聞內(nèi)容進(jìn)行命名實體識別。但是由于深度神經(jīng)網(wǎng)絡(luò)模型的窗口固定,導(dǎo)致模型并不能充分地獲取全文信息。于是,具有強(qiáng)大序列建模能力的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)受到了大量研究者的關(guān)注,該網(wǎng)絡(luò)的特點在于當(dāng)前時刻的計算依賴于前一時刻的輸出信息,信息可以在網(wǎng)絡(luò)內(nèi)傳遞,這樣的特點使得模型不再需要使用固定長度的窗口獲取全文信息。不過由于RNN記憶單元的結(jié)構(gòu)相對簡單,并且存在長距離依賴的問題,在使用隨時間進(jìn)行的反向傳播算法(backpropagation through time,BPTT)時,經(jīng)常會面臨梯度消失的問題,這樣就導(dǎo)致網(wǎng)絡(luò)只能學(xué)習(xí)到距離當(dāng)前時刻相對較近的信息。文獻(xiàn)[12]提出了基于長短期記憶網(wǎng)絡(luò)(long-short term memory,LSTM)的命名實體識別方法,該方法所應(yīng)用的LSTM網(wǎng)絡(luò)成功地解決了RNN網(wǎng)絡(luò)存在的梯度爆炸和消失的問題。LSTM網(wǎng)絡(luò)通過增加細(xì)胞狀態(tài)來存儲記憶,避免了使用單一隱藏層的局限性。
基于上述研究的命名實體識別取得了長足的進(jìn)展。具有門限機(jī)制的LSTM網(wǎng)絡(luò)逐漸成為利用深度學(xué)習(xí)技術(shù)處理該任務(wù)的標(biāo)準(zhǔn)模型結(jié)構(gòu)。在英文命名實體識別中,文獻(xiàn)[13]提出了一種具有混合神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的命名實體識別模型,該模型使用BLSTM網(wǎng)絡(luò)和CNN網(wǎng)絡(luò)分別抽取詞級別和字符級別的特征,避免了對特征工程的需要。文獻(xiàn)[14]基于文獻(xiàn)[13]的研究在模型中引入了CRF層,利用序列層面的標(biāo)注信息提高標(biāo)注的性能。相較于英文命名實體識別,中文詞語缺少明顯的詞邊界和大小寫信息,使得中文命名實體識別更加具有挑戰(zhàn)性。文獻(xiàn)[15]提出了一種基于漢字的中文命名實體識別模型,通過BLSTM網(wǎng)絡(luò)提取中文漢字的特征信息,避免引入分詞錯誤影響識別質(zhì)量,并且在特征向量中加入了漢字的字形信息,其性能明顯優(yōu)于基于詞的識別模型。但是,該模型中的LSTM網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,網(wǎng)絡(luò)的訓(xùn)練參數(shù)較多,使得模型在處理較長的序列化文本時,會因為序列數(shù)據(jù)不同部分的狀態(tài)不能并行運算而消耗大量的時間,降低了系統(tǒng)的整體性能。
針對LSTM網(wǎng)絡(luò)缺乏并行性的問題,本文提出融合雙向準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)(BQRNN)與條件隨機(jī)場(CRF)的中文命名實體識別模型(BQRNN-CRF)。該模型使用相較于LSTM網(wǎng)絡(luò)性能更好的準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)(quasi-recurrent neural networks,QRNN)[16]作為基本模型,獲取序列化文本中的特征信息。QRNN訓(xùn)練參數(shù)更少,網(wǎng)絡(luò)結(jié)構(gòu)更簡單,并且具有良好的并行計算能力,更適用于處理長序列文本。CRF模型可以基于序列前后的標(biāo)簽信息進(jìn)行標(biāo)注,減少了不合理的輸出標(biāo)簽組合,并且在模型中添加了Attention機(jī)制增強(qiáng)模型對關(guān)鍵字信息的利用,更好地改善了BQRNN網(wǎng)絡(luò)的輸出,從而實現(xiàn)了端到端的中文命名實體識別。
準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)(QRNN)是一種具有交替卷積層的神經(jīng)序列建模方法,可以實現(xiàn)數(shù)據(jù)的并行處理,并且在輸出時有效地利用了輸入序列的順序信息。QRNN網(wǎng)絡(luò)由卷積層和池化層兩部分組成。
假設(shè)QRNN網(wǎng)絡(luò)的卷積層使用數(shù)量為m的濾波器進(jìn)行卷積運算。對于一個輸入序列X=(x1,x2,…,xT), 通過卷積操作得到序列Z=(z1,z2,…,zT)。 其中,序列X中每個向量的維度為n, 序列Z中每個向量的維度為m。 如果t時刻時,濾波器的寬度為k, 則卷積的范圍為xt-k+1到xt。 卷積層如式(1)~式(3)所示
Z=tanh(Wz*X)
(1)
F=σ(Wf*X)
(2)
O=σ(Wo*X)
(3)
式中:Wz,Wf,Wo為卷積濾波器,σ為激活函數(shù),*表示在時間順序上的卷積運算。當(dāng)濾波器的寬度k增大時,模型可以計算更多的n-gram特征。本文選擇k為2的設(shè)置,此時,QRNN的卷積層如式(4)~式(6)所示
(4)
(5)
(6)
QRNN的池化層用于提取卷積層輸出的特征信息,減少特征數(shù)目。池化層的計算是在動態(tài)平均池化的基礎(chǔ)上,增加了輸出門和遺忘門。這樣的結(jié)構(gòu)與LSTM的門結(jié)構(gòu)非常類似,池化層如式(7)、式(8)所示
ct=ft⊙ct-1+it⊙zt
(7)
ht=ot⊙ct
(8)
式中:f,i,o分別表示遺忘門、輸入門、輸出門,ct表示t時刻時的細(xì)胞狀態(tài),h,c的狀態(tài)初始化為0,⊙表示向量之間的點乘運算。在文本序列處理的每一時刻,池化函數(shù)都需要運算,但是運算的過程具有并行性,所以對于較長的文本序列,運算增加的時間是可以忽略的。池化時QRNN的結(jié)構(gòu)如圖1所示。
圖1 池化時QRNN的結(jié)構(gòu)
條件隨機(jī)場模型(CRF)是一種判別式概率無向圖學(xué)習(xí)模型,主要用于序列數(shù)據(jù)的標(biāo)注和切分,現(xiàn)已成功應(yīng)用在自然語言處理、生物信息學(xué)和機(jī)器視覺等領(lǐng)域。在命名實體識別任務(wù)中,識別模型的輸出標(biāo)簽并不是任意出現(xiàn)的,它們之間有很強(qiáng)的約束關(guān)系,一個字的輸出標(biāo)簽不僅受到全文信息和字本身含義的影響,并且還受到前后輸出標(biāo)簽的影響,例如,標(biāo)簽I-PER不能在B-ORG之后出現(xiàn),這樣便限制了B-ORG之后的輸出標(biāo)簽。所以,如果僅僅使用BQRNN網(wǎng)絡(luò)構(gòu)建命名實體識別模型并沒有考慮這種約束關(guān)系,模型在輸出標(biāo)簽的類別判斷上僅僅考慮了字本身含義的,而沒有考慮與前后的輸出標(biāo)簽的邏輯關(guān)系。因此,本文在BQRNN模型后引入CRF模型,可以對BQRNN網(wǎng)絡(luò)的輸出序列在句子層面進(jìn)行標(biāo)注,以達(dá)到提高識別質(zhì)量的目的。
Attention機(jī)制的核心是一種資源分配思想,旨在模擬人腦的注意力機(jī)制,選擇性地關(guān)注某些重要的特征信息,例如:人在進(jìn)行閱讀活動時,并不是關(guān)注文本的所有內(nèi)容,而是根據(jù)需求集中閱讀特定的內(nèi)容。本文利用Attention機(jī)制的特點將較大的權(quán)值分配給序列化文本中的關(guān)鍵字,將較小的權(quán)值分給其它的漢字。在這里,Attention機(jī)制的注意力權(quán)重αi的計算如式(9)、式(10)所示
ui=tanh(Wuht+b)
(9)
(10)
其中,Wu為權(quán)重矩陣,b為偏置項,M為上下文矩陣,ui為ht的隱藏層表示。
圖2給出了本文提出的BQRNN-CRF模型框架。
(11)
圖2 基于BQRNN-CRF的中文命名實體識別模型
BQRNN網(wǎng)絡(luò)的輸出ht經(jīng)過Attention的處理后,便獲得到第i個字的注意力權(quán)重αi, 利用注意力權(quán)重αi對ht進(jìn)行加權(quán)計算得到輸出表示Ht, 如式(12)所示
(12)
此時,使用CRF模型進(jìn)一步提取句子前后的標(biāo)簽信息,達(dá)到提高標(biāo)注性能的目的。假定目標(biāo)序列為Y=(y1,y2,…,yn), 其分值如式(13)所示
(13)
其中,P是BQRNN網(wǎng)絡(luò)輸出的分?jǐn)?shù)矩陣;A為標(biāo)簽轉(zhuǎn)移矩陣,表示時間順序上從第yi個標(biāo)簽轉(zhuǎn)移到第yi+1個標(biāo)簽的概率。進(jìn)而可以利用softmax得到序列Y的概率,如式(14)所示
(14)
模型訓(xùn)練時,采用最大似然估計訓(xùn)練模型參數(shù),其計算公式如式(15)所示
logP(y|x)=s(X,Y)-log∑Y′exp(s(X,Y′))
(15)
模型訓(xùn)練結(jié)束后使用Viterbi算法獲得最終的標(biāo)簽序列,其中,Y′表示所有可能的標(biāo)簽序列,在預(yù)測標(biāo)簽序列時,輸出預(yù)測分?jǐn)?shù)最大的序列,如式(16)所示
(16)
本文實驗使用Bakeoff-3用于評測中文命名實體識別技術(shù)的MSRA數(shù)據(jù)集。該數(shù)據(jù)集是由微軟亞洲研究院為中文命名實體識別任務(wù)提供的簡體漢字?jǐn)?shù)據(jù)集,是一個經(jīng)典公開的中文命名實體識別數(shù)據(jù)集。語料包含了3種類型的命名實體,包括:地名、人名、組織機(jī)構(gòu)名。MSRA數(shù)據(jù)集的詳細(xì)劃分信息見表1。
在基于深度學(xué)習(xí)技術(shù)的命名實體識別中,序列化文本不能直接輸入到神經(jīng)網(wǎng)絡(luò)中,需要預(yù)先轉(zhuǎn)化為向量的形式。由于QRNN網(wǎng)絡(luò)非常適用于長序列任務(wù)的處理,例如,字符級別的文本數(shù)據(jù)處理。所以本文采用字向量作為模型的輸入,避免分詞錯誤影響模型的性能,同時也可以減少文本中的未登錄詞對識別效果的影響。在本文的實驗中,采用[-0.25,0.25]區(qū)間內(nèi)隨機(jī)初始化的方式得到字向量。
在對語料進(jìn)行標(biāo)注時,命名實體通常不是由一個詞組成,而是由多個詞組成,因此需要為文本中的每個字分配一個命名實體標(biāo)簽。本文采用BIO的標(biāo)注策略,其中,O表示非實體,B表示實體起始邊界,I表示實體起始邊界后的部分。這樣便可以將命名實體識別作為在類別標(biāo)簽上進(jìn)行類別判斷的分類問題。本文實驗的性能評價指標(biāo)使用精確率P、 召回率R、F1值,其計算公式如式(17)~式(19)所示
(17)
(18)
(19)
模型超參數(shù)設(shè)置不僅決定了整個模型訓(xùn)練過程中的運行速度,而且影響了模型的識別性能。在實驗的過程中發(fā)現(xiàn),batch_size、網(wǎng)絡(luò)的隱藏層單元數(shù)(Hidden units)、dropout的設(shè)置對模型的運行速度和識別性能具有重要的意義。其中,較大的QRNN隱藏層單元數(shù)會增加模型的復(fù)雜程度,降低模型的泛化能力。較小的隱藏層單元數(shù)會導(dǎo)致特征提取的效果不佳;使用dropout可以有效地防止模型過擬合,保存序列信息,提高模型的泛化能力;采用適合的batch_size設(shè)置可以提高內(nèi)存的利用率和模型訓(xùn)練的速度,并且使得梯度下降的方向更加準(zhǔn)確。
為了獲得模型的最佳性能,本文對模型batch_size、隱藏層單元數(shù)、dropout這3種參數(shù)的選取進(jìn)行了實驗分析,實驗結(jié)果如圖3、圖4所示。首先考察了在不同dropout設(shè)置的情況下,QRNN隱藏層單元數(shù)對模型性能的影響。實驗中QRNN隱藏層單元數(shù)選取的范圍是100~500,間隔為100。dropout的設(shè)置分別選取0.2、0.3、0.4、0.5。圖3為采用4種dropout設(shè)置時,QRNN隱藏層單元數(shù)對模型識別效果的影響趨勢圖。
圖3 Hidden units和dropout的影響
圖4 batch_size的影響
通過圖3所示的實驗結(jié)果可知,本文模型在隱藏層單元數(shù)取400,dropout取0.2時系統(tǒng)性能達(dá)到了最優(yōu)的效果。圖4所示的實驗結(jié)果為不同的batch_size大小對模型性能的影響。
從圖4所示的結(jié)果可以看出,采用不同的batch_size數(shù)值,模型性能有一定程度的變化,當(dāng)batch_size數(shù)值過大時,會降低模型的泛化能力,導(dǎo)致識別效果不佳。當(dāng)batch_size數(shù)值為32時,模型達(dá)到了最佳的性能。
綜合以上參數(shù)實驗,選取了模型的隱藏層單元數(shù)為400,dropout為0.2,batch_size為32的超參數(shù)設(shè)置。并且采用了Adam算法優(yōu)化模型,提高模型的收斂速度。具體的參數(shù)設(shè)置見表2。
為了評估本文模型在MSRA數(shù)據(jù)集上的模型性能,本文設(shè)計了6組實驗來進(jìn)行對比和分析,包括長短期記憶網(wǎng)絡(luò)(LSTM)模型實驗、雙向長短期記憶網(wǎng)絡(luò)(BLSTM)模型實驗、雙向準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)(BQRNN)模型實驗、BLSTM-CRF模型實驗、BQRNN-CRF模型實驗和BQRNN-CRF+Attention模型實驗。以下是對上述6組模型實驗的簡介:
表2 模型超參數(shù)統(tǒng)計
(1)LSTM
該模型使用字向量作為輸入,采用長短期記憶網(wǎng)絡(luò)LSTM構(gòu)建中文命名實體識別模型。
(2)BLSTM
在實驗(1)的基礎(chǔ)上,采用雙向長短期記憶網(wǎng)絡(luò)BLSTM構(gòu)建模型。
(3)BQRNN
在實驗(1)的基礎(chǔ)上,采用雙向準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)BQRNN構(gòu)建模型。
(4)BLSTM-CRF
該模型是文獻(xiàn)[14]和文獻(xiàn)[15]的主干模型,是應(yīng)用最為廣泛的基本模型結(jié)構(gòu)。這里采用文獻(xiàn)[15]中基于漢字的BLSTM-CRF模型進(jìn)行實驗。
(5)BQRNN-CRF
本文提出的BQRNN-CRF模型,使用字向量作為輸入,未添加Attention機(jī)制。
(6)BQRNN-CRF+Attention
在實驗(5)的基礎(chǔ)上,加入了Attention機(jī)制。
表3給出了6種模型的中文命名實體識別實驗結(jié)果比較。
表3 實驗結(jié)果對比
根據(jù)表3中前3組模型的實驗結(jié)果可以看出,BLSTM網(wǎng)絡(luò)能夠綜合考慮序列化文本的上下文信息,與單向的LSTM網(wǎng)絡(luò)相比系統(tǒng)性能有了較明顯的提升,F(xiàn)1值達(dá)到了85.84%。BQRNN模型實驗的F1值比BLSTM模型提高了0.42%。與此同時,通過BLSTM模型、BLSTM-CRF模型、BQRNN模型和BQRNN-CRF模型的實驗結(jié)果對比可以看出,CRF模型與神經(jīng)網(wǎng)絡(luò)所構(gòu)成的聯(lián)合模型可以明顯地提高命名實體識別的性能。究其原因,聯(lián)合模型在考慮上下文信息的同時,通過CRF模型獲得了序列級別的標(biāo)簽信息,所以標(biāo)注的性能得到了進(jìn)一步的提高。相較于BLSTM-CRF模型,未添加Attention機(jī)制的BQRNN-CRF模型的F1值有了0.45%的提高,其主要原因是QRNN可以基于序列數(shù)據(jù)并行運算,具有較高的吞吐量和長序列縮放性。BQRNN-CRF模型添加了Attention機(jī)制后,模型的F1值達(dá)到了90.12%,相比未添加Attention機(jī)制的模型F1值提高了1.36%。
本文在MSRA數(shù)據(jù)集上進(jìn)行了BLSTM-CRF和BQRNN-CRF兩種模型的運行時間對比實驗,統(tǒng)計了兩種模型的運行時間。實驗過程中,兩組模型采用了相同的參數(shù)設(shè)置。實驗結(jié)果見表4。
表4 兩種模型運行時間的對比
從兩種模型運行時間對比實驗的結(jié)果可以看出,BQRNN-CRF模型的訓(xùn)練時間比BLSTM-CRF模型減少了約40%。綜合實驗結(jié)果,驗證了本文提出的BQRNN-CRF模型與BLSTM-CRF模型相比具有更快的系統(tǒng)運行速度,模型的整體性能得到了有效的提升。
提高命名實體識別的速度和性能,對于推動命名實體識別的發(fā)展具有重要的應(yīng)用價值,本文提出的基于BQRNN-CRF的中文命名實體識別模型,具有良好的識別效果,運行速度的提升最為明顯,顯著優(yōu)于BLSTM-CRF模型。隨著大數(shù)據(jù)時代的到來,跨領(lǐng)域的命名實體識別需求越來越大,下一步的研究方向會嘗試從解決命名實體識別領(lǐng)域適應(yīng)性的角度出發(fā),構(gòu)建能夠處理多領(lǐng)域文本的命名實體識別模型。