前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【多轮对话】任务型多轮对话数据集如何采集

【多轮对话】任务型多轮对话数据集如何采集

原创
作者头像
百川AI
修改2022-09-06 20:13:10
2.3K1
修改2022-09-06 20:13:10
举报
文章被收录于专栏:我还不懂对话我还不懂对话

研究任务型对话系统,首先得从数据集采集说起,学术界需要公开的数据集来证明模型的效果,工业界更需要以数据集为基础来构建更鲁棒的对话系统,那么业界成熟的对话系统数据集有哪些呢,对于多轮,如何更科学的采集数据减少错误呢,本文调研了一些近来一些方案供参考。

WoZ&MultiWOZ

A Network-based End-to-End Trainable Task-oriented Dialogue System提出了woz framework Neural Belief Tracker: Data-Driven Dialogue State Tracking 在woz基础上添加了两个域,命名为woz2.0

WoZ是比较早期的对话数据集,也提出了一种对话数据集采集方法:既然要训练人机对话的模型,让机器像人一样自然的交流,那么我就用人来回复,自然就能够生产拟人的对话交互。这是出发点,采集过程中会告诉标注人员用户目标,然后标注人员开始与系统对话,这里的系统也是一个人,然后两个人对话生成多轮对话流。一句话就是human2human。主要也就是界面展示的开发,user和wizard都是由众包来填写,例如:

user

user: 给出实体(infrom, request),查看历史对话和任务描述,给出适当的回应句子。 如下图

在这里插入图片描述
在这里插入图片描述

wizard

在这里插入图片描述
在这里插入图片描述

网页给出一个表格,众包工作人员需要浏览对话历史记录。

  1. 通过在本回合解释用户输入填写表单(顶部绿色),并根据历史记录和数据库结果键入适当的响应( 底部绿色)。 提交表单时更新数据库搜索结果。 表单可以分为infrom slot和可request slot,包含state tracker所需的所有标签。
  2. 还需要输出回应

其优势在于:

每个人按轮次来标注,需要查看历史对话记录。使得数据的采集可以并行,减少标注者等待时间。

主要缺点

  • 可能不会涵盖所有的交互。(人主导)
  • 可能包含不适合用作培训数据的对话(例如,如果群众工作者使用过于简单化或过于复杂的语言)
  • 对话注释中可能有错误,需要开发人员过滤和清洗。

Self-play

刚刚也说到人人交互由人主导,对话交互覆盖、准确性等会有一些问题,那么有些文章就提出通过用户模拟器和系统交互生产对话outline,由模板转化为自然语言对话flow,然后通过众包来复述对话。部分方法还会采用bootstrapping方法,通过这部分生成的数据,再训练模拟器,生成更好的会话,再来总包复述。数据集包含:

M2M:

Building a conversational agent overnight with dialogue self-play, 代码 Dialogue Learning with Human Teaching and Feedback in End-to-End Trainable Task-Oriented Dialogue Systems

通过自动化任务无关的步骤以减少建立对话数据集所需的代价,主要包含以下模块

  1. 对话开发者提供任务Schema(intents&Slots)和API客户端,
  2. 自动机器人(User Bot&System bot)生成对话轮廓Outlines,(一个agenda based用户模拟器和一个基于有限状态机器的system agent)
  3. 众包重写成自然语言表达并验证slot span。
  4. 在数据集上用监督学习训练对话模型。
    M2M框架图
    M2M框架图
    生成大纲与段落的示例。
    在这里插入图片描述
    在这里插入图片描述
    用户根据M2M生成的outline,来生成真正的对话数据集。

SGD

Towards Scalable Multi-Domain Conversational Agents: The Schema-Guided Dialogue Dataset

也是通过用户模拟和系统进行交互生成outline,通过模板生成简单会话,然后众包进行复述生成更像人的对话数据集,训练集包含16个域,而测试集包含18个域,这里测试集就要求模型具备跨域可迁移的能力。

对于数据集,其中的service、slots、intents除了名字、是否类别槽位,还有一段描述,其实是希望通过描述中更多的信息来获得其向量化表达,比如将描述用一个编码器进行embedding,提升其跨域能力。

例子如下:

在这里插入图片描述
在这里插入图片描述

Tree DST

Conversational Semantic Parsing for Dialog State Tracking

也是通过用户模拟和系统进行交互生成对话流,然后众包复述会话。区别在于将之前的dst通过句法解析的方式来建模。不过看最近貌似这种方式对于支持更多更复杂功能的语音助手流行,包括亚马逊的ASML,阿里的KAMR都有点将扁平的结构化表达转化为类树形的结构。

例子如图:

在这里插入图片描述
在这里插入图片描述

DSTC

https://zhuanlan.zhihu.com/p/200747822

来源:Amazon Mechanical Turk

dstc其实算是一个比较早的数据集,但是一直在更新,所以留到最后来讲,前期主要是通过human-machine的交互来收集对话数据集,来源是Amazon Mechanical Turk,不同点在于它还包含了automatic speech recognition (ASR)的候选集,更接近于真实情况,因为真实的语音助手就是要面对来自于asr的错误噪声等,需要在这种情况下尽量做出正确的用户反馈。数据集较多,特别是后面一次会有多个任务的数据集,也没有全了解。

Towards Scalable Multi-Domain Conversational Agents: The Schema-Guided Dialogue Dataset

中文

千言

2020 CCF BDCI 千言:多技能对话:收集了一系列公开的开放域对话数据,并对数据进行了统一的整理以及提供了统一的评测方式,期望从多个技能、多个领域的角度对模型效果进行综合评价

目前中文数据集看到还比较少,SMP也出过一些单轮对话数据集,总体上还是不如英文丰富。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WoZ&MultiWOZ
  • user
  • wizard
  • Self-play
    • M2M:
      • SGD
        • Tree DST
        • DSTC
        • 中文
          • 千言
          相关产品与服务
          对话机器人
          对话机器人(Conversation Robot,ICR),是基于人工智能技术,面向企业场景的 AI 服务,可应用于智能客服、服务咨询、业务办理等场景。本产品旨在帮助企业快速构建,满足自身业务诉求的对话机器人,从而减少企业人力成本或解决服务不及时问题。用户可通过对话机器人用户端引擎,实现高准确率的对话服务。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档