每天给你送来NLP技术干货!


来自:NLP日志

提纲

1 简介

2 Sparrow

3 总结

参考文献

点击这里进群—>加入NLP交流群

1 简介

    DeepMind提出的Sparrow,相对于以往的方法,是一种更加有用,准确并且无害的信息检索对话机器人。在之前的对话研究中,往往会针对对话的不同方面去设计对应的任务跟模块,例如知识性,一致性,长期记忆等等,但是Sparrow则不然,它直接根据用户的用户的反馈进行学习,这样能尽可能让模型对齐真实的用户行为,而不再需要关注过于琐碎的诸多对话细节。

图1: Sparrow测试样例

2 Sparrow

    整个流程是通过Sparrow模型根据当前对话生成多个候选回复,让用户去判断那个回复最好,哪些回复违反了预先设置好的规则,基于用户的反馈去训练对应的Reward模型,利用训练好的Reward模型,用强化学习算法再去优化Sparrow的生成结果。

图2: Sparrow框架

Reward

Sparrow学习的用户反馈分为两种,一种用户判断对话是否违背某些预设置好的规则,另一种的是从用户根据当前对话从个候选答案里选择最合适的一个。这两种反馈分为对应两个不同的模型,Rule reward model跟Preference reward model。

对于Rule reward model,首先需要根据任务自定义对应的一些规则,例如判断机器人是否在回答用户问题,话题是否变化等等,规则样例如下图所示。在具体训练数据构造时,用户在给定对话条件下,还会给某个特定规则,让用户有意识的引导机器人去违反对应的规则,然后再由用户评估机器人回复是否违反对应的规则。之所以采用这种方式是为了更高效的积累到高质量样本。用构造好的训练数据训练对应的分类模型,判断机器人回复是否违反对应的规则,每个规则对应一个分类模型,彼此独立。

图3: 规则示例

对于Preference reward model,在给定当前对话条件下,利用多种方式生成多个候选答案(通过是否引入知识检索,不同生成模型,不同prompt,不同采样策略),让用户从中选择最合适的答案。利用这些构造好的数据训练可以得到对应的分类模型,判断用户对于当前回复的倾向。以下图为例,共有8个候选答案,其中前四个是不不经过知识检索直接生成的,后面四个是通过两个不同的检索query进行知识检索,将得到的检索结果跟当前对话合并再一起后再生成回复的。

图4: 回复生成流程

Reranking

当上述两个Reward模型给候选答案生成对应的得分后,通过一个重排机制综合考虑两者的得分可以进一步优化对话机器人的性能。

Evidence

前面提及的答案生成是可以通过知识检索,根据当前上下文生成对应的query,利用Google进行搜索,将得到的结果跟当前对话信息组合,然后再生成对应的回复。之前也写过一些相关的文章,有兴趣可以自行查看文本生成系列之retrieval augmentation(思考篇)。

Reinforcement learning

这里强化学习每一步的状态是当前的对话上下文,action是具体的token,利用前面提及的rule reward model跟preference reward model来给action打出对应的reward得分,从而优化Sparrow的输出结果。在强化学习训练过程中,如果机器人生成的回复reward超过预期的话,就会把当前对话上下文+机器人回复作为新的训练数据加入到语料中,扩充训练语料库。

图5: 强化学习流程

3 总结

   个人认为,Sparrow对话机器人,最大的特色在于直接对用户的反馈进行学习,那样就不需要为对话各种琐碎细节去设计不同的模块跟任务,把决策权进一步交给模型,让模型自己去学,而对于那些机器人可能学不好的地方,通过预先定义的规则去构造对应的训练数据,让模型自己去补全。By the way, 可以好好期待一波ChatGPT了。

参考文献

1.(2022) Improving alignment of dialogue agents via targeted human judgements

https://storage.googleapis.com/deepmind-media/DeepMind.com/Authors-Notes/sparrow/sparrow-final.pdf


对话机器人之Sparrow相关推荐

  1. 对话机器人之LaMDA

    每天给你送来NLP技术干货! 来自:NLP日志 提纲 1 简介 2 LaMDA 3 总结‍‍‍‍‍‍‍ 参考文献‍ 点击这里进群->加入NLP交流群 1 简介 LaMDA是在DeepMind的S ...

  2. 快速搭建对话机器人,就用这一招!

    作者 | Milvus.io 责编 | 胡巍巍 问答系统是自然语言处理领域一个很经典的问题,它用于回答人们以自然语言形式提出的问题,有着广泛的应用.其经典应用场景包括:智能语音交互.在线客服.知识获取 ...

  3. (推荐)叮当——中文语音对话机器人

    叮当是一款可以工作在 Raspberry Pi 上的开源中文语音对话机器人/智能音箱项目,目的是让中国的Hacker们也能快速打造个性化的智能音箱. github地址:https://github.c ...

  4. 如何判断一个对话机器人有多智能?

    有些对话机器人总让人崩溃,也许是智能级别不够高.本文,就来一起看看如何判断一个机器人的智能程度. 随着智能对话技术的发展,对话机器人越来越多地出现在人们的日常工作和生活中. 从企业的角度,在合适的业务 ...

  5. 有没有python与机械结合的工作-Python3从零开始搭建一个语音对话机器人的实现...

    01-初心缘由 最近在研究语音识别方向,看了很多的语音识别的资料和文章,了解了一下语音识别的前世今生,其中包含了很多算法的演变,目前来说最流行的语音识别算法主要是依赖于深度学习的神经网络算法,其中RN ...

  6. 客服机器人源码_快速搭建对话机器人,就用这一招!

    问答系统是自然语言处理领域一个很经典的问题,它用于回答人们以自然语言形式提出的问题,有着广泛的应用.其经典应用场景包括:智能语音交互.在线客服.知识获取.情感类聊天等.常见的分类有:生成型.检索型问答 ...

  7. 「比人还会聊天」百度PLATO对话机器人开放体验

    聊天大师--百度PLATO来了! 这个内置业界首个突破百亿级参数的对话大模型PLATO-XL的对话机器人,一经问世就给大家带来了不一般的对话体验.它可以俏皮可爱.也可以老练深沉,既能陪你谈家长里短.也 ...

  8. 图灵测试70载,回顾对话机器人的经典实践和最新进展

    本文内容整理自 PaperWeekly 和 biendata 在 B 站组织的直播回顾,点击文末阅读原文即可跳转至 B 站收看本次分享完整视频录像,如需嘉宾课件,请在 PaperWeekly 公众号回 ...

  9. 直播 | 华为云卢栋才:对话机器人的应用实践和最新进展

    「PW Live」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和交 ...

最新文章

  1. LSTM 为何如此有效?这五个秘密是你要知道的
  2. 这也不能一直在这儿瞎忙活
  3. scala条件替换_scala - 有没有办法用scala中的高阶方法替换嵌套的For循环 - SO中文参考 - www.soinside.com...
  4. C++中的类所占内存空间总结
  5. css规则中区块block,CSS的命名方式:BEM(区块、元素、修饰符)
  6. 将Array、Dictionary等集合类的序列化和反序列化
  7. java版电子商务spring cloud分布式微服务b2b2c社交电商:服务容错保护(Hystrix断路器)...
  8. 永磁直驱风力发电机结构图_国内首台10MW海上永磁直驱风力发电机研制成功
  9. 产品经理如何锻炼自己看透事物本质的能力
  10. Python基础(三)文件操作和处理json
  11. 赵明:荣耀将推超级旗舰 有属于自己的P和Mate系列
  12. 佳能c3320如何u盘打印_佳能打印机脱机无法打印怎么办 佳能打印机脱机状态如何解除【详解】...
  13. win7 启用网络发现
  14. 在线教学、视频会议 Webus Fox(1)文本、语音、视频聊天及电子白板基本用法...
  15. am3352 软时钟老是漂移 rx-8025时钟 rx-8025SA时钟
  16. 计算机键盘最小化,电脑最小化键盘怎么按
  17. ERROR: Cannot uninstall ‘PyYAML’. It is a distutils installed project and thus we cannot accurately
  18. 一个测试经理/测试主管/测试总监的工作总结
  19. java 浏览器测试,【Java资源大全】Selenium:基于浏览器的测试套件
  20. CAD软件中怎么管理设备CAD图层?

热门文章

  1. AP微积分全方位解析
  2. WJMZBMR打osu! / Easy (Lougu1365)
  3. 动脑学院Android VIP课程_架构_01
  4. JAVA进行电子签章
  5. 深入理解AMS之Activity管理
  6. capp PHP,开目CAPP通用框架
  7. 机器学习基础(一)--基本概念和分类
  8. 综合布线包括计算机网络,计算机网络综合布线系统
  9. C++游戏服务器开发
  10. 树图数据库的建立和原理