大数据文摘出品
编译:李雷
谷歌的智能回复SmartReply自推出至今已有4年多了,在此期间,随着这项技术在Gmail和安卓短信软件上的应用,它已拥有了大量的用户,而通过AndroidWear智能平台这项功能将可以扩展到了更多设备。
该功能将植入YouTubeStudio中,也就是博主们用来管理自己的YouTube形象,查看统计数据,推广频道并吸引粉丝的全方位的控制台。
在YouTubeStudio的评论部分,博主们可以过滤、查看和回复来自各个频道的评论。
对于拥有大量粉丝的博主而言,回复评论可能非常耗时,而这正是SmartReply的强项。
开发人员现在可以使用SmartReply在GooglePlay控制台上回复评论,并且可以用MLKit(机器学习工具包)和TFLite(针对移动和嵌入式设备的软件库)中提供的API来开发自己的回复工具。每次应用SmartReply,需要针对具体的任务要求自定义配置,因此在建模和服务方面都面临着独特的挑战。
在这篇文章里,我们很高兴分享针对YouTube的SmartReply,这是在YouTubeStudio中实现的,它可以帮助油管博主们更轻松地与粉丝互动。该模型通过能高效计算的膨胀型自注意力网络来学习评论和各种回复,而且是第一个跨语言和基于字符字节的SmartReply模型。
目前,英语和西班牙语博主都可以使用这款SmartReplyforYouTube。使用这种模型未来可以更加简便地将SmartReply扩展到其他语言。
YouTube上的自动回复存在一定的挑战性。
首先,视频博主收到的评论数量巨大。此外,博主和粉丝所形成的内容也各不相同,这体现在评论、讨论和视频的创意上。与通常用词都比较正式的电子邮件相比,油管上的评论具有更复杂的模式,比如语言混搭、缩略词、俚语、标点符号用法不一致以及高频使用表情符号等。
比如像这样的:
深度检索
SmartReply邮件版最初是使用递归神经网络,将收到的电子邮件按词编码,然后使用另一种按词编码的递归神经网络来生成答复。
虽然这种方法具有较好的表达力,但在计算上的开销却很大。而我们发现,设计一种可以检索预定义的推荐答复语列表的系统,从而生成最适当的回复,也可以达到相同的效果。
这个检索系统对收到的内容及其建议的答复进行独立编码。
首先,对文本进行预处理以提取单词和短语。这种预处理包括但不限于语言识别、标记化和规范化。然后,用两个神经网络同时独立地对收到的内容和建议的答复进行编码。这种分解使我们可以预先计算建议的答复,然后使用有效的最大内积搜索数据结构来检索建议的答复集。这种深度检索方法使我们能够将SmartReply扩展到Gmail应用,并且成为包括当前YouTube智能回复系统在内的多种SmartReply系统的基础。
不只是词语处理这么简单。
之前的SmartReply系统是按词进行预处理,这种预处理只适用于若干种语言和写作风格。而在YouTube中,这样的系统将面临巨大的挑战,例如,典型的评论可能内容驳杂,如使用了表情符号、艺术字、语言混搭等。有鉴于此,并且我们最近在字节和字符级语言建模方面的工作中得到了些启发,我们决定不进行任何预处理就对文本进行编码。这种方法的研究基础是,深层Transformer(基于注意力机制的编解码器模型)网络能够从零开始对单词和短语进行建模,只需将文本按字符或字节序列输入即可,模型质量与word-based模型相当。
尽管初步结果令人鼓舞,特别是处理带有表情符号或错别字的评论,但由于字符序列长于对等单词,并且自注意力层(self-attention)的计算复杂度是随自负序列长度变化,因此模型推理速度很慢。我们发现,通过在网络的每一层使用临时缩减层来缩小序列长度,类似于WaveNet中应用的扩散技术,可以在计算耗损和模型质量之间取得良好的平衡。
下图展示了一个双编码器网络,该网络对评论和回复都进行编码,通过对比性网络训练网络来使其潜在表征之间的交互信息最大化。一开始将嵌入的字节序列提供给transformer网络,后续每一层的输入将按照等偏移量按比例删减字符。这样在若干个transformer层之后,输入序列长度被大大缩短,从而大大降低了计算复杂度。可以用其它算法(例如平均池化)代替此序列压缩方案,尽管我们没有发现有任何更复杂的方法可以带来更大的好处,为了简化起见,我们还是选择使用它。
一个双编码器网络,可通过对比性目标使评论及回复之间的交互信息最大化。每个编码器的输入是一个字节序列,且为高效的膨胀transformer网络。
通用模型
我们没有为每种语言训练单独的模型,而是选择为所有支持的语言训练一个跨语言模型。这样做可以支持评论中包含混搭语言的情形,并使模型能够利用各语言中的公共元素来学习和理解新的语言,例如表情符号和数字。此外,只有一个模型还可以简化日后的维护和更新工作。尽管该模型目前只针对英语和西班牙语,但其固有的灵活性使它将来能够扩展到其他语言。
如果检查该模型产生的多语言建议回复集的编码,可以发现该模型将各种类似的回复进行了聚类(无论回复属于哪种语言)。
这种跨语言的能力在模型并没有使用任何多语种平行语料库进行训练的情况下就表现出来。下图中展示了模型在面对三种语言输入时如何根据其含义对回复进行聚类。例如,英文评论“这是一个很棒的视频”周围有适当的回复,例如“谢谢!”此外,查看其他语言中最临近的回复,可以看出它们与英文回复中的含义也相似。2D投影还显示了由相似含义的回复组成的其他跨语言聚类。这种聚类展示了模型为用户提供了丰富的跨语言体验。
在假定的评论和部分潜在回复时模型编码的2D投影。围绕英文评论(黑色)的邻域包含适当的英文回复以及对应的西班牙语和阿拉伯语回复。这里,网络学会了在不使用任何平行语料库的情况下使英文回复与其他语种回复保持一致。
回复的时机
我们的目标是帮助油管博主们,因此我们必须确保SmartReply仅在非常必要时才给出建议。理想情况下,仅当博主有很大可能会回复评论并且模型很可能提供明智而具体的回复时才显示建议。为此,我们训练了辅助模型以识别哪些评论应触发SmartReply功能。
博主们无需手动输入所有回复,而是可以点击系统建议的其中一个回复即可。比如,如果某个粉丝说期待接着将发生什么,那么SmartReply可能会建议回答“谢谢!”或“常来看看!”
此外,谷歌表示,它希望建立这样一种SmartReply系统,仅在博主很希望回复评论以及SmartReply能够提出合适的回复时,系统才给出建议。这要求对该系统进行训练,以识别哪些评论应触发系统功能。
结论
我们已经发布了YouTube版SmartReply,目前只适用于英文和西班牙文评论,这是第一个跨语言和基于字符字节的SmartReply。YouTube是一个全球性的平台,拥有广泛的用户群,可以生成各种内容。因此,最重要的是要不断为所有的用户提供更好的评论体验,SmartReply是朝着这个方向迈出的重要一步。
根据SmartReply现在使用的算法,谷歌相信未来它将能够支持更多的语言。
相关报道: