我们都知道谷歌翻译,这个网站可以像变魔术一样在100 种不同的人类语言之间进行翻译。它甚至可以在我们的手机和智能手表上使用:
谷歌翻译背后的技术被称为机器翻译。它的出现改变了世界交流方式。
事实证明,在过去几年中,深度学习完全改写了传统的机器翻译方法。对语言翻译几乎一无所知的深度学习研究人员正在拼凑相对简单的机器学习解决方案,这些解决方案正在击败世界上最好的专家构建的语言翻译系统。
这一突破背后的技术被称为sequence to sequence模型。这是一种非常强大的技术,可用于解决多种问题。在我们了解它的工作原理之后,我们还将了解如何使用完全相同的算法来编写 AI 聊天机器人和图片描述系统。
让计算机翻译
那么我们如何对计算机编程来翻译人类语言呢?
最简单的方法是用目标语言的翻译词替换句子中的每个词。这是一个将西班牙语逐字翻译成英语的简单示例:
这很容易实现,因为只需要构造一个字典数据结构来查找每个单词的翻译。但是结果很糟糕,因为它忽略了语法和上下文。
因此,接下来您可能要做的就是开始添加特定于语言的规则以改进结果。例如,您可以将常见的双词短语翻译为一个组。你可能会交换名词和形容词的顺序,因为它们在西班牙语中的出现顺序通常与它们在英语中的出现顺序相反:
成功了!如果我们不断添加更多规则,直到我们能够处理语法的每一部分,我们的程序应该能够翻译任何句子,对吧?
这就是最早的机器翻译系统的工作方式。语言学家想出了复杂的规则,并将它们一一编入程序。
不幸的是,这只适用于像天气预报这种简单、结构清晰的语言。当面对真实世界的语言时它就变得不再可靠。
因为人类语言并不遵循一套固定的规则。人类语言充满了特殊情况、区域差异,并且完全违反规则。例如,西方国家说英语的方式更多地受到数百年前入侵者的影响,而不是坐下来定义语法规则的人。
应用统计方法让计算机翻译得更好
在基于规则的系统失败后,使用基于概率和统计的模型而不是语法规则开发了新的翻译方法。
构建基于统计的翻译系统需要大量训练数据,其中将完全相同的文本翻译成至少两种语言。这种双重翻译的文本称为平行语料库。就像 1800 年代科学家使用罗塞塔石碑从希腊语中找出埃及象形文字一样,计算机可以使用平行语料库来猜测如何将文本从一种语言转换为另一种语言。
幸运的是,在很多奇怪地方已经有很多双重翻译的文本。例如,欧洲议会将议事录翻译成 21 种语言。因此,研究人员经常使用这些数据来帮助构建翻译系统。
概率思维
这种方式不会只生成一种精确的翻译。相反,他们会生成数千种可能的翻译&#x