面向问题意图识别的深度主动学习方法

2021-05-27 05:32付煜文马志柔薄满辉
中文信息学报 2021年4期
关键词:信息性样例语料

付煜文,马志柔,刘 杰,白 琳,薄满辉,叶 丹

(1.中国科学院 软件研究所,北京 100190;2.中航信移动科技有限公司,北京 100029)

0 引言

近些年移动互联网迅速发展,各种终端产品的用户量和服务量激增,企业的客服中心每天需要回复大量的问题。与此同时,随着人工智能技术日益成熟,自动问答技术开始应用于各种领域,代替传统的人工为客户的咨询提供快速、准确的问答服务,帮助企业节省人力成本,提高服务效率。而精准地识别用户提问的意图是自动问答的前提,对问答服务的实现至关重要。

意图识别旨在确定一句话的意图,可以认定为分类问题,即事先定义好当前问答领域中各种可能的意图类别,再通过分类方法将问题分到某一类中。文本分类是自然语言处理的重要任务,当前深度学习模型在文本分类任务中取得了巨大进展[1],并取得了远超传统方法(如朴素贝叶斯、支持向量机等)的性能。同时深度学习方法避免了繁重的特征工程,其端到端的学习也避免了自然语言处理工具带来的错误传播问题[2]。

但是,深度学习模型要取得良好性能需要有大量的训练数据支撑。在问答业务场景中,未标注的语料通常很丰富,而已经标注好的语料很难直接获得,只能通过耗时且昂贵的人工标注获得。为了使深度学习更好地发挥作用,减少其训练数据的标注成本至关重要。

主动学习提供了一种辅助标注语料方法,可通过更少的训练语料达到更高的精度[3]。不同于监督学习和随机选择样例,在主动学习中,算法可以主动选择需要标注的样本。主动学习方法可以分为两部分:学习模块和选择模块。学习模块维护一个学习器,随着新标注数据的加入不断训练更新学习器。选择模块通过选择策略计算未标注样例的价值,并选出高价值的样例交给专家标注。

常用的主动学习方法在客服场景中的问答语料标注应用面临以下挑战:在学习模块方面,主动学习迭代过程中每一轮标注完成后,需要更新样本集重新训练模型,对于复杂的深度学习模型而言其计算量是巨大的。在选择模块方面,现有的不确定性选择策略[4]没有考虑样本在语料空间中的价值,选出的样例会存在孤立点或出现冗余。

针对学习模型使用深度学习方法后带来的学习速度慢的问题,本文研究了客服语料中问题的长度长短不一、表示多样性且模糊等特性,设计了一种面向意图识别任务的轻量级深度神经网络结构,用于主动学习方法中的学习模块。在问题意图标注任务中使用主动学习方法,学习模型需要训练上百次,每次都重新训练很不现实。该网络采用了双层的CNN网络结构,在保证学习能力的同时,提高了学习速率。这种设计极大地减少了主动学习方法的计算量,并使其在问题意图标注任务中的应用具备可行性。

针对不确定性选择策略存在的缺陷和问答语料样例空间分布不均的特点,本文提出了一种结合样例的信息性、代表性与多样性的多准则选择策略。与常用的基于不确定性的选择策略相比,该方法不仅考虑单个样例的信息,同时考虑样例空间整体的分布情况,避免选择的待标注样例出现孤立点问题和冗余现象,从而提高主动学习算法性能。最终在民航问题意图标注任务中评估该主动学习方法,评估结果表明该方法能减少约50%的标注工作量。

1 相关工作

1.1 深度文本分类模型

近些年,Mikolov等人提出了通过神经网络训练词向量的方法Word2Vec[5],之后Joulin等人基于词向量提出了一种简单有效的文本分类方法fastText[6],直接将句子中所有的词向量求平均,Softmax得到类别概率。Kim提出的TextCNN方法[7]通过卷积神经网络解决文本分类问题,通过一维卷积核捕获句子中类似n-gram的局部信息。Liu等人的工作提出了将RNN用于分类问题的网络设计[8],之后涌现出一些RNN的变体,如LSTM[9]、GRU[10]、RCNN[11],以及引入Attention(注意力)[12]机制、BERT[13]预训练用于分类任务。深度学习方法自动抽取文本特征,可端到端地解决文本分类问题。但在问题意图识别任务中,当问题较长时,CNN网络无法很好地获取问题的全局信息,RNN网络存在无法并行和梯度消失的问题,训练速度不佳。

1.2 主动学习

主动学习是机器学习(更普遍地说是人工智能)的一个子领域,通过主动选择语料样本,使模型在较低的标注成本下获得较强的性能表现。在经历了十多年的发展后,主动学习已经有大量的理论研究支持[14]。选择策略是主动学习的核心模块,传统的主动学习的研究工作重心都在选择策略中。其中基于不确定性的策略最为常见,该策略倾向于选择学习器最不确定如何标注的样本,用概率方式度量样例不确定性的方法有最小置信度、边界采样、信息熵等。但是基于不确定性的策略仅评估了样本的自身价值,没有考虑样本在语料空间中的重要性,会导致选到孤立点样本,或者选出的样本冗余。当前主动学习在各个领域的任务上均有不错的应用,Zhu等人的工作说明主动学习方法能有效减少文本分类任务中所需的语料量[15],Settles等人的工作验证了主动学习方法在文本序列标注任务中的有效性[16],Rubens等人的工作介绍了主动学习方法在推荐系统中的应用[17]。

1.3 深度主动学习

虽然当前深度神经网络在许多不同的领域中成功得以应用,并取得了令人印象深刻的性能表现[18-19],但在这些模型中如何应用主动学习方法还没有得到很好的研究,目前的研究工作主要集中于图像分类任务中。Wang等人于2016年首次提出将主动学习应用于CNN图像分类模型中,并使用了基于不确定性的样本选择策略[20]。Zhou等人在工业界的生物医学图像分析中应用主动学习技术,减少了超过一半的标注成本,其工作结合了信息熵与图像变换后的分类差异变化计算样例的价值[21]。Zhang等人研究了主动学习方法与CNN的文本表示模型结合的框架[22],Shen等人将主动学习方法与CNN和LSTM等深度学习模型结合,应用于实体识别任务中,两项工作均在少量的数据集上得到了突出的性能表现[23]。An等人提出了一种将RNN作为主动学习中获取功能的深度学习方法,无须考虑如何提取特征的问题[24]。但是主动学习在问题意图语料的标注工作中,与深度学习模型结合的方法仍有待研究与应用验证。

2 意图识别模型

主动学习标注语料是一个不断迭代的过程,标注专家不断标注新的样例,而学习模块则需要同步最新已标注数据,重新训练模型,通过不断学习逐渐提高模型的精度与鲁棒性。主动学习不仅要求学习器具有强大的学习能力,能捕获数据中的规律,而且需要尽量快的学习速度,以缩减标注迭代时间。

本文分析了现有的主流深度文本分类方法,其中fastText[6]虽然训练速度非常快,但是在复杂的问题意图识别任务中并不准确,而RNN及其变体LSTM等网络尽管在任务中表现不错,但是因其不支持并行化的原因导致训练速度无法满足需求。最终对Kim论文中的TextCNN[7]模型进行了改进,并设计了如图1所示轻量级网络结构的问题意图识别模型。相比TextCNN,该网络的特征抽取层使用了两层的卷积,并在卷积层后加入了批标准化(batch normalization,BN)和线性整流函数(rectified linear unit,ReLU),分类的输出层使用了两层的全连接。

嵌入表示层对问题进行词级别的特征表示,将问题中的每一个词表示为一个固定维度的向量。使用了词向量(word embedding,WE)和位置向量(position embedding,PE)来对问题进行表示,其中词向量可得到词汇的语义特征,位置向量可以捕获词在问题中的位置信息与相对距离特征。所用的词向量由提前使用Word2Vec[5]在中文维基百科语料预训练得到,训练过程中的词向量并不是固定的,会随着模型的训练而更新。位置向量为随机初始化,并通过模型训练得到最终的参数值。最终每个词的表示为词向量和位置训练的拼接。

特征抽取层对问题进行句子级别的特征表示,通过特征抽取器提取句子的特征,包括上下文信息、句子结构、句子语义等。使用了CNN网络作为特征抽取器,因为LSTM这类循环神经网络虽然在文本特征抽取能力方面略优于CNN网络,但是提高并不显著,而其带来的计算成本却远高于CNN。本文设计了两层卷积的CNN网络,相比单层的卷积,其视野更大,能更好地捕获全局信息。使用了多个大小不同的卷积核,可抽取更长、更复杂的句子特征,因为CNN良好的并行化支持,其在GPU上的训练速度也非常快。同时在每层的卷积后加入了批标准化和线性整流函数,避免了梯度消失问题,提升了模型训练的收敛速度与稳定性。为了从文本序列中得到句子表示,对每个卷积核的输出使用了Max Mean池化,将最大池化(max pooling)与平均池化(mean pooling)的结果拼接。其中最大池化基于当前文本序列最大贡献的位置来得到句子表示,平均池化得到的句子表示包含了整个文本中每个词的贡献。最后将所有卷积核的结果拼接,得到问题表示向量。

输出层通过问题的表示向量分类得到每个意图的概率大小。模型的输出层由双层的全连接网络、Dropout和Softmax组成。其中双层的全连接网络提高了本层网络的非线性表达能力,并将结果映射到每个相应的类别。Dropout有效缓解了网络的过拟合问题,Softmax归一化得到每个意图的概率。

本文设计的深度学习意图识别模型,使用了轻量级的网络结构,通过实验验证了该模型在民航问题意图识别与TREC问题分类任务中,可以达到不亚于当前最先进模型的性能,同时训练速度在深度学习模型中十分具有竞争力。

3 主动学习方法

在工业界的问答领域,训练数据通常由领域知识专家为问题人工标注得到,这将耗费大量的人力与时间成本。主动学习方法通过策略性地选择要标注的样本来改善这个问题,以通过更少的标注获得更好的性能。因此针对问题意图标注任务,设计了如算法1所示的主动学习方法,首先对问题进行字符清洗、分词等预处理操作,得到统一格式的问题。然后用分类器对未标注语料进行预测,通过寻找策略计算样本价值得到需要标注的语料。在专家标注新的语料后,更新数据微调模型。标注过程不断迭代执行,直至达到终止条件。

在算法1的主动学习算法中,关键是制定一个策略来确定待标注样例的“价值”,被挑选样例的优劣将直接影响主动学习算法的性能。当前选择策略的研究主要是基于不确定性的方法,该方法只关注样例自身价值。为了保证算法能有更全面的综合评估,以避免出现孤立点或冗余问题,本文设计了结合样例信息性、代表性与多样性的多准则选择策略,并且分别基于这三种准则设计了样例的价值度量算法与三者结合的方法。

算法1 问题意图标注主动学习算法

(1)

代表性代表性准则用于表示样例在未标注语料空间中的价值。因为问题语料空间中存在一些孤立点,仅考虑信息性很容易挑选到价值低的离群样例。样例的代表性可以根据有多少样例与其相似来评估,由此得到的具有高代表性的样例不太可能是孤立点,并且这些样例添加到训练集中将对模型产生巨大影响。要度量样例的代表性,需要算法计算样例的相似性,本文观察到相似的样本,其在模型中预测输出的各类别概率也是相似的。KL距离(kullback leibler divergence,KL)直观地反映两个样例预测的各类别概率分布的差异情况。本文设计了如式(2)所示的方法,修正KL距离计算公式的对称性,以度量样例xi与样例xj的相似性。

(2)

对于给定的未标注数据集U={x1,…,xn},样例xi在数据集中的代表性可通过其密度(density)量化。样例xi的密度定义为与数据集中其他所有样例相似度的平均值,具体计算方法如式(3)所示。

(3)

多样性多样性准则的目的是最大化每批次选择出的样例对模型训练的帮助。因为模型的训练语料中样例之间差异越大,学习到的知识越多。上文的代表性准则解决了信息性准则的孤立点问题,但是问题语料空间中存在大量的相似样例,挑选样例冗余的问题并没有得到解决。当两个相似的样本其信息量和代表性都很高时,很容易被同时选入一批待标注语料中。因此需要考虑每批次选择的待标注样例的分布特征,本文提出了一种考虑全局样例分布的方法。该方法利用样例相似度的负值作为样例的距离,通过k-Means算法实现聚类。同时结合上文的信息性与代表性准则,对于未标注数据集U={x1,…,xn},具体选择策略步骤如下。

Step1:从U中随机选k个样例作为初始聚类中心,k为每批选择的样例数;

Step2:计算样例与各个聚类中心的距离,把样例分配给距离最近聚类中心;

Step3:重新计算k个聚类中心,将每个聚类中与其他样例距离的和最小的样例作为中心;

Step4:不断重复Step2、Step3过程,直到变化的聚类中心数小于阈值;

Step5:按序循环遍历所有聚类,并基于信息性与代表性准则结合,从中分别选出最有价值的一个样例。

其中,Step5中信息性与代表性结合的算法如式(4)所示,0<λ<1(最终取0.6),Info(xi)与Repr(xi)的计算方法分别参考式(1)与式(3)。该方案为本文最终结合信息性、代表性与多样性的多准则选择策略。

(4)

4 实验

为验证本文深度主动学习方法的有效性,在民航问题意图识别语料和TREC问题分类语料上进行了实验,以评估意图识别模型的性能和主动学习方法的表现。

4.1 实验数据

本文的实验数据有民航问题意图语料与TREC问题分类语料。其中民航问题意图语料来源于合作企业中国民航信息集团,该语料为中航信旗下移动服务APP“航旅纵横”中收到的用户反馈问题,通过中航信民航领域知识专家对问题进行归纳分析,最终形成了一个包含117种意图的民航问题语料,该语料示例如表1所示。TREC问题分类语料由Li等人[25]提出,是当前学术界常用的问题分类数据,Kim[7]与Zhou等人[9]均在相关工作中使用该数据集验证其方法。

表1 民航问题意图语料示例

按照约8∶1∶1的比例将实验语料数据集划分为训练集、验证集、测试集,并对语料进行了字符级别的长度和词汇量的统计,语料规格信息如表2所示。

表2 实验语料数据集规格信息

4.2 意图识别模型性能

为了评估在第2节设计的双层CNN结构的深度学习模型的性能表现。本文在TREC问题分类数据集上进行了对比分析实验,主要目标是对比各种深度学习模型在测试集的分类准确率以及它们训练一轮耗费的时间。

本文对比的六个深度学习模型的主要区别在于其网络结构,它们的特征抽取层分别使用各种不同的CNN和LSTM网络。词向量和位置向量维度分别为200和100,卷积核尺度设置为(2,3,4),通道数大小为128,随机失活(dropout)率为0.5。模型训练过程中学习率为0.001,batch大小为128,epoch数为200。对每个实验重复进行四次,观察指标曲线,选择合适的epoch结果,取平均值作为最终记录的结果。实验在Linux环境中进行,模型训练使用的处理器型号为Nvidia GTX Ti 1080 GPU (12 GB RAM)。

表3的实验结果展示了本文模型与其他高性能模型之间的对比,同时也记录了六个模型在测试集上的准确率与训练一轮耗费的时间。对比单层CNN和单层Bi-LSTM模型的实验结果,CNN与LSTM在TREC问题分类任务中表现差距不大,但在训练时间上CNN比LSTM更快。从实验结果中发现CNN与LSTM结合的C-LSTM网络在实验中取得了最优异的表现,双层CNN与C-LSTM的性能表现差距不大,但是仅耗费一半的训练时间。而三层CNN与双层的CNN相比性能并无提高,分析原因可能是语料中问题平均长度为10,而双层的CNN已经具有足够的视野,可很好地捕获这些句子的全局特征。同时对比无法并行的LSTM,CNN在训练速度上存在巨大优势,甚至三层的CNN网络比单层的LSTM网络更快。

表3 模型性能实验结果

4.3 主动学习方法表现

实验一为评估本文设计的主动学习方法的有效性,首先在民航问题意图语料标注任务中将多准则主动学习方法与常用的不确定性方法、随机选择方法以及传统的监督学习方法进行对比,以验证该算法是否能够有效减少标注成本,评估指标为训练所需的语料数量。其中监督学习为直接用所有训练集数据训练模型,随机选择为每次从训练集数据中随机抽取100条语料,不确定性方法采用常用的信息熵度量,本文方法如第3节所介绍。对比了四种方法得到的模型性能与所需标注数据实验得到的学习曲线如图2所示,纵轴是模型在测试集上的准确率,横轴为训练使用的样例数,黑色水平线为监督学习结果。

图2 对比实验主动学习曲线

基于学习曲线及实验过程中的记录数据,得到了如表4所示的实验结果。表中达标数据量为达到监督学习准确率标准所需的训练数据大小,最高准确率为模型在迭代过程中达到过的最高准确率,最准数据量为达到最高准确率时训练数据量的大小。对学习曲线和表中数据进行分析,随机选择方法只需70%的训练语料就能达到监督学习的效果。现有的不确定性方法可节省约50%的语料,优于随机选择。而本文设计的主动学习方法能节省约60%的语料,远优于不确定性方法,并且在50%的语料下提高了1.4%的准确率。分析其主要原因在于,民航问题语料质量不高,存在冗余和噪声数据。主动学习方法能避开这些差数据,只需7 500条优质数据就已足够拟合模型,并得到不错的表现。

表4 民航语料对比实验结果

民航问题数据集有较强的领域针对性,仅基于该数据集的实验结果,并不足以验证本文方法的可行性。为了验证本文设计的主动学习方法的通用性,本文基于学术界常用的公开数据集TREC问题分类语料设计了相同的对比实验,得到的实验结果如表5所示。从表5可以看出,实验结果与民航语料结果类似,验证了该主动学习方法在不同领域的语料下均可有效减少语料标注代价,还能在一定程度上提升模型的性能。但是标注量的减少和准确率的提高,相比于民航问题语料的实验均有所下降,经过分析后认为这可能是该TREC问题分类语料经过人工处理,语料质量高于实际业务场景中的民航客服数据,数据集中冗余、噪声等低价值样例较少。

表5 TREC语料对比实验结果

实验二为验证本文主动学习算法选择策略的有效性,对选择策略做了简化测试实验,将“信息性+代表性”“信息性+多样性”“代表性+多样性”与“信息性+代表性+多样性”四种选择策略在民航数据集上做对比实验。其不同策略的学习曲线对比如图3所示。

图3 简化实验主动学习曲线

基于学习曲线及实验过程中的记录数据,得到了如表6所示的实验结果。对学习曲线和表中数据进行分析,相比于三准则结合的策略,“代表性+多样性”“信息性+代表性”和“信息性+多样性”策略在实验中无论减少的标注量还是模型性能均有所下降,由此可验证本文选择策略中的信息性、代表性和多样性三个准则都十分重要,对样本价值的度量均有各自的贡献。其中去除信息性的实验表现最差,说明信息性为该方法的核心准则。

表6 简化实验结果

5 结论与展望

本文基于深度主动学习技术设计问题意图识别语料标注方法,以减少问题意图识别任务中的人工标注成本。针对深度学习在主动学习中计算量巨大等挑战,设计了一个轻量级深度学习意图识别模型,实验表明该模型在问题意图识别任务中表现出高性能的同时,训练速度更快。针对主动学习方法中常用的不确定性选择策略存在的孤立点和冗余问题,提出了一种结合样例的信息性、代表性与多样性三项准则的选择策略,实验结果表明,该选择策略能更有效地度量样例价值,减少更多的问题意图标注成本。

在未来的工作中,计划将本文的深度主动学习方法与BERT预训练模型的思想结合,研究主动学习循环阶段的增量训练方法,进而提高标注语料的效率。

猜你喜欢
信息性样例语料
样例呈现方式对概念训练类别表征的影响
评《好人难寻》屠珍译本中的得与失
“样例教学”在小学高年级数学中的应用
基于语料调查的“连……都(也)……”出现的语义背景分析
华语电影作为真实语料在翻译教学中的应用
基于样例学习研究的几点展望
《苗防备览》中的湘西语料
国内外语用学实证研究比较:语料类型与收集方法
报纸新闻与广播新闻信息密度的对比分析
样例教学法回归课堂教学之新认识