论文部分内容阅读
随着信息技术和网络技术的高速发展,互联网已经迈入了“Web2.0时代”。“Web2.0时代”的互联网朝着更加智能化、个性化和社会化的方向发展,影响并改变着人们的生活方式,其中最典型的例子便是社交网络(SNS,Social Networking Services)。由于社交网络拥有庞大的用户群体,并且用户频繁地更新微博,造成社交网络每天都会产生大量的用户数据。如何从这些用户数据中发现深层次的有用信息,并据此为用户提供个性化的服务推荐成为社交网络重点关注的方向。但是,社交网络产生的往往都是超大规模的数据集,如何处理这种大规模的数据集成为一个较为严峻的挑战。Hadoop是Google云计算平台的开源实现,它是一个能够对大量数据进行分布式处理的软件框架,具有高效性、高可靠性、高可伸缩性、经济廉价性等诸多优点,在工业界和学术界得到广泛应用。为了能够高效地处理海量数据,并保证可扩展性,利用一个分布式平台实现社交网络服务推荐算法是不二选择。鉴于Hadoop固有的大规模数据存储和处理能力可以有效地解决海量数据的安全存储和高效处理难题,同时可以保证数据的可靠性、有效性和安全性,本文提出在Hadoop云平台上构建社交网络服务推荐系统。该系统分为数据采集模块、数据预处理模块、数据存储模块和服务推荐模块四部分。其中,数据采集模块利用新浪微博API获取用户数据;数据预处理模块采用FudanNLP进行中文分词处理;在数据存储模块中,构建存储新浪微博的数据表,通过HBase API实现数据库的操作;服务推荐模块在MapReduce模型上实现分布式的TF-IDF算法,利用该算法计算用户微博中各个词语的重要性,提取出微博中的关键词。根据从微博中提取出的关键词,可以发现用户的兴趣所在,进而向用户推荐相关的内容。为了验证本文中分布式TF-IDF算法的有效性,将分布式TF-IDF算法提取的关键词和TextRank算法提取的关键词多次进行对比。结果发现,本文中分布式TF-IDF算法和TextRank算法提取出的关键词比较接近,并且随着关键词数目的增加,二者的结果变得更加接近,进而证明了在MapReduce上实现的分布式TF-IDF算法是准确的、有效的。同时,由于分布式TF-IDF算法考虑到了关键词的辨识度问题,它在提取微博关键词时,较TextRank算法表现更优。此外,通过与TextRank算法进行响应时间的对比,可以看出,分布式TF-IDF算法具有良好的可扩展性。本文中对基于Hadoop云平台的推荐系统的研究,在理论上,对云平台下的数据挖掘应用具有一定的参考价值;在实践上,对云平台下推荐系统的实现具有一定的探索意义。