动机
•语料搜集困难,当前对话系统就是用人与人的语料来训练机器人,没有在人机对话时训练机器人
•人就是在对话中不断通过反馈来学习说话的
•直接利用人机的对话来学习可能导致错误传播,强化学习的思想是通过指标进行反馈,但是人在实际情况下是通过自然语言来进行反馈的
主要工作
•本文提出一个可以在机器人参与的对话中选取训练样本,他可以评估用户对它的回答的满意度,当对话顺利进行就可以将其作为新的对话样本,当它意识到自己犯了错误,就会要一个反馈。这样就不需要额外的注释成本。这样也就获得了两个额外的数据, DIALOGUE examples 防止机器人犯错, FEEDBACK examples用来解决问题。
•获得了三个数据集。一个是机器人部署后的聊天日志,一个是用户的满意度,一个是基于用户反馈获得机器人本应该说的话。
例子
模型
•接口组件:输入输出处理,对话历史储存、候选准备、流程控制(什么时候问什么时候答)
•模型组件:Transformer architecture(弃用RNN、CNN,all is attention的一个网络)
对话和反馈用一个模型(检索问题):用Transformer来编码对话历史(本文用两轮对话)以及候选回答和反馈,用点乘比较相似度
满意度:用Transformer来编码用现线性层转换为预测的满意度
反馈的类型
直接回馈 建议 指导 多种建议
数据搜集三个任务
•对话:人与人:PariAI数据集 机器与人:上述方法收集
•满意度:众包人工评价
•反馈:机器索要反馈:Oops! Sorry. What should I have said instead?(未来工作是如何根据内容来索要反馈)
结果
另建立了一个交流群,感兴趣的朋友可以加下