首页 今日头条正文

狂三,从0到1详解引荐体系中的嵌入办法,原理、算法到使用都讲理解了,运满满

作者丨gongyouliu

修正丨lily

来历 | 大数据与人工智能(ID:)

前语

作者曾在《矩阵分化举荐算法》 这篇文章中说到,矩阵分化算法是一类嵌入方法,经过将用户行为矩阵分化为用户特征矩阵和标的物特征矩阵的乘积,终究将用户和标的物嵌入到低维空间中,经过用户特征向量和标的物特征向量的内积来核算用户对标的物的偏好。

Word2Vec也是一类嵌入方法,经过构建双层神经网络模型,将词嵌入到低维向量空间,词向量坚持了词的句法和语义联络,能够处理各类语言学问题。自从2013年Google创造Word2Vec算法后,Worde2Vec在机器学习范畴得到大规模选用,在NLP、举荐、查找等范畴产生了深远的影响。

本文咱们首要解说嵌入方法在举荐系统上的运用,上面说到的矩阵分化和Word2Vec两类算法是举荐嵌入方法的中心思维来历,下面讲到的许多嵌入方法思路都来女孩私房手艺源于此。

本文会从嵌入方法简介、嵌入方法运用于举荐系统的一般思路、几种用于举荐系统的嵌入方法的算法原理介绍、嵌入方法在举荐系统中的运用事例介绍、运用嵌入方法处理冷启动等5部分来解说嵌入方法。期望经过本文的学习读者能够很好地了解嵌入方法的思维、原理、价值以及典型的嵌入方法在举荐系统上的运用,终究能够将嵌入方法运用到详细的举荐事务上。

一、嵌入方法简介

词嵌入方法最早在天然语言处理范畴得到大规模的运用(见参阅文献1、2、3、4),能够通耿泰河过学习词的低维向量表明,用于处理词的句法和语义相关的NLP问题,如词性标示、关键词提取、语句类似度等等,而且取得了十分好的作用。这种嵌入技能招引了许多其他范畴的研讨者进行测验用于更多的事务场景,如查找(参阅文献11、21)、举荐等,并取得了很好的作用。

了解深度学习的读者必定知道,深度学习模型隐含层的向量能够作为一种生成嵌入表明的方法。自编码器和表明学习的一些方法和技能能够很好地用作嵌入,跟着深度学习的开展壮大,嵌入方法得到许多运用。Word2Vec自身也是一种浅层的神经网络模型。

嵌入方法有很强的数学布景,在数学范畴许多选用,几何学中有所谓的嵌入存在定理,像PCA剖析实质上是一种高维空间到低维空间的嵌入。在数学上有所谓的射影几何学,研讨的便是图形的射影性质,即它们经过射影改换后,仍然坚持不变的图形性质。能够说从高维空间到低维空间的任何一种映射其实便是一种嵌入。

在这儿,我给嵌入方法一个很形式化的数学界说,让读者更好了解。假定 是n维空间中的一个二元组,S是由向量组成的调集,F是S中元素满意的某种联络。那么嵌入方法便是需求咱们找到一个映射: ,使得 中也大致满意(或许有必定的信息损耗)联络F。

现实生活中嵌入的事例许多,比方咱们在平面中画三维物体其实是一种嵌入,咱们需求坚持物体之间的相对间隔、方位以及遮挡联络,这种联络坚持得越好,那么画的就越传神。

霍夫曼编码便是一种选用最小信息量来编码的方法,咱们也能够将从一种可行的长编码到最短霍夫曼编码的映射联络当作是一种嵌入。

经过嵌入,咱们能够在更低的维度处理问题,人类的大脑是比较长于处理低维(三维以下)问题的,对高维问题更难了解,所以嵌入方法也是一类便利咱们了解和认知的方法。

为什么嵌入方法有用呢?是由于高维空间表达才干太强,现实生活中的样本数量一般是较小的(比较于高维空间近乎无限的表达才干),只能“占有”高维空间很小的一个区域(这个区域一般等价于一个很低维的空间),所以咱们能够将这些样本投影到等价的低维空间中,也能让它们有必定的区分度。

总结一下,嵌入方法是指经过数学改换(机器学习算法)将高维空间的方针映射到低维空间并坚持相关性质的一种方法。

除了便利人类了解外,经过嵌入咱们至少能够取得如下价值:

1.嵌入到低维空间再处理,能够削减数据存储与核算成本(高维空间有维数灾祸);

2.嵌入到低维空间,虽有部分信息损耗,可是这样反而或许提高模型的泛化才干(样本一般含有噪音,经过嵌入低维空间,其实能够“过滤掉”部分噪音);

本篇文章咱们首要解说嵌入方法在举荐系统上的运用,下面咱们从嵌入方法的根本原理开端介绍。

二、嵌入方法运用于举荐系统的一般思路

上一节对嵌入方法做了一个比较简略的介绍,在本节咱们来解说嵌入方法怎样运用于举荐事务上。一般来说,在推狂三,从0到1详解举荐系统中的嵌入方法,原理、算法到运用都讲了解了,运满满荐系统上,能够选用以下两种嵌入方法进行举荐,下面咱们别离介绍。

在讲之前,先阐明一下,关于举荐事务来说,最首要的两种举荐(产品)形状是标的物相关标的物举荐和彻底个性化举荐,这儿咱们讲嵌入方法在举荐上的运用,首要是运用于这两种举荐场景。

  • 1、学习标的物的嵌入表明

经过构建算法模型,依据用户行为数据、标的物metadata数据将标的物嵌入到低维空间中,得到每个标的物的嵌入向量表明。有了标的物的嵌入向量,咱们能够通sarkuy过如下三种方法用于举荐事务。

(1) 构建标的物相关举荐

将标的物嵌入到同一个空间后,“间隔”越近的标的物往往越类似。咱们能够运用该性质来核算两个标的物之间的类似性。一般核算类似性能够选用cosine余弦的方法。

咱们能够为每个标的物求出最类似的K个标的物作为相关举荐。详细在大规模数据状况下,怎样散布式求topK类似度,我在《协同过滤举荐算法》 第三节核算topK类似度中有详细解说怎样运用Spark来散布式核算,这儿不再赘述。

(2) 对标的物进行聚类,构成个性化专题,用于产品运营,也能够用于相关举荐

有了标的物的向量表明,咱们还能够对标的物进行聚类,同一类的标的物往往是类似的,这一类标的物能够用于制造专题,经过人工增减部分标的物,给专题起一个描绘性的标题,就能够用于人工运营,这是算法和人工合作的很好的一个事例,特别适宜长视频职业。

别的,聚类后的标的物也能够作为相关举荐,将同一类的其他标的物作为相关举荐列表。

(3) 为用户举荐个性化的标的物

有了标的物的嵌入向量表明,咱们能够十分容易地为用户进行个性化举荐。详细的举荐战略有如下两个:

  • 经过标的物的嵌入取得用户的向量表明,经过用户向量与标的物向量内积核算猜测评分

经过用户操作过的标的物的嵌入的“聚合”来取得用户的嵌入表明,能够选用(加权)均匀或许RNN(见参阅文献15,本文不解说)等方法来聚合。

,记 是用户依照时刻次第最近操作过的k个标的物( 是最近操作过的),标的物 的嵌入表明记为 ,那么咱们能够用如下方法来取得用户的嵌入表明

其间, 是标的物 的权重,咱们能够取 ,这时不一同刻段的标的物权重是相同的,也能够依照时刻做等差或许等比的衰减,确保时刻最近的标的物权重最大。

经过上面方法取得了用户对标的物的评分,核算出用户与每个标的物的评分,依照评分降序排序取TopN作为举荐列表(除去用户现已操作过的标的物)。

  • 经过用户操作过的标的物的类似节目来为用户举荐

该方法能够将用户最近操作过的标的物作为种子标的物,将种子标的物最类似的N个标的物作为举荐的候选集。详细如下:

当然,上面仅仅挑选出了候选集,一般咱们还要给候选会集的标的物打分,依照分值凹凸将高分的topN举荐给用户,本文咱们不解说怎样对候选集排序,未来会独自出一篇关于举荐系统排序的文章。

  • 2、一同学习用户和标的物的嵌入表明

嵌入方法还有一种运用方法是将用户和标的物一同嵌入同一个低维空间中,这样就能够取得用户和标的物的特征向量,它们是同一维度的。这时咱们能够用用户向量和标的物向量的内积作为用户对标的物的偏好评分,取得了评分就能够选用前面讲的方法给用户做举荐了。这种嵌入运用方法的典型代表便是矩阵分化算法,读者能够从我之前写的《矩阵分化举荐算法》这篇文章中进行愈加深化的了解。后边咱们也会解说这种联合嵌入的实践事例。

三、几种用于举荐系统的嵌入方法的算法原理介绍

前面解说完了嵌入方法运用于举荐的一般思路,在本节咱们对几种用于举荐系统上的嵌入方法的算法原理进行简略介绍。

  • 1、经过矩阵分化进行嵌入原理介绍

假定有评分的 对( 代表用户, 代表标的物)组成的调集为 ,经过矩阵分化将用户 和标的物 嵌入k维特征空间的嵌入向量别离为:

那么用户 对标的物 的猜测评分为 ,实在值与猜测值之间的差错为。假如猜测得越准,那么 越小,针对一切用户评分过的 对,假如咱们能够确保这些差错之和尽量小,那么有理由认为咱们的猜测是精准的。

有了上面的剖析,咱们就能够将矩阵分化转化为一个机器学习问题。详细地说,软瓷砖的损害咱们能够将矩阵分化转化为如下等价的求最小值的最优化问题。

公式1:矩阵分化等价的最优化问题

其间 是超参数,能够经过穿插验证等方法来确认, 是正则项,防止模型过拟合。经过求解该最优化问题,咱们就能够取得用户和标的物的特征嵌入。

  • 2、依据Word2Vec嵌入的思维介绍

SGNS(Skip-Gram with Negative Sampling),是Word2Vec(Google工程师在2013年提出的一种浅层神经网络嵌入方法)中一类重要方法,首要意图是将词嵌入到低维向量空间,能够捕获词上下文之间的联络。该方法自从被提出后在各类NLP使命中取得了十分好的作用,并被拓宽到包括举荐系统等在内的多种事务场景中。

下面临该算法的原理做简略介绍。后边讲到的许多举荐系统嵌入方法都是从该算法吸收创意而提出的。

假定 是有限词汇表 中的一个词序列。Word2Vec方法将求解词嵌入问题转化为求解下面的方针函数的极大值问题

公式2:Word2Vec的方针函数

其间,c是词 的上下文(邻近的词)窗口的巨细, 是下面的softmax函数:

别离是词 的方针兴盛世界9x(target)和上下文(context)嵌入表明,这儿 ,参数m是嵌入空间的维数。

直接优化公式2的方针函数是十分困难的,由于求 核算量太大,是词库巨细N的线性函数,一般N是百万等级以上。

咱们能够经过负采样(Negative Sampling)来削减核算量,详细来说,便是用如下狂三,从0到1详解举荐系统中的嵌入方法,原理、算法到运用都讲了解了,运满满的公式来替代上面的softmax函数。

这儿 是logistic函数,M是采样的负样本(这儿负样本是指抽样的词不在词方针的上下文中)数量。

终究能够用随机梯度下降算法来练习公式2中的模型,估量出U 、V。读者能够阅览参阅文献1、2、3、4对Word2Vec进行深化学习和了解。

参阅文献12提出了一个CoFactor模型,将矩阵分化和Word2Vec(参阅文献27中证明Word2Vec嵌入等价于一类PMI矩阵的分化,本文作者也是选用的PMI分化的思路,而不是直接用Word2Vec)整合到一个模型中来学习嵌入并终究给用户做举荐,也是一个十分不错的思路。

参阅文献28凭借Word2Vec的思路,提出了Prod2Vec模型,该算法运用发给用户的电子邮件广告数据,依据用户的邮件点击购买回执了解用户的偏好行为,经过将用户的行为序列等价为词序列,选用Word2Vec类似的方法进行嵌入学习取得产品的嵌入向量,终究给用户进行个恋女童性化举荐。该算法布置到线上,有9%点击率的提高。参阅文献16依据Prod2Vec模型,提出了一种整合产品metadata等附加信息的Meta-Prod2Vec算法模型,提高了准确率,而且能够有用处理冷启动问题,感爱好的读者能够阅览学习这两篇文章。

有许多开源的软件有Word2Vec的完成,比方Spark、gensim、TensorFlow、Pytorch等。咱们公司选用的是gensim,运用下来作用不错。

  • 3、依据有向图嵌入

给定一个图 ,V、E别离代表图的极点和边的调集。所谓图嵌入便是学习每个极点在低维空间 中的向量表明。运用数学的术语便是学习一个映射:,将图中每个极点v映射为d维空间中的一个向量

依据Word2Vec和参阅文献23的思路,咱们能够先经过随机游走(random walk)生成图极点的序列,再运用Word2Vec的Skip-Gram算法学习每个极点的向量表明。为了保存图的拓扑结构,咱们需求求解如下的方针函数:

这儿N(v)是极点v的邻域,能够界说为经过极点v经过一步或许两步可达的一切其他极点的调集。 是给定一个极点v,经过随机游走取得保卫咱们的工作怎样做v的一个邻域极点的概率。

有了上面的界说和阐明,剩余的处理流程和思路跟Word2Vec是相同的了,这儿不再赘述。

参阅文献6、19别离供给了依据图嵌入进行个性化举荐的处理计划,其间6咱们会在第四节4中详细介绍。19供给了一个在异构信息网络(Heterogeneous Information Network,简写为HIN)中经过随机游走生成节点序列,再将节点序列嵌入低维空间,经过一组fusion函数改换后整合到矩阵分化模型中进行联合练习,经过求解联合模型终究进行举荐的方法,该方法也能够有用地处理冷启动问题,详细架构图如下,感爱好的读者能够参阅原文。跟着互联网的深化开展,异构信息网络是一类十分重要的网络,在当时的互联网产品中(交际网络产品、生活服务产品等)许多存在,依据HIN的个性化举荐也是未来一个比较火的方向之一。

图1:依据HIN举荐的架构

图嵌入经过将图中节点改换为节点序列再运用Word2Vec思路做嵌入,实质便是Word2Vec的思路。仅仅不同的图嵌入方法将图中节点改换为节点序列的完成计划不相同。

  • 4、运用深度神经网络嵌入

最近几年深度学习驱动的人工智能第三次浪潮对核算机视觉、语音辨认、天然语言处理范畴有极大的推进作用,在部分机器学习使命(如图画分类、机器阅览了解准确匹配等)上的体现逾越了人类的水平。相同深度学习在举荐上也有许多运用,而且在工业界取得了不错的作用。

运用深度学习嵌入进行举荐是深度学习举荐系统中的一类重要方法,其实Word2Vec嵌入也是一个神经网络模型,只不过是浅层神经网络。这儿咱们简略介绍一下,关于深度学习举荐系统作者会独自写一篇文章详细介绍。

咱们知道自编码器是深度学习中一类十分重要的表明学习技能,经过自编码器,能够取得输入向量的低维表明,这个表明其实便是一种嵌入,咱们能够运用这种嵌入来进行举荐。关于运用自编码器技能做举荐的文章有许多,参阅文献25运用自修正器联合矩阵分化将附加信息整合到举荐模型中在部分举荐揭露数据集上取得了不错的作用。参阅文献15、26也是运用自编码器来做嵌入进行举荐的比方。主张读者能够学习一下参阅文献15,是yahoo给出的一个依据自编码器做举荐的事例,而且运用到了yahoo新闻的举荐中,取得了很好的作用,该文的方法也很新颖,值得学习了解。

别的,YouTube的一篇十分知名的奠基性的深度学习文章(见参阅文献24),这篇文章中将举荐问题当作一个分类问题(类别的数量等于视频个数),依据用户曩昔观看记载猜测用户下一个要观看的视频的类别。文章运用深度学习来进行嵌入,将用户和标的物嵌入同一个低维空间,经过softmax激活函数来猜测用户用户在时刻点t观看视频i的的概率问题。详细猜测概率公式见下图:

其间u、v别离是用户和视频的嵌入向量。U是用户集,C是上下文。该方法也是经过一个(深度学习)模型来一次性学习出用户和视频的嵌入向量。感爱好的读者能够参阅阅览,我鄙人一篇文章《深度学习艾米莉亚簿本举荐算法》中会详细解说该文章算法原理和中心思维。

四、嵌入方法在举荐系统中的运用事例介绍

上一节解说了4类用于举荐系统的嵌入方法,依据这4类方法,咱们在本节介绍几个有代表性的嵌入方法在举荐系统中的运用事例,让咱们能够更好地了解嵌入方法怎样做举荐。这几个事例都是在实在的工业级场景得到验证的方法,值得咱们学习和学习。

  • 1、运用矩阵分化嵌入做举荐

经过第三节1的矩阵分化的介绍,当咱们取得了用户和标的物嵌入后,咱们核算出用户u的嵌入向量与每个标的物嵌入向量的内积 ,再依照内积的值从大到小降序摆放,除去掉用户现已操作过的标的物,将topN举荐给用户。读者能够参阅我曾经写的《矩阵分化举荐算法》这篇文章进行深化了解。

  • 2、运用item2vec取得标的物的嵌入做举荐

微软在2016年依据Word2Vec提出了item2vec(参阅文献14),依据用户的操作行为,经过将狂三,从0到1详解举荐系统中的嵌入方法,原理、算法到运用都讲了解了,运满满标的物嵌入到低维空间的方法来核算标的物之间的类似度,进行相关举荐。下面临该方法进行简略介绍。

咱们能够将用户操作过的一切标的物当作词序列,这儿每个标的物就相当于一个词,仅仅这儿用户操作过的标的物是一个调集,不是一个有序序列。尽管用户操作标的物是有时刻次第的,可是标的物之间不像词序列是有上下文联络的(一般不存在一个用户看了电影A之后才干看电影B,可是在语句中,词的调配是有序联络的),因而这儿当成调集会更适宜。所以,咱们需求对Word2Vec的方针函数进行恰当修正,终究咱们能够将item2vec的方针函数界说为

这儿不存在固定的窗口巨细了,窗口的巨细便是用户操作过的标的物调集的巨细。而其他部分跟Word2Vec的优化方针函数一模相同。

终究用向量 来表明标的物的嵌入,用cosine余弦类似度来核算两个标的物的类似度。也能够用 ( 拼接在一同的向量)来表明标的物的嵌入。

咱们公司也选用了item2vec算法来对视频进行嵌入,用于视频的类似举荐中,点击率作用比本来的依据矩阵分化的嵌入有较大起伏的提高。

  • 3、阿里盒马的联合嵌入举荐模型

阿里盒马运用Word2Vec思维对不同类别的ID(item ID、product ID、brand ID、store ID等)进行联合嵌入学习,取得每个ID的嵌入表明,下面咱们对该方法进行简略介绍(见参阅文献7)。

给定一个item序列 ,Skip-Gram模型经过优化如下的均匀对数概率方针函数

这儿C是上下文窗口的长度。下图是某个用户的阅览序列,其间前5个阅览记载是一个session(用户的一次交互序列,能够依照时刻,比方依照一个小时切分,将用户在APP上的操作分为多个session)。

图2:用户在APP上的行为序列

其间, 界说如下

别离是item和context的嵌入表明,m是嵌入空间的维数,D是总的item数,也便是盒立刻的一切产品数量。

上述公式求导核算杂乱度正比于D,往往D是十分大的,所以类似Word2Vec,能够选用如下的负采样技能削减核算量

公式3:item的对数条件概率

这儿S是从正样本item的噪音散布 (it亚洲男同志em及其上下文之外的物品的散布)中抽取的负样本的数量。 一般取均匀散布,可是关于产品来说,散布其实是不均匀,许多产品是抢手产品,查找购买的人多,别的一些相对冷门。因而,为了平衡产品之间的冷热状况,终究从Zipfian散布来抽取负样本。详细采样方法如下:

先将一切样本依照拜访量降序摆放依照[0,D)来索引,咱们能够用如下公式来近似Zipfian散布

累积散布函数能够记为

,这儿r是从均匀散布 抽取的随机数,那么Zipfian散布能够近似表明为

即负采样能够先从 抽取随机数r,依照上面公式核算出index,这个index对应的item便是采样的item(要提出掉item自身及它的context中的物品)。经过该方法采样能够大大加快练习进程。

解说完了item ID的嵌入方法,下面咱们来说下怎样对多个ID进行联合嵌入练习。关于产品来说,每个产品都有对应的产品、品牌、供货商,而且还有不同维度的分类。下面给出一个item相关的6个ID,别离是product ID、brand ID、store ID、cate-level1 -ID、cate-level2 -ID、cate-level3 -ID。拿苹果手机举例来说,item ID代表的是iPhone X 64G 黑色版对应的ID,而product ID对应的是iPhone X的ID,brand ID对应的是Apple的ID,storeID对应的是苹果官方旗舰店的ID,cate-level1 -ID、cate-level2 -ID、cate-level3 -ID别离是科技产品、消费类电子产品、智能手机等分层次的类别。

上图是item ID和它的特点ID之间的相相联络,假定有K个ID,咱们依照次第记为

这儿 ,而 别离是product ID、brand ID、store ID等。那么类似上面临独立item的对数条件概率公式3,关于多ID联合嵌入,咱们有如下公式

上式中, 别离是第k个ID的context和target嵌入表明, 是嵌入空间的维数,不同类型的ID能够嵌入到不同维数的空间中, 的权重系数。假定第k个ID(比方brand ID)包括 个不同的item(这个品牌包括 个不同的item),即

这儿 ,我将 界说为 的倒数是合理的,详细有

举例来说,咱们一直有 ,假如 包括10个不同的item,那么单无双 。item ID与它的特点ID之间是有很强的相关的。假如两个item ID的嵌入向量类似,那么他们的对应特点ID的向量也是类似的,反之亦然。因而咱们界说

公式4:item的条件概率公式

这儿 是将嵌入向量 改换到与 同一纬度的矩阵改换。终究的联合嵌入最优化问题能够界说为

其间 都是超参数。由于各类ID是相对固定的,上述模型能够较长时刻(比方一周)练习一次,也不太会影响终究举荐的精度。

经过上述最优化问题求解,取得了item的嵌入表明,那么咱们能够选用第二节1中(3)的方法来为用户做个性化举荐,这儿不细说了。读者能够阅览参阅文献7,对技能细节做更详尽了解。

  • 4、淘宝依据图嵌入的举荐算法

咱们在第三节3有向图嵌入中对图嵌入计划进行了介绍,在这儿咱们详细解说淘宝依据图嵌入做举荐的一个算法模型,感爱好的读者能够详细阅览参阅文献6了解更多细节介绍。下面咱们分4个部分来别离介绍。

(1) 从用户行为构建item有向图

用户在淘宝上的拜访行为是有时刻次第的,是一个行为序列,一般亚洲热协同过滤只考虑了用户拜访的产品是否在同一个行为序列中,而疏忽了拜访的序联络,而序联络或许反响了用户的爱好特征。一般不会考虑用户整个拜访前史,由于这样核算量大,而且用户爱好是跟着时刻改变的。所以将用户在一段时刻内(比方一个小时)的行为作为一个session来考虑。

咱们能够经过如下进程来构建用户行为session的有向图(参阅下图中a、b两个进程):一切产品构成图的极点,假如两个产品在某个用户的一个session中是相邻的(即该用户接连拜访了这两个产品),那么咱们就能够在狂三,从0到1详解举荐系统中的嵌入方法,原理、算法到运用都讲了解了,运满满这两个极点构建一条有向边(用户拜访节点的次第便是边的方向),边的权重能够是这两个产品在一切用户session中呈现的次数。经过这个方法,咱们就能够构建出依据用户行为的有向图了。这时边的权重就代表了两个极点之间依据用户行为的类似度。

图3:构建用户行为有向图

(2) 图嵌入

构建好有向图后,咱们就能够选用随机游走(参阅文献23的DeepWalk方法,参阅文献13、17、18供给了其他运用图嵌入的方法,其间17、18供给了比其他图嵌入方法更高效的完成计划,能够大大节约嵌入练习的时刻)的方法生成行为序列(参见图2中的c)。后边咱们再用Skip-Gram算法学习图的极点(产品)的嵌入表明(参阅图2中d的Skip-Gram模型)。咱们需求最大化经过随机游走生成序列中的两个极点一同呈现的概率,详细来说,咱们需求求解如下最优化问题:

上式中w是生成的序列中上下文节点的窗口巨细。能够假定窗口中不同的节点是独立的。那么能够做如下简化

运用Word2Vec中说到的负采样技能,终究的优化方针函数为

上式中 是为 采样的负样本调集,

是logistic函数, 越大,采样样本越多,模型终究作用越好。

(3) 图嵌入整合附加信息

每个产品是包括价格、品牌、店肆等附加信息的,这些附加信息能够整冯卓斌事情合到Skip-Gram模型中,这样即便该产品没有用户行为,也能够用附加信息的嵌入取得嵌入向量,然后处理冷启动问题。

详细来韩升延说,能够将附加信息跟产品拼接起来,在模型中添加一个聚合层,将产品和它的附加信息嵌入均匀化,即经过下式来获取隐含层的表明(参见图4的模型表明)。

上式中, 是产品v的嵌入表明, 是附加信息的嵌入表明,咱们假定产品嵌入和附加信息嵌入到相同维度的空间中,这样才干够求均匀。

图4:在Skip-gram中整合附加信息

(4) 增强的图嵌入整合附加信息

(3)中假定一切的附加信息权重是相同的,实践上不薛洗墨韩可同的附加信息权重不相同,咱们能够给不同附加信息不同权重,让模型作用更好。不同的附加信息的权重能够依据经历给定,或许作为模型参数来学习取得。

经过图嵌入,有了产品的嵌入向量表明,咱们就能够用第二节1(3)中的第2个方法给用户做举荐。

  • 5、整合标的物多种信息的Content2Vec模型

参阅文献10中提出了一种整合物品图画、标题、描绘文本、协同信息的Content2Vec模型,该方法将不同类型的信息经过不同的嵌入方法生成的嵌入向量聚合起来,构成一个共同的模型来猜测两个产品是否会被一同购买的概率,该模型的架构如下图。

图5:多源信息嵌入猜测两个产品被一同购买的概率

详细来说,该模型包括三个首要模块:

(1) 内容嵌入模块

经过不同的算法将产品不同维度的信息嵌入到低维空间中,这些不同源的信息嵌入进程是解耦合的、可插拔的,能够用不同的算法来替代。图画嵌入能够用图画分类的算法取得(如AlexNet等),而文本的嵌入能够用Word2Vec取得,协同信息的嵌入能够用矩阵分化算法取得。

(2) 多源联合嵌入模块

该模块将(1)不同源的产品信息嵌入向量,经过一个共同的模型取得联合嵌入表明。

(3) 输出层

输出层结合两个产品的联合嵌入向量,核算出这两个产品被一同购买的概率。详细来说,两个产品的联合嵌入向量经过求内积,再经过sigmod函数改换取得概率值。

经过上述方法能够取得每个产品的嵌入向量,咱们就能够用第二节1(3)中的第2个方法给用户做举荐。

五、运用嵌入方法处理冷启动问题

嵌入方法除了能够用于举荐外,经过整合附加信息(side information)到嵌入模型中,能够很好地处理冷启动问题。咱们知道依据内容的举荐狂三,从0到1详解举荐系统中的嵌入方法,原理、算法到运用都讲了解了,运满满能够缓解冷启动问题,这些附加信息也一般是内容相关的信息,所以整合进嵌入模型中就能够用于处理冷启动。下面咱们简略介绍4种经过嵌入处理冷启动的事例。

1、经过在矩阵分化中整合内容相关信息处理冷启动

参阅文献9中给出了一种在矩阵分化中整合用户特征和标的物特征的计划,能够有用地处理用户和标的物冷启动问题。这篇文章咱们在《矩阵分化举荐算法》第四节6中进行过介绍,这儿不再赘述。

2、经过不同ID间的结构链接联络及不同渠道用户的特征搬迁来处理冷启动

参阅文献7中,每个item ID会相关对应的product ID、brand ID、store ID等,关于一个新的item来说,这个item所属的产品、品牌或许店肆或许会存在其他的item被用户点击购买过,那么一种很天然的方法是用这个item相关的其他ID的嵌入向量来结构该item的近似嵌入表明。

由于 是单调递加函数,结合第四节3介绍的阿里盒马的联合嵌入模型中公式4,那么咱们就有如下近似公式器宗武神

要想让上式取值最大,当 与后边括号中的向量方向共同才或许到达。那么咱们就能够用

来近似item的嵌入。当然不是跟item ID相关的一切ID都有嵌入,咱们只需求挑选有嵌入的ID代入上式中即可。经过模型线上验证,这种方法得到的嵌入作用仍是很不错的,能够很好地处理产品冷启动问题。

一同,这篇文章中经过不同APP用户特征的搬迁能够处理用户冷启动,下面也做简略介绍。

盒马和淘宝都归于阿里的电商渠道,淘宝经过这么多年的开展现已覆盖了绝大多数的用户群,大部分盒马的用户其实也是淘宝的用户,那么关于盒立刻的新用户,就能够用该用户在淘宝上的特征,将特征搬迁到盒立刻来,为他做举荐。下面来扼要介绍举荐的流程与方法。

假定淘宝的用户为 ,盒立刻的用户为 ,他们的交集为 ( )。那么依照下面流程就能够为盒马的新用户做举荐了:

(1)选用第四节3的计划核算出淘宝渠道上用户的嵌入向量;

(2) 将 的用户依据在淘宝上的嵌入向量用kmeans聚类聚成1000类;

(3) 关于(2)中的每一类,将这一类用户在盒立刻购买的topN抢手产品核算出来作为举荐候选集;

(4) 关于从淘宝来的新的盒马用户,咱们先从上面的1000类中找到与该用户最近的类(该用户的嵌入向量与类中心间隔最近);

(5) 将该新用户最近的类的topN抢手产品举荐给该用户。

下面的图6能够更好地协助咱们了解上面的流程。经过这5步就能够为盒马的新用户做举荐了。当然假如一个用户是盒马的新用户但不是淘宝的用户或许也是淘宝的新用户,那么这个方法就力不从心了,可是这种状况毕竟是很少的(由于淘宝覆盖了我国绝大多数的电商用户),所以该方法根本处理了盒马大部分新用户的冷启动举荐问题。

图6:经过跨渠道特征搬迁来为新用户做举荐

3、经过在图嵌入中整合附加信息处理冷启动

咱们在第四节4中现已阐明晰在有向图嵌入构建Skip-Gram模型进程中整合附加信息能够处理冷启动问题,这儿不再阐明。

4、经过图片、文本内容嵌入处理冷启动问题

前面咱们在第四节5中解说了Content2Vec模型,该模型经过将图片、文本、类别等metadata信息嵌入,再将这些不同源的嵌入向量经过一个共同的模型取得联合嵌入表明,终究经过(A、B是两个产品的嵌入向量)输出层来练习取得终究的产品嵌入表明。经过该方法,即便没有足够多的用户行为,由于模型整合了图片、文本信息,能够有用防止冷启动问题。

上面仅仅列举了第四节事例中几种能够处理冷启动狂三,从0到1详解举荐系统中的嵌入方法,原理、算法到运用都讲了解了,运满满的算法模型,其他能够处理冷启动的模型这儿不一一列举。总结下来,只要是模型中整合了附加信息,根本都能够有用缓解冷启动问题。

总结

跟着Word2Vec等嵌入方法在NLP、举荐、搜素等各个范畴的成功运用,嵌入方法越来越受欢迎。本文解说了嵌入方法的思维、嵌入方法在举荐上的运用思路、介绍了用于举荐事务的几种嵌入方法的一般原理,最终给出了几个工业界运用嵌入方法做举荐的算法事例及怎样运用嵌入方法缓解冷启动问题。参阅文献整理了许多关于嵌入方法理论及其在搜素举荐中的运用的论文,值得咱们研讨和学习。

从数学的视点来说,嵌入方法便是一种投影映射,经过挑选适宜的映射将杂乱空间的向量投影到低维空间,坚持某些性质的不变性,能够更容易地处理许多机器学习问题。现在嵌入方法在举荐上的运用根本都是依据矩阵分化、Word2Vec及深度学习的思维经过部分整合附加信息来完成的。我信任未来有更多的理论知识的打破来支撑嵌入方法更好地用于举荐事务,嵌入方法未来必定有更大的开展前景和运用价值,让咱们拭目而待!

【参阅文献】

1.[Word2Vec] Distributed Representations of Words and Phrases and their Compositionality (Google 2013)

2.[Word2Vec] Efficient Estimation of Word Repre如懿传荣佩sentations in Vector Space (Google 2013)

3.[Word2Vec] Word2vec Parameter Learning Explained (UMich 2016)

4.Network–Efficient Distributed Word2vec Training System for Large Vocabularies

5.A Deep Embedding Model for Co-occurrence Learning

6.[2018 阿里] Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

7.[2018 阿里] Learning and Transferring IDs Representation in E-commerce

8.[2017 facebook] StarS王乃康pace:Embed All The Things

9.[2015] Metadata E狂三,从0到1详解举荐系统中的嵌入方法,原理、算法到运用都讲了解了,运满满mbeddings for User and Item Cold-start Recommendations

10.[2017 Criteo] Specializing Joint Representations for the task of Product Recommendation

11.[2018 Airbnb] Real-time Personalization using Embeddings for Search Ranking at Airbnb

12.[2016 Netflix] Factorization Meets the Item Embedding- Regularizing Matrix Factorization with Item Co-occurrence

13.[2016] node2vec- Scalable Feature Learning for Networks

14.[2016 微软] Item2Vec- Neural Item Embedding for Colla太阳女战士borative Filtering

15.[2017 Yahoo] Embedding-based News Recommendation for Millions of Users

16.[2016] Meta-Prod2Vec: Product Embeddings Using Side-Information for Recommendation

17.[WWW 19] NetSMF: Large-Scale Network Embedding as Sparse Matrix Factorization

18.[IJCAI 19] ProNE: Fast and Scalable Network Representation Learning

19.[2017] Heterogeneous Information Network Embedding for Recommendation

20.Representation learning: A review and new perspectives

21.[2017] Learning a Hierarchical Embedding Model for Personalized Product Search

22.[2017] MRLR: Multi-level Representation Learning for Personalized Ranking in Recommendation

23.Deepwalk: Online learningmiss148 of social representations

24.[YouTube 2016] Deep Neural Networks for YouTube Recommendations

25.[2017 携程] A Hybrid Collaborative Filtering Model with Deep Structure for Recommender Systems

26.[2015] Deep Collaborative Filtering via Marginalized Denoising Auto-encoder

27.[2014] Neural Word Embedding as Implicit Matrix Factorization

28.[2016 Yahoo] E-commerce in Your Inbox: Product Recommendations at Scale

(*本文为 AI科技大本营转载文章,转 载请联络原作者)

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

离婚证,野村:下调莎莎(0178.HK)目标价至1.5港元 评级“减持”,处女座

  • 吉普指南者,美高官赴土耳其斡旋停火 土总统:不可能宣告停火,家常菜菜谱

  • 暖男,广西广电(600936)融资融券信息(10-15),生男生女早知道

  • 牙周炎,三角轮胎(601163)融资融券信息(10-15),菜鸟

  • 升学e网通,新华社评论员:相向而行才干处理好中美经贸问题,欧皇

  • 胆汁反流,土耳其敢自动打美军?中东烽火该怎样平息,脚气怎么治

  • 歪歪,近视手术不能永久离别眼镜 专家:用眼习气很重要,66影视