Deep Feedback Network for Recommendation
Deep Feedback Network for Recommendation
- 一、论文背景
- 二、论文提出的问题
- 微信热门故事中的多个反馈示例
- 三、论文的方法与思想
- 四、论文DFN总体架构
- 4.1 **深度反馈交互模块**(Deep feedback interaction)
- 内部反馈交互组件: 三层transformer
- 外部反馈交互组件:两个重要注意力
- 4.2 **特征交互模块**(Feature interaction module)
- 五、论文模型的优化
- 六、实验部分
- 6.1 CTR预测
- 6.2 Dislike预测
- 七、总结
一、论文背景
该论文是腾讯在2020年的IJCAI会议上发表的关于推荐系统的一篇文章。我们先来了解下该论文产生的背景及要解决的问题。
目前许多个性化的推荐系统,都具有用户-项目交互功能。此类信息信号可分为两类,即显性反馈和隐性反馈。
显性反馈:明确的反馈来自用户对商品的直接意见(例如星级或喜欢/不喜欢),它可以精确地指示用户的真实偏好,而收集此类反馈则颇具挑战。
隐式反馈:主要来自暗示间接意见(例如,单击或不单击)的用户行为。在现实世界中的推荐系统中,从大量用户行为中收集这种隐式反馈要容易得多。
二、论文提出的问题
最近,推荐系统通常将个性化推荐视为点击率(CTR)预测任务,因此,大多数推荐算法主要集中在隐式积极反馈(例如点击)上,这些模型直接通过点击行为和以点击率为导向的目标进行了优化,因此不可避免地会导致以下问题:
1、面向点击率的目标通常集中在用户喜欢的内容上,而忽略用户不喜欢的内容。仅仅依靠这些隐式的积极反馈将使模型倾向于提供同质和近视的结果,最终将损害用户体验;
2、除了被动接收模型选择的信息之外,用户还需要有效的反馈机制来主动与推荐系统进行交互;
3、用户的隐式反馈和他们的真实偏好之间也存在差距(点击并不总是意味着喜欢)
因此,也有研究共同考虑了显式和隐式反馈,但它们将隐性负反馈(不点击)完全看做是反应用户的厌恶。这是不正确的,因为:不点击并不一定表示不喜欢
为此:本文得出结论
多个显式/隐式和正面/负面反馈可以相互补充,并可以在推荐中更好地反映用户的偏爱偏好。
针对隐性负反馈(不点击),本身存在丰富嘈杂的噪声,要进行更加细致的分析。
微信热门故事中的多个反馈示例
如图所示,形象地描述了各种反馈的具体行为:
(1)隐式正反馈(即,点击)
(2)隐式负反馈(即,向下滑动,不点击)
(3)显式负反馈(即,不喜欢)
这里没有考虑到显示正反馈,是因为,显示正反馈是100%可以标注用户喜欢对于项目的,而且数量较少,无需进行系统预估。
三、论文的方法与思想
方法:旨在共同考虑多个显式/隐式和正面/负面反馈,以了解用户对推荐的偏爱偏好。
具体:在真实世界的推荐系统上执行DNF模型,并收集有关用户历史行为的三种类型的反馈:
1.隐式正反馈:点击行为,数量和质量都较好。序列{c1,,cn1}
2.显式负反馈:不喜欢反馈行为,高质量但数量很少。序列:{d1,,dn2}。
3.隐式负反馈:未点击行为,数量极大而存在大量的噪声,质量差。序列{u1,···,un3}
DFN尝试使用高质量的点击(1)和不喜欢的行为(2)作为指导者,以从未单击的行为(3)中提取有用的信息。
四、论文DFN总体架构
如图所示,深度反馈网络主要由两个模块组成,即深度反馈交互模块(Deep feedback interaction)和特征交互模块(Feature interaction module)。注:other features (如:用户个人资料、项目特征和推荐上下文),multiple feedbacks(多个反馈行为序列)
4.1 深度反馈交互模块(Deep feedback interaction)
其中:
t :行为针对目标项目
序列{c1,,cn1} :隐式正反馈(点击行为)
序列{u1,···,un3}:隐式负反馈(未点击,直接向下划过)
序列:{d1,,dn2}:显式负反馈(直接×掉行为,表示不喜欢)
内部反馈交互组件: 三层transformer
Google 机器翻译团队提出的一种新的简单网络架构,它完全基于注意力机制,完全消除了重复和卷积。在机器翻译任务上取得了很不错的效果。这里不细讲,详情请见(Attention Is All You Need,NIPS 2017)
这里讲下使用transformer的作用:
捕捉目标项目(t)与特定类型的反馈(三个反馈序列)之间的相互作用(不同语义空间)
通过内部反馈交互组件可得:
1.隐式正反馈(点击序列)特征fc
2.隐式负反馈(未点击序列)特征fu
3.显式负反馈(不喜欢序列)特征fd
总结:内部反馈交互组件很好地捕获了每种反馈序列类型中目标项目与行为之间的行为级交互。它可以为用户提供与目标项目相关的正面和负面偏好
外部反馈交互组件:两个重要注意力
4.2 特征交互模块(Feature interaction module)
该模块就是点击率预估模型中常见的三个特征阶段:初始一阶线性特征、二阶交互特征和高阶交互特征。
五、论文模型的优化
六、实验部分
数据集来源:从真实的推荐系统微信热门故事构建了一个新的数据集MultiFeed
6.1 CTR预测
6.2 Dislike预测
七、总结
本文的创新点:
1.在以前只关注隐式积极反馈(例如点击)上的基础上,同时考虑了其它的显式/隐式和正/负反馈行为,比如:不喜欢(显示正反馈)和未点击隐式负反馈
2.构造了深度反馈交互模块,更好的学习到了用户的偏好特征。
Deep Feedback Network for Recommendation相关推荐
- 推荐系统遇上深度学习(三) Deep Feedback Network for Recommendation(草稿)
今天分享一篇微信在IJCAI-20发表的推荐论文<Deep Feedback Network for Recommendation> #摘要 在推荐系统中,用户的显式反馈.隐式反馈.正反馈 ...
- Deep Feedback Network for Recommendation用于推荐系统的深度反馈网络
整篇文章与传统的推荐算法模型做了相应的对比, 对传统算法而言, 这篇文章将所有的信息反馈做了细致的划分: 隐式积极反馈/隐式消极反馈 显示积极反馈/显示消极反馈, 隐式反馈与显示反馈的区别在 ...
- DKN: Deep Knowledge-Aware Network for News Recommendation简析
DKN: Deep Knowledge-Aware Network for News Recommendation 介绍 现存的关于新闻的推荐都没有完全利用知识层面的联系,因此作者提出DKN,利用KC ...
- 推荐系统论文:DKN Deep Knowledge-Aware Network for News Recommendation
推荐系统论文:DKN Deep Knowledge-Aware Network for News Recommendation 概述 模型实现 概述 这是一篇结合了知识的推荐系统. 本质上是对新闻标题 ...
- DKN: Deep Knowledge-Aware Network for News Recommendation阅读笔记
这篇论文发表在2018年的WWW上.引入知识来进行新闻推荐. 关键词:News recommendation; knowledge graph representation; deep neural ...
- DKN: Deep Knowledge-Aware Network for News Recommendation
"DKN: Deep Knowledge-Aware Network for News Recommendation" DKN:用于新闻推荐的深度知识感知网络 Abstract D ...
- 《DKN: Deep Knowledge-Aware Network for News Recommendation》知识图谱与推荐系统结合之DKN
转自:https://cloud.tencent.com/developer/article/1095691 [导读]传统的新闻推荐算法仅仅从语义层对新闻进行表示学习,而忽略了新闻本身包含的知识层面的 ...
- Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)
注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...
- 论文:DKN:Deep Knowledge-Aware Network for News Recommendatio
DKN:Deep Knowledge-Aware Network for News Recommendation 描述 ABSTRACT KEYWORDS INTRODUCTION PRELIMINA ...
最新文章
- Visual Studio 2010 多定向的支持
- Java面试参考指南——同步
- 实现视频和音频的零延迟是标准的零和博弈
- pv实现前趋图_Excel 数据透视图实现简易交互式数据面板
- jetty java heap space_JFinal + HTTL + jdk1.7 启动服务内存溢出,Java heap space 但jdk1.6正常...
- win7下部署docker教程(三步搞定)
- [ZT]软件质量属性
- 1+X云计算平台运维与开发认证(初级)样卷C
- atmega168p与328p_atmega328P 写入 Boot Loader的那点事 之 互相伤害
- 【UWA 学堂】部分渲染课程的调价通知
- android dff播放器,无损音乐解码播放器
- 现在90后程序员有必要考证吗?
- easyui事件方法onChange()、onSelect()、 onLoadSuccess()
- 国内wifi用不了谷歌_如何使用Google Wifi阻止不适当的网站
- PHP在线运行,在线编译
- 智慧城市建设带给安防企业的机遇与挑战
- gitea配置邮件服务
- 【Bulldog】靶场记录
- /tmp/ccAceHhY.o: In function `main': main.c:(.text+0xc7): undefined reference to `dlopen' main.c:
- 删除带头结点的单链表的奇数结点
热门文章
- MAP-Mean Average Precision 平均精度均值
- 河南郑州计算机二级报名时间,2021年3月郑州市计算机二级报名时间|网上报名入口【已开通】...
- pandas中的 loc的使用(pandas.DataFrame.loc)
- 在ppt中插入背景音乐的技巧
- c语言逻辑代数常用公式证明,《数据结构C语言版》严蔚敏第二章逻辑代数基础...
- 软件设计模式之中介者模式实验
- A股复利,ASKING封神心路
- bmi编程python_Python中计算BMI的有效程序设计
- 网络中的计算机显示不全,查看工作组计算机时计算机显示不全
- 如何复制另一个PCB到当前的PCB中