2023自然語言處理導論 8機器翻譯_第1頁
2023自然語言處理導論 8機器翻譯_第2頁
2023自然語言處理導論 8機器翻譯_第3頁
2023自然語言處理導論 8機器翻譯_第4頁
2023自然語言處理導論 8機器翻譯_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1第八章機器翻譯自然語言處理導論機器翻譯概述8.1基于統(tǒng)計的機器翻譯方法8.2基于神經網(wǎng)絡的機器翻譯方法8.3目錄Contents2機器翻譯語料庫8.48信息抽取概述3根據(jù)聯(lián)合國統(tǒng)計,目前世界上正在使用的語言約有6000種,教育系統(tǒng)和公共領域中使用到的語言也有數(shù)百種之多。WarrenWeaver就在1947年提出了利用計算機翻譯人類語言的可能。機器翻譯(MachineTranslation)是指利用計算機將一種語言(源語言)自動翻譯為另外一種語言(目標語言)的過程。機器翻譯是自然語言處理中研究歷史最長也最重要的任務之一。機器翻譯概述8.1基于統(tǒng)計的機器翻譯方法8.2基于神經網(wǎng)絡的機器翻譯方法8.3目錄Contents4機器翻譯語料庫8.48.1機器翻譯概述5機器翻譯(MachineTranslation,MT)這一概念擁有很長的歷史,相關領域的研究最早可以追溯到17世紀。1629年Descartes等人就提出使用統(tǒng)一符號表達不同語言中的同一概念的語義?,F(xiàn)代機器翻譯的研究始于上世紀五十年代,Bar-Hillel等人在1951年就開始了對機器翻譯的研究,并在1952年組織了第一屆國際機器翻譯會議(InternationalConferenceonMachineTranslation)。機器翻譯的任務定義相對簡單,目標就是通過計算機將源語言(SourceLanguage)翻譯為目標語言(TargetLanguage)。8.1.1機器翻譯發(fā)展歷程6機器翻譯的發(fā)展歷程基本代表了自然語言處理領域的發(fā)展過程,迄今為止,機器翻譯的研究與發(fā)展大體上經歷了三次主要的浪潮:基于規(guī)則的機器翻譯、基于統(tǒng)計的機器翻譯以及基于神經網(wǎng)絡的機器翻譯?;谝?guī)則的機器翻譯是機器翻譯任務的第一套解決方案,它基于“每一種語義在不同的語言當中都存在與其相對應的符號”這一假設。對于某種語言中的大多數(shù)單詞而言,通常都能夠在另一種語言當中找到表達相同含義的對應的單詞。翻譯過程通常被看作一個源語言的詞替換過程。之所以被稱為“基于規(guī)則的方法”,是因為同一種語義在不同的語言當中通常會以不同的詞序去表達,詞替換過程相對應地需要兩種語言的句法規(guī)則作為指導。源語言中的每一個單詞需要被放置在目標語言中相對應的位置?;谝?guī)則的機器翻譯方法的理論非常簡潔清晰,但在實踐中的性能卻不盡如人意。這是由于選擇與給定源語言相適配的句法規(guī)則在計算上非常低效。同時,為了應對多樣的語言現(xiàn)象,語言學家們設計了規(guī)模龐大的句法規(guī)則。但是,這些規(guī)則很難被有效地組織,甚至會出現(xiàn)不同規(guī)則相互矛盾的情況。8.1.1機器翻譯發(fā)展歷程7基于統(tǒng)計的機器翻譯:在過去的20年以來,統(tǒng)計機器翻譯(StatisticalMachineTranslation,SMT)已經成為機器翻譯領域的主流方法,并在工業(yè)界得到了廣泛的實際應用。統(tǒng)計機器翻譯完全從數(shù)據(jù)驅動的角度建模機器翻譯任務。具體來說,通過對雙語語料庫的統(tǒng)計找到表達相同含義的單詞或短語。給定一個源語言句子,統(tǒng)計機器翻譯首先將其分割成若干個子句,接下來每個部分可以被目標語言的單詞或短語替代。統(tǒng)計機器翻譯中最主流的方法是基于詞的統(tǒng)計機器翻譯(Word-basedMT)以及基于短語的統(tǒng)計機器翻譯(Phrase-basedSMT),總體包含預處理、句子對齊、詞對齊、短語抽取、短語特征準備、語言模型訓練等步驟?;谏窠浘W(wǎng)絡的機器翻譯:神經網(wǎng)絡方法在機器翻譯任務上的第一次成功應用是Kalchbrenner和Blunsom等人在2013年提出的基于遞歸神經網(wǎng)絡的方法。神經機器翻譯模型在對語言學知識的依賴更少的前提下達到與之前方法相媲美的性能。8.1.2機器翻譯現(xiàn)狀與挑戰(zhàn)8機器翻譯在經歷了幾十年的發(fā)展后,特別是深度神經網(wǎng)絡有效應用于機器翻譯,使得模型機器翻譯的效果有了很大的提高,在特定條件下機器翻譯的效果已經能夠達到非常好的效果,甚至可以接近人工翻譯效果。然而,在開放環(huán)境中,翻譯效果還遠沒有達到直接使用的程度。根據(jù)機器翻譯權威評測WMT21給出的人工評測結果,在新聞領域最好的中文到英文翻譯系統(tǒng)評分也僅有75分左右(滿分100分)。機器翻譯完全代替人工翻譯還有很長的道路。以王佐良先生對SamuelUllman所著的《Youth》譯文為例:原文:Youthisnotatimeoflife;itisastateofmind;itisnotamatterofrosycheeks,redlipsandsuppleknees;itisamatterofthewill,aqualityoftheimagination,avigoroftheemotions;itisthefreshnessofthedeepspringsoflife.機器翻譯結果:青春不是生命的時光;這是一種心態(tài);這不是紅潤的臉頰、紅潤的嘴唇和柔軟的膝蓋;這是意志的問題,是想象力的質量,是情感的活力;它是生命深泉的清新。王佐良譯文:青春不是年華,而是心境;青春不是桃面、丹唇、柔膝,而是深沉的意志,恢宏的想象,炙熱的感情;青春是生命的深泉在涌流。8.1.2機器翻譯現(xiàn)狀與挑戰(zhàn)9機器翻譯雖然經過很多年的發(fā)展,目前在特定應用場景下已經能夠有很好的效果,整個翻譯的效果距離人工翻譯“信達雅”的要求還是有很大的差距,仍然面臨如下挑戰(zhàn):(1)自然語言復雜度高:自然語言具有高度的復雜性、概括性以及多變性,并且是在不斷發(fā)展的過程中。雖然目前已經有深度神經網(wǎng)絡模型參數(shù)量達到了1.75萬億,但是相比于自然語言的復雜度來說還是相差很多。(2)翻譯結果不可解釋:目前機器翻譯算法多采用數(shù)據(jù)驅動的方法,所采用的模型通常不具備可解釋性。這就造成了機器翻譯算法雖然給出了翻譯結果,并且效果可能還很好,但是其對語言的理解和翻譯過程與人的理解和翻譯過程完全不同。(3)翻譯結果評測困難:語言有很大的靈活性和多樣性,同樣一句話可以有非常多種的翻譯方法。對機器翻譯性能進行評測可以采用人工評測和半自動評測方法。機器翻譯概述8.1基于統(tǒng)計的機器翻譯方法8.2基于神經網(wǎng)絡的機器翻譯方法8.3目錄Contents10機器翻譯語料庫8.48.2基于統(tǒng)計的機器翻譯方法11機器翻譯任務到今天已經經歷了長達數(shù)十年的發(fā)展歷史。在很長一段時間之內,基于統(tǒng)計的機器翻譯方法在學術界受到了許多關注并在工業(yè)界得到了廣泛地應用。盡管這些模型在當下已經不再是人們關注的焦點,回顧這些方法仍然對我們完整地了解機器翻譯的過去以及展望未來的研究具有十分重要的意義。8.2.1任務定義與基本問題12IBM機器翻譯模型構建在噪聲信道模型(NoiseChannelModel)的基礎之上,其模型基本框架如下圖所示。源語言句子s和候選的目標語言句子ti通過一個噪聲信道相連,在已知s和噪音信道性質的前提之下,就能夠得到信源,也即目標語言的分布P(t|s)。機器翻譯的過程本質上就是在給定源語言句子s的前提下,從分布P(t|s)找到最有可能的目標語言t作為輸出,這一搜索過程也被稱為解碼。8.2.1任務定義與基本問題13在上述噪聲信道基礎框架下,統(tǒng)計機器翻譯任務需要解決如下三個核心的基本問題:問題1:建模

如何通過易于被計算機處理的數(shù)學模型對P(t|s)進行合理地建模以刻畫源語言和目標語言之間的關系。問題2:訓練

如何從給定的平行語料庫(即源語言-目標語言對組成的語料集合)中獲得最優(yōu)的模型參數(shù)。問題3:解碼

如何從模型P(t|s)中搜索出最優(yōu)的目標語言序列t。8.2.1任務定義與基本問題14統(tǒng)計機器翻譯模型的核心在于對P(t|s)的定義,這一定義決定了模型性能的上限并且也是后續(xù)訓練和解碼的基礎。IBM模型通過貝葉斯公式對這一翻譯概率做如下變換:通過上述變換,翻譯模型P(t|s)$被分解為了三個部分:從目標語言指向源語言的翻譯概率P(s|t);目標語言的語言模型P(t);源語言序列語言模型P(s)。需要注意的是,通過貝葉斯變換,P(t|s)

P(s|t)

只是翻譯的方向不同,建模難度并沒有下降。其核心是為了引入目標語言的語言模型。這是由于IBM模型本質上是一種基于詞的統(tǒng)計機器翻譯模型,僅通過翻譯概率$P(s|t)很難有效地建模目標語言單詞之間的相對位置關系,也即目標語言序列的流暢程度。8.2.1任務定義與基本問題15P(s)是一個不變量,不會影響到最終的解碼過程,在建模的過程當中P(s)通常不需要被計算,可以省略:基于上述分析,IBM模型的建模問題轉換為如何建模翻譯概率P(s|t)以及語言模型P(t)。翻譯概率P(s|t)主要用于衡量源語言和目標語言之間的匹配程度。然而,自然語言擁有極其龐大的潛在的組合方式。假設某種語言對應的詞表大小為10000,那么一個簡單的長度為10的句子就對應著1000010=1040種不同的組合方式?;谌魏我延械钠叫姓Z料庫,直接在句子層級對上述翻譯概率進行估計,都會面臨嚴重的數(shù)據(jù)稀缺問題。因此,IBM模型將句子層級的翻譯概率進一步拆解為單詞級別的對應關系的組合,從而緩解上述數(shù)據(jù)稀疏的問題,這一拆解過程又被稱為詞對齊。8.2.1任務定義與基本問題16詞對齊作為IBM模型構建的重要基礎之一,描述了目標語言和源語言之間單詞級別的對應關系。以下圖中的對齊實例為例,給定源語言文本“機器

翻譯”,對應的目標語言翻譯為“MachineTranslation”。其中,“機器”一詞對應“Machine”而“翻譯”一詞對應“Translation”。使用記號a={a1,...,am}表示這種對應關系,其中aj表示源語言中的單詞sj和目標語言中的單詞taj存在對應關系。舉例來說,在上述對齊實例中,a1=1

a2=2。8.2.1任務定義與基本問題17為了建模方便,IBM模型對詞對齊做了如下兩個限制:對于每一個源語言單詞,至多只能對齊到一個目標語言單詞上。下圖對齊實例2中,源語言單詞“機器”同時對應到了兩個目標語言單詞``Machine''和``Translation'',這就違反了上述IBM模型假設。而其余的對齊實例均滿足這一假設。存在一些源語言單詞,它們可以對齊到一個額外增設的虛擬目標語言單詞``Null''上,也即對空。下圖的對齊實例4中的“機器”一詞就對應到了目標語言的``Null''上。對空情況的額外考慮并不是沒有意義的。事實上,對空的現(xiàn)象在翻譯的過程當中頻繁出現(xiàn),如虛詞的翻譯。8.2.1任務定義與基本問題18IBM模型認為句子級別的翻譯概率可以通過單詞級別的翻譯概率組合而成,并將詞對齊作為一種隱變量整合到翻譯概率的建模過程中。這樣,原本較為困難的句子級別的建模問題就被分解為一個分步學習的問題:其中,s={s1,

s2,

...,

sm}表示一個長度為m的源語言序列,t={t1,t2,...tl}表示一個長度為l的目標語言序列,a={a1,a2,...,am}表示源語言中每一個單詞sj對應的目標語言單詞序號aj。直接建模P(s|t)仍然非常復雜,為了解決這個問題,IBM模型對上述概率通過鏈式法則做了進一步展開,并為后續(xù)的簡化做了準備。其中,

表示源語言序列中前j-1個單詞的詞對齊,表示源語言序列中的前j-1個單詞。這一展開看似較為復雜,實際上每個部分都具有較為清晰的物理含義。給定一個目標語言序列

t,首先通過概率P(m|t)估計源語言序列的長度m。接下來,通過m次循環(huán)從左向右依次生成源語言序列和它們的詞對齊。在第

j

次循環(huán)當中,首先通過目標語言序列

t,前

j-1

次循環(huán)中生成的詞對齊序列

以及源語言序列

產生當前位置的詞對齊

aj,即

接下來結合

aj

進一步生成當前位置的源語言單詞

sj,也即至此,翻譯概率的建模實際上就被轉換為源語言文本和詞對齊的生成問題8.2.1任務定義與基本問題198.2.1任務定義與基本問題20翻譯概率的建模實際上就被轉換為源語言文本和詞對齊的生成問題。但是,仍然還存在兩個迫切需要解決的問題:(1)為了最終實現(xiàn)對翻譯概率P(s|t)的建模,在公式中需要對所有可能的詞對齊進行求和。然而,可能的詞對齊的數(shù)量隨著源語言序列的長度呈指數(shù)級別增長,如何計算這一求和式是第一個需要被解決的問題。(2)公式中通過鏈式分解為建模P(s,a|t)提供了一種可行的方向,然而如何通過目標語言序列估計源語言序列的長度P(m|t),以及如何建模源語言和詞對齊的生成過程尚待解決。對于上述兩個問題的解決實際上對應著五個不同的IBM模型8.2.1任務定義與基本問題21在完成了對翻譯概率P(s|t)以及語言模型P(t)的建模與優(yōu)化之后,下一個需要解決的問題就是解碼,8.2.2IBM模型I22IBM模型

I

假定源語言句子序列長度的生成概率服從均勻分布,即:源語言中的每一個單詞被認為是等可能地和目標語言中的所有單詞對齊當對齊關系明確之后,IBM模型I

假設當前時刻源語言單詞sj的生成只依賴于和它對齊的目標語言單詞taj:8.2.2IBM模型I23經過上述三個部分的化簡,翻譯概率

P(s|t)

可以按照下面的方式得到:觀察IBM模型I最終的建模結果可以發(fā)現(xiàn),翻譯概率P(s|t)最終變成了在所有可能的詞對齊的基礎上,對單詞對翻譯概率的連乘。8.2.2IBM模型I24另一個需要解決的問題是對齊序列a的求和問題。一個長度為m的源語言序列的每一個單詞有可能對齊到長度為l+1的目標語言的任何一個位置上。在實際的計算過程中,IBM模型采用如下的計算技巧:8.2.2IBM模型I25此處的計算技巧通過將若干個連乘結果的加和轉換為若干加和結果的連乘。計算復雜度由原本的O((l+1)m

·m降低為O((l+1)

·

m)8.2.2IBM模型I26IBM模型I的優(yōu)化過程本質上基于極大似然估計的思想,也即找到一組參數(shù),使得模型能夠對訓練集中的句對

(s,t)輸出盡可能大的概率,形式化的描述如下:利用拉格朗日乘子法將上式轉換為無約束優(yōu)化問題,得到如下無約束的優(yōu)化目標:8.2.3IBM模型II27IBM模型I雖然很好地簡化了模型的復雜程度使得翻譯的建模成為了可能,但其中的一些簡化與真實情況存在著較大的差異,導致翻譯性能受到了較大的限制。最突出的問題是詞對齊的概率服從均勻分布。IBM模型I

對這一問題作出了修正,它認為詞對齊存在著一定的傾向性。具體來說,IBM模型I

假設源語言單詞

xj

的對齊位置

aj

的生成概率與它所在的位置

j

和源語言序列長度

m

以及目標語言序列長度

l

有關,形式化表示為:8.2.3IBM模型II28a(aj|j,m,l)表示源語言序列中第j個位置詞對齊的生成概率,它被建模為IBM模型II中的一個需要學習的參數(shù)。除了詞對齊假設之外,其余的模型假設均與IBM模型I相同,將新的詞對齊生成概率按照上一小節(jié)所述的建模過程能夠得到IBM模型II的翻譯建模表達式為:8.2.4IBM模型III29IBM模型I和II存在的一個共同的問題是將單詞翻譯的過程建模為了一個獨立的過程,這就導致它們不能很好地描述多個源語言單詞對齊到同一個目標語言單詞的情況。IBM模型III是一種基于繁衍率的模型,可以在一定程度上解決上述問題。這里的繁衍率(Fertility)是指每個目標語言單詞生成源語言單詞的個數(shù)。模型首先確定每個目標語言單詞的繁衍率φi依據(jù)繁衍率確定目標語言對應的源語言單詞是什么,這樣就得到了每個目標語言單詞所對應的源語言單詞列表8.2.4IBM模型III30IBM模型III的翻譯概率的形式如下所示:詳細過程可以參閱文獻[411]8.2.5IBM模型IV31當一個目標語言單詞對應多個源語言單詞時,這些源語言單詞往往會構成一個整體,也即一個短語。然而前面所述的三個IBM模型并沒有對與這種情況做特殊的設計,這就導致了源語言中的單詞短語可能會被打散。針對這個問題,IBM模型IV做出了進一步的修正。它將原本單詞之間的對應關系拓寬到了概念(Concept)之間的對應。這里的概念是指具有獨立語法或語義的一組單詞。IBM模型IV將目標語言的概念約束為那些非空對齊的目標語言單詞,且要求所有的目標語言概念都只能由一個單詞構成。8.2.5IBM模型IV32IBM模型IV所做的修正主要體現(xiàn)在扭曲度的建模,對于[i]對應的源語言單詞列表中的第一個單詞,它的扭曲度計算公式如下:此處的

表示目標語言序列中第

i

個單詞所對應的源語言列表中的第

k

個單詞的位置。對于列表中其他單詞的扭曲度,則使用如下公式進行計算:其中,A(·)和B(·)$分別表示從源語言、目標語言單詞向單詞詞類映射的函數(shù)。這一扭曲度函數(shù)的改進背后的思想是,在生成

t[i]的第一個源語言單詞時,要考慮平均位置

[i]和這個源語言單詞之間的絕對距離。隨后生成的單詞所放置的位置則要考慮前一個放置完的單詞的相對位置,以及當前源語言單詞的詞類。這個過程實際上,使得同一個目標語言單詞所生成的源語言單詞之間可以相互影響,從而避免了獨立生成各個源語言單詞所帶來的沖突問題。8.2.6IBM模型V33IBM模型V針對詞對齊的過程做了進一步的約束。它認為同一個源語言單詞不應當由多個目標語言單詞轉換而來。如下圖所示,前面4種詞對齊方式都是合法的。然而,對于詞對齊a5和a6來說,源語言單詞“機器”和“翻譯”分別對應著兩個目標語言單詞。8.2.6IBM模型V34為了約束這種情況的出現(xiàn),IBM模型V在放置每一個源語言單詞時都會檢查這個位置是否已經放置了其他單詞。為了實現(xiàn)這一點,引入一個新的變量,它表示在放置之前,源語言的前j個位置還有多少空余。為了簡便起見,后續(xù)記這個變量為vj。這樣,對于單詞[i]所對應的源語言單詞列表中的第一個單詞有:對于其他單詞,有:此處的

是用來判斷第j個位置是否為空。如果第

j

個位置為空,則

,這樣

。這樣就避免了詞對齊的沖突問題。機器翻譯概述8.1基于統(tǒng)計的機器翻譯方法8.2基于神經網(wǎng)絡的機器翻譯方法8.3目錄Contents35機器翻譯語料庫8.48.3基于神經網(wǎng)絡的機器翻譯方法36傳統(tǒng)機器翻譯方法高度依賴于繁雜的特征工程,合理特征的設計對系統(tǒng)構建者的語言學背景具有較高的要求,同時需要在不斷地試錯過程中修正。這些特征往往不能夠完整地反映輸入文本的語義。語言模型作為傳統(tǒng)機器翻譯模型的重要組成部分,為了降低模型復雜度而引入的馬爾可夫假設使得上下文窗口之外的語義依賴無法被建模從輸入文本表示的角度來說,經典的詞袋模型(bag-of-words,BOW)則忽略了詞序對輸入文本表示的影響傳統(tǒng)機器翻譯方法存在一些固有缺陷影響其進一步提升:以最具代表性的基于短語的統(tǒng)計機器翻譯方法為例,翻譯通過將輸入的源語言切分成短語并替換為目標語言的過程完成,短語范圍之外的長程依賴在這一過程中被完全忽略,進而造成翻譯結果中的錯誤和不一致性。同時,為了提升翻譯的準確性和流暢度,越來越多的功能模塊不斷被設計并添加到統(tǒng)計翻譯模型當中(如語言模型、調序模型、長度調整模型等)。復雜的翻譯組件使得系統(tǒng)的整體調優(yōu)和穩(wěn)定性受到一定程度的影響。8.3基于神經網(wǎng)絡的機器翻譯方法37神經網(wǎng)絡模型作為一個強力的特征抽取器,能夠自動地學習輸入文本的最優(yōu)表征,從而在很大程度上減少對領域知識的要求及繁瑣的特征工程預處理步驟。而以循環(huán)神經網(wǎng)絡、Transformer為代表的神經機器翻譯方法能夠有效地建模長程依賴,端到端的特性也使得系統(tǒng)的整體結構變得更加緊湊易于調整?,F(xiàn)代神經機器翻譯模型大多依據(jù)序列到序列的方式對任務進行建模。給定源語言輸入文本,訓練目標是找到最合適的目標語言句子作為譯文。8.3基于神經網(wǎng)絡的機器翻譯方法38神經網(wǎng)絡模型作為一個強力的特征抽取器,能夠自動地學習輸入文本的最優(yōu)表征,從而在很大程度上減少對領域知識的要求及繁瑣的特征工程預處理步驟。而以循環(huán)神經網(wǎng)絡、Transformer為代表的神經機器翻譯方法能夠有效地建模長程依賴,端到端的特性也使得系統(tǒng)的整體結構變得更加緊湊易于調整?,F(xiàn)代神經機器翻譯模型大多依據(jù)序列到序列的方式對任務進行建模。給定源語言輸入文本,訓練目標是找到最合適的目標語言句子作為譯文。形式化地來說,給定源語言序列S={s1,s2,...,sn},神經機器翻譯模型試圖找到具有最大條件概率P(T|S)的目標語言序列T={t1,t2,...,tm}$,n和m分別表示源語言和目標語言的長度。在生成目標語言句子的每個單詞時,源語言和已經生成的目標語言信息會被使用。因此,神經機器翻譯的整體過程可以按照如下公式描述:8.3.1循環(huán)神經網(wǎng)絡翻譯模型39神經機器翻譯模型大多基于序列到序列的架構,完成從源語言到目標語言的轉換過程。不同神經機器翻譯模型的主要區(qū)別在于編碼器和解碼器所采用的結構上的差異。自然語言文本可以看做一種時間序列數(shù)據(jù),因此一種常見做法是采用基于循環(huán)神經網(wǎng)絡的結構完成對源語言文本的編碼以及目標語言文本的生成。8.3.1循環(huán)神經網(wǎng)絡翻譯模型40左側為編碼器部分,源語言單詞按照其在文本序列中的先后順序被依次送入到循環(huán)神經網(wǎng)絡(RNN)當中。在每個時間步t中,模型依據(jù)送入的源語言單詞xt對應修改維護其模型內部的隱狀態(tài)ht,這個隱狀態(tài)編碼了輸入的源語言序列前t個時刻的所有必要信息。按照這種方式當m個輸入全部被送入到編碼器之后,所對應的hm

可以認為包含了源語言序列的所有信息。右半部分是RNN解碼器部分,它接收編碼器輸出的編碼源語言句子信息的向量hm

作為初始隱狀態(tài)s0。由于RNN的循環(huán)過程在每個時間步都要求一個輸入單詞,為了啟動解碼過程,一般會使用一個保留的特殊符號``[Start]''作為翻譯開始的標記送入到RNN解碼器當中,并解碼出目標語言序列的第一個單詞z1。接下來,z1會作為下一個時刻的輸入被送入到循環(huán)神經網(wǎng)絡當中并按照不斷迭代產生后續(xù)的預測。8.3.1循環(huán)神經網(wǎng)絡翻譯模型41通過循環(huán)網(wǎng)絡對源語言文本進行編碼,并生成目標語言翻譯結果的過程十分簡單。然而,它僅僅使用一個定長的向量hm

編碼整個源語言序列。這對于較短的源語言文本沒有什么問題,但隨著文本序列長度的逐漸加長,單一的一個向量hm

可能不足以承載源語言序列當中的所有信息。藍色的線代表上述簡單循環(huán)神經網(wǎng)絡性能隨源語言文本長度的變化趨勢。當文本長度在20個單詞以內時,單一向量能夠承載源語言文本中的必要信息。隨著文本序列的進一步增加,翻譯性能的評價指標BLEU的值就開始出現(xiàn)明顯地下降。8.3.1循環(huán)神經網(wǎng)絡翻譯模型42引入注意力機制的循環(huán)機器翻譯架構與基于簡單循環(huán)網(wǎng)絡的機器翻譯模型大體結構相似,均采用循環(huán)神經網(wǎng)絡作為編碼器與解碼器的實現(xiàn)。關鍵的不同點在于注意力機制的引入使得不再需要把原始文本中的所有必要信息壓縮到一個向量當中。引入注意力機制的循環(huán)機器翻譯架構如下圖所示。8.3.1循環(huán)神經網(wǎng)絡翻譯模型43具體來說,給定源語言序列經過編碼器輸出的向量序列,注意力機制旨在依據(jù)解碼端翻譯的需要,自適應地從這個向量序列中查找對應的信息。與簡單循環(huán)網(wǎng)絡相類似,在t時刻,旨在通過t-1時刻的隱狀態(tài)st-1以及t時刻的輸入維護循環(huán)隱狀態(tài)并生成當前時刻目標語言翻譯結果。為了更高效地考慮源語言上下文語義來提高翻譯質量,注意力機制通過通過計算一組匹配分數(shù)并利用softmax歸一化為一組權重自適應地確定源語言中需要聚焦的部分。具體計算公式如下:8.3.1循環(huán)神經網(wǎng)絡翻譯模型44基于上述權重能夠得到生成譯文所必要的源語言信息,進一步地,可以將這部分源語言信息與當前時刻的輸入拼接送入RNN作為新的輸入:通過這樣的修改,在維護RNN任意時刻隱藏狀態(tài)并生成譯文的過程中,能夠自適應地考慮源語言中的哪部分信息需要被聚焦,從而生成更加高質量的譯文。8.3.2卷積神經網(wǎng)絡翻譯模型45卷積神經網(wǎng)絡也是一種經典的神經網(wǎng)絡結構,被廣泛地使用在自然語言處理的各項任務當中。相較于循環(huán)神經網(wǎng)絡來說,卷積神經網(wǎng)絡每一步卷積操作并不依賴于前一時間步的計算結果,因而能夠充分并行化以更好地利用GPU的計算資源。ConvS2S的整體結構如左圖所示,它采用卷積神經網(wǎng)絡作為編碼器(圖片上側)和解碼器(圖片左下側)的具體實現(xiàn),完成對源語言和目標語言的特征提取。這種模型結構使得每一層的網(wǎng)絡計算可以完全并行化。通過堆疊多層卷積結構,上下文窗口的范圍得以不斷擴大,從而逐漸建模輸入文本中的遠距離依賴。8.3.2卷積神經網(wǎng)絡翻譯模型46ConvS2S主要由下述幾個部件構成:位置編碼:由于ConvS2S摒棄了循環(huán)結構,因此需要在輸入層引入位置編碼來標識輸入序列中詞與詞之間的相對位置關系。卷積層與門控線性單元:這部分是編碼器與解碼器的實現(xiàn)模塊,分別用于抽取源語言和目標語言的上下文語義特征。殘差連接:編碼器和解碼器中堆疊的多層卷積結構當中增加了殘差連接結構,直接連接每一層的輸入與輸出,從而提高信息傳播效率,減小模型的優(yōu)化難度。多步注意力機制:與循環(huán)神經機器翻譯模型類似,也采用注意力機制自適應地從源語言端檢索譯文對應的源語言信息。不同的是,此處的注意力計算在解碼器的每一層當中都會出現(xiàn),因而被稱為“多步”注意力。8.3.2卷積神經網(wǎng)絡翻譯模型47位置編碼由于ConvS2S不再使用基于循環(huán)的結構編碼輸入序列,因此模型失去了對于輸入文本中詞與詞之間相對位置關系的感知。位置編碼旨在重新給予模型這部分信息。為了使得卷積模型能夠感知到輸入序列中單詞的相對位置關系,使用額外的位置嵌入用于標識每個單詞在句子中的絕對位置詞嵌入和位置嵌入同時被使用作為編碼器和解碼器的輸入8.3.2卷積神經網(wǎng)絡翻譯模型48門控卷積結構編碼器和解碼器均采用門控卷積結構作為建模源語言和目標語言的基本部件,這一部件由序列維度上的一維卷積運算和非線性門控機制結合而成。卷積過程能夠有效地建模待處理文本中的局部上下文信息,而序列中的長程依賴問題則可以通過多層卷積結構的堆疊得到緩解。非線性門控機制使得我們能夠建模輸入視野下更加復雜的依賴關系。具體來說,對于嵌入層輸入的文本表示,通過一個線性映射將維度轉換到$d$維之后,我們能夠得到卷積操作的每個上下文窗口的輸入。對其進行卷積運算如下:對

X

進行卷積操作得到對應兩組輸出A

,

B后,基于門控線性單元(GatedLinearUnits)的非線性變換被用作激活函數(shù)得到最終輸出:殘差鏈接(residualconnections)被引入到模型構建當中。具體來說,每一層卷積單元的輸入被直接連接到輸出當中如下所示:8.3.2卷積神經網(wǎng)絡翻譯模型49多步自注意力機制解碼器同樣采用了堆疊的多層門控卷積結構完成對目標語言的解碼,并在每一層門控卷積之后通過注意力機制參考源語言信息。以解碼器第l層第i個時間步的注意力計算為例,為了確定需要參考源語言中的哪部分信息,當前時刻的解碼器狀態(tài)以及前一個時刻解碼出的目標語言嵌入用于作出決策的依據(jù):基于當前位置的狀態(tài)依據(jù)

,目標語言位置

i

相對源語言第

j

個單詞的注意力得分

可以通過

和源語言編碼器對應位置的輸出

計算得到:基于上述過程得到的注意力得分,可以對源語言不同位置的信息進行加權整合得到為了預測當前位置目標語言單詞所需的依據(jù):8.3.2卷積神經網(wǎng)絡翻譯模型50這里的源語言端同時利用了編碼器的輸出以及對應位置的輸入詞嵌入。這兩者對應著更加全面的源語言信息,在實踐中也證明十分有效。基于上述源語言信息,可以得到解碼器端第$l$層的輸出為:上述多步注意力機制中的“多步”一詞主要從兩個方面體現(xiàn)。首先從多層卷積堆疊的角度來說,前一層中通過注意力機制動態(tài)地決定哪些相關信息需要被關注并傳遞到下一層當中,而下一層在計算對源語言不同位置的注意力得分過程中又會考慮到這些信息。從時間步的角度來說,在計算目標語言每個位置i的注意力分布時,前k個位置的注意力歷史信息都會作為輸入的一部分被考慮。8.3.3自注意力神經網(wǎng)絡翻譯模型51Transformer是由谷歌在2017年提出的一種Seq2Seq架構。它的出現(xiàn)使得機器翻譯的性能和效率邁向了一個新的階段。它摒棄了循環(huán)結構,并完全通過注意力機制完成對源語言序列和目標語言序列全局依賴的建模。在抽取每個單詞的上下文特征時,Transformer通過自注意力機制(self-attention)衡量上下文中每一個單詞對當前單詞的重要程度,在這個過程當中沒有任何的循環(huán)單元參與計算。這種高度可并行化的編碼過程使得模型的運行變得十分高效。8.3.3自注意力神經網(wǎng)絡翻譯模型52基于Transformer的機器翻譯模型架構如左圖所示,左側和右側分別對應著Seq2Seq模型的編碼器和解碼器結構。它們均由若干個基本的Transformer層組成(對應著圖中的灰色框)。每個Transformer層都接收一個向量序列作為輸入,并輸出一個等長的向量序列作為輸出。這里的xi

和yi

分別對應著文本序列中的一個單詞的表示。而yi

是當前Transformer對輸入xi

進一步整合其上下文語義后對應的輸出。在從輸入到輸出的語義抽象過程中,主要涉及如下幾個模塊:8.3.3自注意力神經網(wǎng)絡翻譯模型53自注意力子層:對應圖中的Multi-HeadAttention部分。使用自注意力機制整合上下文語義,它使得序列中任意兩個單詞之間的依賴關系可以直接被建模而不基于傳統(tǒng)的循環(huán)結構,從而更好地解決文本的長程依賴。前饋子層:對應圖中的FeedForward部分。通過全連接層對輸入文本序列中的每個單詞表示進行更復雜的變換。殘差連接:對應圖中的Add部分。它是一條分別作用在上述兩個子層當中的直連通路,被用于連接它們的輸入與輸出。從而使得信息流動更加高效,有利于模型的優(yōu)化。層標準化:對應圖中的Norm部分。作用于上述兩個子層的輸出表示序列中,對表示序列進行層標準化操作,同樣起到穩(wěn)定優(yōu)化的作用。8.3.3自注意力神經網(wǎng)絡翻譯模型54解碼器的每個Transformer層的第一個自注意力子層額外增加了注意力掩碼,對應圖中的掩碼多頭注意力(MaskedMulti-HeadAttention)部分。額外增加的掩碼是用來掩蓋后續(xù)的文本信息,以防模型在訓練階段直接看到后續(xù)的文本序列進而無法得到有效地訓練。解碼器端還額外增加了一個多頭注意力(Multi-HeadAttention)模塊,需要注意的是它同時接收來自編碼器端的輸出以及當前Transformer層第一個掩碼注意力層的輸出。它的作用是在翻譯的過程當中,為了生成合理的目標語言序列需要觀測待翻譯的源語言序列是什么。待翻譯的源語言文本,首先經過編碼器端的每個Transformer層對其上下文語義的層層抽象,最終輸出每一個源語言單詞上下文相關的表示。解碼器端以自回歸的方式生成目標語言文本,即每個時間步t參考編碼器端輸出的所有源語言文本表示以及前t-1個時刻生成的目標語言文本生成當前時刻的目標語言單詞。8.3.3自注意力神經網(wǎng)絡翻譯模型55位置編碼:對于待翻譯的文本序列,首先通過輸入嵌入層(InputEmbedding)將每個單詞轉換為其相對應的向量表示。在送入編碼器端建模其上下文語義之前,一個非常重要的操作是在詞嵌入中加入位置編碼這一特征。由于Transfomer不再使用基于循環(huán)的方式建模文本輸入,序列中不再有任何信息能夠提示模型單詞之間的相對位置關系。因此補充這部分信息是十分必要的。具體來說,序列中每一個單詞所在的位置都對應一個實值向量。這一實值向量會與單詞表示對應相加并送入到后續(xù)模塊中做進一步處理。在訓練的過程當中,模型會自動地學習到如何利用這部分位置信息。為了得到不同位置對應的編碼,Transformer使用不同頻率的正余弦函數(shù)如下所示:其中,pos表示單詞所在的位置,2i和2i+1表示位置編碼向量中的對應維度,d則對應位置編碼的總維度。8.3.3自注意力神經網(wǎng)絡翻譯模型56自注意力子層:自注意力(Self-Attention)機制是基于Transformer的機器翻譯模型的基本操作,在源語言的編碼和目標語言的生成中頻繁地被使用以建模源語言、目標語言任意兩個單詞之間的依賴關系。給定由單詞語義嵌入及其位置編碼疊加得到的輸入表示,為了實現(xiàn)對上下文語義依賴的建模,進一步引入在自注意力機制中涉及到的三個元素:查詢qi

(Query),鍵ki(Key),值vi(Value)。在編碼輸入序列中每一個單詞的表示的過程中,這三個元素用于計算上下文單詞所對應的權重得分。直觀地說,這些權重反映了在編碼當前單詞的表示時對于上下文不同部分所需要的關注程度。8.3.3自注意力神經網(wǎng)絡翻譯模型57通過三個線性變換,,

將輸入序列中的每一個單詞表示轉換為其對應向量,,為了得到編碼單詞

xi

時所需要關注的上下文信息,通過位置

I

查詢向量與其他位置的鍵向量做點積得到匹配分數(shù):經過Softmax歸一化為概率之后,與其他位置的值向量相乘來聚合我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論