wordpress模板选择,seo网站基础建设,云网站建设 优帮云,wordpress采集同步多模态在京东内容算法上的应用
作者#xff1a;京东零售技术
2024-09-04 北京 本文字数#xff1a;5226 字 阅读完需#xff1a;约 17 分钟 本文作者唐烨参与 DataFunsummit2024#xff1a;推荐系统架构峰会#xff0c;在专题【多模态推荐论坛】中分享了多模态算法在京…多模态在京东内容算法上的应用
作者京东零售技术
2024-09-04 北京 本文字数5226 字 阅读完需约 17 分钟 本文作者唐烨参与 DataFunsummit2024推荐系统架构峰会在专题【多模态推荐论坛】中分享了多模态算法在京东电商内容上的应用。本次分享分为三部分首先是京东内容理解能力概况其次是多模态在京东视频分发业务场景的应用包括召回和精排上的具体模型建模最后将展望我们未来潜在的实践方向。 唐烨武汉大学计算机硕士京东搜推内容算法负责人负责京东搜索推荐视频、直播、店铺、聚合素材业务算法工作。专注互联网搜广推行业近 10 年。 01 京东内容理解能力介绍
首先对业务背景做一下简要介绍。
我们负责的业务具有 M5 特点一是多源我们在整个搜索和推荐两大核心的主站场景上都参与相关算法的建模二是多素材我们的推荐内容不光包含视频直播还有店铺以及聚合素材三是多位我们负责的推荐位包括首页以及首页点击进入的内页还有黄流的商详等四是多行为关系用户和 item 触点的 interaction包含点击观看、转发、评论、加购、收藏等多种 interaction 交互行为五是多模态因为会涉及到视频和直播等会存在图片模态、文本模态等多模态的推荐融合问题。 京东内容算法的分发链路主要分为两部分第一部分是标准的效率链路解决的是 for C 的效率以及 for C 的体验具体包含标准的召回、粗排、精排环节然后到 rank 接子环节以及多素材融合混排环节。效率链路我们会结合召回多模态帮助内容冷启同时在排序多模态强化内容兴趣表达。
第二部分是 ToB 机制链路分发涉及三个环节首先是业务运营将拉动的供给通过一定的阶段进入冷启分发池分发池完成冷启分发后经 top k 阶段进入后续助推分发流程得到更大曝光助推完成后继续通过 top k 进入爆品池。面向 ToB 机制链路有更多的流量确定性和可解释性。这里我们更多是结合动态内容理解进行一些应用比如入池规则我们会基于标签实现供给多样性分发我们会选取不同标签类型进入冷启库以满足更多用户的需求实现场域内 UV 渗透。
内容理解主要包括三大部分 分类标签包括主题标签如健康减肥、食疗养生等对内容显示化标签的分类、兴趣标签如美食、数码等对用户个性化兴趣的分类、题材标签如产品展示、知识图谱等对知识类别的分类、风格标签如性感擦边等对主题风格的刻画。 质量标签包括封面质量、标题质量、视频质量、音频质量等保证分发视频和直播的高质量。 语义表征对标题、关键帧和封面嵌入表征。
文本内容编码器主要应用 Transformer 结构图像类应用 EfficientNet下面具体介绍多模态在排序和召回的应用。
首先排序模块是以 MMOE 作为 backbone 适应主要是适应不同场域、不同素材模态的动态标注以及分发任务。除此之外我们设计了不同的子模块分为三方面一是全面特征应用专门对多模态建模去帮助线上做分发二是要建模差异化内容兴趣会结合不同场域、不同素材实现 CDR 的跨域建模以及多任务的一个优化的一个方法三是 take in commonly 挑战问题比如冷启问题以及时效性问题在直播的分发里时效性的要求非常高比如 618 双十一大促环节直播样本的分布和特征分布基本上是秒级的。 多模态在精排上的应用我们主要考虑解决两类问题
一是多模态语义对齐问题我们在推荐任务里面常用到的 ID 语义跟多模态空间是不对齐的而且有重叠的问题。如下图所示拿到 ID 模态的 embedding通过非线性变换 generator 生成器把它投影到 text 模态和 video 模态。在 text 模态里面可以看到投影过来的整个语义表达和真实的文本语义是有偏差的投影过来了 ID 的文本模态可能表征的是苹果手机而真实的模文本模态会是苹果手机带上一些产品规格如 256G 内存等等。同理在将 ID embedding 投影到视觉模态上也有类似问题如 ID embedding 投影到视觉模态可能展现出手机一些轮廓的基本信息但真实视觉模态除手机轮廓信息外还包括手机的颜色、纹理、质感等更丰富的信息。我们期望在语义对齐的基础上能够利用细节差异化信息实现端到端任务建模。
二是多模态个性化不同人对不同模态有不同喜好。比如一个人是电子数码爱好者他可能在信息流分发浏览里更多关注的是产品品牌名称以及规格的信息所以对文本模态的关注度会比视觉更高一些。 基于此我们提出了 GMF 框架这个框架包含两部分第一部分是 DSN 的残差主要解决多模态信息中和 ID embedding 相比冗余的部分把这些 detail 的信息抽取出来更 solid 地融合到后链路的模型里面去。第二部分是个性化建模用户对不同模态的偏好建模是 MIN 结构。 DNS差集由两块构成一是 CGGN 对抗神经网络我们会将 ID embedding 通过非线形变换投影到不同模态空间通过这种投影空间的映射以后可以拿到 H ̂_m 语义表征完成后进入到第二部分 auto-differenceauto-difference 主要是自动学习 ID 语义隐含模态冗余部分核心是用原始模态 H_m “减“去由 CGGN 得到的 H ̂_m 语义表征从而提取细节信息。
“减“的过程是把 H ̂_m 乘以 W_m^s (非线性变换)W_m^s 变换会 concat 三部分内容分别是真实模态内积和 ID embedding 映射的模态信息来获取 in common 部分以及真实模态减去 ID embedding 映射到 m 模态的部分得到差集然后再与 H ̂_m 做内积。最终获得真实细节。 MIN 模块主要是将用户信息通过非线性变换得到用户对于三种模态的兴趣概率表达分别是 customer text(C_T)、customer ID embedding(C_E)、customer video(C_V)。之后通过 softmax 将其映射到 0-1 概率空间将下层不同模态信息乘以用户概率兴趣表达最终实现多模态融合。
这里补充说明一下不同模态信息会先通过 attention pooling 得到多种模态聚合信息然后再结合用户对于不同模态兴趣概率的表达实现模态个性化融合。 接着介绍一下多模态在召回上的一些应用首先给大家介绍一下召回整体体系召回在整个 sort 应用分为在线和离线两大类。
在线模型按照用户行为积累从冷启到少量再到丰富分阶段构建多模态的兴趣召回以及异构多子图召回和非内积在线索引召回离线模型会基于挖掘方式去解决用户冷启问题以及物料冷启问题。 对于物料冷启问题我们会通过标签理解打标结合用户在线上的历史点击来表征对于标签内容的兴趣得到用户在标签上的兴趣画像。然后物料在冷启的时候通过显示的内容理解的标签去做兴趣匹配以实现物料冷启的分发。
除此之外我们还挖取了多行为 screen 协同频繁点击和爆品召回。下图是多模态在召回上的一个具体实施先是通过 CLIP 预训练模型得到多模态的 embedding 表征再通过 interaction 层和 MLP 映射到线上点击或者转化某一种 label 概率上。
正样本主要是选取用户在 sku-video 和 video-video 共点击关系。在负样本采样上我们采用的是全局随机负采保证正负样本 1: 4 比例进行模型的训练。
在线推理分为两块。一是用户侧seed_sku 选取用户全站近两个月点击的 sku。二是 物料侧将第一个 item index 检索出的视频物料通过 cl 全部视频配对做类目圈选实现 i2i 的线上召回。 关于内容的算法分发解决物料冷启的问题我们经过了三个阶段的演进多模态是在偏后的阶段才逐步发展。
一阶段为了解决冷启问题我们引入了异构图建模异构图建模在交互不太丰富的冷节点通过消息传递和非信息变换能够将比较远距离的凝聚信息聚拢帮助 user 侧和 item 侧的表征。
但在一阶段我们发现简单地利用异构图建模不能够很好地发挥图本身的特性一些连通性比较好的节点可能通过两到三阶的消息传递就能够比较快收敛。对于一些稀疏节点我们期望能够得到第四阶、第五阶甚至更远距离的消息传递如何实现不同图的连接点的连通性从而个性化制定它的传导深度是我们需要解决的问题。我们通过公式推导发现整个消息传递 HVK 这个过程当 k 也就是效益传递的深度趋近无穷时最终得到的公式是其收敛状态即只跟当前节点的出度入度以及整个图的节点数量规模有关所以会存在连通性比较好的节点能够很快收敛但对于连通性比较差节点收敛得更慢。
所以我们考虑引入门控机制来实现一个基于布通的节点的稀疏程度、局部图的连通性特性的一个下雪传递的方式。如图所示H_k 消息传递过程中引入 GATE 门控网络GATE 门控网络最终通过 SoftMax 映射到 0-1 空间对于每一层如 H_k 融合上一层 H_(k-1) 信息时它会点乘 GATE 信息网络有保留的与 H_(k-1) 信息融合从而一定程度软性实现不同连通性的节点能够实现不同程度的信息融合。 但是即使我们做了两版迭代后仍然不能解决全冷视频启动问题因为图建模需要有边连接在图里才能够通过消息传递的方式帮助收敛。但是对于离群点全冷视频我们没办法分发。
在这里我们引入了多模态帮助全冷视频启动分发具体做法也并不复杂我们会拿视频关键帧的 embedding 语义然后通过视频关键帧 embedding 语义的相似度设定阈值建立虚边帮助离群点冷启。
同理对于文本模态也会通过相似距离设定阈值来建立文本模态的虚边这两种虚边是异构边我们通过 Meta path 的方式能够结合 attention 学习得到不同模态在整个交互图里的语义权重信息最终帮助 user 和 item 侧的表达。对于 item 侧通过虚边的建立能够对全冷物料分发取得一定效果。
通过三阶段演进我们最终利用预训练多模态 GNN 实现了跨场景和全链路表征增强。 最后介绍一下训练和线上的分发 Infra 的过程。
训练模块通过日志构建的模型样本帮助模型离线训练通过模型训练拿到 embedding构建 V2V 等多种向量化词表向量化词表在线上分发时会加载在 index 索引模块。
在线向量化召回会把模型以及 item 侧的 embedding load 到 index 里面实现在线向量化和词表类双检索过程。当 user 访问用户服务时我们得到 user ID 以及用户的 behavior sequence 以及一些 side info将这些信息打包给 index 模块。用户的 behavior info 以及 side info 信息会做 info 实现一个向量化检索的召回用户的历史 trigger 会作为 seed 实现 s2v 检索最终将向量化检索和词表类检索的召回结果的 candidate 整体返回给主引擎主引擎将结果传递给后链路精排模块精排模块实现 top k 打分后把最终结果返回给用户。 02 未来的方向
未来我们将主要探索以下三个方向。
一是内容理解目前团队内部在做一些与大模型结合的工作我们构建了自己的电商领域 LLM fine-tuning 大模型以及电商知识图谱并将电商知识图谱通过 RAG 索引方式结合起来构建了 LLMRAG 解决方案。我们通过 SFT 一些多模态的指令对齐能够提升多模语义表征标签的质量。
二是线上分发不管是召回还是精排我们都是两阶段首先是通过预训练方式得到多模态的表征然后将表征再结合召回和精排进行端到端的建模这其实有一定语义损失我们期望拿到最原始的多模态形式端到端的做任务建模。但这里可能会存在模型较大、计算资源较重的问题。对于这个问题我们可以通过两阶段首先是利用端到端训练得到通用的动态多模态编码器进行多模态 embedding在实际应用中根据具体任务融合多模态的信息在后阶段进行小的端到端建模这样能够一定程度缓解任务过大在端上应用多模态建模的问题。
三是供给的生产电商的内容分发与标准的抖快任务分发不同后者不存在供给不足的问题但对于电商而言内容生产成本还是较高所以一定程度上会存在供给不足的问题我们也期望探索大模型在生成视频和聚合素材上的工作来缓解供给多样性不足问题。 03 QA
Q1如果我们直接分发一个商品商品转化率相对来说比较高我们可以直接基于转化目标是否成功进行建模例如搜索就不是稀疏场景但是对于视频分发他会多一跳您是如何考虑这个问题
A1在零售场景动线会相比传统的商品购买路径多一跳导致它转化 label 比较稀疏。但我觉得这个稀疏问题是业界订单转化特别是广告订单转化的通用问题。视频推荐在京东业务考核的不光是转化更多是期望在首页推荐里通过这种富媒体方式增加用户浏览软件时长从而增加复访带来潜在长期用户确保辅助决策后下单行为所以它对于 GMV 转化更偏长期。另一方面我们在整个用户动线上也会有一些优化比如说多一跳问题我们也通过整个商品详情页的短接浮层尽量减少他下单所经历的漏斗层数从而增加订单规模。
Q2首页的推荐有不同的物料例如直播、有短视频、还有商品混排策略大致是什么您在做混排时需要考虑哪些问题
A2混排我们有专门的团队做我可以大概介绍一下混排本质要解决的问题是它要面向不同的素材包需要实现不同素材以及不同类型素材混合排序过程。不同业务素材队列是通过精排 rank 后首先是保序保证不同业务队列排序一定。在不同物料的排序是实现不同物料在保序技术上相互穿插的过程穿插过程其实要考虑基于 list-wise 效率最优化过程最终的目标也是按照场域目标比如说我们推荐场域是时长点击以及转化搜索场域主要是转化为主这个过程中混排也是分两阶段分别是序列生成和序列优选阶段序列生成要保证整个序有限的情况下实现基于 list-wise 候选生成。