10 月,开发者不可错过的开源大数据大会-2021 WeDataSphere 社区大会深圳站 了解详情
写点什么

算法如何促成亿级别扶持曝光视频?爱奇艺 Budget Pacing 智能扶植系统实践

2021 年 6 月 15 日

算法如何促成亿级别扶持曝光视频?爱奇艺Budget Pacing智能扶植系统实践

视频的保量和扶植对于视频平台而言是一种重要的分发策略。不同于普通的推荐算法,出于商业、画风等角度的考量,视频扶植往往要保证指定的视频物料有一定的曝光量,并尽可能地降低对推荐系统效果的负面影响。在本文中,我们主要介绍爱奇艺自研的基于改进的 Budget Pacing 算法的智能扶植系统是如何在保证对用户消费指标影响可控的前提下,达到最大量级和最高效的扶持效果。

背景

对于爱奇艺等在线视频服务平台来说,除了普通的推荐算法之外,出于各种考量,往往要求对于指定的新热视频增加曝光。


在具体的应用场景下,爱奇艺和随刻短视频流中,超级粉丝、电商视频以及各类剧集综艺的运营物料视频等等,均需要使用扶植保量保证播放量的最大化。


图一 feed 流中的扶植保量视频


feed 流的曝光资源是有限的,内容间存在竞争,对扶植视频增加曝光必然会挤压推荐算法产出视频的曝光资源,对推荐系统产生负面影响。


另一方面扶植视频间也有差异,有的视频保量额度消耗过快,甚至在最初的几分钟内就完成保量目标,早早退出竞争,无法触达更匹配的用户,降低消费指标;而另一些视频又得不到有效分发。这就是典型的扶植保量问题。


因此我们设计了生态智能扶植系统,直接进行视频级别的扶植保量,针对不同视频的保量目标和真实的消费情况进行定制化的扶植,且所有保量视频共同竞争恒定的展示资源,降低对消费的影响。另外采用类似计算广告领域的 Budget Pacing 机制,将保量展示目标按照实际流量曲线分配在保量周期内,且根据具体消费情况动态调整保量程度,使视频在保量周期内均匀分发,完成保量目标。


另外生态智能扶植系统使用提升视频在精排中的位置的方式为视频提权,保证其扶植保量效果的确定性。


图 2:生态智能扶植系统流程结构图

问题分析

我们认为,视频的扶植保量和计算广告领域的预算控制问题有相似的地方:预算控制的核心问题是如何平稳地消费掉广告主的预算,并帮助广告主优化转化效果。而视频的扶植保量的核心问题是如何平稳的消耗掉视频的目标曝光量,并保证将对整体的消费影响尽可能降低。所以视频的扶植保量要完成以下两个目标:


(1)匀速分发

通过视频目标曝光量、当前曝光量和曝光曲线来控制视频的投放速度;


(2)提升视频消费指标

保证扶植视频对整体消费影响尽可能低。


计算广告的预算控制方案目前分为两大类:Probabilistic throttling 和 Bid modification,Probabilistic throttling 通过一个概率控制广告参与竞价的频率从而达到控制预算消费速度的目的,而 Bid modification 则通过修改竞价的方式来控制预算消费速度。

图 4(a):Probabilistic throttling

图 4(b):Bid modification


对于视频扶植保量场景而言,视频的目标曝光量即为“预算”,因此每次曝光的“竞价”是恒定的数值,即为曝光次数,不能通过 Bid modification 来修改“竞价”,因此我们采用 Probabilistic throttling 作为基础框架设计智能扶植系统。

框架设计

扶植保量系统首先要保证扶植保量视频的分发趋势和大盘整体曝光趋势保持一致。我们以 5 分钟为单位,将一天拆分为 288 个时间片,根据历史数据统计出一天内大盘整体曝光趋势。


图 4(a):时间片-流量曲线


图片 4(b):时间片-流量累计曲线


值得注意的是,在原始的计算广告的 Probabilistic throttling 方案中,广告物料享有单独的展示资源,因此广告物料之间只需通过概率进行竞争,胜者则可以占有专门为广告预留的展示位。


但在视频扶植保量的场景中,不仅有扶植保量视频之间竞争保量机会,扶植保量视频也会和普通视频竞争,因此除了要使用概率之外,我们又引入了精排位置提权机制,对于需要扶植保量的视频,根据目标曝光量,直接提升视频在精排中的排序位置,使得扶植保量视频在与普通视频的竞争中更占优势,从而达到扩大曝光的目的。


因此我们需要根据历史数据统计出精排中排序位置和曝光量的关系曲线。这里需要注意的是,由于不同时间片的曝光效能不同(如晚高峰的曝光效能大于凌晨),所以每一个时间片都有一个独立的位置-曝光曲线。


图 5:位置-曝光曲线


则有具体算法如下:


对任意扶植保量视频  ,记其全天预期保量曝光为  ,将一天拆分为时间片集合  ,对于时间片  ,  表示截止时间片  结束时的累积预期曝光,则根据图四(b)中描述的累计曝光曲线,可将  拆分为各个时间片的累计曝光集合  ,其中  。同时对于时间片  ,亦有  表示截止时间片  结束时的累积真实曝光


对下一个即将来到的时间片  ,该时间片内的预期曝光  ,根据图五可得满足  曝光要求的最大的位置。同样的,我们也可求得上一个刚结束的时间片  ,该时间片内的真实曝光  ,根据图五亦可得对应  曝光的最大的位置,设为对于时间片  ,扶植保量视频达到其预期曝光所需要的达到的精排位置的均值,而对于时间片  ,扶植保量视频实际达到的精排位置的均值,因此在时间片,我们需要 在每一次精排结果中提升的位置。


其中,保证 σ 表示对超量分发的视频不进行降权。


此外,由于图五中精排位置与曝光量的对应关系是离散的,  所对应的曝光量(设为  )一般情况下会大于  的要求,因此为了防止扶植保量的超发,约定扶植保量视频  在时间片  参与竞争的概率为:

 

最后推荐引擎便可在任意时间片  对任意视频  ,根据 σ 和  进行精排位置调整,从而达到扶植保量的效果。

线上效果

日均扶持量:生态智能扶植系统单日扶持曝光达到亿级别。


曝光完成率:旧版保量曝光完成率(实际曝光/曝光目标>80%)低于 5%,生态智能扶植系统保量完成度大幅提升,随刻端达到 65-70%,基线端达到 50-60%,保量完成率提升 20 倍左右。


对系统影响:实现扶持保量视频分发智能控速,将对系统的人均播放时长影响从 3.5%降低到 2.5%,人均展示视频数的影响从 2%降低到 0.15%。


运营业务成果:助力《奇葩说》等项目以及百科、开箱等垂类优质内容分发。保证了对优质视频和优质创作者的曝光,对提高优质作者的平台粘性有重大意义。

总结与展望

以上是我们近期在生态扶植保量领域的一些工作,实践证明基于 Budget Pacing 的生态智能扶植系统确实能够对视频的扶植保量任务产生很大的助益。后续我们还会从以下几个角度进行优化:


(1)秩序优化扶植系统和相关扶植召回,保证扶植完成度的基础上进一步降低对整体消费的影响;

(2)当前的扶植系统类似于计算广告的竞价消费方式,无法保证视频的目标曝光量一定完成,考虑增加担保式保量投放机制,保证视频曝光的数量。


参考文献:

1. Agarwal D, Ghosh S, Wei K, et al. Budget pacing for targeted online advertisements at linkedin[C]//Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. 2014: 1613-1619.

2.Xu J, Lee K, Li W, et al. Smart pacing for effective online ad campaign optimization[C]//Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2015: 2217-2226.


本文转载自:爱奇艺技术产品团队(ID:iQIYI-TP)

原文链接:算法如何促成亿级别扶持曝光视频?爱奇艺Budget Pacing智能扶植系统实践

2021 年 6 月 15 日 13:00731

评论

发布
暂无评论
发现更多内容

记一次spring注解@Value不生效的深度排查

捉虫大师

spring Spring Boot dubbo

XOR异或运算在计算机中的应用

王坤祥

XOR 异或运算 对称加密

什么是物联网中台

老任物联网杂谈

物联网中台 IOT Platform 物联网平台

Sentinel在docker中获取CPU利用率的一个BUG

捉虫大师

Java sentinel cpu

nacos的一致性协议distro介绍

捉虫大师

nacos

一行代码实现网站可编辑,并解决网站禁止复制的限制

王坤祥

复制 破解 DOM

SpringBoot中如何优雅的使用多线程

读钓

Java spring Spring Boot

当dubbo多注册中心碰上标签路由

捉虫大师

dubbo

项目实施要避免哪些坑?

顾强

项目管理

都在说实时数据架构,你了解多少?

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

Python 有哪些黑魔法?

极客时间

Python 编程语言

零基础应该如何学习爬虫技术?

极客时间

Python 编程 爬虫

一次漫长的dubbo网关内存泄露排查经历

捉虫大师

dubbo 内存泄露

Flink 的经典场景和业务故事有哪些?看看他们就知道了

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

读书·行路·问心·求道

黄崇远@数据虫巢

读书笔记 个人成长 读书

Docker运行常用软件:MySQL,Redis,Nginx,RabbitMQ,Neuxs,Gitlab

读钓

MySQL nginx Docker gitlab

18个PPT,29个提问解答,都在这儿啦!

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

centos7.6操作系统安装

桥哥技术之路

Linux

思维导图学《Linux性能优化实战》

Yano

Linux 后端

skywalking内存泄露排查

捉虫大师

dubbo 内存泄露

MacOS配置网络命令

编程随想曲

macos network

Flink SQL 的 9 个示例

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

一个工程师向电信公司的维权

以为是青铜,没想到是王者的dubbo标签路由

捉虫大师

dubbo

LeetCode 前1000题二叉树题目系统总结

Yano

面试 算法 LeetCode 二叉树 刷题

如何在非 sudo 用户下运行 docker 命令?

愚一

Docker DevOps

IPFS 星际传输协议的入门(二)

AIbot

区块链 分布式数据库

Flink State 最佳实践

Apache Flink

大数据 flink AI 流计算 实时计算

Apache Beam 大数据处理一站式分析

李孟

Java 大数据 数据中台 数据交换 Beam

Linux系统优化

桥哥技术之路

Linux

身为程序员,怎么接私活赚外快?

爱看书的小代码

算法如何促成亿级别扶持曝光视频?爱奇艺Budget Pacing智能扶植系统实践-InfoQ