机器只会逐字逐句翻译很蠢?谷歌给出了调教方案

卢晓明·2017-09-01 19:07
只让机器以句子为单位分析,还是不够。

自从人工智能火起来之后,除了翻译从业者之外,人类一直期待翻译被人工智能替代的一天。

机器学习在翻译领域确实很有用,但是它也有一些弱点,或者说不那么容易解决的难题。让你印象最深刻的,大概是他们并不是在翻译句子或者文章,而是在翻译词语,即便现在翻译软件越发智能,但他们逐字逐句翻译的倾向依然存在。这是目前的翻译模型存在的一个明显弊端。

据Techcrunch报道,最近,谷歌的技术团队写了一篇非常详细的博文去分析该问题的细节,而且给出了自己的解决方案。这篇文章的作者是谷歌自然语言处理部门的Jakob Uszkoreit。

我们先来看看下面这个这两个句子:

  • I arrived at the bank after crossing the street.

  • I arrived at the bank after crossing the river.

在英文里面,bank作为名词,有银行、岸、储库和浅滩等意思,在上面两个句子中,它很有可能不是同一个意思。假若让算法顺着一字一句翻译下来,它很有可能会选了一个错的词——因为即便是人类,如果你不读到最后,你是不会知道bank在这里是什么意思的。

这种模棱两可的情况俯拾皆是。对于人类而言,我们读完之后可能会在脑子里面重写了一下句子,比如把前提条件或者先发生的事情放到前面去,也就是将After从句提前。如果机器也能这么机智,它就不仅仅是智能了,而是“人工”了。还有一种方法,就是让机器翻译完之后,自己检查一遍有没有错,如果就重新再翻译一遍,然后再检查——光是听就觉得,要将神经网络调成这种思维模式,它会变得很低效。

谷歌用的解决方法叫注意力机制(attention mechanism),其将这个机制内嵌在一套叫变形器(Transformer)的系统当中。系统会拿句子中的每一个单词跟其他单词对照,看看其中一个会不会影响到另一个——比如究竟是“他(he)”还是“她(she)”在讲话,或者像上面的句子中的“bank”究竟是什么意思。

氪星读者们可以借助以下动图来意会一下:

想到将这种方法用在翻译上的,不仅是谷歌,还有一家名为 DeepL 的翻译公司。他们的创始人同样非常专注于研究这个领域,而且也提到过谷歌这篇博文引用的论文。更重要的是,它可能比谷歌的还好用。

理科生可能会发现,这个方法可能会造成一个副作用。由于算法会让系统去检查每一个词跟其他几个词之间的关系强弱,并给强弱关系打分,现实中很可能会出现以下情况:

在上面的句子中,它(it)究竟是指动物(animal),还是指那条街(street)呢?好像两者都可以诶,原来生活中语意不明指代不明的情况经常存在。要知道答案,可能还要根据上下文,也许只让机器以句子为单位分析,还是不够。这让我莫名想起了一个段子:

在家的女朋友打电话给对正在加班的程序员说:“下班回家买一个西瓜。如果在路上看到有包子,买两个。”

逻辑超强的程序员果然在路上看到了有包子卖,结果他买回了两个西瓜……

看来人工智能跟程序员一样,要好好调教调教。

+1
15

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

星巴克为那些困于所谓的中年危机的人,提供了一个逃避家庭生活的新地方,他们终于不再需要把自己困在地下车库了。

2017-09-01

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业