一种微博子话题用户评论情感倾向性分析方法技术

技术编号:24683772 阅读:83 留言:0更新日期:2020-06-27 08:04
本发明专利技术公开了一种微博子话题用户评论情感倾向性分析方法,涉及数据挖掘技术领域,包括:通过网络爬虫获取微博热点时事下的评论文本,再对获取到的数据进行预处理,采用隐含狄利克雷(LDA)模型对文本数据集进行聚类得到子话题候选集,对相似子话题进行融合并输出子话题集及每个文本对应子话题。然后对得到的子话题进行k‑means聚类,对聚类结果进行有效性评价,最后对得到的结果进行人工标注。本发明专利技术解决了现有对微博热点话题进行有效的子话题划分及用户评论情感倾向性分析的问题。通过本发明专利技术可以得到在一个微博热点事件下用户讨论的子话题,以及每个子话题下用户的评论情感倾向性类别。

An analysis method of user's emotional inclination in micro blog sub topic comments

【技术实现步骤摘要】
一种微博子话题用户评论情感倾向性分析方法
本专利技术涉及微博文本聚类领域,尤其涉及一种微博子话题用户评论情感倾向性分析方法。
技术介绍
随着互联网和微博的快速发展,微博已经成了人们了解新闻时事的一个重要窗口,人们越来越乐意在微博上对热点话题进行评论和探讨。然而对于某个新闻时事,不同的用户可能有着不同的侧重点,而这些不同的侧重点就是用户讨论或评价该热点时事的子话题。子话题的分类可以以人工的方式来完成,但是现如今互联网的规模十分庞大,每天在不同领域不同地区发生的热点时事数量过于庞大,人工分类的方法已经不能胜任如此繁重的工作。此时,就需要一个能根据某热点时事下的微博评论来对该话题自动进行子话题划分并且判断该子话题下用户情感倾向性类别的方法。目前,人们对文本主题划分的方法主要是使用隐含狄利克雷分布模型(LDA模型)。隐含狄利克雷模型包含词、主题和文本这三层结构,假设文本到主题和主题到词服从多项式分布,文本的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到的。可以利用LDA模型计算每个词对应到每个主题的概率来对主题进行划分,并得到每个主题的一些关键词。但是由于每个热点事件用户讨论的子话题数目不一,需要一种方法来确定最终得到的子话题数目。本文先通过LDA模型得到子话题候选集,再计算集合中子话题之间的相似度来判断是否要对子话题进行融合,多次迭代使用LDA模型并进行子话题融合,最终得到差异性足够大的子话题集以及每个文本对应的子话题。对于得到的子话题集,还需对每个子话题下的用户评论情感倾向性类别进行分析。目前人们对于情感倾向性类别进行分析常用的方法是基于原型的k-means算法。但是,一般的k-means算法需要设置初始聚类个数k,而k值选取的不同会导致结果的差异较大,所以需要一个能衡量k-means聚类结果好坏的方法。本文通过比较基于簇内相似度的簇间方差来评价聚类结果,最终得到用户评论情感倾向性类别,并具有较好的效果。
技术实现思路
为了解决上述问题,本专利技术的目的在于提供一种微博子话题用户评论情感倾向性分析方法。为了达到上述目的,本专利技术提供的一种微博子话题用户评论情感倾向性分析方法是按以下步骤进行的:步骤1:数据获取。获取短文本集合D={D1,D2,...,Dn},Di表示第i个文本,1≤i≤n,n为集合D中的短文本总数;步骤2:对获取的评论进行预处理;步骤3:采用LDA模型对微博数据集进行聚类,其基本步骤如下:步骤3.1:D中每个文档d看作一个单词序列<w1,w2,...,wn>,wi表示第i个单词,设d有n个单词。D中涉及的所有不同单词组成一个词库。先随机地给θd和φt赋值(对所有的d和t)。然后不断重复下列3.2与3.3的迭代步骤,最终收敛到的结果就是LDA的输出;步骤3.2:对每个D中的文档d,对应到不同子话题的概率θd<pt1,pt2,...,ptk>,其中,pti表示d对应T中第i个子话题的概率其中nti表示d中对应第i个子话题的词的数目,n是d中所有词的总数;步骤3.3:对每个T中的子话题ti,生成不同单词的概率φt<pw1,pw2,...,pwm>,其中,pwi表示t生成词库中第i个单词的概率其中nwi表示对应到子话题ti的词库中第i个单词的数目,n表示所有对应到子话题ti的单词总数。然后根据这些概率值结果为每个文档中的第i个单词wi选择一个令pj(wi|ds)最大的tj;步骤4:选取m个词作为关键词。两两子话题之间比较相同的关键词,关键词的个数为k个。采用公式计算两两子话题之间的相似度,当相似度大于阈值时,将这两个子话题融合,这里采用将子话题数减一再重新进行上述步骤迭代的方法,直到没有子话题的相似度大于阈值;步骤5:根据最后一轮迭代得到的每个子话题的关键词,由人工根据给出该子话题的描述。输出n个子话题及其每个文本对应的子话题;步骤6:对得到的子话题集及其对应的文本采用k-means聚类方法,其具体过程如下:步骤6.1:输入数据集S={S1,S2…Sn},Si表示第i个文本数据,1≤i≤n,n为集合S中的数据总数;步骤6.2:选取初始聚类中心。随机选取一点作为第一个聚类中心点Z1,选取与其余弦相似度最低的一点作为第二个聚类中心点Z2,若有3个聚类中心,选取与第一个中心点及第二个中心点余弦相似度之和最小的点,以此类推。其中,余弦相似度的公式为:步骤6.3:分别计算其余样本点与聚类中心的余弦相似度;步骤6.4:比较余弦相似度大小,将样本点分到与其相似度最大的聚类中心点所在簇;步骤6.5:更新聚类中心,每分配一个样本点,更新一次聚类中心;步骤6.6:重复步骤3.3-3.5,直至聚类中心不再发生变化;步骤6.7:更新初始聚类数,重复步骤6.2-6.6直到k达到某阈值,这里的阈值需要根据不同的场景设置;步骤6.8:重复步骤6.1-6.7:,对每一个子话题进行k-means聚类;步骤7:对聚类结果进行有效性评价;步骤7.1:常用聚类结果评价有DBI(所有簇的簇中各点到簇中心距离的平均距离之和除以各簇中心点之间的距离之和)、CH(计算类间分离度和类内紧密度的比值)等;步骤7:2:在上述聚类有效性评价标准下,不同k值得到的聚类结果评价相似,难以判断哪种k值聚类结果更为优异时,引入一个新的聚类结果评价标准:基于簇内相似度的簇间方差ICS-VAR;首先要计算出每个簇的簇内相似度ICS,这里用一个簇内每个样本点与其所在簇的聚类中心的余弦相似度的平均值作为簇内相似度,其公式为:步骤7.3:一种k值聚类下,产生的k个簇,计算其簇内相似度的平均值步骤7.4:引入簇内相似度的簇间方差ICS-VAR,其公式为:步骤7.5:比较不同k值下得到的聚类结果方差,选取方差较小的聚类结果作为最终输出结果;步骤8:输出聚类结果,对所得结果进行人工标注。本专利技术所具有的优点和积极效果是:本专利技术的微博子话题用户评论情感倾向性分析方法能够以改进的LDA模型来对文本进行聚类而无需设置聚类个数,得到子话题集与每个文本对应的子话题,再评价集合中子话题之间的相似度,并将相似的话题进行融合,最终得到子话题集以及每个文本对应的子话题,并且能有较好的效果。然后对于每个子话题,通过k-means算法进行文本聚类,对不同k值下产生的聚类结果进行有效性评价,最终得到每个子话题下的用户倾向性类别集合,并具有较好的效果。附图说明为了更清楚地说明本专利技术的技术方案,对本专利技术所需要使用的附图作简单的介绍。图1为本专利技术提供的一种微博子话题用户评论情感倾向性分析方法流程图;图2为本专利技术提供的一种对微博热点事件进行子话题划分的结构框图图3为本专利技术提供的一种进行聚类有效性评价的结构框图。图4为进行k-means聚类的结构框图具体实施方式下面对本本文档来自技高网
...

【技术保护点】
1.一种微博子话题用户评论情感倾向性分析,其特征在于包括如下步骤:/n步骤1:获取短文本集合D={D

【技术特征摘要】
1.一种微博子话题用户评论情感倾向性分析,其特征在于包括如下步骤:
步骤1:获取短文本集合D={D1,D2,...,Dn};
步骤2:对获取的评论进行预处理;
步骤3:采用LDA模型对处理后的微博数据集进行聚类,得到子话题候选集;
步骤4:对模型结果进行评价,并对相似子话题进行融合;
步骤5:输出子话题集及每个文本对应的子话题
步骤6:对输出的子话题集及其对应的文本采用k-means聚类方法,得到用户评论倾向性类别集合;
步骤7:对聚类结果进行有效性评价;
步骤8:输出聚类结果,对所得结果进行人工标注。


2.根据权利要求1所述一种微博子话题用户评论情感倾向性分析,其特征在于步骤4包括:
选取m个词作为关键词。两两子话题之间比较相同的关键词,关键词的个数为k个。采用公式计算两两子话题之间的相似度,当相似度大于阈值时,将这两个子话题融合,这里采用将子话题数减一再重新进行上述步骤迭...

【专利技术属性】
技术研发人员:朱广丽李晓庆张标徐新燕张梦瑶张顺香
申请(专利权)人:安徽理工大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1