人工智能|hulu 视频推荐系统从 0 至 1 构建之路

百家 作者:QingCloud 2017-09-22 11:10:48

方便快捷的网络,让视频内容越发流行,成了更多内容传播的载体。在我们浏览视频流媒体平台、视频 App 的过程中,它不断「迎合」着我们的喜好,向我们推送喜欢的视频,这颗聪明的大脑 —— 推荐系统,它是如何构建的呢?


本文将分享,hulu 基于元数据的迁移学习,以及基于内容理解的推荐同人工智能相关实践。



hulu 是美国的视频网站,在美国所有付费视频里排在第二。在北京有一个研发中心,现在大概有 170 位工程师、研究员和项目经理。


说到视频,其实在互联网发明之前就有卖碟的店,里面也有一个简单的推荐系统,店主会把他觉得最好的剧放在最显眼的位置,互联网就是用数字化的方式去实现了过去手工的模式,生成个性化的频道


每个剧看完后推荐的一系列剧都跟他看的历史有关。当人数足够多的时候,可以通过大量用户的行为之间发现一些共性,然后去训练这个模型。


影响推荐系统效果的主要因素


今天要讲优化目标、用户场景、冷启动、用户体验。


优化目标有一些互相冲突的地方。对于用户,希望既能看到喜好相关又多样的内容。对于视频网站,希望用户看得越多越好,随片广告就会有收入。


这是一个商业化的过程。视频网站推荐的内容,只是为了(吸引)用户持续看,但是对他未必有帮助,这是一个致命的矛盾。做研究的人会回避这些问题,我们只是想让用户看得更多。用一个简单的量化指标,用户在视频里观看的时长,就是想要优化的目标。



讲讲方法,早在 10 年以前亚马逊就实现了基于物品相似性的协同滤波,理由是买过这个商品的用户也看过别的商品或者买过另外的商品,内在的是基于物品的协同滤波,记录的是一个二维矩阵,物品是列,用户是行。



对 hulu 来说,记录的是用户看了多少分钟的剧,另外一个用户看了多少分钟。根据每个剧在不同的用户里统计到的数据,就可以知道这个剧和那个剧是很相近的,因为很多类似的用户都看了相似的时间,根据列跟列之间相似性比较,就可以得到剧跟剧之间的关系,对于一个剧,马上就可以找到这个剧的近邻,这是一个非常传统的方式。


大概在 8 年以前举办的一百万美元奖金竞赛(RecSys),获奖团队主要依靠引入了一种叫矩阵分解的方法,在刚才的矩阵基础上把稀疏矩阵不少的缺失数据做了填补,这些填的数据有一定优化的目标。效果如何呢?只能通过线上实验来测,至少在 RecSys 比赛里效果很好。



hulu 引入了这种方法,但在 hulu 的场景里面很少有用户真正评分,于是把评分换成了观看时长,并且做了规划,长和短的剧都看了五分钟,这个观看时长在做积分体系的时候就设计好了。最终,hulu 采用了一种叫作隐式反馈的矩阵分解的方法。在对观看时长的统计里,采用这种算法后效果提升很明显。



我们的下一代推荐引擎想要使用神经网络,在去年顶级学术会议 ICML 2016、RecSys 2016 发表了两篇论文,就是用 CF-NADE 的方法,参考了文本里面的方法把它用到了用户行为,将用户的历史行为看成一个文本,基于 CF-NADE 建立模型,预测用户未来的观看。(注:具体参考 hulu 去年发布的论文 链接:
http://tech.hulu.com/blog/2016/08/01/cfnade.html


基于用户场景的推荐


用户会在不同的地方看剧,有的是在手机,有的是在客厅,可能在不同的城市。刚才只是使用了用户观看历史,如果把观看时长再加上地点、设备和城市,又可以进一步提高对他观看的预测,推荐效果也会有提升。我们是用 CTR(点击到达率)的指标来衡量,因为用户有可能错点,错点之后很快弹出,这就不算真正的 CTR,有用的点击才能算。


刚才讲了优化和货架的场景,主要用了三种方法:物品相似性的协同滤波、矩阵分解、基于神经网络。



还有另一种完全不同的场景:用户不断地看剧。这是一个序列推荐,我们对此定义了几种不同的行为,包括:观看、搜索、浏览,用户在这个网站做的所有事情,最后会形成一个轨迹,带上时间,分析它,背后有一些用户的潜在意图在里面,比如如果不停地在浏览但是都不点,其实他可能在找新鲜的东西。

他开始点了一下但是观看时长不长,就是随便在采样,哪个剧最喜欢看,真的开始一集一集接着看的时候,这个就叫追剧。根据用户的历史和时间戳,可以判断他的意图。


基于这一系列数据,我们用神经网络的方法又训练了一个模型,结合历史的所有行为,预测在当前时间他到底会干什么事,然后在界面上推出最适合他干下一件事情的界面,包括看剧,包括浏览,动态地预测用户会做的下一件事。


用户冷启动和基于元数据的迁移学习

刚才讲的所有东西都体现在点播里。hulu 在今年 5 月份上线了一款直播产品,跟国内的直播有点不一样,它是把电视台的高质量内容采购进来,你看到它播的跟电视上同步的直播内容,里面比较火的是新闻、体育、脱口秀。




对于直播推荐有独特的挑战,在节目真的出来之前,可能只有几天时间,可以预先知道它要播什么,也没有任何用户的历史行为,就遇到用户冷启动的问题。




我们要用一些在点播服务中的用户行为去预测用户对完全没有看过的内容的喜好,当然我们对这些内容也有一些其他的信息,包括当时的热度和元数据,我们通过这些信息解决冷启动问题。



说到内容理解,刚才那些都是出版商、电视台所提供,只是冰山最顶尖的小角,视频剧的元数据还有很多。关于视频的语义描述,我们有自己的分析方法。hulu 去年收购了一家叫 VGP 的公司,它可以采集到视频剧里的语义标签,比如这是一个 80 年代的牛仔秀,里面有枪战镜头。



hulu 也有这些技术和做法,我们把描述标签放到冷启动框架里面从而推出更多的细节。再往下还有每一桢的图象和字幕信息。我们正在做各种探索,比如先找到剧的开始和结束,如果你要推下一个剧的时候就不要等到字幕都播完,而是(结束)字幕刚跳出来的时候就给用户提示,出版商不会给出准确的字幕时间,所以要依靠分析。


此外,一些物体出现在视频里,以及视频的场景里有多少是动作场景,多少是对话场景,我们可以用基于计算机视觉的方法自动产生标签。




这是基于场景识别,给一桢它就会给出一些标签,我们还做了一个情感识别,对当前剧里的演员,我们会做脸部的检测,进行表情识别,它也成为冷启动的方法之一,这就是情感识别的整个流程图。



后来,我们做了一个更加统一的神经网络,把用户行为,内容元数据及更多元素,全都整合起来,这实际上参考了谷歌 2015 年的一篇论文,类似的方法,我们借鉴到 hulu 的场景里面,可以把原来基于用户行为的推荐扩展到结合所有的这些额外信息。


用户体验,给出一个有说服力的理由

有一首有名的英文歌,说我有一百万个理由离开,但是有一个理由能留下来。我们就产生一个推荐(留下来)的理由,比如推《终结者 2》的时候我们可以说你看过《终结者 1》,虽然它背后的算法是那些,但是我们要给用户一个说得过去的理由,这样他会对推荐算法更有信心,点击量就会提升。




另外,降低用户尝试的成本。用户在完全不知道一部电视剧的时候,要花二十分钟看完第一集,才会决定是否要追下去,我们用一些自动的方法,把剧集浓缩成十秒钟短视频,也是基于场景分割以及算法规则,用户只用花很短时间就能判断他想不想要看这个剧。


本文总结自 hulu 北京研发中心研究总监周涵宁在「QingCloud Insight 2017」中,题为《人工智能在视频网站推荐系统中的应用》演讲。


<iframe class="video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" data-ratio="1.7647058823529411" data-w="480" data-src="http://v.qq.com/iframe/player.html?vid=b0544rr0om0&width=370&height=208.125&auto=0" width="370" height="208.125" data-vh="208.125" data-vw="370" style="display: none; width: 370px !important; height: 208.125px !important;"></iframe>


周涵宁,现任 hulu 北京研发中心研究总监带队推荐、搜索和数据科学团队。具有 15 年的产品研发、创新和团队管理经验。专注于应用数据和算法实现从 0 到 1 的产品落地。在数据分析和机器学习方面有丰富的经验。


「加速助力」AppCenter 2.0 提供包括计费、支付、财务报表、监控告警、工单系统、用户管理等一系列运营管理功能,为合作伙伴提供完善的商业运营支持。借助 AppCenter 2.0 平台,合作伙伴可以直接拥有云计算平台所需各类功能模块,快速便捷地开启商业运营之路。

青云QingCloud AppCenter 是一个生态平台,欢迎更多其它企业服务应用入驻 AppCenter,一起为 QingCloud 逾 8 万家用户提供优质服务。申请加入:


https://appcenter.qingcloud.com/partnership/index.html


AppCenter 激励计划


一、面向合作伙伴

AppCenter 认证应用服务商奖励计划

应用服务商在 AppCenter 发布应用经 QingCloud 认证后,可获得的奖励额度为 QingCloud 用户通过部署该应用所带来的资源(仅含主机和硬盘)消费的 10%。


“平步青云” AppCenter 伙伴计划

企业服务方向的创业项目,经 QingCloud 认证审核后,可获得 2 万元的云服务资源赞助,同时应用可以入驻 AppCenter。了解更多:

https://www.qingcloud.com/promotion/startups 

二、面向用户 —— AppCenter 资源优惠计划

公有云用户通过 AppCenter 应用所使用的主机和硬盘资源可享受 10% 的优惠。



点击「阅读原文」获取更多内容。


- FIN -


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接