Paper:Price-aware Recommendation with Graph Convolutional Networks
Link:https://arxiv.org/pdf/2003.03975v1.pdf
一篇发表在ICDE2020的非常好的文章哦~
在之前的我所阅读的推荐系统文章中,除了2018年的RecSys中一篇从生产者角度出发的文章外,印象中没有过多的与推荐场景关联的实际/现实因素。大多数研究都更关注用户特征和用户与物品之间的交互,以计算点击率之类的相关评估结果。但是在电商领域,像“价格”这种真实的、甚至有些起决定性的因素,却很少出现在科研文章中,这也许与公开数据集中常常没有这一特征有关。当然了,也许是我读的还不够多。
但是价格,是多么重要的特征啊!就算我们通过很好的模型能够给用户推荐她确实喜欢的物品,她也确实点击了这些推荐的物品。一旦商品详情中价格不符合她的心理预期,她就会遗憾地关掉网页。那么即使点击率有所提高了,转化率依旧不会提高。
今天我们来分享一篇重点描述了“价格因素”在推荐系统中应用的文章。
文章中提到价格在推荐系统中应用的难度有以下两点:
因此,作者开发了一种有效的方法来预测用户的购买意愿,并重点关注推荐系统中的价格因素,命名为PUP模型。
对于第一个难点,借鉴了图卷积网络(GCN),对用户物品和物品价格之间的传递关系进行建模。关键思想是通过物品作为桥梁传播价格对用户的影响,从而使学习到的用户表示具有价格意识。
对于第二个难题,我们将项目类别进一步整合到传播进度中,并对可能的成对交互进行建模,以预测用户与项目之间的交互。
进一步的分析表明,对价格意识进行建模对于预测用户对未开发类别的商品的偏好特别有用。
模型图如下图所示。
PUP模型的整体设计组件如下:统一的异质图,一个图卷积编码器(graph convolutional encoder)和一个基于成对交互的解码器。构建的统一异构图由四种类型的节点组成,其中用户节点连接到商品节点,商品节点连接到价格节点和类别节点。
文中强调,这项工作的重点是利用商品价格来提高推荐的准确性。由于用户的价格意识与产品类别密切相关,所以在设计价格意识推荐系统时,必须将类别考虑在内。
为了显式地建模用户行为和商品属性,我们离散了价格变量,并建立了包含四种类型节点的异构图。为了解决未声明的价格意识问题,我们明确地在图上引入价格作为价格节点,而不是项目节点的输入特征。针对类别依赖影响的难度,我们进一步在图中添加类别节点。
对于价格感知的产品推荐任务,我们同时拥有用户与产品的交互数据和产品的价格属性,明确地捕捉用户的价格感知是一项挑战,因为用户与价格没有直接关系。换句话说,用户与价格的关系是建立在用户对商品和商品对价格的传递关系之上的。这样,商品就起到了连接用户和价格的桥梁作用。
为了解决将复杂关系转化为统一模型的难题,我们将价格变量离散化,并构建由四种类型的节点用户、项目、价格和类别组成的异构图。
在图卷积网络中,常用的是使用word2vec提取的某些高级特征向量,如单词嵌入,作为节点的输入特征。同样的,将价格和类别信息编码到用户节点和产品节点的输入特征中似乎是合理的,这使得二分图设计更加简洁。
然而,在本文的工作中,我们明确地将两个重要的属性(价格和类别)作为实体节点,以一种更有表现力的方式捕获依赖于类别的价格感知。
通过分配不同的节点,价格和类别被直接和明确地捕获,上述两个价格感知产品推荐的困难得到了缓解。具体地说,未声明的价格感知被转化为异构图上的高阶邻居邻近,这可以被图卷积网络很好地捕获。通过将产品节点连接到价格节点和类别节点,可以减轻依赖于类别的影响问题。
为了同时捕获协同过滤(CF)效应和价格感知,我们利用图卷积网络作为编码器来学习用户、商品、价格和类别的语义表示。通过在异构图上传播嵌入信息,将价格敏感信息聚合到用户节点来获取用户的价格敏感性。
传统的Latent factor model (LFM)仅建模用户和物品的表示,本文中作者尝试学习同一潜在空间中四种类型实体的表示。主要的动机是在图上执行消息传递可以为多个任务(如节点分类和链接预测)生成语义性和鲁棒性的节点表示。其中有一类特殊的算法称为图神经网络,它达到了网络表示学习领域的最新水平。我们采用了一个编码模块,包括一个将独热输入转换为低维向量的嵌入层(Embedding layer),一个捕获CF效应和价格感知的嵌入传播层(Embedding propagation layer ),以及一个建模邻居相似度的邻居聚合层(Neighbor aggregation layer)。
由于异构图中包含四种节点,这些节点被分解为一个共享的潜在空间,受因子分解机的启发,我们采用了基于交互的两两解码器来估计交互概率。
我们采用两分支设计来估计用户-物品的交互,重点是将价格纳入推荐。全局分支以用户的整体购买力为重点,在大范围内模拟价格效应。而类别分支集中在一个“局部”级别上,在这个级别上,类别因素会影响用户对价格的敏感性。对于每个分支,我们采用基于成对交互的解码器来估计交互概率,并将两个预测分数合并为最终结果。
在一个统一的异构图中,我们将用户、商品、类别和价格表示为四种类型的节点,因此对不同类型节点的学习表示共享相同的潜在空间。因子分解机分解了共享潜在空间中的所有特征,并通过取每对特征向量的内积来估计相互作用,受此启发,我们采用了FM模式的解码器。形式上,使用与上一节编码器相同的符号,用户u与c类商品i的估计购买概率和价格p可以表示为:
在这项工作中,作者强调了将价格纳入推荐的重要性。
为了解决价格整合的两个难点,即未声明价格意识和类别依赖影响,我们提出了一种基于gcn的方法PUP,并采用了一个专门设计来分离价格意识的全局和局部影响的双分支结构。我们在真实数据集上进行了大量的实验,证明我们提出的PUP可以提高现有方法的推荐性能。通过获取价格意识,可以进一步了解如何缓解冷启动问题。虽然我们的模型是专门为建模价格敏感性而设计的,但是我们提出的模型在特征工程方面具有很大的普遍性,其他特征可以很容易地集成到我们提出的方法中。
随着越来越多的研究从服务提供者的角度聚焦于价格因素,如何将价格意识推荐扩展到价值意识推荐是一个有趣而重要的研究课题。此外,对价格动态建模也是一个很有前途的方向。