第3章基于单模型的意图分类 3.引言 1 .................... 意图分类是许多自然语言理解任务和对话系统的关键预处理步骤,因为它允许将特 定类型的话语分配到特定的子系统中。目前,在已有的相关研究工作中,已经探索了许多 类型的神经网络(NeuralNetwork,NN)架构,这些神经网络模型包括前馈神经网络和循 环神经网络的结构。其主要目的是实现词汇的意图分类,并进一步发现未知意图。在本 章中,将对两种领域的意图分类任务的神经网络模型进行更全面的介绍和比较,包括长短 时记忆网络和门控循环单元网络。此外,鉴于之前的工作局限于相对较小和可控的对话 数据集,因此,本章介绍基于从Cortana个人助理应用程序获得的大型对话数据集的测试 实验比较情况。 本章首先将前馈神经网络、循环神经网络和门控网络(如LSTM 和GRU)相互比较。 其次,本章比较了标准的单词向量模型和将单词编码为字符 n 字集的表示,以缓解超出 词汇表的问题。实验结果表明,在几乎所有情况下,标准词向量优于基于字符的词表示。 通过将神经网络模型的分数与N-gram 语言模型的对数似然比进行线性组合,得到最佳 分类结果。 使用深度神经网络模型的原因是由于之前基于N-gram 的分类方法面临两个基本的 问题:由于N-gram 的时间范围有限及其稀疏性的特点,因此需要大量的训练数据来进 行良好的泛化。选择建模的N-gram 越长,稀疏性问题就越严重。为了解决数据的稀疏 性,可以尝试为N-gram 引入外部训练数据[61],但这些方法最终受到了N-gram 分布的领 域特定特性的限制(从外部数据训练的模型通常不能通用化)。神经网络语言模型[62]能 够使外部数据进行单词嵌入训练,并对模型进行改进。 然而,神经网络语言模型(NeuralNetworkLanguageModels,NNLM)和标准的Ngram 语言模型一样面临着一个问题:N-gram 有限的时间范围可能使其无法对依赖于时 间上下文关系的文本内容进行有效的意图分类。基于循环神经网络(RNN)和长短时记 忆(LSTM)[63]的模型在少量数据任务上确实优于标准的N-gram 模型,但它们如何与神 面向共融机器人的自然交互———人机对话意图理解 经网络语言模型进行比较性研究仍是一个未解决的问题。由于之前的对话意图分类任务 中标准单词向量的比较并不确定,因此在大量数据环境下研究基于字符N-gram[64]的单 词表示的分类方法是必要的。 本章的目的是比较前馈神经网络、循环神经网络和门控网络模型(如LSTM 和GRU 模型)在小数据集和大数据集上的分类结果,以确定哪个模型在哪个场景下工作得最好。 此外,将标准的单词嵌入特征表示与基于字符的N-gram 特征表示进行实验对比,后者有 望更好地泛化语料库中不可见的单词。 3.不同神经网络模型的对比 2 ........................................ 3.1 基线系统 2. 本节使用两种基于N-gram 特征的分类器架构作为对比性的基线实验:第一个 基线实验是一对特定类型的N-gram 语言模型,每个模型计算一个类似然,然后将这 些可能性的对数比归一化为话语长度(词的数量), 以获得阈值检测得分[61];另一个 基线实验对比方法是Boostexter算法[65-66],该算法的输出分数也可以作为阈值分割 的检测分数。 3.2 基于神经网络语言模型的话语分类器 2. 图3.1是文献[62]中首次提出的NNLM 基线模型系统的体系结构。它是一种基于 神经网络的语言模型,此外,也是一种传统语言模型的替 代,在文献[67-68]中首次被引入。与传统语言模型不同 的是,它将单词编码为 n 维向量,根据任务的不同,标准 维数从100 到1000 不等。在话语分类中,基于两个连续 的单词预测对话意图来训练NNLM 。每句话的总分计算 如下: P( L ∣w)≈P(L1,L2,…,Ln ∣w) = Π(n) P(Li ∣w) i=1 n 图3.1 标准神经网络语言模型≈ΠP(Li ∣wi-2,wi-1,hi) i=2 =Π(n) P(Li ∣hi) (3-1) i=1 24 第3 章 基于单模型的意图分类 25 3.2.3 基于RNN 的话语分类器 循环神经网络语言模型(RNNLM)[17]通过一系列隐藏单元对整个句子进行时序建 模,其效果优于基于马尔可夫(有限记忆)假设的模型。与神经网络语言模型[67]类似,该 模型将单词映射为一个密集的n 维单词嵌入。隐藏状态ht 是以当前嵌入、前一个隐藏状 态和偏置的函数。 ht =σ(Wtht-1 +vt +bh) (3-2) 一般情况下,前馈语言模型中单词嵌入的最佳维数小于前馈语言模型的一半。 为适用于对话意图分类,使用对话意图类型标签训练一个RNN 模型,如图3.2所示。 RNN 根据ht 中存储的信息对对话意图进行分类。在测试时,属于一个对话意图标签的 概率计算为 P(L ∣w)≈P(L1,L2,…,Ln ∣w)=Πi=1 P(Li ∣w) ≈ Πn i=1 P(Li ∣wi,hi-1)=Πn i=1 P(Li ∣hi) (3-3) 图3.2 RNN 分类器模型 3.2.4 基于LSTM 和GRU 的话语分类器 在理想情况下,一个进行对话意图分类的模型应该为每个话语预测一个类别标签。 在之前的实验中,RNN 模型在话语级预测单个标签的性能并不好,这可能是由于梯度消 失的问题。对于这种情况尝试使用长短时记忆网络进行话语分类。 3.3 实 验 .................... 3.3.1 数据集和评价指标 本实验的数据集采用文献[69-70]中使用的ATIS语料库。训练集由来自ATIS-2 面向共融机器人的自然交互———人机对话意图理解 和ATIS-3的A类(上下文无关)部分的4978 个对话,以及来自ATIS-3Nov93 和 Dec94 数据集的893 个测试话语组成。语料库有17 种不同的意图,将其映射到“飞行” 与“其他”意图分类任务。输入有两种情况:一种只使用原始的文本单词;另一种称为 自动标记(AutoTagged), 用短语标签(如CITY 和AIRLINE)替换实体,这些标签来自 标记器[71]。 3.2 实验设置 3. 神经网络语言模型分类器使用500 维的单词嵌入和1000 个隐藏单元的隐藏层,因为 这样的实验室设置条件是在之前的工作和对两个数据集的实验中最优的。可能是由于单 词嵌入大小的原因,早期的一些实验结果较差。RNN 、LSTM 和GRU 模型在两个语料 库上都使用了一个200 维的单词嵌入和单词哈希的数据结构。此外,LSTM 和GRU 还 包括一层15 维的隐藏和存储单元。在不包含词嵌入的情况下,LSTM 模型比RNN 多出 约150% 的参数,而GRU 比RNN 使用的参数少。然而,对于大词汇量的任务,嵌入的大 小超过了其他参数的数量,所以只使用最佳结果的模型结构。对于单词哈希,使用并行的 三字母组合和二字母组合表示。例如,描述cat的集合是#c 、ca、at、t# 、#ca、cat和 at# 。 一个训练好的系统通常使用截断的时间反向传播(BPTT )、正则化和梯度裁剪的组 合。由于语料库的语言长度通常在20 以下,发现使用梯度裁剪或截断的BPTT 没有改 善。此外,正则化及更高级的修改如Nesterov动量[72]的效果是微乎其微的,而简单的随 机梯度下降在Cortana语料库上产生了较好的结果。 尽管ATIS 数据集上的意图分类相对容易,但本项研究工作发现最终结果对初始参 数很敏感,对于循环神经网络(和长短期记忆网络(的权重服从正态分布 N (0.0.分布, RNN) LSTM) 大约5) 都来自相 0,4) 而LSTM 门控权值除了门偏差是一个大的正值( 之外, 同的分布。此外,借鉴前期工作[73]中一种有效的启发式方法,即在训练之前,计算10 个 随机种子在固定集合上的交叉熵,并从中选出交叉熵最小的那一个。 在ATIS 数据集的实验中,初始学习率为0.对于循环神经网络, 01, 动量参数为3× 10-4;对于LSTM 模型,动量参数为3×10-5。验证集上的交叉熵在每个例子中减少到 01 以下时,学习率就会减半,并以相同的速度继续,直到达到相同的停止点。如前所 述,使用10 个不同初始化的最佳初始交叉熵。 在较大的Cortana数据集上,不需要动量参数。学习率参数与ATIS 相似,除了验证 集上的交叉熵改变小于0.实 0. 1% 时学习率下降。由于更大的数据集包含更多的训练数据, 验结果表明,所有模型的随机初始化之间的方差都要小得多。 对于模型组合和评价,本实验使用线性逻辑回归(LLR)校准所有模型得分,并在适用 26 第 3 章基于单模型的意图分类 的情况下合并多个得分[74]。为了估计较小的ATIS 数据集上的LLR 参数,将数据集切 分为9个大小相等的测试数据分区,依次训练除一个以外其余所有分区,并在所有分区循 环。然后在整个测试集上合并得分,使用相同的错误率(EER)进行评估。 在Cortana数据集的实验中,开发集用于估计模型组合的LLR 权重,然后在测试集 上评估LLR 权重,同样使用错误率进行评估。 3.3 实验结果 3. 表3. 1展示了不同神经网络结构下的ATIS 意图分类结果。在标准和自动标记设置 中,神经网络语言模型(NNLM)比所有其他模型都差,包括单词-三元组增强模型。 LSTM 模型(LSTM-word、LSTM-hash)在常规设置中表现更好,而GRU 模型(GRUword、GRU-hash)在自动标记设置中表现更好。GRU 和LSTM 模型的性能明显优于其 他方法,从表3.两者的标准差都在一定范围内。 2可以看出, 表3.S意图分类结果 1 ATI 系统EER/ % AutotagEER/ % Wor-r9.6. d3gamLM 37 05 Wor-rosig 47 24 d3gambotn4.3. NNLM-r6.4. wod 05 03 RNN-r5.2. wod 26 45 RNN-ah 33 81 hs5.2. LSTM-r2.1. wod 45 94 LSTM-ah 88 81 hs2.2. GRU-r3.1. wod 24 58 GRU-ah 24 02 hs3.2. 表3.S意图分类详细结果 2 ATI 平均误差 系统EER/ % AutotagEER/ % NNLM-r5.238 15±. wod 83±.4.324 RNN-r4.919 50±. wod 86±.3.775 RNN-ah 32±.2.324 hs4.917 64±. LSTM-r3.986 22±1. wod 38±.2.01 LSTM-ah 05±1.2.02 hs4.13 64±1. GRU-r4.69 58±1. wod 44±1.3.24 GRU-ah 79±1.2.08 hs3.00 63±1. 27 面向共融机器人的自然交互———人机对话意图理解 续表 系统EER/ % AutotagEER/ % 原始错误 NNLM-r6.5.4.3. wod 05(61) 03(60) RNN-r3.3.2.2. wod 95(95) 45(45) RNN-ah 59(24) 45(09) hs3.3.2.2. LSTM-r2.2.2.1. wod 81(45) 02(30) LSTM-ah 24(88) 02(22) hs3.2.2.1. GRU-r3.1.1.1. wod 24(70) 30(30) GRU-ah 24(30) 02(02) hs3.1.2.2. 表3.前馈神经网络的标准差 2展示了所有模型的均值和标准差结果。到目前为止, 是所有结果中最低的,性能也是最差的。一般来说,门控网络比循环网络具有更高的方 差。此外,在10 个随机种子中使用最优种子交叉熵是一种合理的选择最佳随机种子的 方法。 3所示, 结果更显著。对于ATIS 数据集, 如表3.在更大的数据集中, 模型从最坏到 最优的相对排序为NNLM 、RNN 、LSTM 和GRU,其中LSTM 和GRU 的性能大致相 同。此外,单词哈希和单词向量的表现差不多,两者在门控模型上表现更差,在循环模型 上表现更好。保存字符N-gram 所需的存储空间比单词向量少1/3。 表3.3 Cortana域分类结果 系统EER/ % ComboEER/ % Wor-r7.— d3gamLM 37 Word3-gramboosting 29 — 7. NNLM-r9.7. wod 33 30 RNN-r7.6. wod 99 80 RNN-ah 76 87 hs7.6. LSTM-r6.6. wod 86 56 LSTM-ah 11 63 hs7.6. GRU-r6.6. wod 78 46 GRU-ah 08 64 hs7.6. 图3.ortana任务的检测误差权衡曲线。在大型数 3展示了两种ATIS 测试条件和C 据集(Cortana)上,观察到非常笔直和平行的权衡曲线,这意味着不同的系统在某一种分 类错误上没有特定的优点或缺点。这也意味着,系统在性能方面的相对顺序与所选择的 操作点无关。 28 第 3 章基于单模型的意图分类 图3.S数据集的DET 曲线 3 ATI 3.本章小结 4 ........................ 本章探究了各种神经网络架构在两种意图分类任务中的性能,使用了一个小规模语 料库(ATIS)和一个大规模的现实生活数据集(Cortana)。根据分类效果性能对模型进行 排序,依次如下:首先门控递归网络(GRU 和LSTM)最好,性能大致相当;其次是普通循 29 面向共融机器人的自然交互———人机对话意图理解 环网络、前馈网络。门控单元网络的性能优于标准的N-gram 基于语言模型的分类器或 增强分类器。而N-gram 语言模型通过逻辑回归组合可以进一步改进基于神经网络的分 类模型系统。本章只考察词汇信息,以及从当前的对话语料中可以推断出什么。在今后 的工作中,值得纳入非词汇信息(如韵律信息)[75],以及在要进行意图分类的语境之前的 对话语境[76]。建模方面,在单词序列[76]上加入一个卷积层是一个很有前途的模型架构。 30