Smart Reply for Google Email System

1. 综述

谷歌最近比较火的邮件自动回复系统,这是一项比较新的工作,毕竟很少有公司有GMAIL这么大的邮件数据源,同时又具有AI基因,会有人去搞这种邮件自动回复的研究。并且这种reply的推荐跟常见的QA系统或对话系统还是有几分相似。Anyway,中体来说,这依然是一个比较新的task,下面我们来看一下他具体的实现。

首先作者对该系统提出了如下的要求和目标:


系统实现的思路如下图:


整个process其实比较简单,首先是一个triggering model,是一个feedforward神经网络,触发后进入核心response,是一个LSTM,从一个有限的候选集合中选择best choice。除了候选集合的合理性,还同时考虑了回复的多样性。所有的回复都是在封闭集合中挑出来的,类似一个检索式推荐系统。


2. Response Selection

建模如下:



基本上就是个生成式模型,直接用LSTM,文中大体描述了比较重要的网络层次结构。邮件看成一个长文本query,生成vocabulary的分布后,通过beam search在封闭集合中选择合适的response。每一个timestep都可以生成相应的voc分布。最后所有的候选response放在tri树中,并通过beam search生成b个最高的response候选。如果生成的response不在树中,则会被过滤掉。最后实例如下:



3. Response Set Generation

整个reply系统需要保证quality和utility,这是两个core challenge。所谓quality就是回复质量要高,至少要减少语法拼写错误。utility就是推荐恢复需要有不同的intent,及要有多样性,不能是同义句,不然推荐多了没有意义。

3.1 规范化回复内容

把候选的回复内容,通过dependency parser依存分析,将其语法结构化表示出来,文中叫做canonicalized representation。从而可以筛出表达非常相似的候选。如:Thanks for your kind update.”, “Thank you for updating!”, “Thanks for the status update.

3.2 意图聚类

相同意图进行聚类,如"lol", "ha ha", "that is funny" 等都是相同意图,文中通过聚类方法把他们归到一起,从而尽量避免推荐同义的回复。

3.3 Graph Construction

人工从高频回复中,定义出一些response作为seed,进行半监督学习。其中:

  • VR为结点,即回复内容;
  • VF为回复内容的特征,n-gram和skip-gram(lenth up to 3);
  • VL是标注label;
  • Edges: 1)vr->vf; 2) between responses

3.4 半监督学习


按照3.3中的描述得到一个graph,使用标签传播,在seed节点标注的基础上对全图进行label propagation。

定义一个object func来计算response node之间边的权重:


feature node的object function如下:


详解未完待续。

4. Diversity

4.1消除同意图的response

如上文所述,同意图的intent通过聚类,只保留一个。

4.2 加强否定的response

因为正向的response频次通常比负向高很多,但是为了推荐多样性,增强否定意图的推荐。

5. Trigger

1. 多数邮件不需要推荐回复内容,如开放式问题:今天想去哪?

2. Trigger需控制性能,降低召回







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值