解密:Gmail移动客户端自动邮件回复技术

  AI(人工智能)+HI(人类智能)仍然是现在的AI产品不可或缺的一环,即使分类器表现良好达到85%,但在工业级的系统中,仍然会有15%出错,所以SmartReply系统是让用户选择他生成的回复,而不是直接帮助用户进行邮件回复或者邮件书写。

  回复生成、聚类、以及多样性选择算法

  模块功能

  此模块为该应用核心,功能如图所示,当用户收到一封邮件,Inbox会自动生成3个供挑选回复(三个回复在屏幕下侧)。例如,第一封邮件的三个回复分别为:

  1. Count us in!

  2. We will be there

  3. Sorry we won't be able to make it

  这样可以加速用户在手机端输入不便,回复邮件较慢的体验。

物联网

  模块实现方法

  此篇文章中,最核心的东西便是回复的生成以及聚类了。和面向开放领域的聊天机器人不同,邮件回复需要对回复进行聚类,之后从每个类别中选一个代表句。

  回复聚类的算法如下:

  构建图G={V,E},V是图中的点,E是图的边。V由来信,回信,以及回信的特征构成。

  首先抽样N个邮件作为顶点,构建顶点集合VR。为每个类别人工选择种子邮件(例如 Thank you , Thanks是感谢类的邮件),并将这些邮件VL也放到图G中。此时由于人工的干预,我们知道在特定的类别Ci有{r1,r2...rn}个回复属于此类。

  通过词汇特征的抽取,构建G中代表特征的顶点集合VF,如果邮件有该特征则邮件和该顶点进行连接。

物联网

  之后使用了半监督的聚类方法将邮件进行聚类,并且每隔特定轮次,进行新类别发现,最终得到376类。类别例如(will do, Thanks, I got it 等)

  回复选择部分并没有什么创新点,是一个基于LSTM模型的排序问题,候选集合是由most frequent的回复邮件构成,值得注意的是此篇所用的LSTM并不是利用一个Dual-LSTM讲发来的邮件和回复邮件分别进行encoding之后计算相似度。而是类似LSTM的生成模型,计算给定所发来邮件O的时候,回复中每个词被生成的概率P(wi|O)

物联网

  在具体的实际应用中,可以根据场景的不同选择基于深度学习的回复算法。我们可以看到针对回复选择这部分,由于候选回复均为高频回复邮件,所以回复会十分的没有营养,大多基于简单的英文表达(Sure,No,Thanks)等,想必如何让邮件回复和邮件内容正确的呼应起来也是非常值得研究的一个课题,这样可以避免千篇一律的回复,让被回复者有不受尊重的感觉。

  在多样性选择方面,按照文章的叙述做了两个后处理。

  第一个后处理是重复回复删除,操作具体方法十分简单,首先根据上面所说的邮件排序系统对所有候选邮件进行降序排列,之后从top1开始加入系统要输出的集合OUTPUT中。

  之后每个候选回复邮件r在加入OUTPUT时,检测r是否与OUTPUT中的任意邮件属于上面聚类算法所给出的同一个类别,如果不是才可以加入OUTPUT之中。OUTPUT达到3个回复即停止迭代。

  第二个后处理是强行生成拒绝倾向的回复。如果OUTPUT集合中的回复中没有拒绝倾向的回复,且top2中有同意倾向的回复,则自动将第三个回复替换为拒绝倾向。以此给出更加多样的回复,让使用者的选择面更大。

  结语

 

  SmartReply是谷歌将回复选择技术利用到移动版邮件系统的一个尝试,希望解决手机打字不便的问题。论文叙述了一个系统,并为我们实现一个邮件回复系统指明了方向。