安宏達(dá),李正光,2,吳鏑,鄭巍
(1.大連交通大學(xué) 軟件學(xué)院,遼寧 大連 116028;2.大連理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116023 )*
近年來(lái),隨著醫(yī)學(xué)信息的快速發(fā)展積累了越來(lái)越多的醫(yī)學(xué)文本,然而在這些龐大的數(shù)據(jù)中經(jīng)常會(huì)有很多語(yǔ)義相近但文本描述卻截然不同的句子,這無(wú)疑給醫(yī)學(xué)研究帶來(lái)很多不必要的麻煩.文本語(yǔ)義相似性評(píng)估成為解決這一問題的主要技術(shù).
文本相似性,指的是對(duì)文本或句子之間相似程度的評(píng)價(jià).最早的評(píng)估方法主要利用信息檢索技術(shù)[1]等從文檔中抽取文本結(jié)構(gòu),然后預(yù)測(cè)文本相似性.除此之外,還有詞頻共現(xiàn)自動(dòng)評(píng)估算法[2]、單詞(或字)與文本混合評(píng)估、短文本語(yǔ)義相似性抽取[3]等方法.這些方法都是通過(guò)檢索或者神經(jīng)網(wǎng)絡(luò)的方法分別抽取兩個(gè)句子的相似特征進(jìn)行比較,但是這些方法只是單獨(dú)抽取每個(gè)句子的相似特征,在抽取特征時(shí)沒有考慮到兩個(gè)句子間的影響.
孿生網(wǎng)絡(luò)[4]通過(guò)兩個(gè)共享參數(shù)的子網(wǎng)絡(luò)同時(shí)抽取兩個(gè)輸入句子的語(yǔ)義特征對(duì)句子的相似性進(jìn)行評(píng)估.不過(guò),孿生網(wǎng)絡(luò)結(jié)構(gòu)在文本相似問題上雖然優(yōu)于信息檢索和詞頻共現(xiàn)的方法,但是它仍有很大的提升空間.注意力機(jī)制可以對(duì)孿生網(wǎng)絡(luò)輸出的兩個(gè)語(yǔ)義特征再次加工,將與語(yǔ)義相關(guān)的特征放大,把無(wú)關(guān)的噪音縮小,這無(wú)疑可以提高預(yù)測(cè)的準(zhǔn)確率.注意力機(jī)制主要可分為自注意力機(jī)制[5]和交互式注意力機(jī)制.自注意力機(jī)制可以將自身文本中有用的部分?jǐn)U大,無(wú)用的部分縮小,以此讓模型快速學(xué)習(xí)到有用的特征,其主要應(yīng)用在文本分類[6]、命名實(shí)體識(shí)別等任務(wù).交互式注意力機(jī)制則是增強(qiáng)兩個(gè)句子間的相關(guān)語(yǔ)義特征,以提高兩個(gè)句子間語(yǔ)義相似的部分.
本文提出了一種基于注意力機(jī)制的孿生網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)可分為輸入層、嵌入層、孿生網(wǎng)絡(luò)層、注意力層和語(yǔ)義距離計(jì)算(圖中的注意力層展示了自注意力機(jī)制和交互式注意力機(jī)制,這兩個(gè)機(jī)制之間沒有關(guān)系),本部分將主要針對(duì)這五個(gè)網(wǎng)絡(luò)層進(jìn)行介紹.
圖1 基于注意力機(jī)制的孿生網(wǎng)絡(luò)
本文在實(shí)驗(yàn)中使用DBMI和SICK數(shù)據(jù)集:
(1)DBMI數(shù)據(jù):DBMI評(píng)測(cè)中任務(wù)一“Clinical Semantical Textual Similarity”(簡(jiǎn)稱ClinicalSTS)的數(shù)據(jù)集,是關(guān)于臨床醫(yī)療文本的文本相似性評(píng)估數(shù)據(jù).DBMI數(shù)據(jù)集包含訓(xùn)練集1400條,測(cè)試集412條.驗(yàn)證集255條.數(shù)據(jù)集中的標(biāo)簽為0~5之間的小數(shù),標(biāo)簽中分?jǐn)?shù)越大說(shuō)明兩個(gè)句子的語(yǔ)義相關(guān)性越大,反之則越小.
(2)SICK數(shù)據(jù):SICK(Sentences Involving Compostional Knowledge)數(shù)據(jù)集將每個(gè)句子對(duì)及其相應(yīng)分?jǐn)?shù)作為一條數(shù)據(jù),其中包含訓(xùn)練集4500條,測(cè)試集4805條以及試驗(yàn)集500條.數(shù)據(jù)集中的標(biāo)簽為1~5之間的小數(shù),其余與DBMI數(shù)據(jù)相似.
在數(shù)據(jù)預(yù)處理方面為方便數(shù)據(jù)集轉(zhuǎn)換,本文在實(shí)驗(yàn)中將DBMI與SICK的標(biāo)簽同比例縮小為0~1之間的小數(shù).除此之外,由于SICK數(shù)據(jù)中訓(xùn)練集數(shù)量小于測(cè)試集數(shù)據(jù)的數(shù)量,我們對(duì)數(shù)據(jù)集進(jìn)行了調(diào)整.最后實(shí)驗(yàn)中訓(xùn)練集6000條、驗(yàn)證集1235條、測(cè)試集2570條.
詞向量(Word embedding)又被叫做詞嵌入,是一種將詞語(yǔ)或單詞轉(zhuǎn)化為數(shù)值向量(Vector)的過(guò)程.句子中的每個(gè)單詞通過(guò)預(yù)訓(xùn)練被表示成一個(gè)實(shí)數(shù)值向量,再將同一個(gè)句子中的所有向量表示組合到一起成為一個(gè)可以表示句子語(yǔ)義特征的矩陣.相比較于其他的文本表示方法,詞向量模型的向量表示所包含的語(yǔ)義信息更加豐富.因?yàn)閷?shí)驗(yàn)數(shù)據(jù)為醫(yī)學(xué)類數(shù)據(jù),因此本文選用Pubmed 詞向量,該工具使用對(duì)Pubmed上醫(yī)學(xué)論文的標(biāo)題和摘要進(jìn)行訓(xùn)練得到.本文在實(shí)驗(yàn)中選用Pubmed 2018版400維的詞向量.
孿生網(wǎng)絡(luò)(Siamese network)是一種可以共享神經(jīng)網(wǎng)絡(luò)參數(shù)的網(wǎng)絡(luò)框架,在這個(gè)框架內(nèi)擁有兩個(gè)共享參數(shù)并且結(jié)構(gòu)相同的子網(wǎng)絡(luò).孿生網(wǎng)絡(luò)結(jié)構(gòu)主要應(yīng)用于對(duì)輸入序列的相似性預(yù)測(cè),兩個(gè)子網(wǎng)絡(luò)的輸入X與Y分別對(duì)應(yīng)預(yù)測(cè)相似性的兩個(gè)序列.通過(guò)子網(wǎng)絡(luò)訓(xùn)練捕捉語(yǔ)義信息得到語(yǔ)義特征G(X)與G(Y),而語(yǔ)義特征就是判斷兩個(gè)句子語(yǔ)義相似性的依據(jù).
對(duì)于孿生網(wǎng)絡(luò)的子網(wǎng)絡(luò),由于選擇的數(shù)據(jù)多屬于像臨床醫(yī)學(xué)文本這樣的長(zhǎng)篇幅句子,而循環(huán)網(wǎng)絡(luò)在處理長(zhǎng)度大的序列效果更好.本文選擇的孿生網(wǎng)絡(luò)框架子網(wǎng)絡(luò)就是在循環(huán)網(wǎng)絡(luò)中表現(xiàn)較好的Bi-LSTM(Bi-directional Long Short-Term Memory)網(wǎng)絡(luò).Bi-LSTM由前向LSTM和后向LSTM組成,LSTM(Long Short-Term Memory)模型結(jié)構(gòu)可分為遺忘門,記憶門和輸出門,模型通過(guò)遺忘門將無(wú)用信息丟棄,通過(guò)記憶門保存有用信息,最后由輸出門輸出結(jié)果,具體公式如下:
(1)
孿生網(wǎng)絡(luò)的兩個(gè)輸出雖然可以分別表示兩個(gè)輸入句子的語(yǔ)義,但是由于句子中往往會(huì)存在很多的噪音,從而導(dǎo)致結(jié)果并不理想.為解決這一問題,本文引進(jìn)注意力機(jī)制(Attention mechanism).注意力機(jī)制可以對(duì)孿生網(wǎng)絡(luò)輸出的兩個(gè)語(yǔ)義特征再次加工,通過(guò)訓(xùn)練注意力權(quán)重(Attention weight)擴(kuò)大語(yǔ)義相關(guān)的部分,減小與語(yǔ)義無(wú)關(guān)的噪音,將噪音對(duì)語(yǔ)義特征的影響降到最低.注意力機(jī)制主要可分為自注意力機(jī)制(Self attention mechanism)和交互式注意力機(jī)制(Interactive attention mechanism).本文在實(shí)驗(yàn)中使用了一種自注意力機(jī)制的網(wǎng)絡(luò)和三種交互式注意力機(jī)制的網(wǎng)絡(luò).其中的三種交互式注意力機(jī)制分別為交互式注意力網(wǎng)絡(luò)(Interactive attention network)、混合交互式注意力網(wǎng)絡(luò)(Merge interactive attention network)、單獨(dú)交互式注意力網(wǎng)絡(luò)(Single interactive attention network).
1.4.1 自注意力網(wǎng)絡(luò)(Self attention network)
自注意力網(wǎng)絡(luò)是通過(guò)計(jì)算輸入X=[x1,x2,x3,…,xi](i∈[1,N])中每一個(gè)單詞xi對(duì)句子中其它單詞的權(quán)重α,來(lái)預(yù)測(cè)xi在X中的影響程度,其中α=[α1,α2,α3,…,αi](i∈[1,N]),N表示輸入X的長(zhǎng)度,權(quán)重αi的計(jì)算公式如下:
(2)
其中,f表示分?jǐn)?shù)計(jì)算函數(shù),計(jì)算公式如下:
f(xi)=tanh(xi·W+b)
(3)
式中,tanh表示激活函數(shù),W表示權(quán)重矩陣,b表示偏執(zhí)項(xiàng),xi表示分?jǐn)?shù)計(jì)算函數(shù)f的輸入.
最后,將得到ci=αixi,而自注意力網(wǎng)絡(luò)輸出C表示如下:
(4)
C就是自注意力網(wǎng)絡(luò)的輸出,表示輸入序列X中的每一個(gè)單詞按照影響程度放大或縮小后的結(jié)果.
1.4.2 交互式注意力網(wǎng)絡(luò)
交互式注意力網(wǎng)絡(luò)[8]計(jì)算過(guò)程與自注意力網(wǎng)絡(luò)相似.X=[x1,x2,x3,…,xi](i∈[1,N])表示句子A的序列,Y=[y1,y2,y3,…,yi](i∈[1,N])表示句子B的序列,α是X的注意力權(quán)重,β是Y的注意力權(quán)重:
(5)
f(xi,yavg)和f(yi,xavg)分別表示序列X和Y的分?jǐn)?shù)計(jì)算函數(shù),計(jì)算公式如下:
(6)
(7)
Cx是序列X的注意力網(wǎng)絡(luò)輸出,Ty是序列Y的輸出,最后將Cx和Ty放入到曼哈頓距離公式中計(jì)算兩個(gè)序列X與Y的差異.
1.4.3 混合交互式注意力網(wǎng)絡(luò)
混合交互式注意力網(wǎng)絡(luò)相比于交互式注意力網(wǎng)絡(luò)(IAN)不再區(qū)分序列X和Y的注意力權(quán)重,而是兩個(gè)序列X和Y分別乘以相同的混合注意力權(quán)重,這種乘以相同的權(quán)重矩陣的方法可能會(huì)增強(qiáng)兩個(gè)句子間的語(yǔ)義關(guān)聯(lián)度.具體運(yùn)算公式如下:
(8)
其中,Wx和Wy表示X和Y的權(quán)重矩陣,Wmerge表示X和Y混合特征的權(quán)重矩陣,bmerge為偏執(zhí)項(xiàng).
1.4.4 單獨(dú)交互式注意力網(wǎng)絡(luò)
在實(shí)驗(yàn)中,由于兩個(gè)輸入序列的分?jǐn)?shù)計(jì)算函數(shù)相似,在計(jì)算序列差異上會(huì)有影響,單獨(dú)交互式注意力網(wǎng)絡(luò)將序列X乘以序列Y的自注意力權(quán)重,反之亦然.其余計(jì)算與自注意力網(wǎng)絡(luò)相同.
(9)
其中,β是序列Y的自注意力權(quán)重,α是序列X的自注意力權(quán)重,Cx和Ty分別表示序列X和序列Y的單獨(dú)交互式注意力網(wǎng)絡(luò)輸出.
在得到經(jīng)過(guò)注意力機(jī)制增強(qiáng)后的兩個(gè)語(yǔ)義表示后,用曼哈頓距離公式計(jì)算兩個(gè)句子的語(yǔ)義距離,并以此作為句子對(duì)語(yǔ)義相似性的依據(jù).
本文實(shí)驗(yàn)使用Ubuntu 18.04系統(tǒng),Python 3.7.3,tensorflow 1.14.0以及Keras 2.1.5,具體試驗(yàn)參數(shù)如表1所示.
表1 實(shí)驗(yàn)參數(shù)設(shè)置
實(shí)驗(yàn)中所用參數(shù)如表1所示,參數(shù)因?yàn)镈BMI數(shù)據(jù)集和SICK數(shù)據(jù)集的差異性而略作調(diào)整.由于SICK數(shù)據(jù)中的句子普遍比DBMI數(shù)據(jù)短,所以降低了序列長(zhǎng)度和孿生網(wǎng)絡(luò)子網(wǎng)絡(luò)這個(gè)兩層Bilstm的單元(Units)個(gè)數(shù).同時(shí)因?yàn)镾ICK數(shù)據(jù)中的訓(xùn)練集數(shù)量明顯高于DBMI數(shù)據(jù),所以提高了每一批次的大小(batch size).
在本部分將使用DBMI數(shù)據(jù)對(duì)方法中的四種注意力網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)結(jié)果對(duì)比,其中的孿生網(wǎng)絡(luò)(SN)為實(shí)驗(yàn)的基線方法(孿生網(wǎng)絡(luò)中的子網(wǎng)絡(luò)采用兩層Bilstm網(wǎng)絡(luò)),其余方法分別為孿生網(wǎng)絡(luò)加自注意力網(wǎng)絡(luò)(SN-SAN)、孿生網(wǎng)絡(luò)加交互式注意力網(wǎng)絡(luò)(SN-IAN)、孿生網(wǎng)絡(luò)加混合交互式注意力網(wǎng)絡(luò)(SN-MIAN)、孿生網(wǎng)絡(luò)加單獨(dú)交互式注意力網(wǎng)絡(luò)(SN-SIAN).
表2是對(duì)四種注意力網(wǎng)絡(luò)的試驗(yàn)結(jié)果對(duì)比,評(píng)價(jià)方法分別為皮爾森相關(guān)系數(shù)(Pearson)、斯皮爾曼相關(guān)系數(shù)(Spearman)和均方差(MSE).通過(guò)
表2 DBMI注意力網(wǎng)絡(luò)結(jié)果對(duì)比
對(duì)表中數(shù)據(jù)分析可知,注意力機(jī)制對(duì)實(shí)驗(yàn)結(jié)果有很大提升,本文提出的孿生網(wǎng)絡(luò)加交互式注意力網(wǎng)絡(luò)(SN-IAN)要優(yōu)于其它方法,并且相比于孿生網(wǎng)絡(luò)(SN)皮爾森相關(guān)系數(shù)提升了0.27.
因?yàn)镈BMI數(shù)據(jù)暫時(shí)還沒有發(fā)布評(píng)測(cè)結(jié)果,所以用SICK數(shù)據(jù)與其他方法比較.目前使用SICK數(shù)據(jù)的文章有很多,我們?cè)谄渲羞x擇pos-LSTM-n[9]、Multi-Perspective CNN[10]、Siamese GRU Model[11]這三種方法與我們的方法做對(duì)比.
表3 SICK數(shù)據(jù)其它方法結(jié)果對(duì)比
對(duì)表3的結(jié)果分析可知,孿生網(wǎng)絡(luò)加注意力機(jī)制的結(jié)果要優(yōu)于使用SICK數(shù)據(jù)的其它方法,而本文提出的SN-IAN優(yōu)于其它方法,并且在皮爾森相關(guān)系數(shù)上的結(jié)果比SN高0.07,證明我們提出的方法是有效的. 此外,本文所使用的孿生網(wǎng)絡(luò)(SN)的內(nèi)層網(wǎng)絡(luò)為BiLSTM且皮爾森系數(shù)高于使用門控循環(huán)單元(GRU)作為內(nèi)層網(wǎng)絡(luò)的孿生網(wǎng)絡(luò)模型(Siamese GRU Model),證明BiLSTM網(wǎng)絡(luò)作為孿生網(wǎng)絡(luò)的內(nèi)層網(wǎng)絡(luò)要優(yōu)于GRU網(wǎng)絡(luò).
通過(guò)實(shí)驗(yàn)結(jié)果對(duì)比以及數(shù)據(jù)分析,可以得出以下結(jié)論.
(1)對(duì)孿生網(wǎng)絡(luò)輸出的語(yǔ)義特征用注意力網(wǎng)
絡(luò)進(jìn)行加工處理對(duì)于孿生網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果有提升作用且效果很大;
(2)在文本相似性任務(wù)中,交互式注意力機(jī)制的效果要比自注意力機(jī)智的效果更好;
(3)在交互式注意力機(jī)制中,交互式注意力網(wǎng)絡(luò)要比混合交互式注意力網(wǎng)絡(luò)與單獨(dú)交互式注意力網(wǎng)絡(luò)效果更好.