作者 | 谢若冰
出品 | AI科技大本营(ID:rgznai100)
在推荐系统中,用户的显式反馈、隐式反馈、正反馈和负反馈都能够反映用户对于被推荐物品的偏好。这些反馈信息在推荐系统中十分有用。然而,现在的大规模深度推荐模型往往以点击为目标,只看重以用户点击行为为代表的隐式正反馈,而忽略了其它有效的用户反馈信息。
作者在本文中关注用户多种显式/隐式和正/负反馈信息,学习用户的无偏兴趣偏好。具体地,作者提出了一个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预估。
作者基于微信看一看推荐系统,设计了离线和线上实验,在多个指标上具有显著提升。这篇工作的主要贡献如下:
1、作者第一次融合隐式正反馈(点击行为)、隐式负反馈(曝光但未点击的行为)、显式负反馈(点击不感兴趣按钮行为)和它们之间的交互信息进行用户行为建模;
2、作者提出了一个全新的Deep Feedback Network (DFN)模型,能够学习到用户无偏的兴趣偏好;
3、模型在离线和在线任务上都得到了显著提升,具有工业级实用价值。论文中也提出了一个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能成功在工业级推荐系统中得到部署和验证。我们预测用户的显式反馈,特别是显式负反馈的信息将会未来推荐系统中起到更加重要的作用,在发掘推荐系统可解释性同时提升用户体验。
本文基于IJCAI-2020论文《Deep Feedback Network for Recommendation》,论文作者是来自腾讯微信的谢若冰、凌程、王亚龙、王瑞、夏锋和林乐宇研究员。
推荐阅读
我佛了!用KNN实现验证码识别,又 Get 到一招
潘石屹 Python 考试成绩 99 分,网友:还有一分怕你骄傲
平安科技王健宗:所有 AI 前沿技术,都可以在联邦学习中大展身手
踢翻这碗狗粮:程序员花 7 个月敲出 eBay,只因女票喜欢糖果盒
在 520 这天,竟然有人把 Docker讲清楚了? | 原力计划
斗地主吗?能学区块链那种! | 原力计划
你点的每个“在看”,我都认真当成了AI