一种基于卷积神经网络的评论数据情感分类方法及系统与流程

文档序号:16331324发布日期:2018-12-19 06:13阅读:245来源:国知局
一种基于卷积神经网络的评论数据情感分类方法及系统与流程

本发明涉及评论数据情感分类领域,更具体地说,涉及一种基于卷积神经网络的评论数据情感分类方法及系统。

背景技术

随着计算机网络的不断发展,人们从互联网获得信息的同时,也直接或者间接的在各种网络平台上发表大量的评论信息。这些评论信息表达了各种各样的感情色彩和情感倾向,比如喜、怒、哀、乐、赞扬、批评等。情感分析不仅是学术界的一个研究热点,在社交媒体领域也受到了重点的关注。

对这些评论所表达的情感进行分析,可以了解大众舆论对于某一事件或产品的看法,对于指导和改善产品的服务有着重大意义。例如网友可以通过分析购物评论,决定是否购买该项产品。公司可以根据用户对商品的评价,发现自身的优势和劣势。同时,也可以将公众的情绪表达和社会事件联系起来,发现其中的一致性,预测未来事件的发展。例如电影票房的预测,选举结果的预测等。

虽然情感分类在很多领域有广泛的应用,各种各样的情感分类方法也被提出,例如有基于词典的,还有基于机器学习的等。但是,目前的情感分类方法还存在着很多问题。首先是情感分类的准确度不高,这让情感分析在实际的应用中很难发挥很大的作用。其次是情感分类的方法很多都依赖于人工的设计和参与,耗费了大量的人力与物力,推广能力较差。



技术实现要素:

本发明的目的在于,针对上述的技术缺陷,提供了一种基于卷积神经网络的评论数据情感分类方法,包含如下步骤:

s1、获取训练用的评论数据集,评论数据集中包含多条评论,每条评论均对应有情感极性评价;

s2、对评论数据集进行预处理,滤除其中的无用信息;

s3、分别对滤除无用信息后的评论数据集进行处理,对于每一条评论:提取其中的情感关键词并获取与情感关键词对应的背景知识;

s4、利用向量生成模型,对每一条评论对应的情感关键词与背景知识分别生成向量;

s5、对于每一条评论:将关键词的向量进行拼接形成关键词二维矩阵,将每一个背景知识的向量分别进行拼接形成各个背景知识的背景知识二维矩阵;

s6、分别将每一条评论的关键词二维矩阵、背景知识二维矩阵一起拼接为一个多通道的二维矩阵;

s7、利用各条评论的多通道的二维矩阵与对应的情感极性评价进行情感分类模型训练;

s8、利用训练好的情感分类模型,对待分类评论数据进行情感分类。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类方法中,步骤s1中,所述情感极性评价是指积极的情感极性评价和消极的情感极性评价两个种类。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类方法中,步骤s2中,所述无用信息包括:停用词、标定符号以及html标签。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类方法中,步骤s3中,所述提取其中的情感关键词并获取与情感关键词对应的背景知识采用如下方法实现:

利用步骤s2处理后的数据调用senticnet情感网络的api进行处理,调用的api种类有3类:情感关键词的api,关键词的同义词api以及关键词的释义api,得到关键词以及背景知识,其中背景知识是指:关键词的同义词和关键词的释义。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类方法中,步骤s4、s5中具体包括步骤:

(1)用word2vec模型对关键词进行处理,得到各个关键词的向量表示,向量大小为1×m,m为大于1的正整数;将各个关键词的向量一起进行拼接,形成一个大小为n×m的二维矩阵,n表示关键词的个数;

(2)用transe模型对关键词的同义词进行处理获取n个关键词,得到每个关键词的各个同义词的向量表示,对于每一个关键词:将该关键词对应的各个同义词的向量相加后求平均得到一个大小为1×m的同义词平均向量;将各个所述同义词平均向量一起进行拼接,形成一个大小为n×m的二维矩阵;

(3)用doc2vec模型对关键词的释义进行处理,得到各个关键词的释义的向量表示,向量大小为1×m;将各个关键词的释义的向量一起进行拼接,形成一个大小为n×m的二维矩阵。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类方法中,步骤s6中,所述多通道的二维矩阵为3通道的二维矩阵。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类方法中,步骤s7具体包括:

s71、对各个多通道的二维矩阵进行卷积操作,得到矩阵的特征表示;

s72、对得到的特征表示进行池化操作;

s73、将池化后的矩阵连接到神经网络的全连接层上,训练分类器。

根据本发明的另一方面,本发明为解决其技术问题,还提供了一种基于卷积神经网络的评论数据情感分类系统,包含如下模块:

数据集获取模块,用于获取训练用的评论数据集,评论数据集中包含多条评论,每条评论均对应有情感极性评价;

无用信息滤除模块,用于对评论数据集进行预处理,滤除其中的无用信息;

数据提取模块,用于分别对滤除无用信息后的评论数据集进行处理,对于每一条评论:提取其中的情感关键词并获取与情感关键词对应的背景知识;

生成向量模块,用于利用向量生成模型,对每一条评论对应的情感关键词与背景知识分别生成向量;

二维矩阵拼接模块,用于对于每一条评论:将关键词的向量进行拼接形成关键词二维矩阵,将每一个背景知识的向量分别进行拼接形成各个背景知识的背景知识二维矩阵;

多通道矩阵接模块,用于分别将每一条评论的关键词二维矩阵、背景知识二维矩阵一起拼接为一个多通道的二维矩阵;

模型训练模块,用于利用各条评论的多通道的二维矩阵与对应的情感极性评价进行情感分类模型训练;

情感分类模块,用于利用训练好的情感分类模型,对待分类评论数据进行情感分类。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类系统中,数据提取模块中,所述提取其中的情感关键词并获取与情感关键词对应的背景知识采用如下方法实现:

利用无用信息滤除模块处理后的数据调用senticnet情感网络的api进行处理,调用的api种类有3类:情感关键词的api,关键词的同义词api以及关键词的释义api,得到关键词以及背景知识,其中背景知识是指:关键词的同义词和关键词的释义;

生成向量模块、二维矩阵拼接模块中具体包括步骤:

(1)用word2vec模型对关键词进行处理,得到各个关键词的向量表示,向量大小为1×m,m为大于1的正整数;将各个关键词的向量一起进行拼接,形成一个大小为n×m的二维矩阵,n表示关键词的个数;

(2)用transe模型对关键词的同义词进行处理获取n个关键词,得到每个关键词的各个同义词的向量表示,对于每一个关键词:将该关键词对应的各个同义词的向量相加后求平均得到一个大小为1×m的同义词平均向量;将各个所述同义词平均向量一起进行拼接,形成一个大小为n×m的二维矩阵;

(3)用doc2vec模型对关键词的释义进行处理,得到各个关键词的释义的向量表示,向量大小为1×m;将各个关键词的释义的向量一起进行拼接,形成一个大小为n×m的二维矩阵。

进一步地,在本发明的基于卷积神经网络的评论数据情感分类系统中,模型训练模块具体包括如下子模块:

卷积子模块,用于对各个多通道的二维矩阵进行卷积操作,得到矩阵的特征表示;

池化子模块,用于对得到的特征表示进行池化操作;

训练子模块,用于将池化后的矩阵连接到神经网络的全连接层上,训练分类器。

以往的情感分类方法仅仅用评论数据本身作为情感分析的依据,这样的数据往往是不完整的。本发明利用知识图谱为原始评论数据补充了外部知识,让情感判断有了背景知识做参考和推理,使判断信息更加全面和充分。知识图谱的添加补足了原始评论数据缺失的信息,解决了因缺少背景知识导致情感分类准确率不高的问题。一般来讲文字是不可进行数学运算的,这让计算机很难处理。本发明利用不同的向量生成模型,将文字转换为向量形式,让文字可以进行数学运算。针对关键词,同义词以及释义三种不同层次的信息,分别用word2vec模型,transe模型以及doc2vec模型得到文字的向量表示,让文字变得可计算的同时,又保留了文字原有的语义信息。之前的方法都将文字看做是序列数据,信息的表达只有一维。本发明将关键词向量,同义词向量和释义向量拼接,得到一个3层通道的二维图像向量,让原始数据包含了不同层次的信息,扩展了文字信息的维度。从图像处理的角度来说,利用卷积神经网络处理二维文字信息,可以得到数据更多的、不同维度的特征,让情感分类的特征信息更全面和完整。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明的基于卷积神经网络的评论数据情感分类方法的流程图;

图2是基于卷积神经网络的评论数据情感分类方法一实施例的具体步骤图;

图3是本发明的基于卷积神经网络的评论数据情感分类系统的原理框图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

参考图1-图2,其中图1是本发明的基于卷积神经网络的评论数据情感分类方法的流程图,图2是基于卷积神经网络的评论数据情感分类方法一实施例的具体步骤图。本发明的基于卷积神经网络的评论数据情感分类方法包括如下步骤:

s1、获取训练用的评论数据集,评论数据集中包含多条评论,每条评论均对应有情感极性评价。对于任意一条评论,其情感极性评价要么是积极的情感极性评价,要么是消极的情感极性评。

s2、对评论数据集进行预处理,滤除其中的无用信息,无用信息包括停用词、标定符号以及html标签等。停用词如英语单词中的“a”、“the”等,标点符号如“!”、“,”、“。”等,html标签如“<br></br>”等。

s3、分别对滤除无用信息后的评论数据集进行处理,对于每一条评论:提取其中的情感关键词并获取与情感关键词对应的背景知识。具体采用如下方法实现:

利用步骤s2处理后的数据调用senticnet情感网络的api进行处理,调用的api种类有3类:情感关键词的api,关键词的同义词api以及关键词的释义api,得到关键词以及背景知识,其中背景知识是指:关键词的同义词和关键词的释义。

首先,说明一下背景知识的来源,参考下表1,表1是一个已经开源的情感数据库,是一个由前人已经构建好的数据表,可以直接使用,大约有10万条数据,每条数据包含四个部分:情感词,情感得分,情感词的同义词,情感词的释义。

表1情感数据库api

比如说,有这样一条评论数据:(共有14个单词)ilovethismovieverymuch,itisveryinteresting,funny,wonderfulandexciting.

把上面这条评论的每个单词都分别放入上面的数据表进行查询匹配(评论共有14个单词,需要在数据表中做14次查询)。然后根据表中匹配到的单词对应的情感得分进行筛选,只保留情感得分最高的前多个词,这多个词称作关键词,在本实施例中选取的词为5个。

比如:ilovethismovieverymuch,itisveryinteresting,funny,wonderfulandexciting中,love,interesting,funny,wonderful,和exciting这5个单词在数据表中的情感得分是最高的,那么就把他们当做关键词。而i,this,very,much,it,is,and这几个单词在数据表中的得分较低,所以可以直接过滤掉。根据数据表中的查询,就可以得到关键词对应的同义词(背景知识1)和关键词的释义(背景知识2)。

同样的,对于一条数据进行预测时,首先要做的就是将评论中的每个词都放入情感数据表中进行查询,根据情感得分筛选出得分最高的5个词,然后在数据表中得到5个词对应的同义词和释义。

而对于一条负面评论的数据来说,评论中的词大多是负面的、消极的,负面单词的情感得分是负数。所以在筛选时,要选取得分最小的5个单词作为关键词。

s4、利用向量生成模型,对每一条评论对应的情感关键词与背景知识分别生成向量。

s5、对于每一条评论:将关键词的向量进行拼接形成关键词二维矩阵,将每一个背景知识的向量分别进行拼接形成各个背景知识的背景知识二维矩阵。

步骤s4、s5中具体包括步骤:

(1)用word2vec模型对关键词进行处理,得到各个关键词的向量表示,向量大小为1×m,m为大于1的正整数;将各个关键词的向量一起进行拼接,形成一个大小为n×m的二维矩阵,n表示关键词的个数,在本实施例中为n=5,m=100。

承接上述例子,各关键词的向量如下所示:

每个关键词都用一个独一无二的向量来表示,这5个向量的维度都是一维的,大小是1×100。

为了方便后续的模型建立,需要将5个关键词的一维向量拼接为一个二维向量,拼接可以理解为向量的组合,顺序的、由上到下的连接在一起。如下所示:

这样的向量就是一个拼接后的二维向量,即大小为5×100的二维矩阵。

(2)用transe模型对关键词的同义词进行处理获取n个关键词,得到每个关键词的各个同义词的向量表示,对于每一个关键词:将该关键词对应的各个同义词的向量相加后求平均得到一个大小为1×m的同义词平均向量;将各个所述同义词平均向量一起进行拼接,形成一个大小为n×m的二维矩阵。

对于每个关键词来说,比如说“love”这个单词,通过数据表1可以得到他的5个同义词:enjoy,dearest,screw,beloved,dear。然后可以用transe模型得到每个同义词的向量,大小为1×100,共有5个。对这5个同义词的向量进行数学的平均值运算操作,即:

同义词平均向量=(enjoy的向量+dearest的向量+screw的向量+beloved的向量+dear的向量)/5;

也就是5个1×100的向量相加,然后除以5求算数平均值,最终的结果是一个1×100的向量,然后再采用五个关键词的5个1×100的向量拼接为5×100的矩阵,具体的拼接方法与上述关键词的向量拼接方式一致,这里不在赘述,拼接结果为:

(3)用doc2vec模型对关键词的释义进行处理,得到各个关键词的释义的向量表示,向量大小为1×m;将各个关键词的释义的向量一起进行拼接,形成一个大小为n×m的二维矩阵。具体的拼接方法也与上述关键词的向量拼接方式一致,拼接结果为:

s6、分别将每一条评论的关键词二维矩阵、背景知识二维矩阵一起拼接为一个多通道的二维矩阵。通过拼接,可以得到3个5×100大小的二维向量,三个通道指有3层5×100大小的和关键词有关的向量,相应的二维指的是每层向量的维度是二维的。

s7、利用各条评论的多通道的二维矩阵与对应的情感极性评价进行情感分类模型训练,具体包括:

s71、对各个多通道的二维矩阵进行卷积操作,得到矩阵的特征表示;

s72、对得到的特征表示进行池化操作;

s73、将池化后的矩阵连接到神经网络的全连接层上,训练分类器。

s8、利用训练好的情感分类模型,对待分类评论数据进行情感分类。

参考图3,本发明的基于卷积神经网络的评论数据情感分类系统包含数据集获取模块31、无用信息滤除模块32、数据提取模块33、生成向量模块34、二维矩阵拼接模块35、多通道矩阵接模块36、模型训练模块37、情感分类模块38。数据集获取模块31用于获取训练用的评论数据集,评论数据集中包含多条评论,每条评论均对应有情感极性评价;无用信息滤除模块32用于对评论数据集进行预处理,滤除其中的无用信息;数据提取模块33用于分别对滤除无用信息后的评论数据集进行处理,对于每一条评论:提取其中的情感关键词并获取与情感关键词对应的背景知识;生成向量模块34用于利用向量生成模型,对每一条评论对应的情感关键词与背景知识分别生成向量;二维矩阵拼接模块35用于对于每一条评论:将关键词的向量进行拼接形成关键词二维矩阵,将每一个背景知识的向量分别进行拼接形成各个背景知识的背景知识二维矩阵;多通道矩阵接模块36用于分别将每一条评论的关键词二维矩阵、背景知识二维矩阵一起拼接为一个多通道的二维矩阵;模型训练模块37用于利用各条评论的多通道的二维矩阵与对应的情感极性评价进行情感分类模型训练;情感分类模块38用于利用训练好的情感分类模型,对待分类评论数据进行情感分类。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

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