基于深度学习的文本情绪分析系统转让专利

申请号 : CN201710093688.6

文献号 : CN106919673B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 施寒潇厉小军陈南南

申请人 : 浙江工商大学

摘要 :

本发明公开了一种基于深度学习的文本情绪分析系统,包括:信息采集模块、信息预处理模块、情绪分析模块以及信息展示模块,所述的信息采集模块用于采集各互联网资源网站中的评论信息,所述的信息预处理模块用于对采集到的评论信息进行分类、分词、词性标注以及情绪信息标注处理并存储,所述的情绪分析模块用于将处理后的评论信息经过词表示模型、句子模型以及篇章模型转化为短语向量,并将该短语向量输入到情绪分类模型进行情绪分析,所述的信息展示模块用于将情绪分析结果可视化地呈现。该系统能够对评论信息进行情绪倾向性分析,可视化地呈现给用户,进而为企业或政府等相关部门提供舆情分析结果或预警。

权利要求 :

1.一种基于深度学习的文本情绪分析系统,其特征在于,包括:信息采集模块、信息预处理模块、情绪分析模块以及信息展示模块,所述的信息采集模块用于采集各互联网资源网站中的评论信息,所述的信息预处理模块用于对采集到的评论信息进行分类、分词、词性标注以及情绪信息标注处理并存储,所述的情绪分析模块用于将处理后的评论信息经过词表示模型、句子模型以及篇章模型转化为短语向量,并将该短语向量输入到情绪分类模型进行情绪分析,所述的信息展示模块用于将情绪分析结果可视化地呈现;

所述的情绪分析模块包括:

词向量文件,用于将预处理后的句子中的每个词语与该句子的情绪标签转化为相应的词向量;

句子向量表示模块,用于将词向量转化为句子向量;

篇章向量表示模块,用于将句子向量转化为篇章向量;

情绪分析模型,用于对输入的篇章向量进行情绪分析,得到相应的情绪分析结果;

其中,所述的词向量文件中的每个词对应的词向量是包含词性信息和情绪信息的,是训练C&W-SP模型得到的,具体方法为:首先,添加获取句子的情感信息的情感抽取模块和获取句子中每个词的词性信息的词性标注模块于C&W模型上,得到C&W-SP模型;

然后,对数据集以句子为单位采用中科院汉语分词系统或结巴分词方法进行中文分词操作,得到由m个句子组成的分词数据集;

接下来,将分词数据集中的每个句子的情绪标签标注于句子末端,将每个句子中每个词语的词性标签标注于该词语的后端,将该句子情感标签的词性标签标注于该情绪标签的后端,作为C&W-SP模型训练集;

最后,将C&W-SP模型训练集输入到C&W-SP模型中,以C&W-SP模型损失函数最小化为目标,采用随机梯度下降和反向传播算法更新模型参数,得到该训练集中每个词对应的词向量,组成词向量文件;

其中,C&W-SP模型分为输入层、线性隐藏层、非线性隐藏层以及线性输出层,训练过程为:将训练集作为输入,通过滑动窗口的方式将窗口内每个词的n-gram以及情感性信息和词性信息输入到模型进行训练,通过线性隐藏层和非线性隐藏层,输出一个二维标量[fcw,f1u],其中,fcw代表词性-语义分数,f1u代表情感分数;C&W-SP模型的损失函数为:lossC&W-SP(t,tr)=α·losscw(t,tr)+(1-α)·lossus(t,tr)其中,α为权重,losscw(t,tr)为C&W模型的损失函数,具体为:losscw(t,tr)=max(0,1-fcw(t)+fcw(tr))lossus(t,tr)为情感损失函数,具体为:

r u u r

lossus(t,t)=max(0,1-δs(t)f1(t)+δs(t)f1(t))δs(t)为反映句子情感倾向性的指示函数,其具体计算公式为:

给定训练语料库中的任一句子t,t=(wi-(n-1)/2,...,wi-1,wi,wi+1,...,wi+(n-1)/2),通过使用词典中的其他词wi′将句子中心位置的单词wi随机替换,被替换句子记为tr,fcw(t)为t的词性-语义分数,fcw(tr)为tr的词性-语义分数;f1u(t)为t的情感分数,f1u(tr)为tr的情感分数,g=gold polarity,即标准情感倾向,[1,0]表示积极,[0,1]表示消极;

C&W-SP模型训练的目标是以lossC&W-SP(t,tr)最小,实际含义是原始句子的语言模型分数 比被替换句子的语言模型分数 至少高1,且原始句子的情感分数f1u(t)和被替u r换句子的情感分数f1(t)相一致。

2.根据权利要求1所述的基于深度学习的文本情绪分析系统,其特征在于,所述的信息预处理模块包括:自动分类模块,用于将信息采集模块采集的评论信息按照采集来源进行分类存储;

文本分词模块,用于对评论信息进行分词处理;

情绪信息标注模块,用于将评论信息中每句话的情绪标签标注于该句子的末端;

词性信息标注模块,用于将分词后的词语的词性标签标注于该词语的后端。

3.根据权利要求2所述的基于深度学习的文本情绪分析系统,其特征在于,所述的文本分词模块集成有中科院汉语分词系统和结巴分词方法。

4.根据权利要求2所述的基于深度学习的文本情绪分析系统,其特征在于,所述的情绪信息标注模块集成有识别句子情绪信息的情感词典方式或情绪识别工具,识别评论信息中每个句子的情绪,并将该句子的情绪标签添加于句子的末端,以一个空格与整个句子隔开。

5.根据权利要求2所述的基于深度学习的文本情绪分析系统,其特征在于,所述的词性信息标注模块集成有词性标注工具,将分词后的每个词语的词性标签添加于每个词语的后端以下划线隔开,也将句子的情绪标签的词性标签添加于该情绪标签的后端以下划线隔开。

6.根据权利要求1所述的基于深度学习的文本情绪分析系统,其特征在于,在所述的句子向量表示模块中,采用LSTM网络将词向量转化为句子向量。

7.根据权利要求1所述的基于深度学习的文本情绪分析系统,其特征在于,在所述的篇章向量表示模块,采用LSTM网络将句子向量转化为篇章向量。

8.根据权利要求1所述的基于深度学习的文本情绪分析系统,其特征在于,所述的情绪分析模型是通过以下方法获得的:首先,对数据集以句子为单位采用中科院汉语分词系统或结巴分词方法进行中文分词操作,得到由m个句子组成的分词数据集;

然后,将分词数据集中的每个句子的情绪标签标注于句子末端,将每个句子中每个词语的词性标签标注于该词语的后端,将该句子情感标签的词性标签标注于该情绪标签的后端,得到预处理数据集;

接下来,根据训练C&W-SP模型获得的词向量文件,提取预处理数据集中每个句子的每个词的词向量,构建句子矩阵集,并以句子为单位,将句子矩阵集中的每个词对应的词向量按照顺序输入至LSTM网络,经训练得到句子向量集,将句子向量集中的句子向量按照顺序输入至LSTM网络,经训练得到篇章向量集;

最后,采用降维采样的方式对篇章向量集进行情感语义特征提取,得到将情感语义特征集,将情感语义特征集作为神经网络模型的输入,将句子的情感语义特征对应的标准情感类标组成的集合作为神经网络模型的真值输出,通过反向传播算法和随机梯度下降算法更新神经网络模型的参数,得到情感分类模型。

说明书 :

基于深度学习的文本情绪分析系统

技术领域

[0001] 本发明属于计算机应用技术领域,具体涉及的是一种基于深度学习的文本情绪分析系统。

背景技术

[0002] 随着互联网的飞速发展,特别是Web2.0技术的逐渐普及,广大网络用户已经从过去单纯的信息获取者变为网络内容的主要制造者。中国互联网络信息中心发布的《第38次中国互联网络发展状况统计报告》(CNNIC,2016)的数据显示,截至2016年6月,我国网络用户总数量已经达到7.10亿,半年共计新增网民2132万人,半年增长率为3.1%,互联网普及率为51.7%。如此庞大且快速增长的网络用户群体加上Web2.0模式的互联网应用,使网络内容的数量和网络信息的访问量都以前所未有的速度增长,互联网已经成为人们表达观点、获取信息的重要途径。当前互联网上的信息形式多种多样,如新闻、博客文章、产品评论、论坛帖子等等。
[0003] 近几年,社会网络(social network)应用的推进和用户创造内容(UGC)模式的兴起,普通网民越来越成为信息内容的重要生产者。以金融信息评论为例,互联网上作为金融信息中UGC重要形式之一的用户评论,既表达了用户对证券市场的个体观点,又涵盖了用户与股票、用户与用户之间的关系,兼具内容与关联的特征,成为情绪分析研究的一个新热点。目前,带有情绪信息的金融评论在互联网上呈爆炸式增长,这些情绪信息对普通投资者、公司机构和国家政府等各级别的用户都有重要意义,如何有效的将带有情绪信息的金融评论转化成有助于各类用户应用的有价值资源,已成为当前需要迫切解决的问题之一。对于文本的情绪分析研究正是适应这种需求,希望架设一座用户到情绪信息的桥梁,使用户能有效获取情绪信息。从实践角度而言,利用这些情绪信息一方面可以帮助金融、证券监管部门及时了解投资者的情绪变化,特别是股灾或者疯牛这样极端行情下的情绪反馈,为后续的政策引导提供线索依据;另一方面可以给出不同类别投资者的情绪指数变化曲线,同时也可与其他主要证券行情分析指数联合构建出合理的投资模型,这在一定程度上为投资者提供更全面的投资决策支持。
[0004] 目前情绪分析方法大致有两类。第一种是基于规则的方法。主要先根据情绪词典找出文本中出现的情绪词,然后进行简单的情绪极性统计,根据最终得分与事先设定阈值比较得出情绪极性结论,一般用于篇章级别的情绪分析。第二种是基于机器学习的方法。通过对大量标注语料的训练,生成情绪分类器,用来对测试文本进行分类。
[0005] (1)基于规则的方法。目前的方法主要是设计规则提取情绪词和极性判定,然后对所有的情绪词进行简单情绪极性统计求得文本的整体情绪极性,该方法更多的应用于篇章的情绪分析。另外,通过计算词语的语义倾向,综合考虑极性元素分布、密度和语义强度进行情绪词的扩展,进一步修正文本的整体情绪极性。
[0006] (2)基于机器学习的方法。这种方法主要使用情绪词、词语共现对、句法模板、主题相关特征等作为分类特征,使用基于机器学习的分类方法进行情绪/倾向性分析。常用的分类方法有:中心向量分类法、KNN分类法、感知器分类法、贝叶斯分类法、最大熵分类法和支持向量机分类法等。一般过程是首先通过对训练文档进行手工标注,生产训练模型,然后进行测试文档的预测。该方法目前在句子级别的情绪分析中有广泛的应用。
[0007] 其中使用基于规则的方法进行文本情绪分析时,无论是对句子还是篇章进行分析,都强烈依赖于情绪词典,且情绪词典构建的好坏直接影响到最终情绪分析的准确性。而构建情绪词典分为两种,一种是手工构建,其工作量巨大,并且随着互联网的发展,新的情绪词层出不穷、日益更新,使得整个构建工作十分困难;另一种是通过自动的方式构建情绪词典,但是略过了手工之后,自动构建的情绪词典的一个主要问题是准确度较低。
[0008] 基于机器学习的方法来进行情绪分析研究,已经成为研究的热点。目前存在的一些运用词向量的机器学习方法,大多只考虑到了语法结构,而一个主观性文本中,不仅存在着语法结构,同时还会有情绪、词性等其他的关系。

发明内容

[0009] 鉴于上述,本发明提出了一种基于深度学习的文本情绪分析系统,该系统能够对电子商务网站或股票金融网站等网站的相关评论进行情绪倾向性分析,可视化地呈现给用户,进而为企业或政府等相关部门提供舆情分析结果或预警。
[0010] 一种基于深度学习的文本情绪分析系统,包括:信息采集模块、信息预处理模块、情绪分析模块以及信息展示模块,所述的信息采集模块用于采集各互联网资源网站中的评论信息,所述的信息预处理模块用于对采集到的评论信息进行分类、分词、词性标注以及情绪信息标注处理并存储,所述的情绪分析模块用于将处理后的评论信息经过词表示模型、句子模型以及篇章模型转化为短语向量,并将该短语向量输入到情绪分类模型进行情绪分析,所述的信息展示模块用于将情绪分析结果可视化地呈现。
[0011] 所述的信息预处理模块包括:
[0012] 自动分类模块,用于将信息采集模块采集的评论信息按照采集来源进行分类存储;
[0013] 文本分词模块,用于对评论信息进行分词处理;
[0014] 情绪信息标注模块,用于将评论信息中每句话的情绪标签标注于该句子的末端;
[0015] 词性信息标注模块,用于将分词后的词语的词性标签标注于该词语的后端。
[0016] 在所述的自动分类模块中,能够根据评论信息的来源对其进行分类并存储,例如:将来源于微博的评论信信息、股吧网站的评论信息以及新浪新闻的评论信息进行分类存储。
[0017] 所述的文本分词模块集成有中科院汉语分词系统和结巴分词方法,能够实现对评论信息以句子为单位进行准确快速地分词。
[0018] 所述的情绪信息标注模块集成有识别句子情绪信息的情感词典方式或情感识别工具,能够准确地识别评论信息中每个句子的情绪,并将该句子的情绪标签添加于句子的末端,以一个空格与整个句子隔开。
[0019] 所述的词性信息标注模块集成有词性标注工具,能够准确地将分词后的每个词语的词性标签添加于每个词语的后端以下划线隔开,此模块中,也将句子的情绪标签的词性标签添加于该情绪标签的后端以下划线隔开。
[0020] 所述的情绪分析模块包括:
[0021] 词向量文件,用于将预处理后的句子中的每个词语与该句子的情绪标签转化为相应的词向量;
[0022] 句子向量表示模块,用于将词向量转化为句子向量;
[0023] 篇章向量表示模块,用于将句子向量转化为篇章向量;
[0024] 情绪分析模型,用于对输入的篇章向量进行情绪分析,得到相应的情绪分析结果。
[0025] 所述的词向量文件中的每个词对应的词向量是包含词性信息和情绪信息的,是训练基于情感信息和词性信息的C&W词向量(C&W Based Sentiment and Part-of-speech Word Embedding,C&W-SP)模型得到的,具体方法为:
[0026] 首先,添加获取句子的情感信息的情感抽取模块和获取句子中每个词的词性信息的词性标注模块于C&W模型上,得到C&W-SP模型;
[0027] 然后,对数据集以句子为单位采用中科院汉语分词系统或结巴分词方法进行中文分词操作,得到由m个句子组成的分词数据集;
[0028] 接下来,将分词数据集中的每个句子的情绪标签标注于句子末端,将每个句子中每个词语的词性标签标注于该词语的后端,将该句子情感标签的词性标签标注于该情绪标签的后端,作为C&W-SP模型训练集;
[0029] 最后,将C&W-SP模型训练集输入到C&W-SP模型中,以C&W-SP模型损失函数最小化为目标,采用随机梯度下降和反向传播算法更新模型参数,得到该训练集中每个词对应的词向量,组成词向量文件。
[0030] 在所述的句子向量表示模块中,采用长短时间记忆(Long Short Term,LSTM)网络将词向量转化为句子向量。
[0031] 在所述的篇章向量表示模块,采用LSTM网络将句子向量转化为篇章向量。
[0032] 所述的情绪分析模型是通过以下方法获得的:
[0033] 首先,对数据集以句子为单位采用中科院汉语分词系统或结巴分词方法进行中文分词操作,得到由m个句子组成的分词数据集;
[0034] 然后,将分词数据集中的每个句子的情绪标签标注于句子末端,将每个句子中每个词语的词性标签标注于该词语的后端,将该句子情感标签的词性标签标注于该情绪标签的后端,得到预处理数据集;
[0035] 接下来,根据训练C&W-SP模型获得的词向量文件,提取预处理数据集中每个句子的每个词的词向量,构建句子矩阵集,并以句子为单位,将句子矩阵集中的每个词对应的词向量按照顺序输入至LSTM网络,经训练得到句子向量集,将句子向量集中的句子向量按照顺序输入至LSTM网络,经训练得到篇章向量集;
[0036] 最后,采用降维采样的方式对篇章向量集进行情感语义特征提取,得到将情感语义特征集,将情感语义特征集作为神经网络模型的输入,将句子的情感语义特征对应的标准情感类标组成的集合作为神经网络模型的真值输出,通过反向传播算法和随机梯度下降算法更新神经网络模型的参数,得到情感分类模型。
[0037] 本发明的基于深度学习的文本情绪分析系统将情绪倾向信息、词性信息加入词语中,使得词向量所具有的属性增加,提高了词表示的准确率;采用LSTM网络生成句子向量的方法,更加切合句子本身的结构,提高了句子向量表示的准确度;利用已经训练好的情绪分析模型,使情绪分析更方便更准确,方便使用。

附图说明

[0038] 图1是本发明实施例基于深度学习的文本情绪分析系统的结构示意图。

具体实施方式

[0039] 为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
[0040] 图1所示的是本实施例基于深度学习的文本情绪分析系统的结构示意图,包括:信息采集模块、信息预处理模块、情绪分析模块以及信息展示模块,其中:信息预处理模块包括自动分类模块、文本分词模块、情绪信息标注模块、词性信息标注模块;情绪分析模块包括词向量文件、句子向量表示模块、篇章向量表示模块、情绪分析模型。
[0041] 本实施例中的文本分词模块含有中科院汉语分词系统,对评论信息进行分词,情绪信息标注模块中含有情感词典方式,对句子的情绪倾向进行识别,并将情绪标签标注于句子的末端,词性信息标注模块含有斯坦福语法分析器,将分词后的每个词语的词性标签添加于每个词语的后端以下划线隔开,也将句子的情绪标签的词性标签添加于该情绪标签的后端以下划线隔开;句子向量表示模块是将输入的词向量经过LSTM网络转化为句子向量;篇章向量表示模块是将输入的句子向量经过LSTM网络转化为篇章向量。
[0042] 本实施例中采用的词向量文件是通过以下方法获得的:
[0043] 首先,添加获取句子的情感信息的情感抽取模块和获取句子中每个词的词性信息的词性标注模块于C&W模型上,得到C&W-SP模型;
[0044] 然后,对中文语料库以句子为单位采用中科院汉语分词系统或结巴分词方法进行中文分词操作,得到由m个句子组成的分词数据集;
[0045] 接下来,将分词数据集中的每个句子的情绪标签标注于句子末端,利用斯坦福语法分析器将每个句子中每个词语的词性标签标注于该词语的后端,将该句子情感标签的词性标签标注于该情绪标签的后端,作为C&W-SP模型训练集;
[0046] 最后,将C&W-SP模型训练集输入到C&W-SP模型中,以C&W-SP模型损失函数最小化为目标,采用随机梯度下降和反向传播算法更新模型参数,得到该训练集中每个词对应的词向量,组成词向量文件。
[0047] C&W-SP模型分为输入层(Lookup)、线性隐藏层(linear)、非线性隐藏层(hTanh)以及线性输出层(linear)。训练过程为:将训练集作为输入,通过滑动窗口的方式将窗口内每个词的n-gram以及情感性信息和词性信息输入到模型进行训练,通过线性隐藏层和非线性cw u cw u隐藏层,输出一个二维标量[f ,f1],其中,f 代表词性-语义分数,f1代表情感分数。C&W-SP模型的损失函数为:
[0048] lossC&W-SP(t,tr)=α·losscw(t,tr)+(1-α)·lossus(t,tr)
[0049] 其中,α为权重,losscw(t,tr)为C&W模型的损失函数,具体为:
[0050] losscw(t,tr)=max(0,1-fcw(t)+fcw(tr))
[0051] lossus(t,tr)为情感损失函数,具体为:
[0052] lossus(t,tr)=max(0,1-δs(t)f1u(t)+δs(t)f1u(tr))
[0053] δs(t)为反映句子情感倾向性的指示函数,其具体计算公式为:
[0054]
[0055] 给定训练语料库中的任一句子t,t=(wi-(n-1)/2,...,wi-1,wi,wi+1,...,wi+(n-1)/2),通过使用词典中的其他词w′i将句子中心位置的单词wi随机替换,被替换句子记为tr,fcw(t)为t的词性-语义分数,fcw(tr)为tr的词性-语义分数。f1u(t)为t的情感分数,f1u(tr)为tr的情感分数,g=gold polarity,即标准情感倾向,[1,0]表示积极,[0,1]表示消极。
[0056] C&W-SP模型训练的目标是以lossC&W-SP(t,tr)最小,实际含义是原始句子的语言模型分数 比被替换句子的语言模型分数 至少高1,且原始句子的情感分数f1u(t)和被替换句子的情感分数f1u(tr)相一致。
[0057] 本实施例中采用的情绪分析模型是通过以下方式获得:
[0058] 首先,对中文语料库以句子为单位采用中科院汉语分词系统或结巴分词方法进行中文分词操作,得到由m个句子组成的分词数据集;
[0059] 然后,将分词数据集中的每个句子的情绪标签标注于句子末端,将每个句子中每个词语的词性标签标注于该词语的后端,将该句子情感标签的词性标签标注于该情绪标签的后端,得到预处理数据集;
[0060] 接下来,根据训练C&W-SP模型获得的词向量文件,提取预处理数据集中每个句子的每个词的词向量,构建句子矩阵集,并以句子为单位,将句子矩阵集中的每个词对应的词向量按照顺序输入至LSTM网络,经训练得到句子向量集,将句子向量集中的句子向量按照顺序输入至LSTM网络,经训练得到篇章向量集;
[0061] 最后,采用降维采样的方式对篇章向量集进行情感语义特征提取,得到将情感语义特征集,将情感语义特征集作为神经网络模型的输入,将句子的情感语义特征对应的标准情感类标组成的集合作为神经网络模型的真值输出,通过反向传播算法和随机梯度下降算法更新神经网络模型的参数,得到情感分类模型。
[0062] 此神经网络模型中调用Softmax激活函数,实现评论信息的情感分类,0代表消极,1代表积极。
[0063] 以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。