公司网站设计与制作,免费虚拟主机官网,简单的做海报的网站,网站流量分析表前言#xff1a; 电商直播已经成为电商平台流量的主要入口#xff0c;今天我们一起探讨推荐算法在直播中所面临的核心问题和解决方案。以下内容参考阿里1688的技术方案整理完成。
一、核心问题介绍 在电商网站中#xff0c;用户的主要行为是在商品上的行为#xff0c;直播…前言 电商直播已经成为电商平台流量的主要入口今天我们一起探讨推荐算法在直播中所面临的核心问题和解决方案。以下内容参考阿里1688的技术方案整理完成。
一、核心问题介绍 在电商网站中用户的主要行为是在商品上的行为直播的内容行为数据比较稀疏因此商品行为应与直播行为结合来优化直播推荐。 多目标学习直播推荐的效能类指标和满意度指标很多包括用户看到直播间的点击率进入直播间的停留时长转化率关注率留言率等。 减少偏差position bias 与 selection bias 会影响模型的准确性增强马太效应损害腰部、尾部主播的利益。 此内容将在下一遍文章中详细探讨。
二、特征工程 特征包括了推荐系统中非常经典的一些特征体系也就是直播测 item 侧用户侧用户和 item 侧交叉的特征体系。 直播侧 第一是直播的实时和历史的统计特征包括实时以 30 分钟3 天7 天15 天为窗口的开播次数曝光数点击数CTRCVR 等特征。 第二是内容侧特征包括封面图和标题的 embedding。 第三是商家画像特征静态信息有商家等级和店铺交易数据B 类信息有商家工厂能力。 用户侧
用户侧特征里我们一方面采用了网站的用户画像包括网站的身份等级来访频次等另一方面采用直播画像包括偏好访问天数下单数RFM 等特征。 直播用户交叉 用户和直播的交叉特征以非常好地反映用户对直播的偏好程度。我们分别用到了用户在 item 的序列和用户在 live 序列在不同的时间和次数窗口上与直播间的商品以及直播间本身的一些交叉的次数点击率和转化率的特征。
三、直播排序模型迭代 1、第一版我们采用的模型是一个以 CTR 为目标的 GBDT point-wise 模型 2、第二版 基于YouTube 的 DNN 和 DIN演化开发的异构双序列 Attention 模型 行为异构性商品序列、直播序列 采用了两个 Target Attention 的结构分别基于用户在 Item 上的序列 和 当前直播正在讲解的商品做一个 Attention。也就是说如果用户的 Item 序列与当前直播的商品匹配程度比较高模型即可捕捉对应的兴趣。 第二是 基于用户历史点过直播的序列与直播间的 ID 做一个 Attention。用户如果历史看的直播与当前直播间比较相似模型也能捕捉到用户对应的兴趣来提升预测 CTR 准确度。 直播实时性大量实时统计特征
总结
大量的用户只有关于商品item的行为缺少直播相关的行为。因此用户直播的序列的 Attention 结构就不会生效。
3、第三版HIN 异构网络建模 1、构建图
2、Metapath 选取 人工指定语义 例如 User-Item-Useruser CF或者 Item-user-itemitem CFitem-user-item 相当于一个用户同时点了两个商品这两个商品就会较为相似。但对于节点类型多metapath 比较长的序列效果不好可解释性较差 集合中取最优 首先在图中做 random walk采样出不同的序列再做一些规则筛选比如要求至少要覆盖两种不同的节点的类型。所以再用打分公式做一个打分打分公式核心关注该 metapath 被采样出了多少条不同的 ID 组合序列条数越多说明这样的 metapath 在图中共性越高同时我们会更关注核心节点比如直播节点的出现次数依此制定打分公式来选出对应三到五条 metapath 做采样学习。
3、图游走采样 基于选出的 metapath 在图中做游走采样再用 Skip-Gram 训练出 metapath 语义下的 Embedding。
4、Embedding 融合
融合多个 Metapath Embedding 的语义网络
总结V3 的模型仍存在一些问题其一它不是端到端模型其二,T1 更新无法表征实时商品
4、第四版直播 Transformer 异构行为建模
直播 transformer一方面可以让 HIN 融合多个商品表征另一方面可以引入实时直播正在讲解的多个商品的信息。 transformer 方案中直播表征 包含三部分数据 m 个历史核心商品 k 个实时讲解商品的集合序列 用户的商品足迹行为序列。 三组序列进行拼接输入进 Transformer 后即可用来对任意用户商品行为足迹到直播间核心品或实时品进行建模。Transformer 层包括四部分 Embedding输入的 Embedding 包括 Type Embedding 和 Position Embedding Multi head Self Attention任意用户足迹与直播商品表征的交叉 Feed Forward Layer加强模型的非线性能力 Pooling Layer直播 Item 表征为不定长AverageMax pooling Transformer 模型中Embedding 的构建十分关键。输入的 Embedding 不仅包含了商品的 ID Embedding还包含 Type 和 Position Embedding。 Type Embedding Type Embedding 表征 self attention layer 中每个 token 的类型比如用户序列直播间历史品或是实时品。同时用户序列的商品分为点击加购下单商品三种类型。 Position Embedding Position Embedding 用来表征一个序列时间或者空间上的先后顺序此处我们建模了三种不同的条件
一是用户行为序列长度时间由近到远编号由 0 到 n-1
二是直播历史核心商品重要程度由强到弱编号由 0 到 m-1
三是直播实时讲解商品当前商品为 0下一个商品为 1一直到 k-1。同时position embedding 都是端到端的学习。重要性强的位置交叉给予模型更强的信号。例如用户某个最近的历史行为与当前直播的商品有较强的相关性模型信号将会更强。 四、直播多目标排序方案 直播是一个非常经典的多目标学习的场景优化目标包括直播背景页面的点击CTR、进入直播间后的停留时长Stay Time、转换率CVR、互动率CMR、关注率FLR。业务往往需要同时优化多个目标因此多目标学习是非常重要的技术。
1、多目标优化有两套方案
1.1、方案 1目标独立建模 为每个目标单独去建立一个模型这种方案可能会面临着成本高的问题。另外有些目标会面临着数据稀疏的问题更重要的是忽略了目标间之间的信息共享关系。比如一个 5 秒钟的点击和一个 5 分钟的点击它带来这个效果是不一样的如果能把这种时间上的信息作用到点击上也是可以提升点击效果的。
1.2、方案 2多目标联合建模 我们的目标都是通过用户行为来反馈标定的。而在推荐场景下用户的行为有一定的时序关系比如先有点击再有点赞、评论等等其他互动行为所以在做多目标联合建模的时候也需要去考虑目标时序关系也就是 target-target 层面。
2、多目标技术方案演进
多目标业界有两种做法
一种做法是目标之间的独立性假设。没有刻画目标之间的联系而是通过底层的共享机制来完成像这种原生的 Multi-task Learning 也称为 share-bottom 的这种方法。然后还有谷歌提出的 MMoE 的方法腾讯提的这种 PLE 的方法。
另外一类做法是建模目标关系。像阿里巴巴提出的 ESMM然后还有 lazada 提出的这种 GMSL 的模型。 图一Multi-task Learning 图一 是原生 Multi-task Learning也是我们 2018 年升级之后的 base 模型。它是通过底层的共享网络来实现信息的迁移共享每个目标之间共享 share layer然后在上层会有各自的 specific layer通过这种人为去定义哪些要共享哪些不要共享的网络形式来实现信息的迁移。因为这种方式是通过人工方式来指定的所以我们也称为 hard parameter sharing 的一个方法。 图二谷歌提出的 MMoE 图二是 Google 的 MMoE它是采用 soft parameter sharing 方法来实现。因为它通过定义多组的专家网络每一个目标会在网络里自适应的学习我们要选择哪一些专家网络来实现信息的共享所以它会有一个门控的机制。通过这种门控来学习每个目标对每一个专家网络组的权重关系实现底层特征的信息共享。 图三 腾讯的 PLE 腾讯的 PLE认为 MMoE 是所有的专家组都是共享的它没有每个目标自己的一个专家组网络所以又提出了在每个目标都有一个 Specific 的 Expert 的优化方案。 图四阿里巴巴的 ESMM 图四 是阿里巴巴的 ESMM它最初的一个目标是要去优化 pCVR然后通过引入 pCVRpCTR*pCTCVR 这样的目标关系刻画解决了样本选择空间偏差的问题进一步优化 pCVR。 图五azada 提出的 GMSL 图五是 lazada 提出的 GMSL它是通过 GRU 结构去优化目标之间的链式关系。无论是 ESMM 的这种乘积还是 GMSL 这种 GRU 的结构它都只能去刻画特定关系的目标。像下面的网络框架图属于有向无环图从点击到评论点击到进店到成交然后到时长这个相对比较复杂的贝叶斯网络就没法很好的来满足目标的刻画。
3、DBMTL3.0 介绍 DBMTL模型阿里是近来在贝叶斯网络的基础上提出了自己的多目标学习框架 DBMTL全名是 Deep Bayesian Multi-task Learning,就是通过贝叶斯网络来建模这种相对比较复杂的目标时序关系目的是要达到多目标的联合建模。 这个框架也在 3 个场景里面落地实践已经取得了明显正向的效果提升。 猜你喜欢直播 TABpctr12%,uctr7%,人均时长6% 淘宝直播 APPpctr2%,uctr2%,人均时长 2.5% 宫格频道:pctr2.5%,uctr2%,人均时长持平)
代码实现
基于EasyRec推荐算法框架我们实现了DBMTL算法具体实现可移步至githubEasyRec-DBMTL。 4、DMR2.0Deep Match Rank 阿里 2020 年推出模型。目前CTR的提升主要从两个方向
1.在自动学习特征交互和增强模型的表征方面如WideDeep、PNN等
2.从用户历史行为序列中挖掘潜在兴趣再与目标商品内积获取对于目标商品的兴趣评分。如DIN、DIEN。
而本论文出发点就是利用历史序列刻画用户兴趣直接得到U2Iuser和target item相关性具体优化[1]
1) 充分挖掘用户历史交互过的商品与目标商品之间的相关性借鉴召回侧的思路采用了U2I和I2I两个子网络学习user与item之间的相关性DMR 模型是一个将召回和排序联合起来训练的模型
论文中采用了两类CF思想
U2I CF通过用户表征和商品表征的内积直接得到 U2I 相关性。I2I CF 计算 I2I target 和his item的相似度然后根据用户的行为和 I2I 相似度间接得到 U2I 相关性【类似DIN】
2) 引入了auxiliary match network来使U2I子网络学习的更加充分
3) 引入注意力机制和位置编码来学习行为的权重 参考文章
1、阿里1688直播推荐算法实践_大数据_DataFunTalk_InfoQ精选文章
2、【CTR】DMR阿里深度召回排序模型 【CTR】DMR阿里深度召回排序模型_mb5fca0c87ea3a4的技术博客_51CTO博客
3、深度排序模型在淘宝直播的演进与应用_架构_DataFunTalk_InfoQ精选文章