论文部分内容阅读
目前,随着移动客户端的普及,越来越多的人使用它们来获取新闻资讯,而人们在移动客户端上的活动又在互联网上产生了海量的数据。与此同时,每天在世界范围内都有数以亿计的新闻被报导。在这样的背景下,新闻服务提供商面临着如何从海量数据中挖掘出不同用户对新闻的真实需求,并快速推荐给用户最适合的新闻的挑战。这正是移动新闻的个性化分布式推荐系统所重点关注的问题。本文经过分析发现,当前移动新闻推荐系统面临着三个方面的挑战,分别是可扩展性、个性化和时效性。为了应对这三方面的挑战,本文研究了现有的新闻推荐算法并分析了它们的优缺点。然后,针对现有推荐算法的不足之处,本文在网络推荐算法的基础上提出了基于时间衰减的网络推荐算法:基于时间衰减的物质扩散算法和基于时间衰减的热传导算法。经过实验分析,验证了它们在可扩展性、个性化和时效性上的良好效果。本文所提出的算法弥补了大部分新闻推荐算法在时效性上的不足,又在个性化和可扩展性上表现良好,能够满足当前移动新闻领域对于推荐系统的需求。当前移动新闻推荐系统需要为大量的用户在海量的新闻中分别推荐各自感兴趣的内容,而且新闻是一种对时效性特别敏感的信息,过时的新闻没有价值。在这样的条件下,单机系统已经无法有效完成任务,必须使用分布式系统。本文基于所提出的算法设计了三种在Spark分布式框架上并行化的方案,并与另一种流行的分布式框架Hadoop的实现做了对比,论证了Spark框架的高效性。然后对算法的实现提出了一种减枝策略,并论证了其有效性。本文最后以所提出的基于时间衰减的网络推荐算法为核心,基于Spark平台、Django框架、Scrapy框架、MongoDB和Redis数据库设计并实现了一个完整的移动新闻个性化分布式推荐系统,证明了该算法在真实系统上的可行性。