博客 | 任务型对话系统公式建模&&实例说明

2018 年 11 月 18 日 AI研习社

本文原载于微信公众号:AI部落联盟(AI_Tribe),AI研习社获授权转载,欢迎关注 AI部落联盟 微信公众号、知乎专栏 AI部落、及 AI研习社博客专栏


任务型对话的框架图: 

SLU:把自然语言转换成机器可以处理的领域(domain)/意图(intention) 和槽植对(slot-value pairs),他的输入是代表用户输入Utterance的Xn,输出是Un。

Xn就是用户说的话,一般是几个到几十个词。

Un=(In, Zn), In是intention,Zn是槽植对。

In=f(Xn) , 就是意图分类,一般分类方法都行,也可采用DBN、DCN等方法。

Zn=f(Xn),Zn = {𝑧1,𝑧2,𝑧3…},是序列标准问题,传统的CRF、HMM都行,RNN、LSTM、GRU等也可以。

另外为了解决领域数据不足的问题,SLU还有很多迁移学习(Transfer Learning)方面的工作。比如实例迁移、模型适配、参数迁移、领域关系迁移等。


DST:作用是根据领域(domain)/意图(intention) 、曹植对(slot-value pairs)、之前的状态以及之前系统的Action等来追踪当前状态。它的输入是Un、An-1和Sn-1,输出是Sn。

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)方面的工作。比如基于特征的迁移学习、基于模型的迁移学习等。


DPL( 也叫DPO)基于当前状态(state)决定系统需要采取action。它的输入是Sn,输出是An。

S𝑛 = {Gn,Un,Hn},An是系统的Action,A𝑛 ={Dn, {Ai, Vi}},Dn是对话类型,Ai、Vi是第i轮对话的attribute和其value。DST一般会建模成强化学习或深度强化学习(从不同维度区分的话有非常多的变种,后面一一介绍)。

另外为了解决领域数据不足的问题,DPL还有很多迁移学习(Transfer Learning)方面的工作。比如线性模型迁移学习、高斯过程迁移学习、BCM迁移学习等。


NLG:把系统的Action转换成用Yn表示的自然语言形式的系统response。它的输入是An,输出是Yn。NLG方法非常多,比如基于规则的、基于模板的、基于短语的、基于token的、基于句法树的( 变种也不少,不过大同小异,大多是trick层面的)、基于corpus的、基于神经网络的(变种很多,如RNN、RNN+CNN、RNN+LM、LSTM+SC等)、基于神经网络+句法树的等等,后续会一一介绍。

其中A𝑛 ={Dn, {Ai, Vi}},Yn = {y1,y2,y3…},yi是第i轮的系统回复(response)。

另外为了解决领域数据不足的问题,NLG还有很多迁移学习(Transfer Learning)方面的工作。比如线在 原始领域预训练然后在目标领域(Target domain)做fine-tuning、基于实例的迁移学习、基于参数的迁移学习等。


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

𝑿1:I would like a cup of coffee.

𝒀1:What coffee would you like?

𝑿2:What coffee do you serve?

𝒀2:We serve Espresso, Americano, Latte, Mocha, etc.

𝑿3:I would like a cup of Latte.

𝒀3:Hot Latte or Iced Latte?

𝑿4:Hot Latte.

𝒀4:What cup size do you want?

𝑿5: Tall.


SLU:

输入:𝑿𝟑=“I would like a cup of Latte.”,

输出:U𝟑={L3, 𝒁3},其中L3: Intention=Order、𝒁3: {CoffeeType=Latte}


DST:

输入:

S2 ={G2, U2, H2}, 其中 :

G2= {CoffeeType=?, Size=?, Temp=?}

U2={Intention=Ask, {CoffeeType=?}}

H2 ={U1, A1}


A2={Action=Inform, {CoffeeType=Espresso, Americano, Latte, Mocha}}

U3 ={Intention=Order, {CoffeeType=Latte}}


输出:

S3 ={G3, U3, H3}, 其中 :

G3= {CoffeeType=Latte, Size=?, Temp=?}

U3={Intention=Order, {CoffeeType=Latte}}

H3 ={U1, A1, U2, A2}


DPL:

输入是S3,输出A3= {Action=Ask, {CoffeeType=Latte, Temp=?}} 


NLG:

输入A3,输出Y3=  "Hot Latte or Iced Latte?”。

登录查看更多
3

相关内容

迁移学习(Transfer Learning)是一种机器学习方法,是把一个领域(即源领域)的知识,迁移到另外一个领域(即目标领域),使得目标领域能够取得更好的学习效果。迁移学习(TL)是机器学习(ML)中的一个研究问题,着重于存储在解决一个问题时获得的知识并将其应用于另一个但相关的问题。例如,在学习识别汽车时获得的知识可以在尝试识别卡车时应用。尽管这两个领域之间的正式联系是有限的,但这一领域的研究与心理学文献关于学习转移的悠久历史有关。从实践的角度来看,为学习新任务而重用或转移先前学习的任务中的信息可能会显着提高强化学习代理的样本效率。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
元学习与图神经网络逻辑推导,55页ppt
专知会员服务
127+阅读 · 2020年4月25日
【教程】自然语言处理中的迁移学习原理,41 页PPT
专知会员服务
94+阅读 · 2020年2月8日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
76+阅读 · 2020年2月3日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
【EMNLP2019教程】端到端学习对话人工智能,附237页PPT下载
专知会员服务
67+阅读 · 2019年11月25日
零样本图像分类综述 : 十年进展
专知会员服务
123+阅读 · 2019年11月16日
NLP实践:对话系统技术原理和应用
AI100
34+阅读 · 2019年3月20日
博客 | 总结 | 对话系统中的口语理解(SLU)(一)
Neural Response Generation with Meta-Words
Arxiv
6+阅读 · 2019年6月14日
Arxiv
6+阅读 · 2018年11月1日
Arxiv
6+阅读 · 2018年6月21日
Arxiv
5+阅读 · 2018年1月16日
VIP会员
相关VIP内容
Top
微信扫码咨询专知VIP会员