(東莞理工學院城市學院,廣東 東莞 523419)
機器翻譯[1]是自然語言處理領域具有挑戰(zhàn)性的任務。統(tǒng)計機器翻譯在大規(guī)模的雙語語料庫上訓練統(tǒng)計模型,使其能自動翻譯源語言到目標譯文。語言模型則通過計算目標句子的概率來幫助翻譯系統(tǒng)評價翻譯結果是否流暢?;贙N平滑的語言模型[2]是統(tǒng)計機器翻譯里應用最為廣泛的語言模型。常用的語言模型工具SRILM[3]和KenLM[4]都實現(xiàn)了修改后的KN平滑模型[2]。
當前主流的翻譯系統(tǒng)[5-6]在同領域的大規(guī)模平行語料訓練下,翻譯同領域的文本的質量會很高。但是對于某些領域獲取一定規(guī)模的雙語語料是非常困難的,甚至大規(guī)模的單語語料也并不容易。在這種情況下,跨領域的文本上的翻譯結果就不是很理想。另一方面,即使訓練數(shù)據(jù)再大,也很難克服跨領域數(shù)據(jù)稀疏問題。由于目標數(shù)據(jù)的缺失,語言模型就不能使用目標數(shù)據(jù)的信息。比如目前流行的基于KN平滑的語言模型,在訓練集上訓練折扣平滑的參數(shù),這樣的語言模型也就很難僅僅通過訓練集數(shù)據(jù)來準確地預測跨領域的目標測試數(shù)據(jù)。研究領域自適應的翻譯模型和語言模型是解決這些問題一種可行的解決方法。
面對這些問題,本文提出了一種應用于機器翻譯系統(tǒng)的基于領域自適應的語言模型。該語言模型通過一個參數(shù)調節(jié)步驟來適應不同的領域。該模型在大規(guī)模的訓練集數(shù)據(jù)上訓練出基本模型,然后通過目標領域的開發(fā)集數(shù)據(jù)來調整模型的折扣參數(shù)。另外,本文的語言模型還可以和一個小規(guī)模的領域語言模型進行線性插值。模型里所有參數(shù)調節(jié)的目標都為了使語言模型在目標領域開發(fā)集上的困惑度最小化。最后本文實現(xiàn)了這一新的語言模型并應用于標準的機器翻譯過程。同時,本文提出了基于領域語言模型來斷定測試數(shù)據(jù)領域并自動選取目標領域語言模型的方法,利用該方法,可以自動完成上面提到的語言模型的線性插值。
在實驗里,把該領域自適應語言模型和知名的SRILM中的廣泛使用的KN平滑模型進行了比較。在同一領域數(shù)據(jù)里,本文的模型比KN平滑模型有更小的困惑度。在跨領域的數(shù)據(jù)下,該模型的困惑度與KN平滑模型比與有顯著的降低。在中文到英文的翻譯任務里,用Moses[7]框架下基于短語[5]和基于層次短語[6]的翻譯模型來評測該語言模型。機器翻譯的結果顯示本文的模型與KN平滑基線模型相比,顯著提高了翻譯質量。這一提高在跨領域的情況下表現(xiàn)明顯。
這一部分將回顧分析相關的語言模型并提出我們的模型。本文中的符號標記都在表1中列出。
表1 符號標記
語言模型是通過統(tǒng)計向字符串賦予概率的方法[8]。機器翻譯中的語言模型可以通過句子概率判斷哪個譯文更符合語法。最大似然估計(MLE)概率模型是最直接的方法,它可以簡單地利用訓練語料中的相對頻率來預測概率。但是,對于訓練語料中未出現(xiàn)的詞,這個模型就會得到0概率。解決未知元素帶來的0概率問題有回退、折扣等平滑方法。通過減少已經觀察到的事件的概率,來把少量概率分配給未出現(xiàn)事件上的方法就是折扣法。Ney等提出的絕對折扣模型[8]就是在所有非0的MLE頻率上使用一個較小的常數(shù)折扣,這樣留出概率分配到未知事件上。Chen和Goodman提出的修改后的KN平滑模型[2]則用一個函數(shù),作為折扣參數(shù)。函數(shù)見式(1),它根據(jù)不同的n元組的詞頻,有三個不同的折扣值D1、D2和D3,針對不同的n元組模型就有n×3個折扣值。比如,如果要訓練一個5元的語言模型,這樣就需要15個折扣參數(shù)。這些折扣參數(shù)都是在訓練集上訓練出來的常數(shù)。模型所有的參數(shù)都在訓練集上訓練,用該模型來預測測試集上的數(shù)據(jù),帶來的缺點就是不能很好地適應跨領域數(shù)據(jù)。
Schütze[9]在基于類插值[10-11]的POLO模型里提出了一種多項式折扣[9]方法。Guo等把這種多項式折扣應用到更簡單的n元模型里,提出一種可調的語言模型[10]。在這個模型里,多項式替換了KN平滑的折扣函數(shù),其中的參數(shù)ρ和γ都需要在開發(fā)集上進行優(yōu)化。這樣的一個優(yōu)化的步驟就使折扣函數(shù)能夠更好地適應不同的領域。
然而,這種可調模型[10]針對不同的n元組(一元組、二元組、三元組和n元組),只有一個折扣函數(shù),而且這個函數(shù)的兩個參數(shù)在任何元組條件下都相同??紤]到不同的n元組,語言模型應該用不同折扣能更準確的預測。比如原始的KN平滑模型對不同的n元組都有不同的折扣。為了同時應用多項式折扣和KN平滑折扣的優(yōu)點,對于不同的詞頻情況,在KN平滑折扣上添加不同的可調折扣和多項式折扣。這樣,提出了一種混合兩種折扣的方法。本文用折扣函數(shù)如(2)式所示,替換了KN平滑模型的折扣函數(shù)
這個模型是一個可調折扣參數(shù)的遞歸模型,同時用回退法來做平滑。模型里所有的參數(shù)都在開發(fā)集上優(yōu)化并采用啟發(fā)式的網格搜索方法來搜索優(yōu)化的參數(shù)。
為了保證語言模型的概率分布和為1,設置模型中參數(shù)如(4)式所示:
本文在SRILM工具里實現(xiàn)了該模型,并生成ARPA格式的n元語言模型[3]。
在語言模型實驗中,采用了語言模型訓練工具SRILM,在大約8百萬的MultiUN[15]英文數(shù)據(jù)上,用KN平滑模型訓練出5元的ARPA格式的語言模型。在SRILM上修改并實現(xiàn)了TPKN模型,并用與KN平滑模型相同的MultiUN數(shù)據(jù)來訓練該語言模型。前面已經提到,該模型還將在一個小的開發(fā)集上調整折扣參數(shù)。在啟發(fā)式的網格搜索優(yōu)化折扣參數(shù)過程中,搜索空間里設置步長為0.01。實驗評測的方法是困惑度[13],這是度量語言模型的表現(xiàn)標準方法,更低的困惑度意味著更好的語言模型。
機器翻譯實驗采用統(tǒng)計機器翻譯Moses[7]框架。Moses支持基于短語的翻譯模型[16]和基于層次短語的翻譯模型[17]。它支持SRILM生成的ARPA格式的語言模型。中文句子全部使用斯坦福的分詞系統(tǒng)[18]進行處理。同時利用GIZA++在雙語料上獲得雙向詞匯對齊,并使用Grow-Diag-Final的啟發(fā)式方法進行對稱融合,多對多的詞語對齊。經過句子長度過濾,翻譯模型在大約1.8百萬對雙語料上訓練。機器翻譯結果采用BLEU[14]值來評測測試集上的翻譯質量。
本文采用了句子對齊的MultiUN[15]語料中的一個版本作為訓練集。該語料是從聯(lián)合國2000年到2009年間的官方文件中抽取的多語言平行語料。該語料包含聯(lián)合國6種官方語言,每種語言有300多萬字。其中中文到英語的部分于2011年8月在IWSLT上發(fā)布。實驗中使用了其中的2百萬行中文到英文的雙語料句子作為訓練集。
評測的數(shù)據(jù)主要采用的是NIST評測集數(shù)據(jù),具體用NIST2002、2004、2006的數(shù)據(jù)作為開發(fā)集,同時使用了NIST2005作為測試集。NIST由LDC收集,語料包含了新聞、口語廣播新聞、等網絡挖掘數(shù)據(jù)。NIST的數(shù)據(jù)從文件樣式和語言上都不同于MultiUN的官方文件。所以MultiUN和NIST數(shù)據(jù)屬于不同的領域。同時,使用了來自NIST2009年到2014年大約15 000句的領域數(shù)據(jù),用于領域語言模型的訓練。很明顯,這些NIST數(shù)據(jù)和測試集是屬于同一領域。有了這些領域數(shù)據(jù)就能把本文的語言模型和這個從領域數(shù)據(jù)訓練出來的語言模型進行插值。
下面分別來討論三組實驗過程和結果。它們顯示了本文提出的語言模型在跨領域數(shù)據(jù)上的表現(xiàn)和在跨領域機器翻譯系統(tǒng)中的應用。
第一個實驗研究不同語言模型在跨領域數(shù)據(jù)上的困惑度表現(xiàn)。為了便于比較,同時展示了在同領域數(shù)據(jù)上的結果。實驗過程為:在訓練集上訓練模型,并在不同領域的開發(fā)集和測試集上評測語言模型的困惑度。
在同領域數(shù)據(jù)的實驗中,訓練集、開發(fā)集、測試集都來自于MultiUN的英文部分。訓練集有2百萬句,開發(fā)集和測試集都有2千句。所有語言模型的困惑度都在開發(fā)集和測試集上計算。
在跨領域數(shù)據(jù)的實驗中采用8.8百萬句的MultiUN的英文部分語料作為訓練集。前面提到,實驗用NIST2002、04、06英文部分做開發(fā)集,用NIST2005做測試集來評測結果。
所有模型的表現(xiàn)如表2所示。本文的基線系統(tǒng)是SRILM工具集提供的修改后的KN平滑模型。在同領域的情況下,和基線相比較,可以發(fā)現(xiàn)困惑度在開發(fā)集上有所降低(從54.55到52.50)。同樣在測試集上的困惑度也有所降低,從60.64到58.34。這些結果顯示TPKN語言模型的表現(xiàn)即使在同領域情況下也有所提升。
表2 語言模型的困惑度
當把同領域和跨領域的表現(xiàn)進行對比時,很快發(fā)現(xiàn)困惑度從50多提高到了270多。這顯示出NIST數(shù)據(jù)的領域非常不同于訓練數(shù)據(jù)。比較各模型在跨領域的數(shù)據(jù)上的表現(xiàn),本文模型的困惑度,能夠在很大程度上的降低。模型的困惑度從289.92(KN)下降到270.24(TPKN)。這個結果在測試集上也有同樣的表現(xiàn),模型的困惑度從312.30(KN)降低到284.99(TPKN)。開發(fā)集、測試集的困惑度比較相似是因為NIST數(shù)據(jù)集的領域是相似的。
綜上,困惑度的實驗表明TPKN模型在同領域的數(shù)據(jù)上表現(xiàn)比KN平滑模型要好。在跨領域的情況下,TPKN模型有更顯著的表現(xiàn)。
在困惑度實驗之后,進一步將這些語言模型應用到“中文-英文”的翻譯任務里。這里使用Moses框架下的基于短語的翻譯模型和基于層次短語的翻譯模型。不同的翻譯系統(tǒng)都采用BLEU自動評測。
在翻譯實驗中,使用了大概兩百萬來自于MultiUN的中英文雙語料作為訓練集。在本實驗中,仍使用上一實驗中相同的開發(fā)集和測試集,只是這里同時使用中文部分的數(shù)據(jù)。在這個實驗里開發(fā)集,同時作為Moses框架下的Tuning集。實驗用BLEU來評價所有的翻譯質量。
試驗結果的BLEU值如表3所示。在同領域的機器翻譯實驗里,所有模型的BLEU值都高于30。這樣好的翻譯結果驗證了機器翻譯系統(tǒng)翻譯同領域的文本質量較高。在同領域的機器翻譯實驗里,能發(fā)現(xiàn)TPKN模型比基線模型在兩種翻譯模型的情況下的結果都要好。TPKN模型在基于短語的翻譯系統(tǒng)(PBMT)里從31.32(KN)提高到了31.43(TPKN)。在基于層次短語的翻譯系統(tǒng)(HPBMT)里從34.30(KN)提高到了34.87(TPKN)。這個結果也驗證了在中英文的翻譯系統(tǒng)中基于層次短語的翻譯模型比基于短語的翻譯模型的翻譯質量要提高[6]。
表3 同領域跨領域機器翻譯BLEU值
跨領域的機器翻譯結果與同領域表現(xiàn)相比,能很快發(fā)現(xiàn)BLEU值從30多下降到20多。上文提到,訓練集與測試集都來自于相同的語料(MultiUN),機器翻譯系統(tǒng)就能取得比較好的結果。但是,當訓練集與測試集來自不同的領域時,翻譯質量就會下降。比如本實驗中訓練集與測試集分別來自MultiUN和NIST,也就是實驗里BLEU值降低的原因。另外,即使是再大的訓練集也很難克服跨領域的數(shù)據(jù)稀疏的問題。這些現(xiàn)象表明在沒有足夠多同領域訓練數(shù)據(jù)的情況下,研究自適應模型提高跨領域翻譯質量的重要性。
在跨領域數(shù)據(jù)的實驗中,發(fā)現(xiàn)TPKN模型始終在兩種翻譯模型下能表現(xiàn)良好。翻譯質量都取得了顯著的提高,TPKN模型在基于短語的翻譯系統(tǒng)里從20.05(KN)提高到了20.42(TPKN)。在基于層次短語的翻譯系統(tǒng)里從20.64(KN)提高到了20.93(TPKN)。表3中“*”號表示這些顯著提高的置信水平為95%。
綜上所述,以上實驗結果表明TPKN模型和基線KN平滑模型相比,不管是困惑度還是翻譯任務的評測都有更優(yōu)的結果。在跨領域的情況下,表現(xiàn)顯著提高。
解決領域自適應問題的另一個方法是將現(xiàn)有模型與在目標領域數(shù)據(jù)上訓練的語言模型進行插值。這個混合模型的插值權重可以在開發(fā)集上調整。這種方法會使用到跨領域數(shù)據(jù)信息,這樣也能提高模型質量。當然,要想在目標領域上訓練模型,這就需要補充跨領域的訓練數(shù)據(jù)。
這個實驗里使用了少量的目標領域訓練數(shù)據(jù),這些數(shù)據(jù)來自于NIST2009-14。這些NIST數(shù)據(jù)和目標測試數(shù)據(jù)都來自相同的領域。同時,本實驗的開發(fā)集和測試集都與前面的實驗一致。所有的語言模型與前面的實驗一樣在大的訓練集MultiUN上訓練。同時在NIST2009-14這個小的目標領域數(shù)據(jù)集上訓練了另一個語言模型。最后,將大的語言模型和這個小的領域語言模型混合。混合語言模型的權重通過在開發(fā)集上模型的困惑的最小化來優(yōu)化。有了優(yōu)化的插值權重參數(shù),我們將這個混合插值模型在測試集上進行評測。因為這個目標領域訓練數(shù)據(jù)比較小,就簡單地用KN平滑模型來訓練這個領域語言模型。最后將訓練出的混合模型應用到機器翻譯系統(tǒng)中進行評測,實驗中Moses的設置和先前的實驗是一致的。這樣就可以研究不同的插值模型在跨領域的機器翻譯里的表現(xiàn)。
翻譯的結果如表4所示。為了比較插值模型和前面的未插值的模型,把前面未插值模型的結果也放到了表4的上面兩行里。從表里的BLEU值,能發(fā)現(xiàn)插值的語言模型(+domain表示原始模型與領域模型插值后的混合模型)比沒有使用領域數(shù)據(jù)的原始模型的翻譯質量更高。KN插值模型在基于短語的翻譯系統(tǒng)里的BLEU值從原始的KN平滑模型的20.05提高到20.50。KN插值模型同樣在基于層次短語的翻譯系統(tǒng)里,BLEU值從20.64提高到了20.87。TPKN插值模型同樣比原始的TPKN模型的翻譯質量要提高。在基于短語的翻譯系統(tǒng)里從20.42提高到了20.60。在基于層次短語的翻譯系統(tǒng)里從20.93提高到了20.98。這些提高并不是顯著的。然而,它仍然比其他所有模型的質量都好,同時和基線模型比仍然是顯著的提高(*表示翻譯結果BLEU值顯著提高)。這里置信水平為95%。
表4 跨領域機器翻譯BLEU值
把原始的未與領域模型插值的TPKN模型和KN插值的模型相比,能發(fā)現(xiàn)原始的TPKN和插值的KN模型結果很接近。甚至在基于層次短語的翻譯模型下,TPKN模型的BLEU值20.93比KN插值模型(20.87)要高。TPKN模型翻譯質量并沒有提升很多,但是在沒有領域數(shù)據(jù)的情況下,能略高于KN插值模型的翻譯質量,這個結果更能說明TPKN模型在跨領域數(shù)據(jù)下表現(xiàn)出來的領域自適應性。
綜上,這個實驗結果表明基于少量的目標領域數(shù)據(jù)的插值模型能夠一定程度上提高語言模型在跨領域數(shù)據(jù)上的表現(xiàn)。插值的TPKN模型仍然比KN的插值模型表現(xiàn)要好。與所有的插值的模型相比,原始TPKN模型在沒有領域數(shù)據(jù)的情況下也有較好的表現(xiàn)。
機器翻譯模型要想將領域自適應方法自動應用到系統(tǒng)中,首先需要解決領域的判定問題。比如Google翻譯中能先自動判斷用戶所輸入的語言。如果翻譯系統(tǒng)也能像檢測輸入語言一樣來判斷用戶輸入的領域,并自動選擇目標語言模型,將有助于翻譯系統(tǒng)準確率的提高。
為此,本文提出了基于語言模型判定源語言領域的方法。驗證實驗選取了不同領域的小規(guī)模的雙語開發(fā)集和測試集。在源語言中,在開發(fā)集上訓練出小規(guī)模的語言模型,用這些語言模型來計算測試集的困惑度,然后利用困惑度的分布來判斷該源語言屬于哪個領域。最后,機器翻譯系統(tǒng)就可以自動的使用該領域平行的目標語言開發(fā)集來作為TPKN模型的參數(shù)估計開發(fā)集或者領域插值語言模型的訓練集。
驗證實驗選取6個不同領域的數(shù)據(jù)進測試,其領域包含生物(Bio)、食物(Food)、新聞(News)、半導體(Semi)、社交媒體(Social)、網絡新聞(Web)這些領域。語料取自于標準的中英文機器翻譯系統(tǒng)的開發(fā)集和測試集,其大小大致為2千行左右的語料。實驗把中文作為源語言。在中文的開發(fā)集中用SRILM工具集訓練5-gram的語言模型。用該語言模型(LM),在中文的測試集(Tst)上計算各個領域的困惑度。得到困惑度分布如表5。
表5可以比較到各個不同領域開發(fā)集訓練的語言模型在不同領域測試集上的困惑度。比如第一行是用生物領域開發(fā)集訓練出的語言模型,在生物(Bio)、食物(Food)、新聞(News)等不同領域下測試集的困惑度??梢园l(fā)現(xiàn)在生物領域測試集上的困惑度(340.6)明顯小于其他領域的困惑度(從2403.8到6155.5)。同樣,后面幾行里困惑度最低的情況都是當開發(fā)集和測試集屬于相同領域(如表5中加粗數(shù)據(jù)所示)。這個結果表明最小的困惑度,意味著最匹配的領域。這樣,就可以用不同領域的開發(fā)集訓練的語言模型的最小的困惑度來判定測試集的領域歸屬。
表5 不同領域語言模型在不同領域測試集上的困惑度
通過源語言(中文)來判斷其領域的歸屬,在機器翻譯系統(tǒng)里,就可以將源語言所屬領域的平行開發(fā)集作為目標語言(英文)領域插值語言模型的訓練集或者TPKN模型的參數(shù)訓練集。選好領域,并自動訓練出領域適應的語言模型。這樣進行上文所提到的領域插值的機器翻譯,從而最終提高機器翻譯的翻譯質量。
本文提出了一個領域自適應語言模型TPKN,它能夠通過調整折扣參數(shù)自適應到目標領域,還可以與領域語言模型進行插值。同時本文提出了一種基于領域語言模型自動判定測試集領域并自動選取目標領域的方法。實驗表明本基于TPKN模型的翻譯系統(tǒng),困惑度下降,BLEU評測值顯著提高。比基線KN模型的表現(xiàn)更好,特別是在跨領域的情況下表現(xiàn)更優(yōu)。
下一步工作,計劃進一步改進參數(shù)優(yōu)化算法,完善機器翻譯系統(tǒng)的自動化程度,并且將模型應用到其他語言和自然語言處理中去。