劉成漢 何 慶 童斌斌
(1.貴州大學(xué)大數(shù)據(jù)與工程學(xué)院 貴州貴陽 550025;2.貴州省公共大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室 貴州貴陽 550025)
信息抽取(Information Extraction,IE)目的是從大量非結(jié)構(gòu)或半結(jié)構(gòu)的文本中抽取結(jié)構(gòu)化信息[1],其主要任務(wù)包括:實(shí)體消歧、時(shí)間抽取、命名實(shí)體識(shí)別和實(shí)體關(guān)系抽取等。關(guān)系抽取任務(wù)是將目標(biāo)實(shí)體的關(guān)系抽取出來,為下游復(fù)雜系統(tǒng)的構(gòu)建提供數(shù)據(jù)支撐[2],其應(yīng)用包括,自動(dòng)問答、機(jī)器翻譯等。隨著近年來研究的深入,關(guān)系抽取問題得到廣泛的關(guān)注。
近年來,深度學(xué)習(xí)方法被廣泛地應(yīng)用到實(shí)體關(guān)系抽取任務(wù)中。徐躍峰等人[3]通過卷積深度神經(jīng)網(wǎng)絡(luò)(CDNN)提取原始文本中詞級(jí)和句級(jí)特征,解決了傳統(tǒng)抽取方法在特征提取過程中的錯(cuò)誤傳播問題。王凱等人[4]提出了基于長短期記憶網(wǎng)絡(luò)的方法,在句法依存樹的最短路徑基礎(chǔ)上,融入詞性、句法等特征進(jìn)行關(guān)系分類。以上學(xué)者在文本表征模塊主要采用了Word2Vec語言模型,但這種表征方法對(duì)于后續(xù)任務(wù)的效果提升非常有限,因?yàn)樵摲椒ㄖ荒軐W(xué)習(xí)到文本無關(guān)上下文的淺層表征。為了解決Word2Vec為代表的文本表征方法的缺陷,BERT語言模繼出現(xiàn)并得到廣泛的應(yīng)用,例如,趙旸等人[5]利用BERT進(jìn)行中文醫(yī)學(xué)文獻(xiàn)分類研究,體現(xiàn)了BERT模型的分類優(yōu)越性;王昆等人[6]針對(duì)長文本噪聲大和冗余性為標(biāo)題,提出了一種基于文本篩選和改進(jìn)BERT的情感分析模型。雖然上述方法取得了較好的效果,但目前針對(duì)關(guān)系抽取任務(wù)的性能有待進(jìn)一步提高。
綜上所述,本文提出了一種BERT-BiLSTM-Attention模型,首先通過研究BERT微調(diào)的方法學(xué)習(xí)到文本的深層次特征,然后引入字級(jí)注意力機(jī)制提高對(duì)關(guān)系抽取任務(wù)和情感分類任務(wù)起決定性作用的字權(quán)重,降低無關(guān)詞的作用,同時(shí)避免了在靜態(tài)詞向量上直接添加注意力機(jī)制導(dǎo)致無法充分理解句子語義的問題,進(jìn)而提升整個(gè)分類模型的性能。通過在英文公共數(shù)據(jù)集SemEval2010 Task8上的實(shí)驗(yàn)結(jié)果表明,與BiLTSM-Attention主流模型相比,本文所提出的模型具有更高的性能。
BERT-BiLSTM-Attention模型如圖1所示,主要分為三部分:先通過BERT模型訓(xùn)練獲取每則文本的語義表示;再將文本中每個(gè)字的向量表示輸入到BiLSTM-Attention模型中,進(jìn)行進(jìn)一步語義分析;最后利用softmax層進(jìn)行輸出。

圖1 本文模型
對(duì)于自然語言處理任務(wù),首先要將文本向量化,這一過程稱為詞嵌入,但之前提出的word2Vec模型只能學(xué)到本文的表層特征,用靜態(tài)的詞向量來表示詞的多個(gè)語義,所以不能更好的理解文本語義。與Word2Vec相比,BERT模型(如圖2所示)采用的編碼方式為雙向的Transformer結(jié)構(gòu),“雙向”代表了模型在處理一個(gè)詞時(shí),會(huì)根據(jù)該詞的上下文關(guān)系來表征該詞在本文中的具體語義信息。
BERT的訓(xùn)練是BERT模型最關(guān)鍵的階段,通過對(duì)海量的文本進(jìn)行訓(xùn)練,學(xué)到到每個(gè)詞的表征,用向量W表示,如公式1所示:

式中,W(i)表示第i個(gè)文本的向量矩陣,N代表每則本文的最大句子長度,WN(i)表示文本中每個(gè)單詞的表征向量。在英文數(shù)據(jù)集上,本文采用的是BERT預(yù)訓(xùn)練的模型表征,在其基礎(chǔ)上進(jìn)行微調(diào)。
長短期記憶網(wǎng)絡(luò)(LSTM)作為一種序列模型,在眾多的NLP任務(wù)中都取得了較好的效果,它解決了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的梯度消失以及無法獲取長距離文本信息的問題。但是,LSTM只能獲取單向的語義信息,無法同時(shí)得到文本的上下文信息,而在實(shí)際的文本中,前后信息都蘊(yùn)含著豐富的語義信息。為此,本章引入了LSTM的擴(kuò)展模型雙向長短期記憶網(wǎng)絡(luò)(BiLSTM),它可以充分的利用前向和后向的上下文信息,使得模型能夠更好的理解句子語義特征。在本章模型中,BiLSTM作為動(dòng)態(tài)預(yù)訓(xùn)練模型BERT的下一層,能對(duì)BERT輸出的文本向量進(jìn)行雙向?qū)W習(xí)并拼接,以得到句子進(jìn)行更深層次的理解,下述公式2~公式12詳細(xì)的闡述了BiLSTM的計(jì)算過程。

式中,→和←分別表示神經(jīng)網(wǎng)絡(luò)的前向計(jì)算和后向計(jì)算的過程,it、ft和ot分別表示在t時(shí)刻神經(jīng)網(wǎng)絡(luò)的輸入門、遺忘門和輸出門。ct表示的是在t時(shí)刻細(xì)胞狀態(tài)中的計(jì)算公式,ht是t時(shí)刻雙向長短期記憶網(wǎng)絡(luò)的完整輸出,它是由t時(shí)刻前向輸出和后向輸出進(jìn)行向量拼接得到的。
在經(jīng)過Embedding層和解碼層之后,由于長短期記憶網(wǎng)絡(luò)信息傳遞的梯度消失和信息傳遞的容量限制問題,只能夠提取到輸入信息的局部依賴關(guān)系。所以為了增強(qiáng)模型對(duì)于長句的建模能力,同時(shí)增強(qiáng)信息之間的依賴關(guān)系,本章在模型的頂層加入Attention層,目的是為了提高模型捕捉句子內(nèi)部語義信息的相互聯(lián)系,同時(shí)增強(qiáng)對(duì)關(guān)系抽取任務(wù)起關(guān)鍵性作用的字的權(quán)重,從而降低無關(guān)字詞的權(quán)重值,通常注意力機(jī)制中的權(quán)重采用公式13進(jìn)行計(jì)算:

式中,f是一個(gè)將待計(jì)算向量mt和影響權(quán)重因子n聯(lián)系起來的函數(shù),l表示需要分配權(quán)重的向量個(gè)數(shù),at是注意力機(jī)制中自動(dòng)計(jì)算的mt向量的權(quán)重,采用Softmax歸一化,使得所有權(quán)重的和為1。
本節(jié)模型中注意力計(jì)算公式如公式14~公式17所示,在得到BiLSTM隱層輸出H={h1,h2,…,hn}之后,字級(jí)注意力層可以通過下述公式進(jìn)行計(jì)算:

式中,先將隱層輸出H變換到[-1,1]之間,W是注意力機(jī)制的權(quán)重參數(shù),是一個(gè)可訓(xùn)練參數(shù),h*?jiǎng)t是通過注意力層加權(quán)求和后的句子表示。
數(shù)據(jù)集。本文采用的英文數(shù)據(jù)集SemEval2010 Task8包含了12717條數(shù)據(jù)。其中,訓(xùn)練集包含8000個(gè)樣例,測(cè)試集包含2717個(gè)樣例。
實(shí)驗(yàn)環(huán)境與參數(shù)。本文所有的實(shí)驗(yàn)均在 Ubuntu Server 18.04操作系統(tǒng),顯卡為TITAN-XP 12G * 6,內(nèi)存為32GB * 4的計(jì)算機(jī)上進(jìn)行,本文中所有模型都是基于TensorFlow1.15.0搭建的,同時(shí)為了增強(qiáng)模型之間的可比性,所有模型的參數(shù)均保持一致,其中,包括最大句子長度設(shè)置為90,詞向量維度設(shè)置為768維,batchsize大小設(shè)置為64等。
實(shí)驗(yàn)結(jié)果和分析。為了檢驗(yàn)本文所提關(guān)系抽取方法的有效性,將BiLSTM-Attention、BERT-Fine-tuning、BERTBiLSTM、BERT-BiLSTM-Attention、At_LSTM和PNAtt_LSTM模型進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表4所示。

表2 實(shí)驗(yàn)結(jié)果對(duì)比
本文實(shí)驗(yàn)部分的目的一方面是為了證明基于BERT微調(diào)方法可以得到更好的詞向量表征,同時(shí)有效地提高模型的性能上限;另一方面是為了驗(yàn)證字級(jí)注意力機(jī)制對(duì)于實(shí)體關(guān)系抽取的有效性。
從表4結(jié)果可以看出,與文獻(xiàn)[7]的At_LSTM模型相比,本章模型在準(zhǔn)確率、召回率和F1值上比At_LSTM改進(jìn)算法都高近4%,證明了本文算法與其他優(yōu)化算法相比,具有更優(yōu)越的性能;與文獻(xiàn)[8]的PNAtt_LSTM改進(jìn)算法相比,本文模型的性能在準(zhǔn)確率上與PNAtt_LSTM改進(jìn)算法相近,但是在召回率和F1值上比PNAtt_LSTM改進(jìn)算法高1%。
本文針對(duì)常見的文本表征模型不能很好地處理不同語境下多義詞,以及無法涵蓋上下文語義信息問題,提出了一種基于BERT的關(guān)系抽取模型,利用BERT微調(diào)后的詞向量作為雙向長短期記憶網(wǎng)絡(luò)的詞嵌入層,通過字級(jí)注意力機(jī)制對(duì)雙向長短期記憶網(wǎng)絡(luò)解碼后的輸出進(jìn)行注意力計(jì)算,提升神經(jīng)元之間的關(guān)聯(lián)性。從實(shí)驗(yàn)結(jié)果可以看出,字級(jí)注意力機(jī)制有效提升了模型的性能,同時(shí)也證明了基于BERT微調(diào)方法可以有效地提高模型的性能上限。本文方法先是在關(guān)系抽取英文數(shù)據(jù)集上證明了模型有較好的性能,但本文在數(shù)據(jù)收集方面未能考慮事件的時(shí)序性,后續(xù)將著重針對(duì)不同時(shí)段某一輿情事件的發(fā)展趨勢(shì)。