PIE介绍

Reading time ~1 minute

meta在《PIE: Personalized Interest Exploration for Large-Scale Recommender Systems》中提出了用户个性化探索框架(PIE):

3.问题

为了准确解决问题,推荐系统模型通常依赖数据。然而,如果没有数据,这些系统在发现新兴趣或逃离局部最小值的能力上会受限。例如,如果一个特定用户对篮球视频感兴趣,但从未曝光过这样的内容,因为机器学习系统没有训练数据来学习这种情况。换句话说,我们可能不会知道用户的所有不同兴趣。另外,用户兴趣可以随时间变更,以反映最近趋势或新闻事件。因此,对于推荐系统来说,系统地探索多种内容是一种非常重要的能力,以便提供相关推荐服务给用户。

图片名称

图1 用户兴趣的探索(Exploration),会更好最大化推荐系统提供的价值

仅仅只利用(exploiting)用户的过往理解,会产生重复内容,从而错过许多其它用户兴趣。我们希望探索其它更少关注的主题(topics),以便我们可以发现更多的兴趣,或者引入新用户给我认识。该探索(exploration)需要高效、有效、并于可以与利用策略(exploitation strategy)进行最优权衡。

4.系统设计

我们在推荐系统的顶层设计了 exploration系统。图2的蓝色路径展示了所有主要组件。该exploration系统只有在blending pass时会与已存在的推荐系统相交互,在最终提供服务给用户之前,在ranking后最好的exploration videos会与non-exploration videos进行混合。相同的设计可以很容易地被应用到任意已存在的推荐系统中。

图片名称

图2 在已存在推荐系统的ranking框架中包含个性化探索(personalized exploration)

4.1 个性化的探索空间(Personalized Exploration Space)

探索在每个user与每个内容间的喜好程度是很难穷举的(exhaustive)。作为替代,我们尝试学习在每个user与每个属性间的喜好,它是一个更小的集合。本文主要关注学习user-creator间的连接(connections)。

图片名称

图3 从user-content移向user-attribute-content

我们使用PPR( Personalized PageRank)算法来创建了user-creator间的喜好。PPR是一个基于graph learning的随机游走,它会基于engagement数据来学习entity-entity相似度。对比起基于算法的CF,PPR的优点是可以利用多跳信息,因此允许更多的探索。另外,PPR对于那些具有较低先验参与度的creators很友好。

我们的方法如下描述。

  • 首先,我们创建一个基于users和creators间的bi-graph作为source和target,反之亦然。
  • 接着基于在过往一些天的user engagement来分配权重给edges。
  • 接着,运行一个个性化的creator rank算法,并过滤掉那些是creators的nodes。通过这一步,对于一个给定creator,我们可以获得相似creators的一个集合。
  • 现在,我们会采用与creators的用户交叉,并使用最后一步的output来聚合top-k creators。在设计上,这些creators对用户来说是新的,并且能非常好地拟合exploration use case。

为了高效提升exploration,我们在creator level添加了两个filters:

  • Novelty Filter:会移除那些用户之前交互过的creators,确保exploration system只捕获用户的新兴趣;
  • Quality Filter:会移除低质量creators,比如那些具有Watchbait内容的creators、或者在aggregated level上通过exploration具有较低engagement的creators。

4.2 在线探索(Online Exploration)

user exploration的目标是:通过推荐新的creators给用户来减少不确定性。通过从一个高基数选项开始,并朝着一个被认为是“过期(expired)”或“连接(connected)”的新creator的state收敛。其中,存在与该过程相关的机会开销,用户会潜在受益于符合它们品味的更多样推荐。

为一个用户探索创建的空间的过程,可以被公式化成一个online bandit问题

  • 一个简单的解决方案可以是Thompson sampling
  • 另一个更refined的解决方法是contextual bandit,其中:user、creator以及interaction features会被考虑上。

为了保持简单,我们这里仍使用Thompson sampling。每次要呈现一个exploratory video时,目标是最大化基于过往context和actions的cumulative reward。我们使用Thompson sampling来发现creators,并且接着选择来自selected creator的视频。我们将reward定义为来自该creator的视频消费数(engaged),其余的(rests)则认为是failures。 Rewards和rests会被用于计算在Thompson sampling中参数\(\alpha\)和\(\beta\)。该exploration会发生在user level上。

图片名称

图4 (左)random sampling vs. (右)Thompson sampling. sampling creators分布随时间演进

4.3 在explore/exploit间的平衡分发

在一个point-wise ranking推荐系统中,引入exploratory内容是挑战性的,因为不确定的预估通常会被一个well-optimized ranker打分偏低。我们在推荐系统中构建了一个特别的分发系统(specialized delivery system),以一个受控的方式来引入不确定性(uncertainty)。

Exploration Composition

我们使用一个概率融合层(probabilistic blending layer),它会考虑在用户当前session中exploration的组成,并插入(slot)一个exploration video来强制一个预先决定的组成。

5.实验

5.1 setup

为了测试我们提出的方法,我们在Facebook Watch上执行一个在线实验。受[3]的启发,我们根据两个条件将用户分成4组。

  • 条件 1: 是否提供exploration内容给用户。对于获得exploration内容的用户,我们会依赖blending pass来控制exploration videos的曝光接近6%。
  • 条件 2: 推荐系统是否使用exploration data进行训练。两个推荐模型,model A和model B,会使用相同的结构和features进行训练。我们会移除来自模型A的training set通过exploration收集到的数据。为了做出一个公平对比,一个特定量的non-exploration data会从模型B的训练集中随机移除,以便模型A和模型B具有相同size的training set。

上面的表1展示了4个分组的条件组合。

5.2 Metrics

当它开始理解video exploration的价值时,大挑战之一是寻找合适的metrics。像watch time这类常用metrics会临时恶化,因为exploration会利用机会开销来展示一些具有更高不确定性的内容。再者,我们相信,exploration会取出局部最大值,到一个全局最优解,它在engagement metrics上没有short-term regression是不可能的。

exploration的一个主要目标是:发现在users和未知content偏好间的有意义连接,我们定义了一个metrics集合作为这些连接的代理(proxies)。

Strong Creator Connection (SCC)

当一个user对于一个特定creator、在M天的一个窗口内、具有至少N个engagement事件,会生成SCC。对于偏好或内容,我们使用creators作为我们的proxy,对于creators通常会发布一个具有genre, tone, theme的内容等。在短期内,SCC足够敏感,来反映在users和creators间构建的连接。在long run中,我们已经看到在SCC和user engagement间的一个高相关性(见图5)。

图片名称

图5

Strong Creator Connection-Daily Active User (SCC DAU)

该metric会统计那天些具有non-zero SCC metric的用户数目。该指标的增加,会表示更多用户已经构建了强的creator connection。

Novel Strong Creator Connection (Novel SCC)

新的SCC会被成:在一个user和一个creator间形成的strong creators connections,该用户在过去P天没有engagement。对比起SCC,新SCC会进一步从non-exploration中切出exploration的影响。它也会帮助measure在用户兴趣中的long-term shift。

6.结果

我们做了4周的A/B testing,在Facebook Watch中使用exploration framework对用户的videos进行rank。该test results会展示:exploration会导致在整体和新strong creator connections同时胜出。

User Exploration Value

第4组 vs. 第1组展示了将exploration引入到推荐系统中的网络影响。它是一个关于用户获得exploration内容、和exploration信息的feedback的组合影响。我们观察到:在SCC上有3.5%的增长,在SCC DAU上有0.26%增长,在Novel SCC上有0.85%增长。在用户视频消费、日留存、周留存上没有统计显著的影响。图6展示了SCC在周期上的gains。

图片名称

图6

System Exploration Value

由于第3组、第1组会提供exploration content,在第3组和第1组间的对比只影响exploration data的好处。我们看到在engagement中有一个0.28%提升,在SCC metrics上不会有统计显著变化。

Strict Exploration Value

第2组 vs. 第1组展示了在没有,添加一个feedback loop时(使用来自exploration收集的信息来提升推荐模gajf ),exploration content给用户的影响。它会measures网络的机会开销,并展示更多不确定的exploration content,来替代那些来自推荐系统推出的视频。我们看到,一个engagement regression有0.53%。另一方面,serving exploration content会生成一个0.55%会增加SCC。

兴趣分布

为了可视化在user engagement上exploration的影响,我们会分别为每个subtopic计算user engagement,并绘制在图7中的histogram。x轴表示在log scale中的impressions和engagement, y轴表示在那个bucket中的subtopics数目。有exploration(test组)和无exploration(control组)的结会被绘制。左图展示了:在test group中,大多数subtopics会具有在4边上的log impressions,而在control组中,不同subtopics接受到的impressions会各有不同。换句话说,我们可以通过exploration将兴趣曝光分布漂移至一个更平衡的曲线。相似的,右图中,在engagement分布中的漂移表示:相关和新兴趣可以在 engagement-interest分布上进行平衡。

图片名称

图7

Netflix关于cosine相似度的讨论

Netflix团队发了篇paper《Is Cosine-Similarity of Embeddings Really About Similarity?》,对cosine相似度做了相应的研究。# 摘要余弦相似度(cosine similarity)是指两个向量间夹角的余弦...… Continue reading

Meta AdaTT介绍

Published on January 02, 2024

SATrans介绍

Published on December 02, 2023