Press "Enter" to skip to content

CrossWOZ,一个大规模跨领域中文任务导向对话数据集

2018  年,任务导向对话数据集  MultiWOZ  横空出世,并被评为当年  EMNLP  最佳资源论文。 由于其大规模多领域的特点,引发了任务导向对话领域新的一轮发展热潮。

 

为了进一步推动多领域(特别是跨领域)的研究以及填补中文任务导向对话数据的空白, 清华大学计算机系、人工智能研究院 CoAI 小组构建了 CrossWOZ,一个大规模跨领域中文任务导向对话数据集。 论文已被 Transactions of the Association for Computational Linguistics (TACL) 接收。

 

论文链接: https://arxiv.org/abs/2002.11893

 

数据和代码: https://github.com/thu-coai/CrossWOZ

 

 

▲  CrossWOZ的一个对话片段,具体酒店名字被A,B,C替代

 

相比于之前的任务导向对话数据集(特别是MultiWOZ),CrossWOZ有三大特点:

 

1. 在对话中,用户在某个领域的选择可能会影响到与之相关的领域的选择。如上面的这个例子,用户选择了北京欢乐谷作为景点领域的结果,那幺之后选择的酒店就要在它附近。不同的景点选择会对酒店产生不同的约束。这种跨领域约束随着对话的进行而具体化,需要对话双方都能对上下文有更好的理解,因而更具有挑战性。

 

2. 这是第一个中文大规模多领域任务导向对话数据集,包含 6K 个对话,102K 个句子,涉及 5 个领域(景点、酒店、餐馆、地铁、出租)。平均每个对话涉及 3.2 个领域,远超之前的多领域对话数据集,增添了对话管理的难度。

 

3. 标注信息全面,可以用于研究任务导向对话系统中各个方面。除了提供对话双方的对话意图、系统端的对话状态这些信息之外,还额外提供了每轮用户端的对话状态。用户端状态记录了目标的完成情况,每轮根据系统回复动态更新,可用于研究用户模拟器的搭建。

 

 

数据收集过程

 

收集数据时模拟的对话场景是一名游客向系统咨询北京的旅游信息,分为以下几个步骤:

 

1. 领域数据库构建:从网络上爬取了北京的景点、酒店、餐馆信息,以及这些地点的邻近关系。同时这些地点附近的地铁站组成了地铁数据库。出租领域无需数据库。

 

 

▲  数据库统计信息

 

2. 用户目标生成:通过随机采样的方式生成各领域的目标。如下表,有值的表示约束条件,没有值的表示需求信息,粗体的表示跨领域的约束,用占位符表示。这个例子里用户要找一个免费的景点及其附近一家提供叫醒服务的酒店,并预订一辆从景点到酒店的出租。

 

 

▲  用户目标示例

 

3. 对话数据收集:雇佣人员在线匹配进行实时对话。用户端以用户目标作为初始状态,通过对话获取信息,每轮更新用户状态,填写需求的信息和替换跨领域的约束。并选择本轮要表达的约束或者要询问的信息。系统端每轮维护各个领域的查询表单作为系统状态,根据查询结果回复用户。

 

4. 数据处理:使用一些规则根据用户和系统的状态推导出对话意图。经过三个专家对少量对话的核验,数据标注质量较高。

 

 

数据统计

 

将对话分成五种类型:单领域 S,多领域 M,多领域加交通 M+T,跨领域 CM,跨领域加交通 CM+T。交通代表了地铁和出租领域,M 和 CM 的区别是有没有跨领域的约束。

 

统计信息如下表。可以发现含有跨领域约束的对话 (CM,CM+T) 会导致更多的系统多次查找 (Multi-query)、找不到结果 (NoOffer)、用户自主修改目标 (Goal change) 的情况。

 

 

 

基线模型

 

由于丰富的标注信息,CrossWOZ 数据集可用于多种任务的研究。依托于 ConvLab-2 对话平台,我们提供了 NLU、DST、Policy、NLG 的基线模型以及 user simulator,部分结果如下表。实验说明跨领域的约束对各个任务都有挑战性。

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注