深入eBay推荐系统:如何利用多模态理解和GNN技术提升用户体验

文摘   2024-01-20 11:01   上海  


前言

PREFACE

在eBay,我们始终追求为客户提供无与伦比的购物体验。为了实现这一目标,我们不断优化推荐结果中的商品图文质量,力求为每位用户呈现最真实、最精美的商品。过去,低质量的图片可能导致产品形象失真,使得买家产生槽糕的购物体验。此外,商品标题和图片的文本与图像信息分别存储在不同的向量空间中,使得构建统一且准确的推荐系统面临挑战。传统的深度学习模型在处理这两类信息时效率欠佳。


为了克服这些难题,eBay Recs团队开创性地研发了新型上下文推荐系统。该系统通过整合不同模态和自定义模块(包括图像文本不匹配检测和带有TransH的三元损失函数),并将其融入召回模块。这一创新使eBay的推荐系统更为精准,成功提高了买家的参与度约15%


同时,图神经网络(GNN)在推荐系统领域的应用日益广泛。GNN有效利用图结构中的节点关系和属性,丰富模型特征,缓解了稀疏性和冷启动问题。在推荐系统中运用GNN有助于提升推荐效率和准确性,从而全面提升用户体验。在本文中,eBay Recs团队将详细介绍其在推荐场景中应用多模态与GNN的实践经验,希望能为业界带来启发

PART·1

多 模 态

信息检索 - eBay推荐系统的召回模块

召回模块是eBay推荐系统的核心部分,它承担着从各个角度检索与View Item页面上的主列表最匹配商品的重要任务。作为推荐流程的起点,召回模块在确保商品能够满足用户需求、提供精准相关性和保证高质量方面具有不可替代的地位。


在以前,推荐系统中的召回模块主要依赖于商品标题和图片等单一模态的信息。虽然这种方式在检索相关结果方面效果显著,但也存在明显的局限性:仅依赖单一模态的方法缺乏其他模态的丰富信号。这使得在复杂情境下提供准确推荐变得困难,例如区分玩具车和真实汽车。


为了突破这些限制,我们开创性地整合了商品的多模态信息,开发出高性能的召回模块,显著提高了推荐系统在复杂场景下的准确性。这一创新确保了更加相关和个性化的用户体验。如图1所示,仅依赖文本模态检索相关列表可能导致推荐系统中出现不相关或低质量的商品,因为它们的标题与页面上的主要商品相似,但封面图片的相关性和质量却被忽略。

图1-仅使用文本模态进行检索可能引入低质量的推荐


多模态商品嵌入解决方案

为了解决现有问题,我们最近研发了一项突破性的多模态商品嵌入技术。该技术能够巧妙地融合不同模态的信息,从而获取更为丰富的特征。这一创新使得团队能够更深入地理解eBay上的商品特性,并为推荐系统打造更精确、高效的召回集。此外,我们还引入了列表图像与标题匹配度检测功能,进一步提升了结果的筛选标准。


我们的多模态商品嵌入方案综合运用了来自搜索团队(采用BERT基础模型的文本嵌入)和计算机视觉团队(基于Resnet-50基础模型的图像嵌入)的预训练嵌入技术。这一方案包含一个孪生双塔模型,该模型在机器学习平台上经过训练,旨在预测两个商品之间的共点击概率。为了确保文本和图像嵌入在相同的空间中,我们采用了TransH三元损失函数进行优化。同时,标题-图文不匹配检测模块运用不匹配嵌入技术来预测具有不匹配图片和标题的商品点击概率。

图2-孪生双塔模型的模型结构


在下面的示例中,“嵌入距离”是最后一列的统一分数,从商品标题又从封面图片的角度反映了与种子商品的相似性。新的统一分数与仅依赖“标题相似性”分数相比,更加精确地反映了与种子商品的相似性。

图3-将多模态商品嵌入解决方案与仅文本模态方法进行比较的图示


孪生双塔模型

孪生双塔模型,这一神经网络架构的杰出代表,巧妙地运用两个相同的子网络(或塔)来处理截然不同的输入。它广泛应用于涉及比较或匹配两个输入的任务中,如相似性分析、重复检测和推荐系统等领域。在我们的多模态商品嵌入解决方案中,每个塔代表一个独特的商品,而每个塔的输入则是该商品的预训练图像嵌入与文本嵌入的完美结合。

图4-带有预训练嵌入的双塔模型的架构

通过这一架构,我们能够以端到端的方式,让模型自主探索两个不同商品之间的图像和文本嵌入相似性。这不仅摆脱了对手工制作特征或中间表示的依赖,还赋予了模型更高的灵活性,使其能够轻松适应各类输入数据。通过计算两个商品嵌入之间的关联分数,我们便能精准预测它们是否有可能共同获得点击。更值得一提的是,两个塔中的共享权重为防止过拟合提供了有力保障,确保模型能够提炼出对两种输入都至关重要的代表性特征。


三元损失函数与TransH

在多模态商品嵌入解决方案中,确保图像和文本嵌入共处于同一空间,实现无缝集成,是一大挑战。为了应对这一挑战,团队采用了三元损失函数(Triplet loss)


三元损失函数是深度学习领域的核心损失函数,广泛应用于图像识别、人脸识别等任务。其核心理念在于学习一个嵌入函数,将数据点映射到共享的嵌入空间,进而使用欧几里得距离等度量方式进行比较。三元损失的目标是确保相似商品(如共同点击的商品)之间的距离最小化,同时不相似商品之间的距离最大化。


除了三元损失,团队还借鉴了知识图谱中的TransH概念,将商品投影到一个超平面上。TransH是知识图谱嵌入领域的杰出模型,通过将实体和关系表示为连续空间中的向量,捕捉它们之间的复杂交互。团队巧妙地将这一理念应用于商品的DNN编码图像和文本嵌入上,确保两种嵌入方式能够准确对应相同的商品。

图5-TransH的超平面解释

表1-TransH/E策略的离线训练指标


图文不匹配检测模块

作为在线市场的佼佼者,eBay汇聚了大量由个体卖家提供的二手商品。然而,这些商品的图片质量及其准确展示有时会出现参差不齐的情况。

图6-搜索词“Sony耳机”下标题和封面图片不匹配的一个例子


为了解决这一问题,我们引入了一个复杂的模块。经过深入的数据分析,我们发现当商品在图像与描述之间存在差异时,其点击率和购买率往往会降低。用户往往对这类信息不一致的商品敬而远之。因此,我们采用TransH超平面映射技术,将图像嵌入与标题嵌入相结合,以解决这一问题。我们的预测目标是商品未被点击的概率,这不仅反映了图像与标题之间的不一致性,还揭示了这种不一致性如何影响商品的点击潜力。

图7-不匹配模块的预测目标图解

图8-较高的不匹配分数往往代表有图文不符的情况发生


在模型训练完成后,我们对结果进行了案例分析。结果显示,模型对图像-文本不匹配的预测准确度与实际情况相吻合,这充分证明了我们的图像-文本不匹配模块的有效性。


以下是多模态方法在离线实验中的表现。在模型中融入嵌入空间三元损失和图像-文本不匹配损失后,这两个因素均对模型性能产生了积极影响。

表2-图文不匹配模块加上三元损失的离线训练指标


在线实验结果

在eBay的多个展示推荐页面上,基于多模态嵌入的召回技术已经全面部署,覆盖了列表页面、购物车页面、订单详情页面以及观看页面等。经过严格的A/B测试,我们欣喜地观察到了关键业务指标的显著提升:点击率(CTR)提高了15.9%,购买率(PTR)更是增长了31.5%。自2023年2月起,该多模态召回技术已正式上线,为eBay网站及应用程序提供优质服务。


A/B测试的结果进一步证实,通过将多模态技术融入我们的推荐召回模块,可以有效提升转化率和买家参与度。深入的数据分析揭示了多模态嵌入的强大潜力:它不仅能检索到比单一模态更多的商品,还能精准地检测到文本描述与封面图片之间可能存在的不匹配问题。

图9-多模态和单一模态解决方案的比较


这一综合解决方案不仅提升了推荐系统的整体性能,还为买家提供了更加精准、个性化的购物体验,从而助力eBay在电商领域的持续领先地位。

PART·2

GNN

构造训练数据

构造适用于 GNN 召回模型的训练数据,其核心工作在于定义用户与商品的行为交互图,然后完成在图上的采样工作。


首先我们要建立一个统一的二部图。该图基于历史用户点击数据,定义为G = (V,E),其中节点属于V,包括用户节点u ∈ U和物品节点i ∈ I。边缘E包含用户-物品交互,即每个三元组(u, e, i)表示用户u点击物品i。回忆模型预测用户u是否会与物品i交互,这等同于在该交互图上进行链接预测问题。相应地,我们将带有图上链接的用户-物品对定义为正样本,即y[ui] = 1。


我们GraphSage,采用小批量方式训练模型。因此,接下来我们需要为图上每个节点采样邻居,以便对每个节点进行局部图卷积,并将局部图卷积结构整合到双塔架构中。因此,对于图上的每个用户-物品-链接三元组(u, e, i),我们需要采样用户节点和物品节点的邻居。我们对用户节点u和物品节点i使用不同的采样策略。在用户侧,我们采样所有与目标节点i交互时间戳之前的一跳邻居,即N(u) = {ig|ig ∈ NG(u) and t(ig, u) < t(i, u)},其中NG(u)表示二部图上节点u的所有邻居,t(i, u)表示节点i和u之间的交互时间。我们使用时间戳筛选物品节点,因为它仍被建模为下一个预测顺序推荐问题。在物品侧,我们首先采样其邻居用户节点,除了当前三元组(u, e, i)的用户节点,然后采样这些用户的物品邻居,最后再移除用户节点。即N(i) = {ig|ig ∈ NG(ug) and ug ∈ NG(i) and ug != u}。我们在物品侧不包括用户节点作为邻居,因为在我们的数据集中用户节点本身没有特征,并且引入用户节点也需要更多的工程工作。为了保证可承受的计算量,我们采样的邻居数量有一个上限。在用户侧,我们会更倾向于具有较新交互时间戳的物品,而在物品侧,我们会更倾向于具有较高共同浏览值的目标物品的邻居。


下图是一个具体的例子,展示了基于 (u1,  i3)这个连接对应的采样结果。

模型结构

GNN 召回模型是一个典型的双塔结构,由用户侧和物品侧组成。


物品侧

从图的角度来看,物品侧要完成的任务是聚合目标物品及其邻居物品的所有信息。首先我们需要获得每个物品基本的 embedding 表示,这里我们采用对各个物品特征 embedding 然后使用 MLP 进行合并的方式得到这个表示。接下来的第二步就是利用 GNN将 item 进行聚合。在这项工作中,我们尝试了两种不同的方法:GraphSage和GAT。这两种方法是比较基础且主流的 GNN Backbone,差异在于 GraphSage 使用求和/均值等较为简单的方法聚合,而 GAT 会计算邻居节点跟中心节点的相关性作为 attention,给每个领居节点以不用的权重。在我们的离线评估环节中,我们发现 GAT 比 GraphSage 的效果更好,因此最终我们选择了 GAT 作为最终的版本。


用户侧

在用户侧,我们也需要完成用户行为的聚合,当然这是从图的角度来说,实际上由于用户行为本身是一个序列,所以更适合使用序列建模的思路,因此我们在这里采用的思路是,利用常见的序列建模方法抽取相关的行为特征,然后利用一个自定义的聚合逻辑将用户行为进行合并。通过这种方式,我们在广义上做到了自定义 GNN 模块的效果,而非使用 GraphSage 等“标准”方法。


用户的行为会使用跟物品侧一样的编码模块转化成物品 embedding,然后基于一个 Casual Transformer 模块抽取每个物品包含上下文信息的表示,这步输出的结果仍然是物品 embedding 序列。

然后我们通过一个考虑长短期融合的 Fusion模块将 Transformer 输出的 embedding 序列合并成 user embedding。长短期融合会分别抽取长期行为跟短期行为,然后进行加权合并:














在线实验结果

GNN 召回模型目前主要在eBay 列表页等页面部署,自 2023 年 8 月起正式上线。A/B测试的结果表明,GNN 召回可以在列表页带来累计 10%以上的点击率(CTR)提升,以及累计 5%以上的购买率(PTR)提升。


通过引入 GNN 召回,我们发现该召回明显的增强了用户的转化,并且吸引用户发现更多多样的内容,起到了缓解数据稀疏性问题以及冷启动的作用。

PART·3

总 结

在本文中,我们深入探讨了eBay Recs团队如何巧妙地运用多模态与GNN商品嵌入策略,显著提升了商品推荐的精准度。此方案巧妙地融合了eBay商品的多元数据,同时构建了用户与商品的行为交互图,从而赋予了推荐列表更强的相关性,为买家带来了前所未有的购物体验。这正是eBay利用尖端技术与数据驱动洞见持续优化购物体验的生动体现。




eBay技术荟
eBay技术荟,与你分享最卓越的技术,最前沿的讯息,最多元的文化。
 最新文章