数据集:

GEM/schema_guided_dialog

英文

GEM/schema_guided_dialog 数据集卡片

链接到主要数据卡片

您可以在此处找到主要的数据卡片 GEM Website

数据集摘要

GEM 版本的该数据集用作响应生成数据集。输入指定了模型需要转化为语言的对话行为。Schema-Guided对话数据集具有挑战性,因为它包含了从酒店和旅行到餐厅的多个领域,以及各种各样的对话行为。还提供了每个对话的上下文。

您可以通过以下方式加载数据集:

可以在此处找到数据加载器

网站

n/a

论文

Arxiv

作者

Abhinav Rastogi, Xiaoxue Zang, Srinivas Sunkara, Raghav Gupta, Pranav Khaitan, Amir Fayazi, Maria Wang and Guan-Lin Chao

数据集概述

资源和相关文档位置

下载

[Github]( https://github.com/google-research-datasets/dstc8-schema-guided-dialogue )

论文

Arxiv

BibTex
{
@inproceedings{rastogi2020towards,
  title={Towards scalable multi-domain conversational agents: The schema-guided dialogue dataset},
  author={Rastogi, Abhinav and Zang, Xiaoxue and Sunkara, Srinivas and Gupta, Raghav and Khaitan, Pranav},
  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
  volume={34},
  number={05},
  pages={8689--8696},
  year={2020}
}
联系人姓名

Abhinav Rastogi

联系人邮箱

schema-guided-dst@google.com

有排行榜吗?

语言和使用目标

多语言吗?

涵盖的语言

英语

哪个语言?

语言结构是机器生成的,语言实现是由众包工作者生成的。数据集论文没有提供众包工作者的人口统计信息。

许可证

cc-by-sa-4.0: 署名-相同方式共享4.0国际

预期用途

Schema-Guided对话(SGD)数据集包含了1.8万个人与虚拟助手之间的多领域任务导向对话,涵盖了从银行和事件到媒体、日历、旅行和天气的17个领域。数据集中只包含英文。SGD数据集为任务导向对话中的许多任务提供了一个具有挑战性的测试平台,包括语言理解、槽填充、对话状态跟踪和响应生成。在创建SGD数据集时,研究人员开发了一个多领域对话模拟器,该模拟器能够在任意组合的API、对话状态和系统动作上生成对话概要。然后,他们使用众包过程将这些概述改写为自然语言表述。这种新颖的众包过程保留了从模拟器获得的所有注释,并且在对话收集后不需要任何额外的注释。

主要任务

对话响应生成

交际目标

生成目标话语的演讲者的目标是帮助用户完成任务,包括但不限于寻找航班、预订餐厅、搜索附近的事件和电影。

信用

策展组织类型

工业

策展组织

谷歌

数据集创建者

Abhinav Rastogi, Xiaoxue Zang, Srinivas Sunkara, Raghav Gupta, Pranav Khaitan, Amir Fayazi, Maria Wang和Guan-Lin Chao

资助

谷歌

谁添加了GEM数据集?

Wanyu Du编写了初始数据卡,并且Yacine Jernite编写了数据加载器。Simon Mille使用额外的数据划分更新了数据卡和加载器。Sebastian Gehrmann将数据卡和加载器迁移到v2版本,并扩展了缺失的信息。

数据集结构

数据字段

每个对话实例都有以下字段:

  • 对话_id:对话的唯一标识符。
  • 服务:对话中存在的服务列表。
  • 台词:已注释的系统或用户话语的列表。每个台词包含以下字段:
    • 发言人:该轮次的发言人,可以是USER或SYSTEM。
    • 话语:包含自然语言话语的字符串。
    • 帧:包含关于单个服务的注释的帧列表,每个帧包含以下字段:
      • 服务:与帧对应的服务的名称。从下面的字段中使用的槽和意图来自于此服务的模式。
      • 插槽数:话语中的插槽跨度的列表,仅对非分类插槽提供。每个插槽跨度包含以下字段:
        • 插槽:插槽的名称。
        • 开始:话语中与插槽值对应的起始字符的索引。
        • exclusive_end:话语中与插槽值的最后一个字符之后的字符的索引。
      • 操作:与系统相对应的操作列表。每个操作都有以下字段:
        • 行动:操作的类型。
        • 插槽:(可选)某些操作的插槽参数。
        • 值:(可选)分配给插槽的值的列表。如果值列表不为空,则必须出现插槽。
        • canonical_values:(可选)值的规范化形式,它是服务使用的规范化形式的字符串列表。它是与values长度相同的字符串列表。
      • 服务调用:(仅限系统轮次,可选)发送给服务的请求。它包含以下字段:
        • 方法:正在执行的服务或API的意图或函数的名称。
        • 参数:参数槽名的一对列表,parameter_canonical_value包含相应的规范化形式的值。
      • 服务结果:(仅限系统轮次,可选)包含从服务获取的结果的实体的列表。它仅对进行服务调用的轮次可用。每个实体都表示为两个列表的对:service_slot_name包含槽名称,service_canonical_value包含相应的规范化值。
      • 状态:(仅限用户轮次)与服务对应的对话状态。它包含以下字段:
        • active_intent:当前由系统履行的框架的服务的意图。如果没有意图处于活动状态,则其值为"NONE"。
        • requested_slots:用户在当前轮次中请求的插槽列表。
        • slot_values:一对长度相同的列表:slot_name包含插槽名称,slot_value_list包含相应的字符串列表。对于分类插槽,此列表包含分配给插槽的单个值。对于非分类插槽,此列表中的所有值都是彼此的口头变体,并且是等效的(例如,“6 pm”,“晚上六点”,“晚上六点”等)。
示例实例
{'dialogue_id': '1_00000',
 'services': ['Restaurants_1'],
 'turns':
 {'frames':
     [{'actions': [{'act': [6],
      'canonical_values': [['FindRestaurants']],
      'slot': ['intent'],
      'values': [['FindRestaurants']]}],
      'service': ['Restaurants_1'],
      'service_call': [{'method': '',
      'parameters': {'parameter_canonical_value': [],
       'parameter_slot_name': []}}],
      'service_results': [{'service_results_list': []}],
      'slots': [{'exclusive_end': [], 'slot': [], 'start': []}],
      'state': [{'active_intent': 'FindRestaurants',
                   'requested_slots': [],
                   'slot_values': {'slot_name': [], 'slot_value_list': []}}]},
     {'actions': [{'act': [13],
      'canonical_values': [[]],
      'slot': ['city'],
      'values': [[]]}],
      'service': ['Restaurants_1'],
      'service_call': [{'method': '',
      'parameters': {'parameter_canonical_value': [],
       'parameter_slot_name': []}}],
      'service_results': [{'service_results_list': []}],
      'slots': [{'exclusive_end': [], 'slot': [], 'start': []}],
      'state': [{'active_intent': '',
                 'requested_slots': [],
                 'slot_values': {'slot_name': [], 'slot_value_list': []}}]},
    ...,]}
 'speaker': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1],
 'utterance': [
   'I am feeling hungry so I would like to find a place to eat.',
   'Do you have a specific which you want the eating place to be located at?',
   'I would like for it to be in San Jose.',
   'Is there a specific cuisine type you enjoy, such as Mexican, Italian or something else?',
   'I usually like eating the American type of food.',
   'I see that at 71 Saint Peter there is a good restaurant which is in San Jose.',
   'Can you give me the address of this restaurant.',
   'If you want to go to this restaurant you can find it at 71 North San Pedro Street.',
   'Can you give me the phone number that I can contact them with?',
   'If you want to phone them you can at 408-971-8523.',
   'Is there some other restaurant which you can suggest?',
   'How would you like Bazille restaurant which is situated in San Jose.',
   'Do you have another restaurant matching my needs? For example a restaurant which is economical and is located in Palo Alto.',
   'I see that 7 restaurants suit to what you requested. Bird Dog seems as a good restaurant and is located in Palo Alto.',
   'Alright, that seems good. I would like to make a booking at this restaurant.',
   'For which time do you want the booking to be?',
   'I will be eating there at 11:30 am so make it for then.',
   'Can you please confirm that you want to book a table for 2 at 11:30 am at the Bird Dog restaurant in Palo Alto for today.',
   'That suits me well. Can you tell me if they feature live music?',
   'Your booking has been made without errors, but unfortunately they do not have live music.',
   'Will I be able to find liquor there? Can you give me the address of their location?',
   'The restaurant is located at 420 Ramona Street. Unfortunately they do not serve alcohol at the restaurant.',
   'I appreciate it very much. That would be all.',
   'Have a good time!'
 ]}
数据拆分

该数据集被拆分为包含以下大小的训练集、验证集和测试集:

Train Validation Test
# of dialogues 16142 2482 4201
# of turns 48426 7446 12603
拆分标准

数据通常是i.i.d.拆分的,但有些主题只出现在训练集中,而有些主题只出现在测试集中。例如,领域 Messaging, Payment 和 Train 是仅出现在测试集中的。

GEM中的数据集

包含在GEM的理由

为什么在GEM中有这个数据集?

此数据集包含了各种各样的对话能力,因此能够评估与其他可比较数据集相似的许多生成能力。其收集方法确保了数据的高多样性和高质量。

类似的数据集

是的

独特的语言覆盖范围

与其他GEM数据集的不同之处

领域比其他数据集更加多样。

数据集测试的能力

表面实现、组合性。

GEM特定的策划

为GEM进行了修改?

是的

GEM的修改

修改了数据点

修改细节

我们将重点放在了对话响应生成的数据集上,因此重新格式化了数据集,将服务代理话语视为要生成的目标,将上一个客户话语和代理话语行为视为输入。我们还重新格式化了对话行为,使其直接符合所描述的格式。

还有其他拆分吗?

是的

拆分信息

为Schema-Guided对话增加了9个挑战集到GEM评估套件中。

  • 我们将训练集和开发集分别分成了500个随机选择的输入子集。
  • 我们对5个随机选择的输入集分别应用了5种转换:(i) 回译,(ii)-(iii) 引入了排版错误,使用Butterfingers工具进行操作,设置了两个不同的阈值(0.02和0.05)来引入不同数量的排版错误(基于0.05阈值引入的排版错误多于0.02阈值引入的排版错误), (iv) 删除最后的标点符号(如果有的话),以及 (v) 输入乱序,将对话行为的顺序重新随机分配。
  • 对于输入大小,我们根据输入中的对话行为数量创建了子种群。
  • DA number Frequency English
    1 5049
    2 2517
    3 1328
    4 469
    5 335
    6 256
    7 46

    我们还根据对话行为的类型对测试数据进行了拆分,该类型由数据集中的基数表示。

    DA type Frequency English
    2 1397
    3 983
    4 1027
    5 958
    9 72
    10 1024
    11 1246
    12 500
    13 2078
    15 715
    拆分动机

    泛化性和鲁棒性。

    开始任务

    资源指南

    过去的结果

    历史结果

    测量的模型能力

    表面实现和组合性。

    指标

    BLEURT,BLEU,ROUGE

    提议的评估

    原始论文关注对话状态预测任务而不是对话响应生成,因此没有提出任何一组指标。

    以前的结果是否可用?

    数据集策划

    原始策划

    原始策划理由

    以前的多领域任务导向对话数据集未能充分捕捉虚拟助手领域的真实挑战,因为它们只涵盖了少量的领域,并假设每个领域只有一个静态的本体。SGD数据集的创建旨在涵盖17个领域,其中包括超过1.6K个对话,并且大多数领域中包含多个不同的API,其中许多API具有重叠的功能但具有不同的接口,这反映了常见的真实场景。可用的各种各样的注释可以用于大规模虚拟助手中的意图预测、槽填充、对话状态跟踪、策略模仿学习、语言生成、用户模拟学习等任务。

    交际目标

    生成目标话语的人想帮助用户完成任务,包括但不限于寻找航班、预订餐厅、搜索附近的事件和电影。

    是否从不同来源收集?

    语言数据

    语言数据的获取方式是什么?

    机器生成

    生成方法链接

    Github

    语言生成者

    各种对话概述首先由模拟器生成。对话模拟器通过对话行为使用概率自动机与服务进行交互以生成对话概述。它由两个代理扮演用户和系统的角色,使用指定对话轨迹的概率自动机相互交互。值得注意的是,模拟自动机不包括任何领域特定约束:所有领域特定约束都在架构和情境中编码。

    然后,对话改写框架将模拟器生成的概述转换为更自然的对话。用户在对话过程中可能以不同的方式引用对话行为中的槽值,例如,“洛杉矶”可能会用“LA”或“LAX”引用。为了引入槽值的这些自然变化,将不同的槽值替换为随机选择的变体,同时在对话中对槽值保持一致。然后,使用一组手动定义的操作到文本模板,将操作转换为伪自然语言话语,然后将该轮次中的不同操作产生的结果话语连接在一起。

    涵盖的主题

    该数据集涵盖以下领域: Alarm, Banks, Buses, Calendar, Events, Flights, Homes, Hotels, Media, Messaging, Movies, Music, Payment, RentalCars, Restaurants, RideSharing, Services, Train, Travel 和 Weather。领域“Service”包括沙龙、牙医、医生等。“Alarm”、“Messaging”、“Payment”和“Train”领域仅在开发集或测试集中出现以测试对新领域的泛化。

    数据验证

    未经验证

    数据是否经过筛选?

    未筛选

    结构化注释

    是否有其他注释?

    众包

    评定人数

    未知

    每个培训示例的评定人数

    0

    每个测试示例的评定人数

    0

    注释服务?

    未知

    注释值

    通过上述步骤转换的对话被发送给众包工作者以进行更自然的语言改写。一个众包工作者负责将对话的所有话语改写为确保自然性和连贯性。要通过字符串匹配找回插槽的跨度索引,众包工作者被要求完全重复话语中的槽值。

    是否有质量控制?

    同意

    是否有同意政策?

    使用数据的理由

    虽然没有报告政策,但我们假设在数据收集过程中确实有一个政策。

    个人身份信息(PII)

    包含PII吗?

    不包含PII信息

    为什么没有PII信息

    SGD数据集不使用身份类别,也不包含敏感数据。

    维护

    是否有维护计划?

    更广泛的社会背景

    数据集的社会影响的以前研究

    基于数据的模型的使用情况

    没有

    对服务不足社区的影响

    是否满足了服务不足社区的需求?

    偏见讨论

    有记录的社会偏见吗?

    语言生成者是否代表了语言?

    由于自动生成和众包改写的组合特性,语言可能非常公式化。虽然对于模型部分(即我们可能真的希望自动化代理形成公式化的响应),模拟的客户的输入话语可能不包含英语的整个范围。

    使用数据的注意事项

    PII风险和责任

    许可证

    数据集的版权限制

    开放许可证- 允许商业用途

    语言数据的版权限制

    开放许可证- 允许商业用途

    已知的技术限制

    技术限制

    各个领域的对话分布不均匀,其中航班领域有3644个对话,而付款领域只有222个对话。此外,所有对话都是由众包工作者改写的,可能存在具有不同文化背景的众包工作者会呈现出有偏见的意见。

    不适用的应用程序

    由于初始数据是自动生成的,实体名称的覆盖范围必然是有偏的。因此,需要在更真实的环境中评估代理程序。