編者按:如果你是英語四級或六級的水平,同樣翻譯幾句話,機器翻譯可能比人完成得還要好。機器翻譯作為人工智慧研究的重要課題之一,在近些年得到了快速發展。機器翻譯目前可以達到什麼樣的水平?發展過程中會遇到哪些挑戰?未來又將如何發展?請看周明博士給出的答案。本文授權轉載自微信公眾號“賽先生”。
想一下未來50年或者100年,您的孫子或者孫子的孫子,是否還會花費人生中十幾年甚至幾十年的時間學習一門外語,甚至還學不好?
當然,僱翻譯也可以,可往往花費不菲。有這樣一批計算科學家、工程師,他們相信可以有別樣法門,那就是用機器來做翻譯。公平地說,他們已經部分取得了成功。
微軟亞洲研究院副院長周明做機器翻譯已經有30多年,見證了這一領域的面貌變遷。大概去年的這個時候,微軟亞洲研究院和微軟雷德蒙研究院合作在通用新聞報導測試集WMT2017的中英翻譯測試集上,達到了可與人工翻譯媲美的水平。
在機器翻譯中,測試集就像是給跳高運動員設定的橫杆,各家機器翻譯的結果和這個標準比較,越接近就意味著越好。
事實上,機器翻譯一直是人工智慧領域的一大課題。1954年美國喬治亞大學和IBM公司合作的俄英機器翻譯,被認為是世界上第一個機器翻譯實驗。不過,中國早在1956年就把機器翻譯列入了全國科學工作發展規劃。1957年,中科院語言研究所和計算技術研究所開展了俄漢機器翻譯實驗。
1989年,周明在哈爾濱工業大學計算機系李生老師指導下讀研時,研發的CEMT中英翻譯系統通過了當時的航天部的技術鑑定。當時,國內有幾家在做英中機器翻譯的研究,但是做中英機器翻譯的非常少。CEMT應該是中國最早的中英機器翻譯系統,而國外中英機器翻譯研究也寥若晨星。
那時的中國正逐步告別封閉,走在改革開放的道路上,人們迫切希望用英中翻譯把浩如煙海的英文文獻翻譯成中文。那個時候,周明已經意識到,有一天將中文翻譯成英文也同樣重要,於是他選擇了從當時冷門的中英機器翻譯開始研究。
彼時,沒有網際網路,也沒有什麼參考書,周明自己設計了這套中英翻譯系統。這也是那個閉塞年代的無奈——幾乎沒有任何可供參考的文獻,能看到的就是通過北京圖書館和有關部委情報所得到的一些膠片,大概相當於國外六七十年代水平的文獻。
這套可說是世界上第一個公開發表的完整的中英翻譯系統,背後依據的是一套完整的規則體系(比如中文句法分析規則、中文句法轉換成英文句法的轉換規則、英文形態生成規則等等)。
這樣的一套系統,可以把當時很流行的一本英語學習讀物《英語900句》很好的翻譯了出來。之後,這套系統於1990年還獲得了原航天部科技進步二等獎。
1991年博士畢業後,周明進入了清華大學做博士後。在張鈸、黃昌寧兩位教授指導下,從事中文句法分析研究。試圖通過中文句法分析的提高,逐步改進中英翻譯。
90年代的中國,與世界的互動逐漸增多。黃昌寧老師把他從國外參加會議帶回的會議文獻整整齊齊地放在一個書櫃裡,可見有多愛惜。很多外校的老師和同學到清華來都要借閱這些文獻。
也正是從黃昌寧老師那裡,周明得知國際學術界已經開始基於統計模型來構建機器翻譯系統。之後,周明就做了一個基於統計的中文句法分析器。
除了中英翻譯系統,周明也做過中日翻譯系統。那是他1996至1999年在日本高電社訪問的時候,當時擔任中文翻譯室室主任的他領導開發了名為“J北京”的中日翻譯系統,其中J的意思是日語。
這也是一個基於規則的翻譯系統,利用中日兩種語言的對比分析,對句式進行變化,並生成日語的形態。基於同樣原理,後來也實現了日中翻譯。J-北京是日本最為有名的中日翻譯軟體,在市場上獲得了成功,甚至在今天還有出售。
1999年從日本回國後不久,周明加入到剛成立不久的微軟亞洲研究院,在黃昌寧教授領導的自然語言計算組擔任研究員。周明一開始做了中日文輸入法、微軟對聯、基於例項的機器翻譯、英語寫作輔助系統等等。到2005年,在時任副院長洪小文的支援下,他們組開始做統計機器翻譯系統。
2012年,在天津舉辦的“21世紀的計算”研討會中,周明團隊與語音組的同事合作,將微軟全球首席研究官裡克·雷斯特博士的演講由英文實時翻譯成中文。這個工作包括了三個部分,首先將裡克的演講通過語音識別得到文字,然後再通過統計機器翻譯將英文文字翻譯成中文,最後通過語音合成模擬裡克的發音特點讀出中文的翻譯。
2015年,人工智慧進入到神經網路興起的時代。先是在影象領域,繼之是語音識別,研究人員應用深度神經網路都取得了不俗的效果。也就是在那個時候,周明他們也開始用深度學習來做機器翻譯。
一開始神經網路機器翻譯的效果很差,但隨著各個公司、學校不斷完善技術,如今,機器翻譯的水平已經在單句級別,如果有充足語料訓練的情況下,可達到和人類平均水平幾乎相仿的水平。
也就是說,如果你是英語四級或六級的水平,同樣翻幾句話,現在的機器翻譯有可能比人要翻的好。
不過,如今的機器翻譯需要提高的地方也不少。機器翻譯進化到怎樣的程度了,要面臨的挑戰還有哪些,我們請周明博士一一道來。
《賽先生》:機器翻譯好像和人工智慧的發展步調挺一致的?
周明:其實人工智慧剛開始興起的時候,還沒去做機器人、自動駕駛,先做的是機器翻譯實驗,全世界都是這樣。
先是1957年的時候,美國做了一個簡單的俄英英俄機器翻譯,因為那時候美國最擔心蘇聯先登月,擔心被超越。這個俄英翻譯是基於六條句法轉換規則,大概有200個單詞,做完了在小範圍內用算成功。當時就引發了一個熱潮,大家說人工智慧將來肯定超越人類、翻譯也會超越人類,機器翻譯的投資大幅度增加。
結果到了1965年前後,大家發現機器翻譯水平不行,然後美國語言諮詢委員會又出了一個報告說,機器翻譯還早著呢,尤其是全自動的,還是先去做半自動、人機互動式的翻譯吧;要先去研究語言學理論,再回過頭去研究自動翻譯。這個諮詢報告一出來,很多對機器翻譯的投資又下馬了。
所以那時候就有了機器翻譯時代的冬天,其實相應的來講,就是人工智慧的冬天。機器翻譯是一個開先河的、代表人工智慧的研究,當時人工智慧很多是跟機器翻譯有關的事情。
所以,機器翻譯一開始是在前頭唱主角,開先河,後面像影象處理、語音都逐漸做起來了。機器翻譯界的人後來從他們那裡也借鑑了一些方法,其中最有名的借鑑就是統計機器翻譯,是從語音識別那裡借鑑來的。
現在的深度學習的應用是先從計算機視覺開始,然後語音識別領域開始用,然後再到自然語言處理。
《賽先生》:大家一直詬病深度學習的可解釋性,它像一個黑盒子一樣,無法對評測結果做出解釋?
周明:神經機器翻譯這塊可解釋性還沒有做的那麼好。目前有一些模型試圖來解決這件事,希望一定的程度上看出哪個詞的表示、全句的表示的問題導致譯文不對。或者解碼時哪些引數不是那麼優化。
那麼,神經網路機器翻譯中的可解釋,是不是非要去做?這個問題事實上是有爭議的。有的人就說,根本沒必要去做,有的人說需要去做。
實際上,從結果看,通過大規模的評測集合可以對系統做優化,整體提升編碼和解碼的能力。
《賽先生》:怎樣去判斷翻譯的質量,感覺是蠻主觀的一件事?
周明:我們有兩個方案。一是做自動評測。我們有一個提前做好的標準的測試集,比如1萬個句子是人翻譯的結果。然後把機器翻譯的結果跟人翻譯的結果進行比對,相似度越高的,翻譯的就越好。這是一種自動評測的方法。
它的好處是什麼呢?每次做完翻譯實驗的時候,改了一些引數,馬上就可以知道翻譯的水平是高了還是低了。它的不好的地方就是有很多翻譯可能跟標準答案不一樣,但也可能是好的翻譯,可能就反映不出來。但是,多數情況下,還是可以反映系統效能變化的趨勢的。
第二個方案是對我們抽樣出的句子,人工看一下翻的好壞。這是盲測,不告訴評測的人,這句話是人翻譯的還是機器翻譯的。人給一個句子打分,最後根據人的打分,對一個系統的結果做一個綜合評分。人的打分有幾個依據,比如翻譯的準確度、譯文的流暢度等。
《賽先生》:你們還用到一些其他的方法,如新的聯合訓練和對偶學習以便充分利用單語語料,一致性規範和推敲網路改進解碼能力。是如何想到這些方法的,是靈感麼?
周明:首先是跨組合作的結晶。機器學習組的同事基於多年的研究提出的對偶學習和推敲網路,加上自然語言組的同事提出的聯合訓練和一致性規範解碼,恰好優勢互補。
我們有時候很長時間,翻譯水準上不去,有些想法是不斷琢磨硬憋出來的。比如把那個源語言的句子編碼好好改改,一看有點改進,然後再多想一點,或者把目標語言的解碼的地方再改一改。或者訓練資料不夠,能不能想辦法用單語資料來補充。
你能夠基本上列一個你要做實驗的列表,一開始時也不知道哪一種方法最好,就一個個去試,試完了覺得最好的,說不定有些道理,那就拔高,看能不能形成一套整體思路,甚至形成一套理論出來。如果真有道理的話,就繼續推進。通過多年時間,也積累了很多技巧和經驗。
《賽先生》:所以結果復現不了,這個是正常的吧?
周明:這也是正常的,但是差距太多說明是有問題的。如果就是差一兩個點,就說明有些小小的技巧或許作者論文裡沒寫。
《賽先生》:機器翻譯發展到現在,還有哪些挑戰性的問題?
周明:目前的機器翻譯,首先我要強調是,第一它是單句對照級的翻譯,就是一句原文,一句譯文。我們翻這一句的時候不考慮上下文,前面說多少都不考慮,就把當前這句話忠實的翻譯出來。但是人翻譯的時候是要考慮整個上下文的。
機器在對這種篇章建模,然後進行編碼解碼翻譯的時候,目前並沒有很好的手段,就連怎麼評測,訓練集在哪裡都不清楚。所以目前,篇章級的翻譯不行。
同樣,人們在口語翻譯的時候也要考慮前文的,所以機器口語翻譯的時候也不行。比如一個句子出現了指代、省略,在翻譯的時候要適當地補充,人比較容易理解,但機器就做得不好。這是第二件事情。
此外,機器對於方言處理的效果也不好。比如中文裡有四川話、上海話等。因為語音識別在處理方言的時候,處理的不好,所以也影響到後面的機器翻譯。
就算不是方言,不同的人要用不同的詞來表達同一個意思,或者句型也有可能發生變化,那機器翻譯,如果訓練不足的話,沒有捕捉到這種現象,翻譯的時候也會出現偏差。
最後,對新詞的捕捉,目前還是比較困難。提前構建一個完善的新詞詞典加進系統中,也會帶來分詞和翻譯的誤差。現場捕捉新詞並且猜測其譯文總是非常難的。相比人類可以很容易理解新詞,機器還差的很遠。
《賽先生》:所以,機器翻譯未來要達到目標是什麼?
周明:首先是不同語言之間的自如的口語翻譯。還有實現對文體的全文級的翻譯。然後實現個性化翻譯。
《賽先生》:你們需要跟語音識別的研究者進行哪方面的合作?
周明:我們有兩種合作,緊密合作和鬆散合作。鬆散合作就是語音識別後的結果給機器翻譯,需要對語音識別的結果做正則化,比如把囉嗦的地方去掉、把沒有標點的地方補上標點,處理重疊詞、預設詞、顛三倒四等。然後我們再把它翻成目標語。語音合成的人拿到我們的譯文,通過語音合成系統輸出語音。語音識別、翻譯、合成三件事串接進行。沒有進行整體優化。
緊密合作就是三家一起緊密合作,互相借鑑,甚至進行端對端的訓練,提升整體的結果。
《賽先生》:在什麼情況下需要緊密合作?
周明:首先研究資源上很多是可以共享的,比如做語音用的詞表、方言詞典,做語言的也可以用。方法上有很多也是可以借鑑的,比如現在傳統做法是語音識別了形成文字,文字再翻譯,那能不能不形成文字,直接從語音翻譯?這樣可以免掉中間一些環節的錯誤蔓延。
比如同聲翻譯的人聽英文,他識別的結果是中文。那麼,機器能不能模擬這個過程?這就是我們所說的一種緊密結合——也許有一天就是語音直接到語音,中文的語音進去,英文的語音出來,中間也不一定非要經過一個文字的階段。
《賽先生》:是否可能借鑑人腦的一些機理?
周明:其實神經網路機器翻譯有點像模擬人,它包括了編碼、解碼。人聽了一句話在腦海裡形成了一個印象,存在人腦的某一部位,無非就是時間、地點、人物、主題等,當然怎麼存的我們不知道了。但是人要表達成另外一種語言,是調動了另一個機制,把存的事實表述出來,這個在機器翻譯裡就是解碼。
所以,我們通過編碼和解碼的過程試圖模擬人腦翻譯的思維過程。當然,我的理解是,機器是不是真的是這樣運作的,我們並不太清楚,我們現在只是體現了一定程度上的模擬。
《賽先生》:現在基於神經網路的機器翻譯順延下去就會達到一個很高的水準呢,還是說必須要經歷方法上大的變化才有可能?
周明:我覺得神經機器翻譯的紅利兩三年內還可以用,包括對一些模型的調整,編碼、解碼有些地方還可以考慮新的技術方案。但是未來是不是說永遠就是神經網路來徹底解決翻譯的過程?也許中間會出現另外一種新思潮,這個目前也不知道,所以我們是保持開放的。這正如我們當時做統計的時候覺得也很舒服,只要有雙語料就做統計翻譯了,後來神經機器翻譯一下子就把統計機器翻譯贏了。