基于大数据技术的电影推荐系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年9月基于大数据技术的电影推荐系统的设计与实现吕晟凯(武汉钢铁公司第三子弟中学)
【摘要】在大数据时代,智能推荐系统为我们生活带来了极大的便利,根据用户的浏览信息可以为用户提供相对应的功能、产品和服务,使得用户能够更高效地从海量数据中得到自己期望的信息数据。电影是很多人娱乐生活中不可缺少的一部分,电影推荐也是互联网推荐内容中重要的一种。本文将依托此为背景,通过数据挖掘相关算法来构建一个智能的电影推荐系统,根据用户过去观影喜好来为之个性化提供多个电影作品。
【关键词】电影推荐;数据挖掘;机器学习
【中图分类号】TP391.3【文献标识码】A【文章编号】1006-4222(2018)09-0006-02
1前言
随着现代科技生产力的发展,人们在空闲时间中逐渐开始追求更高要求的娱乐活动,而电影就是最为普遍的娱乐方式之一。不管是喜剧还是悲剧,都能勾起你纯真的眼泪;不管是动作片还是恐怖片,都能让你的肾上腺大开大合;不管是科幻片还是纪录片,都能让你云游古今中外。不管是去电影院,或是购买影碟,或是在网上观赏影片前,人们总是有选择性地去寻找一些更符合自己喜好的、内容精致的、更受欢迎的电影去观看。但是,如今影片的拍摄逐渐走向高产化,佳片许多,烂片也层出不穷,如果采用人工方法,在大量电影影片中找到自己真正喜欢的电影是一个耗费精力的事情。
本文通过大数据挖掘技术构建了一个智能的电影推荐系统,针对不同用户,提供多个与其过去的观影信息相似度较高的符合该用户喜好的电影,满足用户的观影需求。本文使用了kaggle网站中TMDB5000Movie Dataset的电影数据集,主要结合应用分类统计(Class Statistics)、样本相似度(Correlation)分析等经典数据挖掘算法,剖析数据间的关系,从而完成电影推荐系统的相关功能。用户为系统提供一个电影的名称,该系统提供与这部电影在类型、内容、受欢迎程度、年代等综合程度最相似的五部影片。
2数据预处理
本文所使用的电影数据集,包含:电影类型(genres)、关键字(keywords)、导演(director)、演员(actor)、发行公司(compa⁃ny)、电影评分(IMDB)、成本(budget)、评分人数(count)、电影的发行年份(year)、发行国(country)、语言(language)等字段,共计5000多部电影详细信息。
本文的智能推荐系统主要依赖电影和电影之间的“相似度”(similarity)来为用户推荐电影,在计算相似度的过程中会使用描述该电影的“关键字”(keywords)作为计算的主要因素之一。但是在这些关键字中有大量的低频词,会对计算过程产生噪音影响;关键词中还有大量的同义词,如“shadow”和“dark”,同根词,如“music”和“musical”、“train”和“training”、“apple”和“apples”,在计算相似度应该被视为同一个词。因此,我们使用以下的预处理方法对关键字进行了清洗。①本文应用python的NLTK package合并了同义词和同根词。②本文对频次小于五次或出现在少于三个电影的关键字进行了过滤。
数据集中有一些属性需要进行离散化处理,如发行年份(release date),本文应用了EXCEL的YEAR()函数和ROUND⁃DOWN()函数以10年为间隔,将其分为了1930s、1940s一直到2010s(代表2010年及以后)的年代制。
3电影推荐系统的设计
不同的人在挑选电影的时候往往有不同的选择,但是大抵都会考虑以下几个方面。电影的导演和演员以及制作公司可能是观众会着重考虑的部分。著名导演例如姜文、James Cameron,作品虽少但精品居多,他们的电影上映后可能会吸引大量观众。演员也是电影的一个重要载体,如Robert Downey 这样拥有优秀的演技、帅气外表的演员收揽了众多的狂热粉丝,带来了票房大卖。电影公司也在观众的选择中有着重要的影响,像Marvel Studios、DC Entertainment这类公司靠超级英雄系列吸引了许多观众,该系列的每一部新片上映都会快速引起观影热潮。我们称这部分因素为创作(cast)因素。电影内容、电影类型、发型年份、语言在不同程度上也是影响观众选择电影时的因素之一,观众会优先去看符合自己口味的电影。换句话说,一个喜欢看动作片的人,会在众多电影中选择如敢死队、警察故事这类以动作取胜的影片;而一个人若喜欢爱情片,泰坦尼克号这样唯美的作品将成为其首选。我们称这部分属性为内容(content)因素。影片在同档期中的受欢迎程度、电影评分、评分人数也是决定观众是否选择这个电影的原因之一。我们称这部分因素为口碑(popularity)因素。
为了探究这些因素对于观众在选择电影时的影响,本文首先对某几个因素进行了定量分析。
3.1电影类型
数据集中一部影片可能为多种电影类型,本文统计了不同类型电影的受欢迎程度。首先,使用EXCEL的计数功能,统计不同电影类型的样本数量。统计结果显式,本数据集中主要的电影类型有剧情片(drama)(2297部)、喜剧片(comedy) (1722部)、惊悚片(thriller)(1274部)、动作片(action)(1154部)、爱情片(romance)(894部),除此之外还有冒险片(adven⁃ture)(790部)、科幻片(science fiction)(506部)、动画片(ani⁃mation)(234部)等等。然后,本文又使用了EXCEL的“分类汇总”功能,将电影类型作为“分类字段”,将“电影评分”作为“汇总方式”,使用“平均值”作为汇总项。
根据统计结果,受欢迎程度最高的三类影片是冒险片、动画片、科幻片;然而,数量最多的影片类型——
—剧情片、喜剧片、惊悚片并不是最受欢迎的;反观,虽然奇幻片(fantasy)、推理片(mystery)等类电影的数量并不占优势,但其受欢迎程度依然较高。因此,在电影市场中,并不是出现频率越高的电影类型,就越受大众喜爱。
3.2电影年代和电影成本
本文使用同3.1相似的统计方法,依据数据集,生成了从1930~2017年不同年代电影的平均预算以及受欢迎程度的折
线图,如图1所示。
根据图1可知,电影成本与受欢迎程度在21世纪前并没有太大的关联性,而到了21世纪后便出现相当明显的正相关
通信设计与应用6