Netflix's Page Generation Algotihm

问题描述

在有限的device屏幕下,做下面各种冲突的平衡。

  1. accurate v.s. diverse;
  2. 推荐算法 v.s. 重定向策略(比如继续看、重看);
  3. 关注深度 v.s. 关注广度;
  4. 用户自身风格的延续 v.s. 帮助用户发现新的兴趣;

解决方法

传统方法

一般传统方法使用规则模版来实现。比如填坑法,什么坑放什么内容是模版定义的,每个坑里面具体放什么内容列表是由算法产生。但是,这样的做法会带来一个问题:不便于业务发展,比如UI改版没有什么依据,全凭个人主观论断。

机器方法

算法自动生成整个页面也可以分成两种,一种简单粗放,一种更加细致一些。

简单粗放的方法就是row-ranking,使用算法自动展示不同策略,一个个的排列起来,完成page生成。这种方法简单直接,但是可能会出现多样性问题。也就是将相似策略的结果一起都推荐给了用户。

更加细致一点地方法就是使用stage-wise方法来取代row-ranking。在选择策略时,需要考虑该策略和前后策略的相关性等。具体来说,可以使用贪心算法来进行简单处理:

  1. 定义一个明确的score function;
  2. 选择一个策略,使得该score function最大;
  3. 在选择一个策略,重新计算已有策略的score,使得score function最大;
  4. repeat 3直到策略足够。

另外,还可以使用机器学习的方法。机器学习方法的难点如下:

  1. 定义一个明确的score function;
  2. 如果克服presentation bias的问题,注意这里不仅仅是position bias;

多样性机器学习算法且看下回分解,参考论文如下。
http://www.wsdm2009.org/papers/p5-agrawal.pdf

A/B实验的指标

定义Recall@m-by-n: 也就是m个策略,每个策略出n个结果的recall。

参考资料

Learning a Personalized Homepage: http://techblog.netflix.com/2015_04_01_archive.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容