龙永深 彭冲 陈卫弥
摘要 本文的目的即是自动从海量社交短文本中,自动发现热点事件或热点话题,利用Python编程对短文本中的词语进行处理,进一步提取出候选词组,最后再进行话题的话题精筛,从而可以挖掘出相关人群重点关注的内容。
【关键词】网络舆情 话题分析 贝叶斯平均 注意力机制
随着社交网络的发展和积累,内容的产生、传播、消费等已经根深蒂固地融入在人们的生活里。随之内容分析的工作也就走进了人们的视野。信息的流动不再是单方向的,报纸的信息流动是从报纸到读者,而在互联网应用中,可以方便地通过“评论”、“回复”等技术手段,使信息流动变成双向的,甚至评论和回复成为信息中的有机组成部分,进一步地丰富原有信息的内容。因此,从互联网上主动地收集信息,用数据挖掘方法或者自然语言处理的方法来分析信息中用户的观点,成为当前舆情分析的一种非常重要和直接的手段,也就是“网络舆情分析”。
1 热词处理
本文从以下的一些方面进行热词提取工作。首先是文本的预处理,这里主要包括文本去重、广告识别等方法,对数据进行一些去躁的工作。
其次进行热度分数计算:利用贝叶斯平均对梯度分数进行修正。贝叶斯平均的典型应用包括用户投票排名,产品评分排序,广告点击率的平滑等等。以用户投票排名为例,用户投票评分的人很少,则算平均分很可能会出现不够客观的情况。这时引入外部信息,假设还有一部分人(C人)投了票,并且都给了平均分(m分)。把这些人的评分加入到已有用户的评分中,再进行求平均,可以对平均分进行修正,以在某种程度或角度上增加最终分数的客观性。容易得到,当投票人数少的时候,分数会趋向于平均分;投票人数越多,贝叶斯平均的结果就越接近真实投票的算术平均,加入的参数对最终排名的影响就越小。
再通过频繁项集、word2vector等方法,发现出共现词语的关系。利用共现词语的信息,对热词进行一轮筛选,提取出最有价值的热词,避免信息冗余。通过对词频进行时间序列分析,可以更详细地区分短期、长期与周期性热点;对一些更有价值的热词做热度预警;对热词的增长趋势进行分析等。
综上,本文在周期时间间隔内,通过贝叶斯平均修正的词语梯度分数来分析词语热度,并利用语料中词语的共现信息,进一步筛选得出热词。通过时间序列分析,得出热词的特性和增长趋势等。
2 话题提取
话题提取的工作也分为两步,第一步先找出一些候选的话题词组;第二步利用Attention的思想,从候选词组中找出一个包含的词语更加重要的词组,作为输出话题。
2.1 候选词组提取
信息熵是用来衡量一个随机变量出现的期望值,一个变量的信息熵越大,表示其可能的出现的状态越多,越不确定,也即信息量越大。互信息可以说明两个随机变量之间的关系强弱。定义如下:
公式
对上式做变换可以得到:
公式
则可知表示由X引入而使Y的不确定度减小的量。越大,说明X出现后,Y出现的不确定度减小,即Y很可能也会出现,也就是说X、Y关系越密切。反之亦然。在实际应用中,词组的内部聚合度即为词语间的内部聚合度。对于一个词组,选取使不确定性减少的程度最多的一种词语组合,来说明词组的内部聚合度。
2.2 话题精筛
对于某一个热词,挑选出来一批候选词组后,每个词组所含的词语不同,包含的信息量也不同。筛选的主要依据或思想,其实和Attention机制是一样的,关键是要找出重要的词语。比如与“巴黎”的搭配,“巴萨”、“逆转”、“时装周”比“球迷”、“球员”、“心疼”、
“法国”包含的信息更多,意义更大。可以想到,“巴薩”、“逆转”、“时装周”这些词语在其他无关语料中不常出现,“球迷”、“球员”、“心疼”、“法国”在不同语料中都常会出现,信息不明确。所以,可以通过TF-IDF的思路来确定Attention。
热词的候选词组s的事件或话题表示能力分数可由以下公式求得:
公式
其中,N为候选词组中的词语个数,为候选词组中包含的第i个词语,Corpus(w)表示含有词语w的相关语料。另一方面也需要考虑词组出现的频次,词组出现的次数越多,说明事件越重要。
综上所述,本文通过候选词组的事件或话题表示能力分数以及出现频次,精筛出热词的相关话题。
3 结论
近年来,各种公众趋势分析类产品涌现,各大公司都利用自身资源纷纷抢占一席之地。公众趋势分析平台利用自然语言处理、机器学习方法对数据进行分析,给用户提供舆情分析、竞品分析、数据营销、品牌形象建立等帮助。其中,热点发现问题是公众趋势分析中不可或缺的一部分。本文集中在文本数据方面进行分析,挖掘相关人群重点关注的内容。
参考文献
[1]张群,王红军,王伦文.词向量与LDA相融合的短文本分类方法[J].现代图书情报技术,2016(12).
[2]刘红兵,李文坤,张仰森.基于LDA模型和多层聚类的微博话题检测[J].计算机技术与发展,2016(06).
[3]叶成绪,杨萍,刘少鹏.基于主题词的微博热点话题发现[J].计算机应用与软件,2016(02).