1.一种基于图神经网络的项目信息服务推荐方法,其特征在于,包括以下步骤:步骤1、获取数据集;
步骤2、构建二部图;
步骤3、构建M-LGACL模型,包括特征向量初始化模块、Mixup数据增强模块、轻量化图卷积层、交叉注意力机制、对比损失学习模块;
步骤4、通过对步骤3构建好的M-LGACL模型不断迭代,生成训练好的M-LGACL模型;
步骤5、通过计算召回率及归一化折损累计增益对模型性能进行评估;
步骤2中二部图构建的具体过程如下:
S21、命名实体抽取:利用自然语言处理技术从数据集中识别并提取出命名实体;命名实体包括项目名称、用户、商家、位置信息;
S22、关系抽取:对于已识别的命名实体,通过分析它们在数据中的关联性,抽取出实体间的关系;
S23、属性抽取:在抽取出命名实体和关系后,进一步提取每个命名实体的属性信息;属性信息包括项目的类别、价格、用户的偏好和商家的评分;
S24、将命名实体、关系和属性信息结合,完成用户项目的二部图构建;
特征向量初始化模块是将用户u和项目i的嵌入矩阵分别建成一个整体嵌入矩阵,具体表达式如下:式中,嵌入向量表示用户u的特征,嵌入向量表示项目i的特征,表示实数集,d表示嵌入向量的维度,表示用户u的整体嵌入矩阵,表示项目i的整体嵌入矩阵;
Mixup数据增强模块具体为:选择两个相似的用户训练样本和或相似的项目训练样本和,生成一个新的训练样本或,这里和分别是两个用户的嵌入向量,和分别是项目的嵌入向量具体表达式如下:式中,是一个从Beta分布Beta(,)中随机采样得到的值,;
轻量化图卷积层的操作过程具体为:
首先,将用户u和项目i在初始时的嵌入和进行聚合,具体表达式如下:然后,通过叠加多层图卷积聚合不同距离的邻居信息,形成最终的用户和项目嵌入、,具体表达式如下:最后,将嵌入的传播过程通过矩阵形式表示,具体如下:定义用户-项目交互矩阵为,其中,M 和N分别表示用户和项目的数量,如果u与i交互,则R为1,否则为0;则用户-项目交互的邻接矩阵如下:其中T是嵌入大小,给定第0层的嵌入矩阵,嵌入的传播过程通过下述矩阵形式的公式描述,具体如下:式中,和分别表示第k层是用户u和项目i的嵌入,和分别表示用户u和项目i的邻居集合,K是图卷积的层数,是第k层的最终嵌入中的权重,表示第k层的节点嵌入矩阵,每一列代表图中一个节点的嵌入向量,A是图的邻接矩阵;D是一个的对角矩阵,是进行归一化处理的操作;
交叉注意力机制具体为:对于每个用户u和项目i定义用户的查询、键、值为,,,项目的查询、键、值为,,;然后,通过如下方式计算交叉注意力,包括用户查询、项目的键、项目的值、用户对项目的注意力权重,具体计算表达式如下:式中,、、表示权重矩阵,表示用户的特征,表示项目的特征,表示是键向量的维度;
对比损失学习模块包括Triplet Loss的设计和优化,具体为:Triplet Loss的表达式如下:
通过InfoNCE对Triplet Loss进行优化,具体表达式如下:式中,是输出的一个用户向量,是一个正样本项目向量,表示用户喜欢的项目,是一个负样本项目向量,表示用户不喜欢的项目,是一个预先定义的间隔参数,用于控制正样本对与负样本对之间的距离差异,d( , )是距离度量函数,用来衡量向量和、之间的距离或相似度,是温度参数,控制相似度的尺度;
步骤5中召回率的计算表达式如下:
式中,表示实际为正例且被预测为正例的样本数,表示实际为正例但被预测为负例的样本数;
归一化折损累计增益的计算表达式如下:
式中,表示推荐结果在位置i的相关性得分,表示推荐结果在排名列表中的位置顺序,是位置i的折损因子,表示折损累计增益,表示理想折损累计增益。