点击上方“马蜂窝技术”,关注订阅更多优质内容

马蜂窝信息流推荐系统的目的是给用户推荐更好玩,更有用的内容攻略,该系统通过内容池、召回、排序、重排序几个过程,从海量内容中筛选出用户感兴趣的推荐给用户。

排序是推荐系统中的重要一环,马蜂窝使用基于CTR预估的排序模型,通过学习数据中的知识训练模型,再将内容推荐给用户,形成推荐闭环。

用户在浏览和详细查阅具体内容的时,因视觉注意力具有一定倾向性,即:注意力集中的地方普遍点击率会更高(参考图1b中,注意力热度图),使处于“好位置”的内容获得更多的曝光和点击。这些点击行为不能真实地反映出内容质量和用户喜好,从而会对基于CTR预估的推荐系统造成影响。

综上,位置偏差会给推荐系统带来以下两点问题:

1、用户的点击行为会受到展示位置的影响,处于“好位置”的内容点击率比较高

2、点击率高的内容会在推荐闭环中占据强势地位,挤压其他内容的生存空间

为此,本文将介绍马蜂窝推荐排序系统是如何降低位置偏差带来的影响的。

马蜂窝推荐排序模型是CTR预估模型,它的训练样本是所有用户的曝光点击历史。为了消除位置偏差,提高模型的预测准确率,我们可以在模型训练的时候,将位置信息作为训练特征之一。

由于展示位置是在模型排序之后,模型进行预测的时候,我们无法获得展示位置。这时候可以使用默认值来代替位置特征。默认值由离线测试的AUC和线上AB测试最终确定。由于模型训练和预测时的使用的特征不同,该方案线上表现一般:用户点击率降低 0.3%,用户人均点击篇数提升0.2%,内容曝光提升0.1%,内容点击率降低0.1%。

模型训练时同时训练ProbSeen和pCTR部分,线上预测的时候只使用pCTR部分。由于位置信息只作用在ProbSeen部分,线上预测的时候不需要知道位置信息。实际上线后,方案二收益不明显:用户点击率提升 0.9%,用户人均点击篇数降低0.7%,内容曝光提升1.0%,内容点击率降低0.3%。

逆倾向样本加权Inverse Propensity Weighting(IPW)被学术界广泛研究[3-11],IPW的核心思想在于,在得到每个样本的倾向性评分后,利用倾向性评分对样本重新加权。

本文中我们使用基于点击率的逆倾向样本加权,具体做法是:统计马蜂窝推荐场景下所有的曝光点击信息,计算不同展示位置处的平均点击率,结果如图5所示。我们使用平滑后的点击率作为倾向性评分,对训练样本进行加权。使用带权样本训练排序模型,并用于线上预测。实验前两天内容点击率相对提升约6%,后面逐渐下降,正负波动明显。

为什么方案3会先正后负?基于点击率的逆倾向样本加权忽略了一个前提,一篇内容展示位置靠前不单单是因为历史位置靠前,更重要的是因为其质量优秀及用户偏好,逆倾向加权打破位置马太效应的同时也压制了用户偏好及优质内容的展示,所以线上表现先正后负,并且一直波动。

在马蜂窝推荐场景下,不同位置对应的位置能力如表1所示:

我们将步骤二中计算出的位置能力分别应用于排序模型的训练特征部分和样本权重部分。

在训练特征部分,原来的特征中有很多点击率特征,我们对点击率特征重新处理,转换后的点击等于真实点击除以位置能力,转换后的点击率等于转换后的点击量除以曝光数量。

在样本权重部分,我们使用位置能力的倒数来代替原来的训练样本样本权重。

我们每天基于EM模型生成的新的位置能力,该位置能力作用于排序模型后,对线上提升明显:用户点击率提升 2.1%,用户人均点击篇数提升4.5%,内容曝光提升1.9%,内容点击率提升3.3%。

用户行为数据是推荐系统的水源,只有水源足够纯净才能让推荐系统持续健康,但用户行为数据中存在各式各样的偏差,如:曝光偏差、位置偏差、归纳偏差、流行度偏差等[12-14],这些偏差在推荐闭环中被加剧放大,影响推荐系统的准确性。针对这些偏差,后期我们将进行更多的深入研究,给用户带来更加准确的推荐结果。

本文作者:郭延琛、皇甫庆彬;智能中台-推荐平台研发工程师


参考文献

[1] SIGIR 2021 | 广告系统位置偏差的CTR模型优化方案

[2] Guo, Huifeng, et al. “PAL: a position-bias aware learning framework for CTR prediction in live recommender systems.” Proceedings of the 13th ACM Conference on Recommender Systems. 2019.

[3] Wang, Xuanhui, et al. “Learning to rank with selection bias in personal search.” Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval. 2016.

[4] Joachims, Thorsten, Adith Swaminathan, and Tobias Schnabel. “Unbiased learning-to-rank with biased feedback.” Proceedings of the Tenth ACM International Conference on Web Search and Data Mining. 2017.

[5] Ai, Qingyao, et al. “Unbiased learning to rank with unbiased propensity estimation.” The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018.

[6] Wang, Xuanhui, et al. “Position bias estimation for unbiased learning to rank in personal search.” Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining. 2018.

[7] Agarwal, Aman, et al. “Estimating position bias without intrusive interventions.” Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining. 2019.

[8] Hu, Ziniu, et al. “Unbiased lambdamart: an unbiased pairwise learning-to-rank algorithm.” The World Wide Web Conference. 2019.

[9] Ovaisi, Zohreh, et al. “Correcting for selection bias in learning-to-rank systems.” Proceedings of The Web Conference 2020. 2020.

[10] Yuan, Bowen, et al. “Unbiased Ad click prediction for position-aware advertising systems.” Fourteenth ACM Conference on Recommender Systems. 2020.

[11] Qin, Zhen, et al. “Attribute-based propensity for unbiased learning in recommender systems: Algorithm and case studies.” Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020.

[12] Chen, Jiawei, et al. “Bias and Debias in Recommender System: A Survey and Future Directions.” arXiv preprint arXiv:2010.03240 (2020).

[13] Cañamares, Rocío, and Pablo Castells. “Should I follow the crowd? A probabilistic analysis of the effectiveness of popularity in recommender systems.” The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018.

[14] Morik, Marco, et al. “Controlling fairness and bias in dynamic learning-to-rank.” Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2020.


位置偏差在马蜂窝推荐排序中的实践相关推荐

  1. 个性化海报在爱奇艺视频推荐场景中的实践

    导语 在信息过载的时代中,如何把恰当的内容恰时地呈现给用户,并且让用户快速.准确地看到自己喜欢或需要的内容,对一个视频平台来说是一个非常重要且具挑战的事情. 因此,爱奇艺技术产品团队设计并实现了一套个 ...

  2. 【实践】多业务建模在美团搜索排序中的实践

    美团搜索排序是一个典型的多业务混合排序建模问题,这种多业务场景搜索存在很多挑战.本文聚焦到店商家多业务场景的多业务排序建模优化工作,希望能对从事相关工作的同学有帮助. 引言 排序流程简介 多业务建模实 ...

  3. 马蜂窝推荐排序算法模型是如何实现快速迭代的

    点击上方"马蜂窝技术",关注订阅更多优质内容 Part.1 马蜂窝推荐系统架构 马蜂窝推荐系统主要由召回(Match).排序(Rank).重排序(Rerank)几个部分组成,整体架 ...

  4. 深度学习在省钱快报推荐排序中的应用与实践

    导读:省钱快报是一家中小型综合类电商APP,近2年平台规模有了较大增长,AI在平台业务发展中发挥了巨大作用.本文以推荐场景优化在省钱快报的发展为脉络,对于中小型电商公司在资源有限的客观条件下,对机器学 ...

  5. 【推荐实践】深度学习在省钱快报推荐排序中的应用与实践

    文章作者:省钱快报算法团队 编辑整理:Hoh Xil 内容来源:作者授权 出品平台:DataFun 导读:省钱快报是一家中小型综合类电商APP,近2年平台规模有了较大增长,AI在平台业务发展中发挥了巨 ...

  6. 强化学习在携程酒店推荐排序中的应用探索

    https://www.toutiao.com/a6708585355555111431/ 目前携程酒店绝大部分排序业务中所涉及的问题,基本可以通过应用排序学习完成.而其中模型训练步骤中所需的训练数据 ...

  7. 干货 | 强化学习在携程酒店推荐排序中的应用探索

    宣云儿,携程酒店排序算法工程师,主要负责酒店排序相关的算法逻辑方案设计实施.目前主要的兴趣在于排序学习.强化学习等领域的理论与应用. 前言 目前携程酒店绝大部分排序业务中所涉及的问题,基本可以通过应用 ...

  8. Transformer 在美团搜索排序中的实践

    美团搜索是美团 App 连接用户与商家的一种重要方式,而排序策略则是搜索链路的关键环节,对搜索展示效果起着至关重要的效果.目前,美团的搜索排序流程为多层排序,分别是粗排.精排.异构排序等,多层排序的流 ...

  9. 左右互搏:GAN在爱奇艺短视频推荐冷启动中的实践

    导语:由于推荐系统冷启动问题的存在,在视频推荐中为用户推荐新视频是一个极具挑战的问题,新视频推荐的效果直接影响推荐系统"新陈代谢"的稳定性和内容生态的健康发展.为了解决该问题,本文 ...

最新文章

  1. php前面有人排队,PHP实现打印类(实现队列排队打印)
  2. 借助液态金属传感器和AI,这次机械手可能真的找到感觉了
  3. 破解无线路由免费上网
  4. python返回文件行号_用python比较两个文件中内容的不同之处, 并输出行号和内容....
  5. LeetCode 2100. 适合种地的日子(计数)
  6. wdnas群晖nas_西数WD NAS红盘 WD140EFFX 14TB HDD和 SA500 1TB SSD开箱拆解评测
  7. 【BZOJ1010】【codevs1319】玩具装箱,斜率优化DP
  8. SQL 使用总结二 ( 不同库的日期总结)
  9. LINUX 学习笔记 账号与群组的管理
  10. 床车长时间自驾游,大家晚饭后至睡觉前这段时间都在忙什么?
  11. jquery1.8.3和1.11.3的用法区别
  12. mysql事件查看器_MYSQL事件查看器使用介绍 | 学步园
  13. 按键精灵手机助手之字符串处理
  14. pb使用http方式上传下载文件
  15. 计算机财务基础知识,财务部计算机基础知识培训.ppt
  16. python输出斐波那契数列_如何用Python输出一个斐波那契Fibonacci数列
  17. win7打开计算机一片空白,Win7系统打开文件夹查看选项发现一片空白怎么办
  18. 计算机中丢失XINPUT无法修复,xinput1_3.dll丢失怎么修复
  19. API MISUSE: <CBPeripheralManager: 0x282c00070> can only accept this command while in the powered on
  20. 一起来看看华为云的裸金属服务器

热门文章

  1. python中斜杠加引号什么意思_如何在Python中转义反斜杠和单引号或双引号?
  2. ultraedit编辑器快速学习
  3. 2022届互联网校招研发薪资汇总,都是钱哇~
  4. RK3399 - Android7.1 调试串口波特率修改
  5. ModuleNotFoundError: No module named ‘_bz2‘
  6. Python实现图片添加水印(支持中文、英文和图片)
  7. excel将B列数据放在A列后面
  8. 在同一Android应用程序内,信息安全技术题库:Android中同一个应用程序的所有进程可以属于不同用户。()...
  9. 常用软件下载地址汇总
  10. 20155305乔磊2016-2017-2《Java程序设计》第五周学习总结