论文部分内容阅读
随着互联网的普及和互联网技术的高速发展,各种各样的互联网应用正在逐渐渗透到我们的日常生活中,悄然改变着我们的生活方式。互联网信息种类复杂而繁多,网上购物时商品五花八门,如何帮助用户从中找到自己真正需要的商品,成为研发人员所面临的一个问题。推荐系统正是在这种背景下产生的。推荐系统通过对用户及其行为的分析为用户推荐商品,推荐算法有很多种,在业界应用最广泛、最成功的是协同过滤推荐。互联网数据爆炸式的增长,使得传统技术开始面临大数据的挑战,传统的推荐系统也在受到大数据的困扰,计算更加耗时,冷启动问题和矩阵稀疏问题更难解决。Hadoop是Apache的顶级项目,是目前比较流行且成熟的开源分布式平台。MapReduce是谷歌提出的分布式计算编程模型,它将一个任务拆分成多个子任务,分布式地运行于多个服务器节点上,以此提升数据计算和处理能力。在Hadoop平台上运行MapReduce任务是比较常用的大数据处理方法,这种方法也为推荐系统所面临的大数据问题提供了研究和实践的思路。本文研究工作由两部分组成。第一部分是推荐算法的研究与改进。首先分析和研究了常用的推荐算法,阐述了推荐算法中的关键问题,如实验方法和测评方法、冷启动问题、混合推荐技术等。然后重点研究了基于物品的协同过滤算法,并针对传统余弦相似度算法的不足,以用户评分基准值和用户评分时间两个特征作为出发点,提出了改进的余弦相似度算法。接下来,将MapReduce思想运用到传统的基于物品的协同过滤推荐算法中,实现了分布式的物品协同过滤算法。最后,对算法改进进行了实验。通过对比平均误差,证明改进后的余弦相似度算法提高了预测准确度;通过在Hadoop集群上运行分布式的算法,对比运行耗时等数据,证明分布式的物品协同过滤算法在大数据量时性能优于传统算法。本文研究工作的第二部分是电影推荐系统的设计与实现。系统整体架构中包括用户模型、电影模型、推荐引擎、离线计算模块、数据同步模块、数据转换模块、缓存模块、用户行为收集和反馈模块等。前端使用HTML5技术,采用响应式设计,使得系统可以适配包括PC、平板、手机等大多数设备。最后对系统实现进行了功能性测试,各功能模块运行正常。