论文笔记:Item2Vec: Neural Item Embedding for Collaborative Filtering

一、基本信息

论文题目:《Item2Vec: Neural Item Embedding for Collaborative Filtering》

发表时间:RecSys 2016

作者及单位:

论文地址:http://ceur-ws.org/Vol-1688/paper-13.pdf

二、摘要

        许多协作过滤(CF)算法是基于项目的,因为它们分析项目 - 项目关系以产生项目相似性。 最近,自然语言处理领域的一些工作提出使用神经嵌入算法学习单词的潜在表示。 其中,带有负抽样的Skip-gram(SGNS),也称为Word2Vec,被证明可以产生各种文本任务的最好结果。 在本文中,我们表明基于项目的CF可以在相同的神经词嵌入框架中进行转换。 受SGNS的启发,我们描述了一种方法,我们为基于项目的CF命名Item2Vec,为潜在空间中的项目生成嵌入。 即使用户信息不可用,该方法也能够推断项目间关系。 我们在大型数据集上展示实验结果,证明了Item2Vec方法的有效性,并证明它可以与SVD竞争。

三、主要内容与工作

扫描二维码关注公众号,回复: 11273206 查看本文章

1. Introduction

计算项目相似性是现代推荐系统的一个关键组成部分。虽然许多推荐算法都专注于同时学习用户和项目的低维嵌入[1,2,3],但计算项目相似性本身就是一个终点。在线零售商在许多不同的推荐任务中广泛使用项目相似性。本文通过在低维空间中嵌入项目来解决学习项目相似性这一被忽视的任务,而不管用户是谁。

基于项目的相似性被在线零售商用于基于单个项目的推荐。例如,在Windows10应用程序商店中,每个应用程序或游戏的详细信息页面包含一个名为“人们也喜欢”的其他类似应用程序列表。这个列表可以扩展到与原始应用程序类似的完整页面推荐列表,如图1所示。大多数在线商店(如亚马逊、Netflix、Google Play、iTunes Store和许多其他商店)都有类似的推荐列表,这些列表仅基于与单个物品的相似性。
单项目建议不同于更“传统”的用户对项目建议,因为它们通常显示在明确用户对特定项目感兴趣的上下文和明确用户购买意向的上下文中。因此,基于项目相似性的单个项目建议通常比用户对项目建议具有更高的点击率(ctr),因此负责更大的销售或收入份额。
基于项目相似性的单个项目建议也用于其他各种推荐任务:在“糖果级”中,类似项目(通常价格较低)的建议在付款前的签出页上提出。在“捆绑”建议中,一组由多个项目组合在一起并推荐。最后,在网上商店中使用项目相似性来更好地探索和发现,并改善整体用户体验。通过为用户定义可宽延变量来隐式地学习项之间的连接的用户项CF方法不太可能比直接学习项关系的优化方法产生更好的项表示。

项目相似性也是基于项目的CF算法的核心,这些算法旨在直接从项目关系中学习表示[4,5]。有几个场景需要基于项目的CF方法:在大型数据集中,当用户数量明显大于项目数量时,单独对项目进行建模的方法的计算复杂度明显低于同时对用户和项目进行建模的方法。例如,在线音乐服务可能拥有数亿注册用户,只有数万名艺术家(项目)。
在某些情况下,用户项关系不可用。例如,今天大部分的网上购物都是在没有明确的用户识别过程的情况下完成的。相反,可用的信息是每个会话。将这些会话视为“用户”不仅成本高昂,而且信息量也较低。
语言任务的神经嵌入方法的最新进展极大地提高了最先进的自然语言处理(NLP)能力[6、7、8、9]。这些方法试图将单词和短语映射到一个低维的向量空间,该空间捕获单词之间的语义和句法关系。具体地说,带负采样(sgns)的skip-gram(也称为word2vec[8])在各种NLP任务[7,8]中设置了新的记录,其应用已经扩展到了NLP[10,11]之外的其他域。

在本文中,我们建议将SGNS应用于基于项目的CF,由于它在其他领域取得了巨大的成功,我们建议对SGNS稍加修改,就可以捕获协同过滤数据集中不同项目之间的关系。为此,我们提出了一个名为item2vec的SGNS的修改版本。我们证明,item2vec可以诱导一个相似度度量,与使用SVD的基于项目的CF相竞争。重要的是要澄清的是,我们并不是声称要达到最先进的水平,而仅仅是为了展示SGNS在基于项目的CF中的另一个成功应用。因此,我们选择将我们的方法与基于SVD的模型进行比较,并将其与其他更复杂的方法进行比较,以便将来的研究。
论文的其余部分组织如下:第2节概述了SGNS背景下的相关工作,第3节描述了如何将SGN应用于基于项目的CF,第4节描述了实验设置,并给出了实证的定性和定量结果。

2.Skip-gram with negative sampling(SGNS) – Related work

3. Item2Vec – SGNS for item-based CF

在CF数据的上下文中,这些项作为用户生成的集合提供。请注意,有关用户和一组项之间关系的信息并不总是可用的。例如,我们可能会得到一个数据集,该数据集是由存储收到的订单生成的,没有关于发送订单的标识的任何信息。换句话说,在某些情况下,多组项目可能属于同一个用户,但不提供此信息。在第4节中,我们给出了实验结果,表明我们的方法也可以处理这些场景。
我们建议将sgns应用于基于项目的CF。一旦我们意识到一个单词序列等同于一组或一篮子项目,sgns应用于CF数据就很简单了。因此,从现在开始,我们将交替使用“单词”和“项目”。
通过从序列移动到集合,空间/时间信息将丢失。我们选择丢弃这些信息,因为在本文中,我们假设一个静态环境,在这个环境中,共享相同集合的项被认为是相似的,不管它们是以什么顺序/时间由用户生成的。这种假设在其他情况下可能不成立,但我们将这些情况的处理排除在本文的范围之外。
因为我们忽略了空间信息,所以我们将共享同一集合的每对项视为一个积极的例子。这意味着窗口大小由设置的大小决定。具体来说,对于一组给定的项目,等式(1)的目标修改如下:

另一种选择是保持目标在等式(1)中不变,并在运行时对每一组项目进行无序排列。在我们的实验中,我们观察到两种选择的效果相同。

其余的过程与第2节中描述的算法相同。我们将所描述的方法命名为“item2vec”。

四、总结

本文提出了一种基于项的协同过滤的神经嵌入算法item2vec。第2vec项基于SGN,并作了细微修改。
与基于支持向量机的项目相似性模型相比,我们提出了定量和定性评估,证明了item2vec的有效性。我们观察到,item2vec比基线SVD模型得到的更能代表项目,在基线SVD模型中,两者之间的差距对于不受欢迎的项目来说变得更为显著。我们通过item2vec采用负抽样和常用项目的次抽样来解释这一点。
在未来,我们计划研究更复杂的CF模型,如[1,2,3],并将它们与item2vec进行比较。

猜你喜欢

转载自blog.csdn.net/qq_35771020/article/details/89137392