張?zhí)m霞 胡文心
(華東師范大學(xué) 上海 200062)
近年來,互聯(lián)網(wǎng)上的信息呈爆炸式增長(zhǎng),在知識(shí)圖譜領(lǐng)域,知識(shí)獲取技術(shù)獲得了廣泛的關(guān)注。實(shí)體關(guān)系抽取是知識(shí)獲取的重要環(huán)節(jié)之一,主要任務(wù)是抽取文本中各實(shí)體間的語義關(guān)系,從而得到一個(gè)<實(shí)體,關(guān)系,實(shí)體>的三元組。舉例來說,“姚明的妻子葉莉在休斯頓當(dāng)?shù)蒯t(yī)院順利產(chǎn)下一名女嬰”,句子中包含兩個(gè)實(shí)體姚明、葉莉,從句子信息可以判斷這兩個(gè)實(shí)體間的關(guān)系為“夫妻”,最終得到三元組<姚明,夫妻,葉莉>。
最初關(guān)系抽取技術(shù)的評(píng)測(cè)是由消息理解會(huì)議MUC(Message Understanding Conference)提出,隨后,自動(dòng)內(nèi)容抽取ACE(Automatic Content Extraction)、文本分析會(huì)議TAC(Text Analysis Conference)的相繼開展,推動(dòng)了關(guān)系抽取技術(shù)的進(jìn)步。從關(guān)系抽取的領(lǐng)域來說,實(shí)體關(guān)系抽取可以分為開放式關(guān)系抽取和限定關(guān)系抽取。限定關(guān)系抽取主要是針對(duì)某一個(gè)特定領(lǐng)域,需要預(yù)先定義關(guān)系類型。而開放式關(guān)系抽取則是面向海量的互聯(lián)網(wǎng)文本,具有較強(qiáng)的可移植性。根據(jù)輸入數(shù)據(jù)是否有標(biāo)簽,又可以將關(guān)系抽取技術(shù)可以分為三類:有監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的方法。有監(jiān)督學(xué)習(xí)的方法需要大量人工手動(dòng)標(biāo)注的語料,而且會(huì)隨之引入錯(cuò)誤的標(biāo)簽數(shù)據(jù)。半監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的方法與有監(jiān)督學(xué)習(xí)的方法相比,雖然可以節(jié)省人工標(biāo)注語料的時(shí)間,但是準(zhǔn)確率和召回率卻沒有有監(jiān)督學(xué)習(xí)的方法高。本文對(duì)中文文本中人物關(guān)系抽取技術(shù)的研究屬于對(duì)限定領(lǐng)域的半監(jiān)督學(xué)習(xí)技術(shù)的研究。
傳統(tǒng)的關(guān)系抽取方法一般是關(guān)于模式匹配的,結(jié)合自然語言處理系統(tǒng)來提取詞匯的特征信息,例如:支持向量機(jī)(SVM)的方法[1]、核函數(shù)的方法[15]、條件隨機(jī)場(chǎng)的方法[16]等。這些方法雖然在關(guān)系抽取任務(wù)上產(chǎn)生不錯(cuò)的效果,但是由于模型中的訓(xùn)練數(shù)據(jù)主要依賴人工標(biāo)注,導(dǎo)致實(shí)驗(yàn)中有過多的錯(cuò)誤標(biāo)簽數(shù)據(jù)。此外,通過傳統(tǒng)的自然語言處理系統(tǒng)來提取詞匯特征這一過程中所產(chǎn)生的錯(cuò)誤也影響了接下來的關(guān)系提取。近年來,由于深度神經(jīng)網(wǎng)絡(luò)可以自動(dòng)地學(xué)習(xí)底層的特征信息,可以減少人工標(biāo)注所帶來的錯(cuò)誤,所以有很多人將神經(jīng)網(wǎng)絡(luò)模型運(yùn)用到關(guān)系抽取任務(wù)上。例如:使用卷積神經(jīng)網(wǎng)絡(luò)[2,13-14]、雙向循環(huán)神經(jīng)網(wǎng)絡(luò)[3]、雙向LSTM[4]等方法。利用神經(jīng)網(wǎng)絡(luò)方法解決了關(guān)系抽取數(shù)據(jù)中錯(cuò)誤標(biāo)簽所帶來的問題,但在實(shí)際應(yīng)用中,對(duì)于每一對(duì)實(shí)體對(duì),都存在多個(gè)句子可以表示它們之間的關(guān)系,而這些模型普遍認(rèn)為,每一對(duì)實(shí)體對(duì)都只有一個(gè)句子可以表示它們之間的關(guān)系,從而忽略了其他有效句子的特征信息。由于帶有注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺和自然語言處理任務(wù)中取得了顯著成效,如機(jī)器翻譯和智能問答等。為了使用有效的句子來進(jìn)行學(xué)習(xí)和預(yù)測(cè),有人將注意力機(jī)制[6-7]引入關(guān)系抽取任務(wù)。實(shí)驗(yàn)結(jié)果表明,加入了注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)的方法比普通神經(jīng)網(wǎng)絡(luò)模型的方法準(zhǔn)確率要提高許多。但是,這些注意力機(jī)制的模型都是針對(duì)不同的深度神經(jīng)網(wǎng)絡(luò),在輸入向量上加入了不同特征層次的單層注意力機(jī)制。例如基于字級(jí)別的注意力機(jī)制或基于句子級(jí)別的注意力機(jī)制,這種方法沒有完全考慮到字與字、字與詞、詞與句子之間的因果關(guān)系,在訓(xùn)練中容易損失一些有效信息。
為了在使用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行關(guān)系抽取任務(wù)時(shí)能夠更好地利用有效句子來進(jìn)行學(xué)習(xí)和預(yù)測(cè),將數(shù)據(jù)集中的噪音數(shù)據(jù)過濾掉,本文提出一種結(jié)合了雙層注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)模型,包含字級(jí)別的注意力機(jī)制和句子級(jí)別的注意力機(jī)制。雙層的注意力機(jī)制可以在不使用任何自然語言處理系統(tǒng)的情況下,直接從雙向GRU神經(jīng)網(wǎng)絡(luò)中提取出句子的特征信息。
本文的貢獻(xiàn):(1) 使用了雙層的注意力機(jī)制來捕獲中文句子的特征信息,通過不斷的學(xué)習(xí)將有效句子分配較高的權(quán)重,從而降低噪音數(shù)據(jù)帶來的負(fù)面影響;(2) 雙向GRU神經(jīng)網(wǎng)絡(luò)相較于循環(huán)神經(jīng)網(wǎng)絡(luò)和LSTM來說,模型更為簡(jiǎn)單,需要的參數(shù)更少,不容易產(chǎn)生過擬合。
現(xiàn)有的關(guān)系抽取技術(shù)大多數(shù)是針對(duì)英文的,對(duì)中文的研究比較少。由于中英文之間的差別,某些適用于英文關(guān)系抽取的方法在中文上的表現(xiàn)并不理想。雖然如此,但是也有很多不錯(cuò)的進(jìn)展。Li等[8]提出了一種基于特征的中文實(shí)體關(guān)系抽取方法,在進(jìn)行特征選取時(shí)不僅考慮了實(shí)體的特征,還結(jié)合了上下文特征和單詞列表,并且定義了兩個(gè)實(shí)體之間的九種位置結(jié)構(gòu)特征。除此之外,還提出了一些基于關(guān)系層次和共同參考信息的校正和推理機(jī)制。Che等[9]采用了一種基于核函數(shù)的方法,其中內(nèi)核是圍繞特定實(shí)體的原始中文字符串表示定義的,用最小編輯距離(IDE)計(jì)算兩個(gè)中文字符之間的相似度,并使用支持向量機(jī)(SVM)來進(jìn)行分類。實(shí)驗(yàn)表明,與傳統(tǒng)的基于特征方法相比,此類方法可以獲得更好的性能。Liu等[10]提出了一種新的基于核函數(shù)的中文實(shí)體關(guān)系抽取方法,采用一種改進(jìn)的語義序列核函數(shù)和KNN算法來實(shí)現(xiàn)關(guān)系抽取任務(wù),實(shí)驗(yàn)對(duì)ACE指南中定義的3種關(guān)系類型及其6種子類進(jìn)行了分析。結(jié)果表明,該方法的平均精確度高達(dá)88%,明顯高于基于特征的方法和傳統(tǒng)的核函數(shù)方法。Chen等[11]提出了一種基于深度信念網(wǎng)絡(luò)(DBN)的中文關(guān)系提取方法,將深度信念網(wǎng)絡(luò)作為多個(gè)無監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)組合的分類器,通過RBM (受限玻爾茲曼機(jī))和BP網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)來檢測(cè)和分類中文實(shí)體之間的關(guān)系。肜博輝等[12]提出了一種基于多通道卷積神經(jīng)網(wǎng)絡(luò)的實(shí)體關(guān)系抽取方法。該方法使用不同的詞向量作為輸入語句進(jìn)行映射,作為模型不同通道的輸入,使用卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)提取特征信息,通過softmax分類器輸出關(guān)系類型。
本文提出了一種加入了雙層注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò),用于中文文本中人物關(guān)系的抽取。模型的體系結(jié)構(gòu)如圖1所示,word-levelattention和sentence-levelattention分別表示字級(jí)別注意力機(jī)制和句子級(jí)別注意力機(jī)制。首先,使用雙向GRU神經(jīng)網(wǎng)絡(luò)來嵌入句子的語義,對(duì)句子進(jìn)行編碼;然后,為了消除噪音數(shù)據(jù)帶來的影響,在特征向量上分別構(gòu)建基于字級(jí)別的注意力機(jī)制和基于句子級(jí)別的注意力機(jī)制;最后,提取出權(quán)重較高的向量,通過softmax分類器輸出關(guān)系類型。實(shí)驗(yàn)表明,加入了雙層注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)的比一般的神經(jīng)網(wǎng)絡(luò)模型具有更高的準(zhǔn)確率。
圖1 雙向GRU+word-level attention+sentence-level attention
本文提出的雙向GRU+word-levelattention+sentence-levelattention模型包含6個(gè)部分:
(1) 輸入層:將句子輸入到該模型中;
(2) 嵌入層:使用word2vec工具將每個(gè)字映射到低維向量;
(3) GRU層:通過雙向的GRU神經(jīng)網(wǎng)絡(luò)獲取原始句子的特征向量;
(4) 字級(jí)別attention層:生成權(quán)向量w,將由GRU層得到的特征向量乘以權(quán)向量w,從而得到基于字級(jí)別的特征向量;
(5) 句子級(jí)別attention層:生成權(quán)向量a,將(4)中基于字級(jí)別的特征向量乘以權(quán)向量a得到基于句子級(jí)別的特征向量;
(6) 輸出層:將經(jīng)過了雙層注意力機(jī)制得到的特征向量通過softmax分類器,從而得出最終的關(guān)系分類結(jié)果。
因?yàn)橛?jì)算機(jī)無法識(shí)別除數(shù)學(xué)符號(hào)以外的各類符號(hào),所以在用深度學(xué)習(xí)來處理自然語言的各項(xiàng)任務(wù)時(shí),需要將語言用數(shù)學(xué)的形式表示出來,即轉(zhuǎn)換為向量的形式,以便機(jī)器來處理。
大多數(shù)單詞嵌入的方法都是以單詞作為基本單元,根據(jù)單詞的外部情境學(xué)習(xí)嵌入,忽略單詞的內(nèi)部結(jié)構(gòu)。但是對(duì)于中文來說,一個(gè)單詞通常由多個(gè)字組成,并且包含豐富的內(nèi)部結(jié)構(gòu)信息[4],所以在本文中使用的是由word2vec訓(xùn)練好的中文字向量。它與詞向量的差別在于,詞向量是用一個(gè)向量來表示一個(gè)詞,而字向量是用一個(gè)向量來表示一個(gè)字。
給出一個(gè)句子S={x1,x2,…,xT},使用word2vec將原始數(shù)據(jù)中的每一個(gè)字xi都轉(zhuǎn)換成實(shí)數(shù)向量ei。具體方法是:對(duì)于句子S中的每一個(gè)字,先將它轉(zhuǎn)換成嵌入矩陣Wword∈Rdw|V|,V是固定大小的詞匯表,dw是字嵌入的大小。矩陣Wword是需要學(xué)習(xí)的參數(shù),dw為用戶選擇的參數(shù),通過使用矩陣向量將xi轉(zhuǎn)換成向量ei。
ei=Wwordvi
(1)
式中:vi是大小為|V|的一維向量,在下標(biāo)為ei的位置值為1,其他地方值為0。由此,便將中文語句轉(zhuǎn)換為了一個(gè)向量embS={e1,e2,…,eT}。
GRU神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的變形。循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)是一種用于處理時(shí)序數(shù)據(jù)的模型。在實(shí)際應(yīng)用中,我們可以將中文文本看作是一種時(shí)序數(shù)據(jù),例如,“上海到倫敦的機(jī)票”和“倫敦到上海的機(jī)票”所表達(dá)的就是兩個(gè)完全不同的意思。
傳統(tǒng)的漢語語言模型CLM(Chinese Language Model,即N-Gram)認(rèn)為,第n個(gè)詞的出現(xiàn)只與前面的第n-1個(gè)詞相關(guān),而循環(huán)神經(jīng)網(wǎng)絡(luò)則認(rèn)為第n個(gè)詞的出現(xiàn)前面的n-1個(gè)詞都相關(guān)。由此顯而易見,循環(huán)神經(jīng)網(wǎng)絡(luò)模型處理自然語言的準(zhǔn)確率比傳統(tǒng)的漢語語言模型要高。但是,隨著隱藏層的增加,普通的神經(jīng)網(wǎng)絡(luò)模型也會(huì)隨之帶來梯度消失的問題。因此,Hochreiter等[17]提出了一種循環(huán)神經(jīng)網(wǎng)絡(luò)最常見的變形——長(zhǎng)短時(shí)記憶模型LSTM。循環(huán)神經(jīng)網(wǎng)絡(luò)會(huì)以不受控制的方式在每個(gè)單位步長(zhǎng)內(nèi)重寫自己的記憶,而LSTM有專門的學(xué)習(xí)機(jī)制能夠在保持先前的狀態(tài)的同時(shí),記憶當(dāng)前數(shù)據(jù)所輸入的特征。LSTM神經(jīng)網(wǎng)絡(luò)模型包含有三個(gè)門:輸入門、遺忘門和輸出門。遺忘門用于決定保留多少個(gè)上一時(shí)刻的單元狀態(tài)到當(dāng)前時(shí)刻的單元狀態(tài);輸入門用于決定保留多少個(gè)當(dāng)前時(shí)刻的輸入到當(dāng)前時(shí)刻的單元狀態(tài);輸出門用于決定當(dāng)前時(shí)刻的單元狀態(tài)有多少輸出。GRU神經(jīng)網(wǎng)絡(luò)則是LSTM的簡(jiǎn)化版,相比于LSTM來說只有兩個(gè)門:更新門和重置門。更新門用于控制前一時(shí)刻的狀態(tài)信息被帶入到當(dāng)前狀態(tài)中的程度,更新門的值越大說明前一時(shí)刻的狀態(tài)信息被帶入的越多;重置門用于控制忽略前一時(shí)刻的狀態(tài)信息的程度,重置門越小說明忽略的信息越多。GRU神經(jīng)網(wǎng)絡(luò)的參數(shù)比LSTM減少了1/3,不容易產(chǎn)生過擬合,而且在收斂時(shí)間和需要的迭代次數(shù)上,GRU神經(jīng)網(wǎng)絡(luò)更勝一籌。GRU可以在保持LSTM效果的同時(shí),使得模型的結(jié)構(gòu)更加簡(jiǎn)單。GRU神經(jīng)網(wǎng)絡(luò)向前傳播公式如下:
rt=σ(Wr·[ht-1,xt])
(2)
zt=σ(Wz·[ht-1,xt])
(3)
(4)
(5)
yt=σ(W0·ht)
(6)
由于循環(huán)神經(jīng)網(wǎng)絡(luò)模型具有遺忘性,一般來說,最后一個(gè)狀態(tài)所包含的信息是有損的,而且序列越靠前信息損失得越嚴(yán)重。對(duì)于包含有許多序列建模任務(wù)而言,獲取未來以及過去的背景信息對(duì)提高模型的準(zhǔn)確率來說是有意義的。所以,如果同時(shí)訓(xùn)練兩個(gè)GRU神經(jīng)網(wǎng)絡(luò),一個(gè)采用正向?qū)W習(xí),一個(gè)采用反向?qū)W習(xí),將正向和反向的最后一個(gè)狀態(tài)對(duì)應(yīng)的向量連接后得到的向量作為最后的結(jié)果,則該模型便能同時(shí)利用過去和未來的所有信息。
本文使用雙向的GRU神經(jīng)網(wǎng)絡(luò)模型。如圖2所示,網(wǎng)絡(luò)包含左右兩個(gè)序列上下文的兩個(gè)子網(wǎng)絡(luò),分別是前向和后向傳遞。
圖2 雙向GRU神經(jīng)網(wǎng)絡(luò)模型
雙向GRU神經(jīng)網(wǎng)絡(luò)的輸出公式如下:
(7)
這里使用基于元素的和來組合正向和反向的輸出。
注意力機(jī)制的研究實(shí)際上是受到人類的啟發(fā),人們?cè)谟^察一幅圖像的時(shí)候,通常不會(huì)關(guān)注圖像上的每一個(gè)像素點(diǎn),而是根據(jù)實(shí)際需求著重關(guān)注圖像上的某一個(gè)部分,而且人們會(huì)根據(jù)前一幅圖像的關(guān)注點(diǎn)學(xué)習(xí)到后面圖像需要關(guān)注的部分。注意力機(jī)制最早應(yīng)用在圖像領(lǐng)域,Googlemind團(tuán)隊(duì)在使用傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)來對(duì)大型圖像進(jìn)行識(shí)別時(shí)加入了注意力機(jī)制。通過注意力機(jī)制來學(xué)習(xí)一幅圖像需要重點(diǎn)處理的像素部分,而不是處理圖像的全部像素。實(shí)驗(yàn)證明,加入了注意力機(jī)制的循環(huán)神經(jīng)網(wǎng)絡(luò)模型比傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率有了明顯的提升[3]。注意力機(jī)制第一次在自然語言處理中的應(yīng)用是在機(jī)器翻譯時(shí)使用注意力機(jī)制將翻譯和對(duì)齊同時(shí)進(jìn)行[4]。隨后在使用循環(huán)神經(jīng)網(wǎng)絡(luò)來處理自然語言時(shí),注意力機(jī)制被大量使用。近年來,人們又將注意力機(jī)制加入到卷積神經(jīng)網(wǎng)絡(luò)中,并取得了不錯(cuò)的進(jìn)展。
對(duì)于每一對(duì)實(shí)體對(duì)和其對(duì)應(yīng)的關(guān)系,傳統(tǒng)的方法認(rèn)為,在無標(biāo)簽的語料集中提取所有包含該實(shí)體對(duì)的句子,都能夠表示該實(shí)體對(duì)之間的關(guān)系。顯而易見,這種方法必然會(huì)帶來錯(cuò)誤的標(biāo)簽問題,從而產(chǎn)生噪音語料,對(duì)實(shí)體關(guān)系抽取的效果帶來負(fù)面影響。因此,本文引入注意力機(jī)制,給不同的語料賦予不同的權(quán)重,從而摒棄一些噪音數(shù)據(jù),以此來提高分類器的性能。
本文提出了在雙向GRU神經(jīng)網(wǎng)絡(luò)上同時(shí)應(yīng)用基于字級(jí)別的注意力機(jī)制和基于句子級(jí)別的注意力機(jī)制來提升關(guān)系抽取任務(wù)的效果。設(shè)由雙向GRU神經(jīng)網(wǎng)絡(luò)層產(chǎn)生的輸出向量H組成的矩陣{h1,h2,…,hT},其中T是句子長(zhǎng)度。句子r的表示由以下輸出向量的加權(quán)和形成:
M=tanh(H)
(8)
α=softmax(ωTM)
(9)
r=HαT
(10)
式中:H∈Rdw×T,M∈Rdw×T,采用tanh函數(shù)將原始向量變換到[-1,1]之間。dw是字向量的維數(shù),w是一個(gè)訓(xùn)練過的參數(shù)向量,wT是它的轉(zhuǎn)置,α的大小為T。
從式(1)獲得基于字級(jí)別的注意力機(jī)制的句子的表示。
(11)
在基于字級(jí)別的注意力機(jī)制的句子表示上引入基于句子級(jí)別的注意力機(jī)制:
(12)
(13)
式中:βi為基于句子級(jí)別的注意力機(jī)制的權(quán)重向量。
(14)
(15)
損失函數(shù)為真實(shí)類別標(biāo)簽y的負(fù)對(duì)數(shù)似然值:
(16)
式中:t是使用one-hot表示的真實(shí)值;y是使用softmax函數(shù)估計(jì)每個(gè)類別的概率;λ是L2正則化參數(shù)。除此之外,Hinton曾提出使用dropout(隨機(jī)忽略神經(jīng)網(wǎng)絡(luò)中的某些單元)來防止隱藏層單元的過擬合問題。因此我們?cè)谇度雽?、GRU層和倒數(shù)第二層上使用dropout。如式(16)所示,在梯度下降的步驟后,只要‖ω‖>0,就通過‖ω‖=S來約束L2范數(shù)。在本文實(shí)驗(yàn)中,將損失值與L2正則化相結(jié)合來緩解過度擬合。
在現(xiàn)有的關(guān)系抽取實(shí)驗(yàn)中,大多數(shù)都是英文語料,公開的中文人物關(guān)系語料并不多,因此,本文利用遠(yuǎn)程監(jiān)督的方法來獲取訓(xùn)練樣本,具體方法分為以下兩步:(1) 從在線知識(shí)庫(復(fù)旦大學(xué)知識(shí)工廠實(shí)驗(yàn)室CN-DBpedia,CN-DBpedia的數(shù)據(jù)主要來源于百度百科、互動(dòng)百科、中文維基百科等,經(jīng)過融合、過濾、推斷等操作而形成的高質(zhì)量的結(jié)構(gòu)化數(shù)據(jù))中獲取具有確定關(guān)系的實(shí)體對(duì)。(2) 依據(jù)這些實(shí)體對(duì)從百度、新浪等新聞網(wǎng)站中通過爬蟲獲取這些實(shí)體對(duì)共同出現(xiàn)的語句。本實(shí)驗(yàn)中一共從在線知識(shí)庫中整理出具有確定關(guān)系的實(shí)體對(duì)686對(duì),根據(jù)獲取的實(shí)體對(duì),將實(shí)體間的關(guān)系分為九類,如表1所示,以此來作為正樣本。再從在線知識(shí)庫中隨機(jī)產(chǎn)生653對(duì)(正負(fù)樣本比例約為1∶1)沒有確定關(guān)系的實(shí)體對(duì)來作為負(fù)樣本。根據(jù)這1 339對(duì)實(shí)體對(duì)爬蟲獲取它們共同出現(xiàn)的句子,數(shù)據(jù)量約為8 000條,數(shù)據(jù)結(jié)構(gòu)為“實(shí)體1 實(shí)體2 關(guān)系包含實(shí)體1、實(shí)體2的語句”的形式,如表2所示。利用二八定律隨機(jī)將其分為8∶2的兩個(gè)部分別作為訓(xùn)練集和測(cè)試集。
表1 實(shí)體間的各類關(guān)系
表2 樣本示例
實(shí)驗(yàn)中模型的輸入均為字向量的形式,字向量由Google的Word2vec工具訓(xùn)練產(chǎn)生。實(shí)驗(yàn)中使用的字向量為同一文件,利用訓(xùn)練好的字向量將抓取到的句子轉(zhuǎn)換為向量的形式。首先將訓(xùn)練好的字向量轉(zhuǎn)換成字ID的形式,每一個(gè)字都對(duì)應(yīng)一個(gè)ID號(hào);其次句子中的每一個(gè)字都用一個(gè)3×1的矩陣表示,格式為[字ID,該字距實(shí)體1的距離,該字距實(shí)體2的距離];最后將這些矩陣連接起來用來表示包含了這兩個(gè)實(shí)體的句子。每對(duì)實(shí)體間的關(guān)系用一個(gè)含0和1的一維數(shù)組表示,在表示其關(guān)系的位置值為1,其他地方值為0。例如,上述樣本表示為:(’梅蘭芳’,’福芝芳’):[0,0,1,0,0,0,0,0,0,0]。
模型的基本參數(shù)設(shè)置如表3所示。
表3 模型中的參數(shù)設(shè)置
為了驗(yàn)證本實(shí)驗(yàn)方法對(duì)中文文本中人物關(guān)系抽取的效果,分別在雙向GRU神經(jīng)網(wǎng)絡(luò)、雙向GRU神經(jīng)網(wǎng)絡(luò)+字級(jí)別attention機(jī)制、雙向GRU神經(jīng)網(wǎng)絡(luò)+句子級(jí)別attention機(jī)制、雙向GRU神經(jīng)網(wǎng)絡(luò)+字級(jí)別attention機(jī)制+句子級(jí)別attention機(jī)制四種模型上,對(duì)同一數(shù)據(jù)集進(jìn)行訓(xùn)練。因?yàn)楸疚氖菍?duì)限定領(lǐng)域的關(guān)系抽取技術(shù)的研究,因此可以將其視為一個(gè)分類問題,對(duì)于實(shí)驗(yàn)結(jié)果,采用準(zhǔn)確率(P)、召回率(R)和F值(F)來作為評(píng)價(jià)指標(biāo),計(jì)算公式如下:
(17)
(18)
(19)
為了驗(yàn)證加入了注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)模型在中文人物關(guān)系抽取模型上的抽取效果,采用3.1節(jié)獲取的數(shù)據(jù)和參數(shù)設(shè)置運(yùn)行實(shí)驗(yàn),將各模型在測(cè)試集上的準(zhǔn)確率、召回率和F值匯總到表4。
表4 實(shí)驗(yàn)結(jié)果對(duì)比 %
由表4可得,普通的雙向GRU神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率和召回率分別為72.52%和43.30%;加入了字級(jí)別注意力機(jī)制的準(zhǔn)確率和召回率分別為77.49%和46.09%;加入了句子級(jí)別注意力機(jī)制的準(zhǔn)確率和召回率分別為78.44%和46.78%;加入了雙層注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率和召回率分別為81.67%和50.08%。無論從準(zhǔn)確率、召回率或是F值來排序,加入的注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)的模型的效果都優(yōu)于普通的雙向GRU神經(jīng)網(wǎng)絡(luò)模型;而分別加入了字級(jí)別和句子級(jí)別注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)的關(guān)系抽取模型的準(zhǔn)確率和召回率區(qū)別并不大,但是卻比普通的GRU神經(jīng)網(wǎng)絡(luò)要高;加入了雙層注意力機(jī)制的GRU神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率和召回率最高。由此證明,選擇性地關(guān)注句子中的重要信息可以提高關(guān)系抽取的準(zhǔn)確率。
本文提出了一種加入了雙層attention機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)模型來用于中文文本中人物關(guān)系的抽取。該模型采用字向量的形式輸入,通過雙向GRU神經(jīng)網(wǎng)絡(luò)對(duì)文本數(shù)據(jù)進(jìn)行建模,依次加入基于字級(jí)別的注意力機(jī)制和基于句子級(jí)別的注意力機(jī)制,充分利用句子中的有效信息并緩解遠(yuǎn)程監(jiān)督問題帶來噪音數(shù)據(jù)的影響。通過與普通的雙向GRU神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn),驗(yàn)證了加入了注意力機(jī)制的中文文本中人物關(guān)系的神經(jīng)網(wǎng)絡(luò)抽取模型的效果要優(yōu)于普通的神經(jīng)網(wǎng)絡(luò)模型,而提出的加入雙層注意力機(jī)制的雙向GRU神經(jīng)網(wǎng)絡(luò)模型在本文的實(shí)驗(yàn)數(shù)據(jù)集上的準(zhǔn)確率和召回率都比其他模型更好。