Leveraging Post-click Feedback for Content Recommendations

Authors: Hongyi Wen, Longqi Yang, Deborah Estrin

Recsys'19 Cornell University

论文链接:https://dl.acm.org/doi/pdf/10.1145/3298689.3347037

本文链接:https://www.cnblogs.com/zihaojun/p/15708632.html


0. 总结

这篇文章证明了在推荐系统中,将用户点击之后没有看完的物品作为负样本的一部分参与训练是有效的。

1.研究目标

利用用户在点击之后的反馈数据,来解决点击数据中的噪声问题,提高推荐系统的性能。

  • 例如,用户观看视频或听音乐的时长,可以反映用户看到物品之后是否真正喜欢。

2.问题背景

在构建推荐系统时,通常会选用隐式反馈数据作为训练数据,但隐式反馈数据的正样本不一定都是用户喜欢的物品。例如,用户点击了一个物品,这只能反映用户对这个物品的第一印象比较好,用户在浏览之后可能并不喜欢这个物品。

3.分析点击之后的反馈信息

数据集:

  • Spotify:在线音乐数据集,包含上亿的听歌会话,每个会话包含最多二十首歌,记录了用户跳过还是听完了每首歌,跳过与否是根据挑战赛组委会设定的播放阈值。随机选择了九百万会话进行分析。
  • ByteDance:用户与短视频(10秒)的交互记录,包含是否完播。选取了13 million的数据。

3.1 反馈信息的特点

点击之后的用户反馈在很多场景中都存在,这种反馈可能是显式的(评分),也可能是隐式的(观看时长)。在上述两个数据集中,音乐和短视频场景下,分别有51%和56%的交互是点击之后被跳过的。也就是说,超过半数的交互是点击之后用户并不满意的。

具体到每个物品和每个用户的完播比例,如Figure 1所示,两个数据集上面,左边一列(用户跳过比例)的分布不同,可能是因为音乐和视频的使用场景不同,音乐被跳过会更加随机。

作者还观察到,越冷门的物品,被跳过的比例越。这可能是物品质量导致的。

3.2 点击和反馈信息

用点击数据作为训练集,分别在常规测试集和兴趣测试集上进行性能测试,研究模型对点击行为和对完播行为的推荐精度差别。

  • 常规测试集是指,将所有物品作为候选集,将测试阶段点击物品作为正样本。
  • 兴趣测试集是指,将测试阶段的点击样本作为候选列表,将完播数据作为正样本(看能不能把完播排在跳过前面)。

最后得出结论,模型对点击行为的预测能力远高于对完播行为的预测能力。

这一段实验设计有问题,详见Weakness部分

\[\begin{array}{cccccc}
\hline \text { Dataset } & \text { # of users } & \text { # of items } & \text { # of records } & \text { Density } & \text { Percentage of skips % } \\
\hline \text { Spotify } & 229,792 & 100,586 & 4,090,895 & 0.018 \% & 51.05 \% \\
\text { ByteDance } & 37,043 & 271,259 & 9,391,103 & 0.093 \% & 55.13 \% \\
\hline
\end{array}
\]

4.方法

方法是比较简单的,虽然写的很复杂。

总体思路就是把用户跳过的样本(skip)也当做负样本。

4.1 Pointwise Loss

\(O_P\)表示用户未跳过的交互,\(O_N\)表示用户跳过的交互,\(O_M\)表示用户未交互的物品。

\[\arg \min _{x^{*} y^{*}} \alpha \sum_{(u, i) \in O_{P}}\left(1-\hat{p}_{u i}\right)^{2}+\beta \sum_{(u, i) \in O_{N}} \hat{p}_{u i}^{2}+\gamma \sum_{(u, i) \in O_{M}} \hat{p}_{u i}^{2}
\]

其实就是把跳过的物品当做负样本,并且加个权重。

4.2 Pairwise Loss

\(O_P\)中,i表示没跳过的物品,j表示跳过的物品。

\(O_N\)中,i表示没跳过的物品,j没交互过的物品。

\[\arg \max _{\theta} \alpha \sum_{(u, i, j) \in O_{P}} \ln \sigma\left(\hat{p}_{u i j}\right)+\beta \sum_{(u, i, j) \in O_{N}} \ln \sigma\left(\hat{p}_{u i j}\right)
\]

注意论文中把第二项的ij反了过来(增加一点复杂度),其实没有必要。

当\(\beta = 0\)时,模型只利用没有跳过的交互作为正样本,而没有利用跳过的样本,称为BL。

当\(\beta \not = 0\)时,模型称为-NR。

5.实验结果

实验结果表明,将跳过的样本作为负样本(NR)是有效的,且直接将这些样本从正样本集中去除(BL)也是有效的

可以借鉴的地方

  • 3.1的分析方法
  • 数据集 Spotify[1]

Weakness

  • 3.2的分析不合理

    • 两种测试任务的难度是不同的,常规测试任务的负样本很简单,但是兴趣测试任务是很难的,因此直接比较两种设置下的AUC绝对值是不合理的。
    • 比较合理的实验设置应该是保持测试方法一致,修改训练集数据,用(跳过+完播)和(完播)两种训练方式,看测试效果有什么不同。(看到后面才发现,这已经是论文主实验了)
  • 有错词,例如5.2部分第三个单词purposed,应为proposed。

  • 符号不一致,5.1部分使用的符号\(\lambda_p\)和\(\lambda_n\)在前文并没有提到。

  • [29]和[30]两篇引用是同一篇

进一步阅读

[15] Hongyu Lu, Min Zhang, and Shaoping Ma. 2018. Between Clicks and Satisfaction: Study on Multi-Phase User Preferences and Satisfaction for Online News Reading. In The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. ACM, 435–444.

[34] Qian Zhao, F Maxwell Harper, Gediminas Adomavicius, and Joseph A Konstan. 2018. Explicit or implicit feedback? engagement or satisfaction?: a feld experiment on machine-learning-based recommender systems. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing. ACM, 1331–1340.

[5] Yifan Hu, Yehuda Koren, and Chris Volinsky. 2008. Collaborative fltering for implicit feedback datasets. In Eighth IEEE International Conference on Data Mining (ICDM’08). IEEE, 263–272.

[8] Youngho Kim, Ahmed Hassan, Ryen W White, and Imed Zitouni. 2014. Modeling dwell time to predict click-level satisfaction. In Proceedings of the 7th ACM international conference on Web search and data mining. ACM, 193–202.

[11] Mounia Lalmas, Janette Lehmann, Guy Shaked, Fabrizio Silvestri, and Gabriele Tolomei. 2015. Promoting positive post-click experience for in-stream yahoo gemini users. In Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 1929–1938.

【论文笔记】Leveraging Post-click Feedback for Content Recommendations的更多相关文章

  1. 【论文笔记】 Denoising Implicit Feedback for Recommendation

    Denoising Implicit Feedback for Recommendation Authors: 王文杰,冯福利,何向南,聂礼强,蔡达成 WSDM'21 新加坡国立大学,中国科学技术大学 ...

  2. 【论文笔记】用反事实推断方法缓解标题党内容对推荐系统的影响 Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue

    Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue Authors: 王文杰,冯福利 ...

  3. 【论文笔记】SamWalker: Social Recommendation with Informative Sampling Strategy

    SamWalker: Social Recommendation with Informative Sampling Strategy Authors: Jiawei Chen, Can Wang, ...

  4. Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记

    Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记 ECCV 2 ...

  5. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  6. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  7. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  8. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  9. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

随机推荐

  1. flutter第一课

    网上搜到有一个8小时体验flutter的教程,感觉可以尝试一个hello world出来:https://www.jianshu.com/p/9aaabc60d8af 官网下载很慢,可以使用镜像下载, ...

  2. k8s-数据持久化存储卷,nfs,pv/pvc

    目录 数据持久化-储存卷 官方文档 存储卷类型 1.emptyDir 2.hostpath 3.pv/pvc(推荐使用) nfs官方文档 安装测试nfs pv/pvc管理nfs 官方文档 pv/pvc ...

  3. 整理记录一些好用的随机图API

    最近自己博客使用的随机图API有些不稳定,自己又去搜集了一些有意思的随机图API,这里做一个整理记录 注意!!!本文链接最后测试时间----2021年11月21日 主题作者Tagaki的API(有时候 ...

  4. python故障

    问题: ImportError: No module named dns.resolver 解决: 通过包管理工具pip安装dnspython pip install dnspython

  5. LightningChart JS v.3.3.0全新版本现已发布!

    LightningChart JS v.3.3.0已经发布啦!!! 欢迎了解更多关于最新的性能改进.新的用户界面功能和新的图表类型的信息! WebGL兼容性和新的UI功能 WebGL是Lightnin ...

  6. hadoop运行jar包报错

    执行命令:[root@hadoop102 mapreduce]# hadoop jar mapreduce2_maven.jar Filter 错误信息:Exception in thread &qu ...

  7. 对于vue项目更新迭代导致上传至服务器后出现Loading chunk {n} failed和Unexpected token <的解决方式

    相信大家对于vue项目的维护与更新中会遇见很多问题,其中有两种情况最为常见. 一种是Loading chunk {n} failed,这种情况出现的原因是vue页面更新上传至服务器后,由于vue默认打 ...

  8. 【PS算法理论探讨一】 Photoshop中两个32位图像混合的计算公式(含不透明度和图层混合模式)。

    大家可以在网上搜索相关的主题啊,你可以搜索到一堆,不过似乎没有那一个讲的很全面,我这里抽空整理和测试一下数据,分享给大家. 我们假定有2个32位的图层,图层BG和图层FG,其中图层BG是背景层(位于下 ...

  9. 零基础学习java------38---------spring中关于通知类型的补充,springmvc,springmvc入门程序,访问保护资源,参数的绑定(简单数据类型,POJO,包装类),返回数据类型,三大组件,注解

    一. 通知类型 spring aop通知(advice)分成五类: (1)前置通知[Before advice]:在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常. (2)正常返回通知 ...

  10. [PE结构]导出表结构浅析

    导出函数的总数-->以导出函数序号最大的减最小的+1,但导出函数序号是可自定义的,所以NumbersOfFunctions是不准确的 1.根据函数名称找,函数名称表->对应索引函数序号表中 ...