如果將機器翻譯看做是一條線的話,那麼線的一頭就是類似於金山詞霸的詞典式方法。這種方法只提供詞這一層面的翻譯。對於一個不認識的英文單詞,通過尋找詞典可以找到它對應的中文。同樣,尋找一個中文詞可以找到很多個可能對應的英文單詞。這種翻譯方式很大的一個缺點是缺少翻譯中的上下文資訊,它只能孤立的進行詞與詞之間的翻譯,而沒有考慮到在不同的上下文環境中詞的含義是不一樣的。例如“吃了午飯”中的“吃”對應的詞應該是“eat”,但其實“吃午飯”這個片語一般對應於“have lunch”。
線的另一頭則是傳統的machine learning所代表的整句的機器翻譯技術。包括了三大門派,RBMT(基於規則的機器翻譯),EBMT(基於執行個體的機器翻譯),SMT(基於統計的機器翻譯)。google的翻譯系統就是這樣一個系統。但無論是哪個門派,採用哪種方法,這些方法的目的都是提供一個完整的翻譯解決方案,就是說在沒有任何人工幹預的情況下進行整句甚至是整篇文章的翻譯。應該說,這是機器翻譯的終極目標,但可惜的是,它們的效能都還遠遠達不到實用的程度(除非在某些小的特定領域)。
以上兩種方案大部分人都非常最熟悉,但其實,最近出現了一種新的嘗試,介於線兩頭的某個中間地段。我試圖舉個例子來說明這種方法。
有道海量詞典很多人都用過,它屬於的是基於詞典的方法。只是它的詞典構造有些特殊,這個詞典不是來源於人的編排,例如牛津大辭典等等,而是來源於網路。網路上面存在著大量的雙語語料,例如很多網頁上都存在這一個名詞後跟著一個括弧,括弧裡面是它對應的英文單詞,如"機器翻譯(machine learning)是一種....",有道詞典就是通過某種方法(應該是規則的方法)將這些網路中的雙語語料抓取出來,自動的組成一個詞典。這樣的詞典有個非常大的好處,就是它會包含很多專有名詞或者最新流行詞彙片語的翻譯,如“次貸危機 - subprime mortgage crisis”,而這是以前的詞典所沒法做到的。
說了這麼多,其實我想提及的是有道詞典的另一個功能,就是它的例句功能。在有道詞典中尋找任何詞或者短語,它都會返回包含了相關詞/短語的雙語例句,而這些例句也是來源於互連網的,可以認為基本上它們的翻譯都是正確的。例如:
次貸危機正朝更糟糕的局面發展.
The subprime mortgage crisis is poised to get much worse.
這個功能對於我來說非常的有用,因為對於我這個有點英語基礎但是又不夠好的人來說,很多時候寫英語最麻煩的就是寫的句子不夠地道,句子的結構不夠漂亮。但是現在,我可以通過有道詞典很好的解決這個問題,例如我想翻譯“google的翻譯系統就是這樣一個系統”,那麼我通過搜尋“就是這樣一個”的例句,發現大部分都翻譯成了“is such a”,然後這句話我就知道可以翻譯成“Google's Translate is such a sytem”。
通過搜尋句子的主幹或者句式來找到對應的翻譯例句,然後再在例句的基礎上替換自己句子的其它部分。它並不是過去傳統的機器翻譯方法,而是需要人工幹預。這裡很關鍵的地方就在於你找到的例句都是正確且真實的,你可以相信你找到的結果,並在這個基礎上進行修正。而如果你用google翻譯等傳統的機器翻譯系統,結果不需要人工幹預,但是卻不讓人放心(確實也不準確),因為機器翻譯的現有水平還沒有達到這個程度。
寫這篇文章的原因是在CSDN上看到了這篇文章:基於例句搜尋的中英文翻譯和寫作
這個系統提供的就是我所描述的,一個類似於機器翻譯助手的角色。如文中所說,
“
該系統應用前景包括對使用者的中英文翻譯和寫作,主要體現在如下三個方面:
1.使用者僅知道中文,不知英文怎麼說?如“憧憬未來,符合標準”等;
2.使用者可以寫出一句英文,卻不確認自己寫的是否正確?此時基於執行個體的機器輔助翻譯可以協助使用者“寫對寫准”;
3. 使用者想瞭解有沒有更典雅的表達,此時基於執行個體的機器輔助翻譯和寫作可以協助使用者“寫得更好”;比如使用者寫了一句“The story
started with a storm.(故事開始於一場風雪。)”,系統就可以提示使用者時候可以考慮改成“The story opened
with a storm.”
”
我想,這會是機器翻譯領域一個嶄新的思路。