一种电影推荐系统的设计与实现

2019-11-19 06:24张博李昂松尹琛湖北大学
数码世界 2019年11期
关键词:物品数量协同

张博 李昂松 尹琛 湖北大学

1 问题背景与提出

随着网络的发展及移动端的普及,越来越多的人们接触到了网络,截至2018 年6 月,我国网民人数已破8 亿。用户在海量的数据中想要查找到所需信息越来越难,推荐系统应运而生。它通过分析用户的历史行为, 向用户推荐能够满足他们兴趣和需求的信息, 建立平台与用户之间的密切关系, 提高用户的满意度。

本文现根据600 个用户对9000 部电影的10000 项评价,包括电影信息、用户对电影的评分等数据,建立数学模型解决以下问题:

(1)建立数学模型,实现电影推荐系统,以便对用户进行电影推荐。

(2)建立合理的指标体系评价你所建立的推荐系统。

2 模型的建立与求解

在求解前,为了合理简化模型,现做出假设:

(1)每个用户的评分可以反映电影的优劣程度,保证用户评分的合理性;

(2)用户的喜好在一定时间范围内是不变的,此假设保证模型的可信性;

2.1 问题一

2.1.1 简单数据分析

已有数据中包含评分电影年份和评分提交时间等信息,本文从评分的出现频数、电影发行情况与时间的关系以及评论时间的关系入手进行简单分析.

(1)电影数量与时间的关系

利用EXCEL 统计出自1902 年开始到2018 年每一年的电影数量,并对统计结果做透视分析。结果表明,全球电影数量自1973 年(65部)开始增速加快,数量增长趋势成指数型,到2002 年时达到最大值,为324 部,此后增速放缓且每年电影数量整体上有下降的态势但仍旧能够保持每年160 部及以上的电影数量。

(2)电影评价与年份的关系

利用EXCEL 软件,统计出自1970 年开始到2018 年每一年的评价数量,并对统计结果做透视分析。结果表明,全球用户对电影的评论数量由1980 年(879 条)开始出现显著增加,每年评论数量呈现指数式增长,这与上世纪八十年代开始互联网的普及与个人电脑PC 进入寻常百姓家中有很大的关系;评论数量在1995 年达到最大值(6012条),此后开始急剧跌落。结合两次分析的结果可以发现,1994 年至2015 年间电影数量相差不会很大。但在这21 年中,1994 年到2004年间的电影评论数远高于其他年份,说明在这20 年间人们对电影的关注度非常高,且1994~1995 年可以视为电影的鼎盛时期,这与电影的“黄金年代”的时间大致符合。

图 年份-电影数量统计直方图

2.1.2 构建基于协同过滤的电影推荐系统

2.1.2.1 建立基于物品的协同过滤算法

(1)协同过滤算法

协同过滤算法分为基于用户的协同过滤算法和基于物品的协同过滤算法。

基于用户的协同过滤算法(简称UserCF),通过不同用户对同一物品的评分来体现用户之间的相似性。该算法适用于用户较少的情况,其特征在于推荐的时那些和目标用户有共同兴趣的其他用户喜欢的物品,适合时效性强、社会化、用户个性化兴趣不太明显的领域,如新闻推荐、微博话题等。

基于物品的协同过滤算法(简称ItemCF),它通过同一用户对不同物品的评分来反映物品之间的相似性。该算法适用于物品数明显小于用户数的场合,其特征在于推荐那些和目标用户之前喜欢的物品类似的其他物品,适合个性化需求强烈的领域,如电子商务、电影等

(2)模型的设计

本文决定选用基于物品的协同过滤算法(ItemCF)来构建电影推荐模型。该算法主要包括两步:

a.计算物品之间的相似度。本文选用相似度算法的皮尔森系数计算物品之间的相似度,皮尔森相似度计算公式如下所示。

式中,U 表示用户所有对i 和j 共同评估评级的用户组成的组合;表示对i 和j 共同评估评级的用户,他们对i 的评级的平均值。

b.计算推荐评分。根据物品的相似度矩阵和用户的历史行为信息,求解推荐评分,然后根据推荐评分给用户生成推荐列表。推荐评分公式如下图所示。

根据各电影平均分和评分人数情况,得到最高平均分电影,选该电影为例来运行ItemCF 算法模型,得出推荐的另外5 部电影。

(3) 模型的求解

依据上述流程,得到电影Forrest Gump(1994)为典例电影,而后对该电影与其他电影间进行皮尔森关联度计算,并对其进行奇异值分解,最后计算结果进行降序排列。推荐电影分别为:Shawshank Redemption, The(1994)、Schindler's List(1993)、Silence of the Lambs, The(1991)、Apollo 13(1995)、Braveheart(1995)。

2.2 问题二

2.2.1 评价指标的选择与体系建立

本文选用精确率,召回率,覆盖率和新颖度作为测评指标。精确率描述最终的推荐列表中有多少比例是发生过的用户;召回率描述有多少比例的用户;覆盖率反映了推荐算法发掘长尾的能力;新颖度反映了推荐列表中物品的平均流行度。

2.2.2 评价推荐模型

对用户 推荐N 个物品,记为R(u),令用户u 在测试集中喜欢的物品集为T(u),那么各指标公式如下,

上述三式为问题二评价推荐模型。评估模型的方式是对每个用户进行推荐,最后使用评估指标进行评测。经过测评计算,精确率0.3767,召回率0.0759,覆盖率0.3175,总体来看该模型效果良好。

猜你喜欢
物品数量协同
输入受限下多无人机三维协同路径跟踪控制
称物品
家校社协同育人 共赢美好未来
“双十一”,你抢到了想要的物品吗?
谁动了凡·高的物品
统一数量再比较
“四化”协同才有出路
京津冀协同发展
角:开启位置与数量关系的探索
头发的数量