当前位置: 首页 > news >正文

Deconfounding Duration Bias in Watch-time Prediction for Video Recommendation

Abstract

观看时间预测仍然是通过视频推荐加强用户粘性的关键因素。然而,观看时间的预测不仅取决于用户与视频的匹配,而且经常被视频本身的持续时间所误导。为了提高观看时间,推荐总是偏向于长时间的视频。在这种不平衡的数据上训练的模型面临着偏差放大的风险,这会误导平台过度推荐长时间的视频。

本文首次对视频推荐中观看时间预测中的时长偏差进行了研究。我们使用了一个因果图来说明时长是同时影响视频曝光和观看时间预测的混淆因素——对视频的第一个影响导致了偏差问题,应该被消除,而对观看时间的第二个影响源于视频的内在特征,应该被保留。为了消除不希望的偏差,同时利用自然效应,我们提出了一个基于持续时间-去基础分位数(D2Q)的观察时间预测框架,该框架允许在工业生产系统上执行可扩展性。通过广泛的离线评估和现场实验,我们通过显着优于最先进的基线,展示了这种持续时间反建立框架的有效性。

Introduction

观看时长主要受两个因素的影响:取决于用户对视频的兴趣程度和视频本身的持续时间。
从图2可以看出,视频本身时长小于100秒时,用户观看时间与视频时长呈正相关。
在这里插入图片描述

因此,标准的观看时间预测模型通常使用时长和其他视频特征作为特征输入进行预测。然而,不幸的是,这种做法在许多推荐系统中导致了偏见问题。
图3表明,随着时间的推移,推荐逐渐基于持续时间较长的视频。
在这里插入图片描述

因此,持续时间较长的视频可能会过度曝光,从而在推荐中低估了用户的真正兴趣。更严重的是,在这种不平衡数据上训练的模型由于链路反馈将放大视频时长的偏差。这损害了理想推荐的多样性和个性化。

尽管流行率很高,但与推荐研究中由项目受欢迎程度或位置引起的许多其他偏差相比,对视频时长偏差的探索要少得多。以最大化用户观看时间为目标,推荐系统可能会学习到视频时长和观看时间之间的虚假相关性;因此,长时间的视频更有可能被播放,即使它们可能无法很好地匹配用户的兴趣。另一方面,由于存在曝光不平衡,长时间的视频通常样本量较大,这可能会影响模型学习。

本文首次对观看时间预测中的持续偏差进行了研究。我们采用直接无环图(称为因果图)来表征观看时间预测中与视频时长有关的因果关系,如图4(a)所示。具体来说,时长作为一个混淆因素,同时影响观看时长预测和视频曝光。
在这里插入图片描述
时长对观看时间的第一个影响表明,用户倾向于花更多的时间观看本质上时长较长的视频,这是一种自然效应,应该通过观看时间预测模型来捕捉。然而,从视频时长到视频的第二个影响是困扰许多观看时间预测模型的一个偏差项。这样的效应说明时长影响视频曝光的可能性,这代表了模型对时长较长的视频的不公平偏好,应该消除。这种对视频时长效应的明确建模,与之前只使用视频时长作为观看时间预测特征的工作相反,使我们能够消除不希望的偏差,但保留真正的影响。
为了处理视频时长偏差,我们遵循后门调整的原则,对观看时间预测的因果图进行干预,以消除视频时长对视频曝光的不良影响,如图4(b)所示。我们注意到,从持续时间到观看时间的影响是保留的,因为这种关系是内在的,应该在预测中加以利用。

在操作上,我们根据视频时长将训练数据分成相等的部分;对于每个视频时长组,我们学习了一个回归模型来预测分组的观看时间分位数,其中标签由原始观看时长值和相应组中观看时间的经验累积分布确定。这样的分位预测支持跨视频时长组共享模型参数,从而带来可伸缩性方面的好处。总结我们的贡献如下:

  • 观看时间预测中视频时长偏差的因果公式。我们采用因果图来形式化观看时间预测中被忽视但广泛存在的视频时长偏差问题。我们指出时长是影响观看时间预测和视频曝光的混淆因素,前者是固有的,应该保留,后者是偏差,应该消除。
  • 通过可伸缩性调整视频时间。在后门调整的指导下,我们基于视频时间对数据进行分割,并对每个视频时间组拟合观看时间预测模型,以消除视频曝光的持续时间偏差。我们根据视频时间修改观看时长label,以允许跨组共享参数并获得可伸缩性。
  • 广泛的离线评估。我们对从快手App收集的数据进行了一系列线下评估,以证明我们的模型相对于现有基线的优势。我们进一步对视频时长组的数量进行了消融研究,发现随着组数量的增加,我们的模型性能首先提高(由于视频时长去偏),然后下降(由于减少的组样容量增加了估计误差)。
  • 在线实验的好处。我们进一步将我们的方法应用于快手平台上的视频推荐,结果表明,与现有策略相比,通过消除不必要的持续时间偏差,我们的方法提高了观看时间预测的准确性,并有助于优化实时视频消费。

相关文章:

Deconfounding Duration Bias in Watch-time Prediction for Video Recommendation

Abstract 观看时间预测仍然是通过视频推荐加强用户粘性的关键因素。然而,观看时间的预测不仅取决于用户与视频的匹配,而且经常被视频本身的持续时间所误导。为了提高观看时间,推荐总是偏向于长时间的视频。在这种不平衡的数据上训练的模型面…...

python多进程

python多进程的使用有两种方式: multiprocessingconcurrent的使用方式 multiprocessing的使用方式 定义线程池的数量开始处理,结果回调 下面以多进程下载图像为例: import multiprocessing import requests from io import BytesIO from…...

springboot 的yaml配置文件加密

springboot 的yaml配置文件加密 一、采用yaml 插件加密添加依赖创建启动类配置加密密钥加密需要加密的内容用过测试类编写加密的YAML配置解密配置可选:自定义配置扩展:修改ENC() 一、采用yaml 插件加密 使用Jasypt对Spring Boot的YAML配置文件进行加密是…...

npm发布、更新、删除包

如何将自己开发的依赖包发布到npmjs上供别人使用?五个步骤搞定! 实现步骤: 创建自己的工具包项目,进行开发。注册npmjs账号。执行npm login在控制台登录,填写用户信息。执行npm publish发布包。更新及删除。 步骤一…...

【JavaEE进阶】——Mybatis操作数据库(使用注解和XML方式)

目录 🚩三层架构 🎈JDBC操作回顾 🚩什么是MyBatis 🚩MyBatis⼊⻔ 🎈准备工作 📝创建⼯程 📝数据准备 🎈配置数据库连接字符串 🎈写持久层代码 🎈单…...

【数据结构】六种排序实现方法及区分比较

文章目录 前言插入排序希尔排序选择排序堆排序快速排序冒泡排序总结 前言 众所周知,存在许多种排序方法,作为新手,最新接触到的就是冒泡排序,这种排序方法具有较好的教学意义,但是实用意义不高,原因就在于…...

QT之QTableWidget详细介绍

本文来自于学习QT时遇到QTableWidget类时进行总结的知识点,涵盖了QTableWidget主要函数。本人文笔有限,欢迎大家评论区讨论。 一、QTableWidget介绍 QTableWidget 类是 Qt 框架中的一个用于展示和编辑二维表格数据的控件。它是对 QTableView 和 QStand…...

mac电脑安卓设备文件传输助手:MacDroid pro 中文激活版

MacDroid Pro是一款专为Mac电脑和Android设备设计的软件,旨在简化两者之间的文件传输和数据管理,双向文件传输:支持从Mac电脑向Android设备传输文件,也可以将Android设备上的文件轻松传输到Mac电脑上。完整的文件访问和管理&#…...

车流量监控系统

1.项目介绍 本文档是对于“车流量检测平台”的应用技术进行汇总,适用于此系统所有开发,测试以及使用人员,其中包括设计背景,应用场景,系统架构,技术分析,系统调度,环境依赖&#xf…...

LAMP集群分布式实验报告

前景: 1.技术成熟度和稳定性: LAMP架构(Linux、Apache、MySQL、PHP)自1998年提出以来,经过长时间的发展和完善,已经成为非常成熟和稳定的Web开发平台。其中,Linux操作系统因其高度的灵活性和稳…...

vue3中函数必须有返回值么?

在 Vue 3 中,特别是涉及到Composition API的使用时,setup() 函数确实必须有返回值。setup() 函数是组件的入口点,它的返回值会被用来决定哪些数据和方法是可被模板访问的。返回的对象中的属性和方法可以直接在模板中使用。如果setup()没有返回…...

经常用到的函数

创建文件夹和删除文件夹的函数 def make_dirs(*dirs):for new_dir in dirs:if not os.path.exists(new_dir):try:os.makedirs(new_dir)except RuntimeError:return Falsereturn Truedef remove_files(file_path_list):""" 删除列表中指定路径文件Args:file_pat…...

vue3学习(六)

前言 接上一篇学习笔记,今天主要是抽空学习了vue的状态管理,这里学习的是vuex,版本4.1。学习还没有学习完,里面有大坑,难怪现在官网出的状态管理用Pinia。 一、vuex状态管理知识点 上面的方式没有写全,还有…...

[数据集][目标检测]猫狗检测数据集VOC+YOLO格式8291张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8291 标注数量(xml文件个数):8291 标注数量(txt文件个数):8291 标注…...

简单模拟实现shell(Linux)

目录​​​​​​​ 前言 展示效果 实现代码 前言 该代码模拟了shell的实现,也就是解析类似于“ls -a -l"的命令,当我们启动我们自己写的shell的可执行程序时,我们输入"ls"的命令,也可以展示出在shell中输入&…...

SQL深度解析:从基础到高级应用

SQL(Structured Query Language)是用于管理关系型数据库的语言,广泛应用于数据管理、分析和查询。本文将详细介绍SQL的基础知识、高级特性以及一些常见的代码示例,帮助您全面掌握SQL的应用。 一、SQL基础语法 数据库操作 创建数据…...

乡村振兴与脱贫攻坚相结合:巩固拓展脱贫攻坚成果,推动乡村全面振兴,建设更加美好的乡村生活

目录 一、引言 二、巩固拓展脱贫攻坚成果 1、精准施策,确保稳定脱贫 2、强化政策支持,巩固脱贫成果 3、激发内生动力,促进持续发展 三、推动乡村全面振兴 1、加快产业发展,增强乡村经济实力 2、推进乡村治理体系和治理能力…...

[AI Google] Google I/O 2024: 为新一代设计的 I/O

编辑注:以下是 Sundar Pichai 在 I/O 2024 上讲话的编辑版,并包含了更多在舞台上宣布的内容。查看我们收藏中的所有公告。 Google 完全进入了我们的 Gemini 时代。 在开始之前,我想反思一下我们所处的这一刻。我们已经在 AI 上投资了十多年…...

CentOS配置DNS

1.打开/etc/resolv.conf文件 sudo vi /etc/resolv.conf2.添加配置 nameserver 114.114.114.1143.保存并关闭文件。 4.为了确保配置生效,重启网络服务或重启系统。例如: 重启网络: sudo systemctl restart network重启系统: …...

ArcGIS空间数据处理、空间分析与制图;PLUS模型和InVEST模型的原理,参量提取与模型运行及结果分析;土地利用时空变化以及对生态系统服务的影响分析

工业革命以来,社会生产力迅速提高,人类活动频繁,此外人口与日俱增对土地的需求与改造更加强烈,人-地关系日益紧张。此外,土地资源的不合理开发利用更是造成了水土流失、植被退化、水资源短缺、区域气候变化、生物多样性…...

JavaSec-RCE

简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性&#xff0c…...

大话软工笔记—需求分析概述

需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

ArcPy扩展模块的使用(3)

管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如&#xff0c;可以更新、修复或替换图层数据源&#xff0c;修改图层的符号系统&#xff0c;甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...

Mac flutter环境搭建

一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...

Linux操作系统共享Windows操作系统的文件

目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项&#xff0c;设置文件夹共享为总是启用&#xff0c;点击添加&#xff0c;可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download&#xff08;这是我共享的文件夹&#xff09;&…...