電腦通過什麼的編程方式翻譯英語的?

打開一個網路詞典

可以隨時在線翻譯句子

有時候我們可以通過電腦翻譯去更好的理解這個句子 雖然有時候不行

但是不是在程序後台已經把單詞都分好類型

所以電腦一看到句子就會翻譯呢?


1.1.常用的方法主要是統計機器學習。

1.2.科學依據是貝葉斯公式。

2.1.例如中文到英文的翻譯

2.2.說白了就是"所有英文單詞排列成的句子中是人話的概率"*"給定英文,這個中文出現的概率"。

2.3.其中"是否說的是人話"叫做語言模型

"給定英文,出現中文的概率"叫翻譯模型。

2.4.當然除此之外還有語序調整等等各種問題,不過最核心的還是上面那個公式。

2.5.然後就是通過大量的統計和各種各樣的方法來計算這兩個模型。

3.1.這也就是為啥"開發人員不會的語言都能做成機器翻譯"---統計學的威力。

3.2.不過換句話說,開發人員掌握了學習語言的方法,這種方法被教給機器後,機器就能自己學翻譯咯~

4.我是做語音和深度學習的,上面關於機器翻譯的東西都是我瞎編的,別相信我。


dumbers


如果你想問的是 這些翻譯軟體是怎麼翻譯的,請維基「機器翻譯」

如果你想問的是 電腦是怎麼理解這些語言的, 請維基「自然語言理解」

如果你想問的是 為什麼有的句子翻譯的很好有的翻譯的很差,請谷歌「形式文法」「自動機理論」

如果你想問的是 電腦是怎麼識別這些單詞的,請維基「模式識別」


機器翻譯可以分為基於規則和基於語料庫(統計)兩類方法,目前統計機器翻譯是主流。

統計的方法是經驗式的,根據平行語料計算得到模型(訓練過程),給定一個源語言的句子時,在可能對應的目標語言句子中找到得分或者概率最大的作為翻譯結果(解碼過程)。

評價的指標:忠誠度(靠翻譯模型來保證)和流利度(靠語言模型來保證)。

---------------------------------------------------

除了傳統的統計方法外,還有基於深度學習的方法,將源語言和目標語言都映射到語義空間中去,即表示成空間向量(如word2vec),然後基於向量的計算和變換,實現源語言和目標語言之間的映射。語義是本質,語言符號只是形式。對於語言體系比較相似的語言之間,效果應該不錯,差異比較大的,估計差強人意。(只是猜測)

--------------------------------------------------

ps: 其實我不懂,瞎說的...


其實主要是統計的功勞,推薦題主看看《數學之美》這本書。


http://www.fan28.cn


This question should be addressed in the computer science section.


有很多機器翻譯的概率模型,用的最多的應該是基於短語的翻譯,這是個機器學習的問題


推薦閱讀:

誰能推薦一個好用的多國語機器翻譯軟體?

TAG:英語翻譯 | 編程 | 英語學習 | 機器翻譯 |