一种基于大规模语料特征学习的微博情感分析方法

xiaoxiao2020-10-23  20

一种基于大规模语料特征学习的微博情感分析方法
【技术领域】
[0001] 本发明涉及互联网信息搜索技术领域,尤其是一种基于大规模语料特征学习的微 博情感分析方法。
【背景技术】
[0002] 在信息爆炸的今天,微博作为一款社交工具,对人们生活的影响越来越大。不管你 做了什么,看到了什么,听到了什么,你都希望和他人分享,微博提供了这样的一个平台,让 用户可以将自己的想法、经历等自由地分享给其他人。微博情感分析是指对微博中的观点 进行抽取、分析,例如对于某条包含对某部电影评价的微博,微博情感分析就是要分析出这 条微博中对这部电影评价的情感倾向,即判断这个观点是正面的,还是负面的(分类问题)。 由于微博平台承载着海量的用户主观想法,对微博进行自动化的情感分析,可以帮助企业、 政府等更好地把握用户的偏好,从而对自己的产品或者工作上的改进产生良好的指导作 用。
[0003] 目前,主流的微博情感分析方法有两类,分别是基于特征工程的方法和基于特征 学习的方法。基于特征工程的方法是首先人工设计一系列特征,例如微博中所用的词、短语 以及它们在情感词典中的情感倾向,或微博中包含的表情数、话题数等等,然后将每一条微 博都转化成一个对应的特征向量,包含了上述人工设计的所有特征,最后利用某个已标注 好情感倾向的微博集合,通过上述方式转化成特征向量集合后,训练一个情感分类器,再用 这个分类器去预测新微博的情感倾向。基于特征工程的方法由于依赖于人工设计特征的 好坏,所以需要丰富的领域相关知识以及大量的人力物力投入。与基于特征工程的方法不 同的是,基于特征学习的方法是训练一个神经网络,使得它能够输入一条原始微博文本后 输出一个它对应的特征向量,该向量可用于情感分类器的训练和预测,此过程中无需任何 人工设计特征,节省成本。对于基于特征学习的方法,一个重要的环节是训练词向量,而现 有的词向量训练算法都只考虑语法上下文,这对情感分析来说是存在问题的,例如"好"与 "坏"这两个语法上下文相似,但是情感倾向完全相反的词被映射到相邻的词向量上,因此 训练词向量时还需要考虑词的情感倾向。此外,否定关系处理也是微博情感分析的一个重 要环节,因为否定关系直接改变了情感倾向。
[0004] 现有微博情感分析方法需人工设计特征,工作量大,成本高,网络结构复杂,无法 结合语法上、下文和情感倾向,有效处理否定关系,,情感分析准确率低。

【发明内容】

[0005] 本发明的目的是针对现有技术的不足而设计的一种基于大规模语料特征学习的 微博情感分析方法,采用神经网络将微博中的每一个词,根据它的语法上下文、当前上下文 中的情感倾向以及它是否被否定,映射到它对应的词向量上,得到一个由微博所对应的词 向量组成的矩阵,在该矩阵上做词向量间的合成,从而得到微博所对应的特征向量,将获得 的特征向量用于情感分类器的训练和预测时,对每条新微博就可得到一个较为准确的情感 分析结果无需人工设计特征,节省成本,尤其适合大规模语料,训练速度快,结合语法上下 文和情感倾向,有效处理否定关系,情感分析准确率高。
[0006] 本发明的目的是这样实现的:一种基于大规模语料特征学习的微博情感分析方 法,包括基于W〇rd2VeC的神经网络和基于监督学习的分类器,其特点是利用微博文本训练 一个基于Word2Vec的神经网络,将微博文本输入完成训练的神经网络,该神经网络将输入 的微博,根据语法上下文、当前上下文中的情感倾向以及它是否被否定映射到对应的词向 量上,从而得到一个与微博文本所对应的微博词向量矩阵,在微博词向量矩阵上做词向量 间的合成,得到与微博文本所对应的微博特征向量,将微博特征向量对基于监督学习的分 类器进行训练后得到情感分类器,使用情感分类器对微博文本进行情感分析,可较为准确 的预测微博情感倾向;所述神经网络为输入层、并行词向量层和输出层组成的三层网络结 构,所述并行词向量层由肯定上下文的词向量矩阵和否定上下文的词向量矩阵组成;所述 输入层将输入词以未被否定和被否定词分别输入并行词向量层中所对应的词向量矩阵;所 述输出层将两词向量矩阵转换成未被否定和被否定的情感倾向输出两个特征向量。
[0007] 所述神经网络的训练按下述步骤进行: 第一步:设定词向量的维度并以微博的输入词为中心的窗口大小; 第二步:随机初始化,将并行词向量层中的两个词向量矩阵,使它们保持一致;Hierarchicalsoftmax层的参数,该层用于预测以输入词为中心的窗口内的一个词;Full softmax层的参数,该层用于预测输入词的情感倾向; 第三步:输入微博并进行分词,分词后去掉其中的@用户和URL,然后进行否定关系检 测,标记出哪些词被否定,最后利用现有的情感词典、表情符号和带有情感倾向的话题线 索,对每一个词在该微博上下文中的情感倾向进行自动化标注; 第四步:对微博中的每一个词,根据它是否被否定,使用相应的词向量层将它映射到它 对应的词向量,使用随机梯度下降算法更新该词向量、Hierarchicalsoftmax层的参数和 Fullsoftmax层的参数,使得给定该词向量,能准确地预测中心窗口内每一个词及其情感 倾向; 第五步:重复第三~第四步骤,对大规模语料中的所有微博都进行神经网络训练。
[0008] 所述完成训练的神经网络按下述步骤得到微博特征向量: 第一步:输入微博,对该微博进行分词并去掉@用户和URL,然后进行否定检测,标记出 哪些词被否定; 第二步:对微博中的每一个词,根据它是否被否定,使用相应的词向量层将它映射到对 应的词向量,并存入微博词向量矩阵中的一列; 第三步:对微博词向量矩阵的每一行,分别取最大值、最小值和平均值得到三个向量; 第四步:将上述三个向量首尾相接成一个微博特征向量输出。
[0009]第五步:对大规模语料中的每一条微博重复第一 ~第四步骤,得到与之对应的微 博特征向量。
[0010] 所述基于监督学习的分类器的训练按下述步骤进行: 第一步:输入神经网络训练中已标注情感倾向的微博以及使用该神经网络得到的该微 博特征向量; 第二步:重复第一步骤,对神经网络训练集中的每一条已标注好情感倾向的微博和该 微博特征向量都进行输入,得到微博特征向量集合及其与之对应的情感倾向集合; 第三步:将上述特征向量集合和情感倾向集合对基于监督学习的分类器进行训练后得 到情感分类器。
[0011] 所述情感分类器使用微博特征向量对输入的微博文本进行情感分析,输出微博情 感倾向的预测结果。
[0012] 本发明与现有技术相比具有以下优点: a)、无需人工设计特征,节省成本:输入一条微博,通过完成训练的神经网络就可得到 该微博对应的特征向量,该特征向量的每一维都是自动计算出来的,并非人工设计,因此节 省了人工设计特征的各种成本。
[0013] (2)、适合大规模语料,训练速度快:神经网络训练时只有三层结构,并使用了随机 梯度下降、Hiericalsoftmax等算法来加快词向量的训练,从而使得即使在单机环境下也 可在短时间内完成大规模语料(百万条微博以上)的训练。
[0014] (3)、结合语法上下文和情感倾向,有效处理否定关系,情感分析准确率高:神经网 络训练的过程中更新词向量时要尽可能准确地预测语法上下文和情感倾向,解决了现有技 术的词向量训练算法把语法上下文相似但情感倾向相反的词映射到相邻的词向量的问题, 进一步提高了情感分析的准确率。此外,根据输入词是否被否定,使用相应的词向量层将它 映射到它对应的词向量,并在训练时更新,从而得到输入词在肯定环境和否定环境下的两 套词向量,从特征向量中体现否定关系改变情感倾向的程度,使得情感分析的准确率再度 提升。
【附图说明】
[0015] 图1为本发明流程图; 图2为神经网络结构示意图; 图3为神经网络训练流程图; 图4为使用完成训练的神经网络得到微博特征向量的流程图; 图5为分类器训练流程图; 图6为使用情感分类器预测微博的情感倾向流程图。
【具体实施方式】
[0016] 参阅附图1,本发明包括基于W〇rd2VeC的神经网络和基于监督学习的分类器,利 用微博文本训练一个基于Word2Vec的神经网络,将微博文本输入完成训练的神经网络,该 神经网络将输入的微博,根据语法上下文、当前上下文中的情感倾向以及它是否被否定,映 射到对应的词向量上,从而得到一个与微博文本所对应的微博词向量矩阵,在微博词向量 矩阵上做词向量间的合成,得到与微博文本所对应的微博特征向量,将微 博特征向量对基 于监督学习的分类器进行训练后得到情感分类器,使用情感分类器对微博文本进行情感分 析,可较为准确预测微博情感倾向。
[0017] 参阅附图2,所述神经网络为输入层、并行词向量层和输出层组成的三层网络结 构,所述并行词向量层由肯定上下文的词向量矩阵和否定上下文的词向量矩阵组成;所述 输入层将输入词以未被否定和被否定词分别输入并行词向量层中所对应的词向量矩阵;所 述输出层将两词向量矩阵转换成未被否定和被否定的情感倾向输出两个特征向量。
[0018] 参阅附图3,所述神经网络的训练按下述步骤进行: 第一步:设定词向量的维度并以微博的输入词为中心的窗口大小; 第二步:随机初始化,将并行词向量层中的两个词向量矩阵,使它们保持一致;Hierarchicalsoftmax层的参数,该层用于预测以输入词为中心的窗口内的一个词;Full softmax层的参数,该层用于预测输入词的情感倾向; 第三步:输入微博并进行分词,分词后去掉其中的@用户和URL,然后进行否定关系检 测,标记出哪些词被否定,最后利用现有的情感词典、表情符号和带有情感倾向的话题线 索,对每一个词在该微博上下文中的情感倾向进行自动化标注; 第四步:对微博中的每一个词,根据它是否被否定,使用相应的词向量层将它映射到它 对应的词向量,使用随机梯度下降算法更新该词向量、Hierarchicalsoftmax层的参数和 Fullsoftmax层的参数,使得给定该词向量,能准确地预测中心窗口内每一个词及其情感 倾向; 第五步:重复第三~第四步骤,对大规模语料中的所有微博都进行神经网络训练。
[0019] 参阅附图4,所述完成训练的神经网络按下述步骤得到微博特征向量: 第一步:输入微博,对该微博进行分词并去掉@用户和URL,然后进行否定检测,标记出 哪些词被否定; 第二步:对微博中的每一个词,根据它是否被否定,使用相应的词向量层将它映射到对 应的词向量,并存入微博词向量矩阵中的一列; 第三步:对微博词向量矩阵的每一行,分别取最大值、最小值和平均值得到三个向量; 第四步:将上述三个向量首尾相接成一个微博特征向量输出。
[0020] 第五步:对大规模语料中的每一条微博重复第一 ~第四步骤,得到与之对应的微 博特征向量。
[0021] 参阅附图5,所述基于监督学习的分类器的训练按下述步骤进行: 第一步:输入神经网络训练中已标注情感倾向的微博以及使用该神经网络得到的该微 博特征向量; 第二步:重复第一步骤,对神经网络训练集中的每一条已标注好情感倾向的微博和该 微博特征向量都进行输入,得到微博特征向量集合及其与之对应的情感倾向集合; 第三步:将上述特征向量集合和情感倾向集合对基于监督学习的分类器进行训练后得 到情感分类器。
[0022]参阅附图6,所述情感分类器使用微博特征向量对输入的微博文本进行情感分析, 输出微博情感倾向的预测结果,其步骤如下: 第一步:输入微博; 第二步:使用完成训练的神经网络得到该微博的特征向量; 第三步:对该微博的特征向量,使用情感分类器预测该微博的情感倾向。
[0023] 对上述微博情感倾向的预测结果可采用人工标注好情感倾向的微博语料(几百到 上千条微博即可)进行准确率评估。本发明适合在大规模微博语料上快速地训练一个神经 网络,使得它能够输入一条原始微博文本后输出一个它对应的特征向量,该特征向量不仅 编码了语法上下文和情感倾向这两种信息,同时还考虑了否定关系的处理,它的获取无需 任何人工设计,节省成本,这样获得的特征向量用于情感分类器的训练与预测时,可在预测 微博时获得较高的准确率。
[0024] 以上只是对本发明作进一步的说明,并非用以限制本专利,凡为本发明等效实施, 均应包含于本专利的权利要求范围之内。
【主权项】
1. 一种基于大规模语料特征学习的微博情感分析方法,包括基于Word2Vec的神经网 络和基于监督学习的分类器,其特征在于利用微博文本训练一个基于W〇rd2VeC的神经网 络,将微博文本输入完成训练的神经网络,该神经网络将输入的微博,根据语法上下文、当 前上下文中的情感倾向以及它是否被否定映射到对应的词向量上,从而得到一个与微博文 本所对应的微博词向量矩阵,在微博词向量矩阵上做词向量间的合成,得到与微博文本所 对应的微博特征向量,将微博特征向量对基于监督学习的分类器进行训练后得到情感分类 器,使用情感分类器对微博文本进行情感分析,可较为准确的预测微博情感倾向;所述神经 网络为输入层、并行词向量层和输出层组成的三层网络结构,所述并行词向量层由肯定上 下文的词向量矩阵和否定上下文的词向量矩阵组成;所述输入层将输入词以未被否定和被 否定词分别输入并行词向量层中所对应的词向量矩阵;所述输出层将两词向量矩阵转换成 未被否定和被否定的情感倾向输出两个特征向量。2. 根据权利要求1所述基于大规模语料特征学习的微博情感分析方法,其特征在于所 述神经网络的训练按下述步骤进行: 第一步:设定词向量的维度并以微博的输入词为中心的窗口大小; 第二步:随机初始化,将并行词向量层中的两个词向量矩阵,使它们保持一致;Hierarchicalsoftmax层的参数,该层用于预测以输入词为中心的窗口内的一个词;Full softmax层的参数,该层用于预测输入词的情感倾向; 第三步:输入微博并进行分词,分词后去掉其中的@用户和URL,然后进行否定关系检 测,标记出哪些词被否定,最后利用现有的情感词典、表情符号和带有情感倾向的话题线 索,对每一个词在该微博上下文中的情感倾向进行自动化标注; 第四步:对微博中的每一个词,根据它是否被否定,使用相应的词向量层将它映射到它 对应的词向量,使用随机梯度下降算法更新该词向量、Hierarchicalsoftmax层的参数和 Fullsoftmax层的参数,使得给定该词向量,能准确地预测中心窗口内每一个词及其情感 倾向; 第五步:重复第三~第四步骤,对大规模语料中的所有微博都进行神经网络训练。3. 根据权利要求1所述基于大规模语料特征学习的微博情感分析方法,其特征在于所 述完成训练的神经网络按下述步骤得到微博特征向量: 第一步:输入微博,对该微博进行分词并去掉@用户和URL,然后进行否定检测,标记出 哪些词被否定; 第二步:对微博中的每一个词,根据它是否被否定,使用相应的词向量层将它映射到对 应的词向量,并存入微博词向量矩阵中的一列; 第三步:对微博词向量矩阵的每一行,分别取最大值、最小值和平均值得到三个向量; 第四步:将上述三个向量首尾相接成一个微博特征向量输出; 第五步:对大规模语料中的每一条微博重复第一 ~第四步骤,得到与之对应的微博特 征向量。4. 根据权利要求1所述基于大规模语料特征学习的微博情感分析方法,其特征在于所 述基于监督学习的分类器的训练按下述步骤进行: 第一步:输入神经网络训练中已标注情感倾向的微博以及使用该神经网络得到的该微 博特征向量; 第二步:重复第一步骤,对神经网络训练集中的每一条已标注好情感倾向的微博和该 微博特征向量都进行输入,得到微博特征向量集合及其与之对应的情感倾向集合; 第三步:将上述特征向量集合和情感倾向集合对基于监督学习的分类器进行训练后得 到情感分类器。5.根据权利要求1所述基于大规模语料特征学习的微博情感分析方法,其特征在于所 述情感分类器使用微博特征向量对输入的微博文本进行情感分析,输出微博情感倾向的预 测结果。
【专利摘要】本发明公开了一种基于大规模语料特征学习的微博情感分析方法,其特点是利用微博文本训练一个基于Word2Vec的神经网络,将微博文本输入完成训练的神经网络,该神经网络将输入的微博,根据语法上下文、当前上下文中的情感倾向以及它是否被否定,映射到对应的词向量上,得到一个由微博中的词所对应的词向量组成的矩阵,在该矩阵上做词向量间的合成,进一步得到微博对应的特征向量,将特征向量用于情感分类器的训练和预测时,可得到一个较为准确的微博情感分析结果。本发明与现有技术相比具有成本低,分析准确率高,尤其适合大规模语料,训练速度快,结合语法上下文和情感倾向,有效处理否定关系,提高情感分析的准确率。
【IPC分类】G06Q50/00, G06F17/27, G06F17/30
【公开号】CN104899298
【申请号】CN201510310710
【发明人】杨静, 裴逸钧, 贺樑
【申请人】华东师范大学
【公开日】2015年9月9日
【申请日】2015年6月9日

最新回复(0)