先吐个槽,回答里没一个懂机器翻译的,更没一个有相关工业界经验的。无非是 diss 百度辣鸡嘛,有什么意思呢?然后开始正文,讲讲为什么会出现这种现象。
从算法上讲,@颜如玉 的答案没什么问题。现在还在商用的机器翻译系统基本上就两种:
中英文都是大语种,再加上百度翻译的新闻稿,基本可以确定百度中英翻译使用的是神经网络机器翻译。除非你运气不太好,被百度 A/B 测试分到统计机器翻译的桶里去了;或者是神经网络机器翻译由于某种巧合出错了,系统返回了统计机器翻译的结果作为兜底。
但这个问题显然不是算法问题,而是工程问题。算法是需要平行语料训练的,数据从哪儿来?主要来源有:
1、花钱买 2、自己标 3、公开数据集 4、爬虫爬
1 要花钱,2 费时费力,3 各大厂商都可以用做不出来花,还剩啥?4。
爬虫怎么爬?一是直接找双语平行语料,例如有些机构的文章会用中英文双语写成(大多是篇章级别对齐的),爬下来以后再进行分段、分句、对齐,就得到了句级别的平行语料。二是找可比语料,例如我知道某个术语的中英文分别是什么,就去找它们的维基百科页面。虽然两个页面不一定互为翻译(往往英文页面的内容比中文页面丰富得多),但是常常能找到有一些句子是互为翻译的。把两个页面爬下来以后,再用现有的机器翻译系统或其他方法进行打分,置信度高的句对就认为是平行句对,可以加到训练语料中。
搜索“辛巴 god bless us”,可以找到一个豆瓣页面,里面有一行内容:
2011-08-05 10:10:19 辛巴 (god bless us)
所以……大概率是百度的爬虫把这位用户的用户名“辛巴”和个性签名"god bless us"当成平行句对加到自家的翻译系统里了。
同时,由于 God bless us 的翻译结果是正常的,我们还可以确定百度翻译的分词器是大小写敏感的(case-sensitive),而非先 lower case 再 recase。