謝卓亨,李偉銘,馮浩男,李明軒,陳珂
(廣東石油化工學(xué)院 計(jì)算機(jī)學(xué)院,廣東 茂名 525000)
自然語(yǔ)言處理范疇里的信息抽取主要是從文本數(shù)據(jù)選出的信息創(chuàng)建相應(yīng)的實(shí)體關(guān)系。實(shí)體關(guān)系抽取則是信息抽取里非常重要的環(huán)節(jié),其功能是結(jié)構(gòu)化地識(shí)別已標(biāo)記的實(shí)體間關(guān)系[1]?,F(xiàn)階段實(shí)體關(guān)系抽取普遍采用基于句法特征工程、基于核函數(shù)和基于神經(jīng)網(wǎng)絡(luò)等方法?;诰浞ㄌ卣鞯姆椒ㄆ鋬?yōu)點(diǎn)是了解上下文,考慮到語(yǔ)境的因素,缺點(diǎn)在于語(yǔ)法結(jié)構(gòu)的復(fù)雜需要大量的人工進(jìn)行特征標(biāo)注,難以進(jìn)一步提升該方法對(duì)關(guān)系抽取任務(wù)的精準(zhǔn)性?;诤撕瘮?shù)的方法通過(guò)注重語(yǔ)料本身的結(jié)構(gòu)信息,輸入對(duì)象為語(yǔ)法結(jié)構(gòu)樹的輸入,關(guān)系分類是通過(guò)語(yǔ)料之間的結(jié)構(gòu)相似性,其優(yōu)點(diǎn)在于無(wú)需構(gòu)建多維的特征空間向量,缺點(diǎn)是長(zhǎng)語(yǔ)句的結(jié)構(gòu)樹復(fù)雜,使得分析過(guò)程耗時(shí)緩慢。文獻(xiàn)[2]主要探討基于核方法中選取不同語(yǔ)料樹和最短路徑的關(guān)系在關(guān)系提取中的性能問(wèn)題,取得了不錯(cuò)的進(jìn)展。近年來(lái)機(jī)器學(xué)習(xí)領(lǐng)域不斷地出現(xiàn)神經(jīng)網(wǎng)絡(luò)的身影,許多人傾向于采用神經(jīng)網(wǎng)絡(luò)去構(gòu)建機(jī)器學(xué)習(xí)中的模型。文獻(xiàn)[3] 為了解決遞歸神經(jīng)網(wǎng)絡(luò)模型中時(shí)間復(fù)雜度的問(wèn)題,提出了基于分析樹和遞歸神經(jīng)網(wǎng)絡(luò)的方法,卻沒(méi)有考慮到文本的特征信息。文獻(xiàn)[4]提出了基于逐詞輸入雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的模型來(lái)提取文本信息特征,缺點(diǎn)在于沒(méi)有消除無(wú)用信息和保留有效信息。黃兆瑋等[5]提出了基于 GRU和注意力機(jī)制的方法來(lái)抽取實(shí)體關(guān)系,該模型收斂快,但擬合的效果一般;車金立等[6]則采用了遠(yuǎn)程監(jiān)督結(jié)合雙重注意力機(jī)制的方法,較好地取得了有效信息,但沒(méi)有簡(jiǎn)化輸入語(yǔ)料信息,整個(gè)數(shù)據(jù)過(guò)于龐大。以上方法都取得了一定的效果。
本文借鑒以上設(shè)計(jì)思路,考慮到神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì),采用cw2vec、雙向門控循環(huán)單元和雙重注意力機(jī)制來(lái)構(gòu)建模型。使用cw2vec詞嵌入模型訓(xùn)練出詞向量庫(kù)作為輸入值之一,進(jìn)而加大詞與詞之間的關(guān)聯(lián)。使用雙向門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)消除前后詞對(duì)該詞的影響和歧義性,使用雙重注意力機(jī)制提高對(duì)關(guān)注目標(biāo)的細(xì)節(jié)信息,剔除無(wú)用信息。
雙向門控循環(huán)單元和雙重注意力實(shí)體關(guān)系抽取的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)(如圖1所示)主要分為五層:數(shù)據(jù)預(yù)處理層、嵌入層、雙向門控循環(huán)單元層、注意力機(jī)制層和輸出層。
圖1 雙向門控循環(huán)單元和雙重注意力實(shí)體關(guān)系模型
該層結(jié)構(gòu)主要是將實(shí)體對(duì)、關(guān)系和對(duì)應(yīng)句子數(shù)據(jù)經(jīng)過(guò)分詞、獨(dú)熱編碼、詞向量化處理后轉(zhuǎn)變?yōu)榭杀挥?jì)算機(jī)快速處理的序列向量,保持?jǐn)?shù)據(jù)本身特征后為下一層提供輸入數(shù)據(jù)。
一個(gè)具有r個(gè)詞的句子可表示為S= {x1,x2,x3,…,xr},利用cw2vec模型將詞x1,2,3,…,r映射到對(duì)應(yīng)的200維的向量空間來(lái)進(jìn)行句子的向量化。其表示為
er=Wordw.vi
(1)
式中:vi為詞的獨(dú)熱編碼表示形式;Wordw為句子的向量矩陣,w為詞向量維數(shù),取200。
此時(shí),詞的向量化為
ev={e1,e2,e3,…,er}
(2)
該層使用 cw2vec模型將中文語(yǔ)料庫(kù)映射到低維向量,每個(gè)詞語(yǔ)使用n-gram計(jì)算出相對(duì)應(yīng)的筆畫序列。計(jì)算句子的相似度時(shí),先計(jì)算出詞WA,WB之間的相似度,查詢HowNet[7]得到相應(yīng)的DEF集合,可得詞WA,WB的最大相似度為
simW(WA,WB)=sim(DEFWA,DEFAB)
(3)
此時(shí),句子的相似度simS(s1,s2,n)為
(4)
(5)
圖2 GRU單元內(nèi)部結(jié)構(gòu)
該層將從cw2vec模型訓(xùn)練而得的詞向量庫(kù)和上一層的數(shù)據(jù)通過(guò)扁平化操作轉(zhuǎn)變?yōu)榈途S數(shù)據(jù),便于模型的訓(xùn)練,通過(guò)雙向門控循環(huán)單元多次迭代訓(xùn)練后獲得輸入數(shù)據(jù)的特征向量,為自我學(xué)習(xí)并尋找到一組合適的參數(shù)和一個(gè)符合模型輸入值到輸出特征值之間聯(lián)系的函數(shù)。GRU(門控循環(huán)神經(jīng)網(wǎng)絡(luò))是一種改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),GRU解決了時(shí)間序列中時(shí)間步距離較大的依賴關(guān)系的問(wèn)題,并且通過(guò)學(xué)習(xí)門來(lái)控制信息的流動(dòng),能很好地應(yīng)用在實(shí)體關(guān)系抽取中。GRU單元(見圖2)包括更新門和重置門,使其具備學(xué)習(xí)長(zhǎng)距離內(nèi)容的能力。
更新門zt為zt=σ(Wz·[ht-1,xt])
(6)
重置門rt為rt=σ(Wr·[ht-1,xt])
(7)
(8)
(9)
t時(shí)刻記憶體的值為yt=σ(W0·ht)
(10)
圖3 雙向GRU網(wǎng)絡(luò)
利用正向和反向輸入的信息,采用雙向GRU網(wǎng)絡(luò)作為模型的一部分,其結(jié)構(gòu)見圖3。
雙向GRU網(wǎng)絡(luò)多了一層隱藏層,文字信息可以通過(guò)正向和反向輸入,第x個(gè)文字的輸出為
(11)
神經(jīng)網(wǎng)絡(luò)學(xué)得權(quán)重向量Ω后與由雙向門控循環(huán)單元層訓(xùn)練得到的特征向量進(jìn)行矩陣乘積后得到基于字級(jí)別的特征向量R,將特征向量R與句子特征r進(jìn)行矩陣相乘后再與relation_embedding相乘加上偏移bias后,再經(jīng)過(guò)字、句子級(jí)別注意力層。
注意力機(jī)制的出現(xiàn),可以讓計(jì)算機(jī)在處理數(shù)據(jù)的行為更接近于人類的行為,更好地解決計(jì)算機(jī)注意不集中的問(wèn)題。本文在模型中使用詞級(jí)別注意力層和句子級(jí)別注意力層的雙重注意力,設(shè)由實(shí)體(e1,e2)所有句子集合S={s1,s2,s3,…,si},設(shè)e1與e2的關(guān)系為L(zhǎng),集合S中每個(gè)句子si都含有一定量的信息表示L,為了測(cè)定L,先把集合S轉(zhuǎn)成對(duì)應(yīng)的向量Sv,其表示為
(12)
式中:βi為句子si的權(quán)重;A為一個(gè)對(duì)角矩陣。
此時(shí),集合S的向量表示形式
(13)
得到Sv后,用一個(gè)線性函數(shù)表達(dá)出關(guān)系L的得分,其表示為
y=MSv+b
(14)
式中:b為偏置量;M為關(guān)系矩陣。
輸出層的結(jié)果由GRU輸出的向量,經(jīng)過(guò)字級(jí)別注意力層后再經(jīng)過(guò)句子級(jí)別注意力層的處理求得,再經(jīng)過(guò)softmax算法的處理后得到一個(gè)score。此時(shí),將score通過(guò)一次softmax with temperature放大分類結(jié)果,從而獲得關(guān)系分類結(jié)果。
實(shí)驗(yàn)采用的是遠(yuǎn)程監(jiān)督學(xué)習(xí)模式, 通過(guò)遠(yuǎn)程監(jiān)督的模式來(lái)爬取數(shù)據(jù)集。該數(shù)據(jù)集包含12類關(guān)系(父母、師生、兄弟姐妹、夫妻、合作、同門、情侶、祖孫、朋友、上下級(jí)、親戚、同學(xué)),80000條關(guān)系語(yǔ)句,數(shù)據(jù)集格式見表1,并抽取60000條為訓(xùn)練語(yǔ)句。訓(xùn)練模型的參數(shù)設(shè)置見表2。
表1 實(shí)驗(yàn)數(shù)據(jù)格式
表2 模型參數(shù)表
為了比較本文使用的模型中注意力機(jī)制對(duì)命名實(shí)體關(guān)系抽取效果的影響,將模型拆分為:(1)利用訓(xùn)練語(yǔ)料無(wú)字和無(wú)句子注意力層機(jī)制模型,記為GRU;(2)利用訓(xùn)練語(yǔ)料采用句子注意力層和無(wú)字注意力層的單注意力模型,記為SattGRU;(3)利用訓(xùn)練語(yǔ)料采用字注意力層和無(wú)句子注意力層的單注意力模型,記為WattGRU;(4)利用訓(xùn)練語(yǔ)料采用字注意力和句子注意力層模型的雙注意力模型,記為WattSattGRU。
本文基于Google的深度學(xué)習(xí)框架tensorflow實(shí)現(xiàn)4種模型的關(guān)系抽取的訓(xùn)練,并在訓(xùn)練時(shí)使用交叉熵作為模型的損失函數(shù),還使用L2正則化防止模型出現(xiàn)過(guò)擬合和Dropout技巧防止神經(jīng)網(wǎng)絡(luò)連接過(guò)多導(dǎo)致模型訓(xùn)練時(shí)間過(guò)長(zhǎng),并且對(duì)于每一種模型,都盡量地通過(guò)調(diào)節(jié)學(xué)習(xí)率、詞、句子向量的大小、訓(xùn)練次數(shù)等參數(shù)以得到最好的訓(xùn)練結(jié)果。
為了更方便對(duì)比模型之間的性能,本文采用準(zhǔn)確率(ACC值)、損失值(sofxmax_loss)和正確率-召回值(P-R)曲線來(lái)對(duì)模型進(jìn)行評(píng)估。P-R圖能夠直觀地顯示出模型性能的優(yōu)劣,通常,P-R曲線下所包含的面積越大,則表明改模型性能越好。4種模型實(shí)驗(yàn)經(jīng)過(guò)350次迭代訓(xùn)練后,每50次訓(xùn)練輸出的ACC值、sofxmax_loss值和P-R曲線分別見圖4、圖5和圖6。
圖4 4種模型ACC值 圖5 4種模型softmax_loss值 圖6 4種模型的P-R曲線
由圖4可知,使用注意力機(jī)制(WattGRU模型和SattGRU模型)相比無(wú)注意力機(jī)制(GRU模型)表現(xiàn)得更好,而本文提出的雙重注意力機(jī)制模型(WattSattGRU模型)相比于其它兩種使用單層的注意力機(jī)制擁有更高的ACC。由圖5可知,使用雙層注意力的模型在訓(xùn)練的后半部分收斂得更快,且在訓(xùn)練中具有更低的損失值。圖6中,使用單層注意力機(jī)制(WattGRU模型和SattGRU模型)分別考慮了語(yǔ)料中字或句子中的信息,相比完全不考慮語(yǔ)料中特定信息的注意力機(jī)制(GRU模型)在一定程度上提高了模型的性能。而使用雙重注意力機(jī)制(WattSattGRU模型)相比其它三種模型的表現(xiàn)更好,其原因是雙重注意力機(jī)制模型可結(jié)合字符級(jí)與句子級(jí)機(jī)制的優(yōu)點(diǎn),通過(guò)對(duì)字符級(jí)注意力機(jī)制自動(dòng)捕獲句子中關(guān)鍵的特征信息,再通過(guò)句子級(jí)注意力解決了句子與句子之間的噪聲問(wèn)題,從而提高實(shí)體關(guān)系抽取的準(zhǔn)確率。
本文針對(duì)自然語(yǔ)言處理中的實(shí)體關(guān)系抽取,提出了基于雙向門控循環(huán)單元和雙重注意力機(jī)制的模型。實(shí)驗(yàn)表明該模型有效地提高了文本實(shí)體識(shí)別關(guān)系的精確度。但由于數(shù)據(jù)的限制,模型評(píng)估結(jié)果達(dá)不到測(cè)試集上的表現(xiàn)。因此,下一步的工作將進(jìn)一步擴(kuò)展實(shí)體關(guān)系表示,探究各種實(shí)體關(guān)系的度量方法,并進(jìn)一步優(yōu)化模型。