在SBR中对价格和兴趣偏好建模
发表于:SIGIR(2022)
摘要:
基于会话的推荐旨在根据匿名用户的短行为序列预测其想要购买的商品。目前基于会话的推荐方法只关注于对用户的兴趣偏好进行建模,而忽略了商品的一个关键属性,即价格。许多市场营销研究表明,价格因素显著影响用户的行为,用户的购买决策是由价格和兴趣偏好共同决定的。然而,在基于session的推荐中加入价格偏好是很重要的。首先,很难处理来自不同商品特征的异构信息来获取用户的价格偏好。其次,在决定用户选择时,很难对价格和兴趣偏好之间的复杂关系进行建模。
为了解决上述问题,我们提出了一种新的协同引导异构超图网络的session推荐方法(CoHHN)。针对第一个挑战,我们设计了一个异构超图来表示异构信息和它们之间的丰富关系。然后设计了一种双通道聚合机制来聚合异构超图中的各种信息。之后,我们通过关注层提取用户的价格偏好和兴趣偏好。对于第二个挑战,我们设计了一个共同引导的学习方案来模拟价格和兴趣偏好之间的关系,并促进彼此的学习。最后,我们根据物品特征和用户的价格和兴趣偏好预测用户的行为。在三个真实数据集上的大量实验证明了提出的CoHHN的有效性。进一步的分析揭示了价格对于基于交易日的推荐的重要性。
1 introduction
当前存在的问题:现有的推荐方法都忽略了用户的价格偏好,它描述用户愿意为某项商品支付多少钱。许多营销研究表明,用户购买行为受到价格因素的影响,因此,在预测用户的行为时,应该考虑用户的价格偏好。
事实上,用户的价格偏好并不是固定的,根据商品类别的不同,价格偏好会有很大的差异。例如,一个用户可能因为性能要求高而购买了一台贵的笔记本电脑,但她可能会买一件便宜的睡衣。因此,在考虑用户的价格偏好时,我们需要考虑对应的商品类别。通过这种方式,将涉及多种类型的信息来描述用户的历史行为,包括一系列商品、商品价格和商品类别。
问题1:如何处理这些异构信息为SBR建立价格偏好模型。
直观的处理方式是应用图异构方法建模异构信息,但图异构方法由于过渡平滑问题只能捕获k-hop对关系。而各种信息之间的关系是高阶的,这种复杂的高阶依赖不能使用一般的图异构方法。作者提出了一种异构超图网络,在异构超图中对商品价格、商品ID和商品类别节点编码,它们都与价格和兴趣偏好密切相关。定义了三种类型的超边,即特征超边、价格超边和会话超边,用来表示各节点之间的多类型关系。然后设计了一种双通道聚合机制,通过特征超边传播节点嵌入。在学习到的节点嵌入的基础上,用注意层分别通过价格超边和会话超边提取原始价格偏好和兴趣偏好。
此外,有一种叫弹性价格的经济学现象,这表明用户愿意为某一物品支付的金钱随着其兴趣而波动。这一现象表明,用户的购买行为是由价格和兴趣偏好共同决定的,用户在购买物品时经常会进行价格和兴趣的权衡。例如,用户可能出于强烈的兴趣购买一件昂贵的物品,即使该物品的价格超出了她的预期。在这种情况下,用户会因为强烈的兴趣而调整自己的价格偏好。同样,用户也会因为价格低而购买一些自己不喜欢的物品。因此,在SBR中,价格偏好和兴趣偏好都是必不可少的。
问题2:怎样为价格和兴趣偏好间复杂的关系进行建模。
作者提出了一种新的共同指导学习模式,在异构超图网络学习到的原始价格偏好和兴趣偏好的基础上,进一步使这两个偏好相互引导学习,丰富其语义。最后,CoHHN根据商品特征以及用户的价格和兴趣偏好进行推荐。
3 PRELIMINARIES
物品的绝对价格不足以判断物品是否昂贵。例如,200美元买一部手机可能很便宜,但同样的价格买一盏灯就太贵了。因此,我们必须根据物品类别将物品价格分散到不同的价格级别,这样它们就可以在不同类别之间进行比较。如图一所示,某一类商品的价格分布更接近于logistic分布,它的概率密度函数表现为中间偏好高,两边偏好低。在价格集中的情况下,用户有更多价格相近的商品可供选择,因此价格敏感性较高,需要更精细地划分价格等级,反之亦然。此外,为了平衡训练数据,每个价格等级所包含的项目数量应在同一标准。(为啥)如图所示,我们把价格离散到个等级,每个区间对应的概率相等。对于价格为
项目
,同类产品的价格范围是[min,max],定义价格等级为
(1)
构建一个异构超图G=(V,E),其中V是所有点的集合E是所有超边集合。每个节点类型为
且相同类型的节点构成了点集
。点的类型编码为项价格(
),项ID,项类别(
)。这些都与价格和兴趣偏好相关,即
,每条超边连接两个或更多任意类型的节点。定义了以下三种类型的超边来表示各节点之间的多类型关系:(1)特征超边连接一个项目的所有特征;(2)价格超边连接一个会话中所有项目的价格节点。(3)会话超边连接会话中所有条目的ID节点。利用特征超边进行异构节点的嵌入。价格和会话超边分别用于提取用户的价格和兴趣偏好。如果两个节点由超边连接,则它们是相邻的。如图所示
4 方法
CoHHN如下图所示。在构造的异构超图的基础上,设计了一种双通道聚合机制,用于在类型内通道和类型间通道的节点之间传播各种信息。之后,利用关注层分别基于价格和会话超边提取用户的价格和兴趣偏好。在此基础上,提出了一种共同指导的学习模式来模拟这两种偏好之间的复杂关系,从而决定用户的选择。最后,我们根据物品特征以及用户的价格和兴趣偏好来预测用户的行为。
双通道聚合机制
在构造的异构超图中,目标节点可以与多种类型的节点相邻。显然,相同类型的节点包含相同的信息,不同类型的节点具有不同的语义。因此,将消息聚合归纳为两个通道,即类型内通道和类型间通道。在intra-type信道中,对于一个目标节点,相同类型的相邻节点具有不同的重要性。同时,在类型间通道中,不同类型可能对目标节点有不同的影响。为了从两个信道聚合丰富的信息,我们设计了一种新的双信道聚合机制。
Intra-type aggregating:
是类型为t的目标节点的嵌入。它的确定类型(
)的相邻节点构成了一个集合
,类内聚合旨在区分
中节点的重要性并聚合这些节点的信息来表示类型
。类型
的目标节点
的表示为:
考虑到相同类型的节点包含同类信息,Intra-type aggregating在嵌入层对信息进行合并。值得注意的是,我们对不同的类型应用不同的注意向量来提取类型信息,这使得我们的模型能够学习每个节点相应的类型嵌入。将这个过程抽象为函数
Inter-type aggregating:
基于可学习的类型嵌入,inter-type aggregating将不同类型的嵌入传播到目标节点。考虑到不同类型为目标节点提供异构信息,类型间聚合在特征层对信息进行如下合并
使用双通道机制,更新所有节点的嵌入:
将此双通道机制迭代r次,在各个节点充分提取有用信息。期间主要使用特征超边来传递信息。最终得到所有结点的嵌入。
偏好提取
学习到节点嵌入后,进一步提取用户的价格和兴趣偏好进行推荐。
Extracting price preferences:用价格超边提取用户的价格偏好,假设用户的价格偏好反映在其购买的商品价格中。用多头的自注意机制对价格偏好建模:
Extracting interest preferences:用户的兴趣偏好会随着时间的推移而变化,用逆位置嵌入编码位置信息,
获得原始兴趣偏好:
共同指导的学习模式
通过已学习的用户的原始价格偏好和兴趣偏好,给定项目的ID嵌入和价格嵌入,我们可以简单的定义用户可能交互的下一项为:
价格偏好和兴趣偏好互相作用,共同决定了用户的选择,简单的加法无法解决这种复杂的情况。因此,作者提出了一种新的共同指导学习模式来模拟价格和兴趣偏好之间的相互关系,以决定用户的选择。
首先,用两种方式整合价格偏好和兴趣偏好:
之后,利用门控机制对两者之间的相互关系进行进一步的建模
最后,我们得到用户的价格和兴趣偏好如下:
预测与训练
5 实验及结果
使用数据集 (1)Cosmetics记录了一家中型化妆品在线商店的用户行为(2)Diginetica-buy由用户在网站上的购买行为组成的电子商务数据集(3)Amazon用户从亚马逊上的购买行为
所有数据集中长度为1的会话和出现次数少于10次的项目都会被过滤掉。使用最早的70%(按时间顺序)的session作为培训集,并使用接下来的20%的session作为对CoHHN和所有基线进行超参数调整的验证集。剩下的10%构成了测试集。三个数据集的统计细节如下表所示。
评估指标
Prec@k: 在推荐列表中,真实项目所占的比例。
MRR@k:推荐列表中真实项目的平均排名倒数。
价格因素的效果
CoHHN-p和CoHHN-c分别代表不考虑价格和类别的CoHHN。Cohn-pp只合并了价格信息来更新节点嵌入,但没有明确提取用户的价格偏好。如表3所示,Cohn-pp优于Cohn-p,Cohn-c优于Cohn-p,这表明将价格纳入SBR中确实提高了推荐准确性。CoHHN比CoHHN-pp有了很大的改进。它表明,在预测用户未来的行为时,价格偏好应该被视为一个决定性因素,而不是辅助因素。Cohn还击败了Cohn-c,后者揭示了项目的类别有助于预测用户的选择。
联合引导学习模式的效果
在不同价格等级上的表现
对于兴趣偏好,用户呈现出巨大的个性化差异。至于价格偏好,大多数用户倾向于低价。因此,如果我们盲目地向用户推荐低价商品,平均准确率可能会提高。然而,这种方法可能会减少制造商的收入,因为高价产品往往会带来高额利润。它要求我们在将价格因素纳入SBR时,不仅要提高低价项目的准确性,还要提高高价项目的准确性。
因此,我们报告了不同价格水平下COHHN和最佳基线COTREC的结果。由于篇幅限制,本文仅给出了化妆品方面的结果,而我们在其他数据集上也得到了类似的观察结果。