论文解读 | 数十亿商品中,长尾和新品怎么找到新主人?

简介: 小叽导读:在推荐系统的发展历程中,面临两个核心问题:用户的长尾覆盖度以及新商品的冷启动,在这两个维度下的模型扩展能力的瓶颈一直以来对广大推荐算法工程师都是不小的挑战。本文基于Graph Embedding的理论知识提出了创新框架,旨在提升商品推荐的多样性和发现性。

小叽导读:在推荐系统的发展历程中,面临两个核心问题:用户的长尾覆盖度以及新商品的冷启动,在这两个维度下的模型扩展能力的瓶颈一直以来对广大推荐算法工程师都是不小的挑战。本文基于Graph Embedding的理论知识提出了创新框架,旨在提升商品推荐的多样性和发现性。

一、背景介绍
淘宝个性化推荐场景所面对的数以十亿计的用户、商品、交互数据和各类属性构成了一个规模庞大的异构网络,如果能将网络中的各类信息统一建模在同一个维度空间,用向量的方式进行表达,它的简洁和灵活性会有巨大的应用空间。据我们所知,业界尚未有对如此大规模复杂网络进行graph embedding建模的成熟应用。

在本篇论文中,我们针对推荐场景,基于Graph Embedding的理论知识创新框架:

利用用户的序列化行为构建graph,结合随机游走技术对用户行为进行"虚拟采样"拟合出多阶的潜在兴趣信息;同时利用side information-based模型进行知识泛化学习,提出了Graph Embedding with Side Information(GES)和Enhanced Graph Embedding with Side Information (EGES)两种向量聚合算法,对上亿级别的商品和其side-information进行embedding建模,并作为一种全新的召回在手淘首图个性化场景部署应用。

实验结果显示,新提出的GES和EGES算法得到显著效果提升,并解决了用户覆盖和商品冷启动问题,提升了商品推荐的多样性和发现性。

二、Base Graph Embedding算法框架

Graph Embedding在淘宝推荐的核心框架如图所示:

image

首先是构建网络,由于商品推荐的整个网络是大规模的异构网络,我们利用用户对商品的行为序列,提出并定义了新的转移概率连接图,有效克服用户真实session行为中存在的大量热点节点问题:以每个节点为中心,利用其扩散子节点的连接频次及行为共现频次计算转移概率,构建全网的转移概率连接图。

其次则根据构建好的有向带权图,在此基础上进行random walk随机游走,构造出千亿级别的多阶虚拟样本,用于后续的深度网络学习。最后则是对采样数据进行模型训练,将离散的网络节点表示成向量化,最大化节点共现,使用Sampled Softmax来做超大规模分类的分类器,优化的目标是:
image
三、GES 和 EGES 算法

相比于传统CF算法,上述的推荐Graph Embedding框架能够捕捉商品的高阶相似度,拥有发现能力,但是商品冷启动问题仍然是一个挑战,为了解决这一难题,我们在 Graph Embedding 的 Skip-Gram阶段融入节点的side-information,提出GES算法,核心是同时学习网络节点和节点各side-information的隐式表达,将多维隐向量融合在一起作为商品的最终表示。

在 GES 的基础上,不同商品对不同维度的信息的贡献程度是不一样的,比如 iPad 和 iPhone的相似性来自于他们拥有共同的品牌,两件秋装的相似性则源于它们在同一个店铺销售。因此进一步提出了 EGES,用加权pooling层来加强向量融合的准确性。GES和 EGES 的融合公式分别为:
image
EGES 的 Embedding 网络结构如下图所示:
image
引入side-information后同店、相似店铺、同品牌、相似品牌等宝贝在排序中更为靠前;同时对于一些没有出现行为的、新鲜上架的宝贝,根据它的side-information对它进行embedding表达,有效解决了冷启动问题。

四、实验结果

为了验证算法的有效性,我们分别在淘宝内部数据集和 Amazon 开放数据集上进行了实验,并进一步将算法部署到淘宝首图个性化线上业务中,均得到显著的效果提升:
image

下图直观的解释了结果,运动鞋类目下的宝贝embedding向量降维,颜色代表不同子类目,每一个点代表一个商品降维后的坐标,可以看出同一个类目下的宝贝embedding向量聚合在一起。

image

下图冷启动商品的召回的示例中,冷启动商品和所找到的相似商品在side-information维度上的泛化相似度,证明我们提出的EGES算法用泛化学习的方式处理了冷启动问题。

image
五、系统部署

EGES 算法在17年双十一前夕部署上线,完整的工程架构如下图所示:
image

本篇为《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》的论文解读,该论文收录于 SIGKDD 2018
原文发布时间为:2018-08-29
本文作者:缘方
本文来自云栖社区合作伙伴“ 阿里技术”,了解相关信息可以关注“ 阿里技术”。

相关文章
|
4月前
|
存储 安全 Java
synchronized 锁升级
JDK 6 引入的 synchronized 锁升级机制,通过偏向锁、轻量级锁和重量级锁的动态切换,优化了多线程同步性能。该机制根据竞争情况逐步升级锁状态,减少线程阻塞和系统调用开销,从而提升并发效率。
203 0
|
4月前
|
数据安全/隐私保护 Python
购买记录截图生成器, 京东订单p图生成器, 淘宝购买截图生成【python】
这个代码实现了电商购买记录截图生成器,包含以下功能:模拟京东和淘宝的订单界面
|
存储 安全 数据安全/隐私保护
解锁Python安全新姿势!AES加密:让你的数据穿上防弹衣,无惧黑客窥探?
【8月更文挑战第1天】在数字化时代,确保数据安全至关重要。AES(高级加密标准)作为一种强大的对称密钥加密算法,能有效保护数据免遭非法获取。AES支持128/192/256位密钥,通过多轮复杂的加密过程提高安全性。在Python中,利用`pycryptodome`库可轻松实现AES加密:生成密钥、定义IV,使用CBC模式进行加密与解密。需要注意的是,要妥善管理密钥并确保每次加密使用不同的IV。掌握AES加密技术,为数据安全提供坚实保障。
527 2
|
SQL 安全 网络安全
网络安全与信息安全:从漏洞防护到加密技术的深度解析
本篇文章将深入探讨网络安全与信息安全的核心领域,重点关注网络安全漏洞的识别与防护、先进的加密技术以及提升安全意识的策略。通过详细分析各个方面的知识和实际应用,我们旨在帮助读者更好地理解并应对日益复杂的网络威胁。
1241 0
|
网络协议 网络虚拟化 数据安全/隐私保护
ACL 基本原理与实验
ACL 基本原理与实验
|
监控 算法 Java
保卫你的API:深入了解接口限流
保卫你的API:深入了解接口限流
962 0
|
算法 JavaScript 前端开发
JavaScript学习 -- RSA算法应用实例及公钥私钥的生成方法
JavaScript学习 -- RSA算法应用实例及公钥私钥的生成方法
575 0
|
测试技术 编译器 Shell
快排&超详细,Leetcode排序数组题目带你升华掌握(下)
快排&超详细,Leetcode排序数组题目带你升华掌握(上)
300 0
Focal Loss升级 | E-Focal Loss让Focal Loss动态化,类别极端不平衡也可以轻松解决(二)
Focal Loss升级 | E-Focal Loss让Focal Loss动态化,类别极端不平衡也可以轻松解决(二)
419 0