【EMNLP2020】控制对话生成中的specificity
点击上方,选择星标或置顶,每天给你送干货!
来自:天宏NLP
本文介绍一篇2020EMNLP-findings上的论文《Consistent Response Generation with Controlled Specificity》,介绍在对话生成中控制回复的specificity。
所谓specificity,我把它翻译成“具体的程度”,举个例子,我跟机器说:“今天天真冷”,机器可以以三种不同的specificity回答我:
是的
确实挺冷的
哎呀 心疼 喝热水,多穿 快回 外面冷,你忙 好梦 早点睡,早安 晚安 睡了没,确实冷,多喝热水注意保暖别着凉了
谁不想要一个像第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相关推荐
- 直播 | 清华大学郑楚杰:知识增强对话生成中的差异感知知识选择
「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...
- 基于控制主题的对话生成 相关论文总结
前 言 在对话生成模型中,无论是目前应用广泛的seq2seq模型,还是各种GAN模型,都会存在生成的response和question之间语义关联性不强的问题.众多的NLPer从希望从多个角度去解决这 ...
- 【对话生成】常见对话生成数据集整理,含下载链接(更新至2022.06.04)
[对话生成]常见对话生成数据集整理,含下载链接(持续更新) 前言 用于对话理解的对话数据集 IEMOCAP SEMAINE Mastodon MELD EMOTyDA MEmoR M3^33ED CP ...
- ChatGPT之后我们要做什么?丨文本生成中的知识和控制
导读 ChatGPT出现后,语言理解与生成质量较之前有显著提升,但在知识性.逻辑性.可控性.可解释性方面仍然存在一些问题.如何让现有的聊天机器人拥有人类对话中丰富的先验知识?如何让生成的回复具有更强的 ...
- 实录 | 平安人寿资深算法工程师姚晓远:对话生成模型的探析与创新
1 月 10 日(周四)晚 8 点,平安人寿智能平台团队资深算法工程师姚晓远在 PaperWeekly 直播间为大家带来了对话生成模型的探析与创新主题分享,并且介绍了平安人寿基于业务场景的技术探索成果 ...
- 今晚直播 | 平安人寿资深算法工程师姚晓远:对话生成模型的探析与创新
随着深度学习的发展,人机对话技术取得重大突破,成为人工智能领域的热点研究问题. 人机对话作为人机交互系统的核心功能之一,发挥着十分重要的作用.相比其他传统交互方式,人机对话可在聊天的过程中完成输入信息 ...
- 直播 | 平安人寿资深算法工程师姚晓远:对话生成模型的探析与创新
随着深度学习的发展,人机对话技术取得重大突破,成为人工智能领域的热点研究问题. 人机对话作为人机交互系统的核心功能之一,发挥着十分重要的作用.相比其他传统交互方式,人机对话可在聊天的过程中完成输入信息 ...
- 对话生成:seq2seq模型原理及优化
对话生成模型 一.寿险的人机对话业务介绍 二.Seq2Seq 对话模型原理 三.基于主题规划和文本属性控制的 Seq2Seq 模型优化 四.Seq2Seq 模型在寿险业务的实践介绍 五.视频及资料获取 ...
- 对话屏幕Dynpro(SE51) 屏幕元素 屏幕属性 PAI事件的触发、屏幕元素Function Code设置 屏幕流逻辑Screen Flow Logic 对话屏幕中的字段命名大小写问题
对话屏幕Dynpro(SE51) 屏幕元素 屏幕属性 l 屏幕序号(Screen number).四个数字组成的序列号,用于在程序中确定屏幕,该序号在同一个ABAP程序内部是唯一的. l 屏幕类型 ...
- CCL2022自然语言处理国际前沿动态综述——开放域对话生成前沿综述
开放域对话生成前沿综述 --CCL 2022 自然语言处理国际前沿动态综述 文章目录 总体概览 1 基础任务 1.1 对话多样性代表工作 1.2 对话安全性的代表性工作 2 知识融入 2.1 基于常识 ...
最新文章
- SpringBoot - 统一格式封装及高阶全局异常处理
- CUDA系列学习(三)GPU设计与结构QA coding练习
- 55.SQL server 行转列
- Linux/UNIX 图形操作环境KDE 与GNOME
- Java实现FastDFS文件上传、查询、下载和删除
- 初学者怎么自学python编程_编程零基础初学者应当如何开始学习 Python?
- Docker container 集装箱说明
- 4.1 51单片机-定时器使用
- 计算机桌面字体咋调整,如何调整电脑桌面字体的大小
- python字典相乘_python集合、元组、字典
- 淘宝下单高并发解决方案
- 读书笔记:《死去之前,都是人生》
- u盘UEFI模式安装Windows10和ubuntu18.04双系统
- ff14 人最多的服务器,记录FF14全服人数最少的服务器红茶川
- error: (-215:Assertion failed) !_src0.empty() in function ‘cv:: 可能的诸多原因!!!
- android 天气动画,为app制作炫酷天气动画 – WeatherView
- 斩获 offer 的 Java 面试宝典
- 外卖CPS用抖音高权重号评论引流,日引万粉
- 为openwrt 15.05(Chaos Calmer) 新增优酷土豆路由宝配置
- 赛码网_在线编程_约会
热门文章
- SPring cloud (3)A Ribbon 负载均衡 配置初步
- Size Balanced Tree(节点大小平衡树)
- 用lua实现ByteArray和ByteArrayVarint
- windows下安装pycharm并连接Linux的python环境
- asp.net MVC Views-----Controller传递数据方法
- [bzoj3694]最短路
- ios程序后台运行设置(不是太懂)
- vue-cli 发布部署IIS
- Jenkins+码云 搭建持续集成环境
- Hyperledger Fabric 实战(十): Fabric node SDK 样例 - 投票DAPP