一种基于元路径邻域目标泛化的序列推荐方法

文档序号:30998710发布日期:2022-08-03 04:05阅读:190来源:国知局
一种基于元路径邻域目标泛化的序列推荐方法

1.本发明涉及序列推荐技术领域,更具体地,涉及一种基于元路径邻域目标泛化的序列推荐方法。


背景技术:

2.给定用户对商品的历史点击行为,为用户推荐下一个可能感兴趣的商品项目,称为序列推荐。在推荐系统中,点击率(也称点击通过率,click-through rate,ctr)的性能对用户体验产生很大影响,从而影响产品的最终收入。构建ctr预测模型的主要挑战是从用户的历史行为中精心建模用户的偏好。针对用户历史行为的序列推荐,已经提出了多种ctr预测模型。
3.序列推荐模型主要涉及序列推荐和图神经网络(gnn)两个研究领域。推荐系统的早期工作通常采用协同过滤来模拟用户的行为序列,但是这些方法通常会忽略序列的次序信息,不适合序列推荐。最近,循环神经网络(rnn)及其变体gru和lstm在建模用户行为方面变得越来越流行。例如,将注意力机制合并到rnn中,以捕获用户在会话中的偏好变化。又如,将门控循环神经网络(gru)与针对序列推荐量身定制的损失函数相结合。这些方法的主要思想是将用户的历史行为编码成反映其偏好的嵌入向量来做出预测。然而,这些循环网络限制了在会话中对项目之间的相互影响进行建模的能力。因此,受transformer架构的启发,sasrec和bert4rec使用transformer架构来学习序列中项目的相互影响系数。
4.对于图神经网络,许多研究工作已经证明了图神经网络对图结构数据建模的能力。例如,包括gcn、gat和graphsage在内的gnn的变体在节点嵌入表示学习方面表现出突破性的性能。最近,gnn被广泛应用于推荐。例如,pinsage结合了graphsage并实现了深度图节点嵌入的大规模应用。meirec利用元路径引导的gnn对复杂对象(商品、用户)在异构图中的丰富交互行为进行建模,以进行搜索意图推荐。然而,所有这些方法都不是为序列推荐而设计的,因为它们忽略了序列中的次序信息。随后,sr-gnn提出将会话序列建模为图结构数据,并通过考虑项目之间的复杂转换关系来获得更准确的项目嵌入。fi-gnn将广告系统的多字段特征用图结构呈现,并结合门控gnn来学习序列中的特征交互。hyperrec采用超图结构来表示项目的短期相关性,并采用卷积层来学习嵌入。ma-gnn应用gnn方法对短期项目相关性进行建模,并使用记忆网络对长期项目依赖性进行建模。然而,所有这些方法都是从左到右的单向模型,无法学习历史序列中项目的相互影响。此外,这些方法未能在ctr预测中考虑行为目标泛化。
5.最近,针对用户历史行为的序列推荐提出了多种ctr预测模型。gru-bpr及其变体采用gru对用户行为序列进行建模。bert4rec认为单向架构限制了隐藏层嵌入的表达能力,因此使用通过完形填空任务训练的双向自注意力机制网络对用户行为序列进行建模。尽管这些模型在向用户推荐高度相关的项目方面很普遍且有效,但它们的序列学习方法不足以学习用户行为的最佳嵌入表示向量,并且不可避免地会损害长期的用户体验。主要限制包括:(a)高度单一的推荐。属性相似度高的商品,曝光率更高,可能会让用户对推荐内容感到
单调。(b)兴趣探索不足,无法帮助用户找到潜在兴趣的项目。
6.推荐系统应该被设计成帮助用户探索他们的兴趣,例如,通过推荐与其历史交互不太相关但用户有潜在兴趣的项目。有效的兴趣探索策略将有利于提高页面浏览量(page view,pv)、唯一访问者(unique visitor,uv)的数量和点击率。因此,探索用户历史行为之外的潜在兴趣以进行内容推荐至关重要。然而,找出用户的潜在兴趣项并不容易,特别是在基于会话的推荐中,每个用户的会话点击信息是有限的。一种直观的方法是在每个用户的行为序列之外为每个用户随机生成一组新项目,而这种方式可能会损害用户体验,因为这些项目可能与用户完全无关。


技术实现要素:

7.本发明的目的是克服上述现有技术的缺陷,提供一种基于元路径邻域目标泛化的序列推荐方法。该方法包括以下步骤:
8.根据用户的历史行为序列,将项目及其共现建模为项目-项目图,根据各项目与标签之间的对应关系构建项目-标签图,并构建元路径用于捕获项目或标签之间的不同复合关系,找到项目节点和标签节点的基于元路径的邻居;
9.利用异构图编码用户历史交互信息,并构建项目和项目、项目和标签之间的关系,并采用消息传播机制和消息聚合机制来融合不同类型的节点及其关系;
10.针对所述异构图进行嵌入学习训练以获得经训练的序列推荐模型,在训练过程中,对于每个目标预测,泛化在原始行为序列中不存在的潜在项目目标用于辅助训练,并将项目节点的向量表示输入到转换层,其中所述潜在项目目标基于元路径的邻居获得。
11.与现有技术相比,本发明的优点在于,提供基于元路径邻域目标泛化的序列推荐模型,不仅可以基于用户的历史行为提升模型推荐项目的准确率,同时能够动态地进行个性化的用户兴趣探索,即探索用户在历史交互行为之外的潜在兴趣项目。
12.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
13.被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
14.图1是根据本发明一个实施例的基于元路径领域目标泛化的序列推荐模型的示意图;
15.图2是根据本发明一个实施例的基于用户行为序列和项目标签关系构建的异构图。
具体实施方式
16.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
17.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明
及其应用或使用的任何限制。
18.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
19.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
20.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
21.本发明是基于元路径邻域目标泛化的序列推荐模型(hgesnn)。参见图1所示,该模型整体上包括异构图表示、行为目标泛化和节点序列训练,其中图1(a)是用户的行为序列(users’behavior sequences),图1(b)是项目-项目图构建(behavioral item graph construction),图1(c)是由元路径item-tag-item生成的项目f和c的示例,这里的元路径由项目-标签图生成,如图1(b)和图1(c)所示;图1(d)是用于行为目标泛化的transformer层的异构图嵌入学习。
22.在下文中,首先说明如何从用户历史行为构建项目图,然后介绍基于元路径邻居的嵌入表示学习方法和行为目标泛化。接下来,引入transformer层(转换层)进行节点序列训练。与基于rnn的模型中的从左到右的单向架构相比,transformer在建模序列上采用了双向注意力机制,并在推荐任务中展示了它在学习更强大的嵌入表示方面的成功。
23.一、基于元路径的邻居
24.为了实现不仅可以基于用户的历史行为提升模型推荐项目的准确率,同时可以动态地进行个性化的用户兴趣探索,探索用户在历史交互之外的兴趣,本发明提出了一种基于元路径邻域目标泛化的序列推荐模型,用于ctr预测中的个性化兴趣探索。
25.图2是基于用户行为序列和项目标签关系构建的异构图,其中,图2(a)是节点类型(node type);图2(b)是基于序列行为的项目推荐(sequential recommendation);图2(c)是三个涉及项目和标签关系的元路径;图2(d)是基于元路径的项目和标签节点的邻居。
26.具体地,首先基于用户历史行为序列将项目及其关联关系建模为项目-项目图,如图2(b)所示。然后,捕获项目和标签之间的关系(每个项目包含一个或多个标签)作为项目-标签图,如图2(b)所示。最后,可以构建元路径,用于捕获通过复合关系连接的两个对象的语义,以搜索用户的潜在兴趣。
27.如图2(a)所示,异构图包含三种类型的节点,包括用户(user)、项目(item)和标签(tag)。图2(b)揭示了序列推荐的任务,即根据用户的历史序列i1→
i2→
i3,预测是否应该向用户推荐i4,其中t1、t2、t3和t4是与项目关联的标签。图2(c)显示了三个元路径,用于捕获项目或标签之间的不同复合关系。可以找到项目和标签节点的基于元路径的邻居,如图2(d)所示,这有助于在假设用户对具有相同标签的项目感兴趣的情况下探索用户潜在兴趣(例如i4)。
28.二、行为项目图构建
29.该部分介绍从用户历史序列构建行为项目图。在实际场景中,很难在训练中利用用户的所有历史信息。在一个实施例中,是将特定的时间窗口,例如截断一小时内的用户行为序列,如图1(a)所示。然后,如果两个项目在序列中连续出现,则它们通过无向边连接。例如,如图1(b)所示,项目d和项目a是连接的,因为用户u1连续点击它们。因此,可以捕获跨所
有用户序列的项目之间的全局传递依赖关系,这些序列为行为目标生成提供丰富的语义信息。此外,由于每个项目都与多个标签相关联,如图1(c)所示,可以搜索其基于元路径的邻居来进行行为目标泛化。这里项目c是item-tag-item生成的项目b的元路径邻居,如图1(c)所示。然后,通过将项目c视为潜在目标预测来进行用户兴趣探索,如图1(d)所示。
30.三、统一的异构图表示
31.根据用户的历史偏好,可以将项目及其共现(例如一个序列中的项目)建模为项目-项目图。此外,由于每个项目都包含一个或多个标签,可以将项目与标签之间的关系提取为项目-标签图。然而,为了融合两种不同类型的节点及其关系,在一个实施例中,提出了消息传播机制和消息聚合机制,用于在表示学习过程中融合这两种类型的节点及其关系。
32.1)、消息传播机制
33.图1中有两种类型的节点,即项目和标签。对于每个项目,消息在中心节点(例如,图1(c)中的ia)及其邻居之间进行传播,包括直接邻居id和ib以及基于元路径的邻居if。由于线性变换已被证明其对结构化邻居的特征编码有效的,使用该变换来定义从节点vj到vi的消息传播:
[0034][0035]
其中表示从节点vj传播到vi的消息,维度为d,mv∈rd×d是变换矩阵,表示使用独热编码(one-hot)的关系类型(例如,直接邻居使用[0,1]编码,元路径生成的邻居使用[1,0]编码),fm(
·
)将关系类型和相邻节点表示向量作为输入,并输出变换矩阵mv。通过拼接向量和然后使用多层感知(mlp)来融合这两个的向量表示。fm(
·
)的细节定义如下:
[0036][0037]
其中表示向量拼接操作。
[0038]
2)、消息聚合机制
[0039]
在接收到从邻居节点传播到中心节点的消息后,可以用不同的方法聚合消息。例如,基于均值的聚合方法(mean aggregator)和基于注意力的聚合方法(attention aggregator)。
[0040]
对于基于均值的聚合方法,可采用以下方法平均节点的邻居信息:
[0041][0042]
其中是节点vi的邻居集合,w∈rd×d表示需要通过训练获得的权重矩阵,σ是激活函数,可使用relu。
[0043]
在基于注意力的聚合方法中,对于每个目标节点,利用注意力机制来学习其邻居的重要性权重。给定一个节点对(vi,vj),权重系数定义如下:
[0044][0045]
其中w∈rd×d是训练获得的权重矩阵,a∈r
2d
表示权重向量。然后,节点vi的表示向量是通过聚合其邻居传递过来的消息乘以权重系数获得,如下所示:
[0046][0047]
进一步地,可以采用多头注意力机制来稳定自注意机制的学习过程。具体来说,重复方程式(5)k次,并将得到向量进行拼接,表示为:
[0048][0049]
到目前为止,已经介绍了如何聚合节点的表示,如图1(d)所示。在将它们输入到transformer层之前,需要考虑序列中项目的次序。
[0050]
四、时间信息嵌入层
[0051]
为了利用输入序列中的项目次序信息,需要将时间信息嵌入到图节点表示中。然而,现有技术方案中存在缺点,例如transformer中的时间信息利用了固定的正弦嵌入,这限制了节点项目嵌入的表达。bert4rec引入了可学习的时间嵌入向量以获得更好的性能。然而,这种方法对序列的最大时间长度施加了限制,因此需要截断过长时间的项目序列。因此,在本发明实施例中,通过将项目之间的时间差缩放到(0,n)之间,其中n是设定的整数,在实验中可设置为150。然后,使用时间信息嵌入矩阵p∈rn×d来对输入的表示向量进行编码。具体来说,给定进行以下的相加计算:
[0052][0053]
其中pi∈p是d维的时间信息嵌入向量,其索引i由项目节点v
i-1
和vi之间的时间差计算缩放后获得。
[0054]
五、行为目标泛化
[0055]
与现有的ctr模型不同,本发明主要任务之一是探索用户在历史交互之外的潜在兴趣,用以提升推荐系统的性能。为了实现这一任务,首先提出构建一个异构图来编码用户历史交互信息,用于构建项目和项目、项目和标签之间的关系。然后,假设用户可能对同一标签下的其它项目感兴趣。基于这个假设,对于训练过程中的每个目标预测,均泛化一个在原始序列中不存在的潜在项目目标用于辅助训练。例如,在图1(d)中,项目c没有被用户u1点击过,但它与项目b具有相同的标签,即b和c是基于元路径item-tag-item的潜在邻居。因此,当使用序列id→
ia来预测ib时,也同时使用它来预测ic。在本文中将此过程称为行为目标泛化。
[0056]
需注意的是,本发明提出的方法与目前基于图会话的方法和基于异构图的方法相比,有两个主要区别:第一、本发明执行消息传播机制和聚合步骤机制,以融合目标项目及其邻居的异构信息用于获取所有的项目节点表示。然后,利用基于元路径的邻居项目作为
点击目标进行训练,从而实现用户个性化的兴趣探索。第二、本发明采用双向注意力机制来训练获得最终的项目节点表示,与单向训练模型相比(如sr-gnn),本发明可以在推荐任务中学习到更优的表示向量。
[0057]
六、transformer层
[0058]
如图1(d)所示,将序列中所有项目节点的表示向量输入到transformer层。transformer层包含两个重要的组件:多头注意力机制(multi-head self-attention)和位置前馈网络(position-wise feed forward),描述如下。
[0059]
1)、多头自注意力机制
[0060]
使用矩阵来表示一个长度为nu的项目节点输入序列,其中表示第l层项目i的节点表示向量然后,通过将h
l
投影到n个表示子空间来使用多头自注意力机制,这允许模型可以关注序列中不同位置且来自不同表示子空间的信息,公式如下:
[0061][0062]
其中w
iq
∈rd×
d/n
、w
ik
∈rd×
d/n
、w
iv
∈rd×
d/n
和wo∈rd×d均是训练获得的投影矩阵。
[0063]
此外,上述公式(8)中的attention函数,定义如下:
[0064][0065]
其中q,k,v分别表示和用于缩放以避免出现过大的梯度。
[0066]
2)、位置前馈网络
[0067]
为了赋予模型对于非线性关系的表达能力,同时使模型关注向量中不同特征维度之间的相互作用关系,将上述多头自注意力机制的输出multi-head(h
l
)输入到位置前馈网络层(ffn)。ffn层由两个线性变换组成,中间有一个relu激活函数,如下所示:
[0068]
fnn(x)=max(0,relu(xw1+b1))w2+b2ꢀꢀꢀ
(10)
[0069]
其中,w1∈rd×
4d
,w2∈r
4d
×d,b1∈r
4d
,b2∈rd是通过训练获得的参数,max(*)函数表示选取集合中最大的值。
[0070]
七、优化目标
[0071]
本发明旨在根据用户之前的历史交互序列来预测用户点击下一个项目的可能性。为此,将目标用户在item i之前的历史交互序列中所有项目的节点表示向量输入到transformer层中,并以最后输出的hu作为整个序列的表示,如图1(d)所示。此外,希望利用来自用户长期历史序列的统计属性,例如将用户u在30天内点击的前k个项目的标签作为其统计特征au,输入mlp以获得最终统计特征向量表示然后,将hu和的嵌入拼接起来,并使用另一个mlp来融合表示向量,最终经过激活函数后获得预测分数,如下所示:
[0072]
[0073]
其中,σ是激活函数,表示向量拼接操作,表示预测用户u可能点击项目i的可能性大小。最后,采用贝叶斯个性化排序损失函数(bayesian personalized ranking loss,bpr)来优化模型参数。bpr是通过将正样本节点对的相关性排名高于负样本节点对来优化模型参数。例如,给定某用户u的历史交互序列,对序列中的任意项目,bpr损失函数计算如下:
[0074][0075]
其中,t表示训练批次,是正样本的预测分数(在给定历史交互序列的情况下,用户u点击下一个项目i的预测分数),是负样本的预测分数(这里负样本定义为在训练批次中来自其他历史交互序列的项目j)。
[0076]
为进一步验证本发明的效果,进行了实验,试验细节如下。
[0077]
1)数据集
[0078]
从qq浏览器主页收集大规模的用户网页浏览记录作为数据集,包括新闻、小说和娱乐内容等商品项目。
[0079]
具体地,以1天为间隔获取3天的用户数据,使用训练好的模型上线,用于评估第二天的推荐系统的性能。对于每一天,收集用户访问高峰期内的8小时的浏览行为。去除那些少于5个浏览商品的用户行为后,总共可以获得约71万个历史序列,包括约1300万次的商品点击,73万个不同商品项目和11万个标签。更多的统计细节参见表1。将所有序列分为训练序列、验证序列和测试序列,比例为4:1:5。一般来说,数据集具有以下特征。首先,数据集足够大,在训练和测试集中都包含数百万的点击记录。其次,测试集中包含多达训练集四分之一数量的新项目。第三,数据集的密度(每个序列中包含的平均项目数/不同项目的总个数)非常稀疏。数据的这些特征给推荐模型性能带来了很大的挑战。
[0080]
表1:数据集的统计情况
[0081][0082]
2)、用于比较的不同方法
[0083]
为了验证本发明的有效性,将几种最近提出的方法作为比较基线,包括gru4rec、两层的gru网络和bert4rec等。
[0084]
gru4rec采用一个门控循环神经网络gru,利用基于排序的损失函数来优化模型,常用于基于会话的推荐。
[0085]
两层的gru网络使用两层的gru网络对用户的行为序列进行建模。
[0086]
bert4rec使用深度的双向transformer架构对用户的行为进行建模,该模型在序列推荐上可获得了较高的性能。
[0087]
hgesnn-meanagg是本发明基于均值的聚合方法,该方法采用平均中心节点的邻居节点信息用于项目的向量学习。
[0088]
hgesnn-attagg是本发明基于注意力的聚合方法,利用注意力机制来学习邻居节点的重要性权重。
[0089]
3)、实现细节
[0090]
使用tensorflow实现本发明。对于所有模型,统一将嵌入向量维度设置为32。在训练之前,使用高斯分布随机初始化模型参数,并使用批量(mini-batch)adam优化模型参数。学习率设置为1e-3,batch size为1024,最大序列长度设置为50。对于bert4rec和本发明的hgesnn,都将transformer层数和多头注意力个数设置为4。此外,在hgesnn中,将基于均值的聚合方法和基于注意力的聚合方法的采样邻居数分别设置为5和15。
[0091]
4)、评价指标
[0092]
由于在线资源有限,无法对所有比较的方法进行在线实验。因此,进行了离线实验,以获取表现最佳的基线方法,再进行下一步的在线实验比较。实验指标包括离线指标和线上指标,分别设置如下。
[0093]
在离线实验中,使用命中率(hit ratio,hr)和平均排名倒数(mean reciprocal rank,mrr)等指标来评估不同推荐模型的性能。为了应用这些指标,采用了广泛使用的留一法(leave-one out)来计算。具体来说,对于测试集中的每个序列,将最后一个商品项目作为真实目标,并将该项目之前的所浏览点击过的项目作为输入。由于在每个序列中只有一个用于预测的真实项目,因此hr@k等价于召回率(recall@k)并且与准确率(precision@k)成正比。此外,mrr指标也等价于均值平均精度(mean averageprecision,map)。因此,在一个实施例中,用hr@k(k∈{5,10})和mrr指标评估。
[0094]
在线上实验中,有四个广泛使用的评估指标,包括点击页面浏览量(click page view,cpv)、曝光页面浏览量(exposure page view,epv)、唯一访问点击量(click unique visitor,cuv)和唯一访问曝光量(exposure unique visitor,euv)。根据这些指标,可以得到常使用的在线指标:点击率(click-through rate,ctr),点击消费(per click capita consumption,pcc)和人均曝光消费(per exposure capita consumption pec),表示如下:
[0095][0096]
探索率(exploration rate,er):本发明推荐模型算法的目的之一是通过行为目标泛化来探索用户的兴趣。因此,这里定义了一个探索率的指标,通过计算用户在过去30天内点击在历史序列中未点击过的内容主题商品的数量。
[0097]
对于所有这些离线指标和线上指标,预测的值越高代表模型的算法性能越好。
[0098]
5)、实验结果与分析
[0099]
表2是离线指标评估结果。在工业数据集上,使用模型预测用户下一个可能点击的
商品项目预测效果。最高的性能分数用粗体标记,下划线标记次佳的分数。improv表示本发明方法在对比方法上取得的改进,其中*表示统计结果的置信度p值《0.05,表示该方法性能上的提升具有显著性。
[0100]
表2:实验结果对比
[0101][0102]
实验中可以观察到,大多数情况下bert4rec在所有数据集上都达到了第二好的性能。在hr@10指标方面,bert4rec比gru4rec分别在三个数据集上提高了34.98%、2.35%和15.03%的性能,对比两层的gru网络方法分别在三个数据集上提高了23.86%、32.93%和18.12%的性能。性能的提高可能是因为gru4rec和两层gru网络都是从左到右的单向模型,而bert4rec是带有transformer层的双向模型,这种双向的自注意力机制能更有效地学习项目之间的交互关系,从而提供更好的序列推荐效果,这些改进说明了本发明在模型设计中采用transformer层的有效性。此外,还注意到gru4rec通常可以获得比两层gru网络更好的性能,如表2中,第3天(3rd-day)和第5天(5th-day)的数据集的性能指标上,一个可能的原因是两层gru网络在训练中可能因为层数更多而出现过拟合,从而导致效果欠佳。
[0103]
本发明所提出的方法,包括hgesnn-meanagg和hgesnn-attagg,在所有数据集上的所有指标中始终优于其他的对比方法。例如,与表现最好的对比方法相比,在表2中hgesnn在hr@10、hr@5、mrr等评价指标上平均获得14.90%、26.65%和14.10%的提升,并且显著性检验表明本发明的模型的效果提升具有统计学意义。此外,hgesnn-attagg通常比hgesnn-meanagg能够取得更好的性能,这也证明了注意力机制的有效性。
[0104]
为进一步证明本发明的效果,说明如下。
[0105]
1)、本发明提出的行为目标泛化(behavioraltarget generalizatio,btg)方法提升了模型收益。
[0106]
通过进行消融研究,用以验证btg在hgesnn中的提升效果,如表3所示,在两个数据集上进行了消融实验。结果表明,去除btg模块后,hgesnn在mrr方面性能下降12.41%,这证明了本发明提出的btg模块方法在序列推荐中起着关键作用。
[0107]
表3:行为目标泛化的消融实验
[0108][0109]
2)、与基线相比,本发明在公共数据集上具有良好性能。
[0110]
在movielens数据集上进行了实验,如表4所示,这个数据集是一个常用于评估推荐算法性能的基准数据集。这里将sr-gnn方法纳入公共数据集的比较中。在表4中,最高分的模型性能用粗体表示,本发明对比表现最好的基线模型(下划线部分)获得了大约10%到28%的性能提升。
[0111]
表4:在公共数据集movielens(ml-20m)上的实验对比结果
[0112][0113]
3)、本发明进行线上的a/b测试的实验结果。
[0114]
线上web浏览器的a/b测试时间为8月13日至26日。线上服务期间,使用过去8小时的用户行为数据,每隔一小时从头更新一次模型,并使用重要性采样策略将节点的邻居数截断为100。此外,当测试时遇到未在训练集出现的商品项目时,统一为它们分配一个随机生成的嵌入向量。如表5所示,选择bert4rec模型作为线上的基线模型,同时采用hgesnn-attagg进行比较。可以观察到,本发明的方法在所有指标上都实现了性能改进,例如在新闻、小说和娱乐的内容推荐中分别带来了6.28%、6.82%和4.77%的ctr提升。此外,本发明在er的指标上实现了2.46%的改进,这表明用户更多潜在的感兴趣的新内容可以被模型探索到。
[0115]
表5:线上a/b测试的实验结果
[0116][0117]
4)、本发明和bert4rec的主要区别。
[0118]
总的来说,本发明与bert4rec相比有两个主要区别。一方面,本发明通过消息传播和消息聚合步骤,融合目标项目节点及其邻居节点的异构信息,以获得最终的目标节点表示,然后再输入到transformer层进行节点的序列训练。另一方面,本发明利用基于元路径的方法,对目标节点进行行为目标的泛化来实现个性化的用户兴趣探索。
[0119]
5)、本发明对于会导致高度单一的推荐结果的数据集上比现有序列推荐模型具有更好表现。
[0120]
例如,在短视频推荐中,可能会向用户推荐一个关于“火影忍者”的短视频。该视频包含多个标签,包括忍术、忍者和拉面。如果没有本发明的方法,系统可能会不断地推荐关
于动作场景的动画。而本发明所提出的方法不但能够推荐动作场景的动画,还能够挖掘有关于“拉面”标签的美食栏目,因此有利于长期的用户体验。
[0121]
综上所述,本发明对于用户兴趣探索,同时考虑用户历史行为和探索性项目的关系,通过使用元路径结构显式地建模项目关系来探索用户在历史交互之外的兴趣,并且结合了一个基于transformer架构的网络,将用户的个性化意图嵌入到序列学习中。并且,本发明除了将用户历史交互序列作为推荐依据外,在训练过程中,考虑了项目间的不同关系,从而进行基于行为目标的泛化训练,即可以利用项目基于元路径泛化出来的邻居,用于提升推荐模型的性能。
[0122]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0123]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0124]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0125]
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++、python等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0126]
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/
或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0127]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0128]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0129]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
[0130]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1