赵鹏飞,李艳玲,林 民
内蒙古师范大学 计算机科学技术学院,呼和浩特 010022
对话系统主要由语音识别(automatic speech recog-nition,ASR)、口语理解(spoken language understanding,SLU)、对话管理(dialog management,DM)、对话生成(dialogue generation,DG)以及语音合成(text to speech,TTS)五部分组成[1]。口语理解在整个对话过程中尤为关键[1],主要由领域意图识别(domain intent detection,DID)、意图识别(intent detection,ID)和语义槽填充(slot filling,SF)三部分组成。领域意图识别主要分析用户意图所属领域,比如音乐、电影和电视节目等,而意图识别主要分析理解输入语句中用户话语行为,如查询音乐或预订电影票等,通过对领域意图识别的分析,并进行更加细化的意图识别和语义槽填充任务,共同完成理解用户输入句子的任务[2]。
面向特定领域的任务型对话系统中,主要解决特定领域任务,其输入文本具有主题明确、意图鲜明等特点,比如查询天气、预订酒店等对话系统。任务型对话系统中,意图识别的准确性将直接影响口语理解质量以及对话系统性能[3],且因其可以为限定领域的对话系统扩展领域而处于非常重要的地位。目前,研究人员利用深度神经网络算法对分类模型的研究取得了丰硕的成果。Zhang等人[4]提出一种基于双向门控循环单元和条件随机场的意图识别模型,该方法利用联合模型解决意图识别和语义槽填充任务,实验结果表明,联合模型优于独立模型,为探究联合模型解决问题提供了新的方向。深度学习利用大量标注数据训练模型,通常随着数据量的增加模型的性能以及准确性都会逐步提升。然而,诸如预订火车票、预订宾馆等限定领域训练语料相对较少,医学领域、生物领域数据更是匮乏。如何利用现有领域的数据和模型,构建具有少量标注数据的新领域对话系统是当前研究的重点。目前,迁移学习能够利用相似任务领域的已有大量标注数据进行模型的预训练,通过对模型架构与参数的调整,使其应用到少量标注数据领域中,并取得良好的效果。迁移学习在只含有少量标注数据任务中表现出色,受到越来越多研究人员的关注,将其应用于意图识别问题中是未来研究的热点问题。
本文首先对意图识别问题进行了概述,阐明意图识别问题的发展及其本质,并着重介绍了意图识别问题的方法以及未来发展所存在的问题和解决思路;其次对目前解决意图识别所面临问题的迁移学习进行介绍,简单概述了其背景及应用,并着重介绍了迁移学习的主要技术和当前其面临的问题和难点;最后对深度学习模型和迁移学习模型的评价标准进行简单概括,并对意图识别在迁移学习上的研究进行展望。
意图识别是随着人机对话系统的发展逐渐形成的。2012年,苹果公司首先发布一款名为Siri的私人手机助理,其支持自然语音输入,可以帮助用户拨打电话、读取短信、查询天气以及制定日程安排等。Siri的诞生为人机口语对话系统的应用前景指明了方向。2014 年3 月Google 推出了一款应用Google Now,2014年4月Microsoft推出了Cortana,这两款语音助手与Siri有相似之处,区别主要在于它们可以为用户提供更加全面的实时信息搜索和个性化的服务。可以这样说,未来几十年是人机对话系统发展的巅峰时代。当前人机对话系统分为两类:开放领域的对话系统和任务驱动的对话系统。开放领域的对话系统不限制用户的对话主题,目的是将聊天进行下去。任务驱动的对话系统在于通过对话解决某个特定任务领域的问题。而在这两类对话系统中,意图识别是其关键所在,其准确性将直接影响口语理解质量以及对话系统性能。
随着深度学习技术的逐渐成熟,不仅促进了意图识别的发展,同时也取得了一些丰硕的成果。Liu等人[5]提出一种基于注意力机制的循环神经网络用于解决意图识别,上述模型在ATIS 数据集上表现良好。Yao等人[6]提出一种基于图卷积神经网络进行文本分类,通过对词共现和文档词关系建立一个语料文本图,利用语料文本训练图神经网络模型,该模型在多个分类任务的Benchmark 数据集上取得了良好的效果,图神经网络为解决意图识别任务提供了一个新的研究方向。Google公司[7]提出一种基于Trans-former的编码器表示模型,通过预训练对文本数据进行特征提取,利用迁移学习的思想将预训练模型进行微调并将其应用到目标任务中,实验结果表明,该方法在意图识别、情感分类、文本分类任务中取得了良好的性能。由此可以看到深度学习技术的发展推动了意图识别任务的发展,使得意图识别的准确性得到了大幅的提高。
口语理解是人机对话系统的重要部分,主要由领域意图识别(DID)、意图识别(ID)和语义槽填充(SF)三部分组成。其中,领域意图识别主要分析用户意图所属领域,比如音乐、电影和电视节目等,其本质属于分类问题;意图识别主要分析理解输入语句中用户话语行为,如查询音乐或预订电影票等,其本质属于分类问题;语义槽填充解决特定领域关键词以及属性的标注问题,其本质属于序列标注问题;口语理解主要是在领域意图识别分析的基础上,再进行更加细化的意图识别和语义槽填充任务,利用领域意图识别、意图识别和语义槽填充共同完成理解用户输入句子的任务[2]。
随着卷积神经网络(convolution neural networks,CNN)和循环神经网络(recurrent neural networks,RNN)在各个领域的应用,口语理解的性能也取得极大提升。目前口语理解任务的最好性能基本由CNN和RNN及其变种所垄断。神经网络在解决意图识别任务时,免去了机器学习人工提取特征的繁琐步骤,通过神经网络框架自动获取文本特征信息,在解决语义信息缺失问题中,取得了良好的效果。Kim等人[8]利用语义词汇(如WordNet[9])信息丰富的词向量,提高对意图文本语义信息的获取能力,进而提升意图识别的准确率。Devlin 等人[7]提出一种BERT(bidi-rectional encoder representation from transformers,BERT)语言模型,该模型进一步增加词向量的泛化能力,充分描述词级、句级关系特征,利用双向Trans-formers 编码实现上下文相关,并通过遮蔽语言模型(masked language model,MLM)和下一句预测(next sentence prediction,NSP)两种方法捕捉词级和句级的特征表示,使得词向量包含更加深层次特征信息,从而提升意图识别准确性。目前,深度学习技术在意图识别任务上已经取得了良好的效果。
2.3.1 意图识别
意图识别主要指单意图识别。意图识别过程中,用户的输入文本信息只存在一种意图种类。例如用户输入“预订北京到上海的火车票”,其意图类别为“预订火车票”。侯丽仙等人[10]针对意图识别问题以及语义槽填充任务,提出一种增加门控机制、注意力机制以及条件随机场约束条件的双向长短时记忆网络的方法,该方法在航空信息领域数据集上的意图识别准确率为93.20%,可见将意图识别和语义槽填充任务联合识别的方法能在一定程度上提升意图识别的准确率。杨志明等人[11]针对用户输入句子长度短、单一卷积神经网络不能充分学习到句子的特征信息和语义信息等问题,提出一种双通道卷积神经网络算法。两个通道分别传入字级别词向量和词级别词向量,利用字级别词向量辅助词级别词向量捕捉更深层次的语义信息。模型结构如图1所示,该算法通过对句子进行字级以及词级编码获得句子的分布式表示并结合预训练词向量得到模型的输入。
假设句子的长度为n,词向量的维度为k,Xi代表句子中的第i个词。卷积层中,采用不同尺寸卷积核提取深层次语义信息,句子n进行卷积计算后,获得n-k+1个输出并通过多次操作生成特征图。
Y=Yk1,Yk2,…,Yk,n-k+1
利用池化操作,实现最具代表性特征的捕捉以及数据的降维,避免过拟合。该模型利用最大池化(max-pooling)对每个通道进行池化操作。在合并层,将两个通道获取的特征进行组合,并将其输入给softmax 函数,其输出结果为意图的预测值,如式(1)所示:
Fig.1 Structure diagram of dual-channel convolutional neural network图1 双通道卷积神经网络结构图
其中,hθ(x(i))代表第i个样本的预测结果。模型整体使用多值交叉熵代价函数用于衡量模型损失,损失函数如式(2)所示:
2.3.2 多意图识别
多意图识别是指用户的输入文本信息中不仅包括一种意图类别,有可能包括多种意图种类。例如用户输入“预订北京到上海的火车票并查询上海的天气状况”,其意图类别为“预订火车票、查询天气”。杨志明等人[12]针对多轮对话中可能存在的多意图识别问题,提出一种深度学习算法以解决多意图问题,通过自然语言处理对用户输入进行处理,并提取关键词,利用深度学习提取上下文语境和语义信息用来识别用户意图,该方法在二分类以及多分类的意图识别准确率分别为94.81%和93.49%。杨春妮等人[13]针对短文本特征提取困难的问题以及可能存在的多意图问题,提出一种结合句法分析和词频逆文档频率的卷积神经网络,通过句法分析和词频逆文档频率确定文本是否包含多意图以及意图个数,其次利用卷积神经网络对短文本进行特征提取并进行意图识别,该方法在多意图识别中的准确率具有一定的提升。利用卷积神经网络进行自然语言处理通常会采用最大池化选取特征[14],导致句子的某些关键特征和位置信息丢失。针对这一问题,Hinton 等人[14]提出一种基于CNN 的胶囊网络,胶囊网络是一组包含多个关键特征信息的神经元,包含位置信息、方向信息等。Zhao 等人[15]将其应用于文本分类,利用动态路由算法提升模型的性能,实验验证了其有效性,且准确率、F1值均优于CNN。刘娇等人[16]针对用户输入文本可能存在多意图问题以及用户输入的短文本信息特征提取困难问题,提出一种基于胶囊网络的多意图分类模型,该模型在中英文数据集上的F1值为94.7%,较传统卷积神经网络有一定的提升。该胶囊网络包括卷积层、初级胶囊层、卷积胶囊层和全连接胶囊层,胶囊网络结构如图2所示。
Fig.2 Structure diagram of capsule neural network图2 胶囊网络结构图
假定输入文本S∈RK×V。卷积层中,利用卷积核对输入文本进行卷积操作。为了获取文本的多种语义信息,重复X次卷积操作后获得特征图X,维度为。在初级胶囊层中,为了获取包含多重信息的特征表示,聚合特征图X中的多个特征信息,采用d个卷积核且重复卷积Y次,获得胶囊单元,每个胶囊中包含多种信息,维度为。卷积胶囊层中,采用d个卷积核w∈对每个胶囊进行卷积操作,重复Z次操作获得卷积胶囊,得到L-n-m+2 个d维胶囊。利用卷积胶囊对胶囊单元进行全连接,胶囊向量的模长代表其意图概率。
在初级胶囊层和卷积胶囊层中利用动态路由算法获得最优输出胶囊向量,将低层胶囊通过权重分配到相应的高层胶囊,利用高层胶囊模长的概率对意图进行识别。为了输出胶囊向量模长的计算并完成激活,使用squashing 非线性函数确保向量的模长概率保持在0-1之间,非线性激活函数如式(3)所示。
其中,vj是胶囊j的输出向量,即卷积胶囊的输出向量,sj是上层胶囊输出到当前胶囊j的向量加权和,即卷积胶囊的输入向量加权和。式(3)包括两部分,前一部分是输入向量sj的缩放,第二部分是输入向量sj的单位向量。胶囊的输入向量计算分为两阶段,即线性组合和动态路由。线性组合指利用上一层胶囊单元与对应权重相乘获得预测向量,动态路由指通过耦合系数使预测向量获得最优的胶囊输入向量。输入向量如式(4)所示:
Fig.3 Structure diagram of capsule conversion图3 胶囊间转换结构图
表1[16]为胶囊网络模型与其他模型在同一数据集下准确率比较,普通胶囊网络相较于传统卷积神经网络在准确率方面都有较大的提升,F1值提升了30.4 个百分点,召回率提升了39.1 个百分点,而增加卷积胶囊层的胶囊网络较普通胶囊网络也有一定提升,其中F1值提升了9.2个百分点,召回率提升了8.1个百分点,可以看出,普通胶囊网络能够很好地体现其模型优势,在文本信息的特征提取中起到了非常重要的作用,而增加卷积胶囊层的胶囊网络能够获取到文本信息的深层语义信息并利用动态路由提升模型的性能。在未来利用深度迁移学习解决训练数据稀缺的新领域意图识别的研究中,可以在一定程度上利用胶囊网络代替卷积神经网络解决文本信息获取特征的功能。
Table 1 Model accuracy under the same data set表1 同一数据集下模型准确率 %
2.3.3 相关领域模型
RNN 通常用于处理序列文本,其变体门控循环单元(gated recurrent unit,GRU)和长短时记忆网络(long-short term memory,LSTM)广泛应用于自然语言处理中,在意图识别中也取得了良好的效果。李云红等人[17]针对循环神经网络出现梯度爆炸或梯度消失问题以及长文本序列因远距离依赖导致无法学习到上下文语序特征的问题,提出一种基于双向门控循环单元和卷积神经网络(bidirectional gated recur-rent unit and convolutional neural network,BGRU-CNN)的混合模型。针对长文本的语序语义信息的特征获取,其算法采用了PV-DM(distributed memory model of paragraph vectors)神经网络模型进行句向量训练。BGRU-CNN混合模型结构如图4所示。
Fig.4 Convolutional neural network with bidirectional gated recurrent unit图4 双向门控循环单元的卷积神经网络
图4 中,虚线框内表示一个循环单元,用于获取第i个句子Si的上文信息L(Si)和下文信息R(Si),如式(7)、式(8)所示,将上文信息、下文信息以及句向量拼接成文本特征向量,从循环层输出进入卷积层。如式(9)所示:
其中,W为权重参数,Si-1为第i-1 个句子,e(Si-1)、e(Si+1)为句子Si-1和Si+1的句向量,L(Si)和L(Si-1)为句子Si和句子Si-1的上文信息,R(Si)和R(Si+1)为句子Si和句子Si+1的下文信息。
卷积层的作用是进行特征提取,将卷积层的输入进行加权求和并通过偏置项获得全部的特征表示。通过不同尺寸卷积核提取深层特征,并进行多次卷积操作构建特征图,使用最大池化操作确定文本的最佳特征并将其输入到softmax 函数,根据其输出进行类别预测。该文本分类模型在SogouC和THUnews 数据集的文本分类准确率分别达到了89.87%和84.65%,验证了该模型的可靠性并为意图识别任务提供了方法。
目前,口语理解中的意图识别多数针对单一领域进行研究,比如旅游交通领域等,意图识别准确率在深度神经网络的发展过程中也得到了巨大的提升。实际上,开发多个限定领域的对话系统需求在不断增加,而需要开发的新领域短时间无法获得大量数据。众所周知,深度学习模型的训练存在两个前提:(1)所需训练样本数量足够大;(2)训练数据和测试数据需保持在相同分布的特征空间[18]。而在预订火车票、飞机票等领域样本数据相对较少,而且无法满足训练数据和测试数据保持在相同分布的条件,深度学习模型也无法由较少的训练样本完成对模型性能的提升。如何利用现有标注数据以及网络模型,构建一套只有少量标注数据的新领域的对话系统成为当前研究的重要方向。近年来,人们对迁移学习的研究越来越多,其在解决数据稀缺领域中表现出了良好的效果,利用迁移学习解决类似预订火车票、飞机票等数据稀缺领域的意图识别是未来研究的重点。
随着数据时代的到来,机器学习和深度学习迎来了更加广阔的发展,其已经应用在许多实际工作和学习中。众所周知,机器学习和深度学习能够利用训练数据提取其深层次信息特征,通过对信息的特征学习,能够预测信息的未来发展方向和趋势。而传统的机器学习和深度学习具有很重要的前提条件,即训练数据和测试数据要具有相同的数据分布,而在实际情况中,获取具有相同数据分布是非常困难且耗费财力的[19]。虽然半监督学习能够利用少量的标记数据和未标记数据训练模型,然而训练的模型往往性能较低。迁移学习是解决上述问题的一个有效途径,其能够将源域数据的知识和信息最大化地迁移到目标域中,解决目标域数据稀缺的问题,训练出用于解决目标域问题的模型[20]。如何构造用于解决实际问题的迁移学习模型是当前研究的热点问题。
近年来,迁移学习得到了广泛的关注,利用迁移学习解决问题的研究也越来越多。Cao 等人[21]利用条件对抗的自训练迁移学习方法,通过bert模型在源域数据集上进行模型的微调并利用置信度过滤,在目标域中生成伪标签数据进行自我训练,通过该方法能够减少领域间分布差异,且在多个数据集上表现出良好的性能。Li 等人[22]利用模型迁移的方法将普通话训练的神经网络迁移到广东话的模型训练中,模型在广东话识别的结果中,取得了有效的结果。Tarcar 等人[23]利用自然语言处理中的命名实体识别任务模型及方法,利用迁移学习将其应用于用户病例的非结构化信息的提取。这也是跨学科融合的一个重要方向。Sarma 等人[24]利用迁移学习调整网络权重以适应目标域任务,该方法在分类问题中表现出了良好的效果。Baalouch 等人[25]针对物理学中模拟数据和真实数据间存在的差异可能导致传统机器学习出现差错的问题,利用迁移学习从公共高等物理学数据训练域对抗神经网络,实现了模拟数据到真实数据的迁移,并在高能物理学数据集上取得了良好性能。可以看到,迁移学习的应用前景十分广泛,既包括了文本分类、图像分类、情感分析和阅读理解等传统领域,也包括了医学、物理等实际领域。这也是人们对于迁移学习研究所重视的原因。
假定源域(含大量标注样本)为DS,目标域(少量或完全无标注样本)为DT,选取来自源域样本xS,xS∈DS且服从p分布,来自目标域样本xT,xT∈DT且服从q分布,源域样本远大于目标域样本,利用源域样本和目标域样本学习映射函数,使源域和目标域样本映射到相同的分布空间,减少源域和目标域间的差异性,使源域样本学习的知识能够应用于目标域,解决目标域任务,实际模型构建中,将足够多的源域知识迁移到目标域是迁移学习研究重点[26]。迁移学习过程如图5所示。
Fig.5 Transfer learning process图5 迁移学习过程
目前深度学习和迁移学习的联合方法在图像领域中得到很好的应用,例如图像和视频转换[27],这种联合方法在自然语言处理中的应用也越来越广泛。基于深度学习的迁移学习方法通常涉及单词特征级迁移和模型结构级迁移[28]。单词特征级迁移利用源域预训练词向量表示或利用辅助任务训练目标域的特征表示,将预训练特征表示作为目标域模型的输入。模型结构级迁移利用源域对神经网络进行预训练,将神经网络的部分网络层或参数迁移至目标域中训练,并通过目标域数据对神经网络进行微调实现目标域网络性能的提升。根据迁移学习的主要技术方法,深度迁移学习可以分为基于实例的迁移学习、基于网络的迁移学习和基于对抗的迁移学习。
3.2.1 基于实例的迁移学习
实例是指源域或目标域样本中的样本数据。基于实例的迁移学习是利用源域中样本实例的空间分布,根据源域和目标域样本分布差异,配以适当权重以符合目标域分布,将此部分实例作为目标域的补充,实现知识的迁移。Chowdhury等人[29]利用源域中的实例增强学习模型,通过学习源域和目标域数据集的实例表示,并加入软注意力机制的长短时记忆网络和局部敏感哈希值对相关实例进行检索,将其扩展到目标域训练集中,实验在BBC 新闻分类结果上优于长短时记忆网络。Wang等人[30]提出一种基于实例的迁移学习方法,通过对源域数据进行模型预训练并利用该模型对目标域样本进行预估,根据其影响删除目标域样本中造成模型性能降低的部分样本实例,利用优化的目标域样本训练并微调该模型并最终对目标域进行预测。实验结果表明该方法对图像分类的模型质量有一定的提升。
Zhuang 等人[31]针对情感分类训练数据稀缺问题,提出一种基于胶囊网络的迁移学习方法,该方法将文档级情感分类数据迁移到方面级情感分类中,一定程度上解决了方面级情感分类训练数据稀缺的问题,实验在semeval数据集上验证了基于胶囊网络的迁移学习在情感分类任务中的有效性。Jiang等人[32]针对实例空间和标签空间中数据集之间的分布差异和固有信息,提出一种基于分布适应的多标签度量迁移学习方法,其通过学习和微调训练实例的权重,将最大平均差异方法扩展至分类任务中,从而弥补了实例空间和标签空间中训练域和测试域之间的分布差异,该方法对五个分类任务均有一定提升。
另外,将源域实例和目标域实例映射到相同的样本空间,该样本空间的样本分布相似于源域样本分布和目标域样本分布,实现源域和目标域的融合,该方法是实例迁移学习的一种。如何利用源域和目标域构成新的样本空间,成为新的研究方向。现有迁移学习方法通常利用源域和目标域之间差异度量限定边界以解决迁移问题[33]。吴彦文等人[34]针对推荐方法中目标评分数据稀疏的问题,提出一种领域自适应的推荐方法,该方法利用GFK(geodesic flow kernal)解决源域和目标域数据类别一致性的问题,其次通过特征映射将源域和目标域数据映射到同一样本空间,并通过PCA(principal component analysis)和测地线流式核方法完成对源域和目标域的领域适应,之后进行迁移学习完成模型的构建,该方法在推荐系统数据集上表现良好。Long等人[35]基于分布的希尔伯特空间嵌入理论,提出了一种直接比较跨域的联合分布差异,该差异可以将联合分布嵌入到再生内核希尔伯特空间中来直接比较跨域联合分布差异,从而消除了对边界条件分解的适应,不再需要对边界条件进行判定,该方法在一定程度上解决了源域和目标域之间的差异性。贾云龙等人[36]针对微博用户意图数据较少的问题,提出一种基于注意力机制的双向长短时记忆网络的迁移学习方法,该方法利用迁移学习将相似领域数据集与微博用户消费意图数据集结合共同构成训练数据集,通过长短时记忆网络和TF-IDF(term frequency-inverse document frequency,TF-IDF)识别用户的隐性消费意图和显性消费意图。实验结果表明,通过迁移学习所融合的数据集能够提升模型的性能。
3.2.2 基于网络的迁移学习
基于网络的迁移学习是指利用源域样本预训练部分网络,包括其结构和参数,将部分网络迁移到目标域中并作为神经网络的一部分。Mou 等[37]通过对源域预训练,并将其训练所得到的网络与参数迁移至目标域的输入层、隐藏层以及输出层且对该模型的输入层和隐藏层进行一定程度的微调,实验结果表明,该模型能够提升目标域中的意图识别性能。安明慧等人[38]针对问答型情感分类语料数据稀缺的问题,提出一种借助非问答型情感分类进行模型的预训练并通过联合学习优化问答型情感分类损失以及非问答型情感分类损失,实现非问答型到问答型的知识迁移,实验结果表明,该方法提升了问答型情感分类任务的性能。
王立伟等人[39]针对高光谱图像分类训练数据不足的问题以及数据样本空间特征利用不充分的问题,提出一种基于深层残差网络的迁移学习方法。由于深层残差网络在普通图像分类中已经取得了很大的成功,因此该方法使用深层残差网络对高光谱图像进行深层特征的提取,以挖掘数据样本的深层特征信息。其次使用迁移学习策略解决高光谱图像分类数据不足所引起的过拟合现象,利用相关数据集对模型网络结构和参数进行训练,并针对高光谱图像数据进行模型结构及参数的微调以适应高光谱图像分类。实验结果表明使用深层残差网络对数据进行特征提取,分类效果提升0.82个百分点,同时迁移不同的网络结构和参数对分类具有很大的影响,实验中迁移最好的网络结构和参数较不适用迁移学习性能提升了5.74 个百分点,验证了基于深层残差网络的迁移学习方法的可行性。文献[40-41]表明训练数据的缺失是影响意图识别性能的关键,其中还可能涉及到意图类别的不平衡性、独立性以及类别的重叠性。Xiao 等人[42]针对类别不平衡和类别数量少的问题,提出了一种基于欠采样技术[43]的迁移学习,其利用源域数据进行预训练,并在目标域数据对模型进行微调,并根据目标域数据对模型性能的影响对目标域样本进行欠采样,该模型在文本分类和情感分析数据集上有一定的提升。模型结构如图6所示。
Fig.6 Structure diagram of undersampling technology for transfer learning图6 迁移学习的欠采样技术结构图
图6 中,第一部分对源域样本进行模型的预训练,第二部分利用目标域子集对预训练模型进行训练并微调其结构与参数,第三部分利用目标域训练模型在其正样本中进行分类训练,标签为负的样本进行欠采样,第四部分利用目标域训练模型训练获得的负标签样本和负样本共同训练源域模型,并对模型结构与参数进行微调,第五部分利用第二部分模型对测试集进行训练并利用其负标签样本数据进行分类预测。
利用源域预训练模型,通过目标域对预训练模型的参数和结构进行微调以适应目标域任务,通过对网络参数和结构的微调实现源域到目标域的知识迁移,微调也是迁移学习的一种研究方向。在步骤4中,选择迁移输入层和卷积层,以便充分利用模型在源域中学习到的特征表示[44],通过微调全连接层和输出层使模型更适应目标任务。
邱宁佳等人[45]针对目标域数据量少的问题,提出一种基于模型迁移的卷积神经网络算法。在实验中,利用PCA和自编码机模型(autoencoder,AE)对源域和目标域进行数据特征的降维,利用源域和目标域降维后的特征训练自编码机损失函数以获得目标域的低维度特征表达,通过目标域低维度特征表达微调预训练模型,实现基于网络的模型迁移。该模型在情感分类、文本分类及垃圾评论分类中取得了一定的提升。
3.2.3 基于对抗的迁移学习
基于对抗的迁移学习指利用对抗神经网络寻找源域和目标域的可迁移特征表示,通过对源域和目标域的特征表示训练模型,使得该模型无法区分特征来自于源域或目标域,实现源域知识到目标域的迁移。对抗神经网络最早源于生成对抗网络(gener-ative adversarial networks,GAN),主要应用于图像任务中[46]。Long 等人[47]提出一种随机多线性域适应对抗网络(domain adaptation with randomized multilinear adversarial networks),其通过多重特征层以及多线性对抗分类层实现深度学习与对抗神经网络的结合,实现跨领域任务的迁移。Tzeng等人[48-49]针对目标域训练数据稀疏的问题,提出一种基于卷积神经网络的迁移学习,该方法利用域混淆损失评估域不变特征的有效性,通过对未标注和稀疏标注数据的域不变特征进行优化,实现源域和目标域分布距离的最小化,从而实现源域到目标域的迁移。Luo等人[50]针对源域和目标域特征提取问题,提出一种基于度量学习的迁移学习方法,该方法利用度量学习实现领域间深层特征的提取并利用域对抗损失实现跨领域的迁移。目前,域对抗神经网络(domain-adversarial neural networks,DANN)[51-52]在跨领域识别任务中受到了广泛的关注,利用域不变特征使模型分不清数据来自于源域还是目标域,从而实现源域到目标域的迁移学习。域不变特征指利用源域和目标域学习到一个公共的特征表示空间,在这个特征表示空间中,源域所学到的模型能够用在目标域中,领域间适应问题可转换为寻求此特征表示空间的问题。Ganin等人[52]基于域对抗神经网络,模型通过对源域和目标域的训练实现迁移,从而解决少样本数据任务的预测。该模型利用来自源域样本S以及目标域样本T建立目标分类器η:X→Y的低目标风险。如式(10)所示:
其中,不包含关于DT的标签信息,X为输入空间,Y是标签集合。目前,大多数方法都将源误差和目标误差的总和与源域分布和目标域分布间的距离相结合解决域适应问题,当源域分布和目标域分布相似时,源域风险是目标域风险的指标。该域对抗神经网络主要基于两个定理[52]:
定理1给定两个领域在X上的分布,且存在一个假设类H,在上有类H的散度,如式(11):
类H散度取决于区分样本的能力,对于对称类H,通过样本S和T计算经验散度,如式(12):
其中,I(a)为指标函数,a=0 为源样本且样本数为n,a=1 为目标样本且样本数为n′。构建新数据集U,文献表明,H散度由其经验估计散度加一个恒定项。该项取决于类H的维度和样本S、T的大小。由此得到定理2。
定理2H为VC维d的假设类。在每一个特征函数η⊆H下,对于选择的样本S、T存在概率1-δ,如式(13)所示:
控制H散度的策略是找到一个实例的表示形式,使得其在源域和目标域都难以区分。根据定理1和定理2 的思想,构建领域对抗神经网络(DANN)。DANN 包括特征提取器、标签预测器和领域预测器三部分,框架结构图如图7所示。
Fig.7 Domain-adversarial neural network图7 领域对抗神经网络
图7 中,特征提取器为Gf(·;θf),标签预测器为Gy(·;θy),领域预测器为Gd(·;θd),θ为参数。根据定理2,领域预测Gd生成的假设类Hd应包括标签预测器生成的假设类Hy,即Hy⊆Hd。标签预测器损失函数和领域预测损失函数如式(14)、式(15)所示:
通过发现鞍点训练损失函数并进行优化以及在梯度更新中加入梯度反转层实现域特征。根据域不变特征,模型将使得领域间互不可分,因此在梯度更新中减去领域预测梯度,从而避免在梯度下降中,最大程度地减少域分类损失。因此模型在特征提取器和领域预测器之间加入梯度反转层来实现传统梯度下降[53]。梯度反转层在正向传播时,只做普通转换,如式(16),而在反向传播中,梯度反转层从下一级获取梯度并改变其符号,如式(17)。
这里I是一个单位矩阵。通过梯度优化后最终的损失函数如式(18)所示:
林悦等人[54]针对情感分析任务数据量少的情况,提出一种基于胶囊网络的跨领域研究方法,该模型分为两个阶段进行训练。第一阶段,利用胶囊网络进行源域和目标域的特征提取,采取源域和目标域的域对抗训练方法,并在域对抗训练中加入梯度反转层实现前向传播和反向传播的过程,最终得到第一阶段分类损失函数,如式(19)。第二阶段,利用目标域的标记信息来改善模型的适应能力,通过对目标域的训练,学习目标域独有的特征表示,第二阶段损失函数如式(20)所示。通过对两个阶段损失函数的融合与交互,最终提升整个分类器对目标域的分类效果,即完成从源域到目标域的迁移。
目前,迁移学习在意图识别、情感分类和文本分类等传统领域中得到广泛的应用。当前迁移学习研究的主要问题如下:
(1)何时迁移。何时迁移是指在什么情况下可以进行迁移学习完成所研究的任务。迁移学习的前提是源域和目标域的样本分布相似但不同,另外源域和目标域选择来自相似任务,例如源域为公交路线数据、旅游景点、医院和餐馆,目标域为订车票、订宾馆。源域和目标域数据均来自文本信息且在文本信息中特征提取过程相似。主要的解决思路是通过PCA、样本空间映射、深度学习和领域自适应对源域和目标域特征分布和损失函数进行优化,利用联合优化实现源域和目标域样本分布一致,从而实现迁移学习的目的。
(2)迁移什么。迁移什么是指对哪部分知识的迁移问题。主要解决思路是针对源域和目标域的数据规模和数据分布,从而选择适合的迁移学习方法,比如在源域数据规模足够大的前提下,可以利用基于实例的迁移学习方法,通过迁移数据实例,达到迁移学习的目的。当源域和目标域数据分布足够相似时,可以对源域和目标域的特征表示进行迁移。
(3)如何迁移。如何迁移是指如何利用算法模型实现源域到目标域的迁移。主要解决思路是利用迁移学习的主要技术。其中,基于实例的迁移学习主要针对源域数据的迁移,利用源域中部分实例加以权重使得部分实例与目标域分布相似,从而增加目标域样本数据以提升神经网络模型性能。基于网络的迁移学习主要针对模型结构与参数的迁移,利用源域预训练模型,通过目标域对结构与参数进行微调以适应目标域,实现迁移。基于对抗的迁移学习主要针对源域和目标域的特征表示进行迁移,从源域和目标域中学习到特征表示,使得对抗网络区分特征表示来自于源域或目标域,如果对抗网络区分不出源域或目标域的内容,可以认为该特征表示融合了源域和目标域的特征,从而实现迁移过程。
当前,由于实际应用领域的对话系统需求增加,而需要开发的新领域短时间内无法获得大量的标记数据,同时数据的获取需要耗费大量的人力财力,因此在数据资源稀缺的情况下,构建其对话系统模型成为了一项挑战。如何利用现有标注数据、模型结构搭建一个只含有少量标注数据的新领域对话系统成为目前研究的热点问题。针对目前新领域意图识别训练数据稀缺的情况,主要解决思路主要围绕以下几个方向进行研究:
(1)通过对新领域数据的研究,寻找拥有大量标注数据的相似领域且该领域利用深度学习已获得不错的意图识别模型,将其作为源域并通过对源域的实例、网络或特征进行迁移,以达到适应目标域学习的目的。
(2)深度学习在解决分类任务中获得了很好的性能,而且对意图识别也有很好的效果,迁移学习在少量标注数据的领域研究也取得了不错的效果,结合深度学习模型和迁移学习方法进行意图识别研究,解决少量标注数据的领域对话系统是未来研究的一个焦点。
(3)领域对抗神经网络在图像跨领域任务中展现出了优越的性能,且有研究人员将其应用到自然语言处理中,结合域对抗神经网络和深度学习,将源域的特征和知识迁移到目标域中,实现少量训练数据领域的意图识别模型的构建。
意图识别本质属于分类问题。在模型评价中,通常使用分类器模型评价标准,即准确率、精确率、召回率和F1值。TP表示类A样本正确分类到类A中;TN表示非类A样本正确分类到除类A的其他类中;FP表示非类A样本分到类A中;FN表示类A样本分到除类A以外的其他类中。评价指标计算公式如下所示:
(1)准确率
(2)精确率
(3)召回率
(4)F1值
为了验证和分析所提模型和算法的性能,通常在实验中会将实验模型与传统深度神经网络模型和迁移学习基础模型进行对比。在同一数据集下,比较神经网络模型、迁移学习模型以及实验模型的准确率、F1值。
迁移学习是近年来机器学习和深度学习领域中产生的新的研究方向,这一研究方向与传统深度学习的不同在于迁移学习能够利用少量标注数据训练出准确率较高的模型。当前,利用迁移学习解决意图识别问题的研究相对较少,这一研究方向具有可期的研究前景且蕴含着巨大的潜在效益。
迁移学习的过程主要分为两方面:源域数据的选择和迁移学习主要技术的研究。其中源域的选择须与所研究问题的目标域的数据分布相似且领域相关。通过对前人的迁移学习方法进行总结,迁移学习的主要技术分为基于实例、网络和对抗的迁移学习方法。完成对源域数据的选择并利用合适的迁移学习方法能够在一定程度上解决训练数据稀缺领域的研究。本文主要概述了意图识别的由来及发展,并对目前所存在的意图识别问题研究进行介绍。在这之后,对迁移学习的应用动机、主要技术、应用场景和存在的问题进行介绍,并对问题的解决思路进行说明。
当前,人们对迁移学习已经进行了一定的研究,但还处于探索阶段,许多理论仍不完善,尤其将其应用到意图识别的研究更是少之又少。在未来,利用现有标注数据、模型结构结合迁移学习搭建一个只含有少量标注数据的新领域对话系统成为目前研究的热点问题。