基于深度学习的口语理解联合建模算法综述
魏鹏飞
,
曾碧
,
汪明慧
,
曾安
软件学报 ![]() ![]() |
![]() |
近年来, 随着计算机和互联网的蓬勃发展, 大规模并行计算成为可能, 同时也积累了海量的数据. 作为人工智能(artificial intelligence, AI)的核心技术, 深度学习开始借助强大的计算能力和海量数据, 构建规模更大的神经网络, 在计算机视觉、语音识别、自然语言处理、自动驾驶等领域取得了领先的成绩[1]. 对话系统的研究也开始由早期的基于规则和基于统计方法的建模方式, 转变为以运用深度学习技术为主, 采用神经网络模型去建模各个模块[2].
对话系统一般包含5大模块(López-Cózar等人[3]、侯丽仙等人[4]将对话系统分成5个模块: Automatic Speech Recognition (ASR), Spoken Language Understanding (SLU), Dialogue Management (DM), Natural Language Generation (NLG), Text-to-Speech synthesis (TTS)), 本文采用Chen等人[5]提出的划分方式, 将其分为4个部分: 口语理解(spoken language understanding, SLU)(又称为自然语言理解(natural language understanding, NLU)[6])、对话状态跟踪(dialogue state tracking, DST)、对话策略学习(dialogue policy learning, DPL)、自然语言生成(natural language generation, NLG), 如图 1所示.
![]() |
图 1 对话系统架构 |
SLU是对话系统中关键的功能模块, 它的好坏直接影响整个对话系统的性能. 给定用户话语, 口语理解将话语映射为结构化的语义表示. 如图 2所示, 用于语义表示的流行模式是对话行为, 由意图和槽位组成. 意图是话语的类别, 例如“查找和通知”, 表明话语的功能. 槽位是话语中提到的特定于任务的实体, 例如“周杰伦和稻香”, 给出完成任务所需的实体约束.
![]() |
图 2 示例话语带有IOB格式(S)和意图(I), B-dir和I-dir表示导演名称的语义槽注释 |
基于这种对话行为的结构, SLU的任务可以进一步分解为两个任务: 意图识别(intent recognition, IR)和槽位填充(slot filling, SF). 前者IR通常被表示为以话语为输入的意图分类任务, 而SF通常被视为序列标注问题.图 2中, “查找周星驰最近的喜剧”是电影相关话语示例, 其中, “find_movie”是意图分类的结果, “O O B-dir I-dir I-dir B-date I-date O B-genre I-genre”是序列标注的结果. 而IOB是一种标准的标注格式, 有利于语义元素的提取: 导演名称(director name)、日期(date)和类型(genre).
SLU可以看作是对语言的理解. 语言主要有两种表现形式: 书面语和口语. 书面语是用于书写的, 口语是用于口头表达的. 书面语是在口语的基础上演变和发展而来的, 书面语规范、理性、结构严密、表述清晰; 而口语较为直接、感性、往往不假思索, 脱口而出, 用词范围比较狭窄, 可以重复、脱节、颠倒、补说, 也可以有大量的语气词和“这个”“那个”之类的带个性特征的习惯性的废话. 口语首先要经过自动语音识别技术(automatic speech recognition, ASR)转成口语文本, 此文本常常伴随着一些识别错误. 因此, SLU模块在处理口语文本时更加困难.
早期研究中, 意图识别和槽位填充是分开进行建模的. 在运行时, 这种任务的流水线处理方式将导致错误从一个任务转移到下一个任务. 此外, 各个领域模型之间没有数据或功能共享, 无法充分地利用所有的监督信号. 于是就出现了联合建模方法. 意图识别和槽位填充的联合建模原因可总结为以下3点.
(1) 在SLU系统中, 这两个任务通常同时出现. 例如, 要完成用户对于“预定后天从广州飞往北京的航班”的需求, 则需要解析出用户意图: 预定航班; 和槽位: 时间、出发地和目的地.
(2) 一项任务的信息可以在另一项任务中使用, 相互促进[7]. 例如, 如果话语的意图是查找航班, 则它很可能包含出发地和目的地; 反之亦然.
(3) 意图和槽位标签作为用户行为的语义表示, 应该相互共享知识. 例如, 预定航班和查找航班都需要同时提供出发地和目的地.
近年来, 基于深度学习构建的意图识别和槽位填充的联合模型取得了很大的进展. 大致可以分为3类: 意图识别和槽位填充无关联的联合建模、意图识别关联槽位填充的联合建模以及意图识别和槽位填充双向关联的联合建模.无关联的联合建模方法并没有显式地构建两个任务之间的关联关系, Guo等人[8]提出使用递归神经网络和给定的语法结构来学习句子的语义信息, 根节点的输出向量和融合了上下文单词信息的三路径向量, 分别用来预测意图和槽位标签. Liu等人[9]使用双向LSTM学习句子特征, 简化了树状结构, 消除了生成语法树所带来的时间和人工成本. 最终的输出向量一方面直接用作意图标签的预测, 另一方面直接输入到带有注意力机制的单向LSTM网络中去预测槽位标签. 它们都只是在编码器层进行了共享表示学习, 虽然都是联合建模, 但是两个任务的输出并未进行关联. 之后, 随着注意力机制应用在编解码模型上取得了很好的效果[10, 11], 研究者开始探索将意图的信息关联到槽位填充任务中, 这些文献[12−14]使用注意力机制学习句子上下文信息, 可以很好地实现并行计算, 比LSTM更加高效. 门控机制(gate mechanism)/掩码机制(mask mechanism)利用意图信息来增强槽位标签的预测, 这种单向的任务之间的信息传递, 促使两个任务的性能都得到了显著的提升. 反之, 槽位信息对意图识别任务也有一定帮助, 为了建立这两种任务之间的关联关系, E等人[15]设计了SF-ID网络: SF子网和ID子网, SF子网引入相关因子将意图信息应用于槽位填充任务, 而ID子网也计算一个相关因子将槽位信息用于意图识别任务, 然后, 这两个子网通过迭代机制进行训练, 以帮助彼此相互促进.目前, 对于以上的研究成果还没有很好的总结性工作. 虽然侯丽仙等人[4]从口语理解的独立建模和联合建模方面对之前的相关研究做了总结, 但是并没有考虑到模型内部深层次的关联关系和多域数据集评测指标的对比. 而且, 近年来又出现许多架构更加新颖、性能更优的一些模型. 本文围绕口语理解的深度学习建模方法, 重点从意图识别和槽位填充的关联关系上梳理了相关研究成果, 给出了相关数据集及其评测指标, 并从实验指标上对不同模型进行分析和总结, 以帮助指导未来的研究和发展.
本文第1节介绍相关工作与有关设计问题. 第2节介绍口语理解涉及的深度学习技术. 第3节给出口语理解任务普遍采用的两个数据集. 第4节从意图识别和槽位填充的关联关系上梳理了相关研究成果. 第5节从实验指标上对不同模型进行对比分析. 第6节总结了论文下载地址与源码链接. 第7节对未来研究方向进行展望.
1 相关工作关于口语理解的研究已有很长的历史, 这种技术是在90年代从某些呼叫分类系统[16](不限成员名额的口语响应来自动路由电话的任务)和ATIS项目[17]中出现的. 可将口语理解任务定义为pintent(d|x1, x2, …, xn)和pslot(y1, y2, …, yn|x1, x2, …, xn), 其中, d表示意图类别, y1到yn是输入话语[x1, x2, …, xn]中对应每个标记的槽位标签, n是输入话语标记的数量. 本节中, 我们主要介绍有关意图识别和槽位填充的一些典型工作, 它们是口语理解的核心任务[5, 18].
意图识别可被看作是分类任务. 早期的传统方法是将n-gram作为通用实体特征, 如位置和日期[7], 这种类型的方法局限于输入空间的维数. 另一种流行的方法是在标记的训练数据上训练机器学习模型[19, 20], 例如SVM[21]、Adaboost[22]和改进的KNN方法MLKNN[23]来改善意图识别. 基于神经网络架构的方法在意图识别任务中也表现出良好的性能. 深度信念网络(DBN)最早用于呼叫路由分类[24], RNN[25], IndRNN- Attention[26]和Hybrid ELMo[27]在意图分类任务上表现优异.
对于槽位填充, 通常看作序列标注任务. 传统的方法是基于条件随机场(CRF)体系架构, 它具有很强的序列标记能力[28], 并结合最大熵模型用于信息提取与分割[29]. 近年来, 基于神经网络及其扩展的方法在槽位填充任务中表现出出色的性能, 并且优于传统的CRF模型. 例如, Yao等人[30]提出在标准的递归神经网络语言模型中将单词作为输入, 然后预测槽位标签. Yao等人[31]通过使用过度特征和CRF的序列级优化标准对输出标签的依赖关系进行显式建模, 从而改进了传统的RNN. Mesnil等人[32]尝试使用双向和混合RNN进行槽位填充. Yao等人的另一篇文章[33]为此任务引入了LSTM结构, 并比RNN获得了少量改进. 此外, 基于注意力的模型在NLP领域获得成功之后, Simonnet等人[34]将基于注意力的编码器/解码器(encoder-decoder)应用于槽位填充任务, 而没有使用LSTM单元. Zhu等人[35]提出了一种具有聚焦机制的BLSTM-LSTM模型来处理序列问题.
研究发现: 以上独立建模方法常常会引起错误传播问题; 而且这两个任务都是同时出现的, 相互之间还有一定的关联关系. 为了解决以上问题, 联合建模方法便被提出, 并已成为当前研究的主要方向. Hakkani- Tur等人[36]首先提出了使用RNN的联合工作, 以学习意图和槽位之间的相关性. Zhang和Wang[7]使用双向GRU网络用于联合建模槽位填充和意图识别. Liu等人[9]提出了一种基于注意力的神经网络, 以对两个任务进行联合建模. 以上这些模型都属于管道模型. 但是这些联合模型没有明确地为槽位和意图信息建模, 而是通过共享参数来考虑它们在两个任务之间的相关性. 近年来, 一些联合模型探索并使用了用于槽位填充的意图信息. Goo等人[12]利用门控机制作为特殊的门功能来模拟意图识别和槽位填充之间的关系. Li等人[13]提出了意图增强门控机制, 以利用槽位和意图之间的语义相关性. Qin等人[37]使用堆栈传播框架将单词级的意图识别信息直接输入到槽位填充中. 同时也出现了将意图信息和槽位信息双向关联的模型, Wang等人[38]提出了Bi-Model以考虑意图和槽位之间交叉影响. E等人[15]引入了SF-ID网络以建立用于槽位填充和意图识别任务的相互关联的机制. Zhang等人[39]提出了一种层次化的胶囊神经网络, 以对单词、槽位和意图之间的层次关系进行显式建模.
总的来说, 深度学习模型已经在口语理解任务上得到了充分的应用. 以上研究表明, 性能最好的模型也都是采用深度学习的技术. 接下来, 本文将从口语理解涉及的深度学习技术、数据集及联合建模方法进行系统的介绍.
2 口语理解涉及的深度学习技术深度学习是机器学习的分支, 已被广泛地应用到计算机视觉[40−45]、自然语言处理[46−49]、自动驾驶[50, 51]等多个领域. 口语理解是对文本进行处理获取意图和槽位标签的任务, 属于自然语言处理领域, 目前, 主要采用深度学习技术对这两个任务进行联合建模. 下面, 我们总结了4点口语理解相关研究中所涉及的典型的深度学习技术.
● 词嵌入: 口语理解联合建模是对文本的建模, 首先要对文本进行向量化表示. 早期的表示方法是采用One-Hot表示, 它是一种离散的表示法, 在处理大语料时, 存在维度高、语义鸿沟的问题. 为了降低维度和表现词之间的语义关系, 人们尝试了很多方法, 比如共现矩阵[52]、LDA(latent dirichlet allocation)[53]和LSA(latent semantic analysis)[54]. 而词嵌入(word embedding)[55−59]的出现, 可以很好地解决上述问题. 经过词嵌入层处理后, 每一个单词都被映射到一个低维、稠密的实值向量上, 向量之间可以表达更多的语义信息. 本文所介绍的文献[7−9, 12−15, 37, 60, 61]建模时, 都会引入一个嵌入表示层, 在使用反向传播[62]和梯度下降算法学习过程中, 这些嵌入向量也会自动地更新到合适的状态. 部分文献还加入实体嵌入向量和字级别嵌入向量来提升模型学习的能力.
● 循环神经网络(RNN): 词嵌入所获取的向量, 可以输入到后续的编码器层, 用于建模更高层次的句法或语义信息. 这里介绍的RNN结构包括普通RNN[63]、LSTM[64]和GRU[65]这3种, 它们是专门设计用来处理序列问题的网络架构. Liu等人[9]采用双向LSTM来学习句子的上下文语义信息, LSTM的门控机制有效地解决了普通RNN所面临的梯度消失问题, 使其具有长距离特征捕获能力.另外, Zhang等人[7]使用双向GRU对其进行建模, 带有重置门和更新门的GRU结构, 一方面简化了LSTM的结构, 降低了网络参数量; 另一方面, 还能保持与LSTM相当的长序列建模能力. 它是口语理解任务建模时常用的一种网络结构.
● 注意力机制: 无论是机器学习、深度学习还是强化学习, 我们似乎都在寻找一种可以模拟人脑的机制, 注意力机制(attention mechanism)实际上也是源于此种设计思路. 注意力可以应用于任何类型的输入而无论其结构如何. 在计算能力有限情况下, 注意力机制是解决信息过载问题的主要手段, 还是一种资源分配方案, 将计算资源分配给更加重要的任务. Bahdanau等人[10]首次将注意力机制应用到NLP领域, 计算方法是: 在解码时, 使用前一个时刻的隐藏向量与输入序列做关联计算, 考虑每一个输入词与当前输出词的对齐关系, 对齐越好的词, 会有越大的权重, 对生成当前输出词的影响也就越大. Chen等人[61]提出了一种基于BERT模型架构的联合建模方法. 它是一种深层双向的Transformer[66]编码器结构, 通过对大量文本数据的学习, 学到的深层次的语义信息可以很好地迁移到SLU任务上. Transformer的核心就是注意力机制, 拥有强大的上下文建模能力和大规模并行计算能力.
● 胶囊网络: 在2017年的NIPS上, Sabour等人[67]提出了胶囊网络(capsule network). 它是一个用于模仿人类视觉系统的新架构, 你可以把它想象成要用capsule神经元取代原来的MP神经元(MP neuron), 原来的neuron输入输出是一个标量, 而capsule输入是一个向量, 可以解CNN中组件的朝向和空间上的相对关系被忽略的问题[68−70]. Zhang等人[39]设计了3种胶囊: WordCaps, IntentCaps和SlotCaps, 建立显式的单词、意图和槽位之间的层次关系, 结构清晰, 可解释性强. 网络更新时, 通过动态协议路由机制, 将学到的槽位信息增强意图标签的预测, 还涉及一种重路由协议机制, 将学习到的意图信息用作完善槽位标签的预测.
3 常用的公开数据集目前, 常用的口语理解公开数据集主要有两个: ATIS(航空公司旅行信息系统)数据集和Snips数据集.
● ATIS数据集[71]被广泛用于SLU研究. 数据集包含预定航班的人员的录音, 训练集包含4 478条话语, 开发集包含500条话语, 测试集包含893条话语. 训练集中有120种槽位标签和21种意图类型.
● Snips数据集[72]是从Snips个人语音助手收集来的. 该数据集每个意图的样本数量大致相同. 训练集包含13 084条话语, 开发集包含700条话语, 测试集包含700条话语. 训练集中有72种槽位标签和7种意图类型.
与单域的ATIS数据集相比, Snips更为复杂, 这主要是由于意图的多样性和更大的词汇量. 表 1中显示了意图和相关的话语示例. 关于意图多样性, 例如Snips中的GetWeather和BookRestaurant来自不同的意图, 词汇量较大. 另一方面, ATIS中的意图全部是关于航班信息, 它们之间有相似的词汇. 此外, ATIS的意图的样本数量高度不平衡, 其中, atis_flight大约占训练数据的74%, 而atis_cheapest仅出现一次. 表 2中给出了这两个数据集的比较与下载地址.
![]() |
表 1 Snips数据集中的意图和话语样本 |
![]() |
表 2 ATIS和Snips数据集的统计信息 |
除了上述两个广泛应用的基准数据集外, 还有4个不常用且未公开的数据集. 按照领域分类, 我们将其归纳为两类: 单域数据集和多域数据集. 单域数据集有1种: Car navigation, 在Zhu等人[35]的文献中被提到. 它是一种用于汽车导航领域的自定义的中文数据集, 训练集包含8 000条话语, 开发集包含2 000条, 测试集包含1 944条. 文本经过ASR输出后的单词错误率为4.75%和句子错误率为23.42%. 而多域数据集有3种: 4 domains, 3 domains和CQUD. 其中, CQUD是Zhang等人[7]从百度知道(http://zhidao.baidu.com/)平台收集而来的3 286条样本的中文数据集. 文献中并未给出具体的数据集划分方式. 详细的统计信息见表 3.
![]() |
表 3 其他数据集的统计信息 |
如果一个用户向系统发出请求“查找周星驰最近的喜剧”, 系统能够自动识别用户以自然语言表达的意图(查询电影), 并且提取实现目标的相关依据或内容(周星驰、喜剧). 通常, 这两个任务都是同时出现的, 彼此之间也有相互的关联. 因此, 对意图识别任务和槽位提取任务进行联合建模是可行的. 一些研究者也关注到了这个问题, 开始使用联合建模方法, 实验结果表明, 性能比分离任务有了较大提升[7, 9]. 联合建模可以只训练一个模型, 大大简化单独建模的意图识别和槽位填充模型, 可以降低管道所带来的错误传递, 提升任务性能.本文对相关文献进行了整理和总结, 将基于深度学习的口语理解联合建模算法根据模型功能分为无关联的联合建模、意图关联槽位的联合建模和双向关联的联合建模, 如图 3所示, 每类方法根据实现技术特点的不同又分为多种类别, 本节将详细阐述和分析这些模型方法.
![]() |
图 3 基于深度学习的口语理解联合建模算法 |
为了清晰起见, 表 4中列出了本文使用的符号及其描述.
![]() |
表 4 符号和描述 |
一段时间, 研究者们将视野集中在意图和槽位的特征提取、共享表示的联合建模算法研究中. 它能够解决经典方法中存在的手工特征选择、特征提取、特征映射这3大主要问题. 神经网络自动学习低层特征的组合形式, 产生更加抽象的高层特征表示. 研究主要集中在编码层, 设计模型更好地去学习两个任务的共享表示, 未考虑意图识别任务和槽位填充任务在输出层的关联关系. 下面将以无关联的联合建模展开介绍. 如图 4所示.
![]() |
图 4 意图识别与槽位填充无关联的联合建模的解决框架 |
基于意图识别与槽位填充无关联的联合建模的主要流程可以描述为: 首先, 针对已经标注好的训练数据集样本进行词表构建、样本数值化(单词索引); 之后, 经过嵌入层输入的单词索引被转换为一个向量表示; 然后, 编码器层采用RNN, LSTM, GRU等序列建模方法学习整个序列(单词序列)的语义信息; 最后, 将学习到的高层序列语义信息分别用于槽位预测与意图预测.
4.1.2 主流模型介绍(1) 基于RNN模型的联合建模
与传统的多层感知机(multilayer perceptron, MLP)不同, RNN模型隐藏层之间的节点不再是无连接的. 它不仅包含输入层的输出向量, 还包含上一时刻隐藏层的输出向量, 可以利用其内部的这种记忆块来处理任意长度的序列数据, 学习任意长度的句子的嵌入向量表示; 同时, 与全连接神经网络不同的是, RNN模型各层之间的参数是共享的, 大大降低了网络中需要学习的参数量以及模型的复杂度.
2014年, 微软研究院的Guo等人[8]首次将递归神经网络(RecNN)应用到口语对话系统中的口语理解(SLU)任务上. 递归神经网络主要用来建模自然语言句子的语义信息: 给定一个句子的语法结构(一般为树状结构), 可以使用递归神经网络, 按照语法结构来编码一个句子的语义. 此方法为每句话生成对应的一个句法树, 树中的叶子节点对应句子中的单词, 输入为单个词向量, 每个词性可以被当作权重向量. 这样, 每个词在其路径上的运算为简单的词向量与权重向量的点积运算. 父节点的值是多个分支节点与权重向量的点积和, 再经过激活函数之后的结果. 其中, 向量捕获单词组成部分的固有含义, 而父节点的运算可以捕获相邻单词或短语的含义. 对于意图识别来讲, 文中直接采用融合了句子信息的根节点的输出向量, 通过softmax函数计算出可能的目标意图类别. 而对于槽位填充而言, 为了包含更多的上下文信息, 文中将前一个和下一个路径向量与当前路径向量连接起来, 形成一个三路径向量(tri-path), 每个融合了上下文单词信息的tri-path用作多类最大熵分类器的输入, 以预测相应单词的IOB槽位标签. 这种RecNN的递归机制[73]能够比传统的MLP更好地捕获序列信息. 此外, 它还利用了更加丰富的句法树信息, 能够更好地建模句子的结构化信息, 并且在语言上更加合理、可解释.
Hakkani-Tür等人[36]在2016年提出了一种RNN-LSTM架构, 对多域多任务(域和意图检测, 槽位填充)进行联合建模. 该模型支持多任务. 训练时, 来自每个域的数据可以互相补充, 简化了单一模型架构. 它在LSTM结构的基础上提出了两种扩展: 环视LSTM(LSTM-LA)和双向LSTM(bLSTM). 与Guo等人[8]提出的模型不同的是, Hakkani-Tür没有使用树状结构的RecNN, 而是使用了一种线性序列结构RNN[74]的变体LSTM[64]. LSTM[64]网络简化了树状结构, 消除了生成语法树所带来的时间和人工成本, 使用线性序列结构计算成本降低, 在普通的RNN[74]基础上增加了门控机制, 有效地解决普通循环神经网络的梯度爆炸或梯度消失问题. 文中对提出的两种扩展做了深入的分析, 这两种方法在每个时刻输入时, 都会将当前词的上下文信息建模进去, 只不过环视LSTM的方法只关联了前一个词和后一个词的信息; 而双向LSTM由于其双向的记忆能力, 可以建模更长的上下文信息来增强网络的能力. 因此, 双向LSTM在联合建模时比环视LSTM效果好, 这也说明了建模更长的上下文语义信息更加重要.
2016年, 北京大学的Zhang等人[7]提出了一种基于双向GRU(BiGRU)和最大池化的联合建模的口语理解模型. GRU也是一种RNN[74]的变体, 同时也使用门控解决了普通的RNN无法捕获长序列信息的能力. 与Guo等人[8]提出的模型相比, 本文的模型不采用树状结构, 结构简单, 计算效率提升. 与Hakkani-Tür等人[36]的模型相比, GRU采用两个门控(更新门、重置门), 简化了LSTM的三门控(遗忘门、输入门、输出门)结构, 可以等效地获取长序列建模能力的同时, 又简化了LSTM的参数量. 图 5描述了用于口语理解无关联的联合建模的体系结构. 图 5最下部分, 网络对输入句子提取多个级别的特征向量. 它主要包括两个部分: 单词嵌入向量和命名实体嵌入向量. 图 5中间部分, 编码器层采用了双向GRU, 除了学习句子从前到后的信息之外, 还可以学习到句子从后向前的信息, 大大提高了建模上下文信息的能力. 图 5右侧部分和最上部分的输出层分别是意图预测与槽位预测: 意图预测采用了最大池化, 用于捕获句子的全局特征, 有利于意图识别; 槽位预测增加了条件随机场(CRF)模拟标签转移, 以此获取整个序列的全局最优解.
![]() |
图 5 双向GRU和最大池化 |
(2) 基于Seq2Seq模型的联合建模
随着序列到序列的神经网络在监督学习上的应用[75, 76], 基于注意力机制的编解码架构的神经网络模型[77]近年来在机器翻译[78]和语音识别[79]中取得了令人鼓舞的结果. 受此启发, 卡内基梅隆大学的Liu等人[9]在2016年提出一种基于注意力的编解码模型, 首次应用到口语理解的联合建模任务上. 这种架构结构清晰, 通常包括编码器部分和解码器部分. 图 6左边部分是接收输入的编码器部分, 这部分也是采用能够更好地建模序列上下文信息的双向LSTM (BiLSTM)结构. 图 6右边部分是解码器输出部分, 右上部分用于意图预测, 右下部分用于槽位预测. 由于槽位预测是一种序列标注任务, 可以看到, 槽位的输出序列与编解码模型的输入序列是等长的. 与基于RNN模型的联合建模中的3种模型相比, 编解码架构新颖, 任务可扩展性强, 输入输出序列还可以是变长的. 与Zhang等人[7]的模型相比, 这里使用BiLSTM, 与BiGRU有等效的长距离序列上下文建模能力, 没有CRF层, 消除了CRF带来的计算复杂度高、时间效率低的问题. 加入了注意力机制, 可以学习编解码的对齐信息, 关注重要的信息, 对于序列标注任务更加有效.
![]() |
图 6 带有对齐的输入和注意力的编解码模型 |
(3) 基于迁移学习模型的联合建模
口语理解任务上也经常受到人工标注的小规模训练数据的影响, 导致泛化能力较差, 特别是对稀有单词的泛化能力更差. 为了解决这种问题, 阿里巴巴语音实验室的Chen等人[61]提出了一种基于BERT[80]的联合意图识别和槽位填充模型, BERT的网络架构是一种深层双向的Transformer编码器[66]结构. 图 7最下部分是句子输入, 与基于RNN和Seq2Seq的模型都不同, 主要是: (1) 采用WordPiece[81]分隔算法; (2)句子首位插入两个特殊标记, 句首是分类嵌入[CLS], 句尾是[SEP]. 其中, WordPiece比传统空格分隔tokenization技术能够更好地处理未知或罕见的词汇(OOV)问题, 而特殊标记[CLS]作为分类标识, 可以将意图识别任务与槽位序列标记任务联合起来. 图 7中间部分采用自注意力机制(self-attention), 与RNN形式的模型不同, self-attention机制可以不考虑单词与单词之间的距离, 而直接计算相互的依赖关系, 能够很好地学习到一个句子的内部结构, 还可以实现并行计算, 解决RNN无法并行、计算耗时的问题. 与Liu等人[9]的模型类似之处是都采用了注意力机制, 不同之处在于注意力机制中查询(Q)的不同: Liu等人[9]因其结构特性, 使用的查询(Q)来自于解码器, 键(K)和值(V)都来自于编码器层; 而Chen等人[61]的模型中查询(Q)、键(K)和值(V)都出自编码器. 虽然向量上有所不同, 但是建模序列能力上是等效的.
![]() |
图 7 基于BERT的联合槽位填充和意图检测 |
然而, 无关联的联合建模存在以下几个缺点.
(1) OOV问题: 我们一般把数据集分成训练集、开发集和测试集, 通常采用训练集的数据构建词表, 因此除BERT以外, 其他模型都采用传统的空格分隔的tokenization技术, 无法处理未知或罕见的词汇问题.
(2) 并行计算: 虽然RNN相比于MLP网络更适合处理序列数据问题, 但是RNN及其变体LSTM, GRU在处理内部计算时仍然存在循环结构, 难以并行化.
(3) 忽视了两个任务之间存在的联系: 口语理解任务包含意图识别和槽位预测. 槽位预测结果产生的实体约束往往是完成某项任务意图所需要的, 这里的无关联建模没有考虑到这种问题.
4.1.4 相关文献整理及核心公式意图识别和槽位填充无关联的联合建模相关文献整理及核心公式见表 5.
![]() |
表 5 意图识别和槽位填充无关联的联合建模模型及核心公式 |
从早期的无关联建模的研究中可以看到: 双向LSTM/GRU在句子建模上有比较大的优势, 所涉及的模型也都具有一定的竞争优势. 而注意力机制最早作为基于RNN的编解码框架的一部分被Bahdanau等人[10]提出来, 首次应用在机器翻译模型中, 获得了当时SOTA (state-of-the-art)的结果. 随后, 一些研究者们对这两种网络在SLU任务上做了进一步探索. 与编解码架构中注意力机制不同之处是, 这里采用自注意力机制学习单词之间的相互依赖关系和上下文信息, 同时也考虑了两个任务之间的单向关联关系. 下面将以意图关联槽位的联合建模展开介绍, 如图 8所示.
![]() |
图 8 意图识别关联槽位填充的联合建模的解决框架 |
基于意图关联槽位的联合建模与第4.1节提到的无关联联合建模相比有两处不同: (1) 编码器层加入了新型的网络结构self-attention, 自注意力机制除了在学习长序列上下文依赖关系上比较好之外, 还可以在计算上实现并行, 时间效率高; (2) 输出层槽位序列预测时融入了意图预测信息, 意图信息能为槽标签提供更多目标性的信息, 这里采用门控机制进行两个任务之间的单向交互.
4.2.2 主流模型介绍(1) 基于注意力机制和门控机制的联合建模
针对无关联模型中存在的忽略了两个目标任务之间关联关系的问题, 金山AI实验室和清华大学的Li等人[13]提出了一种基于门控的自注意力模型, 首次将意图信息用于槽位预测, 以此充分利用意图和槽位之间的语义相关性, 其模型如图 9所示. 在该模型中, self-attention层的输出都与输入有个concat, 这种网络结构叫做残差连接[70], 可以解决深层次网络退化问题, 也可以降低一定的信息丢失问题. 与Zhang等人[7]的模型不同, 词嵌入层将命名实体嵌入(named entity embedding)换成了字符级嵌入(character embedding)[83, 84], 在解决OOV问题上更有效. 编码器层使用了两个self-attention, 其中, 第1个self-attention更多地去捕获长序列长距离词之间的依赖关系, 用于共享表示学习; 第2个self-attention将学习到的词依赖关系用于槽位序列标签的预测, 因为对于序列标注来讲, 更多的是需要word-level的信息; 而对于意图分类预测, 更多地需要sentence-level的信息. 门控(gate)的引入, 为第4.1节无关联建模的模型加入了任务之间的关联, gate的设计最初来源于LSTM, 用于解决普通RNN建模长序列时所带来的梯度消失问题. gate更像是一种信息选择器, 它使用意图(intent)预测信息将句子中有实体约束的单词选出来, 有利于槽位序列标签的预测. 最后, 模型通过端到端联合训练, 同时优化两个任务的目标.
![]() |
图 9 具有门控机制的自注意力模型 |
台湾大学信息研究所的Goo等人[12]提出了一种基于意图注意力、槽位注意力和门控机制模型. 与Li等人[13]的模型类似, 都采用了2个注意力层和1个BiLSTM层: 一个是意图注意力(intent attention)层, 被设计用于学习句子中意图特征; 另一个是槽位注意力层, 专注于学习槽位序列特征. 对于门控机制而言, 同样是将意图预测信息用于槽位序列预测上, 有利于相关联的实体约束单词的识别. 在词嵌入层, 本文并没有加入额外的命名实体嵌入或字符级嵌入, 但是与Li等人[13]的模型相比, 性能上并没有明显的下降. 这表明了双向LSTM (BiLSTM)和自注意力机制(self-attention)在句子序列建模和上下文特征学习上十分有效, 而意图任务对于槽位填充任务也有帮助, 只是名字上的命名不同, Goo等人[12]将其命名为Slot Gate.
随着Transformer模型[66]的提出, 越来越多的人受到其出色的性能表现的吸引, 开始挖掘其内部结构的可迁移性. 字节跳动公司的Chen等人[14]于2019年利用其内部的多头注意力机制, 提出了一种用于解决SLU任务的联合模型. 对于嵌入层来说, 与Zhang等人[7]的模型不同, 与Li等人[13]的模型相同, 都在原先词嵌入向量的基础上加入了字符级嵌入向量, 可以缓解存在的OOV问题. 对于编码器层来讲, 都采用了注意力机制和BiLSTM, 不同之处在于: 本文使用了一种多头注意力机制(multi-head local self-attention), 一个self-attention可以学到单词依赖之间的单方面的程度差异, 从而将模型分成多个头, 形成多个子空间, 可以使模型去关注不同方面类型的差异; 同时, 多头注意力层可以进行并行计算, 大大降低了时间成本. 与Li等人[13]的模型相同, 这里也使用BiLSTM的隐藏层输出用于意图识别的预测. 对于输出层, 本文将意图预测信息用于槽位填充任务中, 增强槽位信息. 我们者在文中将其命名为Mask机制, 从形式和运算上来看, 与Li等人[13]和Goo等人[12]的模型中提到的门控机制是一样的功能. 最后, 使用了CRF层约束槽位填充(SF)的输出, 获取全局最优的序列标签. 此模型被应用于在线教育平台, 提供一定的情景对话, 提升中小学生英语口语和听写能力.
(2) 基于堆栈传播的联合建模
门控机制也有一定的不足, 它不能充分地总结和记住意图信息, 并且在槽位填充和意图识别的交互是通过隐藏向量来交互, 造成了整个框架可解释性低. 除了上述门控机制用作这种任务间的单向交互之外, 哈尔滨工业大学SCIR (research center for social computing and information retrieval)的Qin等人[37]提出了一种新颖的堆栈传播(stack-propagation)框架, 引入投票机制整合意图信息, 从而进一步指导槽位填充任务. 图 10最下部分Encoder层使用了之前模型中已经验证过高效的self-attention和BiLSTM结构, 其编码输出向量信息中不仅包含词级别的信息, 还包含句子级别的信息. 图 10中间部分的Token-level Intent Detection decoder层与Goo等人[12]、Li等人[13]和Chen等人[14]所采用的门控机制不同: 一方面, 采用stack-propagation框架直接将意图识别的输出信息作为槽位填充任务的输入, 以指导槽位填充任务的预测, 提高了模型的可解释性; 另一方面, 创新性地提出一种单词级别的意图识别机制, 对每一个单词分别进行意图识别, 最终整个句子的意图由每个单词的意图结果进行统一的投票决定. 然后, 将进行单词级别的意图识别信息传递给对应单词的槽位预测节点, 可以缓解一定的错误传播问题.
![]() |
图 10 联合意图识别和槽位填充的堆栈传播框架 |
意图关联槽位的联合建模与无关联的联合建模相比, 在模型上采用了BiLSTM、注意力机制, 能够更好地学习到长序列长距离句子级别的信息和上下文关注信息. 注意力机制可以实现并行化, 而BiLSTM因其内部的循环结构无法实现并行计算. 在编码阶段, 建模单词、槽位与意图信息时层次不够清晰, 可解释性较弱. 而且这种意图关联槽位的单向交互模型忽略了槽位对意图的作用, 通常, 槽位预测信息对意图识别任务也是非常重要的.
4.2.4 相关文献整理及核心公式意图识别关联槽位填充的联合建模相关文献整理及核心公式见表 6.
![]() |
表 6 意图识别关联槽位填充的联合建模模型及核心公式 |
意图关联槽位的联合模型一方面使用建模长序列能力更加优异的BiLSTM和Attention网络模块, 另一方面还对两个任务之间的关系进行了探索, 将意图预测信息用于槽位填充任务中, 获得了任务整体性能的提升, 在多任务学习上也做出了贡献. 同时, 许多研究人员发现: 意图识别和槽位填充这两个任务并不是相互独立的, 槽位填充任务高度依赖于意图识别的结果, 意图识别也可以指导槽位标签的预测. 一些研究者们在构建SLU模型时考虑了意图与槽位的双向交互关系, 并且探索新的网络结构. 下面将以意图识别与槽位填充双向关联的联合建模的方法展开介绍, 如图 11所示.
![]() |
图 11 意图识别与槽位填充双向关联的联合建模的解决框架 |
基于意图识别与槽位填充双向关联的联合建模与第4.1节、第4.2节所介绍的模型也有两处差异.
(1) 编码层除了采用建模长序列上有优势的BiLSTM/Attention之外, 还探索了CNN和新颖的网络模型Capsule[67]. CNN在视觉领域大放异彩, 主要处理图像问题, 这里被用来建模文本序列问题. Capsule使用动态路由机制进行更新, 网络层次结构清晰, 激活向量更具有解释性.
(2) 从图 11的输出层可以看到: 在意图预测和槽位序列预测之间有双向交互, 探索两个任务之间的促进关系.
4.3.2 主流模型介绍(1) 基于CNN模型的联合建模
Xu等人[60]在2013年提出了基于卷积神经网络和三角链条件随机场(CNN+TriCRF)的联合模型.这个模型是最早提出来用神经网络解决SLU任务的, 所提出的模型结构可以看作三角链CRF[85] (TriCRF)的神经网络版本. 图 12中间编码部分采用CNN网络, CNN可以借助多个不同尺度的卷积核提取序列特征, 其输出直接被用来做意图和槽位任务的预测. 图 12最左上部分是槽位预测, 直接采用卷积层得到的高维特征作为输入. 图 12最右上部分是意图预测, 对卷积层输出直接采用max pooling得到的整句表示向量作为输入. 最后, 输出层采用Tri-CRF构造特征函数建模意图与槽位之间的双向交互. Tri-CRF模型与线性CRF的区别是输入之前用一个前向网络来得到每个标签的分类.
![]() |
图 12 基于CNN的联合槽位填充和意图检测 |
(2) 基于LSTM模型的联合建模
与Liu等人[9]提出的编解码模型不同, 2018年, 三星美国研究院的Wang等人[38]对输入序列分别应用BiLSTM, 提出了一种带有解码器的双模型架构. 从图 13中可以看到, 有上、下两个编解码层: 意图识别任务网络和槽位填充模型任务网络.
![]() |
图 13 带有解码器的双模型架构 |
● 对于意图识别网络部分, 首先采用双向LSTM学习长序列句子信息, 然后将每个时刻产生的双向隐藏向量输入给一个单向LSTM, 最后的隐藏层输出用作意图预测.
● 与意图识别部分相同, 槽位填充网络将单向的LSTM每个时刻产生的隐藏输出向量用于槽序列标签的预测.
在任务交互方面, 第4.2节采用门控机制将意图信息用于槽位填充任务的预测, Xu等人[60]的模型是采用Tri-CRF构建意图和槽位的双向交互. 本文与Qin等人[37]的模型使用的任务交互方式相同, 都是将输出的隐藏向量直接用于另一任务的预测. 这种方式可以使意图与槽位任务之间的交互更加充分, 提高了模型的可解释性.
(3) 基于迭代机制的联合建模
2019年, 北京邮电大学的E等人[15]使用迭代机制建模意图识别和槽位填充的双向关联关系. 图 14是该模型的整体架构, 输入与大多模型类似, 仅采用单词嵌入, 编码器层与第4.2节模型所采用的网络模块相同, BiLSTM和self-attention组合使用, 不仅获取了长序列句子级别的语义信息, 也得到了单词级别的上下文关注信息. 与Goo等人[12]的模型十分相似, 都设计了意图注意力模块和槽位注意力模块. 不同点是两个任务的交互上, 如图 14右侧部分, 我们设计了SF-ID网络——ID子网和SF子网来建立两个任务的信息交互, 以帮助彼此相互促进. SF子网引入相关因子, 将意图信息应用于槽位填充任务; 而ID子网也计算一个相关因子, 将槽位信息用于意图识别任务. 这里的相关因子其实与门控机制相似. 然后, 这两个子网通过迭代机制进行训练. 最后, 输出层与Zhang等人[7]的模型相同, 在SF子网的输出上添加了CRF层, 可以获得话语标签序列的最佳链.
![]() |
图 14 基于SF-ID网络的模型结构 |
同年, Zhang等人[39]提出了一种新颖的基于胶囊网络的联合意图识别和槽位填充的双向关联模型. 胶囊网络是Geoffrey Hinton在2017年提出的一种新型神经网络结构, 主要是为了解决卷积神经网络的一些缺点(例如平移不变性、大量数据来泛化等). 和E等人[15]的模型一样, 采用了BiLSTM生成每个单词的向量表示.而与之前提到的模型不同之处是: 我们将胶囊网络应用在SLU任务中, 建立显式的单词、槽位和意图之间的层次关系, 结构清晰, 可解释性更强. 网络更新时, 通过动态协议路由机制将学到的槽位信息增强意图标签的预测, 还涉及了一种重路由协议机制, 将学习到的意图信息完善槽位标签的预测. 文献中使用相同的数据集与现成的系统服务(api.ai, wit.ai, snips.ai等)做了比较, 整体性能上具有一定的优势.
4.3.3 双向关联的联合建模存在的共性问题与无关联的联合建模模型相比, 双向关联的联合建模模型使用了具有更强序列建模能力的BiLSTM和self-attention网络模块, 同时考虑了两个任务之间的双向交互. 与意图关联槽位的联合建模模型相比, 网络编码器层使用网络结构基本相同. 在任务交互上, 后者采用门控机制将意图预测信息增强槽位序列标签预测, 前者使用迭代机制/动态协议路由机制, 使得意图预测与槽位预测能够充分利用彼此的信息实现相互的促进. 虽然双向关联模型在建模能力与性能上都达到了最优, 但是仍然存在一些不足: (1) 使用了BiLSTM, 在并行计算上有一定的限制; (2) 当任务交互时, 迭代机制增加了超参数, 动态协议路由机制计算效率不高; (3) 传统的词嵌入无法很好地处理未知或罕见的词汇(OOV问题), 而字级别嵌入作为OOV的解决方法粒度过细.
4.3.4 相关文献整理及核心公式意图识别与槽位填充双向关联的联合建模相关文献整理及核心公式见表 7.
![]() |
表 7 意图识别与槽位填充双向关联的联合建模模型及核心公式 |
参考鄂海红[86]在《软件学报》中对不同模型的数据集与评测标准的整理方式, 本文对不同模型的模型对比整理见表 8, 数据集及其评测标准整理见表 9. 其中, Self-Attentive Gate Model[13]和Bi-Model[38]的评测结果来源于哈尔滨工业大学SCIR[37]对模型的重新实现.
![]() |
表 8 口语理解的联合建模对比 |
![]() |
表 9 不同模型的数据集及其评测标准(%) |
表 9中的序号与表 8中的序号一致, 序号1−5是意图识别与槽位填充无关联的联合建模及其相关信息, 序号6−9是意图识别关联槽位填充的联合建模及其相关信息, 序号10−13是意图识别与槽位填充双向关联的联合建模及相关信息. 表 9中有3个评测指标: 意图识别准确率(Acc)、槽位填充F1得分(F1)和总体准确率(Acc). 接下来的介绍中, 我们直接使用“模型+序号”的形式代替模型名称.
● 无关联的联合建模方法
模型1使用RecNN构建网络模型, 解码时使用Viterbi算法. 在ATIS数据集上, slot得分和intent得分分别获得了93.2%和95.4%. 模型1的优点是: (1) 与传统的机器学习不同, RecNN自动抽取序列特征; (2) 采用句法树构建的树状网络结构使用了更多的先验信息. 其缺点是: (1) 首先要生成句法树, 而句法树是在有监督的数据集上训练得到的, 时间和人工成本高; (2) 树状结构节点更新时计算复杂度高. 而在2016年提出的模型2−4都采用了一种线性链RNN的网络结构, 替换了模型1中的树状结构RecNN, 线性链的计算效率高一些. 但是普通的RNN结构在训练时通常会出现长依赖的梯度消失问题, 因此, 一些研究人员设计了一种带有门控机制的RNN变体: LSTM和GRU, 有效地解决了这个问题. 模型2和模型4采用了BiLSTM, 模型3使用了BiGRU, 这两种双向的循环神经网络区别不大, 都可以很好地建模长序列的句子级别的前后向信息, 只是BiGRU使用两个门控(更新门、重置门)简化了BiLSTM的结构(记忆单元), 降低了参数量. 其中, 模型2与模型4表现相当, 在SNIPS数据集上也做了实验, slot得分高于87%, intent得分高于96.5%, overall得分高于73%.而模型3在ATIS数据集上的表现更好, 在slot得分和intent得分上分别比模型1高出2.2%和2.7%. 主要原因是: (1) 嵌入层表示除了词嵌入外还加入了实体嵌入表示信息, 这些实体信息对整个任务有一定的帮助作用; (2) 输出层加入了条件随机场(CRF), 模拟标签转移, 以此获取全局最优解, 常常对采用了softmax的序列预测结果有一定的提升. 最后, 模型5是2019年提出来的. 它是基于预训练BERT构建的, 将在大规模数据集上预训练的结果迁移到SLU任务上. BERT使用WordPiece嵌入作为输入向量, 比传统的空格分隔tokenization技术, 能够更好地处理未知或罕见的词汇(OOV)问题. 在网络建模上, 模型1−4都是基于RNN的模型, 虽然可以有效地抽取文本序列特征, 但是这种递归/循环结构无法实现计算上的并行. 而模型5采用了多头注意力机制, 不仅可以有效地捕获长序列长距离句子级或单词级上下文信息, 还可以实现GPU上的高速并行计算, 时间效率高. 实验结果表明: 在ATIS数据集上, slot得分96.1%, intent得分97.5%, overall得分88.2%, 比模型1−4性能上整体高出约为1%−5%. 在SNIPS数据集上, slot得分97.0%, intent得分98.6%, overall得分92.8%, 比模型1−4性能上整体提升了大约2%−19%.
● 意图关联槽位的联合建模与无关联联合建模方法对比
模型6−9对于SLU任务建模时, 除了使用在无关联模型中得到验证的、效果较好的BiLSTM外, 还融入了许多自注意力(self-attention)的使用. 注意力(attention)模块最早是作为编解码框架的一部分被Bahdanau等人[10]提出来, 用于解决机器翻译中解码文本序列与编码文本序列的单词之间的对齐问题. 由此, 产生出了self-attention模块进行特征抽取. 从实验结果上看: 模型6−8在ATIS数据集和SNIPS数据集上效果都很好, 比无关联模型中非迁移学习的联合建模方法的评测指标相对高一些. 其中, 模型8性能更好, 在ATIS数据集上的intent得分高达98.9%, 比采用了迁移学习的模型5的slot得分和intent得分分别还高出0.4%和1.4%. 在SNIPS数据集上, intent得分比模型5高1.1%, slot得分低了3.1%. 主要原因是: (1) 加了attention模块与BiLSTM组合使用, 建模长序列长距离句子的上下文能力更强; (2) 模型8使用了多头注意力机制, 在特征抽取和建模上下文信息上, 比单个attention模块要强, 可以学习到多种类型的关注信息; (3) 使用门控机制将意图信息用于槽位序列预测, 可以有效地缩小可预测的槽位空间. 最后, 模型9是由哈尔滨工业大学提出的, 在任务交互上直接通过隐藏向量来交互, 避免了门控机制不能充分的总结和记住意图信息的问题. 实验结果在SNIPS数据集上slot得分是94.2%, 比采用了门控机制的模型表现要好. 在意图预测时, 提出了一种单词级别的意图识别机制, 通过每个单词对应的意图结果进行投票决定, 可以缓解一定的错误级联的问题. 实验结果表明, 模型9在两个数据集上的overall得分都达到了最优. 而加入了预训练的模型9, 在实验结果上表现优异, 比基于BERT的模型5整体指标都好, 在SNIPS数据集上的intent得分更是达到了99.0%.
● 双向关联的联合建模与意图关联槽位的建模方法对比
模型10是最早提出来用神经网络模型对SLU任务进行联合建模的, 该模型编码层使用CNN网络提取不同尺度的序列特征, 输出层使用Tri-CRF对任务进行联合建模, 其中, 表 7中定义的特征函数g(Yi, Z)建模了意图和槽位的交互关系. 实验结果表明: 在ATIS数据集上, slot得分和intent得分分别获得了95.4%和94.0%, 比模型6的slot得分高0.3%, intent得分低了2.8%. 我们将其原因归结于: (1) CRF在序列建模上有优势, 模拟标签转移, 以此获取全局最优解; (2) CNN网络在提取长距离特征上受到卷积感受野的限制, 比BiLSTM建模长依赖句子上下文信息能力弱. 模型11−13在建模网络模型选择上与意图关联槽位的模型一样, 都使用了BiLSTM. 不同之处主要在任务交互上, 模型11与模型9相同都使用直接隐向量实现意图与槽位的交互, 不同之处是前者使用双向交互, 后者是单向的交互. 模型12与模型13是采用迭代机制的双向交互, 而模型13使用了更加新颖的胶囊网络, 构建了单词、意图和槽位上更加清晰的层次关系. 实验结果表明: 在ATIS数据集上的slot得分是95.2%, intent得分是95.0%, overall得分是83.4%. 比模型7对应的指标分别高出0.4%, 1.4%和1.2%. 我们将其原因归结为: (1) 意图与槽位的双向交互对任务有积极的促进作用; (2) 使用胶囊网络构建了单词、槽位和意图的清晰的层次关系, 有利于任务的学习.
6 总结口语理解任务目前是自然语言处理领域的研究热点之一, 越来越多的研究者在EMNLP, IJCAI, NAACL和ACL等重要的国际会议上提交了该领域的研究成果. 本文对口语理解任务的相关背景技术进行了阐述, 给出了任务定义、框架结构和相关的深度学习核心技术, 分别对基于深度学习的无关联的联合建模、意图关联槽位的联合建模、双向关联的联合建模方法进行了分类介绍和相关技术特点的对比分析, 列举了这些模型在主要的公开数据集上的评测指标, 并对其在模型和实验结果上进行了详细的分析. 最后, 在表 10中列出了主流模型的源代码链接.
![]() |
表 10 意图识别与槽位填充联合建模的模型论文地址和源代码链接 |
随着深度学习算法的不断发展, 以深度学习为主要手段的人工智能技术在自然语言处理领域得到了广泛的应用. 人机对话也不再只局限于简单的控制命令了, 而是能够进一步地实现人类本身的自然语言的理解, 这主要归功于全世界的研究者在深度学习上做出的巨大贡献. 口语理解是人机对话中的关键任务, 从早期的SVM[21], CRF[28], RecNN[30], RNN[25]等独立建模方法, 到目前主流的Self-attentive Gate Model[13], SF-ID network[15], Stack-propagation[37], BERT SLU[61]等联合建模方法, 模型的表示学习能力和任务性能都得到了很大的提升. 但是, 许多关键性问题仍值得深入探索. 本文总结了以下5个有待研究的方向.
(1) 意图与槽位任务交互的错误传播问题. 目前, 意图识别与槽位填充有关联的联合建模方法效果较好. 它们采用了门控机制、直接隐向量或迭代机制进行任务之间的交互. 但是在交互过程中, 一旦句子的意图识别错误, 就会引入错误的意图信息, 误导所有单词的槽位预测; 反之也一样. 这种错误传播问题使得模型训练变得困难, 并且无法快速收敛. 因此, 未来意图与槽位任务交互的错误传播问题, 仍会是学者们需要研究和攻克的一大难题.
(2) 模型的容错性问题. 口语文本是由自动语音识别技术(automatic speech recognition, ASR)生成的, 常常伴随着一些错别字, 这些错别字可能会对意图识别有影响; 另外, 如果这些错别字是实体的一部分, 槽位预测就不可能正确. 目前所提出的这些模型都忽略了这个问题, 认为这些文本是无别字的.因此, 如何采用有效的方式去解决文本中出现大量错别字时模型的容错性问题, 是SLU任务发展过程中需要研究的重要问题.
(3) 通过强化学习构建模型表示方法. 强化学习[87]与环境进行交互获取奖赏值来改变行为的学习方式, 更像是人类学习时的经验总结. 在自然语言处理领域, 强化学习在文本分类[88]、关系抽取[89]、对话生成等方面都取得了不错的成绩. 口语理解任务也可以通过强化学习方法构建策略模型和价值模型学习句子表示. 目前, 强化学习在口语理解任务上还未进行探索.
(4) 构建多意图识别和槽位填充的联合模型. 口语理解中, 有时候一句话可能包含多个意图, 比如帮我预定某某酒店, 现在打个滴滴快车过去. 这句话包含两个意图: 预定酒店和打车. 我们在日常生活中这种表达方式还是比较常见的, 而目前的方法只能分类单个意图. 因此, 如何构建多意图识别和槽位填充的联合模型, 也是未来亟待解决的问题之一.
(5) 基于预训练最新进展的联合建模方法. 近年来, 预训练模型得到了广泛的发展, 不仅在学术界得到了认可, 在工业界也被应用到具体的产品上, 大大提升了用户体验. 它是在大规模语料上训练得到的, 迁移到其他任务上性能表现优异; 并且采用了WordPiece/BPE的词分割算法, 可以有效地解决OOV问题. 整个模型是基于Transformer架构的, 能够实现并行计算. 本文中, Chen等人[61]和Qin等人[37]介绍了基于早期提出的预训练模型BERT构建的口语理解的联合建模方法, 对于之后提出的自回归模型(XLNet)和自编码模型(RoBERTa, ELECTRA, ALBERT等)[90], 还未进行探索.
[1] |
LeCun Y, Bengio Y, Hinton G. Deep learning. Nature, 2015, 521(7553): 436-444.
[doi:10.1038/nature14539] |
[2] |
Chen C, Zhu QQ, Yan R, Liu JF. Survey on deep learning based open domain dialogue system. Chinese Journal of Computers, 2019, 42(7): 1439-1466(in Chinese with English abstract).
https://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201907001.htm |
[3] |
López-Cózar R, Callejas Z, Griol D, et al. Review of spoken dialogue systems. Loquens, 2014, 1(2): 2386-2637.
|
[4] |
Hou LX, Li YL, Li CC. Review of research on task-oriented spoken language understanding. Computer Engineering and Applications, 2019, 55(11): 7-15(in Chinese with English abstract).
[doi:10.3778/j.issn.1002-8331.1901-0056] |
[5] |
Chen H, Liu X, Yin D, et al. A survey on dialogue systems: Recent advances and new frontiers. ACM SIGKDD Explorations Newsletter, 2017, 19(2): 25-35.
[doi:10.1145/3166054.3166058] |
[6] |
Gao J, Galley M, Li L. Neural approaches to conversational AI. Foundations and Trends? in Information Retrieval, 2019, 13(2-3): 127-298.
[doi:10.1561/1500000074] |
[7] |
Zhang X, Wang H. A joint model of intent determination and slot filling for spoken language understanding. In: Proc. of the 25th Int'l Joint Conf. on Artificial Intelligence. 2016. 2993−2999.
|
[8] |
Guo D, Tur G, Yih W, et al. Joint semantic utterance classification and slot filling with recursive neural networks. In: Proc. of the IEEE Spoken Language Technology Workshop (SLT). IEEE, 2014. 554−559.
|
[9] |
Liu B, Lane I. Attention-based recurrent neural network models for joint intent detection and slot filling. arXiv: 1609.01454, 2016.
|
[10] |
Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate ICLR. In: Proc. of the Int'l Conf. on Learning Representations. 2015.
|
[11] |
Luong MT, Pham H, Manning CD. Effective approaches to attention-based neural machine translation. In: Proc. of the Conf. on Empirical Methods in Natural Language Processing. 2015. 1412−1421.
|
[12] |
Goo CW, Gao G, Hsu YK, et al. Slot-gated modeling for joint slot filling and intent prediction. In: Proc. of the Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Vol. 2. 2018. 753−757.
|
[13] |
Li C, Li L, Qi J. A self-attentive model with gate mechanism for spoken language understanding. In: Proc. of the Conf. on Empirical Methods in Natural Language Processing. 2018. 3824−3833.
|
[14] |
Chen M, Zeng J, Lou J. A self-attention joint model for spoken language understanding in situational dialog applications. arXiv: 1905.11393, 2019.
|
[15] |
E HH, Niu P, Chen Z, et al. A novel bi-directional interrelated model for joint intent detection and slot filling. In: Proc. of the 57th Annual Meeting of the Association for Computational Linguistics. 2019. 5467−5471.
|
[16] |
Gorin AL, Riccardi G, Wright JH. How may I help you?. Speech Communication, 1997, 23(1-2): 113-127.
[doi:10.1016/S0167-6393(97)00040-X] |
[17] |
Price P. Evaluation of spoken language systems: The ATIS domain. In: Proc. of the Speech and Natural Language: Proc. of a Workshop Held at Hidden Valley. 1990. 91−95.
|
[18] |
De Mori R. Spoken language understanding: A survey. In: Proc. of the IEEE Workshop on Automatic Speech Recognition & Understanding (ASRU). IEEE, 2007. 365−376.
|
[19] |
Young S. Talking to machines (statistically speaking). In: Proc. of the 7th Int'l Conf. on Spoken Language Processing. 2002.
|
[20] |
Hahn S, Dinarelli M, Raymond C, et al. Comparing stochastic approaches to spoken language understanding in multiple languages. IEEE Trans. on Audio, Speech, and Language Processing, 2010, 19(6): 1569-1583.
|
[21] |
Haffner P, Tur G, Wright JH. Optimizing SVMs for complex call classification. In: Proc. of the IEEE Int'l Conf. on Acoustics, Speech, and Signal Processing (ICASSP 2003), Vol. 1. IEEE, 2003. 632−635.
|
[22] |
Schapire RE, Singer Y. BoosTexter: A boosting-based system for text categorization. Machine Learning, 2000, 39(2-3): 135-168.
|
[23] |
Fu B, Liu T. Implicit user consumption intent recognition in social media. Ruan Jian Xue Bao/Journal of Software, 2016, 27(11): 2843-2854(in Chinese with English abstract).
http://www.jos.org.cn/1000-9825/4870.htm [doi:10.13328/j.cnki.jos.004870] |
[24] |
Deoras A, Sarikaya R. Deep belief network based semantic taggers for spoken language understanding. In: Proc. of the Interspeech. 2013. 2713−2717.
|
[25] |
Ravuri S, Stolcke A. Recurrent neural network and LSTM models for lexical utterance classification. In: Proc. of the 16th Annual Conf. of the Int'l Speech Communication Association. 2015. 135−139.
|
[26] |
Zhang ZC, Zhang ZW, Zhang ZM. User intent classification based on IndRNN-attention. Journal of Computer Research and Development, 2019, 56(7): 1517-1524(in Chinese with English abstract).
https://www.cnki.com.cn/Article/CJFDTOTAL-JFYZ201907016.htm |
[27] |
Zhou JZ, Zhu ZK, He ZQ, Chen WL, Zhang M. Hybrid neural network models for human-machine dialogue intention classification. Ruan Jian Xue Bao/Journal of Software, 2019, 30(11): 3313-3325(in Chinese with English abstract).
http://www.jos.org.cn/1000-9825/5862.htm [doi:10.13328/j.cnki.jos.005862] |
[28] |
Raymond C, Riccardi G. Generative and discriminative algorithms for spoken language understanding. In: Proc. of the 8th Annual Conf. of the Int'l Speech Communication Association. 2007. 1605−1608.
|
[29] |
McCallum A, Freitag D, Pereira FCN. Maximum entropy Markov models for information extraction and segmentation. In: Proc. of the 17th Int'l Conf. on Machine Learning. 2000. 591−598.
|
[30] |
Yao K, Zweig G, Hwang MY, et al. Recurrent neural networks for language understanding. In: Proc. of the Interspeech. 2013. 2524−2528.
|
[31] |
Yao K, Peng B, Zweig G, et al. Recurrent conditional random field for language understanding. In: Proc. of the IEEE Int'l Conf. on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2014. 4077−4081.
|
[32] |
Mesnil G, He X, Deng L, et al. Investigation of recurrent-neural-network architectures and learning methods for spoken language understanding. In: Proc. of the Interspeech. 2013. 3771−3775.
|
[33] |
Yao K, Peng B, Zhang Y, et al. Spoken language understanding using long short-term memory neural networks. In: Proc. of the IEEE Spoken Language Technology Workshop (SLT). IEEE, 2014. 189−194.
|
[34] |
Simonnet E, Camelin N, Deléglise P, et al. Exploring the use of attention-based recurrent neural networks for spoken language understanding. In: Proc. of the Machine Learning for Spoken Language Understanding and Interaction NIPS 2015 Workshop (SLUNIPS 2015). Montreal, 2015. 642−650.
|
[35] |
Zhu S, Yu K. Encoder-decoder with focus-mechanism for sequence labelling based spoken language understanding. In: Proc. of the IEEE Int'l Conf. on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2017. 5675−5679.
|
[36] |
Hakkani-Tür D, Tür G, Celikyilmaz A, et al. Multi-domain joint semantic frame parsing using bi-directional RNN-LSTM. In: Proc. of the Interspeech. 2016. 715−719.
|
[37] |
Qin L, Che W, Li Y, et al. A stack-propagation framework with token-level intent detection for spoken language understanding. In: Proc. of the Conf. on Empirical Methods in Natural Language Processing and the 9th Int'l Joint Conf. on Natural Language Processing (EMNLP-IJCNLP). 2019. 2078−2087.
|
[38] |
Wang Y, Shen Y, Jin H. A Bi-model based RNN semantic frame parsing model for intent detection and slot filling. In: Proc. of the Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Vol. 2. 2018. 309−314.
|
[39] |
Zhang C, Li Y, Du N, et al. Joint slot filling and intent detection via capsule neural networks. In: Proc. of the 57th Annual Meeting of the Association for Computational Linguistics. 2019. 5259−5267.
|
[40] |
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2014. 580−587.
|
[41] |
Girshick R. Fast R-CNN. In: Proc. of the IEEE Int'l Conf. on Computer Vision. 2015. 1440−1448.
|
[42] |
Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. In: Proc. of the Advances in Neural Information Processing Systems. 2015. 91−99.
|
[43] |
Lin TY, Goyal P, Girshick R, et al. Focal loss for dense object detection. In: Proc. of the IEEE Int'l Conf. on Computer Vision. 2017. 2980−2988.
|
[44] |
Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector. In: Proc. of the European Conf. on Computer Vision. Cham: Springer, 2016. 21−37.
|
[45] |
Redmon J, Farhadi A. Yolov3: An incremental improvement. arXiv: 1804.02767, 2018.
|
[46] |
Li YG, Zhou XG, Sun Y, Zhang HG. Research and implementation of Chinese microblog sentiment classification. Ruan Jian Xue Bao/Journal of Software, 2017, 28(12): 3183-3205(in Chinese with English abstract).
http://www.jos.org.cn/1000-9825/5283.htm [doi:10.13328/j.cnki.jos.005283] |
[47] |
Wu RS, Wang HL, Wang ZQ, Zhou GD. Short text summary generation with global self-matching mechanism. Ruan Jian Xue Bao/ Journal of Software, 2019, 30(9): 2705-2717(in Chinese with English abstract).
http://www.jos.org.cn/1000-9825/5850.htm [doi:10.13328/j.cnki.jos.005850] |
[48] |
Qiu M, Li FL, Wang S, et al. Alime chat: A sequence to sequence and rerank based chatbot engine. In: Proc. of the 55th Annual Meeting of the Association for Computational Linguistics, Vol. 2. 2017. 498−503.
|
[49] |
Xu H, Zhang H, Han K, et al. Learning alignment for multimodal emotion recognition from speech. arXiv: 1909.05645, 2019.
|
[50] |
Codevilla F, Miiller M, López A, et al. End-to-end driving via conditional imitation learning. In: Proc. of the IEEE Int'l Conf. on Robotics and Automation (ICRA). IEEE, 2018. 1−9.
|
[51] |
Badue C, Guidolini R, Carneiro RV, et al. Self-driving cars: A survey. arXiv: 1901.04407, 2019.
|
[52] |
Leydesdorff L, Vaughan L. Co-occurrence matrices and their applications in information science: Extending ACA to the Web environment. Journal of the American Society for Information Science and, Technology, 2006, 57(12): 1616-1628.
[doi:10.1002/asi.20335] |
[53] |
Blei DM, Ng AY, Jordan MI. Latent dirichlet allocation. Journal of Machine Learning Research, 2003, 3: 993-1022.
|
[54] |
Deerwester S, Dumais ST, Furnas GW, et al. Indexing by latent semantic analysis. Journal of the American Society for Information Science, 1990, 41(6): 391-407.
[doi:10.1002/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO;2-9] |
[55] |
Bengio Y, Ducharme R, Vincent P, et al. A neural probabilistic language model. Journal of Machine Learning Research, 2003, 3: 1137-1155.
|
[56] |
Mikolov T, Kombrink S, Deoras A, et al. RNNLM-recurrent neural network language modeling toolkit. In: Proc. of the ASRU Workshop. 2011. 196−201.
|
[57] |
Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space. arXiv: 1301.3781, 2013.
|
[58] |
Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality. In: Proc. of the Advances in Neural Information Processing Systems. 2013. 3111−3119.
|
[59] |
Mikolov T. word2vec. 2013. https://code.google.com/archive/p/word2vec.2013.
|
[60] |
Xu P, Sarikaya R. Convolutional neural network based triangular CRF for joint intent detection and slot filling. In: Proc. of the IEEE Workshop on Automatic Speech Recognition and Understanding. IEEE, 2013. 78−83.
|
[61] |
Chen Q, Zhuo Z, Wang W. Bert for joint intent classification and slot filling. arXiv: 1902.10909, 2019.
|
[62] |
Rumelhart DE, Hinton GE, Williams RJ. Learning representations by back propagating errors. Nature, 1986, 323: 533-536.
[doi:10.1038/323533a0] |
[63] |
Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model. In: Proc. of the 11th Annual Conf. of the Int'l Speech Communication Association. 2010. 1045−1048.
|
[64] |
Hochreiter S, Schmidhuber J. Long short-term memory. Neural Computation, 1997, 9(8): 1735-1780.
[doi:10.1162/neco.1997.9.8.1735] |
[65] |
Cho K, van Merriënboer B, Bahdanau D, et al. On the properties of neural machine translation: Encoder–decoder approaches. In: Proc. of the 8th Workshop on Syntax, Semantics and Structure in Statistical Translation (SSST-8). 2014. 103−111.
|
[66] |
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need. In: Proc. of the Advances in Neural Information Processing Systems. 2017. 5998−6008.
|
[67] |
Sabour S, Frosst N, Hinton GE. Dynamic routing between capsules. In: Proc. of the Advances in Neural Information Processing Systems. 2017. 3856−3866.
|
[68] |
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. In: Proc. of the Advances in Neural Information Processing Systems. 2012. 1097−1105.
|
[69] |
Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2015. 1−9.
|
[70] |
He K, Zhang X, Ren S, et al. Deep residual learning for image recognition. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2016. 770−778.
|
[71] |
Hemphill CT, Godfrey JJ, Doddington GR. The ATIS spoken language systems pilot corpus. In: Proc. of the Speech and Natural Language: Proc. of a Workshop Held at Hidden Valley. Pennsylvania, 1990. 96−101.
|
[72] |
Coucke A, Saade A, Ball A, et al. Snips voice platform: An embedded spoken language understanding system for private-by-design voice interfaces. arXiv: 1805.10190, 2018.
|
[73] |
Lai S, Xu L, Liu K, et al. Recurrent convolutional neural networks for text classification. In: Proc. of the 29th AAAI Conf. on Artificial Intelligence. 2015. 2267−2273.
|
[74] |
Boden M. A guide to recurrent neural networks and backpropagation. The Dallas Project, 2002, 2: 1-10.
|
[75] |
Luong MT, Le QV, Sutskever I, et al. Multi-task sequence to sequence learning. arXiv: 1511.06114, 2015.
|
[76] |
Venugopalan S, Rohrbach M, Donahue J, et al. Sequence to sequence-video to text. In: Proc. of the IEEE Int'l Conf. on Computer Vision. 2015. 4534−4542.
|
[77] |
Graves A, Schmidhuber J. Framewise phoneme classification with bidirectional LSTM and other neural network architectures. Neural Networks, 2005, 18(5-6): 602-610.
[doi:10.1016/j.neunet.2005.06.042] |
[78] |
Sutskever I, Vinyals O, Le QV. Sequence to sequence learning with neural networks. In: Proc. of the Neural Information Processing Systems. Montreal, 2014. 3104−3112.
|
[79] |
Graves A, Jaitly N, Mohamed A. Hybrid speech recognition with deep bidirectional LSTM. In: Proc. of the IEEE Workshop on Automatic Speech Recognition and Understanding. IEEE, 2013. 273−278.
|
[80] |
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding. In: Proc. of the Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Vol. 1. 2019. 4171−4186.
|
[81] |
Wu Y, Schuster M, Chen Z, et al. Google's neural machine translation system: Bridging the gap between human and machine translation. arXiv: 1609.08144, 2016.
|
[82] |
Forney GD. The viterbi algorithm. Proc. of the IEEE, 1973, 61(3): 268-278.
[doi:10.1109/PROC.1973.9030] |
[83] |
Kim Y, Jernite Y, Sontag D, et al. Character-aware neural language models. In: Proc. of the 30th AAAI Conf. on Artificial Intelligence. 2016. 2741−2749.
|
[84] |
Zhang Y, Wallace B. A sensitivity analysis of (and practitioners' guide to) convolutional neural networks for sentence classification. arXiv: 1510.03820, 2015.
|
[85] |
Jeong M, Lee GG. Triangular-chain conditional random fields. IEEE Trans. on Audio, Speech, and Language Processing, 2008, 16(7): 1287-1302.
[doi:10.1109/TASL.2008.925143] |
[86] |
E HH, Zhang WJ, Xiao SQ, Cheng R, Hu YX, Zhou XS, Niu PQ. Survey of entity relationship extraction based on deep learning. Ruan Jian Xue Bao/Journal of Software, 2019, 30(6): 1793-1818(in Chinese with English abstract).
http://www.jos.org.cn/1000-9825/5817.htm [doi:10.13328/j.cnki.jos.005817] |
[87] |
Sutton RS, Barto AG. Reinforcement Learning: An Introduction. MIT Press, 2018.
|
[88] |
Zhang T, Huang M, Zhao L. Learning structured representation for text classification via reinforcement learning. In: Proc. of the 32nd AAAI Conf. on Artificial Intelligence. 2018. 6053−6060.
|
[89] |
Zeng X, He S, Liu K, et al. Large scaled relation extraction with reinforcement learning. In: Proc. of the 32nd AAAI Conf. on Artificial Intelligence. 2018. 5658−5665.
|
[90] |
Qiu X, Sun T, Xu Y, et al. Pre-trained models for natural language processing: A survey. Science China Technological Sciences, 2020, 63: 1872-1897.
[doi:10.1007/s11431-020-1647-3] |
[2] |
陈晨, 朱晴晴, 严睿, 柳军飞. 基于深度学习的开放领域对话系统研究综述. 计算机学报, 2019, 42(7): 1439-1466.
https://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201907001.htm |
[4] |
侯丽仙, 李艳玲, 李成城. 面向任务口语理解研究现状综述. 计算机工程与应用, 2019, 55(11): 7-15.
[doi:10.3778/j.issn.1002-8331.1901-0056] |
[23] |
付博, 刘挺. 社会媒体中用户的隐式消费意图识别. 软件学报, 2016, 27(11): 2843-2854.
http://www.jos.org.cn/1000-9825/4870.htm [doi:10.13328/j.cnki.jos.004870] |
[26] |
张志昌, 张珍文, 张治满. 基于IndRNN-Attention的用户意图分类. 计算机研究与发展, 2019, 56(7): 1517-1524.
https://www.cnki.com.cn/Article/CJFDTOTAL-JFYZ201907016.htm |
[27] |
周俊佐, 朱宗奎, 何正球, 陈文亮, 张民. 面向人机对话意图分类的混合神经网络模型. 软件学报, 2019, 30(11): 3313-3325.
http://www.jos.org.cn/1000-9825/5862.htm [doi:10.13328/j.cnki.jos.005862] |
[46] |
李勇敢, 周学广, 孙艳, 张焕国. 中文微博情感分析研究与实现. 软件学报, 2017, 28(12): 3183-3205.
http://www.jos.org.cn/1000-9825/5283.htm [doi:10.13328/j.cnki.jos.005283] |
[47] |
吴仁守, 王红玲, 王中卿, 周国栋. 全局自匹配机制的短文本摘要生成方法. 软件学报, 2019, 30(9): 2705-2717.
http://www.jos.org.cn/1000-9825/5850.htm [doi:10.13328/j.cnki.jos.005850] |
[86] |
鄂海红, 张文静, 肖思琪, 程瑞, 胡莺夕, 周筱松, 牛佩晴. 深度学习实体关系抽取研究综述. 软件学报, 2019, 30(6): 1793-1818.
http://www.jos.org.cn/1000-9825/5817.htm [doi:10.13328/j.cnki.jos.005817] |