大家好,我是周涵宁,来自于Hulu。Hulu是美国第二大的视频网站,今天我要分享是视频推荐系统。
到了网络时代,出现了很多视频网站,包括爱奇艺、搜狐、优酷土豆。这些网站不可能为每个用户都雇一个专职的老板来做推荐,所以它会用自动的方法,用数字的特征去描述一个用户的喜好,然后产生出一些推荐的结果。
奈飞(Netflix)大家都知道,在十年以前举办了一次推荐算法的比赛,奖金是一百万美元,比赛是为了解决它当时对于用户评分的一个预测问题,所以推荐算法在视频网站的应用历史应该是比较悠久的。
这个是我们今天课程的一个内容提要。第一,我会讲一下优化目标和框架,第二,模型。模型里面又包括Exploitation和Exploration的两种具体的模型。然后基于这个模型,我会讲两个应用场景。
最后从算法或者数学抽象来讲,我们就把这个问题抽象成为“怎样最大化用户的观看时长”。
刚才讲了通过KPI里面的这些维度的划分,怎么样找到一个推荐系统的表现的好坏以及改进它的机会。那么具体来讲,我们要建立一个推荐系统的话,它需要几层?
到了第三个阶段,就是用户已经是一个付费用户,那我们就需要留住他,所以就是不断的去给他更多的、他之前可能没有看过,但是和之前看过的很相关的内容。
利用方面的模型,如果从推荐系统、特别是相关性的利用来讲,有两大类,一个是基于用户行为的,一个是基于内容的。
大家可以看到里面有很多的缺失数据,因为这个矩阵是非常稀疏的,在几万个视频里面,用户能看的也可能只有几百个。所以大约有百分之七八十的数据是实际上是零。
在矩阵分解的框架底下,不太容易直接地使用这些side information,所以我们就引入了一种深度神经网络的框架。
具体来讲,刚才所说的协同滤波方法,它比较适用于货架场景的召回和排序。对于自动连续播放的场景,我们采用了另外一种模型,就是时间序列的模型,叫做循环神经网络。
刚才讲完了一些利用,就是基于用户行为以及side information做货架场景的排序和自动播放的这种持续预测。接下来我们来讲探索。
我们先来看探索中的自适应的问题。为了解决用户兴趣的时变以及新内容的冷启动,我们采用一种叫做多臂老虎机(MAB)的模型。
多臂老虎机已经是一个历史比较悠久的问题,所以也有很多成熟的算法。我们采用了一种比较流行的算法,叫做LinUCB算法。我们会根据当前推的结果,来实时更新对每个摇臂的点击率的预测。
具体来讲,在线上部署LinUCB的算法,有一个线上更新提取特征以及模型运算的过程,以及一个线下根据之前模型采集到的信号去更新模型参数的过程。
最后我们来讲几个应用场景,其中比较重要的一个叫做推荐的理由。
A:我们所用的知识图谱,一方面是从第三方采买的,有专门的构建知识图谱的厂商,他们会做数据清洗爬取。另外一部分是我们从内容提供商那里获得的一些元数据信息。
Q:基于规则的推理要人工构建吗?规则要有多少?彼此之间会不会冲突?
A:关于金融产品的推荐,其实美国已经有公司在做。我上次去参加推荐系统会议的时候,就有一家纽约的公司,做的事情有点类似于定向广告,就是它会根据用户之前的消费记录、投资记录,选择金融产品。
嘉宾简介周涵宁,现任Hulu北京研发中心推荐算法研发负责人,具有15年的研发创新和管理经验,专注于应用数据和算法实现产品落地,有丰富的数据分析和机器学习实践经验。