该论文于2020年发表在WSDM上,目的是解决推荐系统中的冷启动问题。作者认为商品的属性可以反映用户的特征,如图1所示,一个鞋子会有不同的特征,这些特征能从侧面反映用户的兴趣爱好。对于一个真实的推荐系统而言,把商品精准地推荐给喜欢它的用户是主要任务,但一些新添加的商品(或者是很少有人购买的商品),由于缺乏与用户的交互数据,所以很难知道哪些用户可能喜欢该商品,因此也就无法完成这类商品的推荐。论文利用生成对抗网络,为商品的每种标签(特征)生成一个与该标签对应的用户特征,这样就得到了一个虚拟的人的特征,然后再从真实用户中找到与生成的用户相似度较高的用户,最后将该商品推荐给这位用户,这样就解决了商品冷启动问题。
一些基于GAN的推荐方法,如IRGAN、GraphGAN、CFGAN,利用用户和商品的交互信息直接为用户生成可能喜欢的商品,通过用户的购买行为记录训练生成器和判别器,直到生成器可以欺骗判别器。该类方法需要大量的真实购买行为记录,这在数据稀疏和冷启动场景中无法使用。本文的最大创新之处是不需要用户和商品的交互数据,而是从商品的配置文件中直接生成用户,这样可以解决商品冷启动问题。
LARA 模型由生成器和判别器两部分组成,生成器可以根据输入的物品的属性向量生成一个可能喜欢该物品的用户特征向量,然后从用户集中选出若干个与该用户特征向量最相似的用户,将该物品推荐给这些用户。判别器可以根据输入的用户-物品对,判断输入的用户特征是真实的还是生成的。
生成器的个数和商品特征个数一样,对于商品特征\(a_{i}\),将其输入到生成器\(g_{i}\)中,得到和商品特征\(a_{i}\)相关的用户特征向量\(v_{i}\)。然后用一个全连接神经网络汇总所有的用户特征得到一个最终的用户特征向量。
文中采用了三种数据对来训练判别器:
通过以上三种样本的训练方式,可以使判别器产生的用户特征不仅像真实的用户特征,而且和给定的物品相关。
三种数据对的标签如下:
\(u^{+}\)的确定:先找到一个和物品\(I^{c}\)有交互的用户\(u\),并将其特征向量初始化为0,其中的维数是数据集中属性的数量。然后,我们搜索数据集,查找与用户有交互作用的商品,并获取这些商品的属性来构建一个属性集。最后,我们遍历属性集,并将零向量中相应的值设置为1来表示用户\(u^{+}\)。假用户\(u^{-}\)是先找到一个和物品没有交互的用户\(u\),后续过程跟真实用户的确定相同。
给定一个新商品的属性,生成模型可以生成倾向于购买该商品的用户的属性级特征表示。向量中的每个元素表示用户是否喜欢这个特定的属性,这也反映了用户的配置文件。然后从用户集中选择与生成用户最相似的前n个用户作为推荐对象。
本文的另一个贡献是利用属性信息来表示用户。为了验证属性级的用户表示的有效性,我们提出一个新的基线模型的项目属性信息的输入和输出是交互层面用户表示,也就是说,用户表示的尺寸等于商品的数量。