点击上方,选择星标置顶,每天给你送干货!


来自:天宏NLP

本文介绍一篇2020EMNLP-findings上的论文《Consistent Response Generation with Controlled Specificity》,介绍在对话生成中控制回复的specificity。

所谓specificity,我把它翻译成“具体的程度”,举个例子,我跟机器说:“今天天真冷”,机器可以以三种不同的specificity回答我:

  1. 是的

  2. 确实挺冷的

  3. 哎呀 心疼 喝热水,多穿 快回 外面冷,你忙 好梦 早点睡,早安 晚安 睡了没,确实冷,多喝热水注意保暖别着凉了

谁不想要一个像第3种这么贴心的聊天机器人呢?(

这篇论文其实是作者发表在2019ACL workshop上的工作《Relevant and Informative Response Generation using Pointwise Mutual Information》的延续。

这篇论文提出了一个叫做Positive Pointwise Mutual Information(PPMI)的东西,首先使用PPMI给训练集中的每个word打分,找出keywords,设计了一个loss,鼓励模型生成属于keywords的单词,做法和下面要介绍的论文大同小异。

PPMI的定义如下,为单词出现在上句中的概率,为单词出现在回复中的概率,是单词和同时分别出现在一对中的概率,这些概率P都可以通过对训练集预先的统计得到。由此可以得到PPMI矩阵,PPMI[x][y]就是PPMI(x, y)的值,预先存储好以供后面模型使用。

作者进一步提出一条数据的MaxPMI,定义如下

通过min-max normalization将每条数据的MaxPMI分数归一化

模型的整体架构如下

模型架构

首先对于一条数据,使用GRU将utterance 编码为一个向量,然后把这条数据的MaxPMI分数丢到一个多层全连接网络里(MLP)输出一个vector ,接着把整个词表上的每一个单词和utterance 中所有的单词求PPMI分数之和,得到一个长度和词表大小一样的vector ,

然后,同样地把丢到一个多层全连接网络中输出一个vector ,把得到的三个向量给concat起来得到,把h作为decoder的初始状态,因此decoder应该可以利用PPMI所定义的词与词之间的共现关系,来学习如何生成更具体specific的回复。

为了直接地提升decoder输出更specific的单词的概率,作者还把和decoder在每个timestep i输出的概率通过加权的方式加在了一起得到

用于平衡二者,由decoder当前输出的隐状态通过一层MLP得出

Inference阶段只需要手动定义MaxPMI的值s,就可以生成不同specificity程度的回复。同时作者还提出inference不手动提供值s的方法,可使用下式自动求出的值,是整个词表,是给出的问句

作者的实验在DailyDialog和Twitter(Japanese)上进行,对比的模型是SC-Seq2Seq,它出自ACL2018上的《Learning to Control the Specificity in Neural Response Generation》,同样是控制生成的,最大的区别可能在于本文用的是作者定义的PPMI,那篇也是作者定义了一个指标,并提前告诉decoder每个词的得分。

作者发现使用的效果最好

作者也举了一个生成效果的例子,通过控制s的大小可以操控回复的specificity

有什么想法欢迎在评论区讨论,扫码关注加星标以第一时间获得推送文章~

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读

专辑 | 情感分析


整理不易,还望给个在看!

【EMNLP2020】控制对话生成中的specificity相关推荐

  1. 直播 | 清华大学郑楚杰:知识增强对话生成中的差异感知知识选择

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

  2. 基于控制主题的对话生成 相关论文总结

    前 言 在对话生成模型中,无论是目前应用广泛的seq2seq模型,还是各种GAN模型,都会存在生成的response和question之间语义关联性不强的问题.众多的NLPer从希望从多个角度去解决这 ...

  3. 【对话生成】常见对话生成数据集整理,含下载链接(更新至2022.06.04)

    [对话生成]常见对话生成数据集整理,含下载链接(持续更新) 前言 用于对话理解的对话数据集 IEMOCAP SEMAINE Mastodon MELD EMOTyDA MEmoR M3^33ED CP ...

  4. ChatGPT之后我们要做什么?丨文本生成中的知识和控制

    导读 ChatGPT出现后,语言理解与生成质量较之前有显著提升,但在知识性.逻辑性.可控性.可解释性方面仍然存在一些问题.如何让现有的聊天机器人拥有人类对话中丰富的先验知识?如何让生成的回复具有更强的 ...

  5. 实录 | 平安人寿资深算法工程师姚晓远:对话生成模型的探析与创新

    1 月 10 日(周四)晚 8 点,平安人寿智能平台团队资深算法工程师姚晓远在 PaperWeekly 直播间为大家带来了对话生成模型的探析与创新主题分享,并且介绍了平安人寿基于业务场景的技术探索成果 ...

  6. 今晚直播 | 平安人寿资深算法工程师姚晓远:对话生成模型的探析与创新

    随着深度学习的发展,人机对话技术取得重大突破,成为人工智能领域的热点研究问题. 人机对话作为人机交互系统的核心功能之一,发挥着十分重要的作用.相比其他传统交互方式,人机对话可在聊天的过程中完成输入信息 ...

  7. 直播 | 平安人寿资深算法工程师姚晓远:对话生成模型的探析与创新

    随着深度学习的发展,人机对话技术取得重大突破,成为人工智能领域的热点研究问题. 人机对话作为人机交互系统的核心功能之一,发挥着十分重要的作用.相比其他传统交互方式,人机对话可在聊天的过程中完成输入信息 ...

  8. 对话生成:seq2seq模型原理及优化

    对话生成模型 一.寿险的人机对话业务介绍 二.Seq2Seq 对话模型原理 三.基于主题规划和文本属性控制的 Seq2Seq 模型优化 四.Seq2Seq 模型在寿险业务的实践介绍 五.视频及资料获取 ...

  9. 对话屏幕Dynpro(SE51) 屏幕元素 屏幕属性 PAI事件的触发、屏幕元素Function Code设置 屏幕流逻辑Screen Flow Logic 对话屏幕中的字段命名大小写问题

    对话屏幕Dynpro(SE51) 屏幕元素 屏幕属性 l  屏幕序号(Screen number).四个数字组成的序列号,用于在程序中确定屏幕,该序号在同一个ABAP程序内部是唯一的. l  屏幕类型 ...

  10. CCL2022自然语言处理国际前沿动态综述——开放域对话生成前沿综述

    开放域对话生成前沿综述 --CCL 2022 自然语言处理国际前沿动态综述 文章目录 总体概览 1 基础任务 1.1 对话多样性代表工作 1.2 对话安全性的代表性工作 2 知识融入 2.1 基于常识 ...

最新文章

  1. SpringBoot - 统一格式封装及高阶全局异常处理
  2. CUDA系列学习(三)GPU设计与结构QA coding练习
  3. 55.SQL server 行转列
  4. Linux/UNIX 图形操作环境KDE 与GNOME
  5. Java实现FastDFS文件上传、查询、下载和删除
  6. 初学者怎么自学python编程_编程零基础初学者应当如何开始学习 Python?
  7. Docker container 集装箱说明
  8. 4.1 51单片机-定时器使用
  9. 计算机桌面字体咋调整,如何调整电脑桌面字体的大小
  10. python字典相乘_python集合、元组、字典
  11. 淘宝下单高并发解决方案
  12. 读书笔记:《死去之前,都是人生》
  13. u盘UEFI模式安装Windows10和ubuntu18.04双系统
  14. ff14 人最多的服务器,记录FF14全服人数最少的服务器红茶川
  15. error: (-215:Assertion failed) !_src0.empty() in function ‘cv:: 可能的诸多原因!!!
  16. android 天气动画,为app制作炫酷天气动画 – WeatherView
  17. 斩获 offer 的 Java 面试宝典
  18. 外卖CPS用抖音高权重号评论引流,日引万粉
  19. 为openwrt 15.05(Chaos Calmer) 新增优酷土豆路由宝配置
  20. 赛码网_在线编程_约会

热门文章

  1. SPring cloud (3)A Ribbon 负载均衡 配置初步
  2. Size Balanced Tree(节点大小平衡树)
  3. 用lua实现ByteArray和ByteArrayVarint
  4. windows下安装pycharm并连接Linux的python环境
  5. asp.net MVC Views-----Controller传递数据方法
  6. [bzoj3694]最短路
  7. ios程序后台运行设置(不是太懂)
  8. vue-cli 发布部署IIS
  9. Jenkins+码云 搭建持续集成环境
  10. Hyperledger Fabric 实战(十): Fabric node SDK 样例 - 投票DAPP