文章采集组合工具(第二期,任务导向对话受到了越来越多的关注(组图))

优采云 发布时间: 2022-02-28 10:22

  文章采集组合工具(第二期,任务导向对话受到了越来越多的关注(组图))

  近年来,面向任务的对话越来越受到关注,涌现出许多数据集和基于神经网络的模型。在AI时代博士对话系统第二期*敏*感*词*,我们邀请了清华大学计算机系2018级博士生、交互人工智能组成员朱琦介绍最新研究成果.

  为了推动多领域对话的研究,填补中文数据的空白,朱琦和他的团队提出了中文第一个*敏*感*词*的面向任务的对话数据集CrossWOZ,文章发表于TACL 2020。此外,为了对各种形式构建的对话系统进行统一的端到端评估,开发了ConvLab-2对话平台,支持最新模型对话系统的快速构建、评估和诊断,并被 ACL 2020 演示轨道接受。特别提醒:今年的 DSTC9 比赛也将使用 ConvLab-2 和 CrossWOZ!小伙伴们不心动吗?

  

  一、回顾面向任务的对话系统

  一个典型的基于流水线的面向任务的对话系统由四个模块组成:

  - 自然语言理解(NLU):识别来自用户的自然语言描述,并将其解析为结构化信息;

  - 对话状态跟踪(DST):更新当前对话的状态,与背后的数据库或知识库进行交互,查询符合用户条件的实体;

  - 对话策略(DP):根据当前对话状态,选择系统下一步需要回复的结构化信息

  - 自然语言生成(NLG):将接收到的结构化信息转换为自然语言并反馈给用户。

  

  图:典型的流水线方法面向任务的对话系统框架

  现实生活中的对话并不局限于单一领域,人们可以轻松地在不同场景之间来回切换,同时仍然保持上下文连贯性,例如下图中从景点到酒店场景的转换,其中酒店由景点决定。用户根据系统推荐的内容选择结果,根据结果修改其他字段的约束。因此,本文提出了CrossWOZ,这是第一个*敏*感*词*的中文多领域面向任务的对话数据集。

  

  你好哇,我要去一个评分为 4.5 或更高的景点。

  *敏*感*词*城楼、簋街小吃、北京*敏*感*词*都是很不错的地方。

  

  

  我喜欢北京*敏*感*词*,你知道这个景区附近有什么酒店吗?

  有很多,有A酒店,B酒店,C酒店。

  

  请输入文字

  图:涉及两个域的对话示例

  二、CrossWOZ 数据集

  一种)

  特征

  首先,CrossWOZ具有中国特色,涉及领域多,平均每轮对话涉及3个领域。并且对话轮数更长,每个槽(slot)有更多可能的值,这对分类器意味着更大的挑战。

  

  表:与其他面向任务的语料库(训练集)的比较

  其次,挑战域间依赖关系。MultiWOZ 对话从预先指定的约束开始,例如要求酒店和景点位于城镇中心,以后无法修改。CrossWOZ的跨域约束更加自然,是对话开始后动态决策的过程。系统推荐和用户选择都会动态影响不同领域的数据流。

  

  表:MultiWOZ、Schema 和 CrossWOZ 中的跨域对话示例。跨域约束(粗体)的值带下划线。

  最后,标注信息丰富。该语料库为用户侧和系统侧的对话状态和对话行为提供了丰富的标注,为对话状态跟踪、策略学习等跨领域对话建模研究提供了新的实验平台。

  

  左:用户状态由用户目标初始化的对话框示例。右:管道用户模拟器(左)和面向任务的对话系统(右)。实线表示自然语言级别的交互,虚线表示对话行为级别的交互。

  b)

  数据采集

  1)建立数据库

  首先,从网上爬取旅游信息,包括酒店、景点、餐馆。然后,利用上述实体对应的地铁信息建立地铁数据库。最后,*敏*感*词*不需要建数据库,调用API即可。

  

  表:数据库统计。注 * 表示酒店服务有 37 个二进制时隙,例如叫醒服务。

  2)目标生成

  设计一个基于数据库的多域目标*敏*感*词*。建立跨域约束的方式有两种:一种是利用邻近关系,另一种是利用往返两地的*敏*感*词*或地铁信息。

  

  表:用户目标示例

  3)对话合集

  MultiWOZ 雇用人员进行异步对话,每个人只贡献一轮,因此采集到的对话可能不连贯,因为工人无法正确理解上下文。CrossWOZ 开发的特殊网站 可以让两个人直接进行同时对话并在线标记信息。

  每次轮到用户都需要根据系统的响应填写用户状态,然后选择一些代表对话行为的语义元组,将它们组合成相关的话语。鼓励用户在当前约束下没有结果时放松约束,例如用付费景点代替免费景点。一旦目标完成(用户状态中的所有值都被填充),用户可以终止对话。

  

  图:用户侧标注系统示例,中间是用户状态。

  系统端涉及到数据库查询的操作,需要根据用户输入的单词填写查询,必要时搜索数据库,选择检索到的实体,用自然语言回复。如果没有实体满足约束,还会尝试询问用户是否放宽某些约束。

  

  图:左边是数据库明细,中间是查询结果区,即状态记录表(查询表),每个字段独立查询,最后写一个自然语言语句

  4)对话标注

  在采集到对话数据后,使用一些规则对对话行为进行自动标注。每个句子可以有多个对话动作,表示为由意图、域、槽和值组成的元组。为了验证对话行为和状态(包括用户和系统状态)的标注质量,聘请了3位专家对50个对话进行人工标注,发现自动标注的准确率很高。

  C)

  语料库统计

  首先,从数据集情况来看,平均字段数更多,轮数也更长。

  

  根据不同的用户目标,数据分为5类,分别统计。

  

  可见,跨域约束更容易查询失败,需要查询的次数也更多,因此更具挑战性。

  

  左:训练集中不同目标类型的对话统计。右图:训练集中不同目标类型的对话长度分布。

  d)

  基准

  CrossWOZ 数据集适用于各种面向任务的对话系统模块。本研究提供了几类基准模型,包括自然语言理解、对话状态跟踪、对话策略学习、自然语言生成和用户模拟。这些模型是使用 ConvLab-2 实现的,这是一个面向任务的对话系统的开源工具包。此外,还提供了一个基于规则的用户模拟器,用于训练对话策略和生成模拟对话数据。基准模型和模拟器可以极大地方便研究人员在 CrossWOZ 语料库上比较和评估他们的模型。从对话动作 F1 值和关节状态准确率(精确匹配百分比)等预测结果可以看出,跨域约束对每个任务模块都具有挑战性,

  

  表:基准模型的性能

  由于涉及相关域之间转换的意图识别的准确性较低,因此需要更有效地使用上下文信息。

  三、ConvLab-2 对话平台

  下面介绍 ConvLab-2 开源工具包,该平台是研究人员可以使用最先进的模型构建面向任务的对话系统、执行端到端评估和诊断系统缺陷的平台。ConvLab-2 继承了 ConvLab 的框架,但集成了更强大的对话模型,支持更多的数据集。

  此外,朱琦团队还开发了分析工具和交互工具,帮助研究人员诊断对话系统。分析工具提供丰富的统计数据和图形显示,并汇总模拟数据中的常见错误,便于错误分析和系统改进。交互工具提供了一个用户模拟器界面,允许开发人员通过与系统交互和修改系统组件的输出来诊断组装的对话系统。与人类对话评估相比,模拟器评估成本更低。

  

  右图:顶部的方框显示了构建对话系统的不同方法

  整体框架如图所示,每个模块都提供了一个基准模型,研究人员也可以构建自己的模型。

  

  ConvLab-2 为对话系统中的每个可能组件提供以下模型。与 ConvLab 相比,ConvLab-2 中新集成的模型以粗体标记。研究人员可以通过实现相应组件的接口轻松添加自己的模型。朱奇团队也将不断加入最新模型,体现任务导向对话的前沿进展。

  

  从本地端到端评估结果来看,基于传统管道规则并辅以自然语言理解模块的神经网络结构运行良好。

  

  一种)

  分析工具

  为了评估对话系统,ConvLab-2 提供了一个分析工具,该工具使用用户模拟器执行端到端评估,并生成收录模拟对话的丰富统计数据的 HTML 报告。分析工具还支持在与同一用户模拟器交互的不同对话系统之间进行比较。

  

  下图显示了哪些域更容易出现无休止的对话循环。

  

  图:系统性能演示

  从统计分析的结果可以看出常见的错误,比如NLU模块误解了用户对话行为的字段,将用户对酒店字段中的邮政编码Postcode、地址和电话号码的请求解释为其他字段进行解析。由于最初的领域混淆和不正确的意图识别,后来的对话策略生成不正确。

  

  表:酒店业部分业绩介绍

  b)

  互动工具

  ConvLab-2 还提供了一个交互式工具,使研究人员能够通过图形用户界面与对话系统进行交互,观察各个模块的输出,并纠正系统错误。

  

  下面是一个demo,研究人员可以通过修改其中一个模块的输出来检查忽略某个模块的错误后对话系统是否可以正常运行。

  

  图:交互工具界面

  您还可以访问 colab 环境以获得更深入的体验。

  

  图:示例代码

  问答互动

  最后跟大家分享一下直播结束后你和嘉宾在微信群里的一些互动。

  

  你是怎么找到这么多训练数据的?

  CrossWOZ 是人工构建的。也可以考虑机器生成/机器生成+人工重写的思路,可以参考论文Towards Scalable Multi-domain Conversational Agents: The Schema-Guided Dialogue Dataset。

  

  

  DSTC9 中的端到端任务将在哪些方面评估模型?

  与去年大致相同,可以参考去年评估的论文Results of the Multi-Domain Task-Completion Dialog Challenge

  

  

  文章提到的informable slot的定位是什么?

  informable 是一个可能成为用户约束的槽。有些槽只有查询数据库的系统才能知道,例如地址、价格等。这些用户无法告诉他们。

  

  整理:鸽子

  审稿人:朱琦

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线