深度模型(十二):Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

本文主要是介绍深度模型(十二):Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

互联网技术一直不断地在改变着商业,今天电子商务已经非常普及了。阿里作为中国最大的电子商务企业,使得全世界的消费者和企业在线上做生意。阿里拥有十亿的用户,2017年的总交易额(Gross Merchandise Volume)为37,670亿人民币,总收入为1,580亿人民币。2017年双十一购物节总交易额在1,680亿左右。其中,淘宝作为最大的C2C平台,贡献了75%的交易额。

淘宝拥有10亿用户,20亿的商品,如何帮助用户快速找到需要的和感兴趣的商品是一个关键问题。推荐系统成为解决这个问题的关键技术。例如淘宝APP的首页(图1)是通过推荐技术基于用户过去的行为而生成的,占总推荐量的40%。简单来说,推荐刺痛已经成为淘宝和阿里交易额和收入的关键因素。虽然学术和工业界有很多成功的推荐方法,比如协同过滤(CF)[9,11,16],基于内容的方法[2],基于深度学习的方法[5,6,22],这些方法的问题由于淘宝庞大的用户和商品数量而变的更加严重。
在这里插入图片描述

淘宝的推荐系统面对的主要问题有三点:

  • 可扩展性(Scallability):虽然很多推荐算法在小规模的数据上表现很好,比如在百万数量级的用户和物品,但这些方法没法扩展到10亿数量级的用户和商品上。
  • 稀疏性(Sparsity):用户一般只会与一小部分的商品有过交互,通过这些少量的交互信息,很难训练一个准确的推荐模型,这个问题通常被称为数据稀疏问题。
  • 冷启动(Cold Start): 淘宝每小时都有数以百万的新商品持续地上传到淘宝。这些商品都没有用户交互信息。这些新商品的推荐十分困难,这个问题通常被称为冷启动问题。

为了解决这些问题,我们设计了分为两阶段的推荐框架。第一个阶段称之为匹配(matching)阶段,第二阶段称之为排序(ranking)阶段。在匹配阶段我们生成一个候选集合,由与用户交互过的商品的相似商品组成。然后在排序阶段训练一个深度模型,基于用户喜好对候选集合内的商品进行排序。两个阶段面对的问题不一样,而且两个阶段的目标也不一样。

本文我们主要关注匹配阶段,核心任务是基于用户的行为计算商品间的相似度,有了相似度之后,就可以基于相似度生成候选集。为了完成这个任务,我们首先基于用户历史行为构建商品图,然后采用Dubbed Base Graph Embedding-最先进的图embedding方法[8,15,17]学习商品的embedding。最后通过商品embedding向量的点积计算物品间的相似度。基于协同过滤的方法也会计算物品间的相似度,但是它们[9,11,16]只会考虑用户的历史行为。我们的方法会在物品图中随机游走,捕捉物品间相似度,所以我们的方法优于CF方法。但是这个方法依然没有解决数据稀疏问题。因此,我们提出采用使用附加信息(side information)来加强embedding过程:Dubbed Graph Emebdding with Side information。例如,同一类的物品在嵌入空间内应该相距更近。通过这个方法,技术在很少甚至没有交互信息的情况下,我们也能获取商品的准确embedding.但是商品有上百种附加信息,比如类别、品牌、价格等等。直观感觉是不同的附加信息对商品的embedding应该有不同程度的贡献。因此我们又提出了一种加权机制:Dubbed Enhanced Graph Embedding with Side information(EGES).

总而言之,匹配阶段有三个重要部分:

  • (1)基于淘宝多年的实践经验,我们设计一个高效的启发式方法,由10亿用户的行为历史构建出物品图
  • (2)我们提出三中embedding方法:BGE(Base Graph Embedding),GES(Graph Embedding with Side Information), EGES(Enhanced Graph Embedding with Side Information).我们通过离线的实验已经证明GES和EGES相对BGE和其他embeding方法更有效。
  • (3)部署方面,我们在我们组XTensorflow(XTF)系统基础上开发了图embedding系统。结果显示我们的方法显著提高了淘宝APP的推荐效果,并且满足了双十一对模型训练效率以及服务性能的要求。

框架

这一节我们首先介绍一下图embedding的基础,然后介绍我们如何由用户的历史行为构建商品graph。最后我们研究所提出的embedding训练方法。

2.1 准备工作

这一小节我们首先整体介绍一下图embedding和最流行的方法之一:DeepWalk[15],基于这些知识我们提出我们匹配阶段的图embedding方法。给定一个图 G = ( V , E ) G=(V,E) G=(V,E),其中V和E分别表示节点和边的集合。图embedding的目标是对于集合中的每一个节点 v ∈ V v\in V vV学习一个低维度的空间表示,表示空间为 R d , d < < ∣ V ∣ R^d, d<<|V| Rd,d<<V.换句话说,也就是我们的目标是学习一个映射函数 Φ : V → R d \Phi: V\rightarrow R^d Φ:VRd,将V中的每一个节点表示为一个维度为d的向量。

[13,14]提出word2vec算法,由语料中学习每个单词的embedding。收到word2vec的启发,Perozzi等提出了DeepWalk算法,学习图中每个节点的embedding[15].他们首先通过图中的随机游走产生节点序列,然后采用Skip-Gram算法学习每个节点的表示。为了保持图的拓扑结构,他们需要解决下面的最优化问题:

m i n i m i z e Φ ∑ v ∈ V ∑ c ∈ N ( v ) − l o g P r ( c ∣ Φ ( v ) ) minimize_{\Phi}\sum_{v\in V}\sum_{c\in N(v)}-logPr(c|\Phi(v)) minimizeΦvVcN(v)logPr(cΦ(v))

其中 N ( v ) N(v) N(v)表示节点 v v v的邻接节点,可以定义为与 v v v的距离为1或2的节点。 P r ( c ∣ Φ ( v ) ) Pr(c|\Phi(v)) Pr(cΦ(v))表示给定节点 v v v,存在邻接节点 c c c的条件概率。

2.2 由用户行为创建商品Graph

实际中用户的历史行为是一些序列,如图2。基于CF的方法只考虑了商品的共现,但忽略了顺序信息,而顺序信息可以更准确的反应用户的偏好。然而不可能使用用户的全部历史行为,因为1)计算的空间和时间复杂度巨大,2)用户的兴趣点随时间会偏移。因此实际中,我们通常设置一个时间窗口,只使用用户在时间窗口内的行为历史。我们称之为基于会话的用户行为。时间窗口的经验值通常设置切一小时。

在获取了用户的基于会话的行为数据后,如果两个物品在行为数据中先后出现,则在物品间添加一条边。入图2中,物品D和A之间存在一条边,因为他们被用户U1先后访问。我们基于物品在所有用户行为序列中先后出现的次数,为没一条边赋予一个权重 e i j e_{ij} eij

在这里插入图片描述

实际中,在提取用户行为序列之前,我们需要过滤掉无效的和异常的行为,降低噪音。目前下列行为被认为是噪音:

  • 停留时长低于1秒的点击,可能是无心的点击,需要过滤掉
  • 有一些过于活跃的用户,实际上是爬虫,需要过滤掉
  • 商家在太傲持续的更新商品的详细信息。在极端的情况下,商品变成了完全不同的另一个商品,需要移除。

2.3 Base Graph Embedding

给定加权图 G = ( V , E ) G=(V,E) G=(V,E), M M M表示图的相邻矩阵, M i j M_{ij} Mij表示由 i i i j j j的边的权重。我们首先基于随机游走产生节点序列,然后采用Skip-Gram算法训练模型。随机游走的概率为:

P ( v j ∣ v i ) = { M i j ∑ j ∈ N + ( v i ) M i j , v j ∈ N + ( v i ) 0 , e i j ∉ E P(v_j|v_i)= \begin{cases} \frac{M_{ij}}{\sum_{j\in N_{+}(v_i)}M_{ij}}, & v_{j}\in N_{+}(v_i)\\ 0, & e_{ij} \notin E \end{cases} P(vjvi)={jN+(vi)MijMij,0,vjN+(vi)eij/E

其中 N + ( v i ) N_{+}(v_i) N+(vi)表示出边的邻接节点集合。通过随机游走产生了一些序列,如图2©.

然后我们采用Skip-Gram算法[13,14]学习embedding,目标是最大化序列数据中两个节点共现的概率。等于以下目标:

m i n i m i z e Φ − l o g P r ( { v i − w , . . . , v i + w } \ v i ∣ Φ ( v i ) ) minimize_{\Phi} -logPr(\{v_{i-w},...,v_{i+w}\} \backslash v_i|\Phi(v_i)) minimizeΦlogPr({viw,...,vi+w}\viΦ(vi))

其中 w w w表示窗口大小。假设条件独立,得到:

P r ( { v i − w , . . . , v i + 2 \ v i ∣ Φ ( v i ) } ) = ∏ j = i − w , j ≠ i i + w P r ( v j ∣ Φ ( v i ) ) Pr(\{v_{i-w},...,v_{i+2}\backslash v_{i}|\Phi(v_i)\})=\prod_{j=i-w, j\ne i}^{i+w}Pr(v_j|\Phi(v_i)) Pr({viw,...,vi+2\viΦ(vi)})=j=iw,j=ii+wPr(vjΦ(vi))

通过负采样[13,14], 可以转化为:

m i n i m i z e Φ l o g σ ( Φ ( v j ) T Φ ( v i ) + ∑ t ∈ N ( v i ) ′ l o g σ ( − Φ ( v t ) T Φ ( v i ) ) ) minimize_{\Phi}log\sigma(\Phi(v_j)^T\Phi(v_i) + \sum_{t\in N(v_i)'}log\sigma(-\Phi(v_t)^T\Phi(v_i))) minimizeΦlogσ(Φ(vj)TΦ(vi)+tN(vi)logσ(Φ(vt)TΦ(vi)))

其中 N ( v i ) ′ N(v_i)' N(vi)表示 v i v_i vi的负样本, σ ( x ) = 1 1 + e − x \sigma(x)=\frac{1}{1+e^{-x}} σ(x)=1+ex1.经验上,负样本越多,效果越好。

2.4 Graph Embedding with Side Information

2.3的算法并没有解决冷启动的问题。为了解决冷启问题,我们加入附加信息,包括商品的类型,商店,价格等等。这些信息广泛的用在排序阶段,而匹配阶段比较少用。我们可以在匹配阶段假如这些信息。例如喜欢Nikon镜头的或许也喜欢Canon的劲头(相似的商品类别和相似的品牌)。这意味着有着相似附加信息的商品在嵌入空间内应该距离相近。基于这个假设,我们提出GES算法,如图3.

在这里插入图片描述

为了表达的简洁,我们用 W W W表示embedding矩阵或附加信息。 W v 0 W_v^0 Wv0表示商品v的embedding. W v s W_v^s Wvs表示节点v相关的第s类附加信息。对于有n类附加信息的商品v,有n+1个向量 W v 0 , . . . , W v n ∈ R d W_v^0,...,W_v^n \in R^d Wv0,...,WvnRd。其中d表示嵌入空间的维度。注意我们经验地将物品和附加信息的空间纬度设置为相等。

如图3,我们连接这n+1个embedding向量并添加一个平均pooling操作:

H v = 1 n + 1 ∑ s = 0 n W v s H_v=\frac{1}{n+1}\sum_{s=0}^nW_v^s Hv=n+11s=0nWvs

2.5 Enhanced Graph Embedding with Side Information

GES假设各种的附加信息对embedding的贡献相等,但这个假设并非实际情况。为了解决这个问题,我们提出EGES算法。对于商品v, A ∈ R ∣ v ∣ × ( n + 1 ) A\in R^{|v|\times(n+1)} ARv×(n+1)表示权重矩阵,其中 A i j A_{ij} Aij表示j类附加信息对于第i个物品的权重。我们用 a v s a_v^s avs表示s类附加信息对物品v的权重, a v 0 a_v^0 av0表示物品v本身的权重。然后 H v H_v Hv定义如下:

H v = ∑ j = 0 n e a v j W v j ∑ j = 0 n e a v j H_v=\frac{\sum_{j=0}^ne^{a_v^j}W_v^j}{\sum_{j=0}^ne^{a_v^j}} Hv=j=0neavjj=0neavjWvj

对于节点v和它的上下文借点u,我们用 Z u ∈ R d Z_u\in R^d ZuRd表示embedding ,y表示标记。则EGES的目标函数为:

L ( v , u , y ) = − [ y l o g ( σ ( H v T Z u ) ) + ( 1 − y ) l o g ( 1 − σ ( H v t Z u ) ) ] L(v,u,y)=-[ylog(\sigma(H_v^TZ_u))+(1-y)log(1-\sigma(H_v^tZ_u))] L(v,u,y)=[ylog(σ(HvTZu))+(1y)log(1σ(HvtZu))]

这篇关于深度模型(十二):Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382286

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG