ICDE2020|Price-aware Recommendation with Graph Convolutional Networks 应用图卷积网络的价格意识推荐方法

    技术2025-02-26  9

    Motivation

    ----------------------------------------------------------------------------------------------------

    由于推荐系统在许多应用中的普遍性和成功性,推荐在业界和学术界都引起了越来越多的关注,但关于推荐的大量研究工作均投入到挖掘用户行为。价格是行销中的一个重要因素,它决定了用户是否将对商品做出最终的购买决定,目前在推荐领域却很少有研究者关注这一点。

    将商品价格有效整合到推荐系统中存在两个困难:

    未声明的价格意识:用户很少明确声明其对商品价格的偏好和敏感性。因此,要构建数据驱动的方法,必须从用户的购买历史中推断出用户对商品价格的个性化意识。更具挑战性的是,需要考虑相似用户历史中反映的CF效应来提高推理的准确性;与类别有关的影响:用户对不同类别的商品会有不同的感知和可承受性。例如,运动爱好者对运动器材的价格具有较高的容忍度,但对酒精饮料则没有。因此,重要的是要考虑到商品类别信息以准确推断用户的价格偏好;

    Problem Defination

    ----------------------------------------------------------------------------------------------------

    WTP & CWTP

    为了理解各个类别之间的不一致敏感性,本文将广泛使用的愿意支付(WTP)扩展到衡量类别愿意支付(CWTP),作为反映用户价格意识的指标,WTP定义为用户愿意支付的商品的最高可接受价格。进一步将CWTP定义为指定用户愿意为给定类别的商品支付的最高价格。因此,对于与多个类别的项目进行交互的用户,将具有多个CWTP值。然后为用户计算CWTP的熵,其中较小的熵值表示用户对各个类别的价格敏感性一致,而较大的值表示用户对于不同类别的产品对价格的考虑不同。

    基本定义

    U和I分别表示用户和项目的集合;Rm×n表示用户-项目交互矩阵,其中m和n是用户和项目的数量,R中观察到的交互Rui = 1表示用户u购买了商品i;p = {p1, p2, ..., pn}和c = {c1, c2, ..., cn}分别表示商品的价格和类别,为了便于建模,将价格视为分类变量,将其离散化为使用统一量化;

    价格感知项目推荐问题

    输入:交互矩阵R,商品价格p和商品类别c 输出:给定用户对(u,i)的购买行为的估计概率

    Method

    ----------------------------------------------------------------------------------------------------

    PUP模型

    上图即为作者提出的PUP模型,用户-商品对(u3,i4)作为输入,其中i4具有属性c2和p1,此模型的目标是基于输入去预测用户u购买商品i的可能性。

    此模型特殊设计主要有以下三点:

    统一的异构图图卷积编码器基于成对交互的解码器

    为了捕获建议中的复杂价格因素,使用两个分支来估计类别相关和具有价格意识的用户偏好:一个分支专注于用户的兴趣,并将价格建模为代表用户总体购买力(与类别无关)的全局影响,而另一分支则关注类别对价格的影响。 作者将第一个分支称为全局分支,将第二个分支称为类别分支。 对于每个分支,作者构造一个异构图,并使用图卷积编码器和成对交互解码器。 

    统一异构图

    为了显式地建模用户行为和商品属性,作者离散化了价格变量,并构建了具有四种类型节点的异构图。为了解决未声明的价格意识的问题,在图上明确引入价格作为价格节点,而不是项目节点的输入特征。至于类别依赖影响的难度,我们进一步将类别节点添加到图中。要明确捕获用户的价格意识是一项挑战,因为用户与价格的关系建立在用户与商品以及商品与价格的传递关系上。商品可以起到连接用户和价格的桥梁作用。为了解决将复杂关系捕获到统一模型中的挑战,作者离散化了价格变量,并构建了一个由四种类型的节点组成的异构图,即用户,项目,价格和类别。

    形式上,输入交互数据和属性(类别和价格)可以由无向图G =(V,E)表示。 V中的节点包括用户节点u∈U,项目节点i∈I,类别节点c∈C和价格节点p∈P。 E中的边由具有Rui = 1的交互边(u,i)和类别边(i,ci)和具有i∈I的价格边(i,pi)组成。通过引入四种类型的节点,在统一的图中表示所有实体,特征和关系,从而以显式方式捕获所有成对关系。具体来说,未声明的价格意识被转换为异构图上的高阶邻居接近度,这可以通过图卷积网络很好地捕获。通过将项目节点链接到价格节点和类别节点,可以缓解与类别相关的影响问题。

    这里为类别和价格使用单独的节点类型,而不为(类别,价格)的交叉特征使用单个节点类型,来避免冗余参数。 直观地讲,具有不同价格的同一类别的项目共享功能相似性;同时,来自各个类别的相同价格的商品也反映出相似的价格意识。 因此,单一类型的交叉特征缺少上述两种情况的联系。通过将不同的节点类型应用于类别和价格,可以在图中捕获不同级别的语义相似性。

    图卷积编码

    为了同时获得CF效果和价格意识,使用图卷积网络作为编码器来学习用户,商品,价格和类别的语义表示。通过在异构图上传播嵌入,可以通过将价格感知信息聚合到用户节点中来捕获用户的价格敏感性。

    潜在因子模型(LFM)试图对低维潜在空间中的实体进行编码,是推荐系统中一种广泛使用的机制。

    当用户u以价格p购买商品i时,存在潜在的用户价格交互作用(u,p),传统的LFM仅学习用户和项目的表示形式,作者对其进行扩展尝试学习同一潜在空间中四种类型的实体的表示形式。一种称为图形神经网络的特殊算法可实现网络表示学习领域的最新技术。

    编码模块:

    用于将one-hot输入转换为低维向量的嵌入层:PUP模型中由于价格属性和类别属性被提出为节点,因此ID是节点剩下的唯一功能。 因此引入了一个嵌入层,将one-hot ID编码压缩为密集的实值向量。 用单独的嵌入e'∈Rd表示每个节点,其中d是嵌入大小;用于捕获CF效果和价格意识的嵌入传播层:嵌入传播层在GCN中,节点的嵌入传播到其一阶邻居,并且如果应用了多个卷积层,则进一步传播。 在编码器中,嵌入传播层捕获在两个直接连接的节点之间传递的消息,这些消息可以是用户项,项目价格或项目类别。添加自环对于GCN非常重要,因为它会缩小归一化拉普拉斯算子的频谱,因此将异构图中的每个节点链接到自身;用于对邻居相似度进行建模的邻居聚合层:从网络表示学习的角度来看,图结构中两个节点的邻居关系意味着它们的表示也应该在变换后的潜在空间中接近。通过汇总节点的邻居表示来更新节点的表示。作者采用平均池化并利用非线性激活函数在图形上执行消息传递;

      

    由于嵌入传播和邻居聚合的内在表达能力,图卷积编码器提取的学习表示可以有效地建模节点及其高阶邻居之间的关系。从直觉上讲,相同价格水平的商品可能比不同价格水平的商品更相似。在构造的异构图中,价格节点链接到该价格级别的所有项目,并且图卷积编码器保证这些项目的输出表示将通过嵌入传播和邻居聚合来吸收嵌入其自身的价格。因此,编码器生成具有价格感知相似性的项目表示。因为类别节点连接到属于该类别的所有项目节点,所以以相同的方式捕获类别感知的相似性。此外,用户的价格意识在很大程度上通过交互过滤和其他用户通过协作过滤的购买历史反映出来。因此,利用商品作为用户和价格意识之间的桥梁至关重要。在PUP模型中,用户的表示形式是从其交互项中明确汇总的,并且这些项直接链接到类别和价格。因此,类别节点和价格节点相对于用户节点是高阶邻居,并且价格意识通过中间项目节点传播给用户。

     对于经典的矩阵分解算法,通过优化估计用户项交互来隐式捕获协作过滤效果。 但是,在图卷积编码器中是通过聚集节点的邻居来明确合并协作过滤效果。 具体而言,与同一项目进行交互的相似用户是异构图上的2阶邻居,并且这种接近可以由图卷积编码器捕获。

    基于成对交互的解码器

    由于异构图由四种类型的节点组成,这些节点被分解为一个共享的潜在空间,受自动化机的哲学启发的,作者采用基于成对交互的解码器来估计交互概率。采用两分支设计来估计用户与项目之间的互动,重点是将价格纳入推荐中。对于每个分支,使用基于成对交互的解码器来估计交互概率,并将两个预测分数组合为最终结果。

    全局分支机构在较大范围内对价格效应进行建模,该价格效应侧重于用户的整体购买力类别分支集中在相当“局部”的级别,其中类别因素会影响用户的价格敏感性

    当我们在统一的异构图上将用户,项目,类别和价格表示为四种类型的节点时,针对不同类型节点学习的表示形式共享相同的潜在空间。受因子分解机器的启发,该因子将共享的潜在空间中的所有特征分解,并通过取每对特征向量的内积来估计相互作用,作者采用了遵循FM方式的解码器。最终预测将来自两个分支的结果与超参数α相结合来平衡两项。需要注意的是,每个分支都有其自己的图卷积编码器,因此用于计算全局和类别的嵌入是不同且独立的。全球分支中考虑用户,项目和价格这三个特征,类别节点仅充当图上的正则化项。类别分支中,在估计交互时忽略了项目嵌入,仅考虑了用户,类别和价格。项目节点仅扮演桥梁角色,将价格和类别信息传输给用户。通过获取三个嵌入的内部产品,可以确保用户在共享的潜在空间中依赖于类别的价格意识。作者提出的解码器在价格意识方面具有出色的可解释性。

    模型训练

    为了训练提出的PUP模型,在编码阶段,利用GCN来学习所有四种类型节点的表现力和鲁棒性表示。在解码阶段,由于预测用户-项目交互是推荐的主要任务,因此仅专注于在异构图上重建用户-项目边缘,并省略项目-价格和项目-类别边缘。为了了解用户对不同项目的偏好,采用贝叶斯个性化排名(BPR)作为损失函数。 BPR损失导致模型将阳性样本(交互项)的排名高于阴性样本(未观察到交互)

    实现

    图卷积编码器可以利用稀疏矩阵生成有效地实现;由于在基于成对交互的解码器中,采用每对特征的内积,因此计算复杂度较高。 但可使用以下在FM中首次引入的技巧将计算降低为线性复杂度;Dropout是防止神经模型过度拟合的有效方法, 在特征级别采用Dropout,这意味着以概率p随机丢弃输出表示,p是我们方法中的超参数。借助Dropout技术,作者提出的PUP方法在统一异构图上学习了更鲁棒的节点表示;

    Experiment

    ----------------------------------------------------------------------------------------------------

    数据集

    利用两个真实世界的数据集进行比较:Yelp和Beibei,上表总结了这两个数据集的统计信息。

    Yelp:采用Yelp2018开放数据集,其中将餐厅和购物中心视为项目。选择顶级类别餐厅下的所有子类别。在此数据集中,每个餐厅的价格显示为美元符号的数量不同,范围从1到4。因此,在实验中,直接将美元符号的数量用作价格水平。最后,利用10核心设置,这意味着仅保留具有至少10次互动的用户和物品;Beibei:这是从中国最大的电子商务平台之一收集的数据集。在此数据集中,所有项目都具有特定的类别和价格信息。由于此数据集中每个项目的价格都是连续价格,因此使用统一量化将连续价格离散化为10个价格水平,并使用10核设置来保证数据质量;

    对于每个数据集,首先根据时间戳对记录进行排名,然后选择前60%作为训练集,选择中20%作为验证集,最后选择20%作为测试集。 对于每个用户,未被用户交互的项目都被视为否定样本。 执行负采样以构成正负样本对以进行训练。 为了评估top-K推荐的有效性,我们使用的指标有:Recall和NDCG 与参考文献Neural collaborative filtering中相同。

    对比方法

    ItemPop、BPR-MF、PaDQ、FM、DeepFM、GC-MC、NGCF;作者没有将所提出的方法与 M. Wan等人提出的FMF 和  J. Wang等人提出的SVDutil 比较,因为这些方法结合了价格或净效用的动态性。

    实验结果

    CIR(类别项目推荐):候选项目库由属于测试阳性未开发类别的所有项目组成UCIR(未探索的类别项目推荐):候选项目库由火车正类别以外的所有项目组成

    Conclusion

    ----------------------------------------------------------------------------------------------------

    强调了将价格纳入推荐的重要性,为了解决两个困难,即不确定的价格意识和与类别相关的影响,提出了一种新的解决方案,称为价格感知用户偏好模型(PUP),它采用了最近出现的图卷积网络(GCN)来学习价格感知和类别相关的用户表示;采用了两分支结构,该结构专门设计用于消除价格意识的全局和类别影响;以端到端的方式训练整个模型;通过捕获价格意识,提供了有关缓解冷启动问题的更多见解;提出的模型在特征工程方面具有很大的通用性,在特征工程中其他特征可以轻松集成到作者提出的方法中;
    Processed: 0.010, SQL: 9