Item2VecWord2vec方法的推广
在Word2vec诞生之后,Embedding的思想迅速从自然语言处理领域扩散到几乎所有机器学习领域,推荐系统也不例外。既然Word2vec可以对词序列中的词进行Embedding,那么对于用户购买序列中的一个商品,用户观看序列中的一个电影也应该存在相应的Embedding方法。
于是,微软于2015年提出了ltem2Vec方法,它是对Word2vec方法的推广,使Embedding方法适用于几乎所有的序列数据。ltem2Vec模型的技术细节几乎和Word2vec完全一致,只要能够用序列数据的形式把我们要表达的对象表示出来,再把序列数据喂给Word2vec模型,我们就能够得到任意物品的Embedding了。ltem2vec的提出对于推荐系统来说当然是至关重要的,因为它使得万物皆Embedding成为了可能。对于推荐系统来说,ltem2vec可以利用物品的Embedding直接求得它们的相似性,或者作为重要的特征输入推荐模型进行训练,这些都有助于提升推荐系统的效果。什么是Item2Vec?
为了推荐场景中物品相似度计算的问题,将推荐场景的物品序列数据当做自然语言处理中的token,从而进行Word2Vec的建模。比如在微软的APP商店,每个用户在一段时间内下载或者点击的用户行为,将其按照时间排序得到每个用户的行为序列,相当于每个用户产生了多个句子。使用滑动窗口去遍历整个句子,在窗口内的词为正样本,窗口外的词为负样本,负样本按照word2vec策略进行负采样。将得到的数据集送进word2vec进行学习,就得到了每个item的向量表示。
我们可以知道,在模型方面Item2Vec几乎是照搬SkipGram。Item2Vec原理
对于出现在同一个集合的item对我们视为正样本,对于集合1,2,,K,目标函数为
利用负采样,将p(wjwi)
简单而言,对于给定的item序列,选择窗口大小为c,skipgram通过当前item来预测前后c个item的概率,从而使得其后验概率最大,通过极大似然进行优化整体损失。
负采样的词频计算方式跟word2vec一样。Item2Vec的影响
主要有两点:Item2Vec将Word2Vec应用于推荐系统,实现了物品隐向量的高效学习。可以再次基础上进行各种推荐场景的应用,比如以物推物,猜你喜欢等。Item2Vec是针对序列数据进行建模,现实互联网中的数据很多程网状结构,比如维基百科、社交网络以及由用户行为数据生成的物品全局图等等。网状结构中包含的大量有用的结构信息就丢失掉了。
本文由小码农和农夫原创,欢迎关注,带你一起长知识!