目前各種機器翻譯服務質量均不佳,技術難點有哪些?
02-07
目前使用網上的自動翻譯服務,得到的結果往往令人啼笑皆非,例如多義詞不能根據上下文翻譯為正確的譯文。而拼音輸入法的上下文預測現在已經做得不錯,大大提高了中國人打字的速度。為何機器翻譯在這方面讓人感覺做得很差? 有哪些技術難點?
這個問題可以從兩個方面來回答:(1) 音字轉換和機器翻譯的複雜程度不在一個量級。 音字轉換中,一個聲母+韻母的自合都會生成一個漢字 ;在機器翻譯中,一個英文詞可以翻譯成多個中文詞,也可以多對一,多對多。另外,機器翻譯中輸入語言和輸出語言的語序經常需要調整,而音字轉換不存在這個問題。因而兩個問題需要搜索的空間不在一個量級。
(2) 用戶對輸入法和機器翻譯的心理預期不同。輸入法中的上下文預測是一個輔助功能,如果預測給出的首選項錯誤,用戶多翻幾頁總能找到正確的漢字。而機器翻譯中一旦出現錯譯、漏譯等情況,都會嚴重影響用戶的使用感受。因此用戶容易覺得輸入法中的上下文預測好用,而機器翻譯產品很難用,質量很差。
機器翻譯考慮的是兩種語言之間的互換,而不同語種的語法結構有可能存在很大的差異,再加上表達習慣的差異等因素,其難度要高於拼音預測漢字。
同意趙晶的回答!從機器翻譯的技術而言,主要是3種:基於規則的機器翻譯技術(我的理解是,雙語詞典+人工寫翻譯規則),基於實例的機器翻譯技術(把原來翻譯好的雙語句對收集起來,配上雙語詞典,很多計算機輔助翻譯軟體(如Trados、MemoQ等)主要採用的技術),基於統計的機器翻譯技術(從大規模雙語句對中利用統計的方法學習雙語知識構建翻譯模型,但是目前僅使用了詞串一層的知識,語言學角度的句法知識用得少之又少,更別提語義知識了)。我覺得,Xu Sean說的也有道理,讓GoogleTranslate這樣的通用型機器翻譯系統翻譯出高質量的結果來,真的是不切實際。正如一個人,如果他什麼都懂,估計十有八九他什麼都不精,機器翻譯也是這樣。比較可行的辦法是打造專業領域的機器翻譯系統,就是說,使用大規模、特定領域的數據,訓練出特定領域的機器翻譯系統,讓這個系統去翻譯這個領域的數據,只有這樣做,機器翻譯系統的結果才可能提高質量。
目前除了SDL在做這樣的事情,也有其他公司在做,比如杭州雅拓的NiuTrans Server,它是一套專門幫助用戶搭建本地化、專業化、個性化的機器翻譯系統,具體情況您可以上他們的網站(http://www.zjyatuo.com)上去看看。
曾經在學校圖書館看過一本非常扯淡的技術書,書名就叫《機器翻譯》!後面還有個考試題啊考試題,考的是這本書里說的那些概念!通過了就能拿到「機器翻譯資格證」!這是我這輩子看過的最扯淡的書了……
吐槽結束,開始答題:機器翻譯的技術通道是翻譯軟體,依靠的是演算法,做這個活兒的人是程序員,也就是軟體工程師;但翻譯的內核是語言和語言之間的對等,做這個活兒的人得是相關語言的翻譯家,且須精通語言學。前者高中要進理科班,後者要進文科班。同時具備這倆功能的人恐怕太少太少了。(不過喬姆司機可是搞數學出身的呦喂!)從機器學習的角度來說根本上是知識的多義性問題,也就是一個句子對應多顆語法樹的問題,只要你採用這種對應式的翻譯,是無法避免這個問題的,除非你的語料庫能足夠大,但那在現階段只是理想狀態
你要知道預測只是預測單獨的片語,和機器翻譯的複雜性是沒法比的。首先英語的語法和漢語不同,這就導致不能詞對詞翻譯,所以一般要抓取成千上萬的語料,通過一定的演算法模型對這些語料進行訓練。
目前通用的免費機器翻譯基本差別不大,效果的好壞很大程度上取決於輸入的語料有多少,專業度有多高。除了通用機器翻譯之外,我所在SDL公司收購的Language Weaver專註於給企業提供機器翻譯功能,針對不同企業的需求,質量上相對好一些,有興趣可以試試。
推薦閱讀: