淘宝如何拥抱短视频时代?视频推荐算法实战

阿里机器智能

1. 前言

1.1 迅猛发展的短视频业务

短视频一般指长度在 5 分钟以内的视频内容。由于用户时间碎片化、移动互联网和智能手机的快速普及、制作门槛低等原因,短视频最近几年引起广泛关注。从 2011 年的萌芽,到 2015 年快手、美拍等异军突起,到 2016 年抖音、火山小视频等迅猛发展,短视频正在抢占越来越多的用户注意力和流量,重塑着用户的信息获取习惯。

截止目前,短视频月活用户已经达到了 4 亿左右,人均日观看时长超过了 60min,覆盖用户类型广泛,粘性强,明显挤占了用户在社交、影音、游戏、新闻等应用上的花费的时间。

1.2 淘宝短视频现状

目前淘宝内的视频量已达 2.6 亿 +。大量淘宝 / 天猫的商品头图展示从静态图片换成了短视频,全方位展示商品的使用方式和细节;大量买家秀采用了视频形式,给予用户更可靠更直观的购买参考;直播视频里的大主播,吸粉和带货能力惊人;达人视频制作精美、形式多样,给用户更愉悦的浏览体验。视频量和用户需求都急剧增大的现状,对视频推荐算法提出了更高的挑战。

本文主要简述近半年来,在哇哦视频和首页猜你喜欢视频这两个场景上,对视频推荐算法做的一些实践。

哇哦视频是针对时尚年轻、购买力中上的用户群的视频产品,涵盖了穿搭、美妆、美食、萌娃、萌宠、数码、健身等领域。投放内容池由数十万达人视频和数十万商品视频组成,全部经过质量筛选和人审,风格多样,制作精美,期望用户多逛多停留,进而引导下单。

猜你喜欢视频是云主题的重要组成部分,在猜你喜欢瀑布流中会根据用户偏好以一定频次投放视频。投放内容池主要是数百万商品视频,同样经过质量规则筛选,主要承担引导用户下单的功能。

在以上两个场景的瀑布流里,点击视频都会跳转到全屏承接页,在该页面可以完成浏览相关商品、进入达人页面、点赞、评论、转发、下滑继续浏览等动作。

1.3 视频推荐算法框架

视频推荐算法的大框架与商品推荐基本相似,都是由以下几部分组成:

  1. 召回,即根据用户近期行为,获取几千个左右的候选集。

  2. 排序,一般分初排和精排。初排即较粗略的排序模型,会对候选集进行初步打分,之后截断成为几百个。精排即复杂度较高的排序模型,可能是多个不同目标模型的融合,会对候选集进行较精细的打分,之后截断成为一百个左右。

  3. 业务策略,即基于用户体验的一些去重与打散策略。

本文将先介绍视频特征体系,然后按这个框架来分块介绍视频推荐,重点陈述视频推荐不同于商品推荐的部分。

2. 视频特征体系

我们构建的视频特征体系主要由 id 类特征、商品泛化特征、视频统计类特征、视频内容特征、标签特征等。

  1. id 类特征,由视频 id、作者 id 等组成。

  2. 商品泛化特征,主要来自于视频挂载的商品性质。例如,商品 id、类目 id、虚拟类目 id、店铺 id、品牌 id、商品所属性别、商品所属购买力、商品标签等等。

  3. 视频统计类特征,即视频在不同场景、类目、作者等维度下,统计的播放率、平均播放时长、有效播放率等等指标。

  4. 视频内容特征,即关键帧图像特征、音频特征,可以对视频内容 / 风格进行更精细的刻画

  5. 视频标签特征,即基于多分类模型的、可扩展的网状型的标签体系结构,覆盖视频所属的体感类目与泛内容维度的相关标签,这些标签的组合就是对视频内容的浓缩描述。目前主要产出了服饰领域的标签体系,正在不断完善中。

3. 基于视频的召回

3.1 RankI2V Recall

淘宝视频的特点是,绝大多数视频是挂靠有相关商品的。因此,视频推荐的最初版召回,就是直接利用商品推荐中的 i2i 召回,扩展为 i2i2v 召回,即:以用户最近点击 / 收藏 / 购买 / 加购的商品集作为 trigger item set,找到与其相似的 candidate item set,再根据视频挂靠商品的关系,找到 candidate video set,优先召回热度较高的 video。同理,也可以将 c2i 扩展为 c2i2v,seller2i 扩展为 seller2i2v 等等。这个版本的优点是可以充分利用已有框架和数据,快速上线。但缺点也很明显:同个商品可能挂靠许多视频,无法评估这些视频对于特定用户的价值;对商品感兴趣不代表对相关视频感兴趣,这其中有很大的 gap;用户对视频的行为信息完全没有加以利用,比如观看时长、点赞、关注等,而这些信息才是最有价值的。

因此,我们实现了 RankI2V 召回方式,直接从商品来召回视频。主要思路是:以全屏承接页播放日志构造 sample,以停留时长作为 label,结合 trigger item、video 相关商品、video 本身的特征,使用 gbdt 模型,直接对 item 到 video 的关系进行打分。

1)构造样本:

  • 在前述的 i2i2v 召回的基础上,可以从日志中获取每次用户观看视频时的 trigger item、所观看 video、以及观看时长

  • 清洗掉异常数据后,以时长很短的观看作为负样本(相当于没有看),时长较长的播放时长作为正样本,实际播放时长作为正样本权重

  • 重采样,保证对于同一个 user 和同一个 trigger item,样本集中同时存在正样本和负样本

2)构造特征集,主要有三部分特征:

  • trigger item 的特征,如类目、价格、热度、动态评分等自然属性,以及其在全站的不同时间切片内的曝光点击指标,所属卖家、类目等维度的曝光点击指标等等

  • video 的特征,分别统计在全站 / 哇哦视频场景内的,按类目、发布者、不同时间维度的,曝光、点击、有效播放率、完播率、次均 / 人均播放时长等指标

  • item 与 video 的相似关系,如是否属于同一类目、是否属于同一卖家,该 item 与视频相关 item 的相似分数等等

3)model:

  • 采用 gbdt 模型,pairwise loss 来训练

在两个场景的线上实验中,RankI2V 都显著优于初版中的基于商品的召回方式(i2i2v 等)。实验数据如下:

在哇哦视频的瀑布流页上线,次均播放时长上涨接近 10%,人均播放时长上涨超过 5%,pctr 上升超过 5%,uctr 上升显著,正向效果明显。

在全屏承接页上线,次均播放时长提高显著,人均播放时长提高显著,正向效果较明显(全屏页场景不关注 ctr, 只关注播放时长)

在猜你喜欢视频上线,ctr 上涨接近 10%,正向效果明显。

3.2 RankV2V Recall

以商品召回视频的优点在于,用户在商品上的行为丰富且多样,可以获取较好的 trigger set。然而,对于视频而言更自然的方式是以视频来召回视频,毕竟用户在商品上的偏好,不一定与对视频的偏好一致。参考 RankI2V 的思路,我们也实现了 RankV2V 召回算法。

首先,为了获取 trigger video 和召回 video 的关系,先上线了一版基于全网视频播放日志、目标为有效观看时长的、以协同过滤计算的 cf v2v 召回模型。上线一段时间后,积累了足够的播放行为,以此开始训练 rankv2v 模型。主要思路是:以全屏承接页播放日志构造 sample,以停留时长作为 label,结合 trigger video、召回 video 的特征,使用 gbdt 模型,对 video 到 video 的关系进行打分。

1)构造样本:

  • 在前述的 cf v2v 召回的基础上,可以从日志中获取每次用户观看视频时的 trigger video、所观看 video、以及观看时长



  • 清洗掉异常数据后,以时长很短的观看作为负样本(相当于没有看),时长较长的播放时长作为正样本,实际播放时长作为正样本权重

  • 重采样,保证对于同一个 user 和同一个 trigger video,样本集中同时存在正样本和负样本

2)构造特征集,主要有三部分特征:

  • trigger video 的特征,分别统计在全站 / 哇哦视频场景内的,按类目、发布者、不同时间维度的,曝光、点击、有效播放率、完播率、次均 / 人均播放时长等指标

  • 召回 video 的特征,与 trigger video 类似

  • trigger 与召回 video 的相似关系,如是否属于同一类目、是否属于同一卖家等

3)model:

  • 采用 gbdt 模型,pairwise loss 来训练

线上实验中,RankV2V 召回结果虽然数量上比 RankI2V 少一些(原因是用户在视频上的行为远少于在商品上的行为,因此 trigger set 小得多),但指标上明显优于 RankI2V。随着视频在全网的透出量增加,用户的视频行为进一步丰富,可以预期 rankV2V 的性能也会随之上升。

在猜你喜欢视频上线,ctr 大涨接近 15%。其中单看 rankV2V 的点击率,比基准桶总体高了接近 50%, 正向效果显著。

3.3 Realtime-based Interest

相对于商品推荐而言,实时性对于视频推荐更为重要。尤其是全屏承接页这样的场景,用户一次只沉浸在一个视频中,一旦连续下滑两三个视频都无法抓住用户兴趣,就极易使其流失。针对这种心理,我们在全屏承接页上引入了以下四种实时 trigger:

  1. 在瀑布流中,用户通过点击某视频进入全屏页,该视频强烈地体现了用户此刻的浏览意图,将这个 video 加入 trigger set。

  2. 在瀑布流中点击的视频,同时具有挂靠商品信息。该商品大概率也是用户此刻感兴趣的商品,将这个 item 加入 trigger set。

  3. 在全屏页下滑浏览进入下一页时,用户对于上一页推荐的视频已经产生过了播放、点赞、评论、关注等行为,可以体现用户当前浏览兴趣,以及对下一页展现结果的期望。将用户有过正向行为的 video 加入 trigger set。这是实时性相对最强的一种方式。

  4. 基于实时日志收集用户在全网的视频播放行为(延迟为几十秒到几分钟),将有过正向行为的 video 加入 trigger set。

经实验,最终的召回优先级定为:四种 Realtime-based Interest 召回方式相等,同时大于其他召回方式。

在全屏承接页上线,次均观看时长上升超过 10%,人均观看时长上升接近 15%,正向效果显著。

在哇哦视频瀑布流上线,pctr 上升明显,uctr 持平,次均停留时长上升明显,人均停留时长上升明显,正向效果明显。

从实验效果来看,沉浸式的全屏页效果显著高于瀑布流页,因为瀑布流一次展现的数量较多,用户选择余地较大,而全屏页一次一个展示,对于时刻命中用户兴趣要求更高。同时,在 4 种实时召回方式中,上述第 3 种召回方式的指标优于其他,说明时效性越强的召回效率越好,与我们最初的假设是一致的。

4. 视频排序

4.1 粗排模型

经过多路召回,系统可以获取用户潜在感兴趣的视频集合。同时为了进一步提高召回的精准性,需要将多路召回的视频统一排序,以精简召回的视频集合。这一过程通过精简特征的模型在 BE 多路召回后进行。

视频粗排模型以 ctr 或停留时长为目标,进行模型训练和预测。模型为 pointwise 或 pairewise 的 GBDT。

  • 以 ctr 为主要优化目标的 GBDT 模型,将用户对视频是否点击作为标签,pointwise 方式训练。特征主要有上下文特征,用户类特征,视频属性类特征,视频的反馈统计特征等维度。其中视频反馈统计特征里,通过时间信息计算得到的点击率特征权重较高。

  • 以停留时长为目标的视频粗排模型,将停留时长离散后作为训练为目标,pairewise 方式训练,特征中添加更多停留时长类的统计特征。

实验效果

  • 猜你喜欢视频接入 ctr 的 GBDT 模型替换 ctr 的 LR 模型,ctr 提升超过 10%

  • 猜你喜欢沉浸页接入停留时长的 GBDT 模型,PV 播放时长提升接近 30%,UV 播放时长提升超过 30%。

  • 哇哦视频全屏页接入停留时长的 GBDT 模型,次均播放时长提升接近 10%,人均播放时长提升明显

4.2 精排模型

精排通过不同目标的模型对视频进行打分。精排相对粗排在特征上更加丰富完善,同时也将不同目标的同种模型,或同目标的不同模型组合,共同计算得分。

视频精排模型主要包含以 ctr 为目标的 XFTRL 与 GBDT, 以及以停留时长为目标的 GBDT 三种模型,最终得分综合了三种模型的预测。

  • ctr 优化目标的 XFTRL 模型,特征主要包含上下文维度特征,用户维度,商品维度,视频维度的 ID 类和离散属性类特征,以及这几种维度的组合交叉特征。其中,用户 ID、视频 ID,用户最近 x 天喜欢的类目 IDtop3 与视频所对应商品的类目 ID 进行组合形成的特征,在模型中有较好的效果。

  • 以优化 CTR 为目标的 GBDT 模型,特征方面除了在粗排中已有的上下文特征,用户特征,视频属性特征,视频的反馈统计特征外,添加视频在全场景最近 x 天,分作者 / 类目的统计特征,同时对视频的反馈统计特征进行更多分天统计的特征补充。特征集中,场景内视频的 ctr 类权重较高,可见该模型偏向于推荐本场景内热度较高的视频。

  • 以优化停留时长为目标的 GBDT 模型,特征相较 CTR 模型增加了视频停留时长最近 x 天,分作者 / 类目的统计特征,label 为离散化的停留时长。特征集中,本场景视频的播放热度、视频作者的平均播放热度在模型中权重较高。

实验效果

  • 猜你喜欢视频,ctr 的 XFTRL 模型进行优化后,ctr 提升明显。接入 ranki2v 后,提升接近 10%,合计提升接近 15%;

  • 猜你喜欢视频 ctr 的 GBDT 模型优化后,ctr 提升明显;

  • 猜你喜欢视频接入停留时长的 GBDT 模型,停留时长增加超过 10%

5. 业务策略

推荐系统在算法对点击率与停留时长优化的同时,也需要保证良好的用户体验与流量可调控。

5.1 体验优化

为了达到良好的用户体验,视频推荐做了丰富的体验优化。同时加入集中度,相似性,以及视频发现性三个维度作为体验优化观测指标,其中集中性与相似性主要衡量页内体验,视频发现性衡量页间体验。

页内 rematch: 每次请求在页面内对虚拟类目,叶子类目,视频标签进行 rematch,保证页面内不会连续出现同一虚拟类目 / 叶子类目 / 标签下的视频。接入页面 rematch 后,pv 略降,点击率提升,视频集中度和相似性提升明显,用户的观感多样化得到明显提升。

页间抑制: 采集视频实时曝光与点击,将最近 x 天内未点击的虚拟类目 / 叶子类目 / 标签适当过滤。接入页间抑制后,pv 与 ctr 基本持平,曝光发现性提升,同类视频多天曝光现象减少。

实时黑名单过滤: 针对舆情反馈与自体验较差的视频,作者,标题加入黑名单,在线上实时过滤。接入后体验提升,相关舆情较少。

购买过滤: 将用户已购商品同类目下的视频过滤。接入购买过滤后 pv 与 ctr 略跌,用户体验多样化得到进一步提升。

曝光过滤: 由于真实曝光收集可能出现几分钟的延时,利用实时数据库记录了伪曝光日志,同时使用真实曝光和伪曝光共同对视频过滤。接入后 ctr 略跌,连续的重复曝光现象明显消除。

6. 结语

相对于商品推荐而言,视频推荐算法的发展空间还很大,比如目前尝试中的 multi-tag classification,利用图像、音频特征的 multimodal video embedding 以及 RealTime Exploration Interest 的模型化。欢迎有兴趣的同学与我们多多交流、多加指正。


本文地址:http://www.6aiq.com/article/1576557446511
知乎专栏 点击关注
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出