如何充分利用各种用户反馈信息,来提升推荐系统的性能?来自腾讯微信团队的谢若冰、凌程、王亚龙、王瑞、夏锋和林乐宇研究员对此进行了研究,并提出新的 Deep Feedback Network (DFN) 模型,性能相比基线取得显著提升。目前,该研究相关论文《Deep Feedback Network for Recommendation》已被 IJCAI-2020 会议接收。
在推荐系统中,用户的显式反馈、隐式反馈、正反馈和负反馈都能够反映用户对被推荐物品的偏好,这些反馈信息在推荐系统中十分有用。然而,现在的大规模深度推荐模型往往以点击为目标,只看重以用户点击行为为代表的隐式正反馈,而忽略了其它有效的用户反馈信息。腾讯微信的这项研究关注用户多种显式/隐式和正/负反馈信息,学习用户的无偏兴趣偏好。
具体而言,该研究团队提出了 Deep Feedback Network (DFN) 模型,综合使用用户的隐式正反馈(点击行为)、隐式负反馈(曝光但未点击的行为)以及显式负反馈(点击不感兴趣按钮行为)等信息。DFN 模型使用 internal feedback interaction component,来抓住用户行为序列中的细粒度行为级别交互,然后通过 external feedback interaction component,使用精确但稀少的隐式正反馈和显式负反馈作为监督,从噪音较多的隐式负反馈中进一步抽取用户的正负反馈信息。在实验中,研究人员基于微信看一看的数据,进行了丰富的离线和在线实验,模型性能与 baseline 相比取得显著提升。
一、模型背景与简介
推荐系统在日常生活中被广泛使用,为用户获取信息与娱乐提供了极大的便利。推荐系统算法往往基于用户与系统的交互,这些交互行为可以大致分为以下两类:显式反馈与隐式反馈。
- 显式反馈从用户对物品的直接态度中获取,例如评论中的一星到五星,或者微信看一看系统中的「不感兴趣」按钮。这类反馈能够直接表达用户的正向以及负向偏好,但是此类反馈的数量往往不多。
- 隐式反馈从用户的行为中间接获得,例如用户的点击/不点击行为。这些信息在推荐系统中往往是海量的,但是这些信息有着较多噪声(用户点击的并不一定是他真正喜欢的)。另外,隐式反馈通常是以正反馈的形式出现,推荐中的隐式负反馈存在巨大噪声(未展现信息或者未点击信息未必表示用户不喜欢这些内容)。
在近期的深度推荐系统中,CTR 导向的目标受到极大关注。因此,模型不可避免地只关注和目标紧密相关的用户点击行为,忽略了其它用户行为中蕴含的丰富信息。
仅考虑 CTR 导向目标的推荐模型往往会遇到以下两个问题:
(1)CTR 导向目标只关注用户喜欢什么,没有关注用户不喜欢什么。这样,模型的推荐结果容易同质化和趋热化,损害用户体验。因此,负反馈信息是必要的。
(2)用户除了被动地接受系统推荐的物品,有时也需要主动和即时的反馈机制。用户希望能够高效和准确地告知系统自己喜欢或者不喜欢什么。另外,用户的显式和隐式反馈之间也存在割裂(用户点击的并不一定是他真正喜欢的)。因此,显式反馈也是必要的。显式信息和隐式信息能够作为彼此的补充,相辅相成。
已有工作使用用户的未点击/未曝光行为作为隐式负反馈,这样会引入极大的噪声。另外一些工作尝试使用用户的显式负反馈信息。这些信息固然精确,但是也往往比较稀疏。
图 1:微信看一看系统中的三种反馈,从左到右分别为隐式正反馈(点击行为)、隐式负反馈(曝光但未点击的行为)以及显式负反馈(点击不感兴趣按钮行为)。
为了解决这些问题,综合使用用户多种显式/隐式和正/负反馈信息学习更好的无偏用户表示,该团队提出了 Deep Feedback Network (DFN) 模型。
图 1 给出了在微信看一看场景中的三种用户反馈。DFN 通过 internal feedback interaction component 抓住用户行为序列中的细粒度行为级别交互,然后通过 external feedback interaction component,使用精确但稀少的隐式正反馈和显式负反馈作为监督,从噪音较多的隐式负反馈中进一步抽取用户的正负反馈信息。这些反馈特征会和其他用户/物品特征混合,并行使用 FM、Deep 和 Wide 层进行特征交互,最后进行 CTR 预估。该研究团队基于微信看一看推荐系统,设计了离线和线上实验,在多个指标上出现显著提升。这篇工作的主要贡献如下:
- 首次融合隐式正反馈(点击行为)、隐式负反馈(曝光但未点击的行为)、显式负反馈(点击不感兴趣按钮行为)和它们之间的交互信息进行用户行为建模;
- 提出全新的 Deep Feedback Network (DFN) 模型,能够学习到用户的无偏兴趣偏好;
- 模型在离线和在线任务上的性能都得到了显著提升,具有工业级实用价值。论文也提出了一个 feed 流中的显式负反馈预测任务。
二、模型结构
DFN 模型主要分为三个阶段:
- 首先,deep feedback interaction module 以用户的多种反馈行为作为输入,输出用户的反馈特征。
- 然后,Feature Interaction Module 进一步考虑用户的其它特征和物品特征,使用 FM、Deep 和 Wide 层进行特征交互。
- 最后,输出层使用 CTR 作为训练目标。
图 2 给出了 DFN 的整体结构。
图 2:DFN 的整体结构。
deep feedback interaction module 是该模型的主要创新点。它包括两个组成部分:Internal Feedback Interaction Component 和 External Feedback Interaction Component。图 3 给出了 deep feedback interaction module 的结构。
图 3:deep feedback interaction module
首先,在 Internal Feedback Interaction Component 中,用户的隐式正反馈、隐式负反馈和显式负反馈序列和 target item 一起,通过一个 transformer 层,得到在各个序列内部细粒度的 item-level 交互信息。然后经过 average 层得到三种反馈的特征表示,其中隐式正反馈特征中蕴含高质量的用户正向偏好,显式负反馈特征中蕴含高质量的用户负向偏好。
第二步,在 External Feedback Interaction Component 中,隐式负反馈序列往往是三种行为中最多的行为,但也是噪声最大的行为。该研究把高质量的和 target item 交互后的隐式正反馈特征和显式负反馈特征看作一种高质量指导,从用户未点击序列中挖掘用户或许喜欢/不喜欢的物品,补充用户的正向负向偏好。研究人员使用一个 attention 层,得到两种用户弱正向/负向反馈特征。这两种弱反馈特征和第一步的三种反馈特征拼接后成为最终的用户反馈特征。
第三步,在 Feature Interaction Module 中,研究人员使用 FM、Wide 和 Deep 层,对用户其它特征、物品特征和用户反馈特征等进行低阶/高阶特征交互。这个模块是为了充分利用各种特征辅助推荐,使得模型在真实工业级任务上达到最好的效果。使用 Wide 层主要是为了给潜在的特征工程留下接口。
最后,研究人员基于 CTR loss 进行训练。除去传统的正例和未点击负例,该研究还增加了一项预测用户负反馈点击的 loss。由于在实际推荐系统中,用户给出主动显式负反馈的次数极少,显式负反馈中的负向信息也极其强烈,所以该研究单独在 loss 中强调了这一项,并且给予了较大的训练权重。
三、实验结果
离线和线上实验均在微信看一看上进行,离线数据集包含千万级用户在百万级物品上的亿级行为。模型离线 CTR 预估结果如图 4:
图 4:CTR 预估结果。
DFN 模型取得了 SOTA 结果。
研究者还通过图 5 给出了一个新的不感兴趣预估实验。由于用户点击不感兴趣按钮说明用户对于推荐结果很失望,这类推荐结果会极大损害用户体验,模型应该能够对这类反馈及时捕捉并响应,理想状态下应通过用户实时行为避免用户产生显式负反馈的结果。
图 5:dislike 预估结果。
该研究还进行了控制变量实验。证明反馈模块的每一个组成部分都是有效的。
图 6:控制变量实验结果。
最后,研究人员还给出了参数实验,探索不感兴趣 loss 的权重影响。
图 7:参数实验结果。
四、总结
在这篇论文中,作者初步研究了推荐系统中的多种显式/隐式和正/负反馈之间的协同合作机制。DFN 模型能够基于多种反馈信息即时学习用户的无偏正负向兴趣,在点击预估和不感兴趣预估等多个任务上均实现性能提升效果。直观而有效的模型也使得 DFN 能成功在工业级推荐系统中得到部署和验证。腾讯微信团队预测,用户的显式反馈特别是显式负反馈信息将会在未来推荐系统中起到更加重要的作用,在发掘推荐系统可解释性的同时提升用户体验。