李 霞, 劉承標(biāo), 章友豪, 蔣盛益
(1. 廣州市非通用語種智能處理重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510006;2. 廣東外語外貿(mào)大學(xué) 信息科學(xué)與技術(shù)學(xué)院,廣東 廣州 510006)
跨語言句子語義相似度是指計(jì)算不同語言句子之間的語義相似程度,它被廣泛應(yīng)用于機(jī)器翻譯、平行語料庫構(gòu)建、跨語言文本推薦、跨語言信息檢索等領(lǐng)域。目前,單語言(尤其以英語為代表的單語言)句子語義相似度度量取得了很大的成功,然而,由于缺乏足夠的訓(xùn)練語料,跨語言句子語義相似度研究還存在諸多挑戰(zhàn)[1-2]。
傳統(tǒng)的句子語義相似度研究工作主要集中在抽取句子的文本特征來計(jì)算句子間的語義相似度。如傳統(tǒng)使用向量空間模型和n-gram特征的語義相似度計(jì)算方法[3-6]、基于句子語法結(jié)構(gòu)特征的方法[7-9]、基于機(jī)器翻譯的方法[10]以及基于雙語詞典或平行語料的方法[11-14]等。Tian[15]和Wu[16]的工作通過抽取句子之間豐富的文本特征來表示句子之間的語義信息,取得較好的效果,分別在SemEval 2017[注]http://alt.qcri.org/semeval2017/task1/index.php?id=data-and-tools比賽任務(wù)中取得第一名和第二名的成績。其中,Tian等[15]使用了句對(duì)的匹配特征、基于機(jī)器翻譯的特征、n-gram重合特征、句子序列特征、句法分析特征、句子對(duì)齊特征等豐富的文本特征來表示句子的語義信息。Wu[16]的工作則采用了WordNet詞典中語義層次樹結(jié)構(gòu)中的非重疊信息來計(jì)算句子間的語義相似度,并取得了很好的結(jié)果。
傳統(tǒng)方法使用豐富的文本特征提取句子語義信息從而計(jì)算句子之間語義相似度的方法雖然取得了不錯(cuò)的結(jié)果,但需要復(fù)雜的手工特征抽取。近年來,基于神經(jīng)網(wǎng)絡(luò)模型的跨語言句子語義相似度研究工作在無需傳統(tǒng)特征的基礎(chǔ)上可以獲得較好的句子表示并取得較好的結(jié)果[17-20]。已有基于神經(jīng)網(wǎng)絡(luò)模型的跨語言句子語義相似度研究工作中,主要采用的是基于卷積神經(jīng)網(wǎng)絡(luò)或遞歸神經(jīng)網(wǎng)絡(luò)模型的方法,如He等[19]使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)獲取句子的局部語義信息作為句子的表示,最后計(jì)算句子間的相似度分?jǐn)?shù)。Mueller等[17]提出使用LSTM網(wǎng)絡(luò)(long short term memory,LSTM)[21]學(xué)習(xí)句子的表示,并通過計(jì)算句子向量之間的曼哈頓距離得到句子的整體相似度。Zhuang等[18]使用雙向門遞歸單元(Bidirectional Gated Recurrent Unit, BGRU)[22]結(jié)合注意力機(jī)制對(duì)句子生成向量表示,同時(shí)結(jié)合了平行句對(duì)中詞對(duì)的余弦相似度特征向量作為輔助特征,將句向量和特征向量輸入多層感知器得到句子的相似性分?jǐn)?shù)。
已有工作中卷積神經(jīng)網(wǎng)絡(luò)可以獲得句子的局部信息,但不能較好地獲取句子中遠(yuǎn)距離單詞之間的語義相關(guān)性。LSTM網(wǎng)絡(luò)雖然可以獲得句子內(nèi)一定距離內(nèi)單詞的依賴關(guān)系,但是它捕捉的是句子內(nèi)前后單詞之間的序列語義關(guān)系。而在跨語言句子相似度任務(wù)中,由于跨語言訓(xùn)練語料的不足,現(xiàn)有工作主要采用的方法[15-16,19]是將非英語語言翻譯為英語,以英語為中間語言,通過將其他語種翻譯為英語,然后計(jì)算翻譯后英語句對(duì)之間的語義相似度作為原始跨語言句對(duì)的語義相似度。由于翻譯結(jié)果的誤差,可能導(dǎo)致翻譯結(jié)果中單詞語序的不對(duì)。例如,例1為SemEval 2017數(shù)據(jù)集Track4a中西班牙語—英語的一個(gè)原始跨語言句對(duì)和經(jīng)過機(jī)器翻譯后的結(jié)果句對(duì)。
例1原始句對(duì):
Spanish(source):Unamujeresunbloquedetofucortadoencubospequeos.
English(target):Awomaniscuttingablockoftofuintosmallcubes.
翻譯后句對(duì):
English(source):Awomanisablockoftofucutintosmallcubes.
English(target):Awomaniscuttingablockoftofuintosmallcubes.
我們可以看到西班牙語翻譯為英語后,句子單詞的語序發(fā)生了錯(cuò)誤,A woman在語義上被錯(cuò)誤翻譯為A woman is...tofu。如果使用LSTM網(wǎng)絡(luò)獲得句子中長距離關(guān)系,可能會(huì)因?yàn)樾蛄械牟徽_導(dǎo)致語義上的不正確?;谝陨蟽牲c(diǎn),受已有工作的啟發(fā)[23-25],本文提出了基于局部信息和全局信息融合的跨語言句子語義相似度計(jì)算模型,其主要?jiǎng)訖C(jī)是通過自注意力機(jī)制獲得句子內(nèi)的遠(yuǎn)距離單詞之間的語義相關(guān)信息,并將句子的平均詞向量作為句子的最后一個(gè)單詞拼接到句子末尾作為初始輸入,盡可能獲取句子的全局信息。同時(shí)結(jié)合門卷控積神經(jīng)網(wǎng)絡(luò)獲得句子的局部n-grams信息,分別對(duì)卷積操作使用最大池化和對(duì)自注意力機(jī)制操作使用平均池化,并將結(jié)果進(jìn)行拼接后獲得句子的最終語義表示。本文的模型結(jié)構(gòu)如圖1所示,在得到兩個(gè)句子的語義表示后,通過兩個(gè)語義表示向量的差值和乘積運(yùn)算獲得句子對(duì)之間的差異信息和相似信息,最后通過全連接層和softmax函數(shù)得到句子對(duì)的相似度分?jǐn)?shù)。
本文在SemEval 2017和STS Benchmark[注]http://ixa2.si.ehu.es/stswiki/index.php/STSbenchmark兩個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)測(cè)試,結(jié)果表明本文所提出的模型具有較好的實(shí)驗(yàn)結(jié)果,獲得了在SemEval 2017數(shù)據(jù)集上無任何特征工程的神經(jīng)網(wǎng)絡(luò)模型的最好結(jié)果。
圖1 本文模型結(jié)構(gòu)圖
為了盡可能獲得句子的全局信息,本文模型的輸入包括兩個(gè)部分,一部分是原始句子中每個(gè)單詞的詞向量,另一部分是句子中每個(gè)單詞詞向量的平均值。
設(shè)句子最大長度為L,對(duì)于輸入模型的句子,若句子長度length
(1)
為了捕獲句子的局部特征信息,本文仍然采用卷積神經(jīng)網(wǎng)絡(luò)機(jī)制。這是因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)具有較好的獲取句子局部語義信息的能力,尤其具有獲取句子n-grams語義信息的優(yōu)點(diǎn)。不同于前人的工作,本文使用門控卷積神經(jīng)網(wǎng)絡(luò)(gated convolutional neural network,GCNN)[26]更好地捕獲句子的局部語義信息。
假設(shè)待計(jì)算的句子為S,門卷積神經(jīng)網(wǎng)絡(luò)采用兩個(gè)結(jié)構(gòu)一致(即卷積核數(shù)和窗口大小都一致)的獨(dú)立卷積結(jié)構(gòu),其中一個(gè)用sigmoid函數(shù)激活,另外一個(gè)不加激活函數(shù),最后將它們逐位相乘,得到最終的輸出S′,其計(jì)算方法如式(2)所示。
S′=conv1(S)?σ(conv2(S))
(2)
為了更好地捕獲句子的局部信息,我們使用了不同卷積核大小的卷積塊對(duì)句子進(jìn)行卷積。如圖1所示,我們分別使用了卷積核窗口為1、2和3三個(gè)卷積塊對(duì)句子進(jìn)行卷積,每個(gè)卷積核的數(shù)量均為300。然后分別使用長度為3的最大池化操作,并對(duì)三個(gè)卷積塊池化的結(jié)果進(jìn)行了拼接,從而得到句子的局部語義信息表示。
在跨語言句子語義相似度計(jì)算過程中,經(jīng)過翻譯過后的語言句子單詞的詞序可能會(huì)不準(zhǔn)確,但是其單詞信息往往是正確的。受已有工作的啟發(fā)[23-25],考慮到自注意力機(jī)制可以獲取句子中不同單詞對(duì)之間的語義相關(guān)關(guān)系,并且這種關(guān)系不受單詞的語序和句子中單詞所在位置的影響,因此本文采用自注意力機(jī)制來捕獲句子中長距離單詞的相關(guān)語義關(guān)系。
類似Vaswani等的工作[25],我們并行使用多個(gè)頭對(duì)句子的輸入進(jìn)行自注意力(Self-attention)操作。假定得到句子的輸入編碼(如1.1節(jié)描述)矩陣S′∈(L+1)×d,則對(duì)句子的Self-attention計(jì)算如(3~5)所示。其中L表示句子的長度,d表示句子中單詞的詞向量維度,S′T表示輸入句子編碼矩陣S′的轉(zhuǎn)置。
當(dāng)獲得句子內(nèi)容表示S′后,使其與參數(shù)矩陣W1i進(jìn)行點(diǎn)乘操作,從而執(zhí)行投影操作,得到矩陣S′W1i,對(duì)句子內(nèi)容表示矩陣的轉(zhuǎn)置與參數(shù)矩陣W2i進(jìn)行點(diǎn)乘執(zhí)行投影操作得到矩陣S′TW2i,然后對(duì)兩個(gè)投影S′W1i和S′TW2i執(zhí)行矩陣相乘操作,從而得到反映句子內(nèi)各單詞之間語義相關(guān)性的矩陣S′W1i×S′TW2i,最后使用softmax函數(shù)對(duì)其進(jìn)行正則化,然后與經(jīng)過投影的原始句子輸入S′W3i執(zhí)行點(diǎn)乘操作獲得句子最后的語義表示,這一語義表示很好地反映了句中遠(yuǎn)距離單詞之間的相關(guān)關(guān)系。這里的i表示Self-attention中的第i個(gè)頭,W1i,W2i,W3i表示第i個(gè)頭的參數(shù)矩陣。Self-attention使用不同的頭來捕獲不同 的相關(guān)語義關(guān)系。式(3~5)中的h表示Self-attention使用的并行Attention的個(gè)數(shù),W0為參數(shù)矩陣,用于對(duì)所有h個(gè)頭輸出結(jié)果最后做一次投影。
使用1.1~1.3節(jié)所描述的方法分別獲取句子的局部信息和句子中遠(yuǎn)距離單詞之間的語義相關(guān)信息,最后對(duì)這些信息分別執(zhí)行最大池化操作和平均池化操作,然后對(duì)池化的結(jié)果進(jìn)行拼接,得到句子的最后語義表示。模型中,我們采用了K最大池化操作,目的是為了保留每個(gè)特征映射中前k個(gè)特征元素,減少池化過程中語義信息的丟失。拼接后的句子的語義表示包含了句子中的局部信息、全局信息以及句子中不同單詞之間的語義相關(guān)性信息。
為了計(jì)算兩個(gè)句子的語義相似度,類似于Shao的工作[20],我們分別對(duì)兩個(gè)句子的最終語義表示執(zhí)行按位減操作(取絕對(duì)值)和按位乘操作,然后進(jìn)行拼接從而獲得兩個(gè)句子的語義相似度的表示對(duì),其計(jì)算如式(6)所示。將句子的語義相似度表示輸入兩個(gè)全連接層,最后輸入softmax函數(shù)得到兩個(gè)句子表示的語義相似度概率分布。
(6)
其中,source表示每個(gè)句子對(duì)中的第一個(gè)句子,target表示每個(gè)句子對(duì)中的第二個(gè)句子。?表示元素對(duì)應(yīng)相減,?表示元素對(duì)應(yīng)相乘。
本文實(shí)驗(yàn)選取了SemEval-2017和STS Benchmark兩個(gè)數(shù)據(jù)集對(duì)模型進(jìn)行測(cè)試。其中,SemEval-2017評(píng)測(cè)數(shù)據(jù)包含單語言和跨語言句子對(duì)共7種類型,涉及語種包括阿拉伯語、英語、西班牙語、土耳其語等。與評(píng)測(cè)中其他隊(duì)伍一樣,我們采用谷歌翻譯[注]https://translate.google.com將其他語言的句子均翻譯為英語。同時(shí),我們類似于前人的工作,使用SemEval 2012~SemEval 2015比賽數(shù)據(jù)[注]http://ixa2.si.ehu.es/stswiki/index.php/Main_Page中的所有英文句對(duì)一共13 191對(duì)數(shù)據(jù)作為模型的訓(xùn)練數(shù)據(jù)。STS Benchmark數(shù)據(jù)是STS 任務(wù)中在2012—2017 年的英文評(píng)測(cè)數(shù)據(jù)集上抽取得到的訓(xùn)練集、開發(fā)集和測(cè)試集。所用數(shù)據(jù)集的詳細(xì)信息分別如表1和表2所示。數(shù)據(jù)集中,每個(gè)句對(duì)都被標(biāo)注了0~5的相似度得分,0表示兩個(gè)句子在語義上幾乎不相關(guān),5表示兩個(gè)句子在語義上幾乎等同。為了更好地比較實(shí)驗(yàn)在不同數(shù)據(jù)集上的結(jié)果差異,我們還對(duì)SemEval 2017評(píng)測(cè)數(shù)據(jù)集和STS Benchmark中不同數(shù)據(jù)的句對(duì)平均句長進(jìn)行了統(tǒng)計(jì),結(jié)果如表1和表2所示??梢钥吹?,在SemEval-2017評(píng)測(cè)數(shù)據(jù)集中,除了Track4b的平均句長為19.23外,其他Track的數(shù)據(jù)集句對(duì)的平均句長在7.74~8.7之間。這是因?yàn)?,Track4b數(shù)據(jù)集是來自機(jī)器翻譯的測(cè)試數(shù)據(jù),數(shù)據(jù)的來源領(lǐng)域不同,且測(cè)試集中句子長度也長于一般的普通句子。
表1 SemEval-2017評(píng)測(cè)數(shù)據(jù)
表2 STSBenchmark數(shù)據(jù)
實(shí)驗(yàn)參考了Tian等的工作[15]中使用的paragram[注]https://drive.google.com/file/d/0B9w48e1rj-MOck1fRGxa ZW1LU2M/view詞向量[26],實(shí)驗(yàn)中詞向量的維度設(shè)置為300,句子長度設(shè)定為30。每個(gè)門控卷積神經(jīng)網(wǎng)絡(luò)卷積塊的卷積核設(shè)定為300,卷積池化操作中的k設(shè)置為3。Self-attention中設(shè)置了8個(gè)頭,每個(gè)頭的參數(shù)矩陣均設(shè)置為16維。全連接層中,第一個(gè)全連接層神經(jīng)元節(jié)點(diǎn)個(gè)數(shù)為900,第二個(gè)全連接層的輸出節(jié)點(diǎn)數(shù)為6。
采用Adam算法[27]優(yōu)化模型,學(xué)習(xí)率為0.001。實(shí)驗(yàn)參考已有工作[15-16,20]所使用的評(píng)測(cè)指標(biāo),采用皮爾森相關(guān)系數(shù)(Pearson correlation coefficient,PCC)作為評(píng)測(cè)指標(biāo),batch size設(shè)置為128。實(shí)驗(yàn)采用相對(duì)熵作為損失函數(shù),損失函數(shù)如式(7)所示,其中,P(x)為系統(tǒng)預(yù)測(cè)分值,Q(x)為人工評(píng)定的分值。
(7)
為了驗(yàn)證本文模型的有效性,我們選取SemEval 2017 任務(wù)1前三名方法作為我們的基準(zhǔn)方法,分別是第一名Tian等的工作[15]、第二名Wu等的工作[16]和基于神經(jīng)元網(wǎng)絡(luò)方法的Shao的工作[20]。這三個(gè)基準(zhǔn)方法所對(duì)應(yīng)的模型分別是ECNU[15]、BIT[16]和HCTI[20]。
ECNU模型該模型采用聯(lián)合學(xué)習(xí)方法,分別訓(xùn)練基于傳統(tǒng)特征的機(jī)器學(xué)習(xí)模型和基于神經(jīng)元網(wǎng)絡(luò)的模型,兩個(gè)模型共同決定最終結(jié)果。其中傳統(tǒng)特征方面分別抽取了基于翻譯和對(duì)齊等方法的34種句對(duì)匹配特征以及基于詞袋、語義依存等33種單句特征,并將這67種特征歸一化后使用隨機(jī)森林等多個(gè)機(jī)器學(xué)習(xí)算法進(jìn)行回歸建模。在神經(jīng)網(wǎng)絡(luò)模型方面,該模型分別以句子的平均詞向量、平均詞向量投影、深度平均網(wǎng)絡(luò)(deep average network, DAN)[28]以及LSTM網(wǎng)絡(luò)作用于句子詞向量得到單個(gè)句子的最終語義表示,然后對(duì)兩個(gè)句子進(jìn)行相乘和相減,通過全連接得到句對(duì)的分?jǐn)?shù)。
BIT模型該模型基于WordNet計(jì)算句子中詞語的概念信息熵,將得到的句子信息熵結(jié)合對(duì)齊特征以及詞向量模型分別進(jìn)行相似度計(jì)算。
HCTI模型該模型將跨語言句對(duì)中的詞共現(xiàn)、數(shù)字共現(xiàn)和詞性等特征融入詞向量中,以此為輸入使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行卷積和池化后作為句子的最終語義表示,然后對(duì)兩個(gè)句子進(jìn)行相乘和相減,通過全連接得到句對(duì)的分?jǐn)?shù)。
為了說明本文提出的模型的有效性,本文還比較了單獨(dú)使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)、單獨(dú)使用門控卷積神經(jīng)網(wǎng)絡(luò)(GCNN)以及使用GCNN+Self-attention組合的實(shí)驗(yàn)結(jié)果對(duì)比。
2.3.1 SemEval 2017數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
首先我們?cè)赟emEval 2017數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。從表3可以看出,本文提出的純神經(jīng)網(wǎng)絡(luò)模型方法(GCNN+Self-attention)在Track1~Track6共7個(gè)Track上的Primary指標(biāo)上超出第二名Wu等工作[16]中提出的BIT模型2.35個(gè)百分點(diǎn),超出第三名Shao等工作[20]中提出的HCTI神經(jīng)網(wǎng)絡(luò)模型4.26個(gè)百分點(diǎn)。
另外我們發(fā)現(xiàn),在SemEval 2017數(shù)據(jù)集上,本文方法低于第一名Tian等工作[15]提出的ECNU模型2.92個(gè)百分點(diǎn)。對(duì)此我們分析,ECNU模型融合了具有豐富傳統(tǒng)特征的多個(gè)機(jī)器學(xué)習(xí)方法以及多個(gè)神經(jīng)網(wǎng)絡(luò)方法,并采用聯(lián)合學(xué)習(xí)得到最優(yōu)結(jié)果。從該結(jié)果可以看出,傳統(tǒng)豐富的特征,如面向跨語言句子相似度的句對(duì)匹配特征等可以較好抽取到句對(duì)之間的相關(guān)語義信息,如基于機(jī)器翻譯的詞對(duì)齊特征、句子依存句法特征、句子n-grams特征、句子對(duì)齊特征等。然而ECNU模型使用了67個(gè)句對(duì)匹配特征和單個(gè)句子的特征,其手工抽取特征的代價(jià)較高。而本文方法無需任何手工特征,只需要預(yù)先訓(xùn)練好的詞向量作為輸入,相比ECNU模型簡單高效。另外,由于SemEval 2017數(shù)據(jù)集中的跨語言訓(xùn)練數(shù)據(jù)相對(duì)純神經(jīng)網(wǎng)絡(luò)模型來說,數(shù)據(jù)量較少,這也可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)模型的結(jié)果沒有達(dá)到最優(yōu)。整體而言,本文模型相比已有的純神經(jīng)網(wǎng)絡(luò)模型方法取得了最好的結(jié)果。
同時(shí)我們發(fā)現(xiàn),數(shù)據(jù)集的句子長度對(duì)模型的結(jié)果具有較大影響。SemEval 2017評(píng)測(cè)數(shù)據(jù)集中,Track4b的平均句長為19.23,遠(yuǎn)高于其他6個(gè)Track數(shù)據(jù)集的句子長度。同時(shí)Track4b數(shù)據(jù)集的來源領(lǐng)域不同,使得所有模型在Track4b上的模型效果不佳。其中,HCTI[20]模型在該數(shù)據(jù)集上效果不佳的原因,我們認(rèn)為這可能是因?yàn)閱渭兒唵蔚腃NN模型對(duì)于捕獲較長句子的語義表示效果不佳。而BIT[16]模型所采用的方法對(duì)句對(duì)本身的質(zhì)量要求較高,而Track4b數(shù)據(jù)集中,由于句子較長,機(jī)器翻譯結(jié)果質(zhì)量不佳,導(dǎo)致BIT模型在該Track上的結(jié)果不太好。本文模型由于從多個(gè)方面捕捉到了句子的語義信息,一定程度上消除了機(jī)器翻譯所導(dǎo)致的句對(duì)質(zhì)量不佳或語序不對(duì)所帶來的影響,在Track4b數(shù)據(jù)集上,本文模型分別高出HCTI模型和BIT模型10.09個(gè)百分點(diǎn)和13.85個(gè)百分點(diǎn)。ECNU模型[15]對(duì)Track4b數(shù)據(jù)集采用了兩種操作模式,一種和BIT、HCTI以及本文模型一樣,該數(shù)據(jù)集整體翻譯為英語句對(duì),在這種模式下的結(jié)果為28.89[15]。另一種是整體翻譯為西班牙語句對(duì),這種模式下的結(jié)果為33.63。
表3 SemEval-2017數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果(%)
2.3.2 STS Benchmark數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果
本文還在STS Benchmark數(shù)據(jù)集上進(jìn)行了測(cè)試,實(shí)驗(yàn)結(jié)果如表4所示。從表4中可以看出,本文模型相比現(xiàn)有的基于神經(jīng)網(wǎng)絡(luò)的HCTI模型[20]高出1.7個(gè)百分點(diǎn),同時(shí)在測(cè)試集上相比第二名相差0.8個(gè)百分點(diǎn)。但是,在開發(fā)集上,本文方法相比第二名高出1.3個(gè)百分點(diǎn),同時(shí)接近第一名的結(jié)果。
實(shí)驗(yàn)中我們還對(duì)比了使用經(jīng)典CNN和使用GCNN以及使用GCNN+Self-attention的實(shí)驗(yàn)結(jié)果。從表3和表4可以看出,在SemEval-2017和STS Benchmark兩個(gè)數(shù)據(jù)上,使用GCNN均比單純簡單使用CNN具有一定的提升,這說明GCNN確實(shí)通過門控制操作一定程度上提升了有效信息的獲取。而使用GCNN+Self-attention的結(jié)果在兩個(gè)數(shù)據(jù)集上均取得最好的結(jié)果,這說明使用Self-attention后捕獲到了句子中長距離單詞之間的語義相關(guān)性,一定程度上提升了句子的語義表示能力,從而提升了句對(duì)之間的語義相似度計(jì)算準(zhǔn)確性。
表4 STS Benchmark數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果(%)
為了能夠更好地解釋本文的模型,我們以一個(gè)實(shí)際例子來闡述Self-attention所學(xué)習(xí)到的語義關(guān)系。我們將Self-attention分別對(duì)翻譯后句子“Awomanisablockoftofucutintosmallcubes.”(該句原始的西班牙語為:Unamujeresunbloquedetofucortadoencubospequeos.)和目標(biāo)英語句子“Awomaniscuttingablockoftofuintosmallcubes.”所學(xué)習(xí)得到的語義信息進(jìn)行分析,結(jié)果如圖2所示,圖2(a)表示翻譯后的源句,圖2(b)表示目標(biāo)句。其中,圖2中的箭頭表示詞與詞之間的相關(guān)性,箭頭的顏色深淺則代表詞對(duì)之間語義的相關(guān)程度,顏色越深表示兩個(gè)單詞之間的語義相關(guān)性越強(qiáng)。
在圖2中,我們可以看到翻譯后的源句中存在語序錯(cuò)誤,這導(dǎo)致翻譯結(jié)果的語義存在錯(cuò)誤(結(jié)果為A woman is...toufu.)。雖然翻譯結(jié)果的單詞語序不正確,但是我們可以看到,Self-attention機(jī)制依然學(xué)習(xí)到了正確的語義相關(guān)關(guān)系。例如,翻譯后源句中的tofu和block、cut、cubes語義關(guān)聯(lián)較強(qiáng),而cut和woman、block、tofu、into語義關(guān)聯(lián)較強(qiáng)。而在目標(biāo)句中,cutting和woman、block、into、cubes語義關(guān)聯(lián)較強(qiáng),而tofu和cutting、cubues語義關(guān)聯(lián)較強(qiáng)。這表明雖然源句由于翻譯導(dǎo)致語序錯(cuò)誤,但是兩個(gè)句子中單詞之間的語義關(guān)聯(lián)依然是相似的,這使得源句和目標(biāo)句的語義相似度計(jì)算結(jié)果依然可以正確得到。
圖2 Self-attention在錯(cuò)誤翻譯句對(duì)上的學(xué)習(xí)效果
傳統(tǒng)句子語義相似度研究主要采用基于特征工程的方法,包括:基于詞的語義的方法,如宋彥等[6]提出的基于n-gram特征的語義相似度計(jì)算方法;基于句法結(jié)構(gòu)的方法,如黃洪等[9]提出的使用句子依存句法特征來計(jì)算句子之間的相似度;基于知識(shí)庫的方法,如閆紅等[13]使用HowNet詞典抽取句子中的特征信息,從而得到句子之間的相似度;基于語料庫的方法,如Guo等[14]提出的基于語料庫使用潛在語義分析方法提取句子的特征信息,從而計(jì)算句子之間的語義相似度。傳統(tǒng)基于句子結(jié)構(gòu)特征或詞典和語料庫方法的計(jì)算方法存在語義稀疏或語料不充分等問題。
針對(duì)傳統(tǒng)特征抽取方法所帶來的問題,近年來研究人員提出了基于神經(jīng)網(wǎng)絡(luò)模型的句子語義相似度計(jì)算方法。Mueller等[17]提出了基于MaLSTM模型的句子相似度計(jì)算方法,該模型將句子切分成由Word2Vec[28]表示的詞向量,并經(jīng)過LSTM網(wǎng)絡(luò)得到句子向量,通過計(jì)算句子向量之間的曼哈頓距離得到句子的整體相似度。Zhuang等[18]使用遞歸神經(jīng)網(wǎng)絡(luò)并結(jié)合注意力機(jī)制生成句向量,同時(shí)還結(jié)合了平行句對(duì)中詞對(duì)的余弦相似度特征向量,通過聯(lián)合句子向量和特征向量輸入多層感知器得到句子的相似性分?jǐn)?shù)。He等[19]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到句子相似度的計(jì)算上,該模型通過兩個(gè)不同的卷積核以及三種不同的池化操作多角度提取句子中的特征信息生成句向量,計(jì)算句向量之間相似性度量值并經(jīng)過全連接層后輸出句子的相似性分?jǐn)?shù)。
在SemEval 2017年的評(píng)測(cè)任務(wù)中,Shao等[20]使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)句子建模,抽取句子中的詞共現(xiàn)、數(shù)字共現(xiàn)和詞性等特征,將特征向量與詞向量拼接后的向量作為輸入,增加句子的語義信息,同時(shí)對(duì)于卷積后的句向量采用求差和乘積的方法分別獲取句子之間的差異信息以及相同信息,最后通過全連接的方式得到句子之間的相似性分?jǐn)?shù)。Wu等[16]針對(duì)句子相似度計(jì)算任務(wù)設(shè)計(jì)了三個(gè)實(shí)驗(yàn)方案,他們首先基于WordNet計(jì)算句子中詞語的概念信息熵,通過在同一個(gè)概念向量空間中得到句子的相似度,更深層次地考慮句子的語義信息,其次他們又將得到的句子信息熵結(jié)合對(duì)齊特征以及詞向量模型分別進(jìn)行相似度計(jì)算,最終確定信息熵和Word2Vec的結(jié)合方法效果最好,該方法同時(shí)考慮詞語的表征信息和句子的深層語義信息,但詞向量模型所包含的句法結(jié)構(gòu)信息甚少,直接影響句子的相似度計(jì)算。Tian[15]等結(jié)合傳統(tǒng)特征工程和深度學(xué)習(xí)的方法,提高句子相似度計(jì)算的整體性能,在傳統(tǒng)特征工程方面,他們提取n-gram、序列、句法、基于翻譯和對(duì)齊等34種句對(duì)匹配特征以及詞袋、語義依存、詞向量等33種單句特征,并將這67種特征歸一化后用于回歸建模;在深度學(xué)習(xí)模塊,他們將預(yù)處理后的詞向量通過深層平均網(wǎng)絡(luò)和LSTM神經(jīng)網(wǎng)絡(luò)得到句向量,輸入全連接層得到句子相似度分?jǐn)?shù),最終聯(lián)合傳統(tǒng)特征工程的分?jǐn)?shù)得到句子之間的整體相似度分?jǐn)?shù)。該方法結(jié)果雖然超出其他研究方法,但其67種特征抽取的工程復(fù)雜度也相對(duì)較高。
雖然現(xiàn)有基于神經(jīng)網(wǎng)絡(luò)的跨語言句子語義相似度模型取得了較好的效果,但現(xiàn)有模型中CNN網(wǎng)絡(luò)和LSTM網(wǎng)絡(luò)對(duì)語序錯(cuò)誤句子的語義學(xué)習(xí)捕獲到的可能依舊是錯(cuò)誤的語義信息?;诖?,本文提出了基于GCNN+Self-attention機(jī)制的模型結(jié)構(gòu),目的在于學(xué)習(xí)到句子的局部和全局語義信息,以及句子中不同單詞之間的相關(guān)語義信息,并通過拼接融合得到最后的向量,用于句子的最后語義表示。在兩個(gè)不同數(shù)據(jù)集上的多個(gè)實(shí)驗(yàn)表明,本文提出的思想和模型取得了較好的性能。
跨語言句子語義相似度計(jì)算在跨語言摘要、跨語言平行句對(duì)抽取等多個(gè)任務(wù)中具有重要的應(yīng)用。本文針對(duì)現(xiàn)有的基于神經(jīng)網(wǎng)絡(luò)模型的跨語言句子語義相似度計(jì)算方法中存在的問題,提出了基于局部和全局信息融合的跨語言句子語義相似度計(jì)算模型。
首先在句子輸入時(shí),將句子中的所有單詞平均詞向量作為反映句子全局信息的向量加入到句子的最后,以此來獲取句子的全局信息部分。在此基礎(chǔ)上,分別使用門控卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)句子的局部信息,使用自注意力機(jī)制學(xué)習(xí)句子中遠(yuǎn)距離單詞之間的語義相關(guān)關(guān)系,最后通過最大池化和平均池化得到的結(jié)果拼接后得到句子的最后語義表示。
該方法得到兩個(gè)句子的語義表示后,通過句子語義向量的差值運(yùn)算和相似度運(yùn)算并拼接輸入到全連接層,最后通過softmax得到句子的語義相似度概率分值。模型分別在SemEval 2017評(píng)測(cè)任務(wù)和STS Benchmark數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)測(cè)試,結(jié)果表明本文提出的模型超出了SemEval-2017評(píng)測(cè)任務(wù)的第二名成績,同時(shí)也是基于純神經(jīng)網(wǎng)絡(luò)模型的最好結(jié)果,證明了我們所提方法的有效性。