论文部分内容阅读
摘 要:目前基于词嵌入的卷积神经网络分类方法已经在情感分析研究中取得了较为理想的研究成果。此类方法主要使用基于上下文的词嵌入特征,但在词嵌入过程中通常并未考虑词语本身的情感极性,同时此类方法往往缺乏对大量人工构建情感词典等资源的有效利用。针对这些问题,该文提出了一种结合情感词典和CNN的情感分类方法,利用情感词典中的词条对文本中的词语进行抽象表示,在此基础上利用卷积神经网络提取抽象词语的序列特征。与目前主流的卷积神经网络以及朴素贝叶斯支持向量机相比,本文提出的相关方法能够利用更快的训练速度获得相近的分类准确率。
关键词:卷积神经网络;情感分析;词语情感序列特征
一、引言
互联网相关技术的飞速发展带来人们日常生活的悄然改变。用户在网络上分享观点、评论商品等行为已经成为了日常生活中的一部分。利用机器学习和自然语言处理技术和对此类文本进行分析获得其中的观点倾向性和情感极性,成为了人工智能领域的一个重要研究问题。
基于情感词典资源的有监督机器学习方法是目前的研究热点。在自然语言处理领域,词作为文本的基本组成单元,One-hotRepresentation成为词语最常用的一种表达方式。但是该方法忽略了词与词之间的上下文语义和语法关系,也无法提供词本身所携带的信息。基于词向量的深度学习模型主要利用了词的上下文语义信息和语法结构特征,而在情感分析任务中,这些信息直接影响文本的情感表达。
为此本文提出了一种结合卷积神经网络和情感计算资源的中文文本情感分析方法,采用基于句子特征的抽象表达方式来描述每个词语的基本属性特征,将词语的情感极性和词性特征应用到文本的特征表示。然后利用卷积神经网络提取与文本情感表达相关的序列特征作为文本的特征向量用于情感分类。在中文倾向性分析测评COAE2020数据集的實验显示本文提出的方法在保持与基于人工规则和词典资源的特征抽取方法准确率相当的情况下,降低了训练成本,还提高了模型的泛化能力。
二、结合情感词典和卷积神经网络的文本分类方法
网络文本,如微博、产品评论由于受到文本长度限制,内容往往较精简,整体情感较为单一。因此文本中的相关情感表达序列片段往往代表着文本的情感倾向。在对文本的倾向性进行识别时,若能提取与情感表达相关的序列片段,将有助于准确判断情感极性。基于上述观察,本文提出了利用词典资源构建词向量的方法。不同于word2vec等实数向量的表示方式,本文利用词语本身具有的属性特征来构建词向量。
(一)基于情感词典的词语抽象表示方法
本文将每一个词语映射到一个K维O,1向量空间。其中K代表词语本身具有的特征个数,每一维度的数值用0或1表示,O表示不具有该特征,1表示具有该特征。对于给定的句子,它包含n个词x,1≤i≤n,构成一个Kn×K的特征矩阵。本文将句子中第i个词到第i个词组成的短语片段记为x li:jI。同理包含n个词的句子记作x[l:n]。
(二)基于卷积神经网络的文本分类模型
本文将基于词典资源的词向量表示方法与卷积神经网络结合,所提出的基于卷积神经网络的文本分类模型包含卷积层、采样层和全连接层,如图1所示。本文所提出的模型首先利用卷积层提取基于情感词典生成的词向量的特征,然后利用采样层提取突出特征,最后利用全连接层进行分类,并利用反向传播算法对模型参数进行梯度更新。
卷积层和采样层组成本文CNN模型的特征提取层。该CNN模型由多个不同类型的特征提取层(h取不同的值)并列组成。其中每种类型的特征提取层各m个,因此全连接层的特征向量v为:
采样层输出的特征向量作为全连接层的输入,利用Soflmax输出分类结果,并根据训练数据的实际分类标签,采用反向传播算法对模型参数进行梯度更新。
三、实验结果
在2020年中文观点倾向性分析评测COAE2020微博数据集上,对本文提出方法有效性进行评估。COAE2020微博数据集分为训练数据集和测试数据集,训练数据来自同一个话题,总共2174条,其中1063条带有正面情绪,1171条带有负面情绪。测试数据分别选白手机、保险、翡翠三个不同话题。总共7000条,其中带有正面情感的有3776条,带有负面情感的有3224条。
本文设计了一组实验来验证本文提出方法的有效性即将本文提出的CNN模型与Kim提出的基于word2vec训练的词向量的CNN模型的性能和SidaWang提出的NBSVM模型的性能进行对比。
(一)实验数据预处理
本实验使用的词典资源由Hownet情感词典和大连理工大学细粒度情感词典构成。在数据预处理方面利用分词工具对实验数据集进行了分词和词性标注。词向量采用Google开源的word2vec的Skip-gram模型,利用2000万条微博语料训练产生。词向量维度50维,包含33万个词汇。在实验数据集上的词汇覆盖率为90.08%。首先我们对数据进行分词处理即将句子拆分为词语集合。在实验中采用Jieba进行分词。第二步遍历所有语料中的词语,删除其中的停用词。根据每条数据的词语组合将其转化为数值向量。具体就是将i个分词对应的极性映射到向量的第i个分量上去。若该词是负面情绪则为0,否则是1。至此每条数据已经被转化为一个数值向量。最后就是将数据输入到模型进行训练。
对于卷积神经网络模型,本文统一设置的可调参数如下:卷积核函数为Rectifiedlinear函数;过滤器滑动窗口大小分别为2、3、4、5;过滤器数量m设为100;随即更新参数比例为O.5;训练迭代次数设为50。
(二)实验结果
表2列出了在COAE2020数据集上实验的对比结果。
(三)实验结果分析
从表2的实验结果可以看出,本文提出的CNN模型与基于word2vec的词向量的W2VCNN模型在有一定的差距。但是该模型以低维度的词语构造特征输入,相比于20维乃至上百维的词向量,减少了数据的输入量,加快了模型训练速度,同时保证了良好的性能。该模型基于词典资源,提取表达文本情感倾向性的通用规则序列,具有较强的模型泛化能力。与传统的基于领域知识的NBSVM相比,该模型在模型训练和性能上面都具有明显优势。 但从表2的实验结果可以看出:该模型识别负面情绪的准确率比W2VCNN模型低出9.32%,在Recall、F-Score上该模型识别正面情绪的准确率上都比W2VCNN模型低。主要是因为本文提出的模型虽然优化了特征输入,减少了冗余信息,但同时也不可避免的会丢失一些有用信息。W2VCNN模型的特征输入虽然有大量的冗余信息,但基本保存了每个句子中的全部信息,因而在训练中能考虑更多的复杂情况。本文提出的模型另一个局限性就是对于一些特殊的句式无法做出判断,比如反讽、反问句式,无论怎么调整其输入都难以达到比较理想的效果。
这里通过几个具体实例来分析本文模型在引入文本情感序列特征的有效性。表4给出从测试数据集合中选取的具有代表性的数据机器分类结果。
如表4的样例数据的分类结果所示。对于样例1、2,由于这类表达在训练集和测试集中都有类似的样例,三种方法对此类样例均有一定程度的覆盖度,所以都做出了正确的情感分类。
对于样例3、4,由于这类样例中的情感词不是单独起作用,而是通过词的序列表达出了一定的逻辑关系。在本文提出的词语情感序列模型下,由于“风险”所在的序列为“科学管理序列”,是一个“正面极性词+动词+负面极性词”序列;而“一些麻烦”则是作為“量词+负面极性词”序列被判定为反例。这类样本在基于词向量的CNN中均被错误分类,而基于序列特征的CNN可以正确处理。而综合了此类序列特征之后,基于词向量的方法可以将之前的错误分类纠正。对于样例5“华为难道只会技术了?”所有的方法均未正确分类。由于此样例中出现了反问、讽刺的表达方式,而“会技术”这一关键词无论是基于词向量的表达还是基于字典的表示,均被判定为正例。
由此可见,本文的CNN模型在处理具有情感词的文本时,能通过提取包含情感词的序列特征,准确识别文本情感倾向性。而W2VCNN模型由于只利用词语之间的语法和语义音系的词向量,无法提取文本中表达情感倾向性的序列特征,因此对文本进行了错误的分类。此外从测试样例中可以发现:无论是本文提出的CNN模型还是W2VCNN模型都无法识别反讽句式的情感倾向性。对于如何识别这类特殊表达句式,也是我们今后需要研究的一个课题。
四、结论
本文提出了一种基于情感词典的CNN神经网络,通过利用词语本身固有的特征,将文本映射维低维度的抽象的特征矩阵,在保证文本情感倾向性识别性能的基础上,加快了模型训练的速度。此外本文提出的算法能够从文本中挖掘表示情感倾向性的序列特征,可以为其他模型提供对情感分类有用的特征信息。由于本文提出的算法依赖于词典资源,词典资源的数量和质量直接影响到算法的执行结果。所以如何利用卷积神经网络在抽象特征抽取方面的优势去挖掘和扩充词典资源将是本文下一步需要研究的工作。
关键词:卷积神经网络;情感分析;词语情感序列特征
一、引言
互联网相关技术的飞速发展带来人们日常生活的悄然改变。用户在网络上分享观点、评论商品等行为已经成为了日常生活中的一部分。利用机器学习和自然语言处理技术和对此类文本进行分析获得其中的观点倾向性和情感极性,成为了人工智能领域的一个重要研究问题。
基于情感词典资源的有监督机器学习方法是目前的研究热点。在自然语言处理领域,词作为文本的基本组成单元,One-hotRepresentation成为词语最常用的一种表达方式。但是该方法忽略了词与词之间的上下文语义和语法关系,也无法提供词本身所携带的信息。基于词向量的深度学习模型主要利用了词的上下文语义信息和语法结构特征,而在情感分析任务中,这些信息直接影响文本的情感表达。
为此本文提出了一种结合卷积神经网络和情感计算资源的中文文本情感分析方法,采用基于句子特征的抽象表达方式来描述每个词语的基本属性特征,将词语的情感极性和词性特征应用到文本的特征表示。然后利用卷积神经网络提取与文本情感表达相关的序列特征作为文本的特征向量用于情感分类。在中文倾向性分析测评COAE2020数据集的實验显示本文提出的方法在保持与基于人工规则和词典资源的特征抽取方法准确率相当的情况下,降低了训练成本,还提高了模型的泛化能力。
二、结合情感词典和卷积神经网络的文本分类方法
网络文本,如微博、产品评论由于受到文本长度限制,内容往往较精简,整体情感较为单一。因此文本中的相关情感表达序列片段往往代表着文本的情感倾向。在对文本的倾向性进行识别时,若能提取与情感表达相关的序列片段,将有助于准确判断情感极性。基于上述观察,本文提出了利用词典资源构建词向量的方法。不同于word2vec等实数向量的表示方式,本文利用词语本身具有的属性特征来构建词向量。
(一)基于情感词典的词语抽象表示方法
本文将每一个词语映射到一个K维O,1向量空间。其中K代表词语本身具有的特征个数,每一维度的数值用0或1表示,O表示不具有该特征,1表示具有该特征。对于给定的句子,它包含n个词x,1≤i≤n,构成一个Kn×K的特征矩阵。本文将句子中第i个词到第i个词组成的短语片段记为x li:jI。同理包含n个词的句子记作x[l:n]。
(二)基于卷积神经网络的文本分类模型
本文将基于词典资源的词向量表示方法与卷积神经网络结合,所提出的基于卷积神经网络的文本分类模型包含卷积层、采样层和全连接层,如图1所示。本文所提出的模型首先利用卷积层提取基于情感词典生成的词向量的特征,然后利用采样层提取突出特征,最后利用全连接层进行分类,并利用反向传播算法对模型参数进行梯度更新。
卷积层和采样层组成本文CNN模型的特征提取层。该CNN模型由多个不同类型的特征提取层(h取不同的值)并列组成。其中每种类型的特征提取层各m个,因此全连接层的特征向量v为:
采样层输出的特征向量作为全连接层的输入,利用Soflmax输出分类结果,并根据训练数据的实际分类标签,采用反向传播算法对模型参数进行梯度更新。
三、实验结果
在2020年中文观点倾向性分析评测COAE2020微博数据集上,对本文提出方法有效性进行评估。COAE2020微博数据集分为训练数据集和测试数据集,训练数据来自同一个话题,总共2174条,其中1063条带有正面情绪,1171条带有负面情绪。测试数据分别选白手机、保险、翡翠三个不同话题。总共7000条,其中带有正面情感的有3776条,带有负面情感的有3224条。
本文设计了一组实验来验证本文提出方法的有效性即将本文提出的CNN模型与Kim提出的基于word2vec训练的词向量的CNN模型的性能和SidaWang提出的NBSVM模型的性能进行对比。
(一)实验数据预处理
本实验使用的词典资源由Hownet情感词典和大连理工大学细粒度情感词典构成。在数据预处理方面利用分词工具对实验数据集进行了分词和词性标注。词向量采用Google开源的word2vec的Skip-gram模型,利用2000万条微博语料训练产生。词向量维度50维,包含33万个词汇。在实验数据集上的词汇覆盖率为90.08%。首先我们对数据进行分词处理即将句子拆分为词语集合。在实验中采用Jieba进行分词。第二步遍历所有语料中的词语,删除其中的停用词。根据每条数据的词语组合将其转化为数值向量。具体就是将i个分词对应的极性映射到向量的第i个分量上去。若该词是负面情绪则为0,否则是1。至此每条数据已经被转化为一个数值向量。最后就是将数据输入到模型进行训练。
对于卷积神经网络模型,本文统一设置的可调参数如下:卷积核函数为Rectifiedlinear函数;过滤器滑动窗口大小分别为2、3、4、5;过滤器数量m设为100;随即更新参数比例为O.5;训练迭代次数设为50。
(二)实验结果
表2列出了在COAE2020数据集上实验的对比结果。
(三)实验结果分析
从表2的实验结果可以看出,本文提出的CNN模型与基于word2vec的词向量的W2VCNN模型在有一定的差距。但是该模型以低维度的词语构造特征输入,相比于20维乃至上百维的词向量,减少了数据的输入量,加快了模型训练速度,同时保证了良好的性能。该模型基于词典资源,提取表达文本情感倾向性的通用规则序列,具有较强的模型泛化能力。与传统的基于领域知识的NBSVM相比,该模型在模型训练和性能上面都具有明显优势。 但从表2的实验结果可以看出:该模型识别负面情绪的准确率比W2VCNN模型低出9.32%,在Recall、F-Score上该模型识别正面情绪的准确率上都比W2VCNN模型低。主要是因为本文提出的模型虽然优化了特征输入,减少了冗余信息,但同时也不可避免的会丢失一些有用信息。W2VCNN模型的特征输入虽然有大量的冗余信息,但基本保存了每个句子中的全部信息,因而在训练中能考虑更多的复杂情况。本文提出的模型另一个局限性就是对于一些特殊的句式无法做出判断,比如反讽、反问句式,无论怎么调整其输入都难以达到比较理想的效果。
这里通过几个具体实例来分析本文模型在引入文本情感序列特征的有效性。表4给出从测试数据集合中选取的具有代表性的数据机器分类结果。
如表4的样例数据的分类结果所示。对于样例1、2,由于这类表达在训练集和测试集中都有类似的样例,三种方法对此类样例均有一定程度的覆盖度,所以都做出了正确的情感分类。
对于样例3、4,由于这类样例中的情感词不是单独起作用,而是通过词的序列表达出了一定的逻辑关系。在本文提出的词语情感序列模型下,由于“风险”所在的序列为“科学管理序列”,是一个“正面极性词+动词+负面极性词”序列;而“一些麻烦”则是作為“量词+负面极性词”序列被判定为反例。这类样本在基于词向量的CNN中均被错误分类,而基于序列特征的CNN可以正确处理。而综合了此类序列特征之后,基于词向量的方法可以将之前的错误分类纠正。对于样例5“华为难道只会技术了?”所有的方法均未正确分类。由于此样例中出现了反问、讽刺的表达方式,而“会技术”这一关键词无论是基于词向量的表达还是基于字典的表示,均被判定为正例。
由此可见,本文的CNN模型在处理具有情感词的文本时,能通过提取包含情感词的序列特征,准确识别文本情感倾向性。而W2VCNN模型由于只利用词语之间的语法和语义音系的词向量,无法提取文本中表达情感倾向性的序列特征,因此对文本进行了错误的分类。此外从测试样例中可以发现:无论是本文提出的CNN模型还是W2VCNN模型都无法识别反讽句式的情感倾向性。对于如何识别这类特殊表达句式,也是我们今后需要研究的一个课题。
四、结论
本文提出了一种基于情感词典的CNN神经网络,通过利用词语本身固有的特征,将文本映射维低维度的抽象的特征矩阵,在保证文本情感倾向性识别性能的基础上,加快了模型训练的速度。此外本文提出的算法能够从文本中挖掘表示情感倾向性的序列特征,可以为其他模型提供对情感分类有用的特征信息。由于本文提出的算法依赖于词典资源,词典资源的数量和质量直接影响到算法的执行结果。所以如何利用卷积神经网络在抽象特征抽取方面的优势去挖掘和扩充词典资源将是本文下一步需要研究的工作。