论文部分内容阅读
21世纪是网络的世界,是信息数据流的世界。从1969年互联网诞生至今,网络已经与火能、电能一样,渗透人们的生活,已成为人们生活中不可或缺的一部分。目前,随着网络的发展,信息生产成为产业链,而被生产的信息经过不断积累与扩大生产,继而出现“信息过载”的问题。“信息过载”问题已经影响了人们的日常生活。网络电影作为人们日常娱乐的一个主要方式,同样不可避免地受到“信息过载”的冲击。与之而来的是人们缺乏对自身观看需求的准确定位,造成了巨量影片资源与用户个性化需求之间的矛盾日益凸显。因此,为了保证人们能够尽快找到自身兴趣相似的影片,以及电影生产者生产的影片可以准确投放,实现影片生产的价值,个性化电影推荐系统应运而生。虽然早在上世纪末,个性化电影推荐系统已经出现。但是,至今依旧存在许多问题不能得到妥善解决。例如:个性化电影推荐算法面临的数据稀疏、可扩展性差、新用户冷启动等问题;个性化电影推荐系统存在页面大众化、操作复杂、功能不完善等问题。上述问题的出现使得目前的个性化电影推荐系统还远远不能满足大家的需要。针对目前个性化电影推荐系统所面临的一些困难,本文开展了深入的研究。首先,对用户相似度的计算方法进行了研究,提出了一种新的权重系数,并由此提出一种改进的皮尔逊相关系数。基于这种改进的皮尔逊相关系数,进一步提出了一种改进的基于用户的协同过滤推荐算法MUCF;其次,在协同过滤算法MUCF的基础上,设计、开发了一个个性化电影推荐系统,该系统能够为用户提供:影片赏析、检索、影片打分、影片推荐和电影评估等服务。本文的主要工作如下:(1)提出一种改进的基于用户的协同过滤推荐算法MUCF。传统的皮尔逊相关系数只考虑了用户共同评价的项目,一旦数据过于稀疏,就会影响用户相似性的计算精度。针对上述问题,本文对传统的皮尔逊相关系数进行了改进,提出一种新的权重系数weight,并通过融合皮尔逊相关系数、杰卡德系数与权重系数weight这三者的优势,从而得到一种改进的相似度计算方法。基于这种改进的皮尔逊相关系数,我们进一步提出了一种改进的基于用户的协同过滤推荐算法MUCF。通过在MovieLens数据集上的实验表明,MUCF算法能够取得更好的推荐性能。(2)按照软件工程的原则,对个性化电影推荐系统进行了需求分析。首先,提出了整个系统的设计目标;其次,对系统进行了可行性分析,以保证系统能够正常运行;第三,对系统进行了顶层用例分析,以明确角色身份;第四,对系统进行了功能模块划分,以满足用户的需求;最后,对系统进行了性能需求分析,以保障用户在使用本系统时能有更好的用户体验。(3)在需求分析的基础之上,对个性化电影推荐系统进行了整体架构设计、功能模块设计和数据库设计。系统的整体架构采用B/S结构,并采用Django作为内容管理框架,各层功能明确。通过功能模块设计,整个系统被分解为多个低耦合、高内聚的子系统,我们对各个模块的设计方法进行了详细解析。另外,系统通过Django自动生成数据库中的所有表结构。(4)在系统分析与设计的基础上,进一步对个性化电影推荐系统进行了具体实现。基于开发语言Python、Web应用框架Django以及MySql数据库,完成了个性化电影推荐系统的开发。该系统采用(1)中所提出的改进的协同过滤算法MUCF来为用户提供个性化的电影推荐。此外,我们对系统分别进行了详细的功能测试和性能测试,从而保证了系统的正确性。