问题描述
在有限的device屏幕下,做下面各种冲突的平衡。
- accurate v.s. diverse;
- 推荐算法 v.s. 重定向策略(比如继续看、重看);
- 关注深度 v.s. 关注广度;
- 用户自身风格的延续 v.s. 帮助用户发现新的兴趣;
解决方法
传统方法
一般传统方法使用规则模版来实现。比如填坑法,什么坑放什么内容是模版定义的,每个坑里面具体放什么内容列表是由算法产生。但是,这样的做法会带来一个问题:不便于业务发展,比如UI改版没有什么依据,全凭个人主观论断。
机器方法
算法自动生成整个页面也可以分成两种,一种简单粗放,一种更加细致一些。
简单粗放的方法就是row-ranking,使用算法自动展示不同策略,一个个的排列起来,完成page生成。这种方法简单直接,但是可能会出现多样性问题。也就是将相似策略的结果一起都推荐给了用户。
更加细致一点地方法就是使用stage-wise方法来取代row-ranking。在选择策略时,需要考虑该策略和前后策略的相关性等。具体来说,可以使用贪心算法来进行简单处理:
- 定义一个明确的score function;
- 选择一个策略,使得该score function最大;
- 在选择一个策略,重新计算已有策略的score,使得score function最大;
- repeat 3直到策略足够。
另外,还可以使用机器学习的方法。机器学习方法的难点如下:
- 定义一个明确的score function;
- 如果克服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
网友评论