CN109543110A - 一种微博情感分析方法及系统 - Google Patents
一种微博情感分析方法及系统 Download PDFInfo
- Publication number
- CN109543110A CN109543110A CN201811432829.3A CN201811432829A CN109543110A CN 109543110 A CN109543110 A CN 109543110A CN 201811432829 A CN201811432829 A CN 201811432829A CN 109543110 A CN109543110 A CN 109543110A
- Authority
- CN
- China
- Prior art keywords
- data
- microblog
- microblogging
- positive
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种微博情感分析方法及系统。本发明提供的微博情感分析方法及系统,采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据,将各个目标话题数据输入微博情感分类器,即可获得各个目标话题数据的情感类型。本发明采用基于表情词和情感词的弱监督学习方法进行情感微博的过滤,选取数量相等的积极微博数据和消极微博数据构建了一个百万量级的中文微博语料库,利用语料库对fastText分类器进行训练获得的微博情感分类器,可兼顾分类的准确性和时效性,能够准确反映话题的情感走向。
Description
技术领域
本发明涉及自然语言处理技术领域,特别是涉及一种微博情感分析方法及系统。
背景技术
微博话题的情感分析旨在探索社交网络上人们对于某一话题或事件的观点和态度。智能手机的普及使得越来越多的人从移动终端接入互联网,进入社交网络。新浪微博作为国内较大的社交网络平台,其日活跃用户量已经超过了1.5亿,平均每日发布的微博总数达两亿条之多。微博海量的数据中蕴含着丰富的实时信息,人们可以将生活动态和观点推送到微博上,也可以对热门事件进行评论。这些带有主观色彩的数据给情感分析的研究带来了很大的便利。微博的实时和时序情感信息挖掘可以准确的反映出微博话题走向并进行预警,对于个人、企业和政府来说都有积极意义。
微博的数据具有实时性和时效性,抓住微博信息的时效性,分析最新的话题数据,才能更大的发挥数据的价值。目前针对微博情感分析的研究大多致力于运用深度学习的方法提高情感分类器的分类性能,其使用的数据集也大多是该领域最典型的斯坦福Twitter英文情感分析数据集,并没有针对微博某一特定话题或领域的垂直时序分析,也并没有针对某一话题的大规模微博数据集。大多数研究都是在已有的数据集上进行静态的情感分析,时效性较差。
发明内容
本发明的目的是提供一种微博情感分析方法及系统,可兼顾分类的准确性和时效性,能够准确反映话题的情感走向。
为实现上述目的,本发明提供了如下方案:
一种微博情感分析方法,所述分析方法包括:
采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据;
将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型,所述微博情感分类器的输入为微博文本数据,所述微博情感分类器的输出为积极微博或消极微博;所述微博情感分类器的建立方法具体包括:
采用通用网络爬虫采集若干微博文本数据作为分类训练数据;
获取微博文本的特征表情词,所述特征表情词包括积极表情词和消极表情词;
利用所述特征表情词对所述分类训练数据进行分类,获得积极微博数据和消极微博数据,所述积极微博数据为带有积极表情词的微博数据,所述消极微博数据为带有消极表情词的微博数据;
选取数量相等的积极微博数据和消极微博数据构成语料库;
利用所述语料库对所述fastText分类器进行训练,获得所述微博情感分类器。
可选的,所述获取微博文本的特征表情词之前,还包括:
对所述分类训练数据进行去噪处理,获得去噪处理后的分类训练数据,所述去噪处理具体包括:
过滤掉微博文本数据中的颜文字和符号;
采用正则表达式对统一资源定位符链接和邮箱进行匹配过滤;
过滤掉字符长度小于设定阈值的微博文本数据。
可选的,所述选取数量相等的积极微博数据和消极微博数据构成语料库之前还包括:
判断所述积极微博数据中是否存在情感极性词典中的消极情感词,获得第一判断结果;
当所述第一判断结果表示所述积极微博数据中存在情感极性词典中的消极情感词,则将存在消极情感词的积极微博数据滤除;
判断所述消极微博数据中是否存在情感极性词典中的积极情感词,获得第二判断结果;
当所述第二判断结果表示所述消极微博数据中存在情感极性词典中的积极情感词,则将存在积极情感词的消极微博数据滤除。
可选的,所述将各个所述目标话题数据输入微博情感分类器之前,还包括:
随机选取与所述目标话题数据数量相同的微博文本数据作为约束训练数据;
利用所述约束训练数据对所述fastText分类器进行训练,获得微博话题约束模型;
采用所述微博话题约束模型对所述目标话题数据进行不相关话题清洗,获得清洗后的目标话题数据。
可选的,所述将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型之后,还包括:
将各个所述目标话题数据的情感类型按照对应的目标话题数据的发布时间排列在时间轴上。
一种微博情感分析系统,所述分析系统包括:
目标话题数据采集模块,用于采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据;
情感分析模块,用于将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型,所述微博情感分类器的输入为微博文本数据,所述微博情感分类器的输出为积极微博或消极微博;所述微博情感分类器的建立子系统具体包括:
分类训练数据采集模块,用于采用通用网络爬虫采集若干微博文本数据作为分类训练数据;
特征表情词获取模块,用于获取微博文本的特征表情词,所述特征表情词包括积极表情词和消极表情词;
微博数据分类模块,用于利用所述特征表情词对所述分类训练数据进行分类,获得积极微博数据和消极微博数据,所述积极微博数据为带有积极表情词的微博数据,所述消极微博数据为带有消极表情词的微博数据;
语料库构建模块,用于选取数量相等的积极微博数据和消极微博数据构成语料库;
分类器训练模块,用于利用所述语料库对所述fastText分类器进行训练,获得所述微博情感分类器。
可选的,所述微博情感分类器的建立子系统还包括:
去噪处理模块,用于对所述分类训练数据进行去噪处理,获得去噪处理后的分类训练数据,所述去噪处理具体包括:
过滤掉微博文本数据中的颜文字和符号;
采用正则表达式对统一资源定位符链接和邮箱进行匹配过滤;
过滤掉字符长度小于设定阈值的微博文本数据。
可选的,所述微博情感分类器的建立子系统还包括:
第一判断模块,用于判断所述积极微博数据中是否存在情感极性词典中的消极情感词,获得第一判断结果;
第一过滤模块,用于当所述第一判断结果表示所述积极微博数据中存在情感极性词典中的消极情感词,则将存在消极情感词的积极微博数据滤除;
第二判断模块,用于判断所述消极微博数据中是否存在情感极性词典中的积极情感词,获得第二判断结果;
第二过滤模块,用于当所述第二判断结果表示所述消极微博数据中存在情感极性词典中的积极情感词,则将存在积极情感词的消极微博数据滤除。
可选的,所述微博情感分析系统还包括:
约束训练数据选取模块,用于随机选取与所述目标话题数据数量相同的微博文本数据作为约束训练数据;
约束模型确定模块,用于利用所述约束训练数据对所述fastText分类器进行训练,获得微博话题约束模型;
不相关话题清洗模块,用于采用所述微博话题约束模型对所述目标话题数据进行不相关话题清洗,获得清洗后的目标话题数据。
可选的,所述微博情感分析系统还包括:
时序分析模块,用于将各个所述目标话题数据的情感类型按照对应的目标话题数据的发布时间排列在时间轴上。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的微博情感分析方法及系统,采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据,将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型。本发明采用基于表情词和情感词的弱监督学习方法进行情感微博的过滤,选取数量相等的积极微博数据和消极微博数据构建了一个百万量级的中文微博语料库,利用语料库对fastText分类器进行训练获得的微博情感分类器,可兼顾分类的准确性和时效性,能够准确反映话题的情感走向。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种微博情感分析方法的流程图;
图2为本发明实施例提供的微博情感分类器的建立方法的流程图;
图3为本发明实施例提供的一种微博情感分析系统的结构框图;
图4为本发明实施例提供的所述微博情感分类器的建立子系统的结构框图;
图5为本发明实施例提供的数据去噪处理的流程图;
图6为本发明实施例提供的数据去噪处理结果图;
图7为本发明实施例提供的微博情感分类器的整体框架图;
图8为本发明实施例提供的以天为时间颗粒度的时序情感分析示意图;
图9为本发明实施例提供的以小时为时间颗粒度的时序情感分析的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种微博情感分析方法及系统,可兼顾分类的准确性和时效性,能够准确反映话题的情感走向。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例提供的一种微博情感分析方法的流程图。如图1所示,一种微博情感分析方法,所述分析方法包括:
步骤101:采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据。
聚焦网络爬虫聚焦于某一目标话题,实现了特定话题特定时间段内微博文本的获取,既可以采集到该话题的历史微博数据,也可以采集到该话题的当天实时数据,采集到的数据用于垂直话题的时序实时情感分析。
步骤102:将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型,所述微博情感分类器的输入为微博文本数据,所述微博情感分类器的输出为积极微博或消极微博。
优选地,执行步骤102:将各个所述目标话题数据输入微博情感分类器之前,还包括对所述目标话题数据进行去噪处理,获得去噪处理后的目标话题数据,所述去噪处理具体包括:过滤掉微博文本数据中的颜文字和符号;采用正则表达式对统一资源定位符(Uniform Resource Locator,URL)链接和邮箱进行匹配过滤;过滤掉字符长度小于设定阈值的微博文本数据。
优选地,执行步骤102:将各个所述目标话题数据输入微博情感分类器之前,还包括:
随机选取与所述目标话题数据数量相同的微博文本数据作为约束训练数据。本实施例中,是将从分类训练数据中随机选取的与所述目标话题数据数量相同的微博文本数据作为约束训练数据。
利用所述约束训练数据对所述fastText分类器进行训练,获得微博话题约束模型。
采用所述微博话题约束模型对所述目标话题数据进行不相关话题清洗,过滤掉话题不相关的微博,获得清洗后的目标话题数据。微博话题约束模型实际上是一个分类模型,用于对目标话题数据进行分类,分成话题相关微博和话题不相关微博,并将话题不相关的微博噪声过滤掉。
为了能够准确直观第反映话题的情感走向,执行所述步骤102:将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型之后,还包括:
将各个所述目标话题数据的情感类型按照对应的目标话题数据的发布时间排列在时间轴上,便于对分类结果进行时序分析。将分类结果展示在时间轴上,能够实现天级和小时级等不同时间颗粒度的情感分析,从而了解一个话题随着时间推移,其微博情感的变化情况。
图2为本发明实施例提供的微博情感分类器的建立方法的流程图。如图2所示,所述微博情感分类器的建立方法具体包括:
步骤201:采用通用网络爬虫采集若干微博文本数据作为分类训练数据。
采用通用网络爬虫采集大量的微博文本数据,其采用了多线程和代理的技术,实现了58万条/天的微博文本高并发爬取,采集到的分类训练数据用于情感分类器的训练。
步骤202:获取微博文本的特征表情词,所述特征表情词包括积极表情词和消极表情词。
利用具有强情感色彩的特征表情词对微博进行分类,带有积极表情的微博划分为积极微博,带有消极表情的微博划分为消极微博。
步骤203:利用所述特征表情词对所述分类训练数据进行分类,获得积极微博数据和消极微博数据,所述积极微博数据为带有积极表情词的微博数据,所述消极微博数据为带有消极表情词的微博数据。
步骤204:选取数量相等的积极微博数据和消极微博数据构成语料库。
本实施例采用弱监督学习方法从数据集中提取出420万条情感积极的微博和68万条情感消极的微博。从情感积极的微博集中随机挑选出与消极微博数等量的微博,构成了中文微博情感分析的语料库weibo_sentiment_corpus,用于下一步的情感分类器的训练。
为了防止在训练过程中分类器选取表情词作为特征,分配给表情词较大的权重,本实施例将语料库中每一条微博包含的表情词剥离掉。另外,考虑到分布式词向量的训练中每一个词的词向量都产生自上下文的关系,而停用词在上下文中还是能够提供有效信息的,所以本实施例并没有对停用词进行清理。
步骤205:利用所述语料库对所述fastText分类器进行训练,获得所述微博情感分类器。
本实施例中,语料库80%的微博文本作为训练集,20%的微博文本作为测试集,最终分类准确率最高的fastText分类器的词向量长度为300维度,其达到了92.2%的准确率。通过提升词向量的维度可进一步提升分类器的准确率。
优选地,执行所述步骤202:获取微博文本的特征表情词之前,还包括:
对所述分类训练数据进行去噪处理,获得去噪处理后的分类训练数据,所述去噪处理具体包括:过滤掉微博文本数据中的颜文字和符号;采用正则表达式对统一资源定位符(Uniform Resource Locator,URL)链接和邮箱进行匹配过滤;过滤掉字符长度小于设定阈值的微博文本数据。
新浪微博中有大量的@和##符号,用来表示提到某人或是给微博加上标签,这些特有属性会在分类器的训练中带来噪声。同时,新浪微博上还有大量由特殊字符组成的颜文字,分类器不能识别这些字符的语义,所以要在去噪处理阶段过滤掉微博文本数据中的颜文字和符号,并采用正则表达式对URL链接和邮箱进行匹配过滤,然后计算每条微博文本数据的长度,从而过滤掉字符长度小于设定阈值的无效微博,其中一个汉字按照一个字符来算。可选地,设定阈值的范围为4-10,优选地,设定阈值为5。最后用结巴(jieba)分词对每条微博文本进行分词处理。
本实施例中NTUSD(National Taiwan University Sentiment Dictionary)情感词典被用对微博进行双重过滤,一条微博如果包含有与表情词情感色彩相异的情感词,也会被过滤掉,即执行所述步骤204:选取数量相等的积极微博数据和消极微博数据构成语料库之前还包括:
判断所述积极微博数据中是否存在情感极性词典中的消极情感词,获得第一判断结果。
当所述第一判断结果表示所述积极微博数据中存在情感极性词典中的消极情感词,则将存在消极情感词的积极微博数据滤除;
判断所述消极微博数据中是否存在情感极性词典中的积极情感词,获得第二判断结果。
当所述第二判断结果表示所述消极微博数据中存在情感极性词典中的积极情感词,则将存在积极情感词的消极微博数据滤除。
表1典型表情词
本实施例为了提取到带有情感色彩而且没有表情歧义的微博,采用手动方式挑选出了具有强情感色彩的特征表情词,如表1所示,其中包含有18个典型的消极表情词和37个典型的积极表情词。NTUSD情感词典也被用作微博的双重过滤,一条微博如果包含有与表情词情感色彩相异的情感词,也会被过滤掉。一条微博被划分为情感微博,首先该微博必须包含有特征表情词,用正则表达式\[[a-zA-z\u4e00-\u9fff]{1,5}\]来获取文本中所有的表情词,如果微博文本包含有表情词并且只包含有一类表情词,例如只包含有积极表情词,那么再判断该微博中的其他词语是否与情感词典中的消极情感词有交集,如果不包含有消极情感词,那么该条微博就被划分为积极微博。整个过滤过程算法如下,
输入:情感词典NTUSD,微博数据集weibos,微博表情词典emoji_dict
输出:积极微博集合pos_set,消极微博集合neg_set
可见,对于一条微博,如果将其划分为情感积极的微博,那么其必须满足三个条件,第一,包含积极的表情词,第二,不包含消极的表情词,第三,不包含消极的情感词,其中表情词来自微博表情此点,情感词来自NTUSD词典。虽然情感微博过滤算法的过滤条件比较严格,但是3500万条的微博数据总量还是保证了其能过滤出大量具有强烈情感色彩的微博数据。
图3为本发明实施例提供的一种微博情感分析系统的结构框图。如图3所示,一种微博情感分析系统,所述分析系统包括:
目标话题数据采集模块301,用于采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据。
情感分析模块302,用于将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型,所述微博情感分类器的输入为微博文本数据,所述微博情感分类器的输出为积极微博或消极微博。
优选地,所述微博情感分析系统还包括:
约束训练数据选取模块,用于随机选取与所述目标话题数据数量相同的微博文本数据作为约束训练数据;
约束模型确定模块,用于利用所述约束训练数据对所述fastText分类器进行训练,获得微博话题约束模型;
不相关话题清洗模块,用于采用所述微博话题约束模型对所述目标话题数据进行不相关话题清洗,获得清洗后的目标话题数据。
为了能够准确直观第反映话题的情感走向,所述微博情感分析系统还包括:
时序分析模块,用于将各个所述目标话题数据的情感类型按照对应的目标话题数据的发布时间排列在时间轴上。
图4为本发明实施例提供的所述微博情感分类器的建立子系统的结构框图。如图4所示,所述微博情感分类器的建立子系统包括:
分类训练数据采集模块401,用于采用通用网络爬虫采集若干微博文本数据作为分类训练数据。
特征表情词获取模块402,用于获取微博文本的特征表情词,所述特征表情词包括积极表情词和消极表情词;
微博数据分类模块403,用于利用所述特征表情词对所述分类训练数据进行分类,获得积极微博数据和消极微博数据,所述积极微博数据为带有积极表情词的微博数据,所述消极微博数据为带有消极表情词的微博数据;
语料库构建模块404,用于选取数量相等的积极微博数据和消极微博数据构成语料库;
分类器训练模块405,用于利用所述语料库对所述fastText分类器进行训练,获得所述微博情感分类器。
优选地,所述微博情感分类器的建立子系统还包括:
去噪处理模块,用于对所述分类训练数据进行去噪处理,获得去噪处理后的分类训练数据,所述去噪处理具体包括:
过滤掉微博文本数据中的颜文字和符号;
采用正则表达式对统一资源定位符链接和邮箱进行匹配过滤;
过滤掉字符长度小于设定阈值的微博文本数据。
优选地,所述微博情感分类器的建立子系统还包括:
第一判断模块,用于判断所述积极微博数据中是否存在情感极性词典中的消极情感词,获得第一判断结果;
第一过滤模块,用于当所述第一判断结果表示所述积极微博数据中存在情感极性词典中的消极情感词,则将存在消极情感词的积极微博数据滤除;
第二判断模块,用于判断所述消极微博数据中是否存在情感极性词典中的积极情感词,获得第二判断结果;
第二过滤模块,用于当所述第二判断结果表示所述消极微博数据中存在情感极性词典中的积极情感词,则将存在积极情感词的消极微博数据滤除。
本发明提供的微博情感分析系统的实施流程如下:
S1,微博通用爬虫结合微博应用程序接口,采集到3500万条各种话题的微博文本作为分类训练数据;
S2,微博聚焦爬虫结合微博应用程序接口,对特定话题的微博进行实时数据和历史数据的获取,作为目标话题数据。其中,目标话题数据包含了每条微博发布的时间信息,后期用来进行时序分析。
S3,分别对步骤S1和S2采集到的数据进行清洗并分词。
S301:利用正则表达式匹配微博中最常见的@和#符号,清洗掉@和@附带的用户名,过滤掉#和#代表的所有标签;
S302:利用正则表达式匹配并过滤微博文本中的url链接和邮箱地址,经过统计,采集到的3500万条微博文本中,有67万条包含了url链接和邮箱地址,即平均每100条数据中有两条需要进行清理。
S303:将网络上常见的颜文字拆解,得到特殊字符字典,并利用该字典过滤微博文本中的特殊字符;
S304:删除每条微博文本中多余的空格,并计算每一条微博文本的长度l,若l<5,则过滤掉该条微博。
如图5所示,微博文本的清洗工作有如下四个步骤:微博特有属性清洗、url链接和邮箱清洗、特殊字符清洗和短微博清洗。源数据共有6.34GB大小,图6展示了在每一次清理后,剩余的数据量大小。新浪微博中有大量的@和##符号,用来表示提到某人或是给微博加上标签,这些特有的属性会在分类器的训练中带来噪声,而且由于微博长度限制的解禁,一条微博里可能含有多个标签,若不去掉标签,后期分类器的训练中会分配给标签较大的权重。清理掉微博的特有属性后,总数据量从6.34GB减少为6.12GB。经过统计,微博数据集中有67万条包含有url链接或邮箱地址的文本,即平均每100条数据中,有两条是包含有链接和邮箱的,我们采用了正则表达式对url链接和邮箱进行匹配并过滤。经过过滤,总数据量从6.12GB减少为6.11GB。由于网络用语的随意性和微博用户群体的年轻化,新浪微博上有大量由特殊字符组成的颜文字,这些颜文字充斥在文本的各个角落,机器不能识别这些字符的语义,所以要在预处理阶段过滤掉。过滤掉特殊字符后,总数据量从6.11GB减少为5.75GB。最后一个预处理步骤是短微博的过滤,经过上述步骤的清洗,很多微博文本的长度会变短,设定字符长度小于5的微博为无效微博,其中一个汉字按照一个字符来算。经过过滤,有228万条无效的短微博被过滤掉,最后数据集中还剩下3348万条有效微博,大小共计5.21GB。
S4,利用微博特征表情词和情感极性词典,对通用网络爬虫采集到的数据进行弱监督学习训练,过滤出带有强烈情感色彩的微博,作为微博情感分析的语料库。
所述步骤S4中的微博表情词为具有强烈情感色情的积极表情词和消极表情词,情感极性词典使用了NTUSD情感词典。以构建情感积极的微博集合positive_set为例,对于每一条微博文本,如果其中包含有积极表情词并且不包含有消极表情词和NTUSD中的消极情感词,那么该条微博就加入positive_set,消极微博集合negative_set的构建同理。最后通过该弱监督方法过滤得到了positive_set和negative_set,集合大小都是68万,共同组成了微博情感分析的语料库weibo_sentiment_corpus,其中有134万条情感微博,该语料库为目前已知最大的中文微博情感分析语料库。
最后过滤得到的weibo_sentiment_corpus中,是包含有停用词的,并没有遵循传统的文本清洗中过滤停用词的步骤,实验证明,基于有停用词的训练集的分类器,其准确率比无停用词训练得到的分类器高0.4个百分点。另外,语料库中的微博文本是已经过滤掉表情词的文本,这样避免了训练分类器的过程中,表情词被赋予较大的权重,影响分类的精度。
S5,利用fastText对步骤S4生成的语料库进行情感分类器的训练,得到微博情感分类器。
微博情感分类器的训练选取了weibo_senti-ment_corpus中80%的微博作为训练集,20%的微博作为测试集。通过测试集的测试结果可知,该分类器的分类准确率达到了92.2%。
S6,采用微博话题约束模型对步骤S2采集到的目标话题的微博数据中的话题不相关微博进行过滤。微博话题约束模型采用了fastText进行约束模型的训练,其训练得到的微博话题约束模型能够过滤掉话题不相关的噪声微博。
S7,利用步骤S5生成的情感分类器对步骤S6过滤得到的微博话题数据进行分类,具体包括:
S701:对于特定的目标话题微博,每隔10分钟采集一次最新数据;
S702:对于S701中采集到的最新数据,采用步骤S6中的微博话题约束模型过滤话题不相关的噪声微博;
S703:对于7602中过滤得到的目标话题微博,采用步骤S3进行清洗,然后存储到数据库中;
S704:对于S703中清洗完毕的数据,采用步骤S5训练得到的微博情感分类器进行分类,然后将分类结果按照时间顺序同步到数据库中。
S8,将步骤S7中分类结果按照时间顺序动态的展示出来,从而实现特定话题的实时时序情感分析。
步骤S8中对于微博特定话题的时序情感分析属于应用层的分析。从数据库中读取目标话题微博的所有分类结果,然后按照时间顺序将情感的分类结果绘制成图,图的x轴为时间轴,y轴为微博条数。图中有两条曲线,位于x轴上方的曲线代表特定话题随着时间变化的积极情感程度,位于x轴下方的曲线代表该话题随着时间变化的消极情感程度。
如图6所示,本发明提出的微博情感分析方法获得的微博情感分类器一共分为四层,分别是:数据采集和预处理层、模型层、数据存储层和应用层。
数据采集和预处理层中,通用网络爬虫和聚焦网络爬虫负责数据的采集,采集到的数据经过短暂的存储后,进行数据的预处理。在该层中,通用爬虫一共采集到3500万条微博,文件共计6.34GB大小。聚焦网络爬虫可以采集任一特定话题的历史数据和实时数据。本实施例挑选了2018年4月比较热门的话题:中兴危机,作为例子进行说明,也利用聚焦网络爬虫采集到了和中兴话题相关的从2018年1月1日到2018年5月1日的历史微博文本,共计3.8万条。
在模型层,一共有三个模型,分别是弱监督学习数据集生成模型、微博话题约束模型和情感极性分类模型。数据集生成模型采用了基于特征表情词和NTUSD情感词典的弱监督学习方法,过滤得到了420万条情感积极的微博和68万条情感消极的微博。由于微博总体情感偏向于积极,而且积极特征表情词的数量是消极表情词数量的两倍,所以最终提取出来的情感积极的微博数量是远远大于消极微博的。为了防止训练情感分类器的过程中,一条微博被赋予较大的积极情感的先验概率,故从情感积极的微博集中随机挑选出与消极微博数等量的微博,构成了中文微博情感分析的语料库,用于情感分类器的训练。另外,对于每一条微博文本,按照其包含的微博表情词的情感类别,在文本开头加入“__label__negative”或“__label__positive”作为分类的标签。对于微博话题约束模型,在采集到特定话题的历史数据集history_set后,从通用网络爬虫采集到的数据中随机抓取与特定话题微博数量等量的微博,作为话题不相关的微博数据集irrelevant_topic_set,与history_set一起放入分类器中进行训练,生成话题分类器即微博话题约束模型,最后采用微博话题约束模型对history_set和实时爬取到的微博中的每一条微博进行话题相关度分析,相关度α范围为:0≤α≤1。设定相关度阈值,如果α≥0.6,那么该条微博就算作话题相关微博。对于最后的微博情感分类器,在实际的分类器训练中,语料库80%的微博文本作为训练集,20%的微博文本作为测试集。实验结果证明,fastText可以在100秒内对3400万词汇量、字典大小36万的数据集进行快速训练,基于有停用词的训练集的分类器的分类准确率达到了92.2%,比基于无停用词训练集训练得到的分类器高0.4个百分点。可见,停用词在分布式词向量的训练中是起作用的。传统的基于规则和统计的模型之所以要去除停用词,根本原因在于其只学习到了文字的符号意义,每两个词都是相互割裂开来的,并不是根据上下文去推断一个词的语义。本发明是基于一个大规模的数据集得到的,如果将话题缩小到某个具体的领域,那么分类器的分类性能应该会得到进一步的提升。
基于中兴公司在2018年的前四个月有较高的话题热度,本发明对中兴的话题微博进行详细的分析。在数据的采集阶段,聚焦网络爬虫采集到了3.8万条中兴话题的微博,平均每天310条微博,每小时13条微博,该数据量足以支撑以天数和小时为单位的时序情感分析。从聚焦爬虫中随机抽取出3.8万条微博,这些微博大概率上是与中兴话题无关的微博,作为训练集中的不相关话题和3.8万条中兴话题微博一起送入fastText进行话题约束模型的训练。模型训练好后,再对3.8万条中兴话题的微博进行重新分类,如果其与中兴话题的相关度大于或等于60%,即属于中兴话题的概率大于或等于60%,那么该条微博就算作话题相关的微博。
利用之前训练出来的微博情感分类器对中兴话题微博中的每一条微博进行分类,最后按照时间顺序得到了每一条微博的情感分类结果。如图7所示,以天数为单位对2018年3月21日到2018年4月27日的中兴话题微博进行了时序情感分析,从图8中可以直观的看到,3月21日到4月15日的微博情感都是偏正面的,直到4月16日中兴被美国商务部制裁的事件发生,情感消极的微博急剧增加并超过了情感积极的微博,这反映了中兴面临的巨大危机。再将时间聚焦到4月16日的24小时进行更垂直的分析,从图9可以看出,情感积极的微博数量在大部分时间里多于情感消极的微博,而在21点之后,情感消极的微博数量突然增加并且不断增长,这说明晚上9点到10点之间中兴产生了舆论危机,这正好对应了美国商务部在美国东部时间9时宣布的制裁中兴事件。
以上的分析证明了微博话题的垂直时序分析的可行性。不同于百度指数和微博微指数的热度曲线,本发明提出的分析方法在兼顾话题事件热度的同时,还实现了积极情感和消极情感的动态时序分析,能够快速直观的反映出话题的情感变化。这也从应用的角度证明了本发明训练出来的微博情感分类器的有效性与实用性。
本发明实现了微博垂直话题的实时和时序情感分析,在兼顾微博情感分类器准确率的同时,增强了微博情感分析的实时性和时效性。本发明基于表情词和情感词的弱监督学习方法,构建了一个百万量级的中文微博情感分析语料库,该语料库目前为该领域最大的语料库。本发明克服了基于词袋模型的向量稀疏问题,采用fastText进行分布式词向量和情感分类器的训练,从而学习到微博短文本更多的语义。本发明提出的微博话题约束模型,实现了特定话题微博数据集中噪声微博的过滤。实验结果表明,本发明提供的微博情感分类器的准确率达到了92.2%,在此基础上实现的微博话题的时序情感分析也能准确反映话题的情感走向。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种微博情感分析方法,其特征在于,所述分析方法包括:
采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据;
将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型,所述微博情感分类器的输入为微博文本数据,所述微博情感分类器的输出为积极微博或消极微博;所述微博情感分类器的建立方法具体包括:
采用通用网络爬虫采集若干微博文本数据作为分类训练数据;
获取微博文本的特征表情词,所述特征表情词包括积极表情词和消极表情词;
利用所述特征表情词对所述分类训练数据进行分类,获得积极微博数据和消极微博数据,所述积极微博数据为带有积极表情词的微博数据,所述消极微博数据为带有消极表情词的微博数据;
选取数量相等的积极微博数据和消极微博数据构成语料库;
利用所述语料库对所述fastText分类器进行训练,获得所述微博情感分类器。
2.根据权利要求1所述的微博情感分析方法,其特征在于,所述获取微博文本的特征表情词之前,还包括:
对所述分类训练数据进行去噪处理,获得去噪处理后的分类训练数据,所述去噪处理具体包括:
过滤掉微博文本数据中的颜文字和符号;
采用正则表达式对统一资源定位符链接和邮箱进行匹配过滤;
过滤掉字符长度小于设定阈值的微博文本数据。
3.根据权利要求1所述的微博情感分析方法,其特征在于,所述选取数量相等的积极微博数据和消极微博数据构成语料库之前还包括:
判断所述积极微博数据中是否存在情感极性词典中的消极情感词,获得第一判断结果;
当所述第一判断结果表示所述积极微博数据中存在情感极性词典中的消极情感词,则将存在消极情感词的积极微博数据滤除;
判断所述消极微博数据中是否存在情感极性词典中的积极情感词,获得第二判断结果;
当所述第二判断结果表示所述消极微博数据中存在情感极性词典中的积极情感词,则将存在积极情感词的消极微博数据滤除。
4.根据权利要求1所述的微博情感分析方法,其特征在于,所述将各个所述目标话题数据输入微博情感分类器之前,还包括:
随机选取与所述目标话题数据数量相同的微博文本数据作为约束训练数据;
利用所述约束训练数据对所述fastText分类器进行训练,获得微博话题约束模型;
采用所述微博话题约束模型对所述目标话题数据进行不相关话题清洗,获得清洗后的目标话题数据。
5.根据权利要求1所述的微博情感分析方法,其特征在于,所述将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型之后,还包括:
将各个所述目标话题数据的情感类型按照对应的目标话题数据的发布时间排列在时间轴上。
6.一种微博情感分析系统,其特征在于,所述分析系统包括:
目标话题数据采集模块,用于采用聚焦网络爬虫采集目标话题在预设时间段内的若干微博文本数据作为目标话题数据;
情感分析模块,用于将各个所述目标话题数据输入微博情感分类器,获得各个所述目标话题数据的情感类型,所述微博情感分类器的输入为微博文本数据,所述微博情感分类器的输出为积极微博或消极微博;所述微博情感分类器的建立子系统具体包括:
分类训练数据采集模块,用于采用通用网络爬虫采集若干微博文本数据作为分类训练数据;
特征表情词获取模块,用于获取微博文本的特征表情词,所述特征表情词包括积极表情词和消极表情词;
微博数据分类模块,用于利用所述特征表情词对所述分类训练数据进行分类,获得积极微博数据和消极微博数据,所述积极微博数据为带有积极表情词的微博数据,所述消极微博数据为带有消极表情词的微博数据;
语料库构建模块,用于选取数量相等的积极微博数据和消极微博数据构成语料库;
分类器训练模块,用于利用所述语料库对所述fastText分类器进行训练,获得所述微博情感分类器。
7.根据权利要求6所述的微博情感分析系统,其特征在于,所述微博情感分类器的建立子系统还包括:
去噪处理模块,用于对所述分类训练数据进行去噪处理,获得去噪处理后的分类训练数据,所述去噪处理具体包括:
过滤掉微博文本数据中的颜文字和符号;
采用正则表达式对统一资源定位符链接和邮箱进行匹配过滤;
过滤掉字符长度小于设定阈值的微博文本数据。
8.根据权利要求6所述的微博情感分析系统,其特征在于,所述微博情感分类器的建立子系统还包括:
第一判断模块,用于判断所述积极微博数据中是否存在情感极性词典中的消极情感词,获得第一判断结果;
第一过滤模块,用于当所述第一判断结果表示所述积极微博数据中存在情感极性词典中的消极情感词,则将存在消极情感词的积极微博数据滤除;
第二判断模块,用于判断所述消极微博数据中是否存在情感极性词典中的积极情感词,获得第二判断结果;
第二过滤模块,用于当所述第二判断结果表示所述消极微博数据中存在情感极性词典中的积极情感词,则将存在积极情感词的消极微博数据滤除。
9.根据权利要求6所述的微博情感分析系统,其特征在于,所述微博情感分析系统还包括:
约束训练数据选取模块,用于随机选取与所述目标话题数据数量相同的微博文本数据作为约束训练数据;
约束模型确定模块,用于利用所述约束训练数据对所述fastText分类器进行训练,获得微博话题约束模型;
不相关话题清洗模块,用于采用所述微博话题约束模型对所述目标话题数据进行不相关话题清洗,获得清洗后的目标话题数据。
10.根据权利要求6所述的微博情感分析系统,其特征在于,所述微博情感分析系统还包括:
时序分析模块,用于将各个所述目标话题数据的情感类型按照对应的目标话题数据的发布时间排列在时间轴上。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811432829.3A CN109543110A (zh) | 2018-11-28 | 2018-11-28 | 一种微博情感分析方法及系统 |
PCT/CN2019/120584 WO2020108430A1 (zh) | 2018-11-28 | 2019-11-25 | 一种微博情感分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811432829.3A CN109543110A (zh) | 2018-11-28 | 2018-11-28 | 一种微博情感分析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109543110A true CN109543110A (zh) | 2019-03-29 |
Family
ID=65850645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811432829.3A Pending CN109543110A (zh) | 2018-11-28 | 2018-11-28 | 一种微博情感分析方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109543110A (zh) |
WO (1) | WO2020108430A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977231A (zh) * | 2019-04-10 | 2019-07-05 | 上海海事大学 | 一种基于情感衰变因子的抑郁情绪分析方法 |
CN110674415A (zh) * | 2019-09-20 | 2020-01-10 | 北京浪潮数据技术有限公司 | 一种信息显示方法、装置及服务器 |
CN110941759A (zh) * | 2019-11-20 | 2020-03-31 | 国元证券股份有限公司 | 一种微博情感分析方法 |
CN111078879A (zh) * | 2019-12-09 | 2020-04-28 | 北京邮电大学 | 基于深度学习的卫星互联网文本敏感信息检测方法及装置 |
CN111125548A (zh) * | 2019-12-31 | 2020-05-08 | 北京金堤科技有限公司 | 舆论监督方法和装置、电子设备和存储介质 |
WO2020108430A1 (zh) * | 2018-11-28 | 2020-06-04 | 南京航空航天大学 | 一种微博情感分析方法及系统 |
CN111611455A (zh) * | 2020-05-22 | 2020-09-01 | 安徽理工大学 | 一种微博热点话题下基于用户情感行为特征的用户群体划分方法 |
CN111680132A (zh) * | 2020-07-08 | 2020-09-18 | 中国人民解放军国防科技大学 | 一种用于互联网文本信息的噪声过滤和自动分类方法 |
CN111986259A (zh) * | 2020-08-25 | 2020-11-24 | 广州市百果园信息技术有限公司 | 颜文字检测模型的训练、视频数据的审核方法及相关装置 |
CN112559746A (zh) * | 2020-12-11 | 2021-03-26 | 南京邮电大学 | 一种产品评论挖掘方法和系统 |
CN116562302A (zh) * | 2023-06-29 | 2023-08-08 | 昆明理工大学 | 融合汉越关联关系的多语言事件观点对象识别方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115331B (zh) * | 2020-09-21 | 2021-05-04 | 朱彤 | 基于分布式网络爬虫与nlp的资本市场舆情监测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390051A (zh) * | 2013-07-25 | 2013-11-13 | 南京邮电大学 | 一种基于微博数据的话题发现与追踪方法 |
US20180260860A1 (en) * | 2015-09-23 | 2018-09-13 | Giridhari Devanathan | A computer-implemented method and system for analyzing and evaluating user reviews |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106611375A (zh) * | 2015-10-22 | 2017-05-03 | 北京大学 | 一种基于文本分析的信用风险评估方法及装置 |
CN106407449A (zh) * | 2016-09-30 | 2017-02-15 | 四川长虹电器股份有限公司 | 一种基于支持向量机的情感分类方法 |
CN108536674A (zh) * | 2018-03-21 | 2018-09-14 | 上海蔚界信息科技有限公司 | 一种基于语义的典型意见聚合方法 |
CN109543110A (zh) * | 2018-11-28 | 2019-03-29 | 南京航空航天大学 | 一种微博情感分析方法及系统 |
-
2018
- 2018-11-28 CN CN201811432829.3A patent/CN109543110A/zh active Pending
-
2019
- 2019-11-25 WO PCT/CN2019/120584 patent/WO2020108430A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390051A (zh) * | 2013-07-25 | 2013-11-13 | 南京邮电大学 | 一种基于微博数据的话题发现与追踪方法 |
US20180260860A1 (en) * | 2015-09-23 | 2018-09-13 | Giridhari Devanathan | A computer-implemented method and system for analyzing and evaluating user reviews |
Non-Patent Citations (2)
Title |
---|
张想: "面向热点话题型微博的情感分析研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
石秋慧: "微博热点话题抽取及其情感分类", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020108430A1 (zh) * | 2018-11-28 | 2020-06-04 | 南京航空航天大学 | 一种微博情感分析方法及系统 |
CN109977231A (zh) * | 2019-04-10 | 2019-07-05 | 上海海事大学 | 一种基于情感衰变因子的抑郁情绪分析方法 |
CN110674415A (zh) * | 2019-09-20 | 2020-01-10 | 北京浪潮数据技术有限公司 | 一种信息显示方法、装置及服务器 |
CN110674415B (zh) * | 2019-09-20 | 2022-06-17 | 北京浪潮数据技术有限公司 | 一种信息显示方法、装置及服务器 |
CN110941759A (zh) * | 2019-11-20 | 2020-03-31 | 国元证券股份有限公司 | 一种微博情感分析方法 |
CN111078879A (zh) * | 2019-12-09 | 2020-04-28 | 北京邮电大学 | 基于深度学习的卫星互联网文本敏感信息检测方法及装置 |
CN111125548A (zh) * | 2019-12-31 | 2020-05-08 | 北京金堤科技有限公司 | 舆论监督方法和装置、电子设备和存储介质 |
CN111611455A (zh) * | 2020-05-22 | 2020-09-01 | 安徽理工大学 | 一种微博热点话题下基于用户情感行为特征的用户群体划分方法 |
CN111680132A (zh) * | 2020-07-08 | 2020-09-18 | 中国人民解放军国防科技大学 | 一种用于互联网文本信息的噪声过滤和自动分类方法 |
CN111986259A (zh) * | 2020-08-25 | 2020-11-24 | 广州市百果园信息技术有限公司 | 颜文字检测模型的训练、视频数据的审核方法及相关装置 |
CN112559746A (zh) * | 2020-12-11 | 2021-03-26 | 南京邮电大学 | 一种产品评论挖掘方法和系统 |
CN116562302A (zh) * | 2023-06-29 | 2023-08-08 | 昆明理工大学 | 融合汉越关联关系的多语言事件观点对象识别方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020108430A1 (zh) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543110A (zh) | 一种微博情感分析方法及系统 | |
Naseem et al. | COVIDSenti: A large-scale benchmark Twitter data set for COVID-19 sentiment analysis | |
CN106598944B (zh) | 一种民航安保舆情情感分析方法 | |
Mei et al. | A probabilistic approach to spatiotemporal theme pattern mining on weblogs | |
Hammad et al. | An approach for detecting spam in Arabic opinion reviews | |
CN107437038B (zh) | 一种网页篡改的检测方法及装置 | |
CN106940732A (zh) | 一种面向微博的疑似水军发现方法 | |
CN103177024A (zh) | 一种话题信息展现方法和装置 | |
CN107609103A (zh) | 一种基于推特的事件检测方法 | |
CN104731812A (zh) | 一种基于文本情感倾向识别的舆情检测方法 | |
CN110162626A (zh) | 一种基于双向lstm的舆情情感热度熵的计算方法 | |
CN103577404A (zh) | 一种面向微博的全新突发事件发现方法 | |
Xu et al. | MNRD: A merged neural model for rumor detection in social media | |
Sheth et al. | Semantic filtering for social data | |
Alp et al. | Extracting topical information of tweets using hashtags | |
CN106649267A (zh) | 一种通过文本主题挖掘推测用户大五人格的方法及系统 | |
Lu et al. | A novel few-shot learning based multi-modality fusion model for COVID-19 rumor detection from online social media | |
CN104123336B (zh) | 深度玻尔兹曼机模型及短文本主题分类系统和方法 | |
Kwan et al. | Event identification for social streams using keyword-based evolving graph sequences | |
TW201640383A (zh) | 網路事件自動蒐集分析方法及系統 | |
CN105159879A (zh) | 一种网络个体或群体价值观自动判别方法 | |
Krokos et al. | A look into twitter hashtag discovery and generation | |
Zhang et al. | Spam comments detection with self-extensible dictionary and text-based features | |
CN115033668B (zh) | 故事脉络构建方法、装置、电子设备和存储介质 | |
Sun et al. | EduVis: Visualization for education knowledge graph based on web data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |