一种分布式中文微博热点话题发现方法.docVIP

一种分布式中文微博热点话题发现方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种分布式中文微博热点话题发现方法

一种分布式中文微博热点话题的发现方法   摘 要:针对微博数据文本内容短小、特征词稀疏以及规模庞大的特点,提出了一种基于MapReduce编程模型的发现微博热点话题的方法。该方法首先利用隐主题分析技术解决了微博内容短小、特征词稀疏的问题,然后利用CURE算法缓解了Kmeans算法对初始点敏感的问题,最后采用基于MapReduce编程模型Kmeans聚类算法,对海量微博短文本数据进行快速聚类。实验结果表明该方法可以有效提高微博热点话题发现的效率。   关键词:微博;MapReduce;Kmeans;聚类;话题发现   微博在近两年成为人们发表言论的重要工具,截至2013年3月,新浪微博注册用户总数已经达到了5.36亿,而且突发事件和热点新闻在微博上的传播速度,明显快于电视、报纸等传统媒体。因此及时发现微博中的热点话题对舆情监控、信息安全等领域有重要的意义。   传统的话题检测与追踪(TDT)技术的研究对象主要针对篇幅较长的新闻报道。然而微博文具有本内容短小,特证词少且稀疏,规模庞大等特点,所以传统的TDT技术不能有效地适用于微博消息。为此本文提出了结合潜在狄利克雷分配(Latent Dirichlet Allocation,LDA)模型和MapReduce编程模型的微博数据处理与微博热点话题发现方法,在确保聚类精度的情况,有效的提高了聚类算法的效率。   1 基于MapReduce编程模型的微博热点话题发现   1.1 隐主题建模   LDA(隐含狄利克雷分配)是一种三层树状贝叶斯概率生成模型,它基于此假设:文档集中所有文档均按照一定比例共享隐含主题集合,而隐含主题集则是由一系列相关特征词组成。更多关于的LDA模型的介绍请参考文献[1-2]。通过LDA主题模型建模,有效的降低了微博数据的维度,将原来高维的单词空间降维到由一组主题构成的相对较小的主题空间上。   本文采用的是GibbsLDA++对微博数据集建模,通过运算后,可以得到如下5个文件:*.others―输入参数、*.phi―词汇-主题分布矩阵 、*.theta―主题-文档分布矩阵 、*.tassign―主题分配情况和*.twords―主题。   1.2 对建模结果进行初步聚类   然后本文采用CURE[3]算法对建模后的微博数据进行初步聚类,该算法可以得到K-means算法的输入参数:聚类个数及其对应的初始类中心,从而缓解K-means初始聚类中心的随机性和先验性导致聚类结果波动的问题。其过程如下:   ⑴从上一步中得到的主题-文档分布矩阵 中,随即抽取样本S;   ⑵将样本S划分成等大的n份,对每个划分进行局部聚类;   ⑶通过随机取样剔除孤立点,去除增长较慢或者不增长的簇;   ⑷对局部簇进行聚类;   ⑸用相应的簇标签标记相应的簇;   ⑹分别对每个类别的所有样本求其平均值,得到相应的类中心。   1.3 对建模结果进行聚类   1.3.1 MapReduce基本思想   MapReduce[4-6]是Google开发的一种用于处理大规模数据集的并行编程模型和高效的任务调度模型。MapReduce主要通过Map和Reduce两个步骤来并行处理大规模数据,Map是一个分解的过程,它先将大数据集分解为成百上千的相护独立的小数据集(splits),然后把每个(或若干个)数据集分配给集群中的1个节点(一般就是一台普通的计算机)进行处理;而Reduce是一个合并的过程,它将分开的数据整合到一起并返回输出。   1.3.2 基于MapReduce编程模型的K-means聚类   K-means算法的并行化思想:对算法的每次迭代启动一次MapReduce计算过程,即在每次迭代内部实现并行计算,其中Map函数的主要任务是计算每个记录到类中心点的距离并标记或重新标记其所属的类别。Reduce函数的主要任务是根据Map函数得到的中间结果,计算新类的中心点,并把该中心点集传给下一次MapReduce使用。该算法步骤如下:   ⑴把CURE算法得到的k个簇类的中心点作为初始簇中心;   ⑵Repeat   ⑶执行Map函数,计算每个点到簇质心的距离,标注或重新标注其所属的类别;   ⑷执行Reduce函数,计算新的簇质心,并用新计算的簇质心替代原簇中心   ⑸计算两轮簇质心的距离的平方和D   ⑹Until D小于给定阈值   2 实验分析与结果   实验一:通过腾讯微博API随机获取了2013年4月20日的21324条微博,对其按照本文方法进行聚类,得到最热门的3个话题为“雅安地震”、“禽流感”、“复旦研究生投毒”,通过对比腾讯话题排行榜,这三个话题均在排行榜前十名中。所以本方法基本可以准确反映出当日的热点微博。   实验二

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档