本文主要是介绍论文略读 | MultiWOZ - A Large-Scale Multi-Domain Wizard-of-Oz Dataset for Task-Oriented Dialogue Modelli,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
面向任务型对话建立的大规模多域数据集
1. 数据集介绍
(1)基本信息
- 面向多个domains和topics
- fully-labeled
- human-human written conversations
- size: 10k(复杂性和丰富的语言变化)
- 标记了 dialogue belief state 和 dialogue actions,每段对话都注有一系列对话状态和相应的系统对话行为。
- 提供了数据收集程序的详细描述以及数据库结构的摘要和数据统计的一系列分析的介绍。数据完全通过众包收集,无需聘请专业的注释人员。
- 提供了一套benchmark 结果,包括belief tracing, dialogue act 和response generation,以此来展示数据集的可用性,并为未来的研究奠定了基础。
2. 相关工作
(1)之前的数据库分类(基于结构化注释方案是否用来标记语义?):
- 具有结构化语义标签的语料库
- 没有语义标签担忧隐含的用户目标的语料库
(2)之前的数据库存在的问题:
- 通常被限制在一个或多个维度中,例如缺少适当的注释,数据量较小,缺少多域用例(multi-domain use cases),具有可忽略的歧义性(??)。
(3)数据集收集方法:
现存在的对话数据集可以简单的分为三类:机器—机器,人—机器,人—人
-
机器—机器:通过对话模板产生的对话数据。缺点:对话多样性(单一领域,数据自然性完全依赖于用户和系统的设置)、鲁棒性(没有考虑真实环境下的噪声情况)
-
人—机器:通过收集人于对话系统之间交互的历史得到数据。问题:这样的数据首先得有一个良好的系统,但这个系统的构建有需要数据,这样就出现了鸡生蛋蛋生鸡这样的问题。(例如Let’s Go信息系统以及DSTC)
-
人—人:通过人与人之间对话的记录来作为对话数据。(例如Twitter,Reddit,Ubuntu语料库)问题: 由于这样的数据没有对话的目的存在,因此在生成一致性、多样性的评价是十分困难的。
-
本文涉及的数据收集方法:修改WOZ框架使其适合众包。(Frame语料库–用于旅行预定领域;车载导航语料库),尽管和其他人机收集的数据集相比,这些数据集包含高度自然的对话,但它们通常很小,只有有限的域覆盖范围。
3. 数据收集方法
使用WOZ框架,用众包方式收集。
emm突然想起来我前天看了这篇论文的,在通天塔上有它的翻译,虽然翻译质量不太好。但是没记录就忘了,还是自己再读一遍记一下吧
(1)对话任务
任务型对话的domain
通常由ontology
(后端数据库的结构化表示)定义。ontology(本体)
定义了所有实体属性slots
以及每个slot
的可能值。通常,slot
可以分为informable slots
和requestable slots
。informable slots
是允许用户约束搜索的属性(e.g., area or price range),requestable slots
表示用户对给定实体可请求的额外信息(e.g., phone number)。基于给定的跨越多个域的本体,通过随机采样为每个任务产生一个任务模板。这样可以生成单域和多域对话场景并生成域特定约束。在允许这样做的域中,一个额外的预定需求以一定概率被采样。
为了生成更真实的对话,数据收集中鼓励目标变更。有一定的概率,任务的初始值设置在数据库中不存在,一旦发生这种情况,用户只需采用使用提供替代值的目标。
(2)用户端(用户请求侧)
为了向用户提供信息,每个任务模板都映射到自然语言。使用启发式规则,将任务逐步引导给用户以防止信息溢出。呈现给用户的目标描述取决于已经执行的turn(就是标签标定的目标是之前话语的目标??)。如果要求用户执行子任务(例如,预定场地),则直接在在给定域的主目标后展示子目标。(??)
图一展示了一个跨越两个域的预定任务。通过隐式提及目标中的一些slot
,实现将对照和词汇蕴含自然地纳入到对话中。
(3)系统端
系统端提供用户查询的信息。
(4)对话行为注释
定义对话行为的集合和结构,通常对话行为包括意图(例如请求或通知)和slot-value
槽值对,例如一个行为inform(domain=hotel,price=expensive)
意图是inform
,用户通知系统将搜索约束到昂贵的酒店
(5)数据质量
数据收集分两步:
- 首先,收集所有对话,然后启动注释过程。这种设置允许对话行为注释器发现收集的对话中的很多错误。
- 然后,进行了额外的测试以确保对话中提供的信息与预定目标相匹配
4. 数据集
(1)概述
- 主要目标:在旅游城市的信息中心获取旅游者查询的高度自然对话
- 涉及领域(domain):
Attraction, Hospital, Police, Hotel, Restaurant, Taxi, Train
,其中后四个域属于扩展域,包括子任务Booking
。 - 每段对话涉及1-5个领域,因此长度和复杂性差别很大。
- 数据集中的全部本体如下图所示。上角标表示它们分别属于哪个域。展示有哪几种act以及总的slot。
(2)数据集数据
- 10438个对话
- 对话中句子数量(单域/多域)及每个句子长度(用户/系统)的分布。
可以看到,大约70%的对话超过10个回合,这显示了语料库的复杂性。响应也更加多样化,从而能够训练更复杂的生成模型。 - 左图展示了语料库中注释的对话行为的分布,优图展示了每个
turn(回合)
中动作的分布,几乎60%的对话turn有不止一个对话行为。这对基于强化学习的模型提出了新的挑战。
(3)数据结构
- 3406个单域对话+7032个多域对话
- train_set = 1k, development sets = 1k,每个对话包含一个目标
goal
,多个用户和系统话语,以及一个信念状态belief state
和每回合(turn)的acts+slots。此外,还添加了自然语言中的任务描述。
(4)和其他语料库比较
DSTC2 | SFX | WOZ2:0 | FRAMES | KVRET | M2M |
---|---|---|---|---|---|
2014a | 2014 | 2017 | 2017 | 2017 | 2018 |
总对话数,每回合平均token数和unique token数最多,特别是后者,它与语言的丰富性直接相关。
5. MultiWOZ 作为一个新的benchmark
从dialogue state tracking(对话状态追踪)
, dialogue-act-to-text generation(对话-动作到文本的生成)
, and dialogue-context-to-text generation(对话-文本到文字的生成)
三个方面报告基准测试结果。(??)
(1)对话状态跟踪
由于新数据集的复杂性和丰富的语言变化,准确率低于原数据集。
(2)对话管理和响应生成
对话管理和响应生成的综合表现完全独立于信念跟踪
通知实体正确率以及成功率远低于原数据集的原因是新数据集中的对话一般都含有两个领域的内容,因此在这两项指标上远远落后于原模型;在BLUE得分上落后的原因主要是生成语言的多样性导致的。
(3)自然语言从结构化表示生成
自然语言从结构化表示生成,通过系统行为的附加注释,MultiWOZ作为从结构化表示研究自然语言生成的新标准。与SFX
数据集进行比较(大于5k对话行为和自然语言句子对组成),直接将对话行为作为输入来进行自然语言的生成。
指标低于原模型的原因可能是新数据集中超过60%的对话每轮至少包含两个对话动作,影响了原模型的评价。
总结
代码实现(搬运工):https://github.com/budzianowski/multiwoz
参考(第五章实在读不懂了):https://zhuanlan.zhihu.com/p/47294895
解析器(怎么用这个数据集啊??):https://github.com/jojonki/MultiWOZ-Parser
这篇关于论文略读 | MultiWOZ - A Large-Scale Multi-Domain Wizard-of-Oz Dataset for Task-Oriented Dialogue Modelli的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!