小叽导读:在推荐系统的发展历程中,面临两个核心问题:用户的长尾覆盖度以及新商品的冷启动,在这两个维度下的模型扩展能力的瓶颈一直以来对广大推荐算法工程师都是不小的挑战。本文基于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在淘宝推荐的核心框架如图所示:
首先是构建网络,由于商品推荐的整个网络是大规模的异构网络,我们利用用户对商品的行为序列,提出并定义了新的转移概率连接图,有效克服用户真实session行为中存在的大量热点节点问题:以每个节点为中心,利用其扩散子节点的连接频次及行为共现频次计算转移概率,构建全网的转移概率连接图。
其次则根据构建好的有向带权图,在此基础上进行random walk随机游走,构造出千亿级别的多阶虚拟样本,用于后续的深度网络学习。最后则是对采样数据进行模型训练,将离散的网络节点表示成向量化,最大化节点共现,使用Sampled Softmax来做超大规模分类的分类器,优化的目标是:
三、GES 和 EGES 算法
相比于传统CF算法,上述的推荐Graph Embedding框架能够捕捉商品的高阶相似度,拥有发现能力,但是商品冷启动问题仍然是一个挑战,为了解决这一难题,我们在 Graph Embedding 的 Skip-Gram阶段融入节点的side-information,提出GES算法,核心是同时学习网络节点和节点各side-information的隐式表达,将多维隐向量融合在一起作为商品的最终表示。
在 GES 的基础上,不同商品对不同维度的信息的贡献程度是不一样的,比如 iPad 和 iPhone的相似性来自于他们拥有共同的品牌,两件秋装的相似性则源于它们在同一个店铺销售。因此进一步提出了 EGES,用加权pooling层来加强向量融合的准确性。GES和 EGES 的融合公式分别为:
EGES 的 Embedding 网络结构如下图所示:
引入side-information后同店、相似店铺、同品牌、相似品牌等宝贝在排序中更为靠前;同时对于一些没有出现行为的、新鲜上架的宝贝,根据它的side-information对它进行embedding表达,有效解决了冷启动问题。
四、实验结果
为了验证算法的有效性,我们分别在淘宝内部数据集和 Amazon 开放数据集上进行了实验,并进一步将算法部署到淘宝首图个性化线上业务中,均得到显著的效果提升:
下图直观的解释了结果,运动鞋类目下的宝贝embedding向量降维,颜色代表不同子类目,每一个点代表一个商品降维后的坐标,可以看出同一个类目下的宝贝embedding向量聚合在一起。
下图冷启动商品的召回的示例中,冷启动商品和所找到的相似商品在side-information维度上的泛化相似度,证明我们提出的EGES算法用泛化学习的方式处理了冷启动问题。
五、系统部署
EGES 算法在17年双十一前夕部署上线,完整的工程架构如下图所示:
本篇为《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》的论文解读,该论文收录于 SIGKDD 2018 ,点击文末“阅读原文”,即可进入论文下载页面。