毕业设计-基于协同过滤推荐算法的视频推荐系统

目录

前言

课题背景和意义

实现技术思路

一、关键技术分析

二、系统建模

三、结果分析

四、总结及展望

实现效果图样例

最后


前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯毕业设计-基于协同过滤推荐算法的视频推荐系统

课题背景和意义

在信息化时代,各种电子信息化平台、APP、小程序开始走入大家的生活,其中电商类、视频类、音乐类、聊天类、游戏 类软件是大家使用较多的几类软件,而视频类软件因为内容 多样,题材丰富,易于接收信息,也逐渐被大家追捧。现如今 视频类的软件有很多,比如大家熟悉的爱奇艺、哔哩哔哩、抖 音等等,基本涵盖我们的生活、学习、娱乐等方面。视频类网 站在我们的生活中越来越频繁的使用,每个用户既是内容的 接收者,但同时也是数据的产生者。对于一个成熟的网站来 说,每天产生的数据量是海量的,这些大数据一般具有体积大、 种类多、周期短等特点。但是这些大数据经过处理,也能为网 站提供很多有用信息。针对这个问题,国内外很多的研究学 者,也展开了相应的研究,推荐算法也慢慢的在视频类网站中 得到了应用。 国外对于视频推荐技术的研究比国内要早,最早关于视 频的推荐算法是 VideoRech 的在线视频推荐系统,这个推荐 系统仅考虑了视频本身的一些信息,并未对用户行为建模。 通过挖掘视频的标签文本和评论语句的相似性, 对文字进行语义分析,从而判断用户对视频的喜爱程度,从而 进行推荐。

实现技术思路

一、关键技术分析

推荐系统架构主要是由用户模型、物品模型构成,其中用 户模型主要是对用户之前的历史数据进行分析,物品模型主 要是把众多用户信息中提取出来的,从而计算出与用户相符 的物品。最后再对物品进行从高到低的排序,从而进行推荐。

用户行为模型分析

用户行为主要是用户在观看视频的时候产生的大量的用 户信息,这些用户信息包括用户对视频的评价、点赞、收藏、加 会员、分享好友、打分等操作,以及观看视频时候暂停、播放时 长、快进等行为。通过这些用户行为可以判断用户对此视频 的喜爱程度,再从视频资源库中推荐出跟此类视频相似且评 价高的视频。这些用户行为根据用户提供信息的明确性来分, 又可以分为显性行为及隐形行为。其中显性行为是指用户明 确表示过对视频的喜爱的行为,比如点赞、评分等。隐性行为 是从这些行为日志中不能明确看出用户的喜爱程度的行为, 比如暂停、选择倍速等行为。通过分析显性行为数据,可以方 便我们对于用户喜好的判断。

推荐算法分析

推荐算法常用的主要有三类:协同过滤推荐算法、基于内 容的推荐、混合推荐算法,其中协同过滤推荐算法是使用最多 的一种推荐算法。协同过滤推荐算法主要有两类,一类是基 于用户的推荐,一类是基于物品的推荐。

基于用户的推荐主要是根据目标用户的兴趣爱好,找到 与目标用户相似的用户集合,然后分析用户集合中评价较好 且目标用户没有见过的物品推荐给目标用户。基于物品的推 荐主要是对物品进行分析,比如很多人同时喜欢物品 A 和物 品 B,我们就认为这两个物品是相似的。当有用户 C 已经购 买过物品 A 的时候,我们就会把物品 B 推荐给用户 C。

协同过滤算法在很多的电商推荐系统中都在使用,此算 法是迄今为止最成功的一种推荐技术。此算法可以不考虑那 些难以自动基于内容分析的信息,可以基于一些复杂的概念 进行过滤,不需要对用户及物品进行严格的建模。所以本课 题采用此算法来进行视频推荐。

二、系统建模

基于用户行为的推荐算法如图所示,主要是对用户的 行为数据进行分析,分析用户的显性行为及隐性行为,根据行为数据建模,然后再根据用户行为数据找到和目标用户形似 的其他用户,最后再使用协同过滤算法给目标用户推荐可能 感兴趣的视频。

用户行为数据处理

数据是信息的有效载体,为了获取有效信息,需要使用数 据分析技术对数据进行清洗。数据清洗主要包括数据的去重、 消除异常数据以及保证数据的完整性。用户在观看视频的时 候也会产生大量的数据,用户的行为数据主要包含:视频分享、 视频打分、视频评论、视频观看时长、暂停、快进、视频观看次 数等行为数据,这些数据一般是以日志的形式存在计算机中。 如果要对用户进行视频推荐,我们需要对用户的行为数据进 行分析,然后再对分析后的数据进行归一化处理。

在本课题中需要建立用户和视频喜爱程度之间的模型, 在这个模型中根据用户对视频的操作行为进行对视频喜爱与 否的确认。如图所示:用户对视频的评分大于 3 分;用户对 视频点击了小红心、收藏及对视频进行了分享;用户观看视频 时间超过视频总时长的 60%或者用户观看次数大于等于 1,以 上情况均认为用户对该视频是喜爱的输出 1,否则输出 0。这 样我们就把用户行为用具体值表示出来了,也便于后面进行 相似度的计算。

用户相似度计算

在协同过滤推荐中我们需要对兴趣爱好相似的用户进行 物品的推荐,因此我们需要进行用户相似度的计算。本课题 中我们采用的是余弦相似度来计算两个用户之间的相似程度。 

这里我们把用户的评分看做是 n 维空间向量,建立一个基于 用户的视频评分矩阵,如表所示。

 根据用户评分向量来计算用户间的相似度,这里我们假 设两个视频用户 Ua,Ub 对视频的评分向量为:R(a,k)和 R(b, k),则用户 Ua 和 Ub 之间的相似性为:

 根据余弦值的大小来判定两个用户之间的相似性,余弦 值越大,说明两个用户间越相似,反之相似性越小。但考虑到不同用户评分的差异性,因而对上述公式进行 修正,对每个用户添加一个对所有视频评分的平均值,修正后 的公式如下:

其中 Ra 为用户对所有视频的评分平均值。

推荐原理

根据余弦相似度计算出和目标用户最相似的几个用户后, 再选取目标用户从未评价过的视频Ij,然后根据相似用户的评 分来预测目标用户可能会给视频的评分值。最后在用户未评 分的产品中,预测用户提供评分最大的K个视频,再从中选择 排名前几的视频推荐给目标用户。 

三、结果分析

本实验中我们选取 movieslens 数据集进行实验,此数据 集是很多专业人士进行推荐算法常用的数据集。此实验中我 们采用的是 1M的数据集,我们将其中 80%的数据用作测试数 据、20%用作验证数据,该数据集中含多个用户对多部电影的 评级数据,也包括电影元数据信息和用户属性信息。基于用 户行为的协同过滤推荐最基本的思路就是,观察用户对电影 的评分,计算用户之间的相似度,然后找到与当前用户最相似 的若干用户,把他们评分过的电影排序后推荐给当前用户。

在电影网站中,用户为电影评分后,相应的用户的操作就 会记录在用户评分表中。因为用户的操作是实时更新的,并 且用户也是不断在变化的,所以用户评分表的数据也在不断 变化。基于这个原因,推荐系统会为每个用户创建评分向量, 并且在创建向量时,通常会设置一个阈值,如果用户的空白格 数据超过阈值,则不会为他创建评分向量。创建评分向量后 再创建用户相似度矩阵。有了相似度矩阵后,就可以为当前 用户寻找相似用户了。找到相似用户后,就可以进行相应的相似度推荐了。

基于上述思路,在这里我们先对数据进行清洗后创建电 影评分矩阵和评分记录矩阵,再计算用户间的相似度从而进 行推荐。本实验中我们使用 TensorFlow 来构建模型实现推 荐。在这里我们随机输入一个目标用户编号 666,得到了与该 用户喜好相似的排名前十的十部电影。运行后的结果输出如 下所示:

通过如上实验我们可以看出对用户行为进行分析后,根 据用户行为对用户进行分析,再使用协同过滤推荐算法进行 推荐在一定程度上可以很好的推荐出用户感兴趣的电影,能 很好地提升网站的用户黏性,而且也能发掘长尾物品,提升用 户对网站的感知度,再实际运用中具有很好的实用价值。

四、总结及展望

基于用户行为的协同过滤推荐算法在 视频网站上的运行进行了研究,通过实验证明基于用户行为 的协同过滤推荐在视频推荐上有很好的应用。但是当我们在 使用一个新系统的时候,由于用户量少,产生的行为数据量也 少,协同过滤推荐算法依旧不能接解决用户冷启动的问题。而 且,基于用户行为的协同过滤推荐大部分分析的还是用户的 显性行为数据,对用户的隐形行为数据分析的较少,以后依旧 要在用户隐性行为数据上进行更深入的分析,挖掘出更多对 目标用户推荐更有价值的数据。

实现效果图样例

视频推荐系统:

 我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值