Emdedding向量技术在蘑菇街推荐场景的应用

花名:越祈

部门:算法中心搜索策略组

入职时间:2017/06/01

主要从事蘑菇街推荐算法相关研发工作

  • 引言

蘑菇街是一家社会化导购电商平台,推荐一直是其非常重要的流量入口。在电商平台中,推荐的场景覆盖到用户浏览行为和交易的各个环节,如搜相似、商品详情页、购物车、订单和支付等。传统的itemCF、关联规则、simirank、swing等推荐相似召回技术也广泛应用于推荐各个场景中。在电商场景,计算商品和商品、用户和商品之间的相似性是一个非常重要的课题,但是受限大部分数据是稀疏,传统的关联规则,simirank等并不能很好的解决。按照前期的经验,在数据充足的头部热门商品上,各相似算法的效果相差不大,但在中部和长尾商品,效果差别明显。并且,受限于计算规模,在关系链上很难建立大于3跳的关系,故商品间的相似性关系表达也受限。

Embedding技术具有实现简单,表达能力强等优点,在一定程度上能有效解决上述问题。目前,团队小伙伴共同尝试了word2vec、node2vec以及基于点击行为的监督式模型。目前,线下评估效果和线上实验效果均有不错提升。其中原生的word2vec,偏向热门商品和类目相似,不符合预期。node2vec对比基线有提升,但是node2vec依赖随机游走的策略,比较耗资源,目前效果不如监督模型。本文重点描述监督式模型的Embedding在商品详情页推荐召回的试验结果。

  • 模型简介

1. 输入数据

(1) 预训练好的商品向量:使用图像向量作为预训练好的商品向量输入模型,商品图像向量为512维,直接放入模型中容易撑爆内存,容易导致模型训练失败。使用sklean.decomposition.TruncatedSVD,首先将512维的图像向量降维到256维,再作为模型输入。

(2) 用户N天点击数据:用户点击商品pair对作为正样本,label为1,随机构造用户未点击商品pair对作为负样本,label为0,正负样本比例为1:3。

2. 基础模型

预训练好的商品向量经过全连接层后维度与用户向量维度相同。经过全连接后的商品向量与用户向量矩阵相乘,并在axis=1维度上求和得到相关分,并加上偏差项。最后经过sigmoid_cross_entropy_with_logits计算得到loss。

整个模型思路简单,训练完成后,可以输出用户向量和商品向量。且后期能在多个环节上进行模型优化,如可以把矩阵相乘变成网络结构进行尝试。此外,用户向量是随机初始化,可以使用用户偏好、用户画像等更好的表示用户向量。

  • 离线评估

1. auc评估

1.1 评估数据

评估数据总共4列,分别为:用户id,用户点击序,详情页推荐场景用户点击/曝光商品,标签label(1为用户点击,0为曝光未点击)

1.2 评估结果

(1)监督模型商品向量比node2vec向量auc评估要高,相对提高约5%;

(2)监督模型商品向量&用户向量,比单独使用商品向量auc评估高,相对提高约1%;

(3)一天未更新向量,监督模型和node2vec商品向量,auc稳定;

(4)一天未更新商品向量和用户向量,由于用户行为变化较大,auc略微下降;

1.3 评估商品向量头部热门、中部和尾部商品auc

(1)监督模型和node2vec模型头部商品向量差距不大;

(2)监督模型在中部和长尾商品向量auc表现更好;

2. 单个case评估item2item

计算每个商品最相似的topN个商品,查看商品相关性,给出3个例子,第一个为主商品,后面为通过商品向量计算的最相似的n个商品。

3.单个case评估user2item

第一为某用户真实的点击商品,第二行为使用用户向量和商品向量计算的改用户用最关的N个商品

case1:

case2:

case3:

4. 图像向量i2i分数相关性

分别使用图像商品向量和监督模型商品向量,计算每个商品的top200相似商品,重合率为31%,pearson相关性为0.685。

5. tsne低维可视化

5.1 商品向量在叶子类目下tsne两两可视化

随机抽取50个叶子类目下的所有商品,tsne可视化结果如下:(左边为监督模型生成商品向量;右边为node2vec模型生成商品向量)

从两图中可视化效果可以看出,监督模型在叶子类目上的区分度更明显,效果更好.

监督模型

非监督模型

5.2 商品向量在店铺下tsne两两可视化

随机抽取50个店铺下的所有商品,tsne可视化结果如下:(左边为监督模型生成商品向量;右边为node2vec模型生成商品向量)

从图中可视化效果可以看出,监督模型在店铺上的区分度更明显,效果更好

监督模型

非监督模型

6. 评估总结

此外,还有一些与线上真实数据的召回率、命中率、准确率等评估指标,在此不一一给出。

在商品向量覆盖上,基于图像向量的监督模型,基本能覆盖蘑菇街平台上所有商品,而node2vec只能覆盖样本中用户有行为的商品。故监督模型embedding生成商品向量无论在各项离线苹果指标上,还是商品覆盖上,均提升明显。

  • 线上a/b测试效果

商品详情页推荐场景召回阶段目前主要有两个召回策略,一个是传统相似算法融合模型,另一个是使用商品向量进行扩召回。传统相似算法融合模型召回的商品曝光占比约为70%,使用商品向量扩召回的商品曝光占比约为25%,其他5%。

线上整体提升效果为,pv点击率提升约3%,uv点击率提升约1.2%,gmv分天波动较大,平均提升约4%,且根据以往经验,gmv的提升需要更长的a/b测试时间,才能看出稳定效果。

对比node2vec模型和监督模型的商品向量,进行扩召回策略,在策略维度上,整体pv点击率提升25%,uv点击率14%。

此外整体效果上和分策略效果上,曝光/点击去重商品数,以及曝光/点击叶子类目数均提升明显。

详细分析实验数据,监督模型能在商品详情页推荐召回中召回更多相同叶子类目下的商品。详细数据、指标和分析过程,由于比较敏感,在此不详细给出。

目前,还仅将商品向量应用于线上,用户向量暂时还未进行小流量实验,后续会逐步验证线上效果。

  • 总结

目前只是在召回层使用Embedding向量,更多的成本在系统改造上,商品量离线全量计算cosine相似度问题已经解决,但线上实时计算,成本较大,目前正在逐步优化改进。商品详情页同店商品推荐场景,由于同店商品候选集较少,线上实时计算目前rt可接受,故能应用于商品详情页。工程系统改造后,可应用于其他推荐场景。后续也准备在排序阶段,以及搜索排序等多个场景加入Embedding向量的应用。

在多项离线数据评估指标和线上实验数据分析结果中,也发现node2vec模型,无论是在工程上还是样本构造,和一些小的trick上,效果上有更大的优化空间。目前,团队小伙伴也在node2vec模型上进一步优化,后续可继续对比离线和线上指标效果。

在embedding技术实践于蘑菇街推荐场景过程中,其离线评估指标的建立,非常重要,能一定程度上减少线上ab小流量实验测试的成本。细致的数据分析也能为后期迭代优化提供思路。

团体同学目前尝试的宽模型,在搜索排序场景提升明显。团队还有小伙伴正在尝试序列匹配模型应用于排序,进行在线打分,工程系统上正在逐步支持和完善,目前还在ab测试期间,离线评估提升较大,也期待实际线上效果。此外,结合宽模型和深度学习模型,应用于线上,也是后续考虑的重点方向。

embedding技术的应用,还有很大空间可以进行尝试,一方面可以尝试更多的Embedding技术,如基于文本数据、基于图结构模型、self-attention机制、多目标优化等,另一方面,可以尝试更多实体的Embedding,如用户向量化表示和意图识别等。下图也包含团队当前已经完成的部分工作和后续工作的重点方向。

Item2Vec是由O Barkan,N Koenigstein在他们2016年的论文“Item2Vec: Neural Item Embedding for Collaborative Filtering“[3]中提出的。论文把Word2vec的Skipgram with Negative Sampling (SGNS)的算法思路迁移到基于物品的协同过滤(item-based CF)上,以物品的共现性作为自然语言中的上下文关系,构建神经网络学习出物品在隐空间的向量表示。论文中还比较了Item2Vec和SVD在微软Xbox音乐推荐服务和Windows 10商店的商品推荐的效果,结果显示Item2Vec效果有所提升。该论文关注公众号输入:论文,即可获得。

点击原文阅读,有github,基于item2vec的python实现分享。

原文发布于微信公众号 - Spark学习技巧(bigdatatip)

原文发表时间:2018-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯技术工程官方号的专栏

协同过滤在新闻推荐CTR预估中的应用

作者简介:minlonglin,AI平台部Y项目组员工。2012年毕业于中国科学技术大学计算机科学与技术学院,读博期间主攻集成学习、类别不平衡分类等方向,期间曾...

2928
来自专栏机器之心

前沿 | 物理学家提出新算法:将量子机器学习扩展到无限维度

选自phys.org 作者:Lisa Zyga 机器之心编译 参与:吴攀、李亚洲 物理学家已经开发出了一种可以处理无限维度(infinite dimensio...

2748
来自专栏机器之心

学界 | SIGIR 2018最佳论文:基于流行度推荐系统有效性的概率分析

使用 IR 方法论和指标用于推荐系统的评估在近年来发展迅速,已成为该领域中的常用实践方法,其将理解推荐看成排序任务 [14]。然而 IR 指标已被发现在推荐受欢...

1091
来自专栏AI科技评论

谷歌大脑撰文解析 AutoML:神经网络如何自行设计神经架构? | Google I/O 2017

在 Google I/O 大会上,谷歌公布了最新的机器学习算法——AutoML,随即,Quoc Le 与 Barret Aoph 大神在 Google Rese...

32410
来自专栏机器之心

学界 | Yoshua Bengio等人提出MILABOT:强化学习聊天机器人

选自arXiv 作者:Iulian V. Serban等 机器之心编译 参与:路雪、李泽南 The Alexa Prize 是亚马逊在对话人工智能领域中发起的一...

2699
来自专栏ATYUN订阅号

IBM的新系统可以自动选择最佳的AI算法

深度学习系统可以摄取数据,转换数据,输出数据并传递数据,但并非所有的都能等同。没有算法适用于每个任务,找到最佳的算法可能是一个漫长而令人沮丧的过程。幸运的是,I...

602
来自专栏企鹅号快讯

深度学习的核心工作流程之一:如何训练数据!

-免费加入AI技术专家社群>> 今天我们将讨论深度学习中最核心的问题之一:训练数据。深度学习已经在现实世界得到了广泛运用,例如:无人驾驶汽车,收据识别,道路缺陷...

2195
来自专栏大数据文摘

业界 | 数据科学家要先学逻辑回归?图样图森破!

976
来自专栏新智元

【NIPS 2015】深度学习未来十大趋势

本周,我在加拿大蒙特利尔参加了NIPS(Neural Information Processing Systems,神经信息处理系统)2015年论坛。这是一次令...

3539
来自专栏阁主的小跟班的专栏

效果广告点击率预估近期实践:深度学习

深度学习可以说是目前机器学习和人工智能领域最热的词汇了,已经热了数年,而且有望继续热下去。深度学习技术自横空出世以来,在多个应用领域刷新了历史记录,如语音识别、...

3.2K1

扫码关注云+社区