基于Python的电影推荐系统的构建

2022-09-10 版权声明 我要投稿

电影推荐系统发展到现在涉及的技术、算法越来越多, 我们将对推荐系统涉及到的各种概念、理论和技术做一个详细的介绍, 具体包括:推荐算法、系统需求分析、系统设计与实现。

一、推荐系统算法

本系统是基于协同过滤算法来实现影片的推荐, 而协同过滤算法是基于用户之前的行为、习惯、自主意愿来预测用户对哪些事务最为感兴趣, 换句话说, 该推荐系统先要搜集用户之前的观看影片日志和对影片评分的记录来综合分析, 再对相应的用户进行适合的推荐。

协同过滤算法是目前位置在推荐算法中应用最广、最成熟的一个推荐算法, 基于用户习惯的协同过滤、是利用相同的兴趣、爱好以及相似的行为习惯来推荐用户感兴趣的信息, 并过滤掉对用户无用信息的目的, 达到精准推荐的目的。

由此可以得出结果, 预测的数据和原始数据很接近时, 算法才能能加有效, 对未知的信息也能产生良好的效果, 而且还能帮助用户拓展自己的新的爱好和兴趣的领域、增强用户的满意度、提高用户满意度。

二、系统需求分析

本系统采用Django+python+Mysql作为系统的开发平台, 其中Django是基于Python的一个web开发框架, Python是数据专业人士使用最广泛的编程语言, 与之搭配的Mysql数据库也是市场上运行速度最快、最稳定的数据库之一。

本文设计推荐系统的主要功能为用户管理、影片数据管理、影片评价管理以及系统推荐等, 其中用户管理包括注册、登陆、个人信息数据更新等功能;电影数据管理包括影片的增加、更新、删除等功能;影片评价主要包括用户对影片进行评价、打分、推荐值选定等功能;系统推荐则是指的是根据用户网上观看记录以及对影片的评价综合计算推荐给用户的影片建议。

影片推荐系统的具体业务流程为用户首先登陆系统, 系统自动判定该用户是否注册过, 如之前注册过的话, 直接显示系统主页, 如之前没有遇到过, 提示是否要注册, 这时候有两种选择:一是不需要注册, 那么可以以匿名登陆的方式进行系统登陆, 需要注册的话, 那么就进入到注册界面, 注册完成之后, 根据注册信息登陆系统主页, 用户这时可以享受影片推荐的服务, 反之以匿名的方式进行系统登陆的话, 则无法享有系统推荐的服务。但是可以查看到当前新上映的影片信息等。

三、系统的设计与实现

本系统采用的是三层架构模式, 包括:系统结构层、业务逻辑层、数据分析层。其中系统结构层的主要功能为对外提供结构的服务, 能够将推荐的影片信息推送给相应的用户;业务逻辑层的主要功能是实现推荐算法所规定的内容, 具体包括内容信息管理、影片信息管理、推荐引擎、数据分析引擎、系统管理五个部分;核心数据层主要的作用就是存放系统最核心的业务数据, 包括影片的信息、用户对影片的评分、评语等内容;

影片推荐系统的主要功能为新用户注册、新电影上架、用户评分标准、用户浏览电影等功能;系统功能模块包括:用户注册、新片上架、用户对影片点评、系统推荐、数据分析、数据上传。其中, 系统推荐和数据分析是该系统的核心部分。

而数据库的设计主要涉及的表有用户信息表、影片信息表、浏览数据表、影片相似度信息表、用户评分表。其中影片信息表主要包含电影的基本信息, 包括导演、演员、影片名称、类型、上映日期、影片的类型等, 系统可以根据相应属性进行影片分类, 用户也可以自主地进行影片类型选择;浏览数据表主要为数据分析提供数据完整性的保证, 里面记载了用户大量的访问具体网页的时间, 通过此举办法可以说明时间越长用户对该页面的感兴趣程度越高, 反之, 则用户对此不感兴趣;用户评分表包含了系统最为核心的数据, 主要就是对影片的评分值, 还包括用户信息、评论内容、评价时间等, 系统所采用的算法都是基于用户对影片的评价进行的。通过对数据库的设计将业务逻辑与数据进行紧密的关联。

影片推荐系统采用python语言进行开发主体框架, 主要由三个部分组成, 包括影片数据、用户数据、影片评价。影片数据承载了用户与影片的基本信息, 系统还设置了常用的信息存放在内存中, 方便快速查询、提高查询效率;用户数据定义了用户的基本信息, 包括账号、密码、兴趣、爱好等信息;影片评价部分主要是根据用户的信息以及用户之前的影片评价记录来推送影片信息, 将影片信息展示给用户, 该信息包括影片的相关属性, 如影片类型、演员、导演等, 用户看完影片后可以继续为该影片进行评价, 然后对影片进行评分, 最低分为1分, 满分为5分。

最后, 推荐系统随着互联网技术的快速普及, 越来越多地受到了更多人的重视, 以电影推荐系统为例, 对整个推荐系统的技术架构做了一些分析、对算法的阐述、考虑到每个用户的评分幅度有所差异, 在使用算法中, 通过平均集中法来预测用户对电影的评分较好的解决了这一问题, 在计算电影的相似度的。

摘要:随着互联网技术的快速发展与普及, 人们开始由原来的去影院观看电影转移为网上观看电影为主, 与之而来的就是网络上的大量影片, 导致影片数据急剧增加。面对海量的电影信息, 我们需要把影片推荐算法应用在电影产业上, 这样是为了我们能够更看到更优质的影片, 同时也可以推动推荐算法快速发展。推荐系统是解决在海量信息中获取用户想得到数据的利器, 给用户带来良好的体验。本文是基于协同过滤算法, 通过python语言来搭建的影片推荐系统。

关键词:协同过滤,推荐系统,python

参考文献

[1] 贾忠涛, 吴颖川, 刘志勤.一种协同过滤算法在网络干扰过滤中的应用[J].计算机仿真, 2016, 33 (1) :284-287.

[2] 李鹏飞.视频网站中混合模型推荐算法的优化[D].北京:北京交通大学, 2014.

[3] 王国霞, 刘贺平.个性化推荐系统综述[J].计算机工程与应用, 2012, 48 (7) :66-76.

[4] 刘建国, 周涛.个性化推荐系统的研究进展[J].自然科学进展, 2009, 19 (1) :1-15.

[5] 郁雪.基于协同过滤技术的推荐方法研究[D].天津:天津大学, 2009.

上一篇:麻痹性下睑外翻临床疗效探讨下一篇:探究建筑综合体的空间结构与寻路设计