kuaishou直播团队在《LiveForesighter: Generating Future Information for Live-Streaming Recommendations at Kuaishou》提出了它们的电商直播推荐LiveForesighter:
摘要
作为一种连接用户与主播的新兴媒介,直播近年来备受关注并实现快速增长。相较于内容静态的短视频推荐,直播推荐在满足用户体验方面面临更大挑战:(1)直播内容随时间动态变化;(2)高价值行为(如赠送虚拟礼物、购买商品)往往需要用户长时间观看(>10分钟)。结合这两个特性,直播推荐面临一个核心难题:如何精准发现用户当前时刻感兴趣、且在未来一段时间内仍保持兴趣的直播内容?
针对这一问题,我们通过分析直播数据发现两个关键现象:(1)当直播进入”高光时刻”时,用户体验显著提升;(2)主播具有”风格一致性”,使得基于历史内容预测未来信息成为可能。基于这些发现,我们提出LiveForesighter框架,通过预测未来直播信息提升推荐质量。具体而言:
• 针对”高光时刻”检测,我们构建用户正向行为(点击、购买等)的统计指标序列,实时捕捉直播的高光状态
• 针对未来信息预测,利用历史商品销售序列预测未来可能推广的商品,以增强电商直播推荐效果
据我们所知,这是首个从未来信息预测角度提升直播推荐的研究。通过大量离线/在线实验及消融分析,我们验证了LiveForesighter的有效性。自2024年7月起,该框架已在快手多个业务场景全面部署,日均服务4亿活跃用户。
1 引言
近年来,快手、抖音、小红书等新一代短视频与直播媒体应用在全球范围内获得广泛关注并快速发展。从广义上看,这些平台主要扮演着娱乐角色,用户通过算法推荐观看有趣内容。因此,构建强大稳健的短视频/直播推荐系统[12,30,39]是保障快手用户满意体验的基石。
与内容静态的短视频不同,直播作为一种更复杂的媒介形式,在连接用户与主播方面面临更大推荐挑战[18]:
- (1)直播内容随时间动态变化,用户在同一直播间的不同时间点会获得不同体验,进而产生不同行为;
- (2)作为具有营收属性的服务,某些高价值行为(如才艺直播中赠送虚拟礼物、电商直播中购买商品)需要用户长时间观看(>10分钟)[8]。
对于直播服务而言,成功的推荐需要遵循以下数据漏斗链[25]:曝光→点击(对当前内容感兴趣)→长观看/打赏/购买(对未来内容感兴趣)。
因此,我们的直播推荐系统不仅需要捕捉用户兴趣[6,32]以了解其偏好的直播类型,更重要的是在合适时机向用户推荐这些直播。具体而言,用户兴趣建模技术已被DIN[47]、ETA[11]等众多研究深入探讨。因此,在直播推荐系统中,我们首先需要考虑的是:对于某个直播,何时是最佳分发时机?
我们在图1中分析了直播的实证表现。
图1
- 图1(a)展示了一个才艺直播案例:这类主播会花费大量时间与观众聊天、与其他主播进行PK对决,偶尔展示歌舞等才艺。从观众数量的用户反馈可以看出,当主播处于歌舞状态时,观众数量会显著增加。
- 图1(b)展示了另一个电商直播案例:这类主播通常逐个销售商品。对于每个商品,他们会先花费大量时间介绍产品优势并与观众互动,然后在商品开售前提供倒计时,通常伴有折扣优惠。同样地,从观众数量指标可以看出,当主播介绍商品时,进入直播间的观众数量相对稳定,但当商品即将开售时,观众数量会突然增加。
从这两个案例可以看出,不同类型的直播具有不同特征,其”高光时刻”内容也代表着不同的含义。但我们可以得出另一个结论:当直播处于”高光时刻”时,用户体验更好,表现出更多正向行为。因此,我们可以利用用户正向行为的增长趋势,自适应地发现高光时刻以实现更智能的推荐。
除了寻找最佳直播分发时机外,我们推荐系统的另一个目标是:促使用户为主播打赏或购买商品,这需要用户对直播内容保持长期兴趣。因此,在直播推荐系统中,我们需要进一步考虑的第二个问题是:除了当前时刻,未来内容是否符合用户兴趣?
我们以电商直播为例,在图2中展示了两个主播的销售商品及其对应类别的三级时序序列。左侧主播主要销售女装,但类别非常多样(如衣服、裤子、鞋子等),二级和三级类别不断变化。右侧主播主要销售美妆产品,产品相对垂直,主要是三级类别在变化。幸运的是,尽管产品多样,我们发现垂直领域中高度相关的产品会连续介绍/销售,例如夹克→大衣→毛衣,粉底液→遮瑕膏→定妆粉。从这两个案例可以看出,主播在直播中具有”风格一致性”,这使得我们可以预测未来产品与之前产品存在一定关联。
图2
本文提出了一种简单而有效的生成模型LiveForesighter,这是一种实现更高质量直播推荐的新范式。具体而言,我们考虑两种直播序列来监控高光时刻并生成直播未来信息。
对于第一个挑战——挖掘直播高光时刻的分发时机,我们的关键思路是识别哪些直播正在经历用户正向行为的增长趋势。因此,为描述这种正向行为增长趋势,我们首先利用直播侧用户正向行为序列(如点击、购买)的统计特征来预测未来行为趋势。这样,我们的模型不仅可以实时监控内容质量以检测直播是否处于正向行为增长趋势和高光时刻,还能感知未来趋势以确保直播在一段时间内保持高质量。
对于第二个挑战——确保未来内容符合用户兴趣,本文通过LiveForesighter增强电商直播推荐,我们的关键思路是利用一系列历史销售商品来预测未来商品。通过这种方式,我们的模型不仅能判断用户当前是否喜欢直播,还能预测他们在不久的将来是否会继续喜欢其内容。
总之,我们的贡献如下: • 我们通过深入分析展示了直播推荐中的挑战,据我们所知,本文是首个从未来信息预测角度增强直播推荐的研究,这将为其他研究者探索更健壮的直播推荐系统提供启示。 • 我们开发了LiveForesighter,该模型考虑直播侧观众正向行为和历史内容序列,以监控直播行为增长趋势并生成未来内容信息。 • 我们在快手真实直播场景中进行了大量实验。结果验证了LiveForesighter的有效性,该模型已在快手部署,为我们的平台带来了显著提升。
2 方法
本节将详细介绍我们的生成模型[4] LiveForesighter。我们首先说明工业级直播推荐系统[13,46]的通用背景,然后深入探讨用于实时内容质量监控的统计序列建模细节,最后描述如何利用历史销售商品预测未来商品。
2.1 工业推荐系统背景
通常,推荐系统旨在从大量隐式反馈[20]中生成一个小规模物品集合,以最大化用户兴趣。然而在工业场景中,从数亿规模的物品池中准确高效地搜索出这些物品并非易事。为了在成本和精度之间取得平衡,近年来主流公司广泛采用两阶段范式:候选生成[19,48]和排序[34,37]:
-
候选生成阶段:旨在利用多种来源、信号和模型,从百万级物品池中找出用户感兴趣的数百个候选物品[16]。例如,识别与用户偏好类别相符的高质量作者。
-
排序阶段:旨在从检索到的数百个候选物品中找出最佳的少量物品[7]。例如,从所有候选中找出处于高光时刻或正向行为增长趋势状态的直播间。
显然,候选生成阶段(如用户兴趣建模)和排序阶段(如用户-物品对建模)在推荐系统链中扮演着非常不同的角色,因此使用的技术也有很大差异。例如,候选生成侧重于物品-物品关系挖掘[41]、用户兴趣压缩[19],而排序阶段则侧重于用户-物品交叉特征挖掘[27,30]和多任务学习[45]。在本文中,我们重点扩展后者的排序阶段,以构建更全面的直播推荐系统。
2.1.1 基础排序模型架构
我们首先简要回顾基础排序模型设计。在实践中,排序模型的目标是预测特定概率(例如点击率CTR、长观率LVTR、购买率CVR),以衡量用户-商品对的推荐价值。具体来说,在排序模型训练中,每个用户-商品样本由一系列离散化分类特征组成,例如用户ID、用户性别、商品ID、商品类目ID等,以及跨序列特征(如同类目下用户历史点击序列)。为简化表达,我们将每个训练样本的特征和标签表示为 $[V_{\text{user}}, V_{\text{live}}, V_{\text{cross}}]$ 和 ${y^{\text{ctr}}, y^{\text{lvtr}}, …} \in {0,1}$。基于用户-商品对的输入信息及其收集的标签,排序模型 $\text{Rank}(\cdot)$ 的训练过程可公式化为:
\[\begin{aligned} \hat{y}^{\text{ctr}}, \hat{y}^{\text{lvtr}}, \cdots &= \text{Rank}\left([V_{\text{user}}, V_{\text{live}}, V_{\text{cross}}]\right), \\ \mathcal{L}_{\text{rank}} &= -\sum_{\text{xtr}\in\{\text{ctr,lvtr},...\}} \left[ y^{\text{xtr}} \log\hat{y}^{\text{xtr}} + (1-y^{\text{xtr}}) \log(1-\hat{y}^{\text{xtr}}) \right] \end{aligned} \tag{1}\]其中 $\text{Rank}(\cdot)$ 是基于多层感知机(MLP)的网络,$\hat{y}^{\cdot}$ 表示模型预测分数,$\mathcal{L}{\text{rank}}$ 是由多个二元交叉熵损失组成的排序损失函数。本文中,我们的LiveForesighter专注于生成直播信息表示 $V{\text{livefore}}$ 以增强排序模型能力。
2.2 统计序列建模
尽管广泛使用的直播侧特征(如主播ID、直播类目ID等)能在一定程度上表征主播信息,但仍难以描述实时变化的直播内容并回答关键挑战:对于直播而言,何时是最佳分发时机?
通过观察发现,用户正向行为增长趋势可自适应地反映高光时刻。因此我们首先显式引入统计序列来注入此类行为趋势知识以增强直播侧信息。实践中,我们添加以下统计序列类别:
- 直播间外信息:曝光量、观众数等
- 转化信息:GMV值、订单数、礼物价值等
- 互动信息:评论数、点赞数等
- 直播间内信息:点击商品/购物车等
我们以30秒为间隔采集这些序列,形成 $S = {s_1,…,s_N} \in \mathbb{R}^{N \times T}$ 表示$N$个序列在$T$个时间步长的数据。具体地,每个序列 $s_i = [s_{i,1},…,s_{i,T}]$ 其中 $s_{i,j}$ 为整型统计值。我们使用 $S_{1:T-5} \in \mathbb{R}^{N \times (T-5)}$ 表示时间步索引在$[1,T-5]$范围内的完整序列。
受自监督序列生成[33]启发,我们通过序列生成任务使模型捕获序列变换模式(假设预测后续5步): \(\begin{aligned} \bar{S}_{1:T-5}, \bm{\mu}, \bm{\delta} &= \text{ReVIN}(S_{1:T-5}), \\ \bar{S}_{T-4:T}, E^{\text{Stat}}_{1:T-5} &= \text{StatisticTransformer}(\bar{S}_{1:T-5}), \\ \hat{S}_{T-4:T} &= \text{De-ReVIN}(\bar{S}_{T-4:T}, \bm{\mu}, \bm{\delta}), \\ \mathcal{L}_{\text{Statistic}} &= \text{MSE}(\hat{S}_{T-4:T}, S_{T-4:T}) \end{aligned} \tag{2}\)
其中 $\text{ReVIN}(\cdot)$ 和 $\text{De-ReVIN}(\cdot)$ 是序列归一化技术[17]($\bm{\mu} \in \mathbb{R}^N, \bm{\delta} \in \mathbb{R}^N$),$E_{1:T-5} \in \mathbb{R}^{N \times D}$ 为输入序列编码结果,$\hat{S}_{T-4:T} \in \mathbb{R}^{N \times 5}$ 为多步预测结果,$\text{MSE}(\cdot)$ 为反映预测精度的训练损失,$\text{StatisticTransformer}(\cdot)$ 表示任意Transformer风格序列编码方法。本文为简化实现,使用iTransform[21]作为$\text{StatisticTransformer}(\cdot)$。
通过优化 $\mathcal{L}_{\text{Stat}}$,模型可获得预测不同直播未来行为趋势的能力。在实时推荐中,我们利用完整当前行为趋势预测未来信息: \(\begin{aligned} \bar{S}_{5:T}, \bm{\mu}, \bm{\delta} &= \text{ReVIN}(S_{5:T}), \\ \bar{S}_{T:T+5}, E^{\text{Stat}}_{5:T} &= \text{StatisticTransformer}(\bar{S}_{5:T}), \\ \hat{S}_{T:T+5} &= \text{De-ReVIN}(\bar{S}_{T:T+5}, \bm{\mu}, \bm{\delta}), \\ V_{\text{livefore}} &\leftarrow \text{stop}\left(\text{flatten}(\hat{S}_{T:T+5}), \text{flatten}(E^{\text{Stat}}_{5:T})\right) \end{aligned} \tag{3}\)
其中 $\hat{S}{T:T+5}$ 表示未来用户行为趋势预测,$\text{flatten}(\cdot)$ 为重塑操作,$\text{stop}(\cdot)$ 为停止梯度操作。通过结合当前序列表示 $E^{\text{Stat}}{1:T}$ 和预测结果 $\bar{S}_{T:T+5}$,排序模型既能实时监测内容质量以检测直播是否处于正向增长趋势和高光时刻,也能感知未来趋势以确保直播在一段时间内保持高质量。
2.3 商品序列建模
除寻找高质量直播外,推荐系统的另一目标是促使用户赠送礼物或购买商品,这需要用户长时间深度关注直播内容。本节旨在回答另一挑战:除当前时刻外,未来内容是否符合用户兴趣?
由于主播在直播中具有”一致性风格”,我们可利用历史直播内容预测未来信息。本文聚焦于预测未来商品信息以增强电商直播推荐。实践中,我们收集直播历史售卖商品ID及对应类目信息,形成商品序列: \(I = \{[p_1,c^1_1,c^2_1,c^3_1],...,[p_T,c^1_T,c^2_T,c^3_T]\} \in \mathbb{R}^{T \times 4}\) 其中 $p_i$ 为商品ID,$c^1/c^2/c^3$ 为从粗到细的类目信息。考虑到时间成本和生成空间,我们仅生成下一商品的最细粒度类目信息以平衡效果与效率: \(\begin{aligned} \bar{I}_{1:T-1} &= \text{EmbeddingLookup}(I_{1:T-1}, P, C^1, C^2, C^3), \\ \hat{c}^3_T, E^{\text{Prod}}_{1:T-1} &= \text{ProductTransformer}(\bar{I}_{1:T-1}), \\ \mathcal{L}_{\text{Product}} &= \text{Softmax}(\hat{c}^3_T, c^3_T) \end{aligned} \tag{4}\)
其中 $P \in \mathbb{R}^{ | p | \times D}, C^1 \in \mathbb{R}^{50 \times D}, C^2 \in \mathbb{R}^{1000 \times D}, C^3 \in \mathbb{R}^{5000 \times D}$ 为可训练嵌入矩阵,$ | p | $ 表示商品总数,$\bar{I}{1:T-1} \in \mathbb{R}^{(T-1) \times 4D}$ 为下游Transformer的输入嵌入,$E{1:T-1} \in \mathbb{R}^{(T-1) \times D}$ 为序列编码结果,$\hat{c}^3_T \in \mathbb{R}^{5000}$ 为细粒度类目预测分布,$c^3_T \in \mathbb{R}$ 为真实标签。 |
通过优化 $\mathcal{L}_{\text{Product}}$,LiveForesighter可捕获商品间潜在关联。随后利用最新商品信息预测未来商品类目: \(\begin{aligned} \bar{I}_{2:T} &= \text{EmbeddingLookup}(I_{2:T}, P, C^1, C^2, C^3), \\ \hat{c}^3_{T+1}, E^{\text{Prod}}_{2:T} &= \text{ProductTransformer}(\bar{I}_{2:T}), \\ V_{\text{livefore}} &\leftarrow \text{stop}(\hat{c}^3_{T+1}) \cdot \tilde{C}^3 \oplus \text{stop}(\text{flatten}(E^{\text{Prod}}_{2:T})) \end{aligned} \tag{5}\)
其中 $\hat{c}^3{T+1} \in \mathbb{R}^{5000}$ 为预测的下个商品类目信息,$\tilde{C}^3 \in \mathbb{R}^{5000 \times D}$ 为排序模型可训练参数矩阵。通过结合当前序列表示 $E^{\text{Prod}}{1:T}$ 和预测结果 $\hat{c}^3_{T+1}$,排序模型不仅能判断用户当前是否喜爱直播,还能预测其未来是否会持续感兴趣。LiveForesighter整体框架如图3所示。
图3
实验
略