【论文解读】基于图卷积的价格感知推荐

机器学习初学者

共 4913字,需浏览 10分钟

 ·

2020-09-24 16:45

Paper:Price-aware Recommendation with Graph Convolutional Networks

Link:https://arxiv.org/pdf/2003.03975v1.pdf

一篇发表在ICDE2020的非常好的文章哦~

在之前的我所阅读的推荐系统文章中,除了2018年的RecSys中一篇从生产者角度出发的文章外,印象中没有过多的与推荐场景关联的实际/现实因素。大多数研究都更关注用户特征和用户与物品之间的交互,以计算点击率之类的相关评估结果。但是在电商领域,像“价格”这种真实的、甚至有些起决定性的因素,却很少出现在科研文章中,这也许与公开数据集中常常没有这一特征有关。当然了,也许是我读的还不够多。

但是价格,是多么重要的特征啊!就算我们通过很好的模型能够给用户推荐她确实喜欢的物品,她也确实点击了这些推荐的物品。一旦商品详情中价格不符合她的心理预期,她就会遗憾地关掉网页。那么即使点击率有所提高了,转化率依旧不会提高。

今天我们来分享一篇重点描述了“价格因素”在推荐系统中应用的文章。


文章中提到价格在推荐系统中应用的难度有以下两点:

  • 1)用户的价格意识未知。用户对商品价格的偏好和敏感度未知,这仅隐含地反映在用户购买的商品中。也就是说,我们只能通过用户是否购买了来判断该商品的价格是否合适。用户很少明确声明其对商品价格的偏好和敏感性。因此,要构建数据驱动的方法,我们必须从用户的购买历史中推断出用户对商品价格的个性化意识。更具挑战性的是,我们需要考虑相似用户历史中反映的CF效应,以提高推理的准确性。

  • 2)商品类别对用户的价格意识影响很大。商品价格如何影响用户的意图很大程度上取决于商品的价格。产品类别,也就是用户对商品价格的感知和承受能力在各个类别之间可能会发生显着变化。例如一个女人可能不愿意花1000块钱买一块手表,但是可能愿意花1500块钱买一条新裙子。而男人则可能正好相反。因此,重要的是要考虑商品类别信息,以准确推断用户的价格偏好。

因此,作者开发了一种有效的方法来预测用户的购买意愿,并重点关注推荐系统中的价格因素,命名为PUP模型

对于第一个难点,借鉴了图卷积网络(GCN),对用户物品和物品价格之间的传递关系进行建模。关键思想是通过物品作为桥梁传播价格对用户的影响,从而使学习到的用户表示具有价格意识。
对于第二个难题,我们将项目类别进一步整合到传播进度中,并对可能的成对交互进行建模,以预测用户与项目之间的交互。
进一步的分析表明,对价格意识进行建模对于预测用户对未开发类别的商品的偏好特别有用。

PUP模型

模型图如下图所示。

PUP模型的整体设计组件如下:统一的异质图,一个图卷积编码器(graph convolutional encoder)和一个基于成对交互的解码器。构建的统一异构图由四种类型的节点组成,其中用户节点连接到商品节点,商品节点连接到价格节点和类别节点。

文中强调,这项工作的重点是利用商品价格来提高推荐的准确性。由于用户的价格意识与产品类别密切相关,所以在设计价格意识推荐系统时,必须将类别考虑在内。

其中,  和  表示用户集和物品集,  是用户-物品的交互矩阵,M和N分别表示用户和物品的数量。如果  表示用户u曾经购买了物品i。使用  和  表示物品的价格和类别。

为了便于建模,我们将价格视为一个分类变量,使用统一量化将价格值离散到单独的水平。例如,假设类别手机的价格范围是[200,3000],我们将其离散到10个价格水平。例如,一部手机的价格是1000元,那么这个手机的价格水平就是  。

最后,我们将价格感知产品推荐问题表述如下:

  • input:交互矩阵  ,物品价格  和物品类别 

  • output:给定用户-商品对儿  的购买行为的估计概率。

接下来我们来拆分一下模型的各个组件。

1. 统一的异构图 (Unified heterogeneous graph)

为了显式地建模用户行为和商品属性,我们离散了价格变量,并建立了包含四种类型节点的异构图。为了解决未声明的价格意识问题,我们明确地在图上引入价格作为价格节点,而不是项目节点的输入特征。针对类别依赖影响的难度,我们进一步在图中添加类别节点
对于价格感知的产品推荐任务,我们同时拥有用户与产品的交互数据和产品的价格属性,明确地捕捉用户的价格感知是一项挑战,因为用户与价格没有直接关系。换句话说,用户与价格的关系是建立在用户对商品和商品对价格的传递关系之上的。这样,商品就起到了连接用户和价格的桥梁作用。
为了解决将复杂关系转化为统一模型的难题,我们将价格变量离散化,并构建由四种类型的节点用户、项目、价格和类别组成的异构图。
输入的交互数据和属性(类别和价格)被一个无向图  表示。V中的节点包括用户节点、物品节点、类别节点和价格节点,分别用  表示。E中的边由三个部分组成,分别是:
  • 交互边 : 中  的边

  • 类别边: 

  • 价格边: 

通过引入四种类型的节点,我们将所有的实体、特征和关系表示为一个统一的图,以显式的方式捕获所有的成对关系。如下图中的红框所示:


在图卷积网络中,常用的是使用word2vec提取的某些高级特征向量,如单词嵌入,作为节点的输入特征。同样的,将价格和类别信息编码到用户节点和产品节点的输入特征中似乎是合理的,这使得二分图设计更加简洁。
然而,在本文的工作中,我们明确地将两个重要的属性(价格和类别)作为实体节点,以一种更有表现力的方式捕获依赖于类别的价格感知。
通过分配不同的节点,价格和类别被直接和明确地捕获,上述两个价格感知产品推荐的困难得到了缓解。具体地说,未声明的价格感知被转化为异构图上的高阶邻居邻近这可以被图卷积网络很好地捕获通过将产品节点连接到价格节点和类别节点,可以减轻依赖于类别的影响问题。

2. 图卷积编码器 (Graph convolutional encoder)

为了同时捕获协同过滤(CF)效应和价格感知,我们利用图卷积网络作为编码器来学习用户、商品、价格和类别的语义表示。通过在异构图上传播嵌入信息,将价格敏感信息聚合到用户节点来获取用户的价格敏感性。
传统的Latent factor model (LFM)仅建模用户和物品的表示,本文中作者尝试学习同一潜在空间中四种类型实体的表示。主要的动机是在图上执行消息传递可以为多个任务(如节点分类和链接预测)生成语义性和鲁棒性的节点表示。其中有一类特殊的算法称为图神经网络,它达到了网络表示学习领域的最新水平。我们采用了一个编码模块,包括一个将独热输入转换为低维向量的嵌入层(Embedding layer),一个捕获CF效应和价格感知的嵌入传播层(Embedding propagation layer ),以及一个建模邻居相似度的邻居聚合层(Neighbor aggregation layer)
  • Embedding Layer:由于价格属性和类别属性被拿出来作为节点,因此ID是节点剩下的唯一特征。因此,我们引入一个嵌入层来压缩onehot ID编码到一个密集的实值向量。
  • Embedding propagation layer :在GCN中,节点的嵌入传播到它们的一阶邻居,如果应用了一个以上的卷积层,则进一步传播。也就是说,通过增加图卷积的层数一定程度上可以扩大节点的感受野。在本文中的编码器中,嵌入传播层捕获在两个直接连接的节点之间传输的消息,这些节点可以是用户-商品商品-价格商品-类别。节点  和节点  之间的传播的嵌入可以表示为: 

 表示节点  的邻居集合,  是节点  从嵌入层得到嵌入表示。与原GCN相同的是,本文也对每一个节点添加自循环(self-loops),因为它缩小了归一化Laplacian的谱,因此我们将异构图中的每个节点链接到自身,使得节点  也出现在  中。

  • Neighbor aggregation layer:从网络表示学习的角度来看,图结构中两个节点的邻接关系意味着它们的表示也应该在变换后的潜在空间附近。我们通过聚合节点邻居的表示来更新节点的表示。在所有的聚合操作中,[24]、[28]最常用的方法是求和、取平均值和LSTM。在我们提出的编码器中,我们采用平均池和利用非线性激活函数来执行消息在图上传递。
从推荐的角度来看,本文提出的图卷积编码器能够捕获任意两个节点之间存在路径时的相似性。结合经典的矩阵分解算法,通过优化估计用户-物品交互,隐式获取协同过滤效果。然而,在我们的图卷积编码器中,我们明确地通过聚集一个节点的邻居来合并协作过滤效果。具体来说,与同一项进行过交互的相似用户是异构图上的2阶邻居。

3. 基于成对儿交互的解码器 (Pairwise-interaction based decoder)

由于异构图中包含四种节点,这些节点被分解为一个共享的潜在空间,受因子分解机的启发,我们采用了基于交互的两两解码器来估计交互概率。
我们采用两分支设计来估计用户-物品的交互,重点是将价格纳入推荐。全局分支以用户的整体购买力为重点,在大范围内模拟价格效应。而类别分支集中在一个“局部”级别上,在这个级别上,类别因素会影响用户对价格的敏感性。对于每个分支,我们采用基于成对交互的解码器来估计交互概率,并将两个预测分数合并为最终结果。
在一个统一的异构图中,我们将用户、商品、类别和价格表示为四种类型的节点,因此对不同类型节点的学习表示共享相同的潜在空间。因子分解机分解了共享潜在空间中的所有特征,并通过取每对特征向量的内积来估计相互作用,受此启发,我们采用了FM模式的解码器。形式上,使用与上一节编码器相同的符号,用户u与c类商品i的估计购买概率和价格p可以表示为:

其中,最终的预测结合了来自两个分支的超参数预测结果来平衡这两个项。需要注意的是,每个分支都有自己的图卷积编码器,因此计算  和  所使用的嵌入是不同的、独立的。
关于global分支,用户、物品和价格这三个特征被送进一个双路的基于成对交互的FM解码器。在这个分支中,三个内积分别捕捉了用户的兴趣、用户的整体价格效应和产品的价格偏差。在不考虑类别嵌入的情况下,我们估计了相互作用的概率,因此类别节点仅作为正则化项在图上,使同一类别的项彼此靠近。由于类别信息隐藏在全局分支的解码过程中,与类别相关的价格的局部效应被推出了学习的潜在空间。而反映用户整体购买力和可承受性的全局价格影响,则被强大的图卷积编码器保留在潜在空间中。

在这项工作中,作者强调了将价格纳入推荐的重要性。
为了解决价格整合的两个难点,即未声明价格意识和类别依赖影响,我们提出了一种基于gcn的方法PUP,并采用了一个专门设计来分离价格意识的全局和局部影响的双分支结构。我们在真实数据集上进行了大量的实验,证明我们提出的PUP可以提高现有方法的推荐性能。通过获取价格意识,可以进一步了解如何缓解冷启动问题。虽然我们的模型是专门为建模价格敏感性而设计的,但是我们提出的模型在特征工程方面具有很大的普遍性,其他特征可以很容易地集成到我们提出的方法中
随着越来越多的研究从服务提供者的角度聚焦于价格因素,如何将价格意识推荐扩展到价值意识推荐是一个有趣而重要的研究课题。此外,对价格动态建模也是一个很有前途的方向。

P.S. 欢迎投稿,让更多人看到你的分享。


往期精彩回顾





获取一折本站知识星球优惠券,复制链接直接打开:

https://t.zsxq.com/662nyZF

本站qq群704220115。

加入微信群请扫码进群(如果是博士或者准备读博士请说明):

浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报