谷歌邮件智能回复系统:基于循环神经网络构建

【编者按】Google将为其Gmail应用推出一项称为智能回复(Smart Reply)的新功能,这篇博文解析了Smart Reply的技术原理:建立在一对循环神经网络(RNN)之上,其中一个RNN用于对收到的电子邮件进行编码,另一个用于预测可能的回复。

机器智能

我喜欢在Google工作,因为可以使用前沿的机器智能来造福人类。最近的两篇研究型博文谈到了我们是如何使用深度神经网络的机器学习来提高语音搜索能力和 YouTube视频缩略图。如今,我们可以分享更疯狂的功能——智能回复(Smart Reply),一个使用深度神经网络训练的撰写email的功能。

我经常会收到大量的email,一般我都是在手机上阅读这些邮件。然而在手机上回复邮件真的是件痛苦的事,即使只是简短的几句话。如果有一个系统,可以自动地判断是否需要简单地回复这封邮件,并且撰写几个可以编辑的回复或者是轻轻一点就发送出去,那该多好啊。

几个月前,来自Gmail团队的Bálint Miklós问我这种功能是否可以实现。我当时说,这听起来就跟通过图灵测试一样,所以不要对我们寄望太高……但在使用机器学习改进垃圾邮件检测和email分类的同时,我觉得我们可以尝试一下。

对于理解和生成自然语言的应用程序,如机器翻译,已经有着很悠久的研究历史。去年,Google研究人员Oriol Vinyals、Ilya Sutskever 和 Quoc Le提出融合这两项工作,并称之为序列到序列的学习。这种端到端的方法已经有许多的应用,但在实验中一个最难预料的就是会话合成。早期的研究成果表明,我们可以使用序列到序列的学习来控制聊天机器人,让它玩的非常开心,尽管在程序中并没有明确的语言知识。

显然,研究机灵的聊天机器人与开发智能撰写email的系统是大不相同的。这项工作仍是一个开放性的难题,即使我们能够建立一些对用户真正有用的东西。然而,我们团队的一名工程师Anjuli Kannan表示愿意接受这个挑战。在与机器智能研究者和Gmail工程师的紧密合作中,她阐述并试验了序列到序列的研究思路。其结果是这项神经网络技术将会成功地运行在本周推出的智能回复功能的核心模块中。

工作原理

尝试去建立一个响应式生成系统可能要依赖于手工制定的规则,如一些常见的回复等。但在实践中,任何一个工程师制定的“规则”都会快速地被人类交流的多样性给超越。对比之下,一套好的机器学习系统能够隐式地捕捉不同的情况、写作风格以及语气和色调。这些系统比基于规则的系统概括的更好,并且能够完全地、更优雅地处理新的输入。

来自设计者Chris Olah

类似于其他序列到序列的模型,智能回复系统(Smart Reply System)建立在一对 循环神经网络(recurrent neural networks, RNN) 之上,其中一个RNN用于对收到的电子邮件进行编码,而另一个用于预测可能的回复。编码网络会依次处理收到的电子邮件的各个词语,并产生一个向量(一个数字列表)。这个向量,Geoff Hinton称之为“思维向量”,抓住了说话者措辞的核心要点——例如,向量“Are you free tomorrow?" 应该是类似于向量"Does tomorrow work for you?",第二个网络从这种思维向量开始,并依次合成符合标准语法的回复,就好像是在逐字键入一样。令人惊讶的是,每个网络的详细操作都是完全学习的,只不过是通过训练模型来预测可能的回复。

处理电子邮件的一个挑战是,该模型的输入和输出可以有几百个词语。这也是循环神经网络(RNN)在选择上面临的真正问题。为此,我们使用一个改良的“长短期记忆”网络(LSTM),该网络擅长保存长期依赖信息,在预测回复中可以保存邮件内部最有用的信息,不会被前后不相关的句子所干扰。

当然,在处理email的时候还有另一个非常重要的因素,那就是隐私。我们在开发Smart Reply时,附加了一些严格的用户隐私标准——换句话说,也就是没有其他人会阅读你的email邮件。这也意味着研究人员必须让机器学习方法在他们不能读取的数据集上工作,有点像是蒙着眼睛来解决一个难题——但是正因为有这种挑战性,才使得它更加有趣!

正确反应

系统的第一个原型有一些意想不到的漏洞。比如我们想生成几个备选回复,当我们向神经网络请求三个最有可能的回复时,它会给出三个回复,像“How about tomorrow?”, “Wanna get together tomorrow?”, “I suggest we meet tomorrow.”,这些回复对于用户而言,能做的选择真的不多。为此,Sujith Ravi给出了一个解决方案,他所在的团队开发了一个出色的机器学习系统,可以将自然语言回复映射到语义意图上。这在项目的多个阶段都起到了很好的作用,并且对于解决“回复多样性问题”也至关重要:通过了解两个回复在语义上的相似点,我们可以给出措辞不同且含义各异的回复。

早期的原型还存在另一个奇怪的特点,它倾向于对任何邮件都做出“I love you”的回复。这听起来很是讨人喜欢,但真的不是我们所期望的。一些分析显示,系统做的事情正是我们训练它去做的事,然后产生可能的回复——结果表明像“Thanks”,“Sounds good”,和“I love you”这类回复是非常常见的——所以,当系统不确定做何种回复时,这些词语就会成为安全词语。通过回复的先验概率强迫模型来预测回复的方式,标准化一个候选回答的可能性,这种模型预测的回复不仅可能性很高,而且对原始消息还有很高的亲和力。虽然这并可能不怎么有爱,但对于电子邮件助手来说却更管用。

尝试一下

这项功能目前表现得特别出色,这让我们真的很惊讶。本周稍晚一些,我们会在 Android和iOS邮件收件箱中推出这一功能,希望到时候你能去尝试一下!只需点击Smart Reply给出的建议,然后编辑它。如果内容符合你的要求,直接点击发送即可。双击一下电子邮件就发出去了——跟Bálint设想的完全一样。

原文链接: Computer respond to this email(译者/刘帝伟 审校/赵屹华、朱正贵 责编/周建丁)

译者简介:刘帝伟,中南大学软件学院在读研究生,关注机器学习、数据挖掘及生物信息领域。

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

原文发表时间:2015-11-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏QQ大数据团队的专栏

手Q游戏中心的个性化推荐实战

自手Q游戏中心V6.0改版以来,产品形态发生了较大的转变,不再是纯粹通过app列表做游戏分发,而是试图通过内容来带游戏分发,全新的产品形态给推荐算法带来了许多的...

9039
来自专栏灯塔大数据

每周学点大数据 | No.56推荐系统概述

NO.56 推荐系统概述 Mr. 王:在现在的网络购物平台和电影、图书分享平台中,还有一类非常广泛存在的机制——推荐机制。 小可:在我打开的购物网站右侧经常有...

3606
来自专栏从流域到海域

机器学习自动化:警惕炒作!

原文地址:https://dzone.com/articles/machine-learning-automation-beware-of-the-hype

2996
来自专栏计算机视觉战队

2018年最全的推荐系统干货(ECCV、CVPR、AAAI、ICML)

最近总有几位关注者希望我们可以分享一些“推荐系统”类的干货,最近正好一不小心看到一篇比较好的博主写的推送,在此我通过自己理解和该博主的内容,为大家带来一次推荐系...

5105
来自专栏量子位

华盛顿大学成立SAML实验室:陈天奇参与,推进未来AI系统全栈研究

昨天,TVM、XGBoost、cxxnet等机器学习工具的作者陈天奇宣布,自己所在的华盛顿大学新成立了一个实验室,组织代号“SAML”。

1324
来自专栏PPV课数据科学社区

R语言和 Python —— 一个错误的分裂

最近有一些文章提出与年龄相关的问题:“崭露头角的年轻数据科学家们是学习R语言还是Python更好?” 答案似乎都是“视情况而定”,在现实中没有必要在R和Pyt...

38311
来自专栏新智元

【重磅】微软Facebook联手发布AI生态系统,CNTK+Caffe2+PyTorch挑战TensorFlow

【新智元导读】夜间重磅,微软Facebook联手发布AI生态系统,推出 Open Neural Network Exchange(ONNX,开放神经网络交换)格...

3144
来自专栏CDA数据分析师

4个步骤,构建一个有指导的数据挖掘模型

数据挖掘的目的,就是从数据中找到更多的优质用户。什么是有指导的数据挖掘方法模型,以及数据挖掘如何构建模型。在构建一个有指导的数据挖掘模型,首先要理解和定义一些模...

32010
来自专栏机器之心

业界 | 思必驰推出启发式对话系统,关注知识传播的会话精灵

对于对话系统来说,一般都可以分为特征处理、理解意图和生成答案等过程。思必驰北京研发院 NLP 负责人葛付江解释,在接收问句后,系统会进行进行分词、词性标注以及命...

1143
来自专栏喔家ArchiSelf

神经网络加速器的兴起

自从投身智能硬件以来,又开始重新关注嵌入式领域的相关技术。这是“2018嵌入式处理器报告: 神经网络加速器的兴起”(http://www.embedded-co...

2123

扫码关注云+社区

领取腾讯云代金券