任务型对话系统中状态追踪(DST)

前面写了对话系统中的SLU之领域分类/意图识别槽填充上下文LU和结构化LU以及NLG,DST是对话管理(DM)的一部分,而DM是任务型对话中至关重要的一部分。说个非严格的对比:如果把对话系统比作计算机的话,SLU相当于输入,NLG相当于输出设备,而DM相当于CPU(运算器+控制器)。

1. 简介

对话系统按功能来划分的话,分为闲聊型、任务型、知识问答型和推荐型。在不同类型的聊天系统中,DM也不尽相同。

1.1 闲聊型对话

闲聊型对话中的DM就是对上下文进行序列建模、对候选回复进行评分、排序和筛选等,以便于NLG阶段生成更好的回复;

1.2 任务型对话

任务型对话中的DM就是在NLU(领域分类和意图识别、槽填充)的基础上,进行对话状态的追踪(DST)以及对话策略的学习(DPL,下次分享),以便于DPL阶段策略的学习以及NLG阶段澄清需求、引导用户、询问、确认、对话结束语等。

1.3 知识问答型

知识问答型对话中的DM就是在问句的类型识别与分类的基础上,进行文本的检索以及知识库的匹配,以便于NLG阶段生成用户想要的文本片段或知识库实体。

1.4 推荐型对话系统

推荐型对话系统中的DM就是进行用户兴趣的匹配以及推荐内容评分、排序和筛选等,以便于NLG阶段生成更好的给用户推荐的内容。

2.DST中的状态建模和实例说明、状态表示、DSTC

2.1状态建模和实例说明

什么是对话状态?其实状态St就是一种包含0时刻到t时刻的对话历史、用户目标、意图和槽值对的数据结构,这种数据结构可以给DPL阶段提供学习策略(比如定机票时,是询问出发地还是确定订单?)继而完成NLG阶段的回复。

img

对话状态追踪(DST)的作用:根据领域(domain)/意图(intention) 、曹植对(slot-value pairs)、之前的状态以及之前系统的Action等来追踪当前状态。他的 输入是Un(n时刻的意图和槽值对,也叫用户Action)、An-1(n-1时刻的系统Action)和Sn-1(n-1时刻的状态),输出是Sn(n时刻的状态)这里用户Action和系统Action不同,且需要注意

S = {Gn,Un,Hn},Gn是用户目标、Un同上、Hn是聊天的历史,Hn= {U0, A0, U1, A1, ... , U −1, A −1},S =f(S −1,A −1,U )。

DST涉及到两方面内容:状态表示、状态追踪。另外为了解决领域数据不足的问题,DST还有很多迁移学习(Transfer Learning)方面的工作。比如基于特征的迁移学习、基于模型的迁移学习等。

为了在抽象的建模的基础上加深理解,看个小例子:

2. 2 状态表示

通过前面的建模和实例化,不难看出对话状态数跟意图和槽值对的数成指数关系,维护所有状态的一个分布非常非常浪费资源,因此需要比较好的状态表示法来减少状态维护的资源开销(相当于特定任务下,更合理的数据结构设计,好的数据结构带来的直接影响就是算法开销变小)。

常见的状态表示法包括两种:

2.2.1 隐藏信息状态模型

Hidden Information State Model (HIS)

这种方法就是:使用状态分组状态分割减少跟踪复杂度。其实就是类似于二分查找、剪枝。

img
2.2.2 对话状态的贝叶斯更新

Bayesian Update of Dialogue States (BUDS)

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

img

下面简单对比下两种不同状态表示法的优缺点:

img

2.3 DSTC

讲到DST就不得不讲DSTC,DSTC是Dialog System Technology Challenge,主要包括6个Challenge。DSTC对DST的作用就相当于目标函数对机器学习任务的作用,真正起到了评估DST技术以及促进DST技术发展的作用。之所以在DST前先说DSTC是因为后面的很多DST的方法是在某个DSTC(大多是DSTC2、DSTC3、DSTC4、DSTC5)上做的。

img

3 DST

先来看看DST的形象化

img

再来看看我总结的DST的方法汇总,注意我没有整理基于规则的DST(基于规则的方法虽然可以较好利用先验知识从而可以较好解决冷启动等问题,但是需要太多人工、非常不灵活、扩展性和移植性很差、不能同时追踪多种状态)。

img

下面分别介绍一下对话系统中的不同DST技术。

3.1 CRF

论文: Lee, SIGDIAL 2013)(Kim et al., 2014

从BUDS中对不同槽值的转移概率是相互独立的假设(是不是很像马尔可夫假设?)以及St的预测需要Un、An-1和Sn-1(转移概率和发射概率),是不是想到了HMM和CRF?没错,前期的基于统计的DST就是用了很多CRF。 n = (S −1, A −1, U )。

img

Lee, SIGDIAL 2013的主要思想如下:

img
img

Kim et al., 2014的主要思想如下:

img
img

3.2 NN-Based

论文:Mrkšić et al., ACL 2015)(Henderson et al., 2013)(Henderson et al., 2014)(Zilka el al., 2015

关于神经网络的介绍、神经网络的好处和坏处,不再赘述,已经烂大街。基于神经网络的很多方法是在DSTC上做的,这里选取了几篇有针对性的经典论文简单介绍下。

Mrkšić et al., ACL 2015是ACL2015的一篇论文,它是用RNN进行多领域的对话状态追踪,主要贡献是证明:利用多个领域的数据来训练一个通用的状态追踪模型比利用单领域数据训练追踪模型效果要好。

img

Henderson et al., 2013 是利用DNN来解决DSTC,它把DST当分类问题,输入时间窗口内对话轮次提取的特征,输出slot值的概率分布。该方法不太容易过拟合,领域迁移性很好。模型结构图如下:

img

Henderson et al., 2014 ,基于DRNN和无监督的自适应的对话状态鲁棒性跟踪,从论文名字就能看出因为使用DRNN和无监督的自适应导致DST鲁棒性很好

先来看看特征提取的办法:主要提取f,fs,fv三种特征,f是针对原始输入提取,fs和fv是对原始输入中的词做Tag替换得到泛化特征

img

再来看下模型结构:对slot训练一个模型,利用无监督的自适应学习,将模型泛化到新的domain以便于提高模型的泛化能力。

img

Zilka el al., 2015,基于增量LSTM在DSTC2做对话状态追踪,具体思想如下:

img

3.3 基于迁移学习做DST

Williams 2013)(Mrkšic, ACL 2015

目前对话系统数据较少,我比较看好迁移学习在任务型对话中的应用,尤其是DST这种较复杂的任务。

Williams 2013,这是通过多领域学习与泛化来做对话状态追踪,比较好的解决了数据目标领域数据不足的问题。

Mrkšic, ACL 2015,这是ACL 2015的一篇paper,基于RNN做多领域的对话状态追踪,主要贡献是证明:利用多个领域的数据来训练一个通用的状态追踪模型比利用单领域数据训练追踪模型效果要好。顺便说一句,这篇论文涵盖了很多任务型对话领域比较高产的学者。

img

3.4 Multichannel Tracker

Shietal., 2016,基于多通道卷积神经网络跨语言的对话状态跟踪。为每一个slot训练一个多通道CNN(中文character CNN、中文word CNN、英文word CNN),然后跨语言做对话状态追踪,我个人很喜欢这篇paper,也非常推荐大家好好读读这篇paper。

先来看看方法的整体结构:

img

再来看看多通道CNN的结构图:

img

最后看看输入之前的预处理:

img

3.5 Neural Belief Tracker

Mrkšić et al., ACL 2017

这是发表于ACL 2017的一篇论文,个人觉得水平很高。

先来看一下基于word2vec的表示学习模型,本文提出两种架构:NBT-DNN、NBT+CNN,结构图如下:

img
img

再来看看整个模型的结构图,它包含语义解码和上下文建模两部分:语义解码:判断槽值对是否出现在当前query;上下文建模:解析上一轮系统Act,系统询问(tq)+ 系统确认(ts+tv)。

img

模型还有一部分:二元决策器,用来判定当前轮的槽值对的状态。本文的状态更新机制采用简单的基于规则的状态更新机制。

另外,ACL 2018在本文的基础上提出完全NBT(Fully NBT),主要变动是修改基于规则的状态更新机制,把更新机制融合到模型来做联合训练。具体更新状态的机制包括One-Step Markovian Update( 一步马尔科夫更新,使用两个矩阵学习当前状态和前一时刻状态间的更新关系和系数)和Constrained Markovian Update(约束马尔科夫更新,利用对角线和非对角线来构建前一种方法中的矩阵,对角线学习当前状态和前一时刻状态间的关系,非对角线学习不同value间如何相互影响)。总之,这个工作扩展的比较细致。

3.6 其他方法

其实还有很多种对话状态追踪的方法,比如基于贝叶斯网络做DST、基于POMDP(部分可观测马尔可夫决策过程)做DST等,因为时间相对比较久远,这里不再赘述。

4 不同的DST方法

以上介绍了多种对话系统中的DST技术,下面简单总结下它们的优势和劣势。

img

5.DST技术的评估

任何一项技术想要取得进步,那么他的评测方法是至关重要的(就相当于目标函数之于机器学习算法),所以我列出一些关于DST的评估。遗憾的是,目前DST的评估我感觉并不成熟,这也是制约DST发展的一个重要原因,如果谁能想出更好的评估方法或整理出一个业内公认的高质量数据集,那么一定会在DST(甚至是对话系统)领域有一席之地,引用量也会蹭蹭的上涨。

img

6 文本涉及的paper

6.1.Dialog State Tracking Challenge (DSTC)

Williams et al. 2013, Henderson et al. 2014, Henderson et al. 2014, Kim et al. 2016, Kim et al. 2016, Hori et al. 2017

6.2. State Representation:

6.2.1 HIS

Steve Young, Jost Schatzmann, Karl Weilhammer, and Hui Ye. The hidden information state approach to dialog management.

6.2.2 BUDS

Blaise Thomson, Jost Schatzmann, and Steve Young. Bayesian update of dialogue state for robust dialogue systems.

6.3.DST

6.3.1 CRF

Sungjin Lee. Structured discriminative model for dialog state tracking. In Proceedings of the SIGDIAL 2013 Conference. Lee, SIGDIAL 2013

Seokhwan Kim and Rafael E Banchs. Sequential labeling for tracking dynamic dialog states. Kim et al., 2014

6.3.2 NN-Based DST

Multi-domain Dialog State Tracking using Recurrent Neural Network, Mrkšić et al., ACL 2015

Deep Neural Network Approach for the Dialog State Tracking Challenge, Henderson et al., 2013

Robust dialog state tracking using delexicalised recurrent neural networks and unsupervised adaptation, Henderson et al., 2014

Incremental lstm-based dialog state tracker, Zilka el al., 2015.

6.3.3 Neural Belief Tracker

Neural Belief Tracker: Data-Driven Dialogue State Tracking ,Mrkšić et al., ACL 2017

6.3.4 Multichannel Tracker

A Multichannel Convolutional Neural Network For Cross-language Dialog State Tracking, Shi et al., 2016

6.3.5 Transfer learning for DST

6.3.5.1 Feature based transfer for DST

Jason Williams. Multi-domain learning and generalization in dialog state tracking. In Proceedings of SIGDIAL. Williams 2013

Hang Ren, Weiqun Xu, and Yonghong Yan. Markovian discriminative modeling for cross-domain dialog state tracking.

6.3.5.2 Model based transfer for DST

Nikola Mrkšic, Diarmuid O Séaghdha, Blaise Thomson,Milica Gaši ́c, Pei-Hao Su, David Vandyke, Tsung-Hsien Wen, and Steve Young. Multi- domain dialog state tracking using recurrent neural networks. Mrkšic, ACL 2015

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259