基于自联想记忆与卷积神经网络的跨语言情感分类

2019-01-22 03:32崔荣一赵亚慧
中文信息学报 2018年12期
关键词:语料文档语义

刘 娇,崔荣一,赵亚慧

(延边大学 计算机科学与技术学院 智能信息处理研究室,吉林 延吉 133000)

0 引言

情感分类属于较为典型的二分类问题,即给含有情感色彩的文档一个态度偏向,支持或者反对。西方语言对情感分类研究起步较早,具有丰富的情感词典语料等资源,而中文情感资源相对匮乏。研究跨语言情感分类不仅是为了消除语言之间的应用屏障,还可以将资源丰富型语言的研究资源应用到资源匮乏型语言中去,帮助其他语言发展,跨越语言之间的鸿沟。本文提出的自联想记忆模型可以减小资源不均衡对分类精度带来的影响,适用于跨语言情感分类任务。

跨语言情感分类领域近年来显现出许多优秀的模型。文献[1]提出混合自训练模型和协同训练模型,分别训练两个语种的数据,采用双视图来得到最终的分类结果,分类性能超过了自训练和协同训练中最好的结果,并在当时取得了NLPCC跨语言情感分类评测任务(2013)的第一名。文献[2]在解决跨语言模型的问题时采用迁移学习的方法,将源语言和目标语言分别视作两个领域,在此引入基于样例迁移的监测机制来避免发生负迁移情况,可以减少样本数据中的噪音,提高分类性能。文献[3]结合双视图与迁移学习两种方法构建模型。双视图中将英文视为标准的参考知识,并在英文空间中进行训练,通过对英文样本的翻译来得到中文视图中的数据集,并引入知识验证函数来过滤中文翻译样例中由于翻译产生的可能存在的噪音。

深度学习模型在情感分类上的应用研究也取得了不小的进展。文献[4] 通过注意力机制来捕获不同上下文信息对给定特征的重要性,将注意力机制与LSTM结合起来对句子进行语义建模。文献[5]提出一个端到端的对抗记忆网络去解决跨领域的情感分类。使用注意力机制来自动抓取特征,模型框架包括两个参数共享的记忆网络。其中,一个用于情感分类,一个用于主题分类,联合训练的同时自动选择特征以最小化情感分类的误差。文献[6]提出了使用降噪自编码器或者长短时记忆递归网络(LSTM)结合上下文情感模糊词,以学习中英文双语特征的信息表示。

在跨语言语义表示方面,融合和转换语言空间的方法也是研究的重点。Gliozzo等[7]通过使用比较语料库对英语和意大利语进行跨语言文本分类,对比较语料库做潜在语义分析,建立一个由两种语言的潜在语义构成的低维投影空间,并将两种语言构成的词—文档矩阵都投影到该空间以后进行分类。Hanneman等[8]通过构造基于句法的全文翻译算法来提高分类的正确率。Faruqui等利用典型相关性分析[9-10]进行跨语言文本分析,即找出两个语言空间下相关系数最大的向量,建立起跨语言桥梁。而本文以翻译语料库为基础获得评论语料在不同语种下的表示,利用不同语种的词汇之间的共现程度和它们对应词嵌入的空间关系来构造跨语言自联想记忆关系。在合并的语言空间下,使用扩展的卷积神经网络模型进行跨语言情感分类任务。证明了在对跨语言评论语料进行情感正负面分类时,语义的融合方法比转换方法更有效,即使在小规模数据集下也可以获得较高的分类精度。

1 跨语言自联想记忆构造算法

自联想记忆是指模型能够学习并回忆不同对象个体间的关系。比如,精通中英双语的人通过中文文本可以联想到同一语义的英文文本,任意给出一种语言的信息都可进行联想以获得该文本语义在融合语种模型空间中的完整表示。由文献[11]中的分布假设推导可知单词的关联程度可以用基于语料库的方法来获得。在一个大规模语料库中,每个文档中字词的分布都可以用向量来表示,词与词之间的关联程度也可以用这个向量来计算。通常在平行语料库中,如果分别属于两种语言的两个词出现在同一篇语义的文档中,一般情况下我们可以确定这两个词汇具有高度的语义相关性。根据这个关系,对特定语言中的每一个词汇,找出另一种语言中与该词汇相关度最大的词,可以得到一种语言关于另一种语言的共现词汇表。互相共现的两个不同语种的词不一定能互译,但在语义上具有高度相关性[12],它们之间的关系已经被证明适用于跨语种文档检索和相似度计算。

1.1 共现词汇表

根据Word2Vec模型的计算原理可知[13],它计算词向量时体现的是词和它的局部上下文的共现关系。根据上下文窗口的滑动来迭代计算所有词的向量表示,词之间具有高度的可比性,词之间的语义距离可以在向量的空间中衡量,这证明了词之间可以直接用向量线性表示[14]。在不同的语言中,即使源语言文档ds和目标语言文档dt存在互译关系,文档中的词在各自语种的语料库中分布相近,但不具有上下文关系。即ds和dt中的词不能在同一个词上下文窗口中计算得到。因此,它们只能遵循如“vFrance-v法国≈vItaly-v意大利”这样的语义关系。本文结合词的共现计算方法和词嵌入向量的特点设计了共现词对如式(1)所示。

Ls|t= { |xVs∧yVt∧y

=T-index(x) } (1)

其中:

(2)

式中Vs和Vt分别表示源语言和目标语言下语料中的词项序号集。vi和vj分别表示目标语言中和源语言中序号为i、j的词的词向量,α代表经验参数,mij表示这两个词共同在平行语料中的出现次数。

式(2)旨在找出两种语言中统计关系最大的两个词。在平行语料中共同出现次数最多的词i和词j在跨语言语义中具有理应有更强的关联性,但词j关联度最高的候选词可能不止一个。因此,公式中加入词嵌入向量vi和vj的内积结果来加强相关性的计算,且使共现词对的结果具有唯一性。

1.2 跨语言自联想记忆映射方法

自联想记忆是指两个同形态的数据相互之间存在联系的形式或概念构成知识存储在记忆中的具体形态。依据这个概念提出将共现词表作为两种语言的数据之间的桥梁,将自联想记忆方法应用到神经网络中。自联想记忆映射如式(3)、式(4)所示。

式(4)中,根据输入的源语言向量可以联想到目标语言的相关向量。在跨语言任务中,只需要对不同的语言之间互相建立共现词表,输入任何语言的向量都可以联想到任意其他语言。分类模型的底层输入通常为词向量,对给定某个语种文本中的每一个词都生成一个词向量。根据自联想记忆关系,该词在任一其他语言下都有语义对应的词,依据式(3)对输入的源语言中每一个样本数据进行扩展,如图1所示。

图1 基于自联想记忆的语言扩展

在Word2Vec的计算下,每一个词都被表示成为一个维数固定为k的向量。每篇文档由它的词生成的词向量以出现次序排列成一个输入矩阵,文本信息转化为可计算的向量组合。图右侧第一个框为源语言文本的输出词向量,根据共现词汇表找到每一个词对应的目标语言下的语义关联词,在目标语言空间中的同样位置输入获得的关联词的词向量。通过自联想记忆关系,源语言中的文档矩阵di|s可以映射到目标语言中,其文档表示为di|t,di|s是s语言空间中m行k列的矩阵,di|t是另一种t语言中同样m行k列的矩阵。文本模型是将源语言空间中的矩阵拼接映射结果矩阵,如式(5)所示。

通过式(5)合并一篇文档在不同语言下的矩阵表示后,可以在合并的空间中对同语义不同语种的文档进行分类。

2 基于自联想记忆的卷积神经网络分类模型

假设自联想记忆关系产生的数据互相具有语义补充关系,因此自联系记忆关系适用于融合不同语言的语义信息。在情感分类任务中,文本的情感倾向通常只由少数词语决定,而卷积神经网络可用于提取显著特征并忽略对分类器作用较小的信息[15]。因此本文提出基于自联想记忆卷积神经网络MeCL-CNN (Auto-associative Memory Cross-Linguistic Convolutional Neural Network) 的跨语言情感分类方法。通过自联想记忆映射方法,文本模型可以获取任意语种文本作为输入。根据输入语种的语义映射向量作为记忆来帮助模型生成融合的语种空间,在合并的空间中进行卷积局部特征提取。

本文中卷积神经网络模型如图2所示,其中扩展的模型一共包括9层,叠加了更深的卷积层和归一化层(batch normlization)。输入层是由词嵌入向量拼接构成的文本矩阵,卷积层中每一个卷积核窗口宽度k与词向量宽度一致,卷积结果向量s的第i个值的计算,如式(6)所示。

其中,A代表输入数据,W表示与A计算内积的卷积核权重参数,b是偏置项。长度为2代表卷积核可以提取两个词组成的短语信息。同理,其他长度的卷积核也可表示对相应词数组成的短语特征的提取。卷积核的深度表示同一卷积层在相同卷积核尺寸下,卷积层由不同的特征提取规则集构成。

归一化层的计算过程,如式(7)~式(10)所示。

其中,μβ是对输入的这一批数据的平均值,σβ2是输入数据的方差,m为输入数据的数量,通过式(7)~式(10)来归一化数据的分布[16],使之具有固定的均值和方差,由于神经网络本质上是一个参数化模型,不同的数据分布理应在不同的参数模型下才能更好地拟合。对于评论类型长度的情感分类语料,当训练数据和测试数据的分布差距较大时,模型的效果将大打折扣。此外,在网络层数增加的过程中,较低层网络参数的变化对高层网络的影响将越来越大,而在式(9)的影响下,每层的输入数据都转变成均值0与方差为1的分布。因此,对数据的归一化可以改善这个问题,但是在这个操作下,网络的表达能力会变弱,因此采用式(10)对归一化后的数据进行缩放和平移。

图2 扩展的TextCNN模型

激活层函数选择ftanh和frelu, 如式(11~12)所示。

ftanh(x)的输出区间为(-1,1),并且在输入数据x绝对值非常大时函数值达到饱和,这使得它的作用接近生物神经元,可抑制或刺激神经元的信息传递。因它具有均值为0的特性,故收敛速度较快。relu函数的存在极大地解决了饱和函数所遇到的问题。即在函数值饱和到0或1时,网络层导数接近0。因此,会影响梯度的反向传递。在高层网络中适宜用relu函数来保证梯度的传输,缓解梯度消失的问题。

池化层采用Chunk-Max Pooling方法。其思想是把pooling层中每一个深度上的向量进行等长分段,将特征向量切割成若干段后,只保留每个子段中最显著的特征值。在情感分类任务中,池化层可以有效地过滤噪音,增强分类器性能。

最后一层为分类结果输出层,将全连接层与softmax层组合,可组成softmax回归分类器。假设卷积层、激活层和池化层等可将向量从原始输入映射到隐层特征空间中,则全连接层的作用是将隐层空间中的分布式特征向量表示映射到样本标签上,从而完成分类任务。softmax函数如式(13)所示。

其中,zi代表前一层第i个单元的输出,pi的值代表输出层上第i个神经元的输出,即分类标签属于第i类的概率。

模型中在全连接层添加了dropout机制。dropout的工作原理是在神经网络的传递过程中,以某个特定的概率随机放弃一些单元。类似于特征选择的作用,只保留一部分优秀的特征传递下来,还可以降低隐含层单元之间的联合适应性。用生物学的角度来说,它使得复杂的整段神经元的组合联动变成比较小的神经元片段之间的联合适应。在简单的线性空间中,只学习一个空间的特征集合足以应付当前的输入,但是在数据分布波动较大且通常存在于非线性不连续的空间中时,只适应一个空间中的特征集合会造成过拟合的现象,模型对与当前数据分布差别较大的输入没有识别能力,此时对局部空间的特征集合进行随机采样可以增强了模型的泛化能力。

3 实验结果与分析

3.1 数据集

本文实验主要对NLPCC2013会议中提供的“跨语言情感分类”评测任务进行实验。该语料源自Amazon网站的中英文产品评论数据,训练数据中含有英文语料2 000条。含书籍、DVD和音乐三种商品的评论标注语料,测试数据为同等规模的中文语料。该任务针对情感的正负类提供了一批用于计算情感分类的情感词典,另有一大部分未标注的中文语料,数量是训练数据的10倍,所有文档都以XML格式进行存储。为了获得不同语言之间的关系,需要将所有标注与未标注的中文语料通过google翻译成英文,通过翻译语料库来获取如第2节所示的跨语言自联想记忆关系。实验需要采用英文语料训练本文所示模型AMCL-CNN,并对任务重提供的中文语料进行情感正负类。经过多次实验,训练过程中参数设置如下:

(1) 设置词向量维度为200,卷积核组合为[2,3,4,5],卷积核深度为64;

(2) 设置L2正则方法且正则系数为0.05,深度学习模型容忍度为10;

(3) 选择带动量的随机梯度下降法,随机梯度步长为0.01,动量系数为0.5。

3.2 Dropout对情感分类的影响

dropout率的经验值一般为0.5,但通过实验可以发现,在情感分类任务中,dropout率对分类的正确率影响非常大。

图3 不同dropout的分类正确率

dropout正确率/%书籍DVD音乐Average0.581.7582.1381.2081.690.382.2083.7983.2883.090.283.1484.3884.3583.950.185.6286.6785.3285.870.0584.8485.0183.4684.43

为了更直观地体现实验结果的整体差别,对三种商品的评论分类的正确率计算宏平均。与上一个任务保持参数不变的情况下,不同的dropout参数对结果精度的影响较大,如图3所示。dropout的经验值一般选取0.5,而从图中可以看出,当dropout的比例取0.5时,各项类别的情感分类效果都为最低。当单元的保留比例增高时,分类精度也随之增高,但是在dropout比例为0.1时达到了最高。因dropout的本质是在神经单元的信号传输过程中放弃一部分单元的工作能力,故将这些神经单元看作特征。dropout自动完成了对输入信号进行特征选择的过程。从实验结果的角度分析,情感分类的语料特点是需要上下文特征来协助分类,又因情感分类是二分类任务,故不需要通过dropout来提高模型的复杂程度。这个实验证明深度学习训练过程中,不同的数据分布和任务需要不一样的超参数。

3.3 跨语言文档相似度计算结果

对跨语言情感分类研究做了对比实验。实验数据中没有平行语料,采用机器翻译获得双语语料,继而根据式(2)计算词嵌入向量之间的距离,与上一个实验过程相同,采用基于CNN的自联想记忆模型。实验结果如表2所示。

表2 不同方法的分类正确率

文献[1]中双视图与自训练协同训练相结合的方法在当时取得了最好成绩。它的不足在于分别训练源语言和目标语言的分类模型时,没有充分利用两种语言之间的语义信息。文献[2]和文献[3]均基于迁移学习的方法来实现跨语言的过程继而进行情感分类。其中文献[3]取得的平均准确率高达83.59%,但它存在的明显问题是同一个模型在3个类别上的正确率差距太大。这是由于此模型中采用任务提供的未标注数据来做机器翻译的可信度认证,所以测试集的结果会在一定程度上依赖未标注数据的翻译质量和数据分布。换言之,当未标注数据与测试数据分布相近,未标注数据可以帮助模型提高分类精度。当数据分布相差较大时,会产生负迁移的现象。同时,测试集中抽取的数据信息不具有代表性,分类性能下降。实验表明,未标注的数据分布对应用于跨语言任务的迁移学习方法影响非常大。文献[6]中提出的方法通过情感词的上下文情感的模糊信息表示,判断模糊限制句来表达特定语境下的语义和情感信息的融合。该方法以情感词为中心,一方面可增强句子的情感表示,另一方面也受限于情感词的分布。没有充分利用语料本身的语义表达,所以分类效果有限。

相比之下,本文没有用到情感词典,仅用测评任务中给出的文本语料就取得了最高的准确率。且对三个产品类的评论分类精度都比较高,未曾出现不平衡的现象。这是因为本模型可以从抽象层面上提取了不同语种的语义特征,特征之间的隐含联系对分类的效果提高非常有帮助。且本模型的扩展度高,不仅适用于跨语言任务,还适用于多语种特征任务。从实验结果可以得知,基于联想记忆模型的CNN分类模型对跨语言情感分类非常高效。

4 结论

本文一方面分析了dropout大小对分类器性能的影响;另一方面对跨语言文本信息的提取方法与现有的方法进行了实验结果对比,证明了dropout的选取可以有效提高普通的分类器对短文本语义的识别度。通过自联想记忆关系对跨语言短文本语义进行融合,减少了在语言交换过程中语义的丢失,加强了短文本语义的完整表示程度。与其他学者提出的方法相比,本文设计的跨语言情感分类模型获得了非常好的效果,验证了本文所提出方法的有效性。

此次训练只针对了电商网站上的商品评论,下一步研究计划将该应用扩展到其他应用环境中,进一步验证算法的有效性。

猜你喜欢
语料文档语义
浅谈Matlab与Word文档的应用接口
基于归一化点向互信息的低资源平行语料过滤方法*
有人一声不吭向你扔了个文档
语言与语义
Word文档 高效分合有高招
批评话语分析中态度意向的邻近化语义构建
“社会”一词的语义流动与新陈代谢
“吃+NP”的语义生成机制研究
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
《苗防备览》中的湘西语料