五、文献综述(或调研报告):
近几年来,标签在各大推荐网站被广泛使用,使其成为一种有效的推荐工具。标签是附加到数字对象上用来描述该对象的关键词,但并非正式分类系统的一部分。它是被自由选择的关键词,却是一种用来组织、搜索、和探索对象资源的简 单而强大的工具。它有很多优点:首先,它更直接地反映出用户对一部电影的感受。区别于用户评论,标签没有严格的组织结构,却包含丰富而明确的主题信息,从而避免了用户评论的繁琐;同样,区别于电影类型信息,标签能够更灵活地存储用户感受;另外,标签行为形成了一个基于用户、对象、标签的三维关系,除传统的 useritem 关系,增加了itemtag 以及 usertag 的对应关系。由于这些优势,标签越来越受欢迎,并被广泛应用于个性化推荐。本文将推荐技术着眼于电影推荐,主要介绍和分析 Jinni、IMDB、Criticker 三大主流电影推荐网站,并对三大网站的电影基本信息进行汇总,详细介绍并比较分析各网站的电影检索与推荐机制以及网站特色。进而,本文针对协同过滤推荐中的冷启动问题,对两个推荐机制较强的网站进行简单实验并对结果进行分析。
Jinni可以依据电影的情节、时长、发生地点、所获奖项、关键字等一系列参数进行搜索,功能比较完善。Jinni所采用的检索工具叫作Movie Genome。Movie Genome知名度非常高,Google TV也采用这个工具实现个性化检索。Jinni的 Movie Genome包含2200种不同的参数,包括类型、背景、氛围等。它根据用户的评论以及其他信息找到确切的参数来描述一部电影。
Jinni利用Movie Genome包含的大量参数将电影进行分类并且探索出用户偏好以及用户之间的关联程度。首先用户要注册一个账户,生成个人文件夹,用来收藏用户行为及兴趣信息。用户要对至少10部电影进行打分,Jinni才能做出推荐。用户及电影分组Jinni把用户分为12 类,分别是社会政治型、头脑聪慧型、英雄主义者、个人主义者、战略家、现实主义者、理想主义者、极端主义者、富有想象力的艺术家、戏剧爱好者、情景剧爱好者和悬疑爱好者。通过对用户的明确分类,Jinni可以针对每一种分类从用户兴趣及行为中获取用户对该类型的偏向,从而进一步明确用户的偏好类型。而用户对电影的评级分为 10 级,由低到高分别为可怕、差、乏味、令人失望、一般、还可 以、好、非常好、令人惊叹、绝对不能错过。避开传统的分数,而使用情绪评分更能够明确表现出用户对某部电影的兴趣度,消除传统评分中保守评分用户兴趣度模糊的问题。
例如:保守评分用户的6 分便已经代表对该电影很满意,相当于一般用户的8 分甚至以上,便产生偏好定位的错误。但是利用情绪评语,每一个等级代表明确的喜好程度,从而解决了前面的问题。 偏好定位推荐系统根据用户的评分及行为信息对用户的数据进行分析,得到该用户的偏好,从而进行推荐。根据某用户对一部 电影的评级, Jinni可以了解到该用户是否喜欢该部电影; 接着对用户电影偏好进行草图拟定。Jinni将观看电影的人群 分为12 个大类,基于每一大类中的用户打分情况, Jinni用六 个不同的词条来刻画用户偏好。如:strong leaning 表示用户强烈倾向该类型,而 not at all 表示用户完全不是该类型。对于用户偏好的拟定,用户需要对同一大类下的至少20 部电影 进行打分,否则难以给出结果。因为在一个分类中对用户判 定兴趣度十分重要,错误的评判将直接将用户移出该类型,造成后期的推荐出现极大偏差。已有的电影评分越多,越能够更完整测试出用户对本类型电影的兴趣,从而提高系统对用户兴趣的判断,避免发生偏好错误。最后根据与其他用户间的联系比较,用户可以了解自己与其他用户的关联程度,并且选择是否跟随。如果用户选择跟随,被跟随者最近观赏过的电影会对用户推荐产生影响。 Jinni在用户文件夹中会显示联系紧密的其他用户最近观赏过的电影以及大多数人对该电影的评分。当用户进入 Jinni推荐页面,根据用户偏好,产生用户的推荐列表; 另外根据相 似用户群的最近活动信息,将评分较高的电影选出以产生另一个推荐列表。
IMDB 使用了多重检索,即同时使用多种关键字对需求信息进行筛选。IMDB 可以分别对标题、摘要、类型、关键字、电影公司、情节等进行检索,同时还具有高级搜索。高级搜索包括高级标题搜索、高级名称搜索,以及协同重叠搜索。高级标题搜索可以将电影类型、时代、投票数、评分等多重因素考虑在内进行搜索推荐。高级名称搜索可以根据影片中演员的 性别、出生日期、名字以及身高等因素进行搜索。协同重叠搜 索则可实现两项标题或两项名称同时检索。在标题协同搜索 中同时输入“Apocalypse Now( 现代启示录) ”和“The Godfather ( 教父) ”,会搜索到两部电影中同时出现的人,演员 Robert Duvall 和导演 Francis Ford Coppola 等。在名称协同搜索中同 时输入导演 Frank Darabont 和演员 Tim Robbins,就会搜索到 两人合作的影片,如《肖申克的救赎》等。
Criticker 的电影评分方式很有特色,它运用兴趣兼容指数( Taste Compatibility Index, TCI) 进行用户偏好定位。当用户建立自己的账户后,可以为网站内的电影进行评分。针对用户的电影评分, Criticker会再对评分电影自动设置等级分,范围从1 至10。系统的等级分是将该用户所有的电影评分 排序,然后由高到低分别给予等级分数。因此,即使两个用户 对同一部电影给予相同的分数,等级分并不一定相等。例如: A 用户对1 ~5 五部电影的评分分别为 65、75、85、90、95,而 B 用户对相同五部电影的评分依次为65、55、 45、35、25。系统给 予 A 用户的电影等级分依次为 1、2、3、4、5,而给予 B 的为 5、 4、 3、 2、 1。因此 A、 B 用户对第一部电影的评分虽然相等,但是系统的等级分数却相差很大。通过这种方式,每一个用户都会产生自己所评电影的等级库,任意两个用户对于相同电影的等级分数的不同会产生差值,将所有差值平均便可得到 两用户的 TCI: TCI 指数小于等于3 时说明两用户的兴趣度较 相似,因此在推荐电影时,会将对方的喜好考虑在内; TCI 大于3,则两用户之间可认为无共同兴趣度,因此双方的选择及偏好不会彼此影响。
目前协同过滤的推荐系统并没有完全成熟,单从电影推荐网站来看,其问题如下:许多电影推荐网站仍然停留在信息检索层面,并没有做到真正的个性化推荐,也没有解决用户特定需求的个性化问题;对于个性化推荐,大多电影推荐网站也没有应用有效的方法来解决冷启动和数据稀疏等主要问题, 或其方法准确性不高;在电影信息冗余情况下,实现协同过滤时提取有效信息的准确性不高。要较好地解决冷启动问题,应考虑如下几个方面: 首先要解决新电影的冷启动问题,即如何实现对新增加电影的精确推荐。推荐系统要在电影原始信息之外,更多更快地增加用户添加的信息,而这就需要相应 地增加用户对新电影的评价机会。其次,对于新用户问题,可 以在用户注册过程中增加用户兴趣导向等基本属性,使系统能在新用户注册时立即获取兴趣信息,从而在用户冷启动时 能够根据兴趣匹配实现简单推荐。而实现这种推荐方式,需要构造出“用户—资源”模型来连接用户与兴趣资源。对于新用户,可以根据一些重要的属性特征,将其分配到相对应的用户模型;同样对于新电影,利用贝叶斯分类方法,将其分配到对应的电影类别模型。另外标签具有的独特优点,使其成 为推荐系统的一个发展方向,有效利用标签传递的简单有力的信息,既可以计算用户相似度,也可计算电影相似度,从而建立用户—标签—电影三者的数据模型,实现最终的推荐。
推荐结果要提高未来的电影推荐系统的准确性,并解决存在的主要问题,就必须加强有效协同过滤方法的使用,并更加重视个性化推荐中冷启动、数据稀疏等问题,而在计算用户相似度及电影相似度方面,需要在信息选择上更加慎重。标签以其简短明确以及用户与电影的关联性强等优点,可能将实现电影推荐的重大突破。
参考文献
[1] 崔金一. 基于Python的电影推荐系统的构建[J]. 计算机产品与流通, 2019(7):1.
[2] 王世晖. 基于协同过滤的推荐算法研究与引擎设计[D]. 电子科技大学.
[3] 崔军磊. 深度协同过滤算法在推荐系统中的研究与应用[D]. 郑州大学, 2019.
[4] 刘智旭. 基于对数似然相似度的推荐系统研究[D]. 广西大学, 2015.
[5] 刘亮均, 杨柳. 电影推荐系统的设计与实现[J]. 物联网技术, 2021, 11(3):4.
[6] 张玉叶. 基于协同过滤的电影推荐系统的设计与实现[J]. 电脑知识与技术:学术版, 2019(2X):4.
[7] 张中一. 基于随机游走的个性化电影推荐系统研究[J]. 滁州职业技术学院学报, 2017, 16(4):4.
[8] 叶芯妤(Hsin-Yu Yeh), 蔡妤姿(Yu-Tzu Tsai), 徐霈伦(Pei-Lun Hsu),等. 社群媒体协同过滤式英语学习影片推荐系统设计与实作[J]. 台湾科技大学人文社会学报, 2017, 13(2):153-168.
[9] 张玉叶. 基于Python的推荐系统的设计与实现[J]. 计算机时代, 2019(6):4.
[10] 李文栋. 基于Spark的大数据挖掘技术的研究与实现[D]. 山东大学.
[11] 易顺明. 基于Python的推荐系统相似性分析和协同过滤[J]. 2021(2015-1):3-7.
[12] 商红宇, 葛苏建. 基于Python的网络爬虫技术研究[J]. 文存阅刊, 2020.
[13] 康健. 电影推荐系统微信小程序的设计与实现. 西北民族大学, 2019.
[14] 李文栋. 基于Spark的大数据挖掘技术的研究与实现[D]. 山东大学, 2015.
[15] 黄凑英. 基于Python的个性化影片推荐引擎的设计与实现[D]. 湖南大学, 2016.
[16] ChouDHary S , Koul S , Mishra S , et al. Collaborative job prediction based on Naïve Bayes Classifier using python platform[C]// 2016 International Conference on Computation System and Information Technology for Sustainable Solutions (CSITSS). IEEE, 2016.
[17] Wu C , Garg D , Bhandary U . Movie Recommendation System Using Collaborative Filtering[C]// 2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS). IEEE, 2018.
[18] Titipat A , Acuna D E , Tulakan R , et al. Science Concierge: A Fast Content-Based Recommendation System for Scientific Publications[J]. Plos One, 2016, 11(7):e0158423.
[19] Shun-Ming Y I . Similarity Analysis and Collaborative Filtering in Recommendation System Based on Python[J]. Journal of Shazhou Professional Institute of Technology, 2015.
[20] Zhang Y Y , Computer D O . Design and Implementation of Movie Recommendation System Based on Collaborative Filtering[J]. Computer Knowledge and Technology, 2019.
|