推荐系统召回之item2vec召回

博客介绍了如何利用word2vec的skip-gram方法,特别是负采样的SGNS,来构建item2vec模型进行item-based协同过滤。通过对items的隐向量表示学习,计算item之间的相似度,以实现推荐系统的召回。文章讨论了子采样技术以平衡高频和低频item的影响,并对比了item2vec与传统SVD方法的相似度结果。
摘要由CSDN通过智能技术生成

该召回手段,是基于google提出的word2vec方法,来计算不同items的隐向量,并通过计算不同items间的向量距离,来判断item-to-item间的相似度。
参考paper如下:
https://arxiv.org/vc/arxiv/papers/1603/1603.04259v2.pdf

综述

许多协作过滤(CF)算法是通过分析items间的关系来计算相似度的。最近,自然语言处理方面研究,建议使用神经嵌入算法去学习words的隐向量。众多研究之中,负采样的Skip-Gram算法,即word2vec,表现出了不错的效果。受此激发,作者提出了一种item-based协同过滤的方法,也就是item2vec。该方法计算了在隐向量空间中的items向量。即使当用户信息难以获取的时候,这种方法也能够用来推断出item-to-item间的关系。

word2vec是由神经概率语言模型延展而来,有CBOW(continuous Bag-Of-Words Model)和skip-gram(Continuous skip-gram Model)两种模型方法,对于两种模型,word2vec团队给出了两种框架实现,分别是Hierarchical softmax和Negative Sampling。而本文是基于Negative Sampling的Skip-Gram模型。
下面对这种模型做简单介绍。

基于负采样的skip-gram方法(SGNS)

SGNS是由Mikolov团队提出的一种神经语言嵌入方法。该方法目的在于找到词表示,来捕捉一个句子中的单词和上下文单词的关系。下面对SGNS方法做简短的介绍。
给定一个来自于词典 W = { w i } i = 1 W W = \{w_i\}_{i=1}^W W={ wi}i=1W的词序列 ( w i ) i = 1 K (w_i)_{i=1}^K (wi)i=1K,skip-gram目标在于最大化下面的公式:
1 K ∑ i = 1 K ∑ − c ≤ j ≤ c , i ≠ 0 log ⁡ p ( w j ∣ w i ) \frac 1 K \sum_{i=1}^K \sum_{-c\le j \le c, i \ne0}\log p(w_{j}|w_{i}) K1i=1Kcjc,i=0logp(wjwi)
其中,

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值