于 惠,謝 軍,熊 皓,呂雅娟,劉 群,林守勛
(中國科學(xué)院計算技術(shù)研究所智能信息處理重點實驗室,北京100190)
廣泛意義上來講,統(tǒng)計機器翻譯[1]也可以看作是利用規(guī)則來翻譯的,例如,基于短語的翻譯模型[2-4]利用的是短語翻譯規(guī)則,基于句法的翻譯模型[5-7]利用的是句法翻譯規(guī)則。一般的翻譯規(guī)則包含源端和目標端,他們可能是詞、短語或者是句法樹,這依賴于它們所屬的模型。通常,一個源端可能對應(yīng)著多個目標端,由于對齊錯誤或其他原因其中的一些規(guī)則可能是錯誤的。統(tǒng)計機器翻譯的一個主要任務(wù)就是對于給定的規(guī)則源端選擇出正確的目標端,這會直接影響翻譯模型的質(zhì)量。
傳統(tǒng)的方法是利用在訓(xùn)練語料中估計的翻譯概率來做規(guī)則選擇,這種方法沒有充分利用上下文信息。對于不同的上下文一個詞可能有不同的含義。例如,mouse,根據(jù)不同的上下文環(huán)境可以翻譯成“老鼠”或“鼠標”。如表1所示,在文檔1的句子1中,mouse的含義是“鼠標”,在文檔2的句子1中mouse的含義是“老鼠”,這是根據(jù)mouse所在句子的上下文信息判斷出來的。在文檔3中,僅根據(jù)mouse所在的句子2,不能判斷出它的含義,但是再加上句子1和句子3的信息,我們就可以判斷出它的含義了。同樣,要得到正確的翻譯結(jié)果,解碼器也需要當前句子或者周圍句子的上下文信息。
表1 mouse在不同上下文的不同含義
本文中我們提出了一種利用整個文檔的上下文信息來幫助規(guī)則選擇的方法,首先我們利用向量空間模型[8-9]建立兩個矩陣,一個是訓(xùn)練集的,一個是測試集的。矩陣中的每一行代表一個文檔中每一個單詞的出現(xiàn)次數(shù)(停用詞表中的單詞和出現(xiàn)次數(shù)太少的單詞被過濾掉)。然后,利用這兩個矩陣生成一個訓(xùn)練集和測試集的相似度矩陣。我們把相似度作為一個新的特征加入到BTG模型[4]中。實驗表明,在英語到漢語的翻譯工作中,我們的方法可以顯著提高翻譯質(zhì)量。
近年來,很多研究者利用上下文信息來提高機器翻譯的質(zhì)量。文獻[4]提出了一種利用邊界詞信息預(yù)測短語重排序的方法,他的工作中把重排序看做分類問題,利用最大熵模型實現(xiàn)。文獻[10-11]用上下文信息來幫助目標端規(guī)則的選擇。他們利用非終結(jié)符的邊界詞信息建立最大熵模型。文獻[12]提出了利用功能詞選擇源端規(guī)則的方法。文獻[13]利用了相鄰詞的信息來計算語言模型的值。文獻[14]提出了用上下文信息來調(diào)序的方法,所用的上下文信息包括源端的詞匯化特征(邊界詞和相鄰詞),詞性標注特征和目標端的詞匯化特征(邊界詞)。也有研究者利用上下文信息來做領(lǐng)域自適應(yīng)[15]。
這些研究者的方法都利用了一部分上下文信息,但大都利用的是當前跨度內(nèi)的信息或周圍詞的信息,并沒有利用到整個篇章中的信息。本文中我們提出了一種利用整個篇章信息的方法,實驗表明,我們的方法可以顯著提高翻譯質(zhì)量。
VSM是信息檢索中運用很廣泛的一個模型,近年來,一些研究者也把它用到了統(tǒng)計機器翻譯中[16]。在VSM中,每一篇文檔表示為一個向量,向量中的每一個元素對應(yīng)文檔中的一個詞,如果一個詞在文檔中出現(xiàn),那么在向量中對應(yīng)的就是一個非零的值,否則它對應(yīng)的值就是零。第j個文檔可以用向量Dj表示,Dj=<W1j,W2j,…,Wnj>。其中,Wkj表示第k個詞的權(quán)重。在計算權(quán)重時我們用了TF-IDF(Term Frequency-Inverse Document Frequency)[9]。
TF-IDF是一種統(tǒng)計方法,TF表示一個詞在一個文檔中的出現(xiàn)次數(shù),當然經(jīng)常被歸一化。第i個詞的TF可以表示為是第i個詞在第j個文檔中的出現(xiàn)次數(shù),分母就表示在第j個文檔中所有所有詞的出現(xiàn)次數(shù)之和。IDF是評價一個詞在一個語料中重要性的指標。第i個詞的IDF可以表示為:表示一個語料中文檔的個數(shù),|d|表示第i個詞出現(xiàn)過的文檔的個數(shù)。這樣,tfidfi,j=tfi,j·idfi,利用TF-IDF可以過濾掉常見的詞,并且保留重要的詞。
在計算兩個文檔間的相似度時,我們利用了cosine angle[9]。
其中,W1k和W2k分別表示第k個詞在文檔向量D1和D2中的權(quán)重。
本文中,我們用了源端語言的篇章上下文信息,我們用的所有語料都是按照篇章信息分好的文檔,每個文檔就是一個篇章。首先,掃描訓(xùn)練語料并且記錄下其中出現(xiàn)的所有詞,去掉停用詞后保存在一個向量中,我們稱為words-vector。然后建立一個M×H的矩陣A,每個元素的初始值都為0。M是訓(xùn)練語料中文檔的個數(shù),H是words-vector的長度。A中的每一行表示一個文檔。然后掃描訓(xùn)練語料中每一個文檔,如果一個詞在此文檔中出現(xiàn)過,并且也在words-vector中(即這個詞不是停用詞),矩陣A中對應(yīng)元素的值加1,最后我們可以得到包含所有文檔上下文信息的矩陣A。
對于測試集,建立一個P×Q的矩陣B。P是測試集中文檔的個數(shù),Q是在訓(xùn)練語料或測試語料中出現(xiàn)但不在停用詞中出現(xiàn)的詞的個數(shù)。用與得到A相同的方法得到B。
為了保證從訓(xùn)練語料中得到的文檔向量和測試語料中得到的文檔向量長度相同,我們擴展矩陣A的列的個數(shù)由H到Q,新擴展出的元素的值都為0。在矩陣A和B中分別利用TF-IDF,得到每個詞對應(yīng)的權(quán)重。然后用cosine angle對矩陣B的每一行和矩陣A的每一行計算相似度,可以得到相似度矩陣C,矩陣中的每一個元素(i,j)是由矩陣B中的第i行和矩陣A的第j行得到的。在解碼過程中,我們會用到這個相似度矩陣。
本報訊 根據(jù)湖北三寧化工股份有限公司大修計劃節(jié)點,11月18日上午9:00尿素廠正式進入大修模式,1#系統(tǒng)停車,12:30置換完成,凈化車間1#系統(tǒng)置換較以往不同的是將羅茨機開著置換,這樣做旨在節(jié)約時間。19日凌晨3:002#系統(tǒng)停車,管理人員全體就位,到現(xiàn)場協(xié)調(diào)指揮,8:30完成置換,順利停車,各項檢修工作有序進行。
我們所用的語料都是帶有文檔標記的,即每個文檔都有一個ID標記,比如1,2,3…在抽規(guī)則的同時,記錄下每個規(guī)則所在的文檔的ID。有的規(guī)則可能同時出現(xiàn)在幾個文檔中,這樣的規(guī)則就有多個ID。比如一條規(guī)則表示為:
mouse|||鼠標0.1 0.1 0.1 0.1|||1 3
這個規(guī)則中最后的1和3表示它出現(xiàn)在第1個和第3個文檔中。
對數(shù)線性模型的框架使得我們很容易在解碼器中加入新特征,如式(2)所示。
我們的目的是找到概率最大的e,λ代表特征函數(shù),h是特征函數(shù)對應(yīng)的權(quán)重,λm(m=1,2,…M)為原有的特征,λsimi為新加入的特征。
我們用的基準系統(tǒng)是基于BTG的解碼器。該解碼器用的是CKY形式的解碼算法。為了利用整個文檔的上下文信息,我們把相似度作為一個新的特征加入到基于BTG的解碼器中。
對于給定的一個句子S,它所在文檔的ID為d。首先,用規(guī)則表中的規(guī)則初始化chart圖。對每個span(i,i),在規(guī)則表中可以找到有用的規(guī)則Pk(k=1,2,…K),有用規(guī)則的個數(shù)為K,有用規(guī)則指的是源端和span(i,i)一致的規(guī)則。我們用IDkt表示規(guī)則Rk所在的文檔ID,t=1,2,…,T,T是規(guī)則Rk所在的文檔ID 的個數(shù)。相似度特征的分數(shù)可以在相似度矩陣C(d,IDkt)中找到,代表矩陣C中第d行,第IDkt列的元素的值。如果T大于1,需要得到一個最終的分數(shù),實驗中分別用了它們的最大值和平均值,所以最終的相似度分數(shù)可以表示為:
對于span(i,j),i≠j,如果一條規(guī)則不能覆蓋整個span,為了得到span(i,j)的候選翻譯,需要把i,j間的子span進行組合,這時span(i,j)的相似度分數(shù)不能直接在相似度矩陣中得到,因為短語表中可能沒有對應(yīng)的規(guī)則。我們采用了比較簡單的方法,例如,取兩個子span相似度特征分數(shù)的平均值或最大值。
得到span(i,i)和span(i,j)相似度特征分數(shù)都有平均值和最大值兩種方式,所以有四種不同的組合方式,可以得到四個解碼器,如表2所示。表2中“init”表示解碼的初始化過程,此過程中相似度特征的值可以取最大值或平均值;“cat”表示解碼時兩個span的拼接過程,此過程中相似度特征的值也可以取最大值或平均值。解碼器中其他特征的計算和基準系統(tǒng)相同。在CKY解碼的最后,我們可以得到整個句子的候選翻譯。
表2 不同組合產(chǎn)生的四種解碼器
計算訓(xùn)練語料中文檔和測試語料中文檔相似度的時間復(fù)雜度是O(M×P×Q)。M是訓(xùn)練語料中文檔的個數(shù),P是測試語料中文檔的個數(shù),實驗中它們的值如表3所示,Q是過濾后訓(xùn)練語料或測試語料中出現(xiàn)的詞的個數(shù),實驗中其值為40 000。
我們的實驗是在英語到漢語的翻譯工作中做的。雙語平行語料包括LDC2003E14,LDC2005T06,還有一部分LDC2004T08,共100萬平行句對,用GIZA++做詞語對齊,并且使用“grow-diag-final”的啟發(fā)式方法。語言模型是5元giga語言模型。
我們在HTRDP-MT2005上做的最小錯誤率訓(xùn)練,測試集使用CWMT2008和NIST2008。翻譯質(zhì)量的評價指標是BLEU-4,測試工具是mtevalv11b.pl。實驗中用的語料都是新聞領(lǐng)域的,詳細信息如表3所示。
表3 實驗中所用語料信息
可以通過BLEU值證明我們方法的有效性,各個系統(tǒng)的結(jié)果見表4。在表4中,N表示閾值,即如果一個詞在訓(xùn)練語料的每個文檔中出現(xiàn)次數(shù)不超過N次,就過濾掉這個詞。在N為1時,只有BTG_sim_4的結(jié)果比較好,對兩個測試集分別提高了0.95和1個點。N為2時,只有BTG_sim_3低于基準系統(tǒng)的結(jié)果,其他的都高于基準系統(tǒng)。N為3時,幾乎所有的結(jié)果都低于基準系統(tǒng)的結(jié)果。
表4 兩個測試集的BLEU值
從這些結(jié)果我們可以得出一個結(jié)論:如果一個詞僅出現(xiàn)了一次或兩次,它可能是一個干擾,應(yīng)該過濾掉,所以N為2時效果最好;如果一個詞出現(xiàn)了3次,這個詞是有用信息的可能性比較大,應(yīng)該保留。在N為2時(最好的閾值),BTG_sim_2和BTG_sim_4的效果最好,即解碼的過程中初始化和連接相鄰span時都取平均值或都取最大值時效果最好。
我們通過兩個例子比較一下新解碼器和基準系統(tǒng)的翻譯結(jié)果,見表5和表6,其中的兩個句子來自NTST08。
表5 單詞orders的翻譯結(jié)果
表6 單詞fans的翻譯結(jié)果
在表5和表6中,第一行sentence表示詞orders和fans所在的句子;第二行context 1表示當前句子中出現(xiàn)的有用的單詞;第三行context 2表示當前文檔中(除了當前句子)出現(xiàn)的有用的單詞,一個文檔中有用的單詞可能有很多,這里只舉了其中幾個例子。有用單詞指的是對我們關(guān)心的單詞or-ders和fans的翻譯能起到幫助作用的詞。第四行reference是第一行sentence的參考譯文;第五行BTG-based model是基準系統(tǒng)的翻譯結(jié)果;第六行BTG+similarity是加入相似度特征的解碼器的翻譯結(jié)果。
在第一個例子中,對于單詞orders,基準系統(tǒng)的翻譯結(jié)果是“令”。在第二個例子中,對于單詞fans,基準系統(tǒng)的翻譯結(jié)果是電風(fēng)扇。我們可以看出這兩個結(jié)果是錯誤的,但是加入相似度后的解碼器找到了正確的結(jié)果“訂單”和“迷”。在當前句子或當前文檔中有很多上下文信息,相似度特征就是根據(jù)這些上下文信息得到的。通過這兩個例子我們可以得出結(jié)論,在加入相似度特征后的解碼器可以找到正確的規(guī)則,從而提高翻譯質(zhì)量。
本文中,我們提出了一種提高規(guī)則選擇準確性的方法,利用整個篇章的上下文信息來提高翻譯質(zhì)量。首先我們利用向量空間模型獲得訓(xùn)練語料的文檔和測試集中文檔的相似度,然后把相似度作為一個新的特征加入到短語模型中。實驗表明,在英語到漢語的翻譯工作中,我們的方法可以顯著提高翻譯質(zhì)量。最后,我們對計算相似度的時間復(fù)雜度進行了分析。
下一步,我們會從兩個方面繼續(xù)這個工作。第一,在模型中加入相似度特征的方法是通用的,我們可以把它加入到層次短語模型或其他模型中;第二,由于很多語料是沒有分好文檔的,例如,WMT的語料,不能直接使用,所以我們可以利用語料自動分類方法,把語料按照內(nèi)容劃分為多個文檔。
[1] 劉群.統(tǒng)計機器翻譯綜述[J].中文信息學(xué)報,2003,17(4):1-12.
[2] Och F J,Ney H.Improved statistical alignmentmodels[C]//Proceeding of ACL,2000:440-447.
[3] Koehn P,Och F J,Marcu D.Statistical phrase-based translation[C]//Proceeding of ACL,2003:48-54.
[4] Xiong D,Liu Q,Lin S.Maximum entropy based phrase reordering model for statistical machine translation[C]//Proceeding of ACL,2006:521-528.
[5] Chiang D.A hierarchical phrase-based model for statistical machine translation[C]//Proceeding of ACL,2005:263-270.
[6] Liu Y,Liu Q,Lin S.Tree-to-string alignment template for statistical machine translation[C]//Proceeding of ACL,2006:609-616.
[7] Galley M,Graehl J,Knight K,et al.Scalable inference and training of context-rich syntactic translation models[C]//Proceeding of ACL,2006:961-968.
[8] Salton G,Wong A,Yang C S.A vector space model for automatic indexing[J].Communications of the ACM,1975,18(11):613-620.
[9] Salton G,McGil,M J.Introduction to Modern Information Retrieval[M].McGraw-Hill New York 1983.
[10] He Z,Liu Q,Lin S.Improving statistical machine translation using lexicalized rule selection[C]//Proceeding of ACL,2008:321-328.
[11] Liu Q,He Z,Liu Y,et al.Maximum entropy based rule selection model for syntax based statistical machine translation[C]//Proceeding of ACL,2008:89-97.
[12] Setiawan H,Kan M Y,Li H.Topological ordering of function words in hierarchical phrase-based translation[C]//Proceeding of ACL,2009:324-332.
[13] Shen L,Xu J,Zhang B.Effective use of linguistic and contextual information for statistical machine translation[C]//Proceeding of ACL,2009:72-80.
[14] He Z,Meng Y,Yu H.Maximum entropy based phrase reordering for hierarchical phrase-based translation[C]//Proceeding of ACL,2010:555-563.
[15] 曹杰,呂雅娟,蘇勁松,等.利用上下文信息的統(tǒng)計機器翻譯領(lǐng)域自適應(yīng)[J].中文信息學(xué)報,2010,24(6):50-56.
[16] Chen B,F(xiàn)oster G,Kuhn R.Bilingual sense similarity for statistical machine translation[C]//Proceeding of ACL,2010:1-10.