Clicks can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue
https://dl.acm.org/doi/pdf/10.1145/3404835.3462962

本文将用到以下相关知识:
反事实推断
TE、NDE、TIE

背景

在生活中,无论我们用什么软件(购物、资讯等),都会遇到这样的情况:看到的封面和标题跟点进去的内容不匹配,即标题党。而这些欺骗性的信息会使用户体检变差,而因为用户之前由于标题点击了item,会使得模型在学习,推荐的时候也会推荐这类item,这就造成了恶心循环。
本文主要通过构建因果图来缓解标题党这类不良item对用户体验造成的损害,主要贡献如下:

  • 强调通过仅使用点击数据来缓解**点击诱饵(标题党)**问题的重要性,并利用新的因果图来制定推荐流程
  • 在推荐中引入反事实推理来缓解点击诱饵问题,并提出了一个反事实推荐框架,该框架可应用于任何以项目特征为输入的推荐模型(易集成

方法

本文所用理论与MACR框架中所用理论一样,都是采用反事实推断,并且涉及TE,NDE,TIE等相关知识,这里不再赘述,不熟悉的小伙伴可到MACR中阅读。不过MACR是用于纠正流行性偏差的,本文方法是针对“标题党”的,并且构建过程也存在一些区别,下面我们详细展开。

因果图

原始的因果图如图a所示,我们在做推荐的时候,仅考虑单纯融合曝光特征(exposure feature)和内容特征(content feature),将融合后的特征和用户特征结合用于预测推荐分数。而上述过程忽略了用户看到标题、封面等信息时对点击的直接影响,因此作者构建了新的因果图(图b)。

通过反事实推断,我们可以得到图c,d
TE=Yu,i,e−Yu,i∗,e∗TE=Y_{u,i,e}-Y_{u,i^*,e^*}TE=Yu,i,e​−Yu,i∗,e∗​
NDE=Yu,i∗,e−Yu,i∗,e∗NDE=Y_{u,i^*,e}-Y_{u,i^*,e^*}NDE=Yu,i∗,e​−Yu,i∗,e∗​
TIE=TE−NDE=Yu,i,e−Yu,i∗,eTIE=TE-NDE=Y_{u,i,e}-Y_{u,i^*,e}TIE=TE−NDE=Yu,i,e​−Yu,i∗,e​
i∗=fI(e∗,t∗)i^*=f_I(e*,t*)i∗=fI​(e∗,t∗),fi为特征融合函数

框架设计

评分函数Y=fY(⋅)Y=f_Y(·)Y=fY​(⋅)的设计
为了方便使用,以及减少对现有模型的修改,做到易集成性,作者并没有直接将u,i,e作为输入,而是late-fusion的方式:
fY(u,i,e)=f(Yu,i,Yu,e)f_Y(u,i,e)=f(Y_{u,i},Y_{u,e})fY​(u,i,e)=f(Yu,i​,Yu,e​),而其中的Yu,i,Yu,eY_{u,i},Y_{u,e}Yu,i​,Yu,e​可以由现有的模型得到,f()f()f()是一种融合策略,采用MUL的方式:
f(Yu,i,Yu,e)=Yu,i∗σ(Yu,e)f(Y_{u,i},Y_{u,e})=Y_{u,i}*\sigma(Y_{u,e})f(Yu,i​,Yu,e​)=Yu,i​∗σ(Yu,e​)
训练过程
训练采用多任务的方式训练,损失函数如下:
∑(u,i,Yu,i‾)∈D~l(Yu,i,e,Yu,i‾)+αl(Yu,e,Yu,i‾)\sum_{(u,i,\overline{Y_{u,i}})\in\tilde{D}}{l(Y_{u,i,e},\overline{Y_{u,i}})+\alpha l(Y_{u,e},\overline{Y_{u,i}})}(u,i,Yu,i​​)∈D~∑​l(Yu,i,e​,Yu,i​​)+αl(Yu,e​,Yu,i​​)
Yu,i‾\overline{Y_{u,i}}Yu,i​​为标签,u,i为特征,a为超参数。由TIE可知,我们需要得到Yu,i,e,Yu,i∗,eY_{u,i,e},Y_{u,i^*,e}Yu,i,e​,Yu,i∗,e​,而在实际训练过程总参考值i∗i^*i∗表示不将i作为特征输入,因此可以用Yu,eY_{u,e}Yu,e​来表示Yu,i∗,eY_{u,i^*,e}Yu,i∗,e​
推理阶段
推理阶段分别得到Yu,i,e,Yu,i∗,eY_{u,i,e},Y_{u,i^*,e}Yu,i,e​,Yu,i∗,e​然后计算TIE。
YCR=TIE=Yu,i,e−Yu,i∗,e=f(Yu,i,Yu,e)−f(cu,Yu,e)=Yu,i,e−cu∗σ(Yu,e)Y_{CR}=TIE=Y_{u,i,e}-Y_{u,i^*,e}=\\f(Y_{u,i},Y_{u,e})-f(c_u,Y_{u,e})=Y_{u,i,e}-c_u*\sigma (Y_{u,e})YCR​=TIE=Yu,i,e​−Yu,i∗,e​=f(Yu,i​,Yu,e​)−f(cu​,Yu,e​)=Yu,i,e​−cu​∗σ(Yu,e​)
cu=E(Yu,I)=1∣I∣∑i∈IYu,ic_u=E(Y_{u,I})=\frac{1}{|I|}\sum_{i\in I}{Y_{u,i}}cu​=E(Yu,I​)=∣I∣1​i∈I∑​Yu,i​
因为在训练的时候没有将i∗i^*i∗作为输入来训练得到Yu,i∗,eY_{u,i^*,e}Yu,i∗,e​,而是直接用了Yu,eY_{u,e}Yu,e​。在预测推理过程中,用均值来替代当前(u,i)对应的预测值。

更多内容可以关注“秋枫学习笔记”,感谢大家的支持

推荐系统(五)——SIGIR‘21用反事实推断缓解点击诱饵,还在为标题党烦躁吗?请看这篇文章相关推荐

  1. [论文笔记] the book of why 1.因果推断三步骤:关联、干预、反事实推断

    首先,在我们进化的早期,我们人类意识到 世界不仅仅是由枯燥的事实 (我们今天可能称之为数据) 组成 ;相反,这些事实是由一个错综复杂的因果关系网粘合在一起的. 第二,因果解释,而不是干瘪的事实,构成了 ...

  2. 五分钟搞定 Linux 文档全部知识,就看这篇文章

    作者:无痴迷,不成功 来源:见文末 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人 ...

  3. 互联网金融学习总结(6)——2019年现金贷风控和反欺诈看这篇文章如何规划建设?

    分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 前言 互联网金融的爆发特别这几年互联网信贷的快速增长及多元信贷业务的开展,信贷业务特 ...

  4. 因果推断(五)——反事实,后悔药?

    反事实推断一个词概括就是"后悔". 例子:"还是以小夏开店为例,小夏请了A明星代言后,销售量虽然有提升,但是由于该明星的代言费很贵,导致最终还是亏本了.于是,小夏想要是当 ...

  5. 因果推断与反事实预测——盒马KDD2021的一篇论文(二十三)

    文章目录 1 已有研究者的描述 1.1 YuyangZhangFTD 1.1.1 Introduction 1.1.2 Problem Formulation 1.1.3 Counterfactual ...

  6. 《因果学习周刊》第8期:因果反事实预测

    No.08 智源社区 因果学习组 因 果 学  习 研究 观点 资源 活动 关于周刊 因果学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  7. 因果推断——借微软EconML测试用DML和deepIV进行反事实预测实验(二十五)

    文章目录 1 导言 1.1 KDD2021:盒马-融合反事实预测与MDP模型的清滞销定价算法 1.2 本篇想法 1.3 其他一些问题追踪 2 代码 2.1 数据生成 2.2 DML模型:有干预下的Y增 ...

  8. 因果推断 - 反事实

    目录 基础知识 案例实战 版权:转载前请联系作者获得授权. 声明:部分内容出自因果关系之梯,已获得原作者授权. 参考书籍:<The Book of Why>--Judea Pearl 基础 ...

  9. 【华为推荐论文】如何学习未知样本?基于反事实学习的推荐系统技术研究(附论文下载链接)...

    华为诺亚方舟实验室发布了最新研究成果<Improving Ad Click Prediction by Considering Non-displayed Events>,提出了一种基于反 ...

最新文章

  1. python c#_【分享】C# 调用 Python 脚本, 与 Python 调用 C# 类库
  2. 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)...
  3. 推荐系统笔记(其它应用算法)
  4. 做组织机构树状图 spark
  5. Python version 2.7 required, which was not found in the registry
  6. 兽语狗语文字在线加密解密PHP网站源码
  7. 从BlackHat2013中我们收获了什么
  8. arcgis分隔图层重复出文件_【干货】ArcGIS不可或缺的制图技巧,处理好细节才能让图更专业!...
  9. 测试开发必备技能-Jmeter二次开发
  10. Android控件——TextView,EditText
  11. MAC - 必备软件安装与使用
  12. steamcom启动服务:443端口被占用,请关闭占用该端口的进程后再点击启动服务!
  13. 华为onu 调为交换机_华为MA5626配置成普通交换机的方法.docx
  14. Postman 开发团队共享接口协作调试
  15. Python实现企业微信发送图片
  16. 面试题:一头牛重800公斤,一座桥承重700公斤,牛应该怎么过桥
  17. java转人工智能_[转]人工智能缩略语大全
  18. vue跳转页面增加等待_vue实现几秒后跳转新页面代码
  19. ROS官网初级教程学习总结(1-4)
  20. 【2013Esri中国用户大会】商业智能位置分析之Esri Maps for Cognos

热门文章

  1. 为什么计算机编程全用英语,为什么所有编程都是英文的?为什么不能中文程序?...
  2. Fatal error: Uncaught Error: Call to undefined function mysqli_content() in D:\phpstudy_pro\WWW\user
  3. 第三篇 第七章气体灭火系统(三)
  4. python怎么pip离线下载_pip下载保存Python包,pip离线安装
  5. ORACLE-023:令人烦恼的 ora-01722 无效数字
  6. PL/0解释程序输出运行栈(带注释)
  7. 计算机网络 第四章 答案(更正版)(谢希仁 第七版)
  8. [实用技巧] (转帖)关于MyDocument.exe -- 打印店病毒
  9. 移民就移民了,别拉祖国来垫背
  10. 你真的认为iPhone只是一部手机?苹果惊天秘密之 一