Recommendation System

新闻推荐,追逐卡戴珊的“屁股”

by 期望最大化(洪亮劼的专栏)

link http://column.hongliangjie.com/%E6%8E%A8%E8%8D%90%E7%B3%BB%E7%BB%9F/2016/04/23/news-recsys/

记者和编辑的抱怨

工程师和编辑之间的矛盾主要还是是价值观的差别。编辑,从 内容生产者(Producer) 的角度来思考问题,长期持有的态度是我想要用户看什么。特别是从比较强势的传统媒体培养起来的人,这样的观念尤为明显。在这样的价值观导向下,内容平台往往成为了某一些编辑的价值传输筒,因此选择的内容常常带有很强烈的主观色彩。工程师,则喜欢从用户想要看什么的角度入手,从 内容消费者(Consumer) 的角度来看问题,优化广大用户的体验。工程师更相信数据、相信代码,不喜欢价值观导向。乍一看,现代的内容推荐系统应该尽量避免编辑的干扰,从指标优化的角度来把内容推荐完全看成是工程问题,减少主观因素。

然而,现实中,这样做,对于一个推荐系统来说,可能有很差的实际效果。原因是这样的,现在用户喜欢的取决于你给用户之前看了什么,你没给用户看过的,用户因为不知道,所以没法给你反馈是否喜欢。这在之前的文章“个性化推荐是不是伪命题”和“论推荐系统的Exploitation和Exploration”中都有详细的阐述。核心思想,就是要有一个机制,使得 用户的现在喜好和系统的长期健康运行得到平衡 。这方面,编辑的作用就可以得到体现了。比如,一个新闻网站,娱乐新闻一定是最吸引眼球的。那么,是不是只给用户看这类的新闻呢?即便作为工程师和产品经理,你知道显示这类的新闻,访问量会长期爆表,但这可能对网站的长期发展是不利的(下面会提到一个问题)。于是,你就想 在牺牲流量的情况下,放一些其他的内容 。这时候,编辑就是最适合寻找或者原创这样内容的人选。实际上,编辑选择的内容,可以很好得融合到Exploitation & Exploration策略的Prior Knowledge里面,使得Exploration不至于过于“荒腔走板”。

编辑另一个很重要角色还在于 处理突发事件 的时候,比一个机器学习驱动的推荐系统要有效得多。在那个时候,数据中还没有很多的强信号,很难知道某个突发事件之后的流行程度。于是,编辑可以在第一时间,绕过现有的机器学习系统,为一些新闻的抢先报道,赢得时间。

用户群和格调的错位

当你开发了一款百万人亦或是千万人使用的新闻推荐系统之后,你一方面可能醉心于不断创新高的报表数据,另一方面,你可能会觉得推荐的文章充斥娱乐花边新闻庸俗不堪。有时候,作为产品经理,你甚至会对工程和算法团队产生深刻的质疑,希望产品“格调”能够有所提高。

前面一小节已经从战术层面来探讨了这种情况下如何协调编辑和工程师。那么,作为产品经理来说,战略上怎么办呢?这里面最关键的点,是 你产品的盈利模式所需要的人群和你产品目前的使用人群之间,究竟是否有错位 ,如果有,会不会是致命的。

个性化的重要性

比较常见的一个误区是,推荐系统通过学习用户行为能够 自动 对用户做个性化推荐。比如流行模型Latent Factor Model[1],或者Factorization Machine[3],虽然能够对用户进行推荐,但是 推荐结果很可能不是真正个性化的 。这里面的一个问题是,这些模型都是通过优化一个 平均情况 来学习模型参数的。也就是说,通常情况下,一个比较好的模型是能够“解释”大多数用户的行为,但不一定在某一些个别用户上有比较优异的表现。学习出来的模型往往是保住了“大部分”用户的准确度而牺牲了少部分用户。

当然,上面这个解释其实有可能是非常不对的。因为模型有可能是对用户交互数据进行建模, 而绝大多数的数据则可能是少部分用户产生了大部分数据 (一些用户“狂”点某一部分内容),于是模型倾向于过度解释这部分数据。而大多数用户并没有产生很多交互数据,于是模型就倾向于忽略这部分所可能产生的错误。所以,真实情况可能是,小部分人满意了,而大部分人被牺牲了。

Note

可以理解成按 uv 来衡量点击效果,而不是 pv 。

目前对于这方面的问题,学术圈和工业圈其实并没有比较标准的方案。去年NIPS Workshop中有一篇文章[2]谈论了一些探索。不过,依然,如何衡量一个系统已经充分个性化,如何真正学习个性化模型,还是有待于解决的问题。

参考文献

  1. Deepak Agarwal and Bee-Chung Chen. 2009. Regression-based latent factor models. In Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, New York, NY, USA, 19-28.
  2. Daniel Crankshaw, Xin Wang, Joseph Gonzalez and Michael Franklin. Scalable Training and Serving of Personalized Models. NIPS Workshop 2015.
  3. Steffen Rendle. Factorization Machines with libFM. ACM Transactions on Intelligent Systems and Technology (TIST) 3, 3, Article 57 (May 2012), 22 pages.