企业宣传,产品推广,广告招商,广告投放联系seowdb

embedding 协同过滤之item 达观介绍算法成功

介绍系统实质是在用户需求不明白的状况下,处置消息过载的疑问,咨询用户和消息,一方面协助用户发现对自己有价值的消息,另一方面让消息能够展如今对它感兴味的用户背地,从而成功消息消费者和消息消费者的双赢(这里的消息的含意可以十分宽泛,比如咨询、电影和商品等,下文中统称为item)。达观数据相关介绍是达观介绍系统中的关键组成局部,其价值在于,在没有用户画像消息的状况下,也能给用户以好的介绍体验,比如资讯类,经过达观相关介绍算法找到item相关的其余item,可以提供对某一类或许针对某一事情多角度多正面的深度阅读。本文关键先便捷引见相关介绍的一些罕用算法,而后引见一下基于itemembedding的协同过滤。

基于内容的介绍普通依赖于一套好的标签系统,经过计算item之间tag汇合的相似性来权衡item之间的相似性,一套好的标签系统须要各方面的打磨,一方面须要好的编辑,一方面也依赖于产品的设计,疏导用户在经常使用产品的环节中,对item提供优质的tag。

协同过滤关键分为基于畛域以及基于隐语义模型。

基于畛域的算法中,ItemCF是目前业界运行最多的算法,其关键思维为“喜欢item A的用户大都喜欢用户 itemB”,经过开掘用户历史的操作日志,应用个体智慧,生成item的候选介绍列表。关键统计2个item的共现频率,加以期间的考量,以及抢手用户以及抢手item的过滤以及降权。

LFM(latent factormodel)隐语义模型是最近几年介绍系统畛域最为抢手的钻研话题,该算法最早在文本开掘畛域被提出,用于找到文本隐含的语义,在介绍畛域中,其**现实是经过隐含特色咨询用户和东西的兴味。关键的算法有pLSA、LDA、matrixfactorization(SVD,SVD++)等,这些技术和方法在实质上是相通的,以LFM为例,经过如下公式计算用户u对东西i的兴味:

公式中pu,k和qi,k是模型的参数,其中pu,k度量了用户u的兴味和第k个隐类的相关,而qi,k度量了第k个隐类和东西i之间的相关。而其中的qi,k可视为将item投射到隐类组成的空间中去,item的相似度也由此转换为在隐空间中的距离。

2. item2vec:NEURAL ITEM EMBEDDING

2.1 word2vec

因为item2vec基本上是参照了google的word2vec方法,运行到介绍场景中的item2item相似度计算上,所以首先便捷引见word2vec的基本原理。

Word2vec关键用于开掘词的向量示意,向量中的数值能够建模一个词在句子中,和高低文消息之间的相关,关键包含2个模型:CBOW(continuousbag-of-word)和SG(skip-gram),从一个便捷版本的CBOW模型引见,高低文只思索一个词的情景,如图1所示,

假定只要一个隐层的神经网络,输入层以及输入层均为词的one-hot编码示意,词表大小假定为V,隐层神经元个数为N,相邻层的神经元为全衔接,层间的权重用V*N的矩阵W示意,隐层到输入层的activationfunction驳回softmax函数,

其中wI,wj为词表中不同的词,yj为输入层第j个神经元的输入,uj为输入层经过权重矩阵W到隐层的score,uj’为隐层经过权重矩阵W’到输入层的score。训练这个神经网络,用反向流传算法,先计算网络输入和实在值的差,而后用梯度降低反向降级层间的权重矩阵,失掉降级公式:

其中,η为降级的步长,ej为模型预测以及实在值之间的误差,h为隐层向量。

图2为高低文为多个词时的状况,两边的隐层h计算由

改为

即输入向量为多个高低文向量相加求平均,后续的参数学习与上文的单个词的高低文状况相似。遍历整个训练集context-target词对,经过屡次迭代降级模型参数,对模型中的向量的影响将会累积,最终学到对词的向量示意。

Skip-gram跟CBOW的输入层和输入层正好对调,区别就是CBOW是高低文,经过模型预测词,而skip-gram是经过词来预测高低文。

目前为止,对词表中的每个词,有两种向量示意:input vector和outputvector,对应输入层到隐层权重矩阵W的行向量和隐层到输入层权重矩阵W'的列向量,从等式4、5可以看出,对每一个训练样本,都须要遍历词表中的每一个词,因此,学习outputvector的计算量是十分大的,假设训练集或许词表的规模大的话,在实践运行中训练不具可操作性。为处置这个疑问,直觉的做法是限度每个训练样本须要降级的outputvectors,google提出了两个方法:hierarchical softmax和negativesampling,放慢了模型训练的速度,再次不做开展探讨。

2.2 item2vec

词的高低文即为临近词的序列,很容易想到,词的序列其实等价于一系列延续操作的item序列,因此,训练语料只要将句子改为延续操作的item序列即可,item间的共现为正样本,并依照item的频率散布启动负样本采样。

Oren Barkan and NoamKoenigstein以SVD作为baseline,SVD的隐类以及item2vec的维度都取40,用Microsoft Xbox Musicservice搜集的user-artists数据集,对结果启动聚类,如图3所示,图a是item2vec的聚合效果,图b是SVD合成的聚合效果,看起来item2vec的聚合效果要更好些。

范雄雄,达观数据共性化介绍引擎工程师,上班包含介绍系统的架构设计和开发、介绍效果优化等,所在团队开发的共性化介绍系统曾发明上线后效果优化300%的记载。复旦大学计算机迷信与技术专业硕士,曾在爱奇艺开发多款大数据产品,对共性化介绍、数据开掘和剖析、用户行为建模、大数据处置有较深化的了解和通常阅历。

戳这里,看该作者更多好文

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender