一种结合情感词典的卷积神经网络文本情感分析方法与流程

文档序号:15636792发布日期:2018-10-12 21:34阅读:1613来源:国知局

本发明涉及自然语言处理领域,更具体地,涉及一种结合情感词典的卷积神经网络文本情感分析方法。



背景技术:

随着网络科技的不断发展,互联网已经成了人们发表观点,交流感情的平台,人们在网上分享、评论、表达自身对于各种事物的意见、看法,比如对电影,商品做出评论,这些评论的数量呈现出一种爆炸式增长的趋势,想要通过人工手段去筛选出人们关于某个事物的积极评论或是消极评论,基本成为了一个不可能完成的任务,因此我们需要一个自动判断文本情感倾向的工具,所以情感分析就应运而生了。

文本情感分析是对带有感情色彩的主观性文本进行分析、处理、归纳、和推理的过程,如从评论文本中分析用户对某个电影的“画面、音效、剧情、演员阵容”等属性的情感倾向。从不同立场、出发点、个人态度和喜好出发,人们在看待不同的对象和事件时所表达的态度、意见和情感的倾向性是存在差异的。一般地,按照处理文本的长度不同,文本情感分析分为词语级、短语级、句子级、篇章级等几个研究层次。按照情感粒度的大小不同,文本情感分析又分为细粒度和粗粒度。



技术实现要素:

本发明提供一种结合情感词典的卷积神经网络文本情感分析方法。

为了达到上述技术效果,本发明的技术方案如下:

一种结合情感词典的卷积神经网络模型文本情感分析方法,包括以下步骤:

s1:首先获取英文文本语料,接着对语料进行情感分类标注,最后将语料分为训练和测试集两个集合;

s2:对步骤s1)中的所有语料集进行停用词处理;

s3:使用word2vec算法对步骤s2)中获取的语料进行训练得到相应的词向量;

s4:根据sentiwordnet(情感词典)获取预知的各词语的情感极性分布,并利用词语在不同极性上的权重与该词语的词向量相乘,得到词语在不同情感取向下的特征表示;

s5:将处理后的训练集语料按照句子顺序拼接起来形成矩阵放进卷积神经网络中进行训练,其中句子里的词语在多个情感取向下的表示可以拼接得到多个矩阵,而这多个矩阵对应卷积神经网络中的多个频道;

s6:将步骤s2)、s3)和步骤s4)处理获取的测试集语料放入步骤s5)中训练好的情感分析模型(卷积神经网络),最终获取测试集的情感分类结果。

进一步地,所述步骤s1的具体过程如下:

通过爬虫或是其他手段获取到具有情感极性的英文文本语料,并将文本语料进行情感分类标注,把文本标注为积极,中性,消极。然后将做好情感标记的文本语料以8:2的比例划分为训练集、测试集两个集合。

进一步地,所述步骤s2的具体过程如下:

将得到的英文语料做去停用词的处理,去除句子中“the”,“this”,“a”,“an”等不表达情感的词语。

进一步地,所述步骤s3的具体过程如下:

使用python中的gensim库,对步骤s2)得到的语料进行训练,为语料中每个词语训练出其对应的词向量。

进一步地,所述步骤s4的具体过程如下:

s41:根据情感词典sentiwordnet获取训练语料中各词语对应的积极值,消极值,客观值,若某词语在词典中的极性下有多个值,则取其平均值代表词语在该极性下的分值;若词典中不存在输入语料的某个词,则设置其积极值,消极值,客观值都为1;

s42:在步骤s(3中,每个词语得到了一个向量表示,这个向量叫做词向量。在步骤s(4中,每个词语得到了三个对应的情感值,在这里直接把词语的每个情感值与其词向量相乘,每个词即可得到三个对应的三个词向量,他们分别是积极词向量,消极词向量和客观词向量。

进一步地,所述步骤s5的具体过程如下:

s51:把每句话中的词语所对应的积极词向量拼接起来,作为句子的积极表示矩阵,把每句话中的词语所对应的消极词向量拼接起来,作为句子的消极表示矩阵,把每句话中的词语所对应的客观词向量拼接起来,作为句子的客观表示矩阵。这三个矩阵作为cnn输入中的三个不同频道;

s52:将拼接得到的词向量矩阵输入卷积神经网络(cnn)中训练出情感分析模型,cnn模型结构具体如下:

我们所采用的cnn模型包含三个基本元素:卷积层、池化层和输出层。在卷积层中,我们定义了多个权值矩阵(滤波器)用于对输入矩阵进行卷积操作,不同的权值矩阵用来提取输入信息中不同的特征。在卷积层获取特征后,通过池化层来减少训练参数的数量。池化在每一个频道上独立完成,因此输入矩阵的纵深保持不变,这里使用的是最大池化。经过了卷积层和池化层的操作,输出层(全连接层)将来自它们的输入进行平化和连接,从而产生输出。

s53:对每个minibatch中的语料计算损失函数,并通过反向传播来优化网络内的参数。经过多轮迭代后,当准确率趋于稳定时,完成模型训练。

进一步地,所述步骤s6的具体过程如下:

把经过步骤s2),步骤s3)处理得到测试集语料放入步骤s5)得到的模型中得到情感分类结果。

与现有技术相比,本发明技术方案的有益效果是:

本发明先利用情感词典,把语料库中文本对应的情感极性分值与通过word2vec得出的文本词向量相乘,得到了带有明确的“情感信息”的特征向量,然后再放进卷积神经网络进行训练。由于我们放入的是文本在三种情感极性(积极、消极、客观)下的向量矩阵,意味着构造的特征充分考虑包含了文本的情感信息,从而可以在训练过程中更好的利用文本信息,提高文本情感分析的准确度。

附图说明

图1为本发明流程示意图;

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

首先,我们需要从网上获取到相关的语料,例如,我们可以从imdb上获取到关于某部电影的评论,并为评论打上积极或消极的标签,并以8:2分为训练集和测试集。然后对语料中的停用词做去除的处理,把“the”,“this”,“a”,“an”等不表达情感的词语删除。经过去停用词处理的语料,使用word2vec模型,训练出语料中各个词语对应的词向量。接下来把语料库中文本对应的情感极性分值与通过word2vec得出的文本词向量相乘并拼接在一起,得到了句子表示的向量矩阵,输入到神经网络中进行训练。经过多轮迭代后,训练集准确度趋于稳定,保存模型。使用模型来判断一个新输入的情感取向时,直接把句子中词的词向量按照顺序放入训练好的模型中即可,模型拥有自动捕捉重要情感词的能力。

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1