1.一种基于特征交互图神经网络的上下文感知推荐方法,其特征在于,该方法是通过构建上下文感知图神经网络模型建立上下文环境与用户以及上下文环境与项目的交互关系,提高推荐系统预测的准确性和可解释性;具体如下:S1、从数据集中获取用户、项目及上下文的特征数据;
S2、根据历史记录将数据集划分为上下文-用户数据集和上下文-项目数据集;
S3、分别对上下文-用户数据集和上下文-项目数据集进行one-hot编码和embedding嵌入;
S4、构造上下文-用户和上下文-项目特征图;
S5、分别对上下文-用户特征图和上下文-项目特征图中的节点进行初始化表示;
S6、分别对上下文-用户特征图和上下文-项目特征图中的节点进行特征交互建模;
S7、构建图神经网络输出层,得到预测结果。
2.根据权利要求1所述的基于特征交互图神经网络的上下文感知推荐方法,其特征在于,所述步骤S1中从数据集中获取用户、项目及上下文的特征数据具体如下:根据用户已完成活动的历史记录建立数据集,从数据集中选取用户、项目和不同的上下文环境信息,进而获取特征数据;其中,数据集表示如下:X∈{u,v,c1,c2,...,ck};
其中,u表示用户特征字段;v表示项目特征字段;c表示上下文环境字段;ck表示第k个上下文环境特征;k∈{0,1,2,...,K},表示最多有K个上下文环境特征;xi表示X中任一个特征字段,i∈{0,1,2,...,m},m=K+2;
所述步骤S2中上下文-用户数据集和上下文-项目数据集分别表示为Xu∈{u,c1,c2,...,ck}和Xv∈{v,c1,c2,...,ck}。
3.根据权利要求1所述的基于特征交互图神经网络的上下文感知推荐方法,其特征在于,所述步骤S3中分别对上下文-用户数据集和上下文-项目数据集进行one-hot编码和embedding嵌入具体如下:S301、将每个字段表示为一个one-hot编码向量;
S302、将one-hot编码向量输入到embedding层得到上下文-用户特征嵌入向量Eu,c和上下文-项目特征嵌入向量Ev,c,公式如下:其中,eu、ev和eck分别表示字段u、v、ck的嵌入向量,eu∈RD,ev∈RD, D表示字段嵌入向量的维数。
4.根据权利要求1所述的基于特征交互图神经网络的上下文感知推荐方法,其特征在于,所述步骤S4中构造上下文-用户和上下文-项目特征图具体如下:S401、将各节点之间的关系表示为图结构:根据数据集构造一个上下文-用户及上下文-项目交互图G=(N,ε);交互图中每个节点,使得|N|=|X|,X表示输入数据量;ε表示两个节点ni-1和ni的边;
S402、交互图是一个加权完全连通图,即每两个节点是双向互动,边的权值反映不同特征域之间的交互影响,根据训练集计算不同特征字段之间有向边的权值,公式如下:其中,w(ni,nj)表示从节点ni到节点nj的权重值; 表示节点特征xi和节点特征xj的共现频率; 表示节点特征xi的出现频率。
5.根据权利要求1所述的基于特征交互图神经网络的上下文感知推荐方法,其特征在于,所述步骤S5中分别对上下文-用户特征图和上下文-项目特征图中的节点进行初始化表示具体如下:S501、初始节点状态为输入特征图的节点状态,即字段嵌入向量;
S502、利用字段的嵌入向量作为对应节点的初始状态向量,形式化 和 公式所如下:其中, H表示图的隐藏状态向量,图是由
多个节点构成,H∈R(m-1)×D; 表示上下文-用户交互图中各节点的初始状态向量; 表示上下文-项目交互图各节点的初始状态向量;e表示节点嵌入向量;h表示节点隐藏状态向量,h∈RD。
6.根据权利要求1所述的基于特征交互图神经网络的上下文感知推荐方法,其特征在于,所述步骤S6中特征交互建模是指节点与邻居交互并以循环的方式更新各自的状态,在每个交互步骤中,每个节点将先聚合来自邻居的已转换状态信息,再通过GRU和剩余连接根据聚合的信息和历史更新各自的状态;具体如下:S601、每个节点都与一个隐藏的状态向量相关联,公式如下:其中, 表示上下文-用户交互图中各节点状态集合; 表示上下文-项目交互图各节点状态集合:t表示相互作用的步骤;
S602、边ni→nj从节点ni到节点nj的变换函数公式如下:其中,Wout表示输出矩阵;Win表示输入矩阵; 表示CA-GNN中的每个节点ni与不同节点间的双向交互影响;
S603、节点接收到的邻居状态 公式如下:
其中,bp表示所有边上共享线性变换的权值和偏差;A[vj,ni]表示邻接矩阵;
S604、接收到状态信息 后,节点ni的状态将更新如下,更新过程如以下公式所示:其中,Wz、Wr、Wh、bz、br、bh为更新函数的权值和偏差,与门控递归单元(GRU)相似; 和分别是更新门矢量和重置门矢量;
S605、通过剩余连接进行状态更新:门控递归单元输出的节点隐藏状态 公式如下:
7.根据权利要求1-6中任一所述的基于特征交互图神经网络的上下文感知推荐方法,其特征在于,所述步骤S7中构建图神经网络输出层,得到预测结果具体如下:S701、经过T步骤的传播得到经上下文-用户交互和上下文-项目交互所产生的节点隐状态,公式如下:其中,T与t的含义相同,均表示相互作用的步骤;
S702、将新的上下文-用户交互和上下文-项目交互所产生的节点隐状态进行合并得到混合节点隐状态值,公式如下:其中,w表示混合节点矩阵权重值;H∈R2(m-1)×D;m表示特征域数量,D表示字段嵌入向量的维数;
S703、节点与节点的T序列邻居交互,对T序列特性交互进行建模并构建一个图形级的输出层来预测评分值;
S704、每个字段节点都与自身外的其他特征进行交互,并最终捕获了全局状态信息,再分别通过每个字段的最终状态进行评分,并使用一个注意力机制来衡量每个字段对整体预测的影响;具体如下:S70401、每个节点ni及其注意节点权重的预测得分可以通过多层感知器层和注意力机制层分别得到,公式如下:其中,MLP1用于对全局感知的每个字段的预测分数进行建模;MLP2用于对每个字段的权重进行建模;
S70402、输出的评分预测函数,公式如下:
其中,wo和bo分别表示输出函数的权重值和偏差值,是实际训练数据集中的评分次数;σ(·)表示sigmoid函数;
S70403、损失函数公式如下:
当损失函数取得最小值时,得到最优的训练参数。
8.一种基于特征交互图神经网络的上下文感知推荐系统,其特征在于,该系统包括,获取模块,用于从数据集中获取用户、项目及上下文的特征数据;
划分模块,用于根据历史记录将数据集划分为上下文-用户数据集和上下文-项目数据集;
编码及嵌入模块,用于分别对上下文-用户数据集和上下文-项目数据集进行one-hot编码和embedding嵌入;
构造模块,用于构造上下文-用户和上下文-项目特征图;
初始化模考,用于分别对上下文-用户特征图和上下文-项目特征图中的节点进行初始化表示;
交互建模模块,用于分别对上下文-用户特征图和上下文-项目特征图中的节点进行特征交互建模;
输出模块,用于构建图神经网络输出层,得到预测结果。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
其中,所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的基于特征交互图神经网络的上下文感知推荐方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行时,实现如权利要求1至7中所述的基于特征交互图神经网络的上下文感知推荐方法。