Abstract(摘要)
传统的推荐系统主要针对固有的和长期的用户偏好建模,而动态的用户需求也非常重要。通常,历史消费会影响用户对其关系项的需求。例如,用户倾向于同时购买补充性的产品(iPhone和Airpods),而不是替代性的产品(Powerbeats和Airpods),尽管所购买产品的替代品仍然符合用户的偏好。为了更好地建模历史序列的效果,以往的研究引入了项目关系语义来捕获用户的需求以进行推荐。然而,我们认为,不同关系所引起的效应的时间演化是不可忽视的。在上面的例子中,用户对耳机的需求可以在很长一段时间后,需要购买新的耳机。
为了对不同序列背景下的项的动态意义进行建模,提出了一种同时考虑项的关系和相应的时间动态的方法。摘要合唱以知识感知和时间感知的方式导出目标项的嵌入,每个项将得到其基本表示和相关表示。然后,根据历史序列中是否存在关系项以及运行时间,设计时态核函数来动态地组合这些表示。增强的目标项嵌入灵活地与各种算法工作,以计算排名分数和生成推荐。根据在三个真实数据集的广泛实验,合唱团获得了显著的改进,与最先进的基线方法。此外,时间相关参数具有较高的可解释性,从而增强了推荐的可解释性。
CCS Concepts(概念)
- Information systems → Recommender systems;
信息系统→推荐系统
Keywords(关键字)
Recommender system; Item relations; Knowledge-aware recommendation; Temporal dynamics
推荐系统; 项目关系; Knowledge-aware推荐; 时间动态
图1:说明以前的相关消耗对AirPods需求的时间影响。iPhone当前的消费在短期内可能会产生积极的影响,但如果用户刚刚购买了Powerbeats,则会产生相反的负面影响。补品的积极效应随着时间的推移而减弱,而替代品的消极效应经过一段时间后可以变为积极。
1. Introduction
随着网络信息的超载,推荐系统在人们的日常生活中发挥着越来越重要的作用。它不仅提供符合用户口味的信息,还有助于发现用户的内在偏好。传统的推荐方法主要关注用户偏好建模。例如,潜在因素模型将用户和项目都嵌入到一个潜在空间中,用户的嵌入代表了各方面的偏好,在不同时间进行推荐时不会改变。
然而,尽管用户偏好在大多数时候是静态的,但用户消费需求实际上是动态的和可变化的。同一条目在不同的*通讯作者中对用户有不同的含义。上下文。实际上,顺序消费行为可以看作是一个在不同方面满足用户需求的过程。一个物品的消费可能会对其他相关物品产生影响,不同关系的影响也不尽相同。以互补关系和替代关系为例,图1说明了购买不同关系项的效果如何随时间变化。补充:假设用户目前购买了iPhone,他/她可能会想在短期内购买AirPods(即iPhone的补充)。但一段时间后,正面效果会降低(用户可能已经有了耳机,推荐系统不应该持续提供AirPods)。对于替代品:如果他/她刚刚消耗的是AirPods的替代品,如Powerbeats,短期影响主要是负面的,因为用户不需要立即需要另一个耳机。虽然负面影响可能在中期转化为正面影响,因为用户可能需要购买一个新的耳机,而新发布的AirPods可能是一个吸引力。这种积极的影响也会逐渐减弱,用户可能对这种耳机失去了兴趣,或者通过其他方式购买了另一种耳机。
从上面的例子可以看出,当前对不同关系物品的消费对目标物品的影响是不同的。更重要的是,每种关系的时间趋势也不同。也有研究将项关系引入推荐系统,但没有考虑到不同关系的时间动态。虽然有一些工作针对长期偏好和短期偏好,但项目关系仅用于建模短期项目转换,缺乏对不同关系效应的连续演化建模。另一项最近的工作调查了重复消费的时间动态。然而,消费不仅会影响相同的物品本身,还会影响相关的物品。因此,项目关系和相应的时间动态是获取项目在不同语境下的动态意义的关键。
在本文中,我们提出了一种新的方法合唱,旨在获得具有知识和时间感知的目标项嵌入。据我们所知,我们是第一个明确地为不同关系的影响随时间的演变建模的人,这有助于更好地捕捉不同序列上下文中的每一项的含义。其中,Chorus基于基于平移的图嵌入方法为每个条目分配一个基本表示和各种关系表示。然后,根据关系消耗后的运行时间,这些表示通过时间内核函数动态组合,这就是为什么它被命名为Chorus的原因。提出的时态核函数使关系表示能够以不同的方式对最终的嵌入项作出贡献。因此,Chorus能够动态地获取知识和时间感知的条目嵌入,这很容易被各种推荐算法所利用。此外,高度可解释的时间相关参数使得解释不同时间段的推荐结果成为可能。本工作的主要贡献可以总结如下:
- 我们建议同时考虑项目关系和相应的时间动态。据我们所知,我们是第一个明确地对不同关系的影响的连续时间演化建模的人。
- 设计了一种新颖灵活的合唱方法,当目标在序列中扮演不同的角色时,动态地结合不同的表示形式来增强目标物体的建模能力。最后一项嵌入可以很容易地与各种推荐算法一起工作。
- 在3个真实数据集上的对比实验表明了该方法的有效性,并且具有较高的可解释性参数进一步提高了模型的可解释性。
2. Related Work(相关工作)
2.1 Sequential Recommendation(顺序建议)
与传统推荐方法不同,顺序推荐利用顺序数据基于马尔科夫链来预测用户的下一个消费,马尔科夫链假设下一个动作依赖于前一个动作序列。Rendle等人的结合了矩阵分解(MF)和分解的马尔可夫链,给出了前一篮子商品的下一篮子推荐。最近,有很多工作利用递归神经网络(RNN)将交互历史编码为隐藏向量。Hidasi等人首先将RNN引入顺序推荐,取得了令人印象深刻的性能增益。Loyola 和 Pei 等人都将注意力机制应用于RNN以获得更有效的推荐。此外,许多后续研究都致力于扩展基于RNN的模型的能力。
尽管基于RNN的顺序推荐方法具有很强的表达能力,但由于缺乏外部知识,它们仍然不能很好地模拟复杂的用户需求,并在很大程度上受到可解释性问题的困扰。与之不同的是,我们的方法显然处理了条目关系和相应的时间动态,从而更好地捕获用户需求。
2.2 Item Relation Modeling(项目关系建模)
在实际应用程序中,具有具体语义的项目之间通常存在多种关系。最近的一些研究主要集中在如何将项目关系引入推荐系统,其中大部分研究都是利用知识图(KG)来表示项目关系。CFKG将用户对商品的关系图作为实体,将购买行为视为另一种关系,然后使用TransE表示异构信息网络并提出建议。Xin等人提出了一个通用的推荐任务,该任务包含项目之间的多种关系,并将关系数据集成到协同过滤(CF)中。Ma等人提出了一个联合学习框架来整合知识图中可解释规则的归纳。
但是,这些方法都假设关系项消费的影响是静态的,并且与时间信息无关,在这种情况下,即使用户不需要,在很长一段时间后,也可能会持续推荐补充的内容。
2.3 Temporal Dynamics Modeling(时间动态建模)
考虑时间信息主要有两个工作。一方面,一些工作旨在将时间信息作为上下文特征。**TimeSVD++**将时间划分为槽,并设计与时间相关的参数。TransFM利用FM将时间戳作为额外的上下文特性包含进来。此外,张量因子分解也是一种主要的方法,其中时间被视为用户-物品交互立方体的第三维。另一方面,一些工作侧重于模拟历史相互作用的时间衰减效应。在这一行中,通常使用Hawkes Process (HP)对用户消费序列的相互激励特性进行建模。Du等首先将Hawkes过程应用于时效性推荐。结合霍克斯过程和协同过滤对重复消费的时间动态进行建模。
但是,这些方法没有考虑不同关系的时间动态。因此,为了更好地建模动态用户需求,我们创造性地考虑了条目关系和相应的时间演化。
3. PRELIMINARIES(准备)
3.1 Task Definition(问题定义)
定义3.1(问题定义)。给定用户 u ∈ U u∈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_{Nu},t_{Nu})}∈S Su=(i1,t1),(i2,t2),…,(iNu,tNu)∈S 与 N u N_u Nu 交互( t n < t n ′ t_{n}<t_{n'} tn<tn′ 对任何的 n < n ′ < N u n< n'<N_{u} n<n′<Nu),推荐任务为:考虑目标时间 t 之前的交互序列,记为 S u t S^t_u Sut,生成包含 k 个用户在 t 时刻可能感兴趣的项的有序列表。
令R为所有项关系的集合,每个关系 r∈R 有一个矩阵 I r ∈ N M × M I_r∈N^{M×M} Ir∈NM×M,其中M为项的总数,如果关系 r r r 对项 i i i 和 j j j 成立,则 I r ( i , j ) = 1 I_r(i,j)=1 Ir(i,j)=1,否则为0。关系r可以是互补关系,取代关系等等。
3.2 Knowledge Graph Embedding(知识图嵌入)
项目关系信息可视为一个知识图,构件为一个三元组 ( i , r , j ) (i,r,j) (i,r,j),其中i和j表示不同的项目,r表示关系类型。例如,( A i r P o d s AirPods AirPods , i s is is_ c o m p l e m e n t complement complement _ o f of of , i P h o n e iPhone iPhone) 意思是 AirPods 是 iPhone 的补充。需要注意的是,有时候一个三元组的顺序反过来可能不成立 (例如,iPhone不是AirPods的补充),因此关系图是方向性的。
为了将关系图的结构信息引入到推荐系统中,获取具有项目关系语义意义的嵌入件是非常重要的。在各种嵌入方法中,基于翻译的模型的效率和有效性最为突出。其内在思想是将项目和关系嵌入到相同的潜在空间中,并找到一个翻译函数来最小化得分函数:
其中 D ( ⋅ ) D(·) D(⋅) 是度量距离的度量函数(通常为 l 2 l_{2} l2-范数)。 T r a n s ( i , r ) Trans(i,r) Trans(i,r)是一个任意的翻译函数,它可以是一个简单的翻译操作,也可以是一个专门设计的神经网络。许多工作都集中在扩展翻译功能的能力上,如 TransE, TransH, TransR 等。对于 TransE,翻译函数为 T r a n s ( i , r ) = i + r Trans(i,r) = i +r Trans(i,r)=i+r,任意三联体 ( i , r , j ) (i,r,j) (i,r,j) 应用 l 2 l_{2} l2-范数 时的评分函数为 f ( h , r , t ) = ∣ ∣ h + r − t ∣ ∣ 2 f (h,r,t) = ||h +r−t||_{2} f(h,r,t)=∣∣h+r−t∣∣2。
TransE:https://blog.csdn.net/u012102306/article/details/80047103
TransH:https://blog.csdn.net/MonkeyDSummer/article/details/85273843
TransR:https://blog.csdn.net/fffnull/article/details/51177445
更多:1.https://blog.csdn.net/wp_csdn/article/details/79607727
2.https://zhuanlan.zhihu.com/p/32993044?from_voters_page=true
为了从关系图中学习项和关系的嵌入,将基于边缘的损失函数最小化如下:
深度学习损失函数:https://blog.csdn.net/littlestudent12/article/details/80777571
对于每一个三元组,尾项都被随机抽样的项 j ′ j ' j′ 所取代,以确保 ( i , r , j ′ ) (i,r,j ') (i,r,j′)在知识图中没有被观察到。类似地,头项被 $i ’ 替 换 为 替换为 替换为(i ',r,j)$也不会被观察到。上述目标函数的目的是区分被观察到的三元组和被破坏的三元组,并强制嵌入保留项目之间的关系。
3.3 Base Methods for Recommendation(基本推荐方法)
本文所提出的项目建模方法灵活地适用于各种推荐算法。由于贝叶斯个性化排序(BPR)是一种应用广泛的矩阵分解方法,而广义矩阵分解(GMF)是一种最先进的基于神经网络的方法,我们选择它们作为基础推荐模型来验证我们方法的有效性。
在此简单回顾一下这两种协同过滤方法。CF方法假设相似的用户喜欢相似的项。在BPR的情况下,每个用户和物品都有一个k维的潜在因子,其排名得分计算如下:
b u b_{u} bu和 b i b_{i} bi分别是每个用户和项目的偏好。
在GMF情况下,通过多层神经网络得到的排名得分可以表示为:
ϕ o u t ϕ_{out} ϕout和 ϕ X ϕ_{X} ϕX分别表示输出层函数和第X个神经协同过滤层的映射函数,总共有X个神经CF层。然后,根据预测候选项排名分数 y u i ^ \hat{y_{ui}} yui^。
为了学习推荐模型中的参数,可以对排序损失函数进行优化,优化方法如下:
σ σ σ为sigmoid函数,每个训练实例随机抽样一个负项 j ∉ S u i s j \notin Suis j∈/Suis。
4. CHORUS MODEL(Chorus模型)
4.1 Model Overview(模型概述)
Chorus是一个两阶段的模型,它综合了项目关系及其特定的时间效应。图2演示了整个模型结构。
在第一阶段(关系建模)中,利用图嵌入将项目关系的结构信息编码为嵌入。第3.2节中描述的各种基于翻译的方法在这里可以灵活地利用。关系图嵌入的结果将用于推导和Chorus模型的基本表示和关系表示。
图2:Chorus模型概述。在第一阶段(关系建模)中,使用图嵌入来学习项和关系的基本嵌入。在第二阶段(动态项表示),Chorus给每个项额外的关系表示。然后,根据序列上下文动态地组合这些表示。最终知识感知的动态项嵌入可用于各种算法(如BPR和GMF)的推荐。
在第二阶段(动态项表示),有两个关键模块:(1)动态集成 和 (2)时间核函数设计。首先,除了基于翻译函数的基本表示外,每个项将获得 ∣ R ∣ |R| ∣R∣ 关系表示,翻译函数表示目标项在上下文中充当不同角色时的表示。然后根据历史序列中是否存在相应的关系消耗以及运行时间,对这些表示进行动态集成。为了结合每个关系的时间动态,我们提出了特定关系的时间核函数来控制影响的极性和强度。因此,关系表示在不同上下文中对最终项的嵌入有不同的贡献,从而导致可感知知识的动态项嵌入。最后,许多算法可以利用增强的项目嵌入来计算排名分数并提出建议。在这一节的其余部分,我们详细阐述了第二阶段Chorus的主要模块。
4.2 Dynamic Integration(动态集成)
首先,我们根据关系图嵌入的结果,定义每个项的基本表示(记为 i b i_b ib)和关系表示(记为 i r i_r ir,其中 $ r∈R ) 。 基 本 表 示 对 项 的 固 有 特 征 进 行 编 码 , 因 此 在 第 一 阶 段 学 到 的 项 嵌 入 将 用 于 初 始 化 )。基本表示对项的固有特征进行编码,因此在第一阶段学到的项嵌入将用于初始化 )。基本表示对项的固有特征进行编码,因此在第一阶段学到的项嵌入将用于初始化i_b$。然后利用翻译函数得到关系表示:
其中 e r e_r er为 r ∈ R r∈R r∈R的嵌入关系。这样关系表示就集成了每个关系对应的语义信息。
在得到基本项和关系项表示后,重点研究如何根据不同的上下文动态地组合它们,这是我们Chorus模型的核心思想。请注意,关系表示是知识感知的,但仍然是静态的。我们的目标是为每个关系表示导出上下文感知系数 f r f_r fr,反映当前上下文的实际影响程度。最后提出嵌入 i C h o r u s i_{Chorus} iChorus的上下文感知 和 知识感知项表示如下:
它由基本项表示和尺度关系表示两部分组成,其中上下文(历史序列 S t u S_t^u Stu、时间 t t t和目标项 i i i)作为系数 f r f_r fr的输入。接下来,我们重点讨论如何在给定的语境下获得合理的 f r f_r fr。
直观地看,有些关系表示在某些情况下可能没有效果,甚至有负面效果。图3给出了一些示例,说明如何期望这些表示在不同上下文中对最终嵌入做出贡献。三角形的三个角代表目标项目的不同表示:
- 当没有关系消耗(下图中的A)时,最后的嵌入只是基本的项表示,其他两个关系项没有影响 .
- 当Powerbeats 或 iPhone刚刚购买时(下图中的B和C),对应的关系表示应该分别具有消极和积极的影响。而如果替代品是很久以前购买过的(下图中的D),替代品的表现形式可能对最终嵌入产生积极的影响。
- 当序列中有许多不同的关系项时,这三种表示都将不同程度地发挥作用
图3:说明如何根据序列上下文 动态组合不同的表示。
为了考虑这种不同关系的时间动态,我们创新性地为每种关系设计了时间核函数,它是一个关于消费之间滞后时间的连续函数。时间核函数的目的是控制每次关系消耗的影响程度。函数值的极性表示作用的极性。假设我们已获得核函数 k r i ( ∆ t ) k_r^i(∆t) kri(∆t),索引项 i i i 和关系 r r r (具体设计和相关讨论在下一节),我们建议定义关系系数 f r f_r fr如下:
其中 I r I_r Ir 为关系矩阵。每个以前的关系为 r r r 的消费的目标项目 i i i 对关系系数 f r f_r fr有影响,由核函数 κ r i ( ⋅ ) κ^i_r(·) κri(⋅)控制。通过这种方式,关系系数使得不同的表示法能够在不同程度上对最终的嵌入做出贡献,这与以前分配静态项嵌入的研究不同。由于时间核函数的存在,关系表示可能会由于长时间间隔而几乎不起作用,甚至在某些情况下会产生负面影响。因此,Chorus嵌入可以更好地捕捉项目在不同环境中的含义,从而更好地模拟用户随时间变化的需求。
此外,为了简单和高效,我们可以只考虑历史序列中最新的关系项,在平均的情况下。公式(7)可以直接表示为:
其中, ∆ t r ∆t_r ∆tr表示从最近一次物品消耗到当前物品消耗的时间, r r r 与当前物品相关。如果某一关系在历史序列中没有关系项,我们假设存在一个正无穷时间间隔 (即 ∆ t r = + ∞ ∆t_r= +∞ ∆tr=+∞)。在时间核函数随时间接近于零的情况下,相应的关系嵌入不会产生影响。
4.3 Design of Temporal Kernel Function(时间核函数的设计)
接下来,我们重点研究如何为每个关系设计时间核函数。实际上,时间核函数的具体形式可以看作是对模型的一种人为干预。一方面,我们可以根据每个关系的特点来设计函数。例如,如图1所示,互补关系在短时间内具有积极的影响,并且这种影响随着时间的推移而衰减。另一方面,我们可以根据主观对系统的需求进行设计。如果我们希望替代品在短期内也出现在推荐列表中,那么时间核函数可以设计为初值为正,衰减速度更快。在本文中,我们主要研究两个关系: i s is is _ c o m p l e m e n t a r y complementary complementary _ o f of of 和 i s is is _ s u b s t i t u t e substitute substitute _ o f of of。作为实例,我们根据这两种关系的一般认识和特点设计了相应的时间核函数。
正态分布:https://blog.csdn.net/rns521/article/details/6953591
- 对于互补品,除了整体下降趋势外,正面效应一般持续一段时间后,在日常生活中开始消退。因此,我们选择均值为零的正态分布作为其时间核函数,而不是衰减太快的直观指数分布:
式中, N ( ∆ t ∣ , μ , σ ) N(∆t |, μ,\sigma) N(∆t∣,μ,σ)为关于 ∆ t ∆t ∆t的正态分布, μ μ μ是平均值, σ \sigma σ是标准差。需要注意的是,此处的参数 σ c z ( i ) \sigma^{z(i)}_c σcz(i) 与 z ( i ) z(i) z(i) 有关, z ( i ) z(i) z(i) 表示第 i i i 项的类别。我们不估算特定项目的参数,因为类别通常更适合于对一组项目的特征进行建模。具体项目的参数也可能受到数据稀疏性问题的影响。
- 对于替代品,预期其影响将从消极变为积极,因为我们短期内不需要另一个具有类似效用的产品,但希望在其使用寿命结束时更换一个新的。因此,我们使用两个相反的正态分布来模拟这些特征:
这是(1)短期抑制(负) 和 (2)终身促进(正)的叠加。负正态分布被设计为均值为零,因为在替代消费之后,再训练效应通常最强。在positive中中,参数 μ s z ( i ) μ^{z(i)}_s μsz(i)以某种方式表示这个类别的生存期,意思是这个时候效果将达到峰值。
图2展示了这两个时间核函数。还可以设计其他形式的时态核函数来满足不同的需求。而且,Chorus并不仅限于这两种关系。它可以合并许多关系,如same_brand、same_producer等。唯一要做的就是基于先验知识设计一个相应的时间核函数,我们发现指数分布基本适用于一般关系。
表1:baselines和Chorus的比较
在这里,我们得到了最终的可感知知识的动态项嵌入。然后用我们的算法代替原始目标项嵌入,利用各种算法来提出建议。与之前的模型不同,Chorus同时集成了序列信息、项目关系建模以及相应的时间动态。最近提出的CFKG和SLRC要么只关注物品关系,要么关注消费顺序中的时间动态。表1列出了相关方法与我们的Chorus模型之间的区别。关于baselines的更多细节将在5.1.3节中描述。
4.4 Parameter Learning(参数学习)
为了获得更好的鲁棒性,我们采用了两阶段的训练过程来学习模型参数:
-
第一阶段,首先对 L r e l L_{rel} Lrel 进行优化,得到带有结构信息的项和关系嵌入。
-
第二阶段,利用结构信息初始化基本项表示和关系嵌入;然后最小化 L r e c L_{rec} Lrec 来学习模型的所有参数。第二阶段,我们不冻结以前学过的嵌入。
实验表明,采用 L r e c L_{rec} Lrec 优化,效果较好。另一方面,也有可能在训练开始时破坏有意义的嵌入。因此,我们在第二阶段将基本项表示和关系嵌入的学习率降低了0.1。由于Adam在许多推荐模型中都是成功的,所以在每个阶段都使用它作为学习算法。
1.深度学习最常用的学习算法:Adam优化算法:https://blog.csdn.net/leadai/article/details/79178787
3.Adam算法:https://www.cnblogs.com/yifdu25/p/8183587.html
5. EXPERIMENTS(实验)
5.1 Experimental Settings(实验设置)
5.1.1 数据集。实验在Amazon数据集上进行。除了具有时间戳的用户交互序列外,它还具有项元数据,包括列表中的 also_view、also_buy 和类别信息。在前人研究的基础上,我们将 also_view 作为替代关系,also_buy 作为补充关系。不同的是,在我们的研究中,这种关系是 is_complement_of (互补关系)和 is_substitute_of(替代关系)。因此,原始的同样视图,同样购买关系的方向应该反转。
我们采用了三个有代表性的子数据集:食品杂货店和其中的美食、手机和手机配件、家庭和家里的厨房。表2总结了这三个数据集的统计数据。请注意,在主数据集中,与历史数据相关的测试用例的比率很低,并且关系数据相对稀疏。
表2:数据集统计(entry:入口、登记;triplet:三元组;relational ratio in test set:测试集中的关系比率;)
5.1.2 评估协议。我们采用文献中广泛使用的 left-one-out 评价方法。对于每个消费序列 S u ∈ S S_u∈S Su∈S,我们使用每个用户最近的交互进行测试,使用最近的第二个项目进行验证,使用剩余的项目进行训练。考虑到某些方法在数据集较大时对所有项进行排序比较耗时,我们随机抽取99个目标用户没有交互的项,并将这些正影响的项与负影响的项排列在一起。这种方法也被广泛采用。
为了评价推荐的质量,我们使用 Hit Ratio(HR) 和 Normalized Discounted Cumulative Gain (NDCG,标准化折现累积增益) 作为评价指标。[email protected]测量地基真相项是否出现在top-k推荐列表中,而[email protected]关心的是排名列表中的位置。每个实验我们用不同的随机种子重复5次,并报告平均分数。
详解推荐系统中的常用评测指标:https://blog.csdn.net/kingzone_2008/article/details/81117314
NDCG Normalized discounted cumulative gain 理解分析:https://blog.csdn.net/xiangyong58/article/details/51166127
5.1.3 基线的方法。我们将我们的合唱团模型与七种基线方法进行了不同方面的比较,包括传统的协同过滤、顺序推荐以及包含项目关系或时间动态的方法:
- BPR:该方法提出采用两两排序损失优化矩阵分解模型。
- GMF:这是一种最先进的协同过滤方法,利用多层神经网络。
- Tensor:该方法将时间分成多个桶,并分解一个三维张量(用户-项目-时间)。
- GRU4Rec:这是一个顺序推荐模型,应用GRU[5]来得出排名分数。
- NARM:该模型利用GRU和注意力机制提高了顺序推荐的性能,这是一种最先进的基于会话的方法。
- CFKG:该方法考虑了各种商品关系,将购买视为用户与商品之间的另一种关系。然后利用TransE学习图嵌入并提出建议。
- SLRC’:SLRC结合Hawkes和CF来模拟重复消费的时间动态。考虑到Amazon数据集中已经消除了重复的消耗,我们将其设置扩展到关系项的影响,命名为SLRC '。但仍缺乏对条目关系的语义建模。
5.1.4 实现细节。我们在PyTorch中实现了所有的模型。实现代码已经发布1。为了公平比较,所有模型的嵌入大小都设置为64。所有的超参数都被调优以在验证数据集中获得最佳结果。对于CFKG,我们认为与我们一致的也视图和也购买关系。对于SLRC '和Chorus,我们发现在历史序列中很少有具有两个或更多关系项的交互。因此,为了简单和高效,我们考虑序列中最新的关系交互,而不损失一般性和性能。此外,合唱中还使用了TransE作为翻译功能。为了数值稳定性,所有时间相关参数初始化为1,其他参数通常初始化为0均值和0.01标准差。
5.2 Overall Performance(整体性能)
表3显示了使用BPR和GMF计算排名分数时各基线的性能和我们的Chorus模型的性能,分别为Chorus_{BPR}ChorusBPR和Chorus_{GMF}ChorusGMF
首先,不同种类的基线显示出明显的性能差距。对于协同过滤方法(例如BPR和GMF),它们可以作为基准,因为它们拥有的唯一信息是用户-项交互。张量法由于考虑了时间动力学而优于基本的CF方法。顺序推荐方法(如GRU4Rec和NARM)的性能进一步提高,说明了最近消费的物品传达动态用户需求的重要性。CFKG得到了公平的结果,在一些指标上成为了最好的基线,这说明项目关系确实有助于推荐。对于SLRC’,由于它对消费序列的相互刺激特征进行了明确的建模,因此一般在各基线之间得到最好的结果
其次,我们的Chorus模型在所有数据集中始终比其他基线表现得更好,这得益于解决项目关系和它们的时间动态。这表明所提出的模型能够更好地捕捉动态用户需求和不同上下文项的含义。与CFKG相比,Chorus不仅考虑了物品之间的关系,而且整合了物品的时间动态。与SLRC相比,Chorus能够对每一种关系的语义意义和特定类别的时间效应进行建模。在SLRC中,Hawkes的基本形式可能更多地关注关系项的影响,因此在正常情况下,当没有先前的关系消耗时,会降低性能(更多讨论在5.4节中)。与之不同的是,Chorus将项目关系集成到知识感知的动态项目表示中,更加有效和灵活。
另一方面,请注意,在主数据集中,改进相对较小。可能的原因是关系信息太稀疏,不太可靠。我们使用了CFKG的相似关系图嵌入方法,但在该数据集中效果不佳。虽然TransE在其他数据集中工作得很好,但在家庭数据集中的关系可能是如此复杂,TransE不足以建模准确。第5.3节的相关讨论提供了更多的证据。
5.3 Ablation Study
为了验证我们模型中关系建模和时间动态的效果,我们将Chorus与两个变体进行比较:
- Chorus\ R。该模型为每个关联分配单独的项嵌入,并通过优化L_{rec}Lrec估计所有参数。图嵌入结果没有用于初始化基本表示和推导关系表示.
- Chorus\ T。这个模型不考虑时间的动态关系,假定所有的时间内核函数(i.ei.e .κ_i^rκir(∆t)常量值1。
图4:消融研究。比较无关系建模的变奏(Chorus\R)和无时间动态的变奏(Chorus\T)的性能。
图4显示了Chorus_{BPR}ChorusBPR的[email protected]及其变体,以及SLRC '。结果表明,关系建模和时间动力学都具有重要的意义。合唱中任何模块的缺失都会导致演出的损失。此外,我们有以下几点看法:
首先,条目关系确实很有帮助。Chorus\R在杂货店和手机数据集中带来了最大的性能损失,这表明了对关系的结构信息建模的重要性,以及我们基于平移的方法通过图嵌入来派生关系表示的重要性。
其次,重要的是建立不同关系的时间动态模型。如果没有时间信息,Chorus\T在前两个数据集中会导致适度的性能损失。这并不意味着在我们的模型中处理的时间动态不重要。从字面上看,商品之间的关系对用户进行消费决策的影响更大。因此,建模项目关系比建模时间动力学有更大的改进是合理的。另一方面,与Chorus\T相比,Chorus取得了持续的进步,尤其是在国内,这显示了向前移动考虑物品关系的时间动态的有用性。
第三,关系图嵌入在主数据集中效果不佳,其中Chorus的性能损失最大,Chours的性能损失最大。这是关系建模不足的另一个证据。虽然TransE是翻译函数的自然选择,而且通常在其他两个数据集上都能很好地工作,但我们发现,在主数据集的场景下,它可能是不够的,其中CFKG使用TransE作为图嵌入方法也表现不好。图4 ©显示,没有关联建模,性能没有下降太多(Chorus\R)。但如果有关系建模而没有时间核函数(Chorus\T),则会因条目和关系的不恰当嵌入而影响性能。这也表明在我们的模型中处理的时间动态可以帮助自适应地避免混乱的关系可能的坏影响,这证明了考虑时间动态的有用性和必要性。
5.4 Performance in Different Scenarios
除了整体性能改进之外,我们还想弄清楚改进从何而来。在这里,我们研究模型在不同场景中的性能。具体来说,我们根据历史序列中是否存在相应的关系消耗,构建测试数据集的三个子集。正常意味着之前没有关系项。补充表示目标项是历史序列中某些项的补充。类似地,替代是指有以前的消费作为替代的情况。当前面有两种关系项时,测试用例可以同时处于补充组和替代组中。图5显示了不同模型(线)的[email protected]和三个subsets of cases (bars)的部手机数据集。我们可以看到,虽然补充组和替代组的情况较少,但模型往往在这些情况下表现得更好。它们可能内在地展示一些模式,因此所有的模型都比正常情况下获得更好的性能,即使对于没有明确地考虑项目关系的BPR也是如此。
此外,Chorus能够结合不同方法的优点,从而达到平均最佳的表现。请注意,对于SLRC '和CFKG来说,它们各有优缺点。虽然SLRC '在关系情况下表现良好,特别是在替代组中,但它在正常情况下甚至比BPR更差。这表明SLRC '容易过度适应关系情况,从而损害正常情况的性能。另一方面,尽管CFKG在正常组中表现良好,但它在“关系情况下”不如SLRC强大,因为SLRC明确地对每个关系的时间特征建模。至于Chorus,它捕获了物品关系和它们的分类特定的时间动态。值得注意的是,正常情况下,合唱团与CFKG相似;在补充的情况下,Chorus比SLRC '好一点,这两个都是最好的基线在每个场景。虽然Chorus在替补组中没有SLRC '强,但与CFKG相比有明显的提高。因此,平均而言,Chorus获得了较好的成绩,这说明了整合项目关系和细粒度的时间动态的重要性。
5.5 Parameter Interpretability
在设计时间核函数时,我们要验证与时间相关的参数是否具有可解释的意义。请注意,这些参数是按项目类别索引的,这表示以前的关系消费对该类别的影响如何随时间漂移。虽然某一特定关系因其功能形式的不同而总体走向相似,但其具体形式却揭示了该范畴的特点。图6显示了在手机数据集中学习的一些代表性类别的时态核函数。
图5:测试用例在不同场景下的性能比较(正常:没有历史关系消耗;补充:目标物品是某些物品的补充
历史序列中的项目;替换:目标项是历史序列中某些项的替换)。
图6:已学习的is_complementary _of(左)和is_substitute_of(右)关系时态核函数的案例研究每一行表示在原点使用相应的关系项时,它对该类别项的影响如何随时间变化。
左图对应耳机与替换件的is_complementary _of关系。如图所示,对耳机的影响比替换零件衰减得快得多。一方面,购买手机后,向用户推荐耳机作为补充是合理的。但如果用户不使用推荐的耳机,他/她可能已经有了耳机或从其他地方购买了一个。因此,补体的积极作用预计会迅速衰减,否则持续推荐耳机可能会给用户带来麻烦。另一方面,对于备用电池等替换部件,补充消费的积极效应将持续一段时间。因为用户通常会在原设备的电池用完一段时间后再购买备用电池。
右图显示了is_substitute_of relation对基本机箱、国际充电器、手机的影响。虽然一般形式都是由两个相反的正态分布组成,但基本情况下的时间核函数与其他两种情况下的时间核函数有很大的不同,其中抑制作用的分量几乎是平的。这说明用户在购买手机壳的时候,不会有强烈的负面影响,因为我们经常会因为各种原因更换手机壳,比如边缘断裂或者只是想尝试一种新的风格。对于国际充电器和手机来说,它们的时间内核功能都呈现出明显的负效应和正峰值。这是合理的,因为我们通常不需要另一个充电器或手机,如果我们刚买了一个。有趣的是,这两种物品的峰值对应的时间间隔是相似的,这反映了手机的更换往往会导致匹配充电器的更换。此外,与充电器相比,手机的曲线更加平滑。原因可能是我们可以因为各种原因更换手机,但如果充电器能用,我们却很少更换。因此,一款新手机可以
综上所述,我们的Chorus模型中与时间相关的参数具有较高的可解释性,能很好地反映不同类别项目的特征。这些参数可以帮助推荐系统对推荐结果进行解释。例如,当用户购买iPhone之前,是时候手机的时间内核函数的峰值时,建议一个新的手机可以解释为“你的手机一直在服务很长一段时间,看一看一些新产品如何?”
6 CONCLUSION AND FUTURE WORK
本文提出了一种基于知识和时间感知的物品建模方法。据我们所知,我们是第一个明确地建模不同关系的影响随时间的演变,并将这些信息合并到项目嵌入中。采用图嵌入的方法从项目关系图中获取结构信息,并对每个项目推导出不同的关系表示。通过专门设计的时间核函数来控制关系的时间动态,并根据历史序列中目标项与关系项之间的时间间隙动态组合关系表示,形成具有知识感知的动态项表示。时间核函数的设计可以看作是对模型的一种人工干预,可以用来满足对推荐结果的不同要求。由于Chorus的灵活性,它可以很容易地利用各种嵌入算法来计算排名分数和提出建议。大量的实验结果表明,Chorus优于最先进的基线,说明项目关系和它们的时间进化效应是非常重要的。此外,Chorus中的时间相关参数具有较高的可解释性,有助于提高推荐的可解释性
该模型还存在预定义的时间函数和两阶段学习过程等局限性。此外,虽然基于平移的方法总体上工作良好,但我们发现在某些情况下存在不足,需要进一步研究。在未来,我们将研究如何自适应地估计不同关系的时间进化效应,并尝试设计更适合的方法来将项目关系建模与推荐紧密结合
ACKNOWLEDGMENTS
这项工作得到国家重点研究开发计划(2018YFC0831900)和国家自然科学基金(批准号:61672311,61532011)的资助。马维智博士得到了水木清华学者计划的资助。我们要感谢Maarten de Rijke对这项工作提出的宝贵意见。