王琳,劉伍穎
(1.上海外國語大學 賢達經(jīng)濟人文學院,上海 200083;2.廣東外語外貿(mào)大學 語言工程與計算實驗室,廣東 廣州 510420)
語料的質(zhì)量通常決定著自然語言處理算法的有效性,而大規(guī)模高質(zhì)量語料本身還蘊含著知識與智能。以機器翻譯這類典型的自然語言處理應(yīng)用為例,早在統(tǒng)計機器翻譯時期,高質(zhì)量統(tǒng)計機器翻譯模型的重要基礎(chǔ)就是大規(guī)模高質(zhì)量的雙語平行語料[1]。但是大部分容易獲得的雙語平行語料往往包含噪音和謬誤,它們會影響統(tǒng)計機器翻譯模型的性能。通過人工評價篩選高質(zhì)量句對費時費力,也一定程度促使語料質(zhì)量自動評價研究興起[2],繼而誕生了基于詞對齊的平行語料評價[3]、基于句子特征向量的偽平行句對抽?。?]等一系列方法。
隨著深度學習在自然語言處理諸多領(lǐng)域的進步,并行向量計算部件的超強算力、支持海量細粒度特征的超深度神經(jīng)網(wǎng)絡(luò)算法、網(wǎng)絡(luò)語言大數(shù)據(jù)提供的超大規(guī)模算料三要素共同支撐起新一代人工智能[5]。當前的科學研究以及工業(yè)應(yīng)用都不同程度地受到算力和算法趨同性的影響,而算料個性化則成為支撐各種自然語言處理特色應(yīng)用的重要因素。
進入神經(jīng)機器翻譯時期,泛在計算設(shè)備和無線網(wǎng)絡(luò)技術(shù)大大提升了人類語言信息生產(chǎn)力,網(wǎng)絡(luò)語言大數(shù)據(jù)成為超大規(guī)模算料的主要來源。網(wǎng)絡(luò)語言大數(shù)據(jù)的非結(jié)構(gòu)化、不規(guī)范、甚至可能蘊含謬誤使得超大規(guī)模算料的自動質(zhì)量評價顯得更加重要[6]。近來,與深度學習同步推進的語料質(zhì)量評價研究提出了雙語句對嵌入思路[7],也有從超大規(guī)模平行語料構(gòu)建視角提出混合抓取架構(gòu)[8],相關(guān)研究逐漸由雙語平行語料質(zhì)量評估[9]向著多語平行語料構(gòu)建發(fā)展[10-11]。此外,國內(nèi)圍繞漢語的高質(zhì)量領(lǐng)域平行語料[12]、多語平行語料[13]以及非通用語平行語料[14]篩選構(gòu)建研究也取得了一定進展。這些已有方法往往注重理論研究和實驗室算法探索,對于工業(yè)級語料質(zhì)量評價而言,計算代價仍然過高。
圍繞時空高效的工業(yè)級語料質(zhì)量評價科學問題,我們重新審視機器翻譯所需的雙語平行語料人工質(zhì)量評價過程。無論是統(tǒng)計機器翻譯還是神經(jīng)機器翻譯,雙語平行語料都是極其重要的語言資源[15]。為了訓練得到源語言(S)到目標語言(T)的精準機器翻譯模型,往往需要大規(guī)模高質(zhì)量源目句對語料(C={<SSen,TSen>})。如果只有一位精通源語言和目標語言的譯員p,那么對于待評價句對<SSen,TSen>,譯員p將源句子SSen 翻譯成目標語言句子TSenp,接著檢測TSenp與TSen 的相似度,若相似度高則判斷句對<SSen,TSen>質(zhì)量高,反之質(zhì)量低。同理,譯員p也可以將目標句子TSen 翻譯成源語言句子SSenp,再通過SSenp與SSen 的相似度檢測判斷句對質(zhì)量。如果存在多位譯員p1,p2,p3,…,那么對于待評價句對<SSen,TSen>,每位譯員將源句子SSen 翻譯成目標語言句子TSenp1,TSenp2,TSenp3,…,并分別計算與TSen 的相似度,再集思廣益綜合多個相似度進行最終質(zhì)量評價。
受到上述兩種人工質(zhì)量評價過程的啟發(fā),本文針對雙語平行語料的質(zhì)量,提出基于集成機器翻譯的無監(jiān)督質(zhì)量評價思路,并從翻譯方向和翻譯系統(tǒng)兩個視角充分利用同一個機器翻譯系統(tǒng)不同翻譯方向的差異以及不同機器翻譯系統(tǒng)之間的差異,分別設(shè)計實現(xiàn)單引擎和多引擎集成機器翻譯無監(jiān)督評價框架和算法。
近來,結(jié)合超大規(guī)模語料與深度神經(jīng)網(wǎng)絡(luò)的神經(jīng)機器翻譯引擎的譯文質(zhì)量幾乎接近人類譯員的水平[16],使得我們可以用機器翻譯引擎替代人類譯員實現(xiàn)平行語料的無監(jiān)督質(zhì)量評價。參考上一節(jié)單譯員評價過程,本文提出調(diào)用單一機器翻譯引擎的單引擎集成機器翻譯無監(jiān)督評價方法。
如圖1 所示,單引擎集成機器翻譯無監(jiān)督評價框架主要包括機器翻譯引擎(Machine Translator)、集成質(zhì)量評價器(Ensemble Quality Evaluator)和二值分類器(Binary Classifier)。機器翻譯引擎接收待評價的生句對(Raw Sentence Pair)數(shù)據(jù)流,針對每個句對<SSen,TSenmt,>并行雙向翻譯,即將源句子SSen 翻譯成目標語言句子TSenmt,同時將目標句子TSen 翻譯成源語言句子SSenmt,提交譯文至集成質(zhì)量評價器。集成質(zhì)量評價器接收生句對<SSen,TSen>和機器翻譯引擎提交的相應(yīng)譯文<TSenmt,SSenmt>,計算得到表示SSen 和SSenmt相似程度的置信度分數(shù)c1,同時計算出TSen 和TSenmt相似程度的置信度分數(shù)c2,再集成c1和c2得到最終置信度(Confidence)分數(shù)并發(fā)送給二值分類器。二值分類器根據(jù)預設(shè)的置信度閾值(Confidence Threshold)進行高質(zhì)量或低質(zhì)量句對的質(zhì)量評價。
圖1 單引擎集成機器翻譯無監(jiān)督評價框架Fig.1 Single-engine-based ensemble machine translation unsupervised evaluation framework
從上述框架運行機制可知機器翻譯引擎必須能夠?qū)崿F(xiàn)源語言S 到目標語言T 以及目標語言T 到源語言S 的雙向翻譯。而集成質(zhì)量評價器中的句子相似度計算是一個抽象模塊,可以根據(jù)需要采用形態(tài)相似度、句法相似度、語義相似度等進行具體實現(xiàn)。同時兩個相似置信度分數(shù)的集成計算也是一個抽象模塊,可以采用線性加權(quán)也可以加入額外規(guī)則設(shè)置權(quán)重偏置,甚至可以當成一個在線增量機器學習問題進行模型化求解。由此可見基于我們提出的框架可以設(shè)計出多種具體的算法。
出于計算有效性和高效性的綜合考量,我們根據(jù)單引擎集成機器翻譯無監(jiān)督評價框架設(shè)計了一款如算法1 所示的單引擎集成機器翻譯無監(jiān)督評價算法。
算法1 單引擎集成機器翻譯無監(jiān)督評價算法Algorithm 1 Single-engine-based ensemble machine translation unsupervised evaluation algorithm
該算法的輸入除了待評價的生句對列表rsen 之外,還有線性權(quán)重a和置信度閾值t兩個浮點型預設(shè)參數(shù)。在算法的第8、9 行需要調(diào)用雙向機器翻譯函數(shù)MachineTranslator。調(diào)用語言無關(guān)的萊文斯坦字符串形態(tài)相似度函數(shù)LevenshteinSimilarity實現(xiàn)相似置信度分數(shù)計算(第10、11 行)。在集成兩個置信度分數(shù)時,采用高效的線性加權(quán)方法,預設(shè)的線性權(quán)重a能夠調(diào)整源目語種語料的貢獻度。最終采用預設(shè)的置信度閾值t分類得到高質(zhì)量句對列表hsen 和低質(zhì)量句對列表lsen。該算法時空高效且易于實現(xiàn),在工業(yè)得到廣泛應(yīng)用。若機器翻譯系統(tǒng)能夠支持多個最優(yōu)譯文輸出,則更趨平滑的集成結(jié)果還可以提升單引擎算法的效力。但由于單引擎算法只調(diào)用了一個機器翻譯系統(tǒng),因此分類結(jié)果可能過擬合該系統(tǒng)。如果存在多個不同的機器翻譯系統(tǒng),取長補短集成效果有望獲得進一步提升。
二人智慧勝一人,更何況多人參與的民主集中決策。參考第0 節(jié)多譯員評價過程,我們提出調(diào)用多個機器翻譯引擎的多引擎集成機器翻譯無監(jiān)督評價方法。
如圖2 所示,多引擎集成機器翻譯無監(jiān)督評價框架主要包括多個機器翻譯引擎(Machine Translator1,Machine Translator2,Machine Translator3,…),一個集成質(zhì)量評價器(Ensemble Quality Evaluator)和一個二值分類器(Binary Classifier)。每個機器翻譯引擎接收待評價的生句對(Raw Sentence Pair)數(shù)據(jù)流,將每個句對<SSen,TSen>中的源句子SSen 翻譯成目標語言句子TSenmt,提交譯文至集成質(zhì)量評價器。集成質(zhì)量評價器接收生句對<SSen,TSen>和多個機器翻譯引擎提交的相應(yīng)譯文TSenmt1,TSenmt2,TSenmt3,…,分別與TSen 計算得到相似置信度分數(shù)c1,c2,c3,…,再集成這些分數(shù)得到最終置信度(Confidence)分數(shù)并發(fā)送給二值分類器。二值分類器根據(jù)預設(shè)的置信度閾值(Confidence Threshold)進行高質(zhì)量或低質(zhì)量句對的質(zhì)量評價。
圖2 多引擎集成機器翻譯無監(jiān)督評價框架Fig.2 Multi-engine-based ensemble machine translation unsupervised evaluation framework
框架中集成質(zhì)量評價器包含一個句子相似度計算抽象模塊,同時多個相似置信度分數(shù)的集成計算也是一個抽象模塊,基于本文提出的框架可以設(shè)計出多種具體的算法。
為了充分發(fā)揮多個機器翻譯引擎的優(yōu)勢,挖掘利用多引擎之間有益的差異,控制抵消各自的缺點,根據(jù)多引擎集成機器翻譯無監(jiān)督評價框架設(shè)計了一款如算法2 所示的多引擎集成機器翻譯無監(jiān)督評價算法。
該算法的輸入輸出與算法1 的基本相同,稍有不同的是算法1 中的線性權(quán)重是單一的浮點型參數(shù),而算法2 中包含多個預設(shè)的浮點型線性權(quán)重參數(shù),它們的數(shù)量等于機器翻譯引擎的數(shù)量。由于采用多個機器翻譯引擎,所以在待評價生句對列表rsen 循環(huán)之內(nèi),還嵌套了一層按照不同機器翻譯引擎MachineTranslatorj分別進行翻譯的循環(huán)。當然對于翻譯結(jié)果的相似置信度分數(shù)計算本文仍然采用語言無關(guān)的萊文斯坦字符串形態(tài)相似度函數(shù)LevenshteinSimi-larity實現(xiàn)(第10 行)。在集成多個置信度分數(shù)時,我們?nèi)匀徊捎煤啙嵉木€性加權(quán)方法,預設(shè)的線性權(quán)重(a1,a2,a3,…)能夠調(diào)整不同機器翻譯引擎的貢獻度。最終采用預設(shè)的置信度閾值t分類得到高質(zhì)量句對列表hsen 和低質(zhì)量句對列表lsen。該算法不僅時空高效,而且能夠取長補短集成多個不同機器翻譯系統(tǒng)的各自優(yōu)勢,最終達到更加精準的評價效果。
算法2 多引擎集成機器翻譯無監(jiān)督評價算法Algorithm 2 Multi-engine-based ensemble machine translation unsupervised evaluation algorithm
接下來通過實驗證明上述框架和算法的效力。
實驗選取了WikiMatrix 越南語漢語句對集合作為待評價語料[17]。原始的WikiMatrix 語料每行除了一句源語言句子和一句目標語言句子之外,還有一個實數(shù)型的邊際得分(Margin Score),該分值越大表示兩個句子是互相對譯的可能性越大。下載的WikiMatrix 越南語漢語句對集合是以邊際得分閾值1.02 截取得到的504 037 對越南語漢語句子。不過不容樂觀的是該集合中最高邊際得分(1.228 536 271 102 003)對應(yīng)的句對<Ni ?áp: "Hi?n nay là ni ai ch?ng bi?t!">和<”皋陶曰:“余未有知,思贊道哉。>并不對譯。因此,有必要對WikiMatrix 越南語漢語句對集合進行質(zhì)量評價。
一方面,采用谷歌翻譯的越南語漢語雙向翻譯接口實現(xiàn)單引擎集成機器翻譯無監(jiān)督評價框架和算法。實驗時從0.1 至0.9 間隔0.1 梯度設(shè)置9 個不同的置信度閾值,總共執(zhí)行9 次評價。單引擎高質(zhì)量句對結(jié)果如圖3 所示。
圖3 單引擎高質(zhì)量句對結(jié)果Fig.3 Single-engine high quality sentence pair result
置信度大于0.5 的高質(zhì)量句對總數(shù)只有23 677 對,而僅有250 對高質(zhì)量句對置信度大于0.9。這一結(jié)果證實了WikiMatrix 中高質(zhì)量的越南語漢語句對數(shù)量占比不大。表1 所示的是從置信度閾值為0.5 和0.9 的實驗結(jié)果中各隨機選取的10 個高質(zhì)量例句。四列句子分別表示:第1 列是WikiMatrix 中的越南語句子,第2 列是WikiMatrix 中對應(yīng)的漢語句子,第3 列是谷歌翻譯根據(jù)第1 列句子譯出的漢語句子,第4 列是谷歌翻譯根據(jù)第2 列句子譯出的越南語句子。
表1 單引擎高質(zhì)量句對示例Table 1 Single-engine high quality sentence pair examples
表1 數(shù)據(jù)說明當置信度閾值等于0.5 時,源自谷歌翻譯的單引擎評價算法能夠挑選出高質(zhì)量對譯的句對。例如:“阿根廷核計劃取得了巨大成功?!焙汀鞍⒏⒌暮擞媱澐浅3晒?。”以及“T?i quay tr? l?i c?a s?.”和“T?i quay tr? l?i c?a s? này.”語義基本等價。又由于在算法中采用了形態(tài)相似度,所以挑選出的高質(zhì)量句對不僅與機器翻譯結(jié)果語義相似,而且形態(tài)近似。
當置信度閾值等于0.9 時,挑選出的高質(zhì)量句對與機器翻譯結(jié)果只有細微差別。表1 數(shù)據(jù)一定程度上也反映了谷歌翻譯的越南語漢語雙向翻譯效果。盡管源自谷歌翻譯的單引擎評價算法偏擬合谷歌譯文的形態(tài),但挑選出的高質(zhì)量句對的對譯效果還是有保障的。
另一方面,采用谷歌翻譯、微軟必應(yīng)翻譯、百度翻譯的越南語漢語翻譯接口實現(xiàn)多引擎集成機器翻譯無監(jiān)督評價框架和算法。實驗時也從0.1 至0.9 間隔0.1 梯度設(shè)置9 個不同的置信度閾值,總共執(zhí)行9 次評價。多引擎高質(zhì)量句對結(jié)果如圖4 所示。
圖4 多引擎高質(zhì)量句對結(jié)果Fig.4 Multi-engine high quality sentence pair result
置信度大于0.5 的高質(zhì)量句對總數(shù)只有10 752 對,而置信度大于0.9 還不到100 句對。表2 所示的是我們從置信度閾值為0.5 和0.9 的實驗結(jié)果中各隨機選取的10 個高質(zhì)量例句。五列句子中第1、2、3 列與表1 前三列采用相同的表示,第4 列是必應(yīng)翻譯根據(jù)第1 列句子譯出的漢語句子,第5 列是百度翻譯根據(jù)第1 列句子譯出的漢語句子。
表2 多引擎高質(zhì)量句對示例Table 2 Multi-engine high quality sentence pair examples
對比表2 和表1 相同置信度閾值下的數(shù)據(jù)可知多引擎評價算法在挑選高質(zhì)量句對時更加嚴苛。而多引擎評價算法傾向于挑選那些大家“共識”句對。這種集成“共識”有效性是基于統(tǒng)計、計算和表示三個方面的理論基礎(chǔ)[18]。也就是要求每個參與集成的獨立決策者都能作出略強于平庸的決策。而當前谷歌翻譯、必應(yīng)翻譯、百度翻譯完全超過了這個基線,甚至可以說都是強決策,這也成為本文算法的效力之源。尤其是當置信度閾值等于0.9 時,谷歌翻譯、必應(yīng)翻譯、百度翻譯的越南語漢語譯文效果幾乎趨同。由此可知,多引擎評價算法更加適合對高質(zhì)量句對的對譯效果要求更高的應(yīng)用。
圍繞雙語平行語料質(zhì)量評價實際應(yīng)用需求,模仿人工評價過程提出單引擎和多引擎集成機器翻譯無監(jiān)督評價框架。在這兩種元框架之下,采用不同的相似度計算方法和不同的相似結(jié)果集成方法,能夠?qū)С龆喾N具體的評價算法。本文采用最基本的萊文斯坦字符串形態(tài)相似度計算方法和線性加權(quán)集成方法分別設(shè)計了單引擎和多引擎集成機器翻譯評價算法。實驗結(jié)果表明單引擎評價算法能夠集成同種機器翻譯系統(tǒng)不同翻譯方向的優(yōu)勢,多引擎評價算法能夠集成不同機器翻譯系統(tǒng)相同翻譯方向的優(yōu)勢,最終實現(xiàn)高效工業(yè)級應(yīng)用。
下一步研究主要關(guān)注相似度計算方法和相似結(jié)果集成方法創(chuàng)新。采用高效語義相似度計算方法降低同義異形語料的誤殺率,采用增量學習方法動態(tài)優(yōu)化線性集成權(quán)重進一步提升集成二值分類準確率。而且還希望將上述研究成果遷移到其他適合的語料質(zhì)量評價之中。