混合推荐算法在电影推荐中的研究与评述

2016-11-24 18:12黄玮琦
电脑知识与技术 2016年26期

黄玮琦

摘要:现代互联网已经成为了大量信息传播和扩散的主要途径,电影作为娱乐的重要一环也在互联网中充斥着自己的身影,网上观影已经成为了一种或不可缺的休闲方式,优秀方便的电影推荐系统也就成为了炙手可热的互联网新宠。但是,现在很多网站的电影推荐系统并没有我们所期望的那么智能,往往给我们推荐的并不是我们真正想要看的电影,那么,研究它们的推荐算法就变得极其有意义。

关键词:电影;推荐算法;基于内容;协同过滤;混合推荐

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)26-0190-03

由于现代科技的快速更新与进步,互联网技术也在日新月异地提升。人类的日常生活也越来越离不开网络,无论是获取知识,了解新闻还是放松娱乐都可以在网络上找到相应的资源。然而互联网上的存储信息在以指数爆炸的模式进行快速增长,人们在接触到大量的互联网信息的同时,从中获取并利用真正有效的信息也变得越来越困难。这种情况被称之为“信息过载”和“信息迷航”。

电影资源的大量产生是互联网信息爆炸现象的一个具体方面。那么,我们如何从互联网海量电影数据中挑选我们想看的呢?这个问题引入了现代个性化推荐系统的产生。

1个性化推荐

1.1个性化推荐的现状

个性化推荐技术是一种通过用户的历史记录来确定用户的偏好特征,从而为用户提供符合其偏好以及潜在偏好的个性化服务的技术。该技术可应用于生活中的各种方面渠道,例如电影视频方面,各大门户网站可根据用户的历史浏览记录分析并推送符合用户爱好的个性化信息。这一过程将网络从被动地接受使用者请求的行为转变成了主动感知到使用者的需求。

个性化推荐这一概念是在上世纪末才被独立提出的,它以数据挖掘为基础,根据符合条件的相应推荐算法来分析得出用户的爱好和倾向,并从大量的互联网信息存储中锁定用户的兴趣资源或潜在兴趣资源主动推荐给用户。[1]

个性化推荐系统的发展十分快速。在1995年3月,卡耐基。梅隆大学的Robert Armstrong等人提出了个性化导航系统Web Watcher。随后各大著名企业均开始制定并推出了各自的个性化广告方案,例如谷歌开创的AdWards盈利模式,雅虎随之推出了SmartAds广告方案, Overstock(美国著名的网上零售商)根据ChoiceStream公司制作的个性化横幅广告方案,等等。我国首个个性化推荐系统研究团队北京百分点信息科技有限公司成立于2009年,旨在研究和开发个性化搜索引擎技术和解决方案。[2]

1.2电影推荐的现状

电影和视频门户网站在当下互联网中占据了不小的比例,在个性化推荐系统中也是一块非常重要的研究领域。各大电影网站根据自身的电影检索和推荐机制,通过用户的个人信息从互联网大量的视频中抽取用户可能感兴趣的视频内容。其中最为出名的应为Netflix公司。其于2006年设立的百万奖金比赛,规则是实现一个电影推荐系统来预测其用户感兴趣的电影,并使预测准确率达到10%。[3]另有主流视频门户网站如Youtobe和Hulu,也都在个性化推荐方面进行了大量研究,以提高视频网站的访问量,增加用户的观影愉悦度。

国内的电影及视频网站近年来发展逐渐迅速。优酷,爱奇艺,乐视等网站都推出了各自的电影推荐系统,虽然推荐结果的预测准确性还有待进一步提高。豆瓣电影相对口碑较佳,其网站根据用户浏览的电影页面和用户进行的评分从海量电影资源里寻找符合用户兴趣的电影,通过猜你喜欢等模块推送给用户,提高了用户的满意度。

2相关推荐算法

2.1 基于内容的推荐算法

2.1.1算法简介

这是一种较为简单的推荐算法,其根源为信息检索及信息过滤技术,在大量信息里面挖掘出与用户兴趣相似的电影从而推荐给用户。该算法根据对用户的历史浏览记录进行分析,通过用户过去感兴趣的产品, 来向用户推荐尚未产生接触的推荐项(本论文专指电影)。例如电影网站可以根据某个用户过去观看了许多恐怖类电影进而为用户推荐其他恐怖类电影。

基于内容的推荐算法的基本思想是如果使用者的历史记录显示了他对某种特征的电影感兴趣,那么他可能对相似特征的也感兴趣。出于这个思想,基于内容的推荐算法主要需要结构化两种描述文件,用户特征的描述和电影特征的描述。[4]用户特征的描述来源于用户对电影的评分集合和用户建立时选择的标签类型。通过这些来建立一个用户的兴趣模型。电影特征的描述来源于用户的评分以及上线时的标签,一般包括电影的特征,属性信息。推荐系统会经常定时的更新并且维护用户和电影的特征文件,推荐过程就是当需要获取某个用户的推荐列表时,就去比较用户和电影的特征文件的相似性,选取相似性高的推荐出去。

该算法主要可从以下三个步骤进行描述:

1)movie Representation:从每个movie中抽取出部分特征(也就是movie的标签特征)来代表此movie;

2) Profile Learning:根据某个用户过去感兴趣(或不感兴趣)的movie的特征数据进行研究,来得出此用户的兴趣特征(profile);

3)Recommendation Generation:根据对上一步骤中得到的用户profile与候选movie的特征进行对比,以此为依据,为用户推荐一组关联性最大的movie。[5]

常见的方法是利用添加标签来代表这部电影的属性,而每个属性对应的权重往往是根据一定的算法。根据用户过去的电影浏览记录来推算出此用户感兴趣的 profile,最为基础的方法是把用户所有感兴趣的电影对应的向量平均值来用作此用户的profile。在获得了一个用户的profile后,本算法就可根据所有movie与此用户profile的关联度来为该用户推荐可能符合其爱好的电影了。

3电影混合推荐系统的研究与实现

本文上述介绍了目前两种最为常用的推荐算法原理和他们的优缺点,在目前已经使用的各大电影推荐网站中,这两种算法并不会是单独出现的,而是经常被混合起来使用的,例如国外知名电影推荐网站jinni,它所采用的检索工具叫Movie Genome,同样也是Google TV所采用的个性化搜索工具。Jinni 把用户分为12类型,战略家、现实主义者、理想主义者情景剧爱好者和悬疑爱好者等等。在对用户进行分类后,Jinni通过获取这类的用户偏向和历史行为来总结出这类用户的特征偏向,以此进一步确认用户的偏好类型。而用户对电影的评级分为10级,由低到高为not at all到strong learning。最后,通过观察与其他用户的联系,用户可以了解自己与其他用户的关联程度,并且能够选择自己是否要跟从类似用户的选择。如果用户选择跟从,那么用户的推荐列表会被类似用户最近观赏的电影目录所影响。Jinni 在用户文件夹中会显示联系紧密的其他用户最近观赏过的电影以及大多数人对该电影的评分。当用户进入 Jinni推荐页面,根据用户偏好,产生用户的推荐列表; 另外根据相似用户群的最近活动信息,将评分较高的电影选出以产生另一个推荐列表。

那么,下文将会简单介绍一种混合推荐系统的实现,也将采用基于内容的推荐算法加上协同过滤算法。

首先明确的是,不管使用哪种推荐算法,都需要先计算用户的相似度,因为用户的相似度大程度上体现了这个用户的特征偏向以及他是否是一个新用户。如果这个用户是一个新用户或者活跃度非常低,那么他就不太适合采用协同过滤的算法来进行推荐,而应该直接采用基于内容的推荐算法,根据他之前选择的标签来进行电影推荐,避开冷启动;相反,如果他是一个活跃用户,那么就可以挖掘出此用户的历史行为信息,来跟其他用户的相似度进行比较,采用协同过滤算法来进行推荐,并且挖掘出此用户的兴趣偏向。如上所说,那么就需要为相似度设置一个阈值,可以选择此用户的相邻矩阵种相邻用户的个数N,如果大于N,说明矩阵不稀疏,是个活跃用户;相反说明矩阵稀疏,只是个新用户。[8]

在本电影推荐系统初始化的时候,会根据一些已定的标签将电影数据库分类成多种特征,然后等到用户登录时,系统会统计用户的浏览历史,然后找到用户观看较多的电影类别,然后组成推荐列表。具体算法的内容可见前几节的算法介绍。

4小结

本文提出的混合推荐算法主要使用协调过滤推荐,基于内容的推荐算法则作为辅助算法。如果是新用户或者没有被用户打分或者浏览的新产品则釆用基于内容的推荐算法,一般的电影推荐任务则采用协同过滤算法。基于项目的协作过滤更为重视用户的过去已经产生的兴趣特征,一般推荐的是符合用户历史浏览中感兴趣的电影。而基于用户的协作过滤的本质是信息获取和信息过滤,可以根据海量用户群中的相似用户的兴趣特征来帮助用户挖掘潜在兴趣,推荐全新的关注电影类型。

本算法还进一步优化了协同过滤推荐算法。在本算法中,通过对相似用户的历史浏览记录进行分析得到相关的推荐电影集合,并不直接对用户相似度来推荐电影,而是先进行进一步的过滤。本算法先根据当前用户的点播记录,挖掘其偏好特征,建立该用户的兴趣模型。然后匹配相关推荐电影集合中的相似电影与当前用户的兴趣模型,匹配度髙的排在推荐列表的前面。该算法可以更好的保证在网站系统进行电影推荐的时候,先展现在用户眼前的是能更好满足其偏好特征的电影类型。

参考文献:

[1] 赵亮,胡乃静,张守志.个性化推荐算法设计[J].计算机研究与发展,2002,39(8):986-991.

[2] 陈天昊.互联网电影推荐方法的研究与实现[D].北京:中国科学技术大学,2014.

[3] 余力,刘鲁,李雪峰.用户多兴趣下的个性化推荐算法研究[J].计算机集成系统,2004,10(12):1610-1615.

[4] 高斐. 面向海量数据环境的个性化推荐机制应用研究[D].南京:南京邮电大学,2014.

[6] Paul B. Kantor , Francesco Ricci , Lior Rokach , Bracha Shapira. Recommender Systems Handbook [M]. Germany: Springer, 2010: 73-80 .

[6] 项亮. 推荐系统实践 [M]. 北京: 人民邮电出版社, 2012: 44-51 .

[7] B Sarwar,G Karypis,J Konstan,J Riedl. Item-based collaborative filtering recommendation algorithms [J]. International Conference on World Wide Web, 2001,4(1):285-295.

[8] 曹毅.基于内容和协同过滤的混合模式推荐技术研究[D].长沙:中南大学,2007.