基于时间感知超图图卷积的预测方法

文档序号:31084196发布日期:2022-08-09 22:47阅读:108来源:国知局
基于时间感知超图图卷积的预测方法

1.本发明涉及的是一种神经网络应用领域的技术,具体是一种基于时间感知超图图卷积会话的预测推荐方法。


背景技术:

2.现有的基于会话的推荐系统,在应用图神经网络时时往往只根据物品出现的次数赋予每条边权重,没有考虑不同时间间隔的物品的权重应该有差异。在那些考虑物品时间戳的模型中,往往将时间戳作为一种额外信息加入到循环神经网络中来捕捉连续物品依赖关系,而不能捕捉复杂的高阶的物品转换关系。
3.经过对现有技术的检索发现,中国专利文献号cn113672811a公开日20211119,公开一种基于拓扑信息嵌入的超图卷积协同过滤推荐方法、系统及计算机可读存储介质,方法包括:获取用户与项目交互数据,并构造用户-项目交互二部图;构建用户与项目的初始嵌入查找表,利用聚类算法进行子图划分;对聚类子图进行编码,得到位置拓扑编码;定义关联规则表,利用关联规则表分别得到用户和项目超边组,整合所述超边组生成超图,并获得超图关联矩阵;通过超图卷积操作分别学习用户与项目的高阶邻域复杂相关性,将超图卷积的输出与位置拓扑编码进行结合,并通进行信息融合得到嵌入向量;将嵌入向量进行内积处理得到用户与项目之间的关联分数,并根据关联分数为用户推荐可能感兴趣的项目。但该现有技术主要针对于普通的用户-物品推荐场景,在模型中需要利用到用户的信息,利用的是普通的超图卷积,普通的超图卷积自2003年提出以来已经获得广泛的应用,仅仅建模一个全局超图来考虑全局的物品依赖关系。


技术实现要素:

4.本发明针对现有技术没有充分利用交互物品的时间戳数据,即在构图中仅仅是根据物品的出现次数来赋予图中每条边权重,并没有利用到时间信息的问题,提出一种基于时间感知的超图图卷积会话推荐方法,在构图中要充分挖掘物品的时间间隔信息并应用于图卷积中,将已知的会话序列构成超图和局部图,图中每条边的权重由物品的出现次数和时间间隔共同决定,并通过推荐系统模型预测下一个将要被点击的物品。在工业界,很多情况下是用户未登录状态下以及新用户的冷启动问题,这两种情况下,用户的个人信息以及历史点击序列是未知的,本发明根据匿名的会话建模物品间的高阶依赖关系,可以有效完成推荐,在工业界具有实用价值。
5.本发明是通过以下技术方案实现的:
6.本发明涉及一种基于时间感知的超图图卷积会话推荐方法,将物品点击序列转化为基于时间感知的超图以及局部图,并分别根据时间感知超图图卷积捕捉超图中的高阶的物品转换关系,根据图注意力网络挖掘会话序列数据中物品间的依赖关系,经训练后实现同时收敛后,预测将要点击的下一个物品。
7.所述的基于时间感知的超图g
t
=(v,e),统计所有会话中物品的出现次数以及时
间间隔,用于计算在全局范围内所有物品间的依赖关系,其中:v和e分别是物品节点的集合和超边的集合。
8.所述的局部图,记录一个会话内相邻物品的关系,局部图中的节点表示每个物品,当物品i出现在物品j后面,则在i和j之间连一条有向边,边的权重由两个物品在该会话中的共同出现次数和时间间隔共同决定。
9.在构图完成后,通过分别在基于时间感知的超图和局部图中进行图卷积,为每个物品获得两类不同的表示。集体来说就是在全局图中,本发明构造时间感知的超图,并进行时间感知的超图图卷积,通过不断对权重拉普拉斯矩阵相乘捕捉高阶的物品之间的依赖关系。在局部图中,本发明利用图注意力网络计算相邻结点的相似度并聚合邻居信息获得会话内部的的物品依赖关系。
10.所述的推荐方法,具体包括:
11.步骤1)数据预处理:对所有的会话序列进行数据清洗,去掉噪声数据和出现次数过少的物品,同时保留会话中所有物品的时间戳。然后进行数据增强,将每个会话中从头开始的不同长度的子序列作为一个新会话,后面的物品作为目标物品,组成一个新的训练样本。
12.步骤2)构建超图和局部图:首先统计所有会话中所有物品的出现次数以及对应的时间戳,根据这些信息,运用超图的原理,通过特殊的矩阵运算构造时间感知的超图作为超图。然后对每一个会话,构造局部图,相邻物品节点之间连一条边,边的权重由物品共同出现次数和时间间隔共同决定。
13.步骤3)训练推荐模型:基于构建的局部图和超图,本发明设计相应的图卷积操作。在超图中,应用超图图卷积操作聚合高阶邻居的信息,在局部图中,应用图注意力网络聚合一个会话内的相似物品的信息。在模型训练完成后,该模型为每一个物品生成低维的向量表达,用于最后的推荐结果生成。
14.步骤4)推荐结果:在分别图卷积获得物品的全局表示和局部表示后,首先对这两种不同表示进行融合,获得每个物品的表达。由于一个会话内存在多个物品,本发明然后通过注意力机制,以所有物品表达的平均作为查询,计算会话中每个物品和该查询的相似度得分,再根据得分加权聚合一个会话内所有的物品的表达,从而得到该会话的表达。最终用该会话地表达通过点积运算计算其对所有的物品的偏好程度。根据计算的偏好程度的打分,将物品从高到低进行排序,选出最高的k个物品进行推荐,获得最终的推荐结果。
15.本发明涉及一种实现上述方法的超图图卷积会话推荐系统,包括:全局图物品表示学习单元、局部图物品表示学习单元、生成会话表示单元和推荐单元,其中:全局图物品表示学习单元根据全局的所有会话信息,构造时间感知的超图,然后通过图卷积过的物品的全局表示;局部图物品表示学习单元根据会话内的物品构造局部图,然后通过图注意力网络学习物品的局部表示;生成会话表示单元,根据物品的全局表示和局部表示,利用注意力机制,将会话内物品表示聚合得到会话的表示;推荐单元将会话表示和会话表示和物品的初始化进行点积计算得分排序,推荐得分最高的k个物品。技术效果
16.相比现有的超图卷积在构图时,仅仅根据物品的出现次数分配权重。本发明基于时间感知的超图图卷积,在学习到物品表示后,可以更好的刻画物品间的关系,在最后进行
预测时,可以有效的提高预测准确度以及平均倒数排名,不仅考虑出现次数还考虑物品之间的时间间隔,从而使权重的计算更具有意义。相邻时间越短的物品之间的权重越高。然后通过卷积运算可以获得每个物品的全局图表示。
附图说明
17.图1为本发明流程图;
18.图2为实施例时间感知的超图图卷积推荐模型结构示意图;
19.图3为本发明提出的时间感知的超图卷积示意图。
具体实施方式
20.如图1所示,为本实施例基于时间感知的超图图卷积会话推荐方法,包括:
21.步骤1)数据预处理:会话中保留每个物品的标识和发生交互的时间戳,即[《item1,time1》,《item2,time2》

],其中item2表示会话中某个物品,time2表示对应物品的时间戳,会话中所有物品按时间顺序排列。首先需要对会话数据进行清洗,去除可能存在的噪声,例如出现次数过少的物品,只含有一个物品的会话。然后对每一个会话,根据物品的交互时间进行排序,先发生交互的物品排在前面。同时对数据进行增强处理,对每个长度为n的会话,生成n-1个子序列,并用该子序列后一个物品作为该子序列的目标物品。
[0022]
步骤2)通过时间感知的超图图卷积技术,首先构建基于时间感知的超图和局部图,具体步骤包括:
[0023]
2.1)在超图的一条超边中,可能包含多于两个节点。一个会话通常包含多个物品以及对应的时间戳,在本实施例中将每个物品建模成一个节点,每个会话建模成一条超边,会话中的物品按照时间顺序排序。在超图中,只要两个节点共同出现在一条超边中就在每两个节点之间连一条边,边的权重由这两个物品的共同出现次数和它们在不同会话中的时间间隔共同决定。本实施例设定所有会话和所有物品的数量分别是m和n,即|e|=m和|v|=n。
[0024]
2.2)在由单个会话构成的局部图中,某些物品可能出现多次从而有多个后继节点。将某个物品v的所有后继节点在该会话中的索引统计出来,记为后继节点索引集合ds(v)={j+1|vj=v,v
j+1
≠v,vj∈s,v
j+1
∈s},其中:vj表示会话中第j个物品,该集合里的元素为物品v所有后继物品的下标的集合。
[0025]
2.3)后继节点索引集合用来在时间感知的局部图中,为每条边计算权重并进行归一化处理。
[0026]
步骤3)构建并训练如图2所示的基于时间感知的超图推荐模型,该超图推荐模型包括:输入层、全局表示学习层、局部表示学习层、会话表示生成层和推荐结果生成层,其中:输入层以超图和局部图中的所有节点作为输入,为每个节点随机生成一个向量x作为该节点的初始化表示,同时为不同的时间间隔区间初始化一个向量c作为该区间的表示;全局表示学习层通过多层卷积得到物品的全局表示;局部表示学习层利用图注意力网络动态的捕捉一个会话内不同物品的相关性,通过对一个点周围邻居表示的聚合得到该物品的局部表示;会话表示生成层融合全局表示和局部表示,生成代表该会话的嵌入表达;推荐层计算该会话的表示和每个物品的初始化表示的相似度为每一个候选物品打分并推荐得分最高
的物品。
[0027]
所述的物品的全局表示是指:根据时间感知的超图图卷积计算得到的物品表示,对于每个会话中,将其表示成在计算权重时,为将物品的出现次数和时间间隔均考虑进去。通过两个矩阵维度分别表示点到会话的权重分配以及会话到点的权重分配,具体为:其中表示会话∈中第i个物品的时间戳,t

表示会话中最后一个物品点击发生的时间戳。
[0028]
为保证任两个物品在不同会话中的时间感知权重是一个小于1的数,再设计一个函数φ(
·
),当x《1时,φ(x)=x,当x》1时,通过矩阵运算获得每两个物品间的权重,具体为:其中:f是新定义的函数,i,j表示矩阵的下标,每一项由两个物品在它们共同出现的会话中的时间间隔决定。利用前面提到的设计的矩阵,再通过定义的矩阵运算,可以得到物品的关系矩阵,该矩阵元素可以表示任意两个物品间的权重,该权重不仅考虑物品的共同出现次数还考虑任意会话内的物品的时间价格。这样在进行图卷积时,共同出现次数越多时间间隔越短的物品间的权重将会越大,因此相比较于现有的超图卷积,时间感知的超图图卷积更能考察物品之间的依赖关系,学习到更好的物品表示。
[0029]
通过多层卷积得到每层全局的物品表示其中:τ表示激活函数,rn(
·
)表示行归一化函数,p
(l)
为可训练参数,l表示层数,最终将每一层结果相加得到最终的全局物品表示
[0030]
所述的物品局部表示,具体通过以下方式得到:
[0031]
i)为每条边计算时间感知的权重:其中:表示会话s中第i个物品的时间戳,1表示示性函数,当里面判断条件为真时返回1,否则返回值0,d(vi)表示前面提到的后继节点索引集合。该权重是对物品的时间间隔权重根据物品的出现次数加权求和得到。
[0032]
ii)运用图注意力网络来动态的计算图中每两个点之间的相似度ii)运用图注意力网络来动态的计算图中每两个点之间的相似度其中:表示不同的边的种类,本实施例中分为两个单向,自环,双向一共四类,对不同种类的边分别计算注意力分数,是物品的表示,w
ij
代表边的向量。α
ij
为计算得到的相似度分数,e
ij
是对α
ij
进行softmax归一化后得到的值。
[0033]
iii)通过对一个点周围邻居表示的聚合得到该点的最终局部表示
[0034]
所述的嵌入表达是指:根据上述生成的物品的全局表示和局部表示生成最终的物品表示,再根据会话中每个物品的表示生成最终的会话嵌入表达。具体为:对物品的局部表
示和全局表示进行融合:其中:和分别表示物品的局部表示和全局表示,融合后得到物品最终的嵌入表示
[0035]
在一个会话中,不同的物品对将要预测的物品的影响力不同。一般来说,距离推荐时刻越近的物品,对目标物品(下一时刻的物品)的影响力越大。为更高的度量在时间上距离推荐时刻不同的物品对目标物品的影响力,本实施例设计时间间隔嵌入c,并通过一个mlp网络将时间间隔嵌入和物品的表示融合其中:和是对应的物品最终表示和时间间隔表示,w1和b1是可训练参数。首先计算每个物品表示的平均值s
ave
,然后通过注意力机制获得该会话的最终表示:其中:w2,w3,b2和是可训练参数,βi为计算得到的注意力得分,s为最终为每个会话生成的表示。
[0036]
所述的得分最高的物品是指:将会话表示和物品的表示计算相似度得分后具体是指:计算其中:表示物品的初始化表示向量,为计算得到的最终候选物品的得分。取出最高的k个进行推荐。
[0037]
所述的训练,使用交叉熵作为损失函数:所述的训练,使用交叉熵作为损失函数:其中:yi表示物品真实的得分,即对于正样本得分为1,负样本得分为0。
[0038]
在基于时间感知的超图中,由于参数过多,在反向求导是收敛速度很慢,而在局部图中,由于只聚合一个会话内的物品信息,收敛速度很快。所以当同时训练这两张图效果不能达到最优。当超图收敛时局部图可能会发生过拟合。在本实施例中,先对超图(基于时间感知的超图)进行训练,即只使用完成推荐预测,当网络收敛一定程度时再加入局部图物品的表示将两张图一起训练。这样可以让两部分同时收敛达到最优结果。
[0039]
经过具体实际实施例,在从实际生活中采集的两个数据集diginetica以及yoochoose下,将本发明和已有方法进行对比。其中数据集diginetica有7194700个会话用于训练,60858个会话用于测试,总共涉及到43097个物品。数据集yoochoose有369859个会话用于训练,55898个会话用于测试,总共涉及到17745个物品。本方法中全局物品表示学习单元中的网络层数设置为3,局部物品表示学习单元的网络层数设置为1。所有物品的表示向量维度设置为100。分别在得分最高的前20个物品上的命中率和平均倒数排名两个指标上进行比较,能够得到的实施例数据如下表所示:
[0040]
与现有技术相比,本发明在两个数据集上,分别在两个指标命中率以及平均倒数排名上取得不错的提升。命中率是指推荐物品中正确物品的频率,此指标越高表示推荐效果越好。平均倒数排名指的是推荐列表中正确物品的位置的倒数之和,此指标越高表示推荐效果越好。
[0041]
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1