Chorus
摘要
传统的推荐系统主要是对用户固有的、长期的偏好进行建模,而动态的用户需求也非常重要。通常,历史消费会影响用户对其关系项的需求。例如,用户往往会同时购买补充性的产品(iPhone
和Airpods
),而不会购买替代性的产品(Powerbeats
和Airpods
),尽管替代品仍然可以满足用户的偏好。为了更好地模拟历史序列的影响,以往的研究引入了物品关系的语义来捕获用户的推荐需求。然而,我们认为,不同关系所引起的效应的时间演化是不可忽视的。在上面的例子中,当用户需要一个新的耳机时,用户对耳机的需求可以在很长一段时间后提升。为了建立项目在不同序列环境下的动态意义模型,Chorus
提出了一种考虑项目关系和相应时间动态的新方法合唱。合唱的目标是通过一种知识感知和时间感知的方式来推导目标项的嵌入,每个项目将得到它的基本表示和相关表示。然后,根据历史序列中是否存在关系项以及运行时间,设计时态核函数来动态组合这些表示。增强的目标项嵌入可以灵活地与各种算法一起计算排名分数并生成推荐。根据在三个真实数据集的广泛实验,相比最先进的基线方法,合唱获得了显著的改进。此外,时间相关参数具有较高的可解释性,可以增强推荐的可解释性。
图1:之前的关系消费对AirPods
需求的时间影响说明:iPhone
当前的消费在短期内可能会产生积极的影响,但如果用户刚刚购买了Powerbeats
,其影响则相反。补体的正效应随时间衰减,而替代物的负效应在一段时间后会转为正效应。
1.介绍
随着互联网上信息的过载,推荐系统在日常生活中扮演着越来越重要的角色。它不仅提供了迎合用户口味的信息,而且有助于发现用户的内在偏好。传统的推荐方法主要侧重于用户偏好建模[11,13,19,33]。例如,潜在因素模型[21]将用户和物品都嵌入到一个潜在空间中,用户的嵌入代表了各个方面的偏好,在不同的推荐时间不会发生变化。
然而,虽然用户的偏好大部分时间是静态的,但用户的消费需求实际上是动态的、可变的。在不同的环境中,对于同一用户来说相同的项会有不同的含义。实际上,顺序消费行为可以看作是在不同方面满足用户需求的过程。一项物品的消费可能会对其他相关物品产生影响,而这种不同关系的影响也各不相同。以互补关系和替代关系为例,图1说明了购买不同关系物品的效果如何随时间变化。补充:假设用户目前购买了iPhone
,他/她可能会在短期内购买AirPods
(即iPhone
的一个补充)。但一段时间后,积极的效果将会降低(用户可能已经有了耳机,推荐系统不应该继续提供AirPods
)。对于替代品:如果他/她刚刚消费的是AirPods
的替代品,如Powerbeats
,预计短期影响主要是负面的,因为用户不会立即需要另一个耳机。虽然消极的影响可能会在中期转变为积极的,因为用户可能需要购买一个新的耳机,而新发布的AirPods
可能会有吸引力。这种积极的效果也会逐渐减弱,用户可能会对这种耳机失去兴趣,或者通过其他方式购买了另一款耳机。
从上面的例子中,我们可以看到不同关系项的当前消费对目标项有不同的影响。更重要的是,每一种关系的时间趋势也不同。也有研究将项目关系引入推荐系统[16,40,44,45],但没有考虑不同关系的时间动态。虽然一些研究涉及长期和短期偏好[16],但项目关系仅用于建模短期项目的转换,缺乏对不同关系效应的持续演化的建模。最近的另一项研究调查了重复消费[41]的时间动态。然而,消费不仅会影响同一商品本身,还会影响相关商品。因此,项目关系和相应的时间动态都是在不同语境中获取项目动态意义的关键。
本文提出了一种基于知识和时间感知的目标项嵌入方法——合唱。据我们所知,我们是第一个明确模型的不同关系的影响随时间的演变,这有助于更好地捕捉每个项目在不同序列上下文中的意义。特别地,Chorus
基于基于平移的图嵌入方法为每个项目分配了一个基本表示和各种关系表示。然后,这些表示通过临时内核函数动态地组合在一起,这取决于自关系消费以来所消耗的时间,这就是它被命名为Chorus
的原因。提出的时态核函数使关系表示能够以不同的方式对最终项嵌入做出贡献。因此,Chorus
能够动态获取知识和时间感知的项目嵌入,这很容易被各种推荐算法利用。此外,高可解释性的时间相关参数使得解释不同时间段的推荐结果成为可能。本工作的主要贡献总结如下:
∙
\bullet
∙我们建议同时考虑项目关系和相应的时间动态。据我们所知,我们是第一个明确模拟不同关系影响的持续时间演化的人。
∙
\bullet
∙我们设计了一种新颖灵活的方法Chorus
,当目标物品在序列中扮演不同的角色时,通过动态组合不同的表示来增强目标物品的建模。最后的项目嵌入可以很容易地与各种推荐算法一起工作。
∙
\bullet
∙在三个真实数据集上的对比实验表明了Chorus
的有效性,且高可解释性参数进一步有助于提高模型的可解释性。
2.相关工作
2.1 时序建议
与传统的推荐方法不同,序列推荐基于马尔可夫链,利用序列数据预测用户的下一次消费,马尔可夫链假设下一个动作依赖于上一个动作序列[34,37]。Rendleet al.[34]结合矩阵分解[21]和马尔科夫分解链,给出前一篮子项的下一篮子推荐。最近,有很多工作利用递归神经网络(RNN)[36]将交互历史编码到隐藏向量中[6,12,23,27,32,38]。Hidasi等人[12]首先将RNN引入到顺序推荐中,并取得了令人印象深刻的性能增益。Loyolaet al.[27]和Peiet al.[32]均将注意机制[39]应用于RNN,以获得更有效的推荐。此外,许多后续研究都集中在扩展基于RNN的模型的能力。
尽管基于RNN的顺序推荐方法具有很强的表达能力,但由于缺乏外部知识,它们仍然不能很好地模拟复杂的用户需求,并严重存在可解释性问题[26]。不同的是,我们的方法显然解决了项目关系和相应的时间动态,以更好地捕捉用户需求。
2.2 项目关系建模
在真实的应用程序中,具有具体语义的项之间通常有多个关系。最近的一些研究集中在如何将项目关系引入推荐系统[16,28,30,40,44,45],其中大多数使用知识图(KG)[42]来表示项目关系。CFKG[45]将用户与商品关系图作为实体引入,将购买行为视为另一种关系,然后使用TransE[3]表示异构信息网络并提出建议。Xin等人[44]提出了一个通用的推荐任务,该任务包含了项目之间的多个关系,并将关系数据集成到协同过滤(CF)[35]中。Ma等人[28]提出了一个联合学习框架,集成了从知识图中归纳可解释规则。
然而,所有这些方法都假定关系项消费的影响是静态的,并且与时间信息无关,在这种情况下,即使用户不需要补语,也可能在很长一段时间后持续推荐补语。
2.3 时间动力学建模
考虑到时间信息,主要有两种工作。一方面,一些工作旨在将时间信息作为上下文特征。TimeSVD++[20]将时间划分为槽,并设计与时间相关的参数。TransMF利用FM将时间戳作为额外的上下文特性[31]。张量分解也是一种主要的方法[2,17],其中时间被视为用户-物品交互立方体的第三维。另一方面,一些工作侧重于模拟历史相互作用的时间衰减效应。在这一行中,Hawkes Process (HP)[8]总是被用来建模用户消费序列的互激特性[7,22,24,41]。Du等人[7]首先将Hawkes过程应用于时间敏感的推荐。SLRC[41]结合了Hawkes过程和协同过滤来模拟重复消费的时间动态。
然而,这些方法没有考虑不同关系的时间动态。因此,为了更好地建模动态用户需求,我们创造性地考虑了项目关系和相应的时间演化。
3 预处理
3.1 任务定义
定义3.1(问题定义):鉴于用户
u
∈
U
u \in U
u∈U和交互历史
S
u
=
(
i
1
,
t
1
)
,
(
i
2
,
t
2
)
.
.
.
(
i
N
u
,
t
N
u
)
∈
S
S_u={(i_1,t_1),(i_2,t_2)...(i_{N_u},t_{N_u})}\in S
Su=(i1,t1),(i2,t2)...(iNu,tNu)∈S,在时间
t
n
<
t
n
′
t_n< t_{n′}
tn<tn′内对于任意的
n
<
n
′
<
N
u
n < n′< N_u
n<n′<Nu的
N
u
N_u
Nu次交互,推荐任务为:考虑目标时间t(记为
S
u
t
S^t_u
Sut)之前的交互序列,生成一个有序列表,其中包含用户在t时可能感兴趣的k个项目。
此外,设R为所有项关系的集合,每个项关系
r
∈
R
r\in R
r∈R有一个矩阵
I
r
∈
N
M
×
M
I_r\in N^{M\times M}
Ir∈NM×M,其中M为项的总数,如果关系r对项i和j成立则
I
r
(
i
,
j
)
I_r(i,j)
Ir(i,j) = 1,否则为0。关系r可以是互补的,替代的等等。
3.2 知识图嵌入
项目关系的信息可以看作是一个知识图,其组成部分是一组三元组(i,r,j),其中i和j表示不同的项目,r表示关系类型。例如,(AirPods, is_complementary _o f,iPhone)表示AirPods是iPhone的补充。需要注意的是,有时三元组的反义词可能不成立(例如iPhone不是AirPods的补充),因此关系图是有方向性的。
为了将关系图的结构信息引入到推荐系统中,获得具有项目关系语义意义的嵌入是非常重要的。在各种嵌入方法中,基于翻译的模型[3,25,43]以其效率和有效性突出。其内在思想是将项目和关系嵌入到同一个潜在空间中,并寻找一个平移函数来最小化评分函数:
其中D(·)是度量距离的度量函数(通常是
l
2
−
n
o
r
m
l_2-norm
l2−norm)。Trans(i,r)是一个任意的平移函数,可以是一个简单的平移操作,也可以是一个专门设计的神经网络。很多工作都集中在翻译功能的能力扩展上,如TransE [3], TransH [43], TransR[25]等。对于TransE[3],平移函数为Trans(i,r) = i +r,对于任何三元组(i,r,j)应用
l
2
−
n
o
r
m
l_2-norm
l2−norm时的评分函数为
f
(
h
,
r
,
t
)
=
∣
∣
h
+
r
−
t
∣
∣
2
f (h,r,t) = ||h +r−t||_2
f(h,r,t)=∣∣h+r−t∣∣2。
为了从关系图中学习项目和关系嵌入,将基于边际的损失[45]最小化,如下所示:
对于每一个三元组,尾部项被一个随机抽样项
j
′
j '
j′替换,以确保
(
i
,
r
,
j
′
)
(i,r,j ')
(i,r,j′)在知识图中没有被观察到。类似地,标题项被
i
′
i '
i′替换,并且
(
i
′
,
r
,
j
)
(i ',r,j)
(i′,r,j)不成立。上述目标函数的目的是区分观察到的三元组和损坏的三元组,并强迫嵌入保持项目之间的关系。
3.3 推荐基础方法
本文提出的项目建模方法可以灵活地与各种推荐算法配合使用。由于贝叶斯个性化排序(Bayesian Personalized Ranking, BPR)[33]是一种应用广泛的矩阵分解方法,而广义矩阵分解(Generalized matrix factorization, GMF)[11]是一种最先进的基于神经网络的方法,我们选择它们作为基本推荐模型来验证我们方法的有效性。
本文简要回顾了这两种协同过滤方法。CF方法假设相似的用户喜欢相似的物品。在BPR情况下,每个用户和物品都存在一个k维潜在因子,其排名得分计算如下:
其中
b
u
b_u
bu和
b
i
b_i
bi分别是每个用户和项目的偏好。
在GMF的情况下,排名得分由多层神经网络得到,可以表示为:
其中
ϕ
o
u
t
\phi_{out}
ϕout和
ϕ
x
\phi_{x}
ϕx分别表示输出层和第X个神经协同过滤层的映射函数,共有X个神经CF层。然后,根据预测的分数
y
^
u
i
\hat y_{ui}
y^ui对候选项目进行排名。
为了学习推荐模型中的参数,可以对两两排序损失[33]进行优化:
其中,
σ
\sigma
σ为s型函数,一个负项
j
∉
S
u
j \notin S_u
j∈/Su是每个训练实例的随机抽样。
4 合唱模型
4.1 模型概述
合唱是一个两阶段模型,它综合了项目关系及其特定的时间效应。图2演示了整个模型结构。在第一阶段(关系建模),利用图嵌入将项目关系的结构信息编码到嵌入中。在这里可以灵活地使用第3.2节中描述的各种基于翻译的方法。关系图嵌入的结果将用于推导我们的合唱模型中的基本和关系表示。
在第二阶段(Dynamic Item Representation)中,有两个关键模块:(1)动态集成,(2)时序内核函数的设计。首先,除了基于平移函数的基本关系表示外,每个条目将得到
∣
R
∣
|R|
∣R∣关系表示,平移函数表示目标条目在上下文中扮演不同角色时的表示。然后,根据历史序列中是否存在相应的关系消费以及运行时间,动态集成这些表示。为了结合每个关系的时间动态,我们提出了特定关系的时间核函数来控制效应的极性和强度。因此,关系表示对不同上下文中的最终项嵌入有不同的贡献,从而导致知识感知的动态项嵌入。最后,许多算法都可以利用增强的项目嵌入来计算排名分数并提出建议。在本节的其余部分,我们将在第二阶段详细阐述合唱的关键模块。
4.2 动态集成
首先,根据关系图嵌入的结果,定义每一项的基本表示(记为
i
b
i_b
ib)和关系表示(记为
i
r
i_r
ir代表关系
r
∈
R
r\in R
r∈R)。基本表示对项的固有特征进行编码,利用第一阶段学到的项嵌入来初始化
i
b
i_b
ib,然后利用平移函数得到关系表示:
其中
e
r
e_r
er是
r
∈
R
r\in R
r∈R的关系嵌入,这样,关系表示将对应于每个关系的语义信息整合在一起。
在获得基本和关系项表示之后,这里我们重点讨论如何根据不同的上下文动态地组合它们,这是我们的Chorus模型的核心思想。注意,关系表示是知识感知的,但仍然是静态的。我们的目标是为每个关系表示派生一个上下文感知系数
f
r
f_r
fr,以反映当前上下文中的实际影响程度。最后的上下文和知识感知项嵌入
i
C
h
o
r
u
s
i_{Chorus}
iChorus提出如下表示:
它由两个部分组成:基本项目表示和缩放的关系项目表示,其中上下文(历史序列
S
t
u
S^u_t
Stu,时间t和目标项目i)作为系数
f
r
f_r
fr的输入。接下来我们重点讨论如何从给定的上下文中获得合理的
f
r
f_r
fr。
直观地说,某些关系表示在某些情况下可能没有影响,甚至有负面影响。图3给出了一些示例,说明这些表示如何在不同上下文中对最终的嵌入做出贡献。三角形的三个角代表目标物品的不同表示。当没有关系消费(上下文A)时,最后的嵌入只是基本项表示,而其他两个关系项不产生影响。当Powerbeats或iPhone刚刚购买时(上下文B和C),相应的关系表示应该分别有消极和积极的影响。而如果替代品是很久以前购买的(上下文D),替代品表征可能会对最终嵌入产生积极的影响。此外,当序列中有许多不同的关系项时,这三种表示都将以不同的程度起作用。
为了整合不同关系的时间动态,我们创新性地为每个关系设计了时间核函数,它是消费之间滞后时间的连续函数。时序核函数的目的是控制每个先前关系消费的影响程度。函数值的极性表示效果的极性。假设我们已经得到了时间核函数
κ
r
i
(
∆
t
)
κ^i_r(∆t)
κri(∆t),以项i和关系r为索引(具体设计和相关讨论在下一节中留下),我们建议定义关系系数
f
r
f_r
fr如下:
其中
I
r
I_r
Ir为关系矩阵。以前的每一次消费与目标项目
i
i
i的关系
r
r
r将对系数
f
r
f_r
fr有叠加效应,由核函数
k
r
i
(
⋅
)
k^i_r(·)
kri(⋅)控制。这样,不同于以往的静态项目嵌入的研究,相关系数使得不同的表征对最终的嵌入有不同程度的贡献。由于时间核函数的存在,关系表示可能由于间隔时间太长而几乎不起作用,在某些情况下甚至会产生负面影响。因此,合唱嵌入可以更好地捕捉不同语境中项目的意义,从而更好地模拟用户需求随时间的变化。
此外,为了简单和高效,我们可以只考虑历史序列中最新的关系项,在这种情况下,Equ.(7)可以直接表示为:
式中,
∆
t
r
∆t_r
∆tr表示从最近一项消费开始经过的时间,与当前项
r
r
r相关。如果一个关系的历史序列中没有关系项,我们假设有一个具有正无穷时间间隔的关系项(
∆
t
r
=
+
∞
∆t_r= +\infty
∆tr=+∞)。假设时序核函数随时间趋近于零,则相应的关系嵌入不受影响。
4.3 时序核函数的设计
接下来,我们重点讨论了如何为每个关系设计时态核函数。实际上,时间核函数的具体形式可以看作是对模型的一种人为干预。一方面,我们可以根据每个关系的特点来设计功能。例如,如图1所示,互补关系在短时间内具有积极的影响,这种影响随着时间的推移而衰减。另一方面,可以根据系统的主观要求进行设计。如果我们希望替代品在短期内也出现在推荐列表中,可以将时域核函数设计为初值为正,衰减更快。在本文中,我们主要研究两种关系:互补关系和取代关系。作为实例,我们根据这两种关系的一般认知和特点设计了相应的时间核函数。
对于补品而言,除了整体下降趋势外,其正面效应一般会持续一段时间,然后在日常生活中开始衰减。因此,我们选择均值为零的正态分布作为其时间核函数,而不是衰减过快的直观指数分布:
式中
N
(
∆
t
∣
μ
,
σ
)
N(∆t|\mu,\sigma)
N(∆t∣μ,σ)是∆t随
μ
\mu
μ均值和
σ
\sigma
σ标准差的正态分布。注意这里的参数
σ
c
z
(
i
)
\sigma^{z(i)}_c
σcz(i)与
z
(
i
)
z(i)
z(i)有关,
z
(
i
)
z(i)
z(i)表示项目i的类别。我们不估计项目特定的参数,因为类别通常是一个更适合的水平,以模拟一组项目的特征。特定于项的参数也可能受到数据稀疏问题的困扰。
对于替代品,我们预计其影响将由负向正,因为我们短期内不需要另一种类似效用的物品,但希望在其寿命结束[41]时更换新的物品。因此,我们使用两个相反的正态分布来模拟这样的特征:
这是(1)短期抑制(负)和(2)终身促进(正)的叠加。负正态分布被设计为零均值,因为再培训的效果通常在替代消费之后最强。在正数中,参数
μ
s
z
(
i
)
\mu^{z(i)}_s
μsz(i)在某种程度上代表了该类的生命周期,也就是说影响将在此时达到峰值。
图2显示了这两个临时内核函数。还可以设计其他形式的临时内核函数来满足不同的需求。此外,合唱并不局限于这两种关系。可以合并许多关系,如相同品牌、相同生产商等等,
唯一要做的就是在先验知识的基础上设计一个相应的时序核函数。
在这里,我们得到了最终的知识感知的动态项目嵌入。然后利用各种算法来进行推荐,用我们的算法代替原始目标项的嵌入。与之前的模型不同,Chorus
同时集成了顺序信息、项目关系建模和相应的时间动态。最近提出的CFKG
和SLRC
要么只关注商品关系,要么只关注消费顺序中的时间动态。表1列出了相关方法与我们的Chorus
模型之间的区别。关于这些基线的更多细节将在第5.1.3节中描述。
4.4 参数学习
为了获得更好的鲁棒性能,我们采用两阶段的训练过程来学习模型参数:首先,优化 L r e l L_{rel} Lrel得到带有结构信息的项目和关系嵌入,并在第二阶段初始化基本项目表示和关系嵌入;然后最小化 L r e c L_{rec} Lrec来学习模型的所有参数。在第二阶段,我们不会冻结之前学到的东西。实验表明,用 L r e c L_{rec} Lrec进行优化能获得较好的效果。另一方面,它也可能在训练开始时破坏有意义的嵌入。因此,在第二阶段,我们将基本项目表示和关系嵌入的学习率降低0.1。由于Adam[18]在许多推荐模型中都取得了成功,所以在每个阶段都使用它作为学习算法。
5.实验
5.1 实验设置
5.1.1 数据集 实验在公开访问的Amazon数据集[9]上进行。除了带有时间戳的用户交互序列外,它还具有项目元数据,包括also_view,also_buy和category information的列表。继前人的研究[28,29]之后,我们将also_view作为替代关系,also_buy作为补充关系。不同的是,在我们的工作中,关系意味着是互补的和被取代的。因此,原来的also_view,also_buy关系的方向应该颠倒过来。
我们采用三个有代表性的子数据集:Grocery and Gourmet Food (Grocery), phones and Accessories (Cellphones), 和 Home and Kitchen (Home)。表2总结了三个数据集的统计量。注意,在Home数据集中,与历史项相关的测试用例的比例很低,而且关系数据相对稀疏。
5.1.2 评估协议 我们采用留一法来评估,该方法在文献中被广泛采用[4,10,15]。对于每个消费序列
S
u
∈
S
S_u\in S
Su∈S,我们使用每个用户最近的交互进行测试,使用最近的第二个条目进行验证,使用剩余的条目进行训练。考虑到在数据集较大的情况下,某些方法对所有项目进行排序比较耗时,我们随机抽取99个目标用户没有交互过的项目,将ground-truth项目与这些negative项目一起进行排序。这种方法也被广泛采用[11,41,44]。
为了评价推荐质量,我们使用命中率(HR)和归一化折现累积增益(NDCG)[14]作为评价指标。HR@k是评价“ground-truth”是否出现在推荐排名前k位的网站,NDCG@k是评价“ground-truth”是否出现在推荐排名前k位的网站。我们用不同的随机种子重复每个实验5次,并报告平均分数。
5.1.3 基线的方法 我们将我们的Chorus模型与7种基线方法进行了不同方面的比较,包括传统的协同过滤、顺序推荐以及包含项目关系或时间动态的方法:
•BPR[33]:该方法提出采用两两排序损失优化矩阵分解模型。
•GMF[11]:这是一种先进的协同过滤方法,利用多层神经网络。
•Tensor[17]:该方法将时间分成多个容器,并分解出一个三维张量(用户-项目-时间)。
•GRU4Rec[12]:这是一个顺序推荐模型,应用GRU[5]得出排名分数。
•NARM[27]:该模型利用GRU和注意机制来提高顺序推荐的性能,这是一种基于会话的方法。
•CFKG[45]:该方法考虑了各种商品关系,并将购买视为用户与商品之间的另一种关系。然后,利用TransE学习图嵌入并提出建议。
•SLRC的[41]:SLRC结合Hawkes和CF来模拟重复消费的时间动态。考虑到亚马逊数据集中已经删除了重复消费,我们将其设置扩展到关系项的影响,命名为SLRC '。但它仍然缺乏项目关系的语义建模。
5.1.4 实现细节 我们在PyTorch中实现了所有模型。实现代码已经发布。为便于比较,所有模型的嵌入尺寸均设置为64。所有超参数都被调优以在验证数据集中获得最佳结果。对于CFKG,我们考虑了also_view
和also_buy
关系与我们的一致。对于SLRC '和Chorus
,我们发现在历史序列中有两个或两个以上关系项的交互很少。因此,为了简单和高效,我们在不损失通用性和性能的情况下,将最新的关系交互考虑在序列中。此外,在合唱中还使用了TransE作为翻译功能。为了数值稳定性,所有时间相关参数均初始化为1,其他参数通常初始化为0均值和0.01标准差。
5.2 整体表现
表3显示了所有基线和我们的Chorus模型在使用BPR和GMF计算排名分数时的表现,分别表示为
C
h
o
r
u
s
B
P
R
,
C
h
o
r
u
s
G
M
F
Chorus_{BPR},Chorus_{GMF}
ChorusBPR,ChorusGMF。
首先,不同类型的基线显示出明显的性能差距。对于协同过滤方法(例如BPR和GMF),它们作为基准,因为它们拥有的唯一信息是用户-项目交互。张量法通过考虑时间动力学而优于基本的CF方法。顺序推荐方法(如GRU4Rec和NARM)进一步获得了更好的性能,这说明了最近消费的物品传递的动态用户需求的重要性。CFKG得到了公平的结果,在某些指标上成为了最佳基线,这表明项目关系确实有助于推荐。对于SLRC’,由于其对消费序列的相互激励特性的显式建模,一般在基线中得到最好的结果。
其次,我们的Chorus模型在所有数据集中都比其他基线表现得更好,这得益于处理项目关系和它们的时间动态。这表明所提出的模型能够更好地捕捉用户的动态需求和不同语境下物品的含义。与CFKG相比,合唱不仅考虑了物品之间的关系,还集成了物品之间的时间动态。与SLRC相比,合唱能够模拟每个关系的语义和类别特定的时间效应。在SLRC中,Hawkes的基本形式可能更关注关系项目的影响,因此,在没有先前关系的情况下,通常会影响性能消费(更多讨论见章节5.4)。与之不同的是,Chorus将项目关系集成到知识感知的动态项目表示中,这更加有效和灵活。
另一方面,请注意,在Home数据集中,改进相对较小。可能的原因是关系信息过于稀疏且不那么可靠。我们使用CFKG的相似关系图嵌入方法,但该方法在该数据集上的表现也很差。尽管TransE在其他数据集中工作得很好,但是Home数据集中的关系可能是如此复杂,以至于TransE不足以精确建模。更多的证据在5.3节的相关讨论中提供。
5.3 消融实验
为了验证我们模型中关系建模和时间动态处理的效果,我们将合唱与两种变体进行了比较:
•合唱\ R。该模型为每个关系分配单独的项目嵌入,并通过优化Lr ec估计所有参数。图嵌入的结果不用于初始化基本表示和推导关系表示。
•合唱\ T。该模型没有考虑时间动态关系,假设所有时间核函数(即:∆t)均为常数,值为1。
图4显示了
c
h
o
r
u
s
B
P
R
chorus_BPR
chorusBPR的NDCG@10及其变体,以及SLRC’。可以得出结论,关系建模和时间动力学都是非常重要的。合唱模块的缺失导致了表演的损失。此外,我们有以下看法:
首先,项目关系确实很有帮助。在Grocery和phones数据集中,Chorus\R带来的性能损失最大,这表明了关系结构信息建模的重要性,以及我们基于平移的方法,通过图嵌入来派生关系表示。
其次,建立不同关系的时间动态模型是很重要的。在没有时间信息的情况下,合唱\T在前两个数据集中导致性能的适度损失。这并不意味着我们模型中处理的时间动态是不重要的。从字面上看,商品之间的关系对用户做出消费决定的影响更大。因此,建模项目关系比建模时间动态带来更大的改进是合理的。另一方面,与Chorus\T相比,合唱取得了一致的改进,特别是在Home中,这显示了向前移动的有用性,将项目关系的时间动态考虑进去。
第三,关系图嵌入在Home数据集中效果不佳,其中Chorus\T的性能损失最大,而Chorus\R的性能损失较小。这是关系模型不足的另一个证据。虽然TransE是翻译函数的自然选择,而且通常在其他两个数据集上工作得很好,但我们发现它在Home数据集的场景下可能不够,在Home数据集中CFKG使用TransE作为其图嵌入方法的表现也很糟糕。图4 ©显示,没有关系建模,性能不会下降太多(Chorus\R)。但如果有关系建模而没有时序核函数(Chorus\T),则项目和关系的不恰当嵌入会影响性能。这也表明,在我们的模型中处理的时间动态可以帮助自适应地避免混乱的关系的可能的坏影响,这表明考虑时间动态的有用性和必要性。
5.4 不同场景性能
除了整体性能的提升,我们还想弄清楚这些提升来自哪里。这里我们研究了模型在不同场景下的表现。具体来说,我们根据历史序列中是否存在相应的关系消费来构造测试数据集的三个子集。正常意味着以前没有关系项。补语是指目标项是历史序列中某些项的补语。类似地,替代品是指先前的消费作为替代品的情况。当之前有两种关系项时,测试用例可能同时在补码组和替换组中。图5显示了手机数据集三个子集中不同模型(行)的NDCG@10和案例数(条)。我们可以看到,虽然补体和替代组的情况更少,但模型往往在这些情况下表现得更好。他们可能会从本质上证明一些模式,这样所有的模型都能获得比正常情况下更好的性能,即使对于没有明确考虑项目关系的BPR也是如此。
此外,合唱能够结合各种方法的优点,从而取得平均最好的成绩。注意,对于SLRC和CFKG,它们都有各自的优势和劣势。尽管SLRC在关系案例中表现良好,特别是在Substitute组中,但它在正常案例中甚至比BPR更糟糕。这表明SLRC '容易过度拟合关系情况,而这反过来又会损害正常情况的性能。另一方面,尽管CFKG在正常组中表现良好,但在关系案例中,它不如SLRC '强大,因为SLRC '明确地模拟了每个关系的时间特征。至于合唱,它捕获了项目关系和它们的类别特定的时间动态。值得注意的是,在正常情况下,Chorus与CFKG类似;在补充情况下,合唱比SLRC好一点,这两个都是每个场景中的最佳基线。虽然在替代组合唱不如SLRC’强,但与CFKG相比有明显改善。结果,Chorus获得了明显更好的平均结果,这表明集成项目关系和细粒度的时间动态的重要性。
5.5 参数可解释性
在这里,我们希望在设计时间核函数时验证与时间相关的参数是否具有可解释的意义。注意,这些参数是按项类别索引的,这表示以前的关系消费对这个类别的影响如何随时间变化。虽然某一特定关系的整体趋势因其功能形式而趋同,但它们的具体形式却揭示了范畴的特征。图6显示了在手机数据集中学习到的一些有代表性的类别的时态核函数。
左图对应的是耳机和替换零件方面的互补关系。如图所示,耳机上的效果衰减比替换零件快得多。一方面,购买手机后,向用户推荐耳机作为补充是合理的。但如果用户不使用推荐的耳机,他/她可能会使用已经有一个耳机或从其他地方购买了一个。因此,补语的积极作用预计会很快消退,否则持续推荐耳机可能会给用户带来麻烦。另一方面,对于备用电池等替换部件来说,补充消费的积极作用将持续一段时间。因为用户通常会在原设备电池耗尽一段时间后购买备用电池。
尽管一般形式都由两个相反的正态分布组成,但基本情况下的时间核函数与其他两种情况有很大的不同,其中抑制效应的分量几乎是平坦的。这说明用户在购买手机壳的时候,不会产生强烈的负面影响,因为我们经常因为各种原因更换手机壳,比如边缘坏了,或者只是想尝试新的款式。对于国际充电器和手机,它们的时域核函数都表现出明显的负效应和正峰。这是合理的,因为如果我们刚买了一个充电器或手机,一般不需要另一个充电器或手机。有趣的是,这两种物品的峰值对应的时间间隔是相似的,这反映了手机的变化往往会导致匹配充电器的变化。此外,与充电器相比,手机的曲线更平滑。原因可能是,我们可以因为各种原因更换手机,但如果充电器能用,就很少更换。因此,新手机可以在很长一段时间间隔后使用。
综上所述,我们的Chorus模型中的时间相关参数具有较高的可解释性,很好地反映了不同类别项目的特点。这些参数可以帮助推荐系统对推荐结果进行解释。例如,用户之前购买了iPhone,这时恰好到了手机的时间内核函数的峰值时,推荐一个新的手机可以解释为“你的手机已经使用了很长一段时间,看一看一些新产品如何?”
6 结论与未来工作
在这项工作中,我们提出了一种新的方法合唱知识和时间感知项目建模。据我们所知,我们是第一个明确建模不同关系的影响随时间的演变,并将这些信息纳入项目嵌入。我们使用图嵌入从项目关系图中学习结构信息,然后为每个项目派生不同的关系表示。利用特定的时间核函数控制关系的时间动态,并根据历史序列中目标项和关系项之间的时间间隔动态组合关系表示,得到知识感知的动态项表示。另外,时序核函数的设计可以看作是对模型的一种人为干预,可以用来满足不同的推荐结果要求。由于Chorus的灵活性,它可以很容易地利用各种基于嵌入的算法来计算排名分数和提出推荐。大量的实验结果表明,合唱优于最先进的基线,这表明项目关系和它们的时间进化效应是非常重要的。此外,合唱中的时间相关参数具有较高的可解释性,有助于提高推荐的可解释性。
该模型仍有一些局限性,如预定义的时间函数和两阶段学习过程。此外,虽然基于翻译的方法总体上效果不错,但在某些情况下,我们发现其不足之处,需要进一步研究。未来,我们将研究如何自适应估计不同关系的时间演化效应,并尝试设计更适合的方法,将项目关系建模和推荐紧密结合起来。