鄭一雄,朱俊國(guó),余正濤
(1. 昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650000;2. 昆明理工大學(xué) 云南省人工智能重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650000)
隨著深度學(xué)習(xí)的發(fā)展,神經(jīng)機(jī)器翻譯模型在各種翻譯任務(wù)上都取得了卓越的成效。其中,Transformer模型[1]是目前使用最廣泛的神經(jīng)翻譯模型。Transformer模型與其他神經(jīng)機(jī)器翻譯模型的最大區(qū)別在于它完全基于注意力機(jī)制。但由于注意力機(jī)制的工作原理尚不明確,Transformer模型仍是一個(gè)“黑箱”,無法直觀理解它的工作機(jī)制,難以在原有模型的基礎(chǔ)上進(jìn)一步提升翻譯質(zhì)量。因此,本文主要針對(duì)Transformer模型中注意力節(jié)點(diǎn)在機(jī)器翻譯過程中的作用進(jìn)行可解釋性研究。
2015年由Bahdanau等人[2]首次將注意力機(jī)制應(yīng)用在神經(jīng)機(jī)器翻譯領(lǐng)域,2017年由Vaswani等人[1]提出了完全基于注意力機(jī)制的Transformer模型。雖然基于注意力機(jī)制的翻譯模型已經(jīng)取得了很好的翻譯性能,但研究者難以用人類可理解的方式解釋其工作機(jī)制。針對(duì)這一問題,目前已有研究者對(duì)注意力機(jī)制的可解釋性開展了相關(guān)研究,如Bahdanau[2]、Serrano[3]等人研究了注意力權(quán)重相對(duì)于源語(yǔ)言單詞和目標(biāo)語(yǔ)單詞之間的關(guān)系,Vig[4]、Raganato[5]等人分析了Transformer模型中編碼器自注意力節(jié)點(diǎn)關(guān)注的源語(yǔ)言的語(yǔ)言學(xué)信息,Michel[6]、Wang[7]等人分析了注意力節(jié)點(diǎn)與譯文質(zhì)量的關(guān)系。與過去的解釋工作不同的是,本文的方法可以分析Transformer模型中各類型注意力節(jié)點(diǎn)關(guān)注的目標(biāo)語(yǔ)的語(yǔ)言學(xué)信息,并通過屏蔽負(fù)作用節(jié)點(diǎn)的方法來提升模型的翻譯性能。
本文利用屏蔽節(jié)點(diǎn)的方法,對(duì)已經(jīng)訓(xùn)練好的翻譯模型進(jìn)行分析。主要方法是保持模型參數(shù)不變,分析屏蔽節(jié)點(diǎn)前后模型輸出譯文的變化情況,通過這種方法分別對(duì)Transformer模型內(nèi)部的單節(jié)點(diǎn)和節(jié)點(diǎn)組合與譯文中不同詞性的詞的關(guān)系進(jìn)行分析。屏蔽注意力節(jié)點(diǎn)會(huì)導(dǎo)致模型輸出的譯文發(fā)生變化,根據(jù)這種變化就可以定量計(jì)算出注意力節(jié)點(diǎn)對(duì)各詞性單詞正確翻譯的貢獻(xiàn)程度,在此基礎(chǔ)上就可以分析不同節(jié)點(diǎn)的重要程度,對(duì)節(jié)點(diǎn)進(jìn)行針對(duì)性的選擇和屏蔽,從而優(yōu)化模型,在原有模型基礎(chǔ)上進(jìn)一步提高翻譯質(zhì)量。
本文分析了德語(yǔ)到英語(yǔ)和俄語(yǔ)到英語(yǔ)的Transformer翻譯模型。實(shí)驗(yàn)結(jié)果表明,根據(jù)本文提出的方法計(jì)算得到的節(jié)點(diǎn)詞性貢獻(xiàn)度,可以選出各詞性相關(guān)的負(fù)作用節(jié)點(diǎn)。通過屏蔽模型中負(fù)作用節(jié)點(diǎn),相比原始模型,能夠在newstest2020-deen測(cè)試集上提升機(jī)器翻譯模型的BLEU值1.13,在newstest2020-ruen測(cè)試集上提升BLEU值0.89。
目前,對(duì)注意力機(jī)制進(jìn)行解釋分析的方法主要有三類,分別是注意力權(quán)重法、探針法和節(jié)點(diǎn)屏蔽法。注意力權(quán)重法主要用注意力權(quán)重的大小來分析各注意力節(jié)點(diǎn)所關(guān)注的單詞。Bahdanau等人[2]認(rèn)為注意力權(quán)重的大小反映了各源語(yǔ)言單詞對(duì)各目標(biāo)語(yǔ)單詞的聯(lián)系程度。Serrano等人[3]也通過實(shí)驗(yàn)發(fā)現(xiàn)注意力權(quán)重可以反映各源語(yǔ)言單詞對(duì)目標(biāo)語(yǔ)單詞的貢獻(xiàn)程度。由于自注意力機(jī)制的作用是提取句子內(nèi)各單詞間的關(guān)系,Vig[4]、Manning[8]等人研究了Transformer模型的編碼器的自注意力機(jī)制,用注意力權(quán)重來分析節(jié)點(diǎn)對(duì)源語(yǔ)言單詞的關(guān)注情況,從而分析節(jié)點(diǎn)所關(guān)注的語(yǔ)言學(xué)現(xiàn)象。探針法的主要方法是保持Transformer模型編碼器訓(xùn)練好的參數(shù)不變,在其后連接一個(gè)簡(jiǎn)單解碼器進(jìn)行各項(xiàng)語(yǔ)言學(xué)任務(wù),通過語(yǔ)言學(xué)任務(wù)上的表現(xiàn)來衡量編碼器各部分對(duì)源語(yǔ)言的語(yǔ)言學(xué)信息的學(xué)習(xí)情況。Raganato等人[5]使用探針法分析了Transformer模型中各編碼層對(duì)于源語(yǔ)言句法信息和語(yǔ)義信息的學(xué)習(xí)情況。節(jié)點(diǎn)屏蔽法主要是根據(jù)屏蔽節(jié)點(diǎn)后BLEU值的變化情況來對(duì)節(jié)點(diǎn)進(jìn)行分析。Michel等人[6]通過分析屏蔽注意力節(jié)點(diǎn)前后BLEU值的變化情況,發(fā)現(xiàn)有些注意力節(jié)點(diǎn)在翻譯中的貢獻(xiàn)程度較小,可以通過屏蔽這類節(jié)點(diǎn)來壓縮模型和提升模型速度。
注意力權(quán)重法和探針法主要對(duì)Transformer模型的編碼器自注意力節(jié)點(diǎn)和源語(yǔ)言的語(yǔ)言學(xué)現(xiàn)象進(jìn)行分析,不能將解釋工作和譯文質(zhì)量聯(lián)系起來。節(jié)點(diǎn)屏蔽法主要研究屏蔽節(jié)點(diǎn)對(duì)BLEU值的影響,沒有從語(yǔ)言學(xué)角度分析各節(jié)點(diǎn)的作用。本文提出的方法可以對(duì)Transformer模型中所有類型的注意力節(jié)點(diǎn)進(jìn)行研究,分析各節(jié)點(diǎn)所關(guān)注的詞性信息,并且在注意力節(jié)點(diǎn)和譯文質(zhì)量之間建立起聯(lián)系,通過屏蔽對(duì)詞性信息具有負(fù)面作用的節(jié)點(diǎn)來提升譯文的翻譯質(zhì)量。
Transformer模型是一個(gè)序列到序列的神經(jīng)機(jī)器翻譯模型,由編碼器和解碼器組成。在Vaswani等人[1]提出的Transformer模型結(jié)構(gòu)中,編碼器由6個(gè)編碼層組成,解碼器由6個(gè)解碼層組成。編碼層主要由編碼器自注意力層和前饋神經(jīng)網(wǎng)絡(luò)層組成,解碼層主要由解碼器自注意力層、編碼器-解碼器注意力層、前饋神經(jīng)網(wǎng)絡(luò)層組成。本文主要的研究對(duì)象是上述三種注意力層中的注意力節(jié)點(diǎn)。
Transformer模型與過去的神經(jīng)機(jī)器翻譯模型的最大差別在于,Transformer模型內(nèi)部沒有循環(huán)神經(jīng)網(wǎng)絡(luò),而是完全由注意力節(jié)點(diǎn)構(gòu)成的。自注意力層的主體為多頭注意力,多頭注意力由多個(gè)注意力節(jié)點(diǎn)的輸出值拼接而成。Transformer模型處理一個(gè)句子時(shí),首先根據(jù)詞嵌入向量和注意力權(quán)重計(jì)算其Q、K、V向量,然后計(jì)算各注意力節(jié)點(diǎn)的輸出。注意力節(jié)點(diǎn)輸出值的計(jì)算如式(1)所示。
(1)
之后將層內(nèi)所有注意力節(jié)點(diǎn)的輸出值進(jìn)行拼接,得到多頭注意力輸出值。其計(jì)算如式(2)所示。
其中,WO是每個(gè)注意力節(jié)點(diǎn)的權(quán)重,hi=Attention(Qi,Ki,Vi)。
本文主要將Transformer模型中的注意力節(jié)點(diǎn)作為研究對(duì)象,嘗試?yán)斫釺ransformer模型中各注意力節(jié)點(diǎn)在翻譯過程中的工作機(jī)制,分析Transformer模型中不同節(jié)點(diǎn)對(duì)于翻譯各詞性單詞以及整體翻譯質(zhì)量的作用。屏蔽節(jié)點(diǎn)時(shí),需要對(duì)計(jì)算多頭注意力的方法進(jìn)行調(diào)整。在將各注意力節(jié)點(diǎn)輸出值合并為多頭注意力前,將需要屏蔽的注意力節(jié)點(diǎn)的輸出矩陣置為0矩陣,式(2)中的每個(gè)hi的計(jì)算方式進(jìn)行修改如式(3)所示。
其中,φi是屏蔽參數(shù)。對(duì)于注意力節(jié)點(diǎn)hi,需要屏蔽hi時(shí)將φi置為0,不需要屏蔽hi時(shí)將φi置為1。屏蔽節(jié)點(diǎn)組時(shí),則需要對(duì)屏蔽的各個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行屏蔽操作。
本文用節(jié)點(diǎn)詞性貢獻(xiàn)度來反映屏蔽節(jié)點(diǎn)對(duì)各詞性單詞的翻譯準(zhǔn)確率的影響情況,從而分析節(jié)點(diǎn)對(duì)各詞性單詞正確翻譯的貢獻(xiàn)程度。本文分別計(jì)算了單節(jié)點(diǎn)詞性貢獻(xiàn)度和節(jié)點(diǎn)組詞性貢獻(xiàn)度,其中計(jì)算單節(jié)點(diǎn)詞性貢獻(xiàn)度的方法共三步:
第一步是對(duì)參考譯文用stanfordCoreNLP進(jìn)行詞性標(biāo)注,依據(jù)是賓州樹庫(kù)(Penn Treebank)中的詞性類型。賓州樹庫(kù)中,一些詞性被拆解為詞性子類,如形容詞被拆解為一般形容詞、形容詞比較級(jí)、形容詞最高級(jí),本文將名詞、動(dòng)詞、形容詞、副詞的單詞各自進(jìn)行聚類,并統(tǒng)計(jì)出參考譯文中各詞性單詞的總詞數(shù),參考譯文中詞性p的總詞數(shù)記為totalp,ref。
第二步是不屏蔽節(jié)點(diǎn),使用完整模型進(jìn)行翻譯,用模型輸出的譯文與參考譯文進(jìn)行比較,獲得每種詞性正確翻譯的總詞數(shù)。完整模型的輸出譯文中詞性p的正確翻譯的總單詞數(shù)的計(jì)算如式(4)所示。
其中,對(duì)于參考譯文中第j個(gè)句子中詞性p的第i個(gè)不重復(fù)單詞wi,統(tǒng)計(jì)其在參考句子中出現(xiàn)的次數(shù)nwi,ref,模型輸出的翻譯結(jié)果中出現(xiàn)的次數(shù)記為nwi,model。每個(gè)句子中,詞性為p的不重復(fù)單詞共有m個(gè),數(shù)據(jù)集上共有s個(gè)句子。
第三步是分別屏蔽每個(gè)節(jié)點(diǎn),用式(4)的方法計(jì)算每種詞性正確翻譯的總詞數(shù),統(tǒng)計(jì)屏蔽節(jié)點(diǎn)h后模型輸出譯文中正確翻譯的詞性p的總單詞數(shù),如式(5)所示。
其中,對(duì)于參考譯文中第j個(gè)句子,詞性p的第i個(gè)不重復(fù)單詞wi,統(tǒng)計(jì)其在參考句子中出現(xiàn)的次數(shù)nwi,ref,wi在屏蔽節(jié)點(diǎn)h后模型輸出的譯文對(duì)應(yīng)句子中出現(xiàn)的次數(shù)為nwi,maskh。每個(gè)句子中,詞性為p的不重復(fù)單詞共有m個(gè),在數(shù)據(jù)集上共有s個(gè)句子。最終計(jì)算得到節(jié)點(diǎn)h對(duì)于詞性p的節(jié)點(diǎn)詞性貢獻(xiàn)度,如式(6)所示。
其中,totalp,ref指參考譯文中詞性p的單詞總數(shù)。節(jié)點(diǎn)詞性貢獻(xiàn)度difp,h表示屏蔽節(jié)點(diǎn)h后,詞性p單詞的翻譯準(zhǔn)確率的變化情況。difp,h反映了節(jié)點(diǎn)h對(duì)于詞性p單詞正確翻譯的貢獻(xiàn)程度。difp,h>0表示屏蔽節(jié)點(diǎn)h后,詞性p單詞的翻譯準(zhǔn)確率上升,說明節(jié)點(diǎn)h對(duì)詞性p單詞的正確翻譯具有負(fù)面作用,difp,h越大,該節(jié)點(diǎn)的負(fù)面作用越大,屏蔽該節(jié)點(diǎn)后詞性p單詞的翻譯準(zhǔn)確率上升越多,將difp,h>0的節(jié)點(diǎn)記為負(fù)作用節(jié)點(diǎn);difp,h<0表示屏蔽節(jié)點(diǎn)h后,詞性p單詞的翻譯準(zhǔn)確率下降,表示節(jié)點(diǎn)h對(duì)詞性p單詞正確翻譯具有正面貢獻(xiàn),difp,h越小,該節(jié)點(diǎn)的正面貢獻(xiàn)越大,屏蔽該節(jié)點(diǎn)后詞性p單詞的翻譯準(zhǔn)確率下降較多,將difp,h<0的節(jié)點(diǎn)記為正貢獻(xiàn)節(jié)點(diǎn)。
計(jì)算節(jié)點(diǎn)組詞性貢獻(xiàn)度的方法是根據(jù)difp,h對(duì)所有節(jié)點(diǎn)的貢獻(xiàn)進(jìn)行排序,分別選出對(duì)于各詞性difp,h最大和最小的50個(gè)節(jié)點(diǎn)作為高貢獻(xiàn)節(jié)點(diǎn)組和負(fù)作用最大節(jié)點(diǎn)組。對(duì)于詞性p相關(guān)的節(jié)點(diǎn)個(gè)數(shù)為n的高貢獻(xiàn)節(jié)點(diǎn)組記為Grouphigheffect,n、Grouppositive effect,p,n,負(fù)作用最大節(jié)點(diǎn)組記為Grouphigheffect,nGroupnegative effect,p,n。對(duì)于高貢獻(xiàn)節(jié)點(diǎn)組,按照difp,h從小到大的順序,由0到50每次遞增10個(gè)節(jié)點(diǎn)進(jìn)行批量屏蔽;對(duì)于負(fù)作用最大節(jié)點(diǎn)組,按照difp,h從大到小的順序,由0到50每次遞增10個(gè)節(jié)點(diǎn)進(jìn)行批量屏蔽。具體的節(jié)點(diǎn)組實(shí)驗(yàn)與分析見3.3。當(dāng)屏蔽節(jié)點(diǎn)個(gè)數(shù)為n時(shí),詞性p單詞的翻譯準(zhǔn)確率的變化程度記為節(jié)點(diǎn)組詞性貢獻(xiàn)度difGroup, p, n,其計(jì)算如式(7)所示。
本文主要使用Facebook在2019年發(fā)布的transformer.wmt19.de-en和transformer.wmt19.ru-en預(yù)訓(xùn)練翻譯模型。兩個(gè)翻譯模型均有編碼層和解碼層各6層,每層有16個(gè)注意力節(jié)點(diǎn)。預(yù)處理使用moses進(jìn)行分詞,使用subword_nmt進(jìn)行BPE處理。兩個(gè)翻譯模型在解碼時(shí)均設(shè)置beam size為5,batch size為8,最大解碼長(zhǎng)度為200,長(zhǎng)度懲罰系數(shù)為1。最終使用sacreBLEU計(jì)算BLEU值。
本文將newstest2019-deen和newstest2019-ruen作為開發(fā)集進(jìn)行單節(jié)點(diǎn)分析。根據(jù)單節(jié)點(diǎn)的節(jié)點(diǎn)詞性貢獻(xiàn)度選出各詞性的相關(guān)節(jié)點(diǎn)組,將newstest2020-deen和newstest2020-ruen作為測(cè)試集,進(jìn)行屏蔽節(jié)點(diǎn)組的分析和提升譯文質(zhì)量的實(shí)驗(yàn)。transformer.wmt19.de-en預(yù)訓(xùn)練翻譯模型在newstest2020-deen數(shù)據(jù)集上的BLEU值為30.47,transformer.wmt19.ru-en預(yù)訓(xùn)練翻譯模型在newstest2020-ruen數(shù)據(jù)集上的BLEU值分別為32.7。本文主要對(duì)目標(biāo)語(yǔ)進(jìn)行分析,故統(tǒng)計(jì)數(shù)據(jù)集參考譯文中各詞性單詞的數(shù)量,如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)依據(jù)詞性的分布情況
本文主要使用節(jié)點(diǎn)詞性貢獻(xiàn)度difp,h來反映節(jié)點(diǎn)h對(duì)于正確翻譯詞性p的單詞的貢獻(xiàn)程度。對(duì)difp,h的計(jì)算方法如前文2.3所述。difp,h>0表示屏蔽節(jié)點(diǎn)h后,詞性p單詞的翻譯準(zhǔn)確率上升,表示節(jié)點(diǎn)h對(duì)詞性p單詞正確翻譯具有負(fù)面作用,difp,h越大表示負(fù)面作用越大;difp,h<0表示屏蔽節(jié)點(diǎn)h后,詞性p單詞的翻譯準(zhǔn)確率下降,表示節(jié)點(diǎn)h對(duì)詞性p單詞正確翻譯具有正面貢獻(xiàn),difp,h越小表示正面貢獻(xiàn)越大。
對(duì)于每種詞性,根據(jù)difp,h繪制了熱力圖,圖1展示了在newstest2019-deen數(shù)據(jù)集上,名詞、動(dòng)詞、形容詞、副詞、介詞、限定詞六種主要詞性的節(jié)點(diǎn)詞性熱力圖。該熱力圖反映了屏蔽模型單個(gè)節(jié)點(diǎn)對(duì)于翻譯該詞性單詞的影響情況。在熱力圖中,圖的縱坐標(biāo)為層序號(hào),表示節(jié)點(diǎn)所在的注意力層。0~5表示編碼器自注意力層的1~6層,6~11表示解碼器自注意力層的1~6層;12~17表示解碼器的編碼器-解碼器注意力層的1~6層。橫坐標(biāo)為層內(nèi)節(jié)點(diǎn)序號(hào),層內(nèi)節(jié)點(diǎn)序號(hào)表示節(jié)點(diǎn)在層內(nèi)的序號(hào),用0~15表示一層內(nèi)的16個(gè)注意力節(jié)點(diǎn)。熱力圖每個(gè)格子的顏色深淺反映了該節(jié)點(diǎn)的節(jié)點(diǎn)詞性貢獻(xiàn)度的大小,格子上的數(shù)值為節(jié)點(diǎn)詞性貢獻(xiàn)度的百分?jǐn)?shù)。
圖1 屏蔽單節(jié)點(diǎn)對(duì)于各詞性單詞翻譯準(zhǔn)確率的影響
根據(jù)節(jié)點(diǎn)詞性貢獻(xiàn)度的正負(fù)將節(jié)點(diǎn)劃分為正貢獻(xiàn)節(jié)點(diǎn)和負(fù)作用節(jié)點(diǎn)。difp,h<0的節(jié)點(diǎn)為正貢獻(xiàn)節(jié)點(diǎn),difp,h的值越小,節(jié)點(diǎn)顏色越淺,節(jié)點(diǎn)h對(duì)于正確翻譯詞性p單詞的貢獻(xiàn)越大;difp,h的值越大,節(jié)點(diǎn)顏色越深,表示節(jié)點(diǎn)h對(duì)于正確翻譯詞性p單詞的貢獻(xiàn)越大。difp,h>0的節(jié)點(diǎn)為負(fù)作用節(jié)點(diǎn),節(jié)點(diǎn)顏色較深,表示節(jié)點(diǎn)h對(duì)于翻譯詞性p的單詞有負(fù)面作用,屏蔽該節(jié)點(diǎn)會(huì)使詞性p的單詞的翻譯準(zhǔn)確率提高。
節(jié)點(diǎn)詞性熱力圖反映了每種詞性相關(guān)的注意力節(jié)點(diǎn)在模型內(nèi)部的位置分布情況、每種詞性相關(guān)節(jié)點(diǎn)的數(shù)量情況以及各注意力節(jié)點(diǎn)對(duì)于正確翻譯某種詞性單詞的貢獻(xiàn)程度。為了便于比較各詞性間的差異,各詞性熱力圖的色條使用了相同的上下界。可以看出有少量節(jié)點(diǎn)對(duì)于多種詞性信息都有較大貢獻(xiàn),如編碼器第6層第1個(gè)節(jié)點(diǎn),即熱力圖中坐標(biāo)為(0, 5)的節(jié)點(diǎn),在各熱力圖中顏色都較淺,說明該節(jié)點(diǎn)對(duì)六種詞性單詞的正確翻譯都有較大貢獻(xiàn);有些節(jié)點(diǎn)對(duì)于多種詞性都有負(fù)面作用,如編碼器自注意力層第6層第12個(gè)節(jié)點(diǎn),即圖中坐標(biāo)為(11, 5)的節(jié)點(diǎn),在各熱力圖中顏色都較深,說明該節(jié)點(diǎn)對(duì)六種詞性單詞的正確翻譯都有負(fù)面作用;而大部分節(jié)點(diǎn)對(duì)于某些詞性具有正面貢獻(xiàn),對(duì)另外一些詞性具有負(fù)面作用。
對(duì)于不同詞性,貢獻(xiàn)較大節(jié)點(diǎn)的數(shù)量是不同的。名詞作為出現(xiàn)頻率最高的詞性,對(duì)于名詞的翻譯有正面貢獻(xiàn)的節(jié)點(diǎn)較多。此外,有些注意力節(jié)點(diǎn)對(duì)于多種詞性信息都有貢獻(xiàn),這說明對(duì)于一個(gè)節(jié)點(diǎn),不應(yīng)該明確地將其劃分為是否關(guān)注某種詞性,而應(yīng)該通過節(jié)點(diǎn)詞性貢獻(xiàn)度定量地分析節(jié)點(diǎn)對(duì)于各詞性單詞正確翻譯的作用。
從熱力圖顏色的深淺可以看出,對(duì)于形容詞、副詞來說,顏色較深或較淺的節(jié)點(diǎn)較多,即屏蔽單個(gè)節(jié)點(diǎn)對(duì)詞性單詞翻譯準(zhǔn)確率影響較大的節(jié)點(diǎn)較多;而對(duì)于名詞、動(dòng)詞等詞性來說,顏色較深或較淺的節(jié)點(diǎn)數(shù)較少,即屏蔽單節(jié)點(diǎn)對(duì)詞性單詞翻譯準(zhǔn)確率影響較大的節(jié)點(diǎn)較少。出現(xiàn)這種現(xiàn)象的原因可能是屏蔽單節(jié)點(diǎn)對(duì)詞頻較低詞性的單詞翻譯準(zhǔn)確率影響較大。
另外,由熱力圖深淺可以看出三種注意力節(jié)點(diǎn)的深淺有一定差異。通過進(jìn)一步對(duì)比deen和ruen翻譯模型上的實(shí)驗(yàn)結(jié)果,發(fā)現(xiàn)Transformer中編碼器自注意力、解碼器自注意力和編碼器-解碼器注意力三種注意力節(jié)點(diǎn)的詞性信息貢獻(xiàn)度有一定區(qū)別。圖2對(duì)比了deen和ruen的翻譯模型在動(dòng)詞上的情況。圖中橫坐標(biāo)為層序號(hào),表示節(jié)點(diǎn)所在的注意力層,0~5表示編碼器自注意力層的1~6層,6~11表示解碼器自注意力層的1~6層,12~17表示編碼器~解碼器注意力層的1~6層??v坐標(biāo)為各層的動(dòng)詞正貢獻(xiàn)節(jié)點(diǎn)的節(jié)點(diǎn)詞性貢獻(xiàn)度的絕對(duì)值之和。兩個(gè)模型上,均發(fā)現(xiàn)有0~5層和12~17層的值相對(duì)較大、6~11層的值相對(duì)較小。說明兩個(gè)模型上解碼器自注意力節(jié)點(diǎn)對(duì)動(dòng)詞翻譯的貢獻(xiàn)相對(duì)較小,另外兩種注意力節(jié)點(diǎn)對(duì)動(dòng)詞翻譯的貢獻(xiàn)相對(duì)較大。實(shí)驗(yàn)結(jié)果顯示,兩個(gè)模型在其他詞性上也有解碼器自注意力節(jié)點(diǎn)貢獻(xiàn)相對(duì)較小,另外兩種類型的注意力節(jié)點(diǎn)貢獻(xiàn)相對(duì)較大的現(xiàn)象,這也與Michel等人[6]、Wang等人[7]的研究結(jié)果相一致。
圖2 不同類型注意力節(jié)點(diǎn)對(duì)動(dòng)詞的詞性貢獻(xiàn)程度
將newstest2019-deen和newstest2019-ruen數(shù)據(jù)集作為開發(fā)集,在兩個(gè)翻譯模型上計(jì)算各節(jié)點(diǎn)的節(jié)點(diǎn)詞性貢獻(xiàn)度,其中兩個(gè)模型均有288個(gè)注意力節(jié)點(diǎn)。對(duì)于每種詞性,按照節(jié)點(diǎn)詞性貢獻(xiàn)度對(duì)所有節(jié)點(diǎn)進(jìn)行排序,選出貢獻(xiàn)最大和負(fù)作用最大的節(jié)點(diǎn)各50個(gè)分別作為該詞性的高貢獻(xiàn)節(jié)點(diǎn)組和負(fù)作用最大節(jié)點(diǎn)組,并以隨機(jī)屏蔽節(jié)點(diǎn)組作為對(duì)照試驗(yàn),對(duì)節(jié)點(diǎn)組進(jìn)行批量屏蔽,將newstest2020-deen和newstest2020-ruen作為測(cè)試集,統(tǒng)計(jì)屏蔽節(jié)點(diǎn)組后譯文的變化情況。兩個(gè)翻譯模型的實(shí)驗(yàn)結(jié)果顯示負(fù)作用最大節(jié)點(diǎn)組中有部分節(jié)點(diǎn)對(duì)于詞性信息的負(fù)面作用較大,屏蔽這部分節(jié)點(diǎn)可以提升譯文質(zhì)量。
3.3.1 節(jié)點(diǎn)組與詞性信息
對(duì)于各詞性,分別在開發(fā)集newstest2019-deen和newstest2019-ruen上根據(jù)節(jié)點(diǎn)詞性貢獻(xiàn)度選出對(duì)于兩個(gè)翻譯模型貢獻(xiàn)最大和負(fù)面作用最大的各50個(gè)節(jié)點(diǎn)作為詞性p的高貢獻(xiàn)節(jié)點(diǎn)組和負(fù)作用最大節(jié)點(diǎn)組,由0到50每次遞增10個(gè)節(jié)點(diǎn)進(jìn)行批量屏蔽。根據(jù)3.2節(jié)中計(jì)算得到的節(jié)點(diǎn)詞性貢獻(xiàn)度,發(fā)現(xiàn)除名詞外,其他詞性的正貢獻(xiàn)節(jié)點(diǎn)和負(fù)作用節(jié)點(diǎn)個(gè)數(shù)都超過50個(gè),而名詞有22個(gè)負(fù)作用節(jié)點(diǎn)和6個(gè)無影響節(jié)點(diǎn)(節(jié)點(diǎn)詞性貢獻(xiàn)度為0的節(jié)點(diǎn))。因此,名詞的負(fù)作用最大節(jié)點(diǎn)組選取了名詞的22個(gè)負(fù)作用節(jié)點(diǎn)、6個(gè)無影響節(jié)點(diǎn)和22個(gè)正面貢獻(xiàn)最小的正貢獻(xiàn)節(jié)點(diǎn)。分別在兩個(gè)測(cè)試集上計(jì)算高貢獻(xiàn)節(jié)點(diǎn)組和負(fù)作用最大節(jié)點(diǎn)組在屏蔽前n個(gè)節(jié)點(diǎn)時(shí)詞性p的節(jié)點(diǎn)組詞性貢獻(xiàn)度difpositive,p,n和difnegative,p,n。另設(shè)隨機(jī)屏蔽組作為對(duì)照組,屏蔽了兩個(gè)實(shí)驗(yàn)組相同的節(jié)點(diǎn)數(shù),進(jìn)行10次隨機(jī)屏蔽實(shí)驗(yàn),計(jì)算各詞性翻譯準(zhǔn)確率變化情況求平均值,獲得隨機(jī)屏蔽組貢獻(xiàn)度difstochastic,p,n。
newstest2020-deen的實(shí)驗(yàn)結(jié)果如圖3所示。其中橫坐標(biāo)表示屏蔽的節(jié)點(diǎn)的個(gè)數(shù)n,縱坐標(biāo)表示對(duì)應(yīng)的節(jié)點(diǎn)組詞性貢獻(xiàn)度。mask positive heads折線表示屏蔽高貢獻(xiàn)節(jié)點(diǎn)組Grouphigheffect,n的情況,mask negative heads折線表示屏蔽負(fù)作用最大節(jié)點(diǎn)組的情況,mask heads stochastically折線表示隨機(jī)屏蔽對(duì)照組的情況。
圖3 屏蔽詞性相關(guān)節(jié)點(diǎn)組對(duì)詞性單詞翻譯準(zhǔn)確率的影響
由圖3可以看出,對(duì)于每種詞性,屏蔽高貢獻(xiàn)節(jié)點(diǎn)組時(shí),該詞性單詞的翻譯準(zhǔn)確率會(huì)顯著下降;屏蔽負(fù)作用最大節(jié)點(diǎn)組時(shí),該類詞性的翻譯準(zhǔn)確率多數(shù)呈先小幅提升后小幅下降的形態(tài),隨機(jī)屏蔽對(duì)照組的下降程度介于兩者之間。
3.3.2 節(jié)點(diǎn)組與BLEU值
圖4反映了在newstest2020-deen上屏蔽各詞性相關(guān)的節(jié)點(diǎn)組對(duì)BLEU值造成的影響。其中橫坐標(biāo)表示屏蔽節(jié)點(diǎn)的個(gè)數(shù)n,縱坐標(biāo)表示屏蔽詞性p相關(guān)的n個(gè)節(jié)點(diǎn)時(shí),BLEU值的變化情況。mask positive effect heads折線表示屏蔽高貢獻(xiàn)節(jié)點(diǎn)組的情況,mask negative effect heads折線表示屏蔽負(fù)作用最大節(jié)點(diǎn)組的情況,mask heads stochastically折線表示隨機(jī)屏蔽對(duì)照組的情況。
圖4 屏蔽詞性相關(guān)節(jié)點(diǎn)組對(duì)于譯文BLEU值的影響
對(duì)于實(shí)驗(yàn)選取的六種詞性而言,屏蔽相關(guān)節(jié)點(diǎn)組后,可以看出BLEU值和相關(guān)詞性的翻譯準(zhǔn)確率變化情況在折線圖上具有相似的形態(tài)。對(duì)于每種詞性,模型中都有部分節(jié)點(diǎn)于其正確翻譯具有正面貢獻(xiàn),屏蔽這部分節(jié)點(diǎn)會(huì)使該詞性的翻譯準(zhǔn)確率和譯文整體的翻譯質(zhì)量顯著下降,可以說這部分節(jié)點(diǎn)對(duì)于該詞性單詞的正確翻譯具有較大的貢獻(xiàn),包含了較多的語(yǔ)言學(xué)知識(shí),對(duì)于翻譯模型較為重要。
在newstest2020-deen上,屏蔽限定詞、介詞的負(fù)作用節(jié)點(diǎn)組后, BLEU值先有微小的提升,然后下降,而屏蔽名詞、動(dòng)詞的負(fù)作用節(jié)點(diǎn)組時(shí),BLEU值較屏蔽其他詞性負(fù)作用節(jié)點(diǎn)組時(shí)有較大的提升。可以看出模型中有部分節(jié)點(diǎn)對(duì)于模型翻譯性能具有較大的負(fù)面作用,屏蔽這類節(jié)點(diǎn)可以使模型翻譯質(zhì)量提升較多。
屏蔽負(fù)作用節(jié)點(diǎn)組對(duì)BLEU的影響如表2所示。從表2可以看出:
表2 屏蔽負(fù)作用節(jié)點(diǎn)組對(duì)BLEU的影響
對(duì)于transformer.wmt19.de-en預(yù)訓(xùn)練翻譯模型,在newstest2020-deen上,屏蔽對(duì)于名詞負(fù)面作用最大的30個(gè)節(jié)點(diǎn)時(shí)BLEU值提升最多,由30.47提升至31.60;屏蔽對(duì)于動(dòng)詞負(fù)面作用最大的20個(gè)節(jié)點(diǎn)時(shí)BLEU值提升最多,達(dá)到了31.40。對(duì)于transformer.wmt19.ru-en在newstest2020-ruen上,屏蔽名詞負(fù)作用最大的30個(gè)節(jié)點(diǎn)時(shí),BLEU值提升最多,由32.70提升至33.59。
在此基礎(chǔ)上, 使用組合屏蔽多種詞性相關(guān)節(jié)點(diǎn)組的方法進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),在transformer.wmt19.de-en模型上,效果最好的是同時(shí)屏蔽30個(gè)名詞負(fù)作用節(jié)點(diǎn)和20個(gè)動(dòng)詞負(fù)作用節(jié)點(diǎn),這種組合方法較屏蔽其他詞性節(jié)點(diǎn)組合而言,對(duì)模型翻譯性能提升最多,可以使newstest2020-deen的BLEU提升至32.15,這種方法在transformer.wmt19.ru-en模型上使newstest2020-ruen的BLEU值提升至33.71。
由圖4可以看出,屏蔽不同詞性相關(guān)節(jié)點(diǎn)組對(duì)翻譯性能的影響不同。當(dāng)屏蔽節(jié)點(diǎn)個(gè)數(shù)較多時(shí),不同詞性相關(guān)節(jié)點(diǎn)的重合程度較高,屏蔽節(jié)點(diǎn)個(gè)數(shù)較少時(shí),不同詞性相關(guān)節(jié)點(diǎn)重合程度較低。為了減少節(jié)點(diǎn)重合的影響,以屏蔽10個(gè)正面貢獻(xiàn)最大節(jié)點(diǎn)為例,可以看出屏蔽名詞相關(guān)節(jié)點(diǎn)組使BLEU值下降最多,屏蔽動(dòng)詞、限定詞、介詞相關(guān)節(jié)點(diǎn)組使BLEU值下降程度次之,屏蔽副詞使BLEU值下降較少。這種情況可能是由于各詞性單詞的詞頻不同,由表1可以看出,對(duì)于newstest2020-deen數(shù)據(jù)集,在六種詞性中,名詞的詞頻最高,動(dòng)詞、限定詞、介詞的詞頻中等,形容詞、副詞的詞頻較低,而BLEU值的計(jì)算機(jī)制決定了屏蔽詞頻越高的詞性相關(guān)節(jié)點(diǎn)對(duì)BLEU值的影響越大。
另外,對(duì)于限定詞、介詞和從屬連詞,由于其正確翻譯對(duì)于上下文信息要求較高,屏蔽節(jié)點(diǎn)個(gè)數(shù)較少時(shí)對(duì)BLEU值的影響相比其他詞性較小,而屏蔽節(jié)點(diǎn)個(gè)數(shù)較多時(shí),對(duì)BLEU值影響相比其他詞性較大。由圖4中可以看出,對(duì)于限定詞、介詞和從屬連詞,屏蔽10個(gè)負(fù)作用最大節(jié)點(diǎn)時(shí),其BLEU值下降程度低于名詞和動(dòng)詞,而屏蔽50個(gè)負(fù)作用最大節(jié)點(diǎn)時(shí),其BLEU值下降程度高于名詞和動(dòng)詞。
3.3.3 屏蔽負(fù)作用節(jié)點(diǎn)以改正翻譯錯(cuò)誤
對(duì)于某些詞性,模型中存在一些節(jié)點(diǎn)對(duì)于該詞性單詞的正確翻譯具有負(fù)面作用,屏蔽這類節(jié)點(diǎn)可以提高該詞性單詞翻譯準(zhǔn)確率并改正一些翻譯錯(cuò)誤。下面列舉兩個(gè)來自newstest2020-deen的典型句,通過屏蔽由newstest2019-deen選出的名詞負(fù)作用最大的10個(gè)節(jié)點(diǎn)改正了名詞翻譯缺失的翻譯錯(cuò)誤,從而提升了翻譯質(zhì)量。
典型句1:
參考譯文:TheBritishPrimeMinisterJohnson has sharp criticism for the ‘capitulation act’ ratified by parliament.
原模型譯文:Mr.Johnson has been a fierce critic of the surrender bill passed by Parliament.
屏蔽名詞負(fù)作用節(jié)點(diǎn)組譯文:BritishPrimeMinisterMr.Johnson has been a fierce critic of the surrender bill passed by Parliament.
典型句2:
參考譯文: Although extremely practical, inductive technologyviaQistandardshould not be used.
原模型譯文: Inductive technology is extremely practical, but should not be used yet.
屏蔽名詞負(fù)作用節(jié)點(diǎn)組譯文: Inductive technologyviaQi-standardis extremely practical, but should not be used yet.
可以看出,通過屏蔽10個(gè)對(duì)名詞負(fù)作用最大節(jié)點(diǎn),翻譯模型將典型句1中缺失的British PrimeMinister和典型句2中缺失的via Qi standard正確翻譯出來,改正了名詞翻譯缺失的錯(cuò)誤。
目前Transformer模型在神經(jīng)機(jī)器翻譯中被廣泛使用,但它對(duì)于使用者而言仍是“黑箱”模型,這使得研究者難以在原有模型的基礎(chǔ)上進(jìn)一步提升翻譯質(zhì)量。針對(duì)Transformer模型,本文主要研究了其注意力節(jié)點(diǎn)和詞性信息的關(guān)系,通過屏蔽節(jié)點(diǎn)的方法,分別對(duì)單節(jié)點(diǎn)和節(jié)點(diǎn)組進(jìn)行分析。由實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)部分節(jié)點(diǎn)對(duì)模型的翻譯性能具有負(fù)面作用,屏蔽這些節(jié)點(diǎn)可以在測(cè)試集上提高譯文質(zhì)量。未來工作中,我們計(jì)劃從其他語(yǔ)言學(xué)信息的角度,進(jìn)一步解釋神經(jīng)機(jī)器翻譯模型的工作機(jī)制。