实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读

本文将回顾平安人寿近期在 PaperWeekly 直播间进行的主题为「DSTC 8“基于 Schema 的对话状态追踪”竞赛冠军方案解读」的技术分享,由平安人寿 AI 团队高级算法工程师马跃老师主讲。

在 2019 年第八届对话系统挑战赛(DSTC 8)中,平安人寿 AI 团队斩获包括 “Track4:基于 Schema 的对话状态追踪”在内的三项赛事世界第一,并受邀在 AAAI 2020 workshop 发表论文。

在该赛事中,平安人寿 AI 团队提出了一个对话状态追踪框架 PA-DST,基于阅读理解模型和 Wide & Deep 模型、综合深度语义特征、特征工程和数据增强等技术,完成多领域的对话状态追踪。

本期直播视频回放:

https://www.bilibili.com/video/BV1ha4y1Y7x1

 

以下是该方案的技术细节详解。

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第1张图片


比赛介绍

 

对话系统挑战赛 DSTC 由微软、卡内基梅隆大学的科学家于 2013 年发起,旨在带动学术与工业界在对话技术上的提升,在对话领域具有极高的权威性和知名度,迄今已举办了 8 届。比赛结合时下最前沿、最具挑战性的对话系统技术问题设置比赛任务,本届比赛吸引了全球超百支来自知名企业、顶尖大学及研究机构的代表队伍参与。

▲ 图1 : 平安人寿AI团队斩获DSTC 8 Track4赛事冠军

 

平安人寿 AI 团队在 DSTC 8 中斩获“基于 Schema 的对话状态追踪”、“端到端的问答预测”以及“面向多领域端到端对话系统”三项赛事世界第一。

本次分享赛题为“基于 Schema 的对话状态追踪”,该赛题任务为跨领域的多轮对话状态追踪,包括对 Zero-shot 领域的对话追踪任务。为此,团队创新性提出了端到端对话状态追踪框架,融合学术前沿深度模型和工业的特征工程来解决对话状态追踪问题。

 

1.1 背景简介

对话状态追踪(Dialogue State Tracking, DST)是人机对话领域的一个重要问题,其目的是识别当前时刻用户的对话状态(意图和槽位填充信息),其结果作为对话系统的动作生成依据。当前 DST 的核心难点在于跨领域的状态继承和 Zero-shot 领域的 DST 任务。此次 DSTC 8 “基于 Schema 的对话状态追踪”任务也是基于此背景提出。

 

1.2 任务介绍

本次任务围绕多领域人机交互的 DST 进行,提出的模型需要对每一个用户轮次的用户状态进行预测,准确识别领域中每个槽位填充的具体信息。该任务对每一个领域服务均给出了一个 Schema,通过这个 Schema 完成意图和槽位的定义。以 Travel 为例,具体定义如下:

a)领域描述:一句自然语言描述当前领域,如 The biggest database of tourist attractions and points of interest

b)意图集合,以 FindAttractions 意图为例,有:

  • 意图名称:FindAttractions

  • 意图描述:一句自然语言描述当前意图,如:Browse attractions in a given city

  • 必须填充的槽位集合:完成这个意图必须填充的槽位

  • 可选槽位集合:非必须填充槽位

c)槽位集合,对于每一个槽位,有以下信息:

  • 槽位名称,如 number_of_person

  • 槽位描述:一句自然语言描述当前槽位,如:Number of people to find tickets for

  • 是否可枚举:不可枚举槽位的取值为对话上下文的片段;可枚举槽位的取值只能为 Possible_values 中的一个

  • Possible_values:如果为可枚举槽,则有一个预定义好的槽值集合,如 [1,2,3,..,9];如果为不可枚举槽,则无该字段。

通过上述的信息,完成了对服务的定义。在每一个用户的轮次,模型在指定的领域内,需要预测的具体内容如下:

  • 已知的所有必须填充槽位的槽值

  • 如果为不可枚举槽位,且槽值位于当前用户的表达内容中,还需要给出槽值在用户表达中的具体起止位置信息

 

1.3 比赛挑战

本次任务的难度较大,一方面,多领域人机对话中,不同领域的槽位是有继承性的,如地点槽位(如:机票预订的目的地和宾馆的城市);另一方面,需要考虑对 Zero-shot 服务的迁移性,在测试中,会出现大量全新的领域,他们在训练集中没有对应的训练数据。

综合这两个方面,模型需要摆脱传统 DST 中所有槽位都是预设好的限制,从继承性和迁移性两个方面进行全新设计。

 


解决方案介绍

2.1 可枚举槽位 vs. 不可枚举槽位

对于可枚举槽位,因为它是使用了原文的一个对话片段来作为槽值,并且在数据中能够直接获取当前槽值在原文中的位置信息,我们使用了阅读理解的模型(MRC-DST)来解决这类问题。

 

对于不可枚举槽位,由于它的槽值不是原文中的一个直接片段,而是需要经过语义理解和归一化得到,因此无法使用阅读理解模型来解决。针对这类槽位,我们使用分类模型来进行建模,利用大规模预训练模型来建立深度语义表示,同时,利用规则、正则之类的辅助方法抽取出语义离散特征。

综合深度和离散两类特征,建立了一个 Wide & Deep 的分类模型(WD-DST)来解决这类槽位的追踪问题。

 

整体建模思路如图2。

 

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第2张图片

▲ 图2 : 整体结构

 

2.2 MRC-DST

模型结构如图3所示。

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第3张图片

▲ 图3 : MRC-DST模型结构,包括两部分输入,对话历史上下文信息和问题(槽位描述)

 

模型的输入包括两部分:

 

第一部分为整个对话的上下文信息,对于不同角色的表达,我们使用了 User 和 System 标签来区分,分别加在每个角色表达的内容头部,再进行拼接,得到整个对话历史 S;

 

第二部分为需要预测的槽位的描述 D,即 Schema 中提供的槽位自然语言描述。因为在开发集、测试集中,会存在一些 Zero-shot 的领域和槽位,如果只使用槽位名字来作为输入,那么整个模型的通用能力就会下降,因为可以互相继承的槽位他们取名之间的关联性并不大。

例如在机票预订服务中,关于人数的槽位被命名为 number_of_ticket,而在火车票预订中,表示人数的槽位则被命名为 number_of_seat,只有通过更加详细的解释,才能够确定他们是表达同一个意思的槽位,在多领域交叉进行交互的时候,才能被继承。

在一般的 MRC 解决方案中,输入的问题常常是问句形式存在的,但在状态追踪任务上,我们使用了槽位的描述来替代传统 MRC 中的“问题”,省去了构造传统问题的步骤。

参考 BERT-like 模型的拼接方式,得到最终的输入 (注:XLNet 的输入中 位于末端)。模型的输出包括两部分:

第一部分为 Answerable Indicator(槽值存在指示器),其功能是指示当前计算的槽位,是否能在上下文中找到答案片段。因为在交互过程中,并不是每个槽位都会被提及,因此需要设置一个答案指示器 ,来筛选出能够找到槽值的槽位。

第二部分包括一个答案起止位置向量 和结束位置向量 如果 Answerable Indicator 指示当前槽位有答案,则进行该部分计算。在两个向量中,找到概率最大的起止位置,从输入的对话历史中截取对应的文本片段作为最终的槽值。

模型的计算过程如下:

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第4张图片

模型基于 XLNet 得到的深度语义表示,计算槽值存在指示器和起止位置向量。假设真实的槽值存在性为 ,真实答案片段的起止位置向量为为 。使用两个部分中三个 Loss 共同指导模型训练:

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第5张图片

 

2.3 WD-DST

模型结构如图4所示

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第6张图片

▲ 图4 : WD-DST模型结构,包括三部分输入,对话历史上下文信息、问题(槽位描述)与需要判断的槽值、离散特征

 

模型包括三部分输入,第一部分和 MRC-DST 一致;第二部分与 MRC-DST 的输入有一些差别。在这里除了使用槽位描述之外,还会对拼接上当前需要判断的槽值;

第三部分为抽取到的离散特征,在这里我们抽取了包括槽值是否在对话历史中、槽值的同义片段是否在历史中、用户表达的语气、用户是否表疑问等一系列统计特征来刻画对话历史。

模型的目标是判断当前输入的槽值,是否正确。最上层使用了一个全连接神经网络来计算最终的得分。面对一个槽位的多个候选值,我们选取得分最高的一个作为最终槽值。整个模型使用真实的槽值标签与输出计算误差进行训练,具体的计算过程如下:

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第7张图片

2.4 数据增强

一个值得一提的小技巧是数据增强,我们使用了业界的翻译 API 和文本 API,对可枚举槽位的槽值内容进行了同义拓展,从而提升了模型和特征工程的泛化性。

例如“演出活动”服务中的“类型”槽位,某一个取值为 Theater,通过数据增强,可以得到如 Drama、Broadway、The stage 等同义表达,只要同义片段被判定为最终答案,即等价于 Theater 为最终答案。

 

2.5 模型拓展与思考

在实验的过程中,我们也发现了一些有意思的点,这里也列举出来供参考:

  • 当决策性信息处于上下文末端时(一般为用户表达的最后一句话提及了槽值信息),MRC 和分类模型都容易预测错误。针对这个现象,我们直接将用户表达的最后一句话复制并拼接在末端的方法来解决,相当于直接把上下文有效内容前置。

  • 数据预处理中,我们使用统一的标签来替换具有干扰性的信息,如电话号码。

  • 同一个模型,不同次 Fine-tuning,他们的错误 case 不同。针对这个问题,使用最简单的 Ensemble 想法来解决,使用多个模型投票的策略来确定最终槽值。

 


应用价值

 

基于寿险业务场景需求,平安人寿 AI 团队重点攻关对话式机器人技术。目前,对话式机器人作为平安人寿智能转型的利器之一,在客户服务和代理人赋能两大业务体系中已大规模落地,覆盖招聘、培训、销售支持、客服等业务场景,并将持续发挥价值。

 

平安人寿 AI 团队此次参赛所应用到的创新技术,在实际业务场景中,可支持多领域的客服系统、人机对话平台的对话管理等技术应用,对搭建寿险垂直领域的对话系统起到重要推动作用,能大幅提升对话式机器人的响应效率和服务体验。

 

参考文献

[1] Gao et al. "Dialog state tracking: A neural reading comprehension approach." arXiv 2019.

[2] Wu et al. "Transferable Multi-Domain State Generator for Task-Oriented Dialogue Systems" ACL 2019.

[3] Chao and Lane, "BERT-DST: Scalable End-to-End Dialogue State Tracking with Bidirectional Encoder Representations from Transformer", INTERSPEECH 2019.

[4] Cheng et al. "Wide & deep learning for recommender systems", Proceedings of the 1st workshop on deep learning for recommender systems. 2016.

[5] Rastogi et al. "Towards scalable multi-domain conversational agents: The schema-guided dialogue dataset." arXiv 2019.

[6] Zhang et al. "Find or classify? dual strategy for slot-value predictions on multi-domain dialog state tracking." arXiv 2019.

[7] Ma et al. "An end-to-end dialogue state tracking system with machine reading comprehension and wide & deep classification." AAAI 2020 DSCT 8 Workshop.

更多阅读

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第8张图片

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第9张图片

实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读_第10张图片

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:[email protected] 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

你可能感兴趣的:(实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读)