首页 > 范文大全 > 正文

基于MapReduce的微博用户搜索排名算法梁秋实

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于MapReduce的微博用户搜索排名算法梁秋实范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在微博搜索领域,单纯依赖于粉丝数量的搜索排名使刷粉行为有了可乘之机,通过将用户看作网页,将用户间的“关注”关系看作网页间的链接关系,使PageRank关于网页等级的基本思想融入到微博用户搜索,并引入一个状态转移矩阵和一个自动迭代的MapReduce工作流将计算过程并行化,进而提出一种基于mapreduce的微博用户搜索排名算法。在Hadoop平台上对该算法进行了实验分析,结果表明,该算法避免了用户排名单纯与其粉丝数量相关,使那些更具“重要性”的用户在搜索结果中的排名获得提升,提高了搜索结果的相关性和质量。

关键词:微博搜索; 云计算; MapReduce编程模型; Hadoop平台/系统; PageRank算法

中图分类号: TP391.3

文献标志码:A

0引言

随着微博蹿红网络,网民逐渐热衷于这种新的资讯交流方式,较之于传统媒体,其特点在于它通过添加关注来实现信息的分享与讨论。关注是一种单向、无需对方确认的关系, 用户可以随意关注他所感兴趣的人,添加关注后,用户成为所关注网友的粉丝,并可及时了解到所关注网友的动态。关注的网友越多,获取的信息量越大,粉丝越多,的消息就会被越多人看到。值得注意的是,用户关注的网友往往很多,多数情况下,这些关注不是一次性添加起来的,人们往往需要通过关键字搜索来寻找他们感兴趣的人,从而建立起关注关系,但搜索结果常常鱼目混杂,令人无所适从。

出现这种情况的原因是多方面的,部分在于昵称抢注, 部分则归结于算法需适用于海量数据,部分还在于网络中出现了大量刷粉行为,甚至出现了以此牟利的职业刷粉人。微博应用中包含了海量实体,这些实体间的关系则是实体数量的平方,为处理海量数据,很多微博服务提供商大都采用了MySQL拆分技术,对于结构化数据,这种处理显然是合适有效的,但对于非结构化数据,这种方法则显得力不从心。而且,关系型数据库还受到磁盘因素的制约,这源于磁盘发展的一个趋势:寻址效率的提高远远慢于传输速率的提高,寻址是将磁头移动到特定磁盘位置进行读写操作的过程,它是导致磁盘操作延迟的主要原因,而传输速率取决于磁盘的带宽。如果数据库系统读写一小部分记录,那么传统的B树更有优势,但数据库系统在读写大部分记录时,其效率相对较低。另一方面,对于昵称抢注,虽然通过在微博头像上加“V”一定程度上解决了利用名人姓名进行冒充的问题,但对于普通用户的搜索排名仍然不够客观。按照微博开通的时间进行排名不能很好地反映用户的活跃程度,而按照粉丝数量进行排名则无法防止用户通过刷粉快速提升等级。