Building a Conversational Agent Overnight with Dialogue Self-Play Google提出了 Machines Talking To Machines(M2M,机器对话机器)的框架,这是一个功能导向的流程,用于训练对话智能体。其主要目标是通过自动化任务无关的步骤以减少建立对话数据集所需的代价,从而对话开发者只需要提供对话的任务特定的层面。另一个目标是获得更高质量的对话,「高质量」指的是:(1)语言和对话流的多样性,(2)所有预期用户行为的覆盖范围;以及(3)监督标签的准确性。最后,这个框架的目标是引导对话智能体,使其被部署去服务实际的用户,并达到可接受的任务完成率,之后,该框架应该能使用强化学习通过用户反馈直接提升自身性能。
首先讲一下Wizard-of-Oz如何通过众包工作者产生task oriented多轮对话。
user: 给出实体(infrom, request),查看历史对话和任务描述,给出适当的回应句子。
给出一个表格,众包工作人员需要浏览对话历史记录。
其优势在于:
每个人按轮次来标注,需要查看历史对话记录。使得数据的采集可以并行,减少标注者等待时间。
主要缺点:
自动化任务无关的步骤以减少建立对话数据集所需的代价。
生成大纲与段落的示例。
用户根据M2M生成的outline,来生成真正的对话。
用户评价对话界面。
在达到一定任务完成率,部署上线使用强化学习直接从用户反馈中改进它们。
DSTC2 与 M2M Restaurant 数据集在语言与对话流多样性的对比
Metric | DSTC2 (Train) | M2M Rest. (Train) |
---|---|---|
Dialogues | 1611 | 1116 |
Total turns | 11670 | 6188 |
Total tokens | 199295 | 99932 |
Avg. turns per dialogue | 14.49 | 11.09 |
Avg. tokens per turn | 8.54 | 8.07 |
Unique tokens / Total tokens | 0.0049 | 0.0092 |
Unique bigrams / Total tokens | 0.0177 | 0.0670 |
Unique transitions / Total turns | 0.0982 | 0.2646 |
Unique subdialogues(k=3) / Total subdialogues(n=3) | 0.1831 | 0.3145 |
Unique subdialogues(k=5) / Total subdialogues(n=5) | 0.5621 | 0.7061 |
Unique full outlines / Total dialogues | 0.9243 | 0.9292 |

用 M2M 收集的对话的人类评价。众包人员对用户与系统对话给出得分的平均值(1-5 分), 括号内是标准偏差。