【DST系列】DST概述

2020 年 10 月 14 日 AINLP

本文主要介绍DST的一些基本概念,包括DST的定义,状态表示、DSTC任务、挑战等,后续会介绍有哪些方法能够解决DST中问题,以及DST在小贝助手中的应用。

1. 什么是DST

通常对话系统都是基于pipeline的方式实现的,具体的流程图如下:

整个pipeline由四个模块组成:自然语言理解、对话管理、动作管理器、自然语言生成。

  • 自然语言理解(NLU):主要作用是对用户输入的句子或者语音识别的结果进行处理,提取用户的对话意图以及用户所传递的信息。

  • 对话管理(DM):对话管理分为两个子模块,对话状态追踪(DST)和对话策略学习(DPL),其主要作用是根据NLU的结果来更新系统的状态,并生成相应的系统动作。

  • 自然语言生成(NLG):将DM输出的系统动作文本化,用文本的形式将系统的动作表达出来。

本文的主题是对话状态追踪(Dialogue State Tracking, DST)。DST将历史所有的对话和NLU结果作为输入,输出其对当前对话状态的估计。比如在一个自动订餐系统中,我们的状态可以是用户想要的价格、美食类型、地点之类的,以及在对话过程中确定的一些状态和不确定的状态。对话状态追踪很困难,因为ASR和NLU错误很常见,一个错误可能导致系统误解用户,而且这个误解可能还无法纠正。同时,状态追踪至关重要,因为对话策略依赖于状态估计来选择动作。

2.问题定义

符号说明:

符号 说明
domain 领域
intention 意图
slot-value pairs 槽值对
St t时刻的状态
NLUt t时刻的意图和槽值对
Ut t时刻的消息或者话术
At t时刻系统的动作
Gt 用户目标,一般在任务型对话里面指的是用户已经表达了哪些需求,还有哪些需求没有表达,需要询问的

对话状态:是过去到现在对话内容的一个详细描述,能够为系统动作管理(DM)提供足够信息的一种结构化的数据。

对话状态追踪:作用是根据domain/intention 、slot-value pairs、Sk-1等来追踪Sk。简而言之,就是根据历史状态和当前nlu结果来追踪当前的状态。可以供DPL阶段学习策略(比如订餐时,是询问槽位(价格、食物类型)还是确定下单?)并完成NLG阶段的回复。

3.状态常见表示方法

状态表示主要有三种方式:

  1. 维护所有状态的一个分布,这种方式状态数呈指数增加。

  2. 使用状态分组状态分割减少追踪复杂度,不断的减少不确定性。比如下图价格已经确定。

  3. 假设不同槽值的转移概率是相互独立的,或者具有非常简单的依赖关系。这样就将状态数从意图和槽值数的指数减少到了线性。

比如有两个槽位,价格和位置。价格有5个可取的值,位置有20个可以可能值,按照第一种方式,每次都需要维护5*20=100个状态,是槽位值的指数级。按照第二种方式,如果价格确定后,只需要维护20个状态,反之亦然。按照第三种方式,假设槽位之前的独立的,只要给每个槽位单独维护状态就行,因此是5+20=25个。

下图是一个状态表示示意图,使用的是第一种方式的状态表示,只针对出现过的槽位记录状态。

4.DSTC介绍

对话状态追踪挑战(DSTC)是一系列持续不断的研究社区挑战任务。每个任务都会发布标有对话状态信息的对话数据,例如,给定当前对话所有对话历史记录,对用户所需的餐馆进行搜索查询。在每个挑战中,都留有部分数据用于评测DST。

DSTC 2013 是国际上第一届对话状态追踪任务的公开评测,由微软研究院,本田研究院和卡内基 · 梅陇大学联合组织。评测数据来自匹斯堡公车路线电话自动查询系统 3 年间的真实用户日志。评测提供 5 组训练集和 4 组测试集,分别用于测试以下四种情况:

  1. 有与测试集来自完全相同的 ASR、SLU 和对话策略的训练数据;

  2. 有与测试集来自完全相同的 ASR 和 SLU 的训练数据,但对话策略不同;

  3. 只有少量与测试集来自完全相同的 ASR、SLU 和对话策略的训练数据;

  4. 产生测试数据的 ASR、SLU 和对话策略均与产生训练样本的系统不同。

DSTC对DST的作用就相当于目标函数对机器学习任务的作用,真正起到了评估DST技术以及促进DST技术发展的作用。大部分的DST方法都是基于DSTC进行尝试的。

  • DSTC1: 在公交时刻领域中使用了人机对话。结果在SIGDIAL 2013的特别会议上介绍。

  • DSTC2&DSTC3: 在餐厅信息领域中使用了人机对话,评测假定用户的目标在对话过程中是可以改变的。结果在SIGDIAL 2014和IEEE SLT 2014的特别会议上介绍。

  • DSTC4:  在旅游信息领域使用了人与人之间的对话。结果在IWSDS 2015上发表。

  • DSTC5: 在旅游信息领域中使用了人与人对话,其中训练数据以一种语言提供,而测试数据则以另一种语言提供。结果在IEEE SLT 2016的特别会议上介绍。

  • DSTC6: 由3个并列的任务组成:面向目标的端到端的对话学习,端到端对话建模和对话中断检测。结果将在NIPS 2017之后的研讨会上介绍。

challenge type Domain Data Provider Main Theme
DSTC1 Human-Machine Bus Route CMU Evaluation  Metrics
DSTC2 Human-Machine Restaurant U. Cambridge User Goal Changes
DSTC3 Human-Machine Tourist Information U. Cambridge Domain Adaptation
DSTC4 Human-Machine Tourist Information I2R Human Conversion
DSTC5 Human-Machine Tourist Information I2R Language Adaptation
DSTC6 E2E Goal Open data for Task-orientend dailog MERL Adobe NAIST Naver Labs End-to-End technologies to Dialog Systems

主办方提出了 11 种评测指标和 3 种评测时机(schedule)作为参考,详细说明如下:

  1. Hypothesis accuracy: DST识别出的对话状态中最高置信度状态的准确率。此标准用以衡量首位假设的质量。

  2. Mean reciprocal rank: 1/R 的平均值,其中 R 是第一条正确假设在置信状态中的排序。此标准用以衡量置信状态中排序的质量。

  3. L2-norm: 置信状态的概率向量和真实状态的 0/1 向量之间的 L2 距离。此标准用以衡量置信状态中概率值的质量。

  4. Average probability: 真实状态在置信状态中的概率得分的平均值。此标准用以衡量置信状态对真实状态的概率估计的质量。

  5. ROC performance: 如下一系列指标来刻画置信状态中首位假设的可区分性

6-8:Equal error rate: 错误接受率(false accepts,FAs) 和错误拒绝率(false rejects,FRs)的相交点(FA=FR)。

9-11: Correct accept 5/10/20: 当至多有 5%/10%/20% 的 FAs 时的正确接受率(correct accepts,CAs)。

DSTC 2013 还提出了三种评测的时机,分别为:

  • Schedule 1: 每轮对话都做评估;

  • Schedule 2: 对于一个概念(slot-value pair),只有在这个概念被提及时才评估;

  • Schedule 3: 在每个对话结束时评估。

看出Schedule 2是比较符合实际情况的,某个槽位被提及才去评估它,如果没有提及一般是不会去修改状态的,区别于Schedule 1。而Schedule 3忽略了中间的过程对状态的影响。

现有的对话状态追踪的评测标准有一定的局限性。主要问题在于,上述评估机制完全基于结构化的语义和对话状态表示。而在真实的商业应用对话系统中,为了更大程度的满足用户的需求,往往会采用结构化表示和非结构表示相结合的方法。

5.DST难点

对话状态追踪(Dialogue State Tracking, DST) 是人机对话领域的一个重要问题,其目的是识别当前时刻用户的对话状态(意图和槽位填充信息),其结果作为对话系统的动作生成依据。当前 DST 的核心难点:

  1. 状态数非常多或者无限;
  2. 状态类型和值的多种表达方式;
  3. 新增领域和槽位;
  4. 跨领域的状态继承;
  5. Zero-shot 领域。

本文主要介绍了DST的一些基本概念,包括DST的定义,状态表示、DSTC任务、挑战等,后续会介绍有哪些方法能够解决DST中问题,以及DST在小贝助手中的应用。

作者介绍

王文彬,2018年毕业于中国科学院大学。毕业后加入贝壳找房语言智能部,主要从事NLP、强化学习和搜索推荐相关工作。

戳下面👇

语言智能部等你加入,工程&算法超多岗位!




由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方"AINLP",进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心


欢迎加入对话系统技术交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注对话系统

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
5

相关内容

DST ( Digital Sky Technologies) 为一家俄罗斯科技、投资公司,创始人为 Yuri Milner。2010 年,DST 将旗下邮件服务和投资职能拆分为 Mail.ru Group 和 DST Global 两家公司。 DST 曾投资过 Facebook、Twitter、Groupon、Airbnb、Spotify、Zynga、Flipkart、阿里巴巴、京东等知名科技互联网企业。
【EMNLP2020】自然语言生成,Neural Language Generation
专知会员服务
38+阅读 · 2020年11月20日
【神经语言生成:形式化,方法与评价,70页pdf】
专知会员服务
35+阅读 · 2020年8月8日
最新《机器学习理论初探》概述
专知会员服务
46+阅读 · 2020年5月19日
专知会员服务
155+阅读 · 2020年4月21日
[综述]基于深度学习的开放领域对话系统研究综述
专知会员服务
79+阅读 · 2019年10月12日
基于RASA的task-orient对话系统解析(一)
AINLP
16+阅读 · 2019年8月27日
NLP实践:对话系统技术原理和应用
AI100
34+阅读 · 2019年3月20日
博客 | 总结 | 对话系统中的口语理解(SLU)(一)
【小夕精选】多轮对话之对话管理(Dialog Management)
夕小瑶的卖萌屋
27+阅读 · 2018年10月14日
多轮对话之对话管理:Dialog Management
PaperWeekly
18+阅读 · 2018年1月15日
Arxiv
0+阅读 · 2020年11月27日
Neural Response Generation with Meta-Words
Arxiv
6+阅读 · 2019年6月14日
Arxiv
10+阅读 · 2018年2月9日
VIP会员
相关资讯
基于RASA的task-orient对话系统解析(一)
AINLP
16+阅读 · 2019年8月27日
NLP实践:对话系统技术原理和应用
AI100
34+阅读 · 2019年3月20日
博客 | 总结 | 对话系统中的口语理解(SLU)(一)
【小夕精选】多轮对话之对话管理(Dialog Management)
夕小瑶的卖萌屋
27+阅读 · 2018年10月14日
多轮对话之对话管理:Dialog Management
PaperWeekly
18+阅读 · 2018年1月15日
Top
微信扫码咨询专知VIP会员