Deep Learning in Natural Language Processing中文连载(三)

本文详细回顾了基于深度学习的对话语言理解,包括领域检测、意图识别和槽位填充的关键任务。从历史角度出发,探讨了深度学习如何提升技术水平,特别是在语音识别准确性提高后对对话理解系统的影响。近年来,深度学习方法如深度置信网络、卷积神经网络和循环神经网络在理解和建模自然语言对话方面取得了显著进展,尤其在意图识别和槽位填充任务中表现出色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章

对话语言理解中的深度学习

 

Gokhan Tur, Asli Celikyilmaz, 何晓东,Dilek Hakkani-Tür 以及邓力

 

摘要  人工智能的最新进展导致对话助手的可用性增加,这些助手可以帮助我们完成一些任务,例如寻找时间安排活动,在当时创建日历记录,找到一家餐厅,并在某个时间在那里预订一张桌子。然而,用人工智能创建自动化代理仍然是人工智能最具挑战性的问题之一,这类系统的一个关键组成部分是会话语言理解,这是几十年来研究的最巅峰领域,因为它不是一个明确定义的任务,但严重依赖于它所使用的人工智能应用程序。不过,本章将试图整理最近基于深度学习,关于面向目标的对话语言理解研究的文献,从历史的角度和前深度学习时代的工作出发,一直到这个领域最近的进展。

 

2.1  简介

在过去的十年中,已经建立了各种面向目标的对话语言理解(CLU)系统,特别是作为虚拟个人助理的一部分,如谷歌助理、亚马逊Alexa、微软Cortana或苹果Siri。

与目的在于自动转录人所说的话的序列的语音识别相反,CLU的目标是从对话、口语或文本上下文里的自然语言中抽取“含义”。事实上,这意味着任何的实际应用都可以允许它的用户使用自然语言(随意说话)来执行任务。在文献中,CLU通常被用来表示在对话或其他方面以口头形式理解自然语言的任务。因此,本章和本书中讨论的CLU与文献中的口语理解(SLU)密切相关,有时是同义词。

这里,我们进一步地详细阐述语音识别、CLU/SLU、文本形式的自然语言之间的联系。语音识别不涉及理解,只负责将语言从口语形式转换为文本形式。在下游语言处理系统中,语音识别中的错误可视为“噪音”。处理这类有噪声的NLP问题可以联系到有噪声的语音识别问题,只不过语音识别中的“噪声”来自声环境(而不是识别错误)。

对于有语音输入的SLU和CLU,语音识别中不可避免的错误会使理解比输入为文本或没有语音识别错误的情况更困难,在SLU/CLU研究的历史长河中,由于语音识别错误所带来的困难,使得SLU/CLU的领域比文本形式的语言理解要窄得多。然而,由于最近深度学习在语音识别领域的巨大成功,识别错误已经被大大地降低,导致了目前CLU系统应用领域的拓宽。一类会话理解任务源自于以前的人工智能(AI)工作,比如20世纪60年代建立的MIT Eliza系统,其主要用于聊天系统,模仿理解。例如,如果用户说“我很沮丧”,Eliza会说“你经常沮丧吗?”。另一个极端是使用更深层次的语义构建通用的理解能力,并证明在非常有限的领域中是成功的。这些系统通常是基于大量知识的,并且依赖于形式化的语义解释,即将句子映射到它们的逻辑形式中。在最简单的形式中,逻辑形式是一个句子的上下文无关的表示形式,它涵盖了它的谓语和参数。例如,如果句子是 john loves mary,那么逻辑形式就是 love(john,mary)。循着这些想法,一些研究人员致力于构建通用语义语法(或中间语言),假设所有语言都有一组共享的语义特征。直到90年代末,在统计方法开始占据主导地位之前,这种跨语言方法也严重影响了机器翻译研究。关于基于人工智能技术的语言理解的更多信息,可以看这里

对CLU进行语义表示,使其不仅覆盖范围广,而且足够简单地能够适用于多个不同的任务和领域,是一个挑战。因此,大多数CLU任务和方法取决于它们设计用于的应用程序和环境(如移动与电视)。在这种“针对性理解”设置中,有三个旨在形成一个语义框架,捕获用户话语/查询语义的关键任务:领域分类(用户在说什么,比如:“旅行”)、意图识别(用户要干什么,比如:“预定一个酒店房间”)、槽位填充(这个任务的参数是什么,比如“迪斯尼乐园附近的两居室套房”)。图2.1显示了一个与航班相关的查询示例语义框架:查找明天飞往波士顿的航班。

图2.1:一个语义解析的例子,S是槽位,D是领域,I是意图,
使用IOB标注方法(in-out--begin)来表示槽位

 

在本章中,我们将详细回顾最先进的基于深度学习的CLU方法,主要集中在这三个任务上。在下一节中,我们将更正式地提供任务定义,然后介绍前深度学习时代的文献。接下来在2.4节中,将会涵盖针对此任务的最新研究。

 

2.2  一个历史视角

在美国,基于框架的CLU的研究始于20世纪70年代的DARPA语言理解研究(SUR),然后是资源管理(RM)任务。在这一早期阶段,自然语言理解(NLU)技术,如有限状态机(FSMS)和增强转换网络(ATN)被应用于SLU。

随着美国国防部高级研究计划局(DARPA)航空旅行信息系统(ATIS)项目的评估,针对性的基于帧的SLU的研究在20世纪90年代激增。多个来自于学术界和工业界的研究实验室都开发了试图理解用户航空旅行信息(包括航班信息,地面交通信息,机场服务信息等)的自动语音查询的系统,然后从标准的数据库中获取答复信息。ATIS是基于框架的SLU的重要里程碑,在很大程度上得益于其严格的组件形式和端到端的评估,由多个机构参与,并有一个共同的测试集。后来,通过DARPA通信器程序,对ATIS进行了扩展,以涵盖多轮对话。同时,国际社会在建立一个对话式的计划助手方面也有各自的努力,比如贸易分析信息系统(TRAINS)。而在大西洋的另一边,也在做着相同的努力。法国的EVALDA/MEDIA项目旨在设计和测试评估方法,以比较和诊断口语对话中的上下文相关和上下文无关的SLU能力,参与者包括学术组织(IRIT、LIA、Limsi、Loria、Valoria和Clips)和工业机构(法国电信研发部、Telip)。与ATIS一样,此研究的领域仅限于旅游和酒店信息的数据库查询。最近由欧盟发起的LUNA项目重点关注在先进电信服务背景下实时理解自然语音的问题。

在前深度学习时代,研究者们运用已知的序列分类方法,使用提供的训练数据集来完成应用领域框架槽位的填充,并进行了对比实验。这些方法使用生成模型,如隐马尔可夫模型(HMMs)(Pieraccini等人1992年),判别分类方法(Kuhn和Mori 1995年),基于知识的方法,以及基于概率分布的上下文无关语法(CFG)(Seneff 1992;Ward和Isar 1994),最后是条件随机字场(CRF)(Raymond和Riccardi 2007;Turet al.2010年)。

几乎与槽位填充方法同时,出现了一个相关的CLU任务,主要用于呼叫中心IVR(交互式语音应答)系统中的机器定向对话。在IVR系统中,交互完全由机器控制。机器主动系统会询问用户特定的问题并期望用户输入为预先确定的关键字或短语之一。例如,邮递系统可能会提示用户说,安排取货、跟踪包裹、获取价格或订单供应,或者披萨送货系统可能会要求提供可能的配料。这种IVR系统通常被扩展为在呼叫中心中形成一个机器主动导向的对话,现在被广泛地使用诸如VoiceXML(VXML)等已建立和标准化的平台来实现。

IVR系统的成功,激发了更多复杂精巧的版本,即将用户的话语分类为预先定义的类别(称为呼叫类型或意图),并被几乎所有主要参与者所运用,比如AT&T(Gorin等人1997年、2002年;Gupta等人,2006年)、贝尔实验室(Chu Carroll和Carpenter,1999年)、BBN(Natarajan等人,2002年),以及法国电信(Dammati等人,2007年)。

虽说这是CLU任务的一个完全不同的视角,但它实际上是对框架填充的补充。例如,在ATIS语料库中,有关于地面交通或特定航班上飞机的载客能力的语句,因此用户可能有其他的意图而基本上不会是想要寻找航班信息。

关于前深度学习时代的领域检测、意图识别和槽位填充方法的详细调查,可以在(Tur和Mori,2011年)论文中找到。

 

2.3  主要的语言理解任务

在本节,我们主要描述用于人机会话系统的目标型会话语言理解的关键任务。其中包括目标检测或者意图识别和槽位填充的话语分类任务。

 

2.3.1  领域检测和意图识别

在领域检测和意图识别中,语义上的话语分类任务着眼于将一段话X划分到语义分类集合M中的某一个分类,\hat{C_r}\; \in\;C= \left \{ \left. C_1,...,C_M \right \} \right.(r是这段话的索引)。通过观察Xr,使给定\hat{C_r}的后验概率最大。通常表示为:

                                                          \hat{C_r} = arg\, \: max_{C_r}\, \: P(C_r\left |X_r)                                                              (2.1)

语义分类器要求在一段话的变化中要有显著的自由度。一个用户可能会说“I want to fly from Boston to New York next week”(我下周要从波士顿飞往纽约),另一个会说“I am looking to flights from JFK to Boston in the coming week”(我在看下周从肯尼迪国际机场飞波士顿的航班)来表达相同的意思。尽管表达存在着自由度,对于在该应用程序中的这些话有着有着清晰的结构,就是将特定的信息片段绑定在一起。不仅用户所能说的话没有先验约束,而且系统应该能够很好的从少量的训练数据中进行归纳。举个例子,短语“Show all flights”和“Give me flights”应该被理解为单一语义分类“Flights”的变体。另一方面,命令“Show me fares”应该被理解为另一个语义分类“Fare”的一个实例。传统的文本分类技术是设计出使C_r、给定文本W_r的概率,即后验概率P(C_r\left |W_r)最大化的学习方法。其他语义特征,比如领域索引(实体列表),命名实体(比如组织机构名、时间/日期表示)以及上下文特征(比如上一轮的对话),这些都可以用来丰富特征集。

 

2.3.2  槽位填充

一个应用领域的语义结构是根据语义框架定义的,一个语义框架包含多个不同类型的组成部分,称之为“槽位”。比如,在图2.1中,航班这个领域可能包含像出发城市、到达城市、出发日期、航空公司名称等槽位。槽位识别任务就是要在语义框架中实例化这些槽位。

一些SLU系统已经开始采用一种层次表示作为具有更好表示能力和允许子结构共享,这主要受语义成分树所驱动。

在基于统计框架的会话语言理解中,任务通常被形式化为模式识别问题。给定一个单词序列W,槽位填充的目标就是找到一个语义标签序列S,它具有最大的后验概率P(S\left |W)

                                                             \hat{S} = arg\, \: max_{S}\, \: P(S\left |W)                                                                     (2.2)

 

2.4  提升技术水平:从统计建模到深度学习

在这一节中,我们回顾了最近为会话语言理解而进行的基于深度学习的工作,包括一个一个的任务,以及涵盖联合多任务方法。

2.4.1  领域检测和意图识别

第一个话语分类的深度学习应用始于深度置信网络(DBNs)(Hinton 等人,2006年),受到了信息处理应用中多个领域的追捧。深度置信网络是受限玻尔兹曼机(RBMs)的堆栈,然后做了微调(fine-tuning)。RBM是一个两层的网络,可以使用无监督的方式合理有效地训练。沿着RBM这种学习方式,一层层地构建深度模型,DBN在语音和语言处理的很多任务以及最终的呼叫路由设置意图识别(Sarikaya等人, 2011年)中都取得了成功。这项工作已经被扩展到使用额外的无标签数据来进行更好地预训练(Sarikaya等人, 2014年)。随着DBN的成功,邓力和俞栋提出使用深度凸网络(DCN),这直接切中类DBN深度学习技术的可扩展性问题(Deng和Yu,2011年)。DCN显示出优于DBN的表现,不仅是在正确率方面,还在于训练的可扩展性和效率。一个DCN是标准的前馈神经网络,但在每一层隐藏层,输入向量也被考虑了进去。

图2.2给出了一个DCN的概念结构:W表示输入,U表示权重。其中,损失函数使用了均方误差(MSE),给定目标向量T。然而,网络使用了上述的DBN做了预训练。

图2.2  一个典型DCN结构

 

在早期工作中,对于输入向量,由于词典太过巨大,作为特征变换的代替,一个基于boosting的特征选择被用于找到分类任务中的关键短语,并将结果和此boosting方法的基线做比较。此后,DBN用于预训练的情况就很少了,现在最先进的做法是使用卷积神经网络(CNNs)以及它的变体(Collobert及Weston,2008年; Kim,2014年; Kalchbrenner等人,2014年,等等)。

图2.3显示了一个典型的CNN句子或话语分类体系。卷积运算涉及一个滤波器U,它应用于输入句中h个单词的窗口,以产生一个新的特征c_i。例如:

                                                                  c_i = tanh(U.W_i_:_i_+_h_-_1 + b)

b是偏置,W是单词的输入向量,c_i表示新特征,然后,对c=[c_1,c_2,...,c_n_-_h_+_1] 使用最大池化操作,取最大特征值\hat{c}= max\: \mathbf{c},这些特征会传递到一个全连接的softmax层,该层的输出是标签上的概率分布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值