热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

神经网络_智能编撰:使用神经网络协助编写电子邮件

本文由编程笔记#小编为大家整理,主要介绍了智能编撰:使用神经网络协助编写电子邮件相关的知识,希望对你有一定的参考价值。文/?吴勇辉,谷歌大脑团队首席工程师&nb
本文由编程笔记#小编为大家整理,主要介绍了智能编撰:使用神经网络协助编写电子邮件相关的知识,希望对你有一定的参考价值。


文 /?吴勇辉,谷歌大脑团队首席工程师

 

在 Google I / O上,我们推出了 Smart Compose,这是 Gmail 中的一项新功能,它利用机器学习,通过交互方式为正在编写邮件的用户提供补全句子的预测建议,从而让用户更快地撰写邮件。 Smart Compose 基于智能回复技术,提供了一种全新的方式来帮助您撰写邮件 - 无论您是在回复邮件亦或是从头开始起草一封新邮件。

 

技术分享图片

 

在开发 Smart Compose 过程中,遇到了一些关键性的挑战,其中包括:

?

 

 

寻找合适的模型

典型的语言生成模型,例如 ngram,神经词袋(BoW)和 RNN 语言(RNN-LM)模型,是在以前缀词序列为条件的基础上学习预测下一个单词。 然而,在电子邮件中,用户在当前电子邮件中键入的单词成为模型可用于预测下一单词的 “信号”,模型将利用该信号来预测下一个单词。 为了结合更多有关用户想要表达的内容,我们的模型还会参考电子邮件的主题和先前的电子邮件正文内容(假设用户正在回复一封刚刚收到的电子邮件)。

注:ngram 链接

https://en.wikipedia.org/wiki/Language_model

神经词袋(BoW)链接

http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf

RNN 语言 链接

https://www.isca-speech.org/archive/interspeech_2010/i10_1045.html


包含和利用附加语境的一个方法是将问题转换成
sequence-to-sequence(seq2seq)机器翻译任务,其中源序列是邮件主题和先前电子邮件正文(如有)的串联,而用户正在撰写的邮件作为目标序列。尽管这种方法在预测质量方面表现良好,但它未能满足我们严苛的延迟标准。


为了改善这一点,我们将 BoW 模型与 RNN-LM 结合起来,结合后的模型比 seq2seq
模型更快,而对模型的预测质量影响极小。在这种混合法中,我们通过把单词嵌套平均分配在每个区域内,对邮件主题和之前的电子邮件内容进行编码。然后我们将这些平均分配后的嵌套连接在一起,并在每次执行解码步骤时将它们馈送到目标序列
RNN-LM,过程如下面的模型图所示。

 


技术分享图片

 

Smart Compose RNN-LM
模型架构。通过对每个字段中的单词嵌套平均分配到每个区域内,将邮件主题和先前的电子邮件信息进行编码。 随后,平均后的嵌套会在每次执行解码步骤时提供给目标序列
RNN-LM。

 

 

加速模式培训与服务

当然,一旦我们决定采用这种建模方法,我们就必须调整各种模型超参数,并使用数十亿个示例对模型进行训练,所有这些操作都相当费时。
为了加快速度,我们使用了一个完整的 TPUv2 Pod 来进行实验。如此,我们能够在一天之内将一个模型训练至收敛状态。

?

即便训练出了速度更快的混合模型,初始版本的 Smart Compose
在标准CPU上运行时,依旧存在着几百毫秒的平均服务延迟,这似乎与 Smart Compose
努力帮助用户节省时间的初衷依旧相去甚远。幸运的是,在推断期间可以使用 TPU 来大大加快用户体验。 gpa是什么通过将大部分计算分流到 TPU
上,我们将平均延迟时间缩短至几十毫秒,与此同时还大幅增加了单台计算机可处理的服务请求数量。

 

 

公平与隐私

由于语言理解模型会反映人类的认知偏差,导致得到多余的单词关联和组句建议,因此在机器学习中实现公平性至关重要。
正如 Caliskan 等人在他们近期的论文 “Semantics derived automatically from language corpora
contain human-like biases 从语料库中自动导出的语义包含类似人类的偏见”
中指出,这些关联深深隐藏在自然语言数据中,这对于构建任一语言模型来说都是相当大的挑战。 我们正在积极研究如何继续减少训练程序中的潜在偏见问题。此外,由于
Smart Compose
是基于数十亿的短语和句子进行训练,类似垃圾邮件机器学习模型的训练方式,我们已经进行了广泛的测试,确保模型只记忆各类用户使用的常用短语。

 

 

未来研究方向

我们一直致力于通过遵循最先进的架构(例如,Transformer,RNMT
+等),并尝试最新和最先进的训练技术,不断提高语言生成模型的预测质量。
一旦模型的实验结果能够满足严苛的延迟约束条件,我们就会将这些更先进的模型部署到产品中。此外,我们还在努力整合个人语言模型,旨在使它能够在系统中更加准确地模拟不同用户的个性化写作风格。

 

 

鸣谢

Smart Compose 语言生成模型由 Benjamin Lee,Mia
Chen,Gagan Bansal,Justin Lu,Jackie Tsay,Kaushik Roy,Tobias Bosch,Yinan
Wang,Matthew Dierker,Katherine Evans,Thomas Jablin,Dehao Chen,Vinu
Rajashekhar,Akshay Agrawal, Yuan Cao,Shuyuan Zhang,Xiaobing Liu,Noam
Shazeer,Andrew Dai,Zhifeng Chen,Rami Al-Rfou,DK Choe,Yunhsuan Sung,Brian
Strope,Timothy Sohn,Yonghui Wu
等开发。?

 

更多 AI 相关阅读:

·?android Smart Linkify
支持机器学习

·?使用 Flutter 反序列化 JSON
的一些选项

·?将连接组学提高一个数量级

 

 




文章来源:https://blog.csdn.net/jILRvRTrc/article/details/82230102




推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
author-avatar
matt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有