基于文本CNN的电影推荐系统的研究与实现

2019-10-08 09:01张嘉凯杨成刘里
软件 2019年3期
关键词:协同过滤

张嘉凯 杨成 刘里

摘  要: 觀赏电影是一项普及的娱乐活动,很多人会选择在电影世界中度过闲暇时光。但是,面对网络上的海量电影资源,人们往往把预定观看电影的时间浪费在选择电影上。如何在电影库中快速、准确地找到中意的电影成了一个急需解决的问题。我们需要一个智能系统,能根据用户的喜好推荐合适的电影,节省选择电影的时间。本文研究电影推荐算法,尝试将文本卷积神经网络技术融入到电影推荐系统中。实现推荐模型,包含对电影数据集的预处理、对用户信息(包含用户性别、年龄、职业等)以及对电影的预估评分。使用Movielens数据集进行电影推荐训练与测试。实验结果表明,本文建立的电影推荐模型能够取得令人满意的效果。

关键词: 电影推荐系统;文本卷积神经网络;电影评分;协同过滤

【Abstract】: Watching movies is popular, and many people like to spend their leisure time in the movie world. However, facing to the massive movie resources on the internet, people often waste time on choosing movies. It is an urgent problem how to find movie quickly and accurately in the movie library. We need an intelligent system that can recommend suitable movie according to users preferences, so that it can save our time in selecting movies. This paper researches the movie recommendation algorithm and tries to integrate the Text CNN technology into the movie recommendation system. We Implement a recommendation model, which includes the pre-proposing of the movie data set, the users information (the users gender, age, occupation, etc.) and the users estimated rating of the movie. We use Movielens data set for training and testing. Experimental results demonstrate that the recommendation model can achieve satisfactory results.

【Key words】: Movie recommendation system; Convolutional neural network for Text; Movie rating; Collaborative filtering

0  引言

互联网的迅速发展使信息量以指数级别迅速增长。如何帮助用户在海量的信息数据中快速并且高效地找到对用户有价值的内容亟待解决。在电影领域,解决电影信息超载问题的一个有效的途径就是电影推荐系统[1]。电影推荐系统能够根据注册用户的个人信息、观影信息、浏览信息以及评分历史等信息给用户推荐感兴趣的电影,还能够从用户的注册信息和观影的行为出发,找到用户的隐性兴趣爱好并将之推荐给用户。相对于电影搜索引擎来说,电影推荐系统更智能化。一个优秀的电影推荐系统,不仅能为在线用户提供更多的电影推荐服务,还可以提高用户对电影平台的认可度和使用体验。

1  研究背景与意义

如今的推荐系统已经在各个领域大放异彩,如电商领域[2]、社交网络领域[3]、图书推送领域[4]以及电影视频推荐领域[5]等。最早的视频推荐根据网站热门视频以及用户的浏览数据排行给用户提供推荐服务,这样的服务可以加深用户对该平台的粘度并且有利于提高网站流量[6]。对于在线电影供应商,在线影片的推荐质量会直接影响公司的经济效益,因此各大视频电影网站都非常重视推荐算法的质量及效率。在二十一世纪初,Netflix的视频领域推荐大赛[7]为参赛者提供了丰富的奖金,鼓励参赛者能够提高相关推荐算法的准确度。这种比赛将关联规则、奇异值分解(SVD)、协同过滤(Collaborative Filtering)[8]等众多推荐方法应用于电影推荐领域,并获得了非常好的推荐效果。

在电影推荐系统中,推荐模型的好坏直接影响了推荐系统的质量,所以现有的电影推荐系统仍避免不了一些问题,如数据稀疏[9]问题和推荐精确度问题。数据稀疏问题的表现之一就是冷启动问题,对于新上映的电影未得到用户的任何评价或者评分,导致模型无法推荐和推荐精度过低的问题。因此,在保证推荐精确度的条件下降低数据稀疏所造成的影响成为目前主要的研究方向。

2  相关概念及算法

本文使用TensorFlow作为深度学习工具来实现推荐算法。TensorFlow是谷歌于2015年开源的计算框架[10],该计算框架可以很好地支持深度学习的各种算法,相比于其他工具,TensorFlow实用性更强,计算效率和系统稳定性更高,支持的平台更多,支持的深度学习算法更广。

通过使用TensorFlow提供的封装算法进行开发、研究,文本卷积神经网络(Convolutional Neural Network for Text,简称Text CNN)算法的实现将更简单,即可专注于神经网络的搭建,在算法的代码实现节省时间。以下为卷积神经网络中涉及到的一些基本概念:

猜你喜欢
协同过滤
改进的协同过滤推荐算法