Netflix 是如何推荐电影的

简介:

  在信息爆炸的时代,我们面对的选择越来越多。内容提供商们,比如音乐电台、视频流媒体、应用商店等,常常把内容分成不同的类型,以供用户们选择。不过,类型常常是一种宽泛的分类,并不能完全满足用户个性需求,而且类型区分过细的话,常常使人无所适从。

  在这种情况下,智能推荐开始出现了。得益于计算机技术的进步,内容提供商能够对用户的爱好做出更为细致的分析,从而做出更加个性化的推荐。通过 对Netflix影片分类的深入分析,以及采访Netflix产品副总裁,Atlantic网站的Alexis C. Madrigal揭示了Netflix影视推荐背后的真相。

  Netflix推荐影片的时候,会给出一个非常细致的类型,或者说是一种“微类型”。Alexis 想要整理出一份完整的微类型列表。由于Netflix的微类型多得离谱,他不得不借助于自动处理软件。在计算机连续运作一天之后,他看到了Netflix 微类型的数量:76897个。这些微类型是由一些基本要素构成的,基本语法是这样:

  地区+形容词+类型(名词) +基于……+……为背景+来自……+关于……+从 X 岁到 Y 岁

  (Region + Adjectives + Noun Genre + Based On… + Set In… + From the… + About… + For Age X to Y)

  当然,有些微类型是不符合上述语法的,比如“有强势女主角”和“适合无可救药的浪漫主义者。”

  在同事Ian Bogost 的建议下,Alexis还编写了一个类型生成器,试图理解Netflix的算法究竟是什么样子的。不过,他还是感觉没有看到全貌。于是,他联系了 Netflix,并见到了公司的产品副总裁Todd Yellin,那个创建了 Netflix 推荐系统的人。

  在接受采访的时候,Todd Yellin说,他早就等着人们来问这个问题了。为所有的电影加上标签,正是他的主意,而他还自己写了一张24页的文档,讲述加标签的方法。他为早期的一些电影加过标签,而且主导了整个系统的创建过程。

  ”我的第一个任务是:把内容撕裂开来!”他说。

  2006 年,Yellin组织了十几个工程师,花费数月时间编写一份名为“Netflix 量子理论”的文档。当时,他把组成影片的基本元素称作“量子”。如今,他更喜欢“微标签”的说法,因为现在看来,“量子理论”是一个自命不凡的名字。

  这份文档描述了为影片各种层面加标签的方法,涉及到影片结尾、主角的“社会接受程度”等等方面。标签是带标量的,从1到5,就是说,所有的影片 都有一个“浪漫程度”的标示,而不仅仅是那些表明是“浪漫片”的电影。每个电影的结局都有打分,从幸福到悲伤。每个情节都有标签。主角的工作有标签。影片 的地点有标签。

  Netflix的工程师以“微标签”为基础,创造了一种语法,来生成各种类型。这是一种人工和机器算法的结合。Netflix 的做法,与 Pandora 的音乐基金组计划有些类似,但是 Netflix 不仅仅展示给你喜欢的内容,还能够对其进行文字描述。

 


<a href=http://static.oschina.net/uploads/img/201401/07080525_ALLl.jpg" >

 这些标签数据不仅仅用来生成类型,也用来增加推荐的个性化程度。如果你喜欢动作冒险类电影,并且浪漫程度比较高的,Netflix 可以推荐给你。“我们将对影片中的浪漫程度做出标注。我们不会告诉你它有多浪漫,但是我们会推荐它,”Yellin 说,“你会看到动作场面,里面的浪漫程度如何,那取决于我们对你的了解。”

  在采访结束之前,Alexis 向Yellin展示了一个有趣的图表。Netflix上最受欢迎的演员排名中,占据第一名的是Raymond Burr,50 年代电视剧Perry Mason的主演,而占据第七名的是Barbara Hale,在剧中扮演主演的秘书。为什么这两个人能够超过梅丽尔·斯特里普、塞缪尔·杰克逊、尼古拉斯·凯奇和肖恩·康纳利?

  这是一个谜题。即使是Yellin也搞不懂,为什么他们的名字出现在那么多的“微类型”中。这是无法用逻辑来解释的问题。

  “让我们做些哲学思考吧。在人类社会中,生命由于意外而变得有趣。”他说,“当你把复杂的东西添加到机器的世界时,你也在添加自己无法想象的意 外。Perry Mason就会发生。这些机器中的鬼魂,经常是复杂带来的副产品。有时候我们称它为失误,有时候我们称之为特色。”

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
搜索推荐 Java 关系型数据库
0015Java程序设计-springboot美食网站
0015Java程序设计-springboot美食网站
106 0
|
搜索推荐 Java 关系型数据库
0014Java程序设计-springboot旅行景点推荐系统
0014Java程序设计-springboot旅行景点推荐系统
135 0
|
7月前
|
搜索推荐 算法 Java
基于springboot+vue协同过滤算法的电影推荐系统
基于springboot+vue协同过滤算法的电影推荐系统
|
7月前
|
搜索推荐 Java 数据库
基于springboot家乡特色推荐系统
基于springboot家乡特色推荐系统
|
7月前
|
前端开发 JavaScript Java
基于SpringBoot实现功能最全电影购票与信息资讯平台
基于SpringBoot实现功能最全电影购票与信息资讯平台
105 1
基于SpringBoot实现功能最全电影购票与信息资讯平台
|
7月前
|
存储 搜索推荐 Java
基于SSM实现新闻推荐系统
基于SSM实现新闻推荐系统
|
负载均衡 监控 前端开发
SpringCloud Netflix学习从练气到化虚
这篇文章是总结SpringCloud NetFlix的,其中使用的Eureka、Hystrix、zuul、feign等技术已经停更,目前是不推荐使用的,但是为了弄清楚微服务的架构演进,以及不同组件之间的差异性,笔者感觉还是需要学习这些已经过时的技术的,循序渐进式的学习才是最好的学习方法。
230 0
SpringCloud Netflix学习从练气到化虚
|
自然语言处理 数据挖掘 Python
通过数据分析找出Netflix最适合学习英语的电影和电视剧
通过数据分析找出Netflix最适合学习英语的电影和电视剧
303 0
通过数据分析找出Netflix最适合学习英语的电影和电视剧
|
运维 监控 前端开发
竟然开源,万人围观,spring-cloud详细解说
竟然开源,万人围观,spring-cloud详细解说
193 0
|
缓存 安全 druid
基于springboot的电影推荐网站管理系统
基于springboot的电影推荐网站管理系统
352 0
基于springboot的电影推荐网站管理系统