第5章 基于模型后处理的未知 意图检测方法 5.引言 1 .................... 在本书的第一篇中详细介绍了对话未知意图发现的研究进展,发现未知意图的第一 步是将已知意图与未知意图进行分离,使得分类器在正确识别已知意图的同时,也能识别 超出其处理范围的未知意图样本。然而,现有方法皆需要对深度神经网络模型结构做一 定的调整,才能进行未知意图检测。未知意图检测性能在很大程度上取决于分类器是否 可以有效地对已知意图进行建模,而传统的分类模型(如支持向量机)对意图的高阶语义 概念进行建模的能力有限,导致算法性能不佳。 为了解决上述问题,本章介绍了基于模型后处理的未知意图检测方法,该方法可 使分类器模型具备未知意图检测的能力,而无须对模型结构进行任何修改,也可应 用于任何深度神经网络分类器,充分利用其强大的特征提取能力来提高未知意图检 测算法的性能。方法主要分为两部分:第一是通过所提出的SofterMax激活函数,对 分类器输出的样本置信度进行校准,以获得合理的概率分布;第二是深度新颖检测 模块,将深度神经网络学习的意图表示和基于密度的异常检测算法结合,进行检测。 最后,将上述两部分所计算出的分数,通过PlatScaling转换成概率,进行联合未知 意图预测。在缺乏关于未知意图的先验知识及样本的情况下,所提出的方法仍然可 以检测未知意图。 本章其余部分的安排如下。5. 2节介绍基于模型后处理的未知意图检测方法 (SMDN),并对其子模块进行详细描述,包括所提出的SofterMax激活函数和深度新颖检 测模块;5.评价指标、5. 3节描述实验数据集、实验结果与分析;4节为本章小结。 5.基于模型后处理的未知意图检测方法 2 ........................................................ 在本节中,将对基于模型后处理的未知意图检测方法SMDN(SofterMaxandDepNoveltyDetection)进行详细描述。首先,基于深度神经网络来训练一个已知意图分类 面向共融机器人的自然交互———人机对话意图理解 器。接着,通过温度缩放[98]来校准分类器的输出置信度,并收紧经过校准的Softmax (SofterMax)激活函数的决策边界,以更好地检测未知意图。此外,将深度神经网络学习 到的意图表示输入基于密度的异常检测算法,从不同角度来检测未知意图。最后,通过 PlatScaling[99]将SofterMax的置信度分数和局部异常因子的新颖分数转换为新颖概 率,并进行联合预测。 2.基于深度神经网络的意图分类器 5.1 后处理方法的关键思想是:在不修改模型结构的情况下,基于现有的意图分类器来 检测未知意图。如果一个样本不同于所有已知的意图,将被视为未知意图。因为是基于 已知意图分类器来检测未知意图,所以分类器的性能至关重要,分类器的性能越好,未知 意图检测的效果就越好。因此,必须先实现接近最佳性能的单轮和多轮对话意图分类器, 并在相同分类器下比较不同未知意图检测方法的性能。 1.基于双向长短期记忆网络的单轮意图分类器 由于长短期记忆网络只考虑由左到右的序列输入,在对句子建模时可能会丢失由右 到左的序列信息。双向长短期记忆网络(BiLSTM)通过前向与后向的长短期记忆网络, 同时对由左到右和由右到左的序列输入建模,很好地弥补了这点不足。如图5.首 1所示, 先使用双向长短期记忆网络来建模单轮对话的意图,并将其用于后续的未知意图检测 任务。 图5.1基于双向长短期记忆网络的单轮未知意图检测方法 给定一个输入语句及其最大序列长度.,将其单词序列w1:.转换为m维的词向量序 列x1:.,输入到BiLSTM中获取意图表示h: 42 第 5 章基于模型后处理的未知意图检测方法 →→) ( ht=LSTM(xt,t-15-1) xt,( h← =LSTM(c←)(c) 52) t t+1 =[→;←],(3) hhl h1 z=Wh+ b 5 其中, m 表示在时间步 t 时刻输入的 m 维词向量;→和h←分别是前向和后向LSTM xt∈Rhtt 的输出隐状态;→和←分别是前向和后向LSTM 的细胞状态。然后将前向LSTM 的最后 ct ct 一个输出隐状态h→ l和后向LSTM 的第一个输出隐状态h←1视为句子表示,并将其拼接为意 图表示h。在通过Sx激活函数之前,sz 是全连接层的输出,输出神经元的数 oftmalogit 量等于已知类的数量。最后将 h 作为深度新颖检测的输入,并将 z 作为SofterMax的 输入。 2. 基于层次卷积神经网络的多轮意图分类器 在建模多轮对话意图时,当前用户的意图与其上下文有很强的关联性,而层次卷积网 络可以对多个句子进行卷积操作,在建模意图时考虑多个句子,很好地弥补了这点不足。 通过第一个卷积神经网络对句子进行建模,再通过第二个卷积神经网络对当前句子以及 其上下文进行建模,以获得带上下文的多轮意图表示。如图5.使用层次卷积网络 来建模多轮对话意图,并将其用于后续的未知意图检测任务。 2所示, 图5.基于层次卷积网络的多轮未知意图检测方法 2 通过第一个卷积神经网络获得句子表示 z 后,即可进一步在窗口大小为 c 的句子上 执行第二次卷积运算,生成目标句子带上下文的意图表示,计算过程如下所示: Zzt-c-zt-zzzt+c-5 =[1,…,1,t,t+1,…,1] (4) 43 面向共融机器人的自然交互———人机对话意图理解 ht=ReLU(Wf ·Zt:n-1+bf )(-5) t+5 其中,Z∈R(2c-1)×k1表示对话中第 t 个句子的带上下文窗口大小 c 的意图表示; k1 为句子 级卷积核的个数;为卷积核Wf ∈Rn×k1在大小为 n 的连续窗口中执行卷积运算所产生 ht 的特征图。使用卷积核Wf 在所有可能的句子窗口上进行卷积操作后,即可生成多个特 征图h。 h=[--1,…,-hht+1,…,t+-(56) hch1,t,hc1] 其中,h∈R2c-1。通过在特征图上(t) 进行最大(t) 池化操作,即可获得卷积核Wf 在特征图 h 上 ^: 的有效特征h h^ =max{( h} 57) 其中,^ 是通过Wf 学习到的标量特征。最后,通过k2 个上下文卷积核进行卷积运算,获 得带上下文的意图表示r: h ^^2,…,^],z=( 其中,k2代表目标句子k2 维的带有上下文的意图表示。Lsz 是通过Sx 激 r=[1,hk2Wr+ b 5-8) hh r∈Rogitoftma 活函数之前的全连接层的输出,其中神经元的数量等于已知类的数量。与BiLSTM 模型 相似,将 r 作为深度新意图检测模块的输入, otrMa1和 并将 z 作为Sfex的输入。如图5. 图5.所提出的方法可以灵活地应用于各种深度神经网络分类器。 2所示, 5.2.2 SofterMax激活函数 在意图分类器的基础上,校准Softmax(即SofterMax)输出的置信度以获得更合理的 概率分布,并收紧SofterMax的决策边界以拒绝未知样本。在图5. 3中,可以看到 Softmax和SofterMax之间的区别。DOC[37]表明,通过减少概率空间中的开放空间风险 44 图5.x的效果示意图(与Sx相比,x输出的概率分布更为保守) 3 SofterMaoftmaSofterMa 第5 章 基于模型后处理的未知意图检测方法 45 来拒绝未知类的样本是可行的。而深度神经网络分类器的Softmax输出概率倾向过于 自信,暴露了太多的开放空间风险,将属于未知类的样本以高置信度被错误地分类为已知 类,无法提供合理的后验概率分布。这是因为交叉熵损失函数在优化过程中将目标类别 的预测概率最大化,并将其他类别的预测概率最小化,从而导致其他类别的输出概率接近 零。这对计算决策阈值来检测未知意图的方法而言,是很不理想的性质。Hinton等人在 知识蒸馏任务中提出了温度缩放方法[98],并将其应用于生成神经网络输出的软标签(即 提高熵)。通过温度缩放来软化Softmax的输出,使模型的输出概率更加保守,进而降低 开放空间风险,提高未知意图检测算法的性能。 1.温度缩放 给定一个N 分类的神经网络和输入xi,以及网络的输出预测y^i =argmaxn (zi),zi 是网络的logits向量,Softmax函数σSM 和置信度分数p^i 计算如下: σSM(zi)= exp(zi) ΣN j=1exp(z(j) i ) (5-9) p^i =max n σSM(zi) (5-10) 通过将温度缩放应用于Softmax函数的概率输出后,定义SofterMaxσ^SM 和软化的置 信度分数q^i 如下: σ^SM(zi)=σSM(zi/T) (5-11) q^i =max n σ^SM(zi) (5-12) 其中,T 是温度参数。当T 等于1时,σSM 是σ^SM 的特例;当T >1时,会产生更保守的概 率分布;当T 接近无穷大时,概率q^i 接近1N 并退化为均匀分布,这意味着熵达到最大值。 如何在狭窄的范围内选择合适的T 是至关重要的[98]。温度参数T 是一个经验性的 超参数。在一般情况下,很难获得未知意图的样本,无法直接通过验证集对T 进行调整。 为了获得合适的T ,通过温度缩放[100]对模型执行概率校准,在缺乏未知意图样本的情况 下,自动优化获得最佳温度参数T 。 2.概率校准 当一个模型校准后的置信度接近其真实似然值时,认为该模型是经过良好校准的。 通过温度缩放校准的输出概率,并将原始的输出置信度p^i 转换为校准后的置信度q^i。给 定标签的独热表示t 和模型预测y,样本的负对数似然表示如下: L=-ΣN j=1 tjlogyj (5-13) 面向共融机器人的自然交互———人机对话意图理解 通过验证集中的负对数似然,优化获得SfexσSM 的最佳温度参数T 3中所示, otrMa^ ^,以实现概 率校准。如图5.SofterMax对于所有类别都保持相对保守的输出概率分布。 T 在训练期间被设置为1,在测试过程中被设置为T概率校准不会影响已知意图的 预测结果。 ^。此外, 3. 决策边界 通过计算每个类c的概率阈值,进一步降低概率空间中的开放空间风险,缩紧 SofterMax输出的决策边(i) 界。首先。计算每个类的p(y=ci ∣xj ,yj =ci)的均值μi 和 标准差σi,其中 j 表示 j 个样本。计算每个类c的概率阈值ti 如下: ti=ma0.μi-σ(514) x{5,(i) αi} 这里直观的解释是:如果样本的输出概率分数偏离平均值的 α 个标准差,则将其视 为离群值。如果样本每个类别ci 的SofterMax输出置信度皆低于概率阈值ti,则将该样 本视为未知意图。 为了比较不同样本之间的置信度,必须为每个样本计算一个可比较的置信度分数。 从校准的置信度分数中减去每个类别的概率阈值ti,并取其最大值作为样本的单一、可比 较的置信度分数。置信度分数越低,则样本就越可能为离群值。如果置信度分数低于0, 则认为该样本属于未知意图。对于每个样本,将其多个类别的置信度分数转换为单一置 信度分数如下。 cofdnei=i- i (-15) niecj,pj,t5 cofdnex(ofdnei)( niecj=macniecj,516) 由于Softmax是非线性变换,Softmax经(i) 过温度缩放后的logits与原始logits为非线 性相关。因此,当把相同的概率阈值方法应用于校准后的置信度分数时,即可获得不同的 未知意图检测结果。SofterMax在Softmax的基础上对loits进行温度缩放,并把输出 概率减去每个类别的概率阈值,取其最大值作为置信度分数 g 。后续将通过置信度分数来 进行联合预测。 2.深度新颖检测模块 5.3 本节进一步将新颖性检测算法与深度神经网络学习的意图表示结合,以从不同角度 检测未知意图。 OpenMax[36]表明,减少特征空间中开放空间风险可以提高未知意图检测的性能。与 OpenMax使用logits作为特征空间不同,将logits之前的隐层向量表示作为特征空间, 并将其作为深度新颖检测算法的输入。由于此特征空间的维度远远大于logits,因此其 46 特征向量表示可包含比logits更多的高级语义概念。 第5 章 基于模型后处理的未知意图检测方法 47 接着,通过局部异常因子(LocalOutlierFactor,LOF)[18]减少特征空间中的开放空 间风险并发现未知意图。LOF是一个基于密度的异常检测方法,通过计算局部密度来检 测局部上下文中的未知意图。局部异常因子的计算如下。 LOFk(A)= Σ B∈Nk (A) lrd(B) lrd(A) |Nk(A)| (5-17) 其中,Nk(A)表示k 个最近邻的集合;lrd为局部可达性密度,定义如下: lrdk(A)=1/ Σ B∈Nk (A)reachdistk(A,B) |Nk(A)| . è .... . . ÷÷÷÷ (5-18) lrd为目标A 及其邻居之间可达距离的平均倒数。可达距离reachdistk (A,B)的定 义如下: reachdistk(A,B)=max{k -distance(B),d(A,B)} (5-19) 其中,d(A,B)表示A 和B 之间的距离;k-distance表示对象A 到k 个最近邻居的距离。 如果样本的局部密度显著低于其k 最近邻居的局部密度,则该样本更有可能被视为未 知意图。然后将LOF分数视为新颖分数。新颖分数越高,则该样本越有可能属于未知 意图。 5.2.4 PlattScaling联合预测 最后,将SofterMax 的结果与深度新颖性检测算法结合,进行联合预测。由于 Softmax计算的置信度分数和LOF的新颖分数的度量方式不同,无法直接合并,因此,使 用PlattScaling[99]将分数统一转换为0~1的概率,以进行联合预测。 PlattScaling最初应用于支持向量机,目的是将样本到决策边界的距离转换为分类 概率。PlattScaling通过逻辑回归模型来将分数映射为概率,计算过程如下: P(y =1∣x)= 1 1+exp(Af(x)+B) (5-20) 其中,f(x)表示分数。A 和B 是通过算法学习的参数。PlattScaling的做法是:让决策 边界附近的样本有50%的概率被视为未知意图,并将剩余样本的分数缩放为介于0~1 的概率。通过该方法归一化后,可以在相同的度量标准下估计SofterMax和LOF的新颖 程度,从而进行联合预测。这种方法可以视为简单平均的集成学习策略,通过两种不同模 型的视角进行检测,降低预测方差的同时提升算法的鲁棒性。 面向共融机器人的自然交互———人机对话意图理解 5.实验 3 .................... 实验分为3个部分介绍,包括任务与数据集、实验设置以及实验结果与分析。 5.1 任务与数据集 3. 本章解决的任务是未知意图检测,目标是在正确识别出 n 类已知意图的同时,检测 出不属于任何已知意图的未知意图样本。因此,将任务定义为n+1 分类,其中第n+1 类即为未知意图。为了研究该方法的鲁棒性和有效性,在SNIPS 、ATIS[95]和SwDA[101] 3个公开的对话数据集上对其实验验证。表5.ATIS 和SwDA 数据集的统计 1是SNIPS 、 信息。 表5.1 SNIPS 、ATIS和SwDA 数据集的统计信息 数据集类别数词表大小训练集验证集测试集轮次数据分布 SNIPS 7 11971 13084 700 700 单轮均衡 ATIS 18 938 4978 500 893 单轮不均衡 SwDA 42 21812 162862 20784 20146 多轮不均衡 SNIPS 首先在SNIPS 个人语音助手数据集上实验。该数据集包含7种不同领域的 用户意图,例如播放音乐、询问天气、预订餐厅等,总共有13084 条训练数据、700 条验证 数据和700 条测试数据。每个类别中的样本数量相对均衡。 ATIS(AirlineTravelInformationSystem)航空公司旅行信息系统是对话意图研究 中最经典的数据集,包含18 种航空领域的用户意图,总共有4978 条训练数据、500 条验 证数据和893 条测试数据。ATIS 中的类别高度不均衡,其中前25% 的类别占了训练集 数据93. 7% 的样本。 SwDA(SwitchboardDialogActCorpus)是最经典的多轮对话数据集,包含1155 条两 人电话交谈记录,每组聊天内容皆围绕着特定主题,共有42 种对话动作。用户意图可视 为抽象版的对话动作,在这种情况下,需要验证现有的未知意图检测方法是否仍然有效。 原始SwDA 数据集并没有将其切分为训练、验证和测试集,遵循先前研究中[102]建议的数 据切分方案,随机抽取80% 的对话数据作为训练集,10% 的对话数据作为验证集,10% 的 对话数据作为测试集,总共有162862 条训练数据、20784 条验证数据和20146 条测试数 据,每组对话平均包含176 个句子。此外,SwDA 中的类别高度不平衡,其中前25% 的类 别约占90. 9% 的训练集。 48 第 5 章基于模型后处理的未知意图检测方法 5.2 实验设置 3. 本节将对实验设置进行详细介绍,包括基线方法、评价指标和模型超参数设定。采用 与先前研究[31,37]相同的交叉验证设置,将数据集中的部分类别设置为未知意图,被视为 未知意图的样本将不会参与模型训练,并将从训练和验证集中删除。将训练集内的 25% 、50% 和75% 的类别设置为已知意图,并使用所有类别进行测试。使用100% 类别即 为常规的意图分类任务。 为了证明该方法的分类器架构可以很好地对意图建模,在表5. 2中报告了使用100% 类别进行训练的分类结果,并与在该数据集上性能表现最优的模型进行比较。实验表明, 该方法实现了接近最佳性能的对话意图分类器。后续实验将以这些意图分类器为基础, 进行未知意图检测任务。 表5.2 在所有类别都已知情况下的分类器性能 % 数据集模型原始准确率复现准确率Macro-F1 SNIPS B97 43 47 iLSTM 97.97. ATIS BiLSTM[28] 99 66 93.99 98.98. SwDA 层次CNN[102] 78.77.50. 45 44 09 此外,为了在类别不均衡的数据集上进行公平的评估,实验时使用加权随机不放回抽 样法,来随机选择每次实验的已知意图。如果类别拥有更多样本,则更有可能被选为已知 类别,而样本较少的类别仍然有机会以一定的概率被选中,其他未被选中的类别将被视为 未知意图。最终报告所有实验运行10 次的平均结果。 1. 基线方法 本章将所介绍的方法与其他的未知意图检测方法进行比较,包含了简单阈值、最先进 的方法以及其变体方法。 x(5)1)Softmat=0.5, 并将概率阈值设置为0. 在Softmax输出上设置概率阈值作为最简单的基线方法, 5。 如果样本在每个类别的输出概率皆不超过0.则将该样本视为未知意图。 2)DOC[37] DOC 是目前在此类问题上效果最好的方法,通过把输出层激活函数设置为 Sigmoid,再利用统计方法来计算每个类别的概率阈值,进一步缩紧其决策边界。如果样 本在每个类别的输出概率皆不超过其概率阈值,则将该样本视为未知意图。 3)DOC(Softmax) DOC 的变体方法,用Softmax代替了Sigmoid激活函数。在相同意图分类器下, 49 对 面向共融机器人的自然交互———人机对话意图理解 所有检测方法进行评估,以示公平。 2.评价指标 使用Macro-F1作为评价指标,并对所有意图、已知意图和未知意图的分类结果进行 评估。主要关注于未知意图检测的结果。给定一组类别C={C1,C2,…,CN ,},MacroF1分数计算如下: Macro-F1=2recal×precision (5-21)recal+precision Σ(N) precisionCi Σ(N) recalCi prcsoi=1,ea= i=1 522) eiin= rcl( NN prcsoCi = TPCi rclCi = TPCi 523) eiinTPCi +FPCi ,eaTPCi +FNCi ( 其中,C1 代表类别 C 中的单个类别;Macro-F1指标计算每个类别的精确率和召回率的调 和平均数,其物理意义是对模型在精确率和召回率之间的最优平衡点,当模型的精确率和 召回率越高,则Macro-F1越高。 [103]( 对于概率校准,使用期望校准误差ECE)来评估温度缩放的有效性。主要思想 是将置信度输出划分为大小相等的间隔 K 个箱子,并计算这些箱子的置信度和准确率之 间差异的加权平均值。ECE计算如下: ECE=P(i-i| 524) i)*|oe( = 其中,i)表示落入第i箱的所有样本(i) 的Σ(K) 经(1) 验概率;代表第 i 箱中正样本的占比(准确 P(oi 率);是第 i 箱的平均校准后置信度。ECE越低,代表模型校准得越好。 ei 3.超参数设置 使用GloVe[14]预训练词向量(包含40万个词,输出向量维度为300维)来初始化分 类器的嵌入层,并在训练中通过反向传播进一步优化。对于BiLSTM模型,将隐状态输 出维度设置为128,dropout率设置为0. 5。对于层次CNN模型中的句子CNN和上下文 CNN,将其上下文窗口大小设置为3,内核大小设置为1到3,卷积核特征图数量设置为 100 。使用学习率为0.001的Adam优化器。对于SNIPS和ATIS,最大训练迭代次数为 30次;对于SwDA,最大训练迭代次数为100次。对于SNIPS和ATIS,将批处理大小设 置为128;对于SwDA,将批处理大小设置为256 。将ATIS 、SNIPS和SwDA的最大输入 序列长度分别设置为35 、46和58 。本章使用Keras框架实现所有的模型。 50