重磅推荐 | Hulu是如何提升推荐多样性的?

在今天的推送中,我们荣幸地请到了全能专业的Laming来为大家介绍“如何提升推荐多样性”的相关议题。Hulu 提出的用于提升推荐多样性的原创性工作收录于今年的 NIPS (2018 Conference on Neural Information Processing Systems),这篇文章基于此背景下创作。NIPS 是机器学习领域的*会议,今年一共收到创纪录的 4856 篇稿件,其中 1011 篇得到录用,录用率约为 20.8%。我们试图不用任何公式来描述这篇论文的核心思想和结果;若想知道更多的技术细节,请查阅参考文献中的原文。

干货丰富,划重点来学习啦????

重磅推荐 | Hulu是如何提升推荐多样性的?

重磅推荐 | Hulu是如何提升推荐多样性的?

Hulu 是如何提升推荐多样性的?

重磅推荐 | Hulu是如何提升推荐多样性的?

在 Hulu,用户能够观看的视频内容高达百万量级,这使得利用推荐系统将用户感兴趣的内容及时推荐给用户成为极为重要的课题。一直以来,推荐系统关注的主要是准确性指标,例如预测用户给内容的打分,或者是用户点击或观看内容的概率等。Hulu 在 ICML 2016 上发表的论文 [1] 在 Netflix Prize 等推荐领域的数据集上取得了当时最好的准确性指标。

在实际应用中,推荐系统呈现给用户的往往是一个列表,只关注准确性指标往往会导致该列表中的内容过于相似。例如,一个新用户观看了《哈利波特 1》,若只关注准确性,则推荐的内容列表中,排名最高的几个很可能都是哈利波特系列的其它电影,过于单一。更好的推荐列表可能还包含相同类型、相同演员、相同导演的内容等,如图 1 所示。

重磅推荐 | Hulu是如何提升推荐多样性的?

重磅推荐 | Hulu是如何提升推荐多样性的?

重磅推荐 | Hulu是如何提升推荐多样性的?

重磅推荐 | Hulu是如何提升推荐多样性的?

重磅推荐 | Hulu是如何提升推荐多样性的?

重磅推荐 | Hulu是如何提升推荐多样性的?

图 1:(上)只考虑准确性指标的推荐结果

(下)多样性更高的推荐结果

推荐系统的多样性指标刻画了一个推荐列表中内容不相似的程度。通过推荐多样性更高的内容,既能够给用户更多的机会去发现新内容,也能够让推荐系统更容易发现用户潜在的兴趣。但需要注意的是,提升多样性的代价往往是准确性的降低,因此如何更好地平衡准确性和多样性仍然是当前的一个挑战。

我们采用 DPP (determinantal point process) 来提升推荐结果的多样性。早在 1975 年,DPP 被称为“费米子过程”,它能够刻画费米子系统在热平衡时的分布。根据“泡利不相容原理”,不能有两个或两个以上的粒子处于完全相同的状态,因此 DPP 非常适合刻画若干内容之间的排斥现象。近几年来,DPP 也被应用于一些机器学习任务,例如文档摘要、图像搜索等。

在 DPP 中,每个内容被两个变量所刻画:相关性及 embedding 向量,其中相关性刻画了用户对于该内容的喜好程度,embedding 向量能够刻画内容之间的相似性。综合这两个量,每个内容的表征向量是相关性和 embedding 向量的乘积。对任意的内容集合,DPP 都会赋予它一个概率,这个概率正比于该集合的表征向量所张成的多面体的体积的平方。因此,内容越相关、内容之间的相似性越低,它们张成的体积就越大,出现的概率就越高。由此可以看出,DPP能够以一种内化于自然的方式完成准确性与多样性双重指标的平衡兼备。

为了得到最终的推荐结果,除了需要知道每个内容的相关性和 embedding 向量以外,我们还需要一个能够得到概率最高的内容集合的算法,从而将该集合推荐给用户。很遗憾,该问题已经被证明是 NP-hard,当前缺乏多项式时间复杂度的精确算法。一个常用的近似解法是贪婪算法,它每次往已选集合中添加一个内容,使得添加后的集合概率最大。该算法实际的近似性能很好,但是运行效率低——每次计算一个集合的概率都需要计算一个矩阵的行列式(这也是 DPP 中 D 的由来),这使得该算法难以被直接应用于在线推荐系统中。

为了解决该问题,我们充分利用贪婪算法的特性,采用增量更新的方式来计算往已选集合中添加一个内容后概率的变化量,从而实现了以极低的计算复杂度求得推荐结果的算法,这是我们录用于 NIPS 2018 的论文 [2] 的主要创新点。我们仿真比较了经典 Baseline 算法 (Lazy,黑色)、发表在 ICML 2017 上的近似算法 [3] (ApX,蓝色星) 和我们提出的算法 [2] (FaX,红色圆) 的运行效率和结果概率这两个指标,结果如图 2 所示。结果表明,ICML 2017 的近似算法相比 Baseline 算法快了 3-5 倍,但结果的概率有略微的减小;而我们的算法相比 Baseline 算法快了 100 倍左右,且结果的概率没有任何损失。

重磅推荐 | Hulu是如何提升推荐多样性的?

图 2

从 M 个内容中选择 N 个内容,不同算法的运行效率和结果概率比较

(左)N = 1000;(右)M = 6000

该算法已经集成到 Hulu 的在线推荐系统中,若干轮的 A/B 测试均表现出更好的推荐指标。除此之外,我们提出的算法也能应用于使用 DPP 的其它机器学习任务中。

【参考文献】:

[1] Yin Zheng, Bangsheng Tang, Wenkui Ding, and Hanning Zhou. "A Neural Autoregressive Approach to Collaborative Filtering." In International Conference on Machine Learning, pp. 764-773. 2016.

[2] Laming Chen, Guoxin Zhang, and Hanning Zhou. "Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity." accepted in Advances in Neural Information Processing Systems (arXiv preprint arXiv:1709.05135). 2018.

[3] Insu Han, Prabhanjan Kambadur, Kyoungsoo Park, and Jinwoo Shin. "Faster Greedy MAP Inference for Determinantal Point Processes." In International Conference on Machine Learning, pp. 1384-1393. 2017.

重磅推荐 | Hulu是如何提升推荐多样性的?

想要了解更多的前沿知识吗?

一键关注直达Hulu

和更多的葫芦娃一起发现技术之美吧????

重磅推荐 | Hulu是如何提升推荐多样性的?