掌桥专利:专业的专利平台
掌桥专利
首页

一种基于图神经网络的推荐方法

文献发布时间:2024-04-18 19:58:26


一种基于图神经网络的推荐方法

技术领域

本发明属于智能推荐领域,特别是涉及一种基于图神经网络的推荐方法。

背景技术

随着信息时代的到来,信息总量爆炸式增长,已经超出了人类能够及时处理或有效利用的程度。面对层出不穷的复杂信息,推荐系统能克服信息过载,帮助用户获取真正需要的信息。此外推荐系统也广泛应用在新闻、电影以及商品等领域。因此,在当前大数据背景下,精确和个性化推荐用户需求的智能系统变得格外重要。

现有的大多数推荐方法仍然存在推荐系统冷启动、数据稀疏性和推荐解释性不足等问题;且目前常见的推荐方法对于热门物品推荐效果较好,但对于长尾物品的推荐效果不佳;目前推荐方法往往只能推荐与用户历史行为类似的物品,而忽略了物品之间的差异性,导致推荐出的物品过于同质化。

目前基于图神经的推荐算法也存在三个主要问题:1.忽略了用户在关系中有不同的个性化兴趣;2.专注于从知识图谱中提取信息,但忽略了用户-项目历史互动中包含的交互信息;3.引入其他复杂的模型作为辅助工具,这引发了参数和计算复杂性的急剧增加导致训练时间长、计算资源消耗大等问题。

因此,需要开发出一种适用于多种场景的智能推荐方法,以提供个性化的推荐服务,并增加推荐结果的可解释性,提高推荐结果的质量和用户体验。

发明内容

本发明的目的是提供一种基于图神经网络的推荐方法,以解决上述现有技术存在的问题。

为实现上述目的,本发明提供了一种基于图神经网络的推荐方法,包括以下步骤:

为每个用户、项目和关系分别分配一个初始嵌入向量;

将初始化的用户向量和项目向量输入到图神经网络中进行处理,获得对应的更新后用户向量和更新后项目向量;

将所述更新后用户向量、更新后项目向量以及初始化的关系向量输入到图神经网络中进行二次处理,获得对应的二次更新后用户向量和二次更新后项目向量;

将获得的全部的二次更新后用户向量和二次更新后项目向量分别进行加权处理,获得最终的用户向量和最终的项目向量;

对最终的用户向量和最终的项目向量进行点积运算,获得用户对对应项目的交互概率,生成推荐结果。

可选地,获得对应的更新后用户向量和更新后项目向量的过程包括:基于用户项目交互矩阵构建用户项目二部图;基于所述用户项目二部图获取待更新用户周围项目节点的数量,以及待更新项目周围用户节点的数量;基于所述待更新用户周围项目节点的数量,获得更新后用户向量;基于所述待更新项目周围用户节点的数量,获得更新后项目向量。

可选地,构建用户项目二部图的过程包括:

构建用户项目二部图的过程包括:基于用户项目交互矩阵,创建用户节点和项目节点,并基于用户和项目之间的互动,在对应的用户节点和项目节点之间添加一条边;然后基于用户和项目之间的互动强度,为每条边分配一个权重,完成用户项目二部图的构建。

可选地,获得更新后用户向量的公式为:

获得更新后项目向量的公式为:

其中,

可选地,获得对应的二次更新后用户向量和二次更新后项目向量的过程包括:获取知识图谱向量,将所述知识图谱向量以及更新后用户向量输入到图神经网络,分别获得对应的第一注意力表示和第二注意力表示;基于所述第一注意力表示,获得二次更新后项目向量;基于所述第二注意力表示,获得二次更新后用户向量。

可选地,获得第一注意力表示的过程包括:将更新后用户向量与初始化的关系向量进行点积运算,获得第一运算结果;将更新后项目向量与初始化的关系向量进行点积运算,获得第二运算结果;对所述第一运算结果和第二运算结果进行加权和归一化处理,获得第一注意力表示。

可选地,获得第二注意力表示的过程包括:获取第一特征转化矩阵、第二特征转化矩阵和第三特征转化矩阵,将更新后用户向量分别与所述第一特征转化矩阵、第二特征转化矩阵和第三特征转化矩阵进行点积运算,获得对应的第一向量、第二向量和第三向量;对所述第一向量和第二向量进行点积运算,并对运算的结果进行归一化处理,将获得的归一化分数与第三向量进行加权求和获得第二注意力表示。

可选地,获得二次更新后项目向量的过程包括:对所述更新后项目向量和第一注意力表示进行求和,获得二次更新后项目向量;

可选地,获得二次更新后用户向量的过程包括:对所述更新后用户向量和第二注意力表示进行求和,获得二次更新后用户向量。

本发明的技术效果为:

1.本发明通过运用图神经网络,可以更准确地理解用户的兴趣和需求,实现了更具个性化的推荐,满足用户独特需求。

2.本发明通过引入注意力机制能够捕捉用户和项目之间的复杂关系,使推荐更加精准,用户更有可能对推荐内容感兴趣。

3.本发明在对用户向量和项目向量进行二次更新时,引入了知识图谱,能够实现用户信任和用户体验感提升的可解释性。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本发明实施例中的推荐方法流程示意图;

图2为本发明实施例中的电影推荐系统中基于图神经推荐方法的网络架构示意图;

图3为本发明实施例中的电影推荐系统的模块结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

实施例一

如图1所示,本实施例中提供一种基于图神经网络的推荐方法,具体按照如下步骤进行:

步骤1:为每个用户e

步骤2:将步骤1中初始化的用户

步骤3:将步骤2输出的用户

步骤4:重复上述步骤2,3,得到多个用户

步骤5:将步骤4得到的用户

进一步地,步骤2具体包括:

步骤21:利用用户项目交互矩阵构建用户项目二部图;

进一步地,步骤21具体包括为:

用户项目交互矩阵建立:通过用户行为日志、用户反馈调查、用户购买历史、用户社交媒体数据等方法监测用户在平台上的活动,如点击、浏览、购买、评分、评论、分享、喜好等行为,整理用户与项目之间的各种互动行为或反馈数据。将用户项目之间的积极互动行为标记为1,非积极互动行为标记为0,形成用户项目交互矩阵。

根据上述用户项目交互矩阵,构建用户项目二部图。具体的,基于用户项目交互矩阵,创建用户节点和项目节点。每个用户和项目都在图中表示为一个节点。确保每个节点都有唯一的标识符。接下来,根据用户项目交互矩阵,为二部图添加边。通常,如果用户与项目之间存在互动,就在它们之间添加一条边。例如,如果用户A给项目X评了分,就在用户A节点和项目X节点之间添加一条边。对于每条边,可以分配一个权重,该权重反映了互动的强度或重要性。

在这个图中,用户和项目分别形成两个不重叠的节点集。每个用户节点与矩阵的行对应,每个项目节点与矩阵的列对应。接着,对于用户项目交互矩阵中有交互记录为1的用户与项目,两者之间添加一条权重为1的边连接。

步骤22:通过二部图获取某一用户周围项目节点的数量得到

步骤23:利用步骤22结果,更新用户和项目的向量表示。

进一步地,步骤23具体包括为:

通过

通过

进一步地,步骤3具体包括:

步骤31:将知识图谱向量输入到图神经网络,得到注意力表示;

步骤32:将用户向量进行处理,得到自注意力表示;

步骤33:项目向量通过步骤31中的注意力表示更新项目向量,用户向量通过步骤32中的自注意力表示更新用户向量;

进一步地,步骤31具体包括为:

首先建立所需的知识图谱,通过从Wikidata中提取相关的实体(如电影、书籍、音乐、人物等)和它们的属性信息(如演员、导演、出版年份等),同时构建实体之间的关系,例如电影与演员之间的关联。接着,将用户的行为数据(例如用户的浏览历史、评分、购买记录)与知识图谱中的实体进行关联,形成用户-实体的连接。

为上述知识图谱中的每个实体e

将用户

将项目

将上述

通过

进一步地,步骤32具体包括为:

通过用户

通过Q

通过

进一步地,步骤33具体包括为:

通过

通过

进一步地,步骤4具体包括:

利用步骤3得到多个用户向量

利用步骤3得到多个项目向量

将多个用户向量通过

将多个项目向量通过

对比实验:

表1

根据表1所示,本发明方法始终在MovieLens-20M数据集、Last-FM数据集和Book-Crossing数据集上产生最佳推荐性能。在MovieLens-20M数据集上,与性能最好的基线LightGCN方法相比,召回率@20和归一化折损累计增益@20分别提高了14.41%和15.07%。在Last-FM数据集分别提高了8.86%和18.82%,在Book-Crossing数据集上分别提高了20.90%和22.80%。召回率是评估推荐系统在已知用户兴趣的情况下,能够多大程度地将这些兴趣纳入推荐列表的度量。召回率提升表示系统能够较全面地覆盖用户可能感兴趣的物品,减少了遗漏用户兴趣的情况,这对于确保用户不会错过可能喜欢的内容非常重要。

归一化折损累计增益是一种评估推荐系统排序质量的指标,考虑了推荐列表中物品的排名和相关性。归一化折损累计增益提升表示系统不仅提供了具有高相关性的物品,而且还将它们排在更高的位置,确保用户更容易看到和交互这些物品,这有助于提高用户满意度和点击率。

因此,召回率和归一化折损累计增益同时提升表明了本发明方法的推荐性能达到了良好的平衡:本发明方法不仅尽可能涵盖用户兴趣,还能够以更相关的方式呈现这些兴趣,提供了更富有吸引力的个性化推荐,这有助于提高用户体验,增加用户对推荐系统的信任,从而促进用户参与和交互。

这表明本发明方法善于将物品知识图中的互补信息合并到项目向量表示中,并深入了解不同用户的独特要求和潜在兴趣;因此,它能产生更好的推荐,从而提高推荐系统的性能。同时由于该方法加入了项目知识图谱和注意力机制,可以很好的缓解数据稀疏性问题和推荐系统解释不足的问题。

实施例二

如图2所示,在电影推荐系统中基于图神经推荐方法进行电影推荐的步骤包括:1.将用户信息、项目信息、知识图谱信息输入初始化向量层,将用户,项目以及实体都初始化为64维的向量表示,用户向量为

图3是基于图神经推荐方法中电影推荐系统的模块结构示意图。具体的,该电影推荐系统的结构包括:

召回模块,所述召回模块是推荐流程的第一步,它在整个数据集中筛选出部分内容,并将其发送给排序模块。这个步骤可以过滤掉大部分不符合用户兴趣的内容,从而减少待处理的候选集合数量,从而降低了排序模块的计算负担。在召回阶段,使用本实施例推荐方法,它能够高效地计算出包含用户感兴趣电影的候选集。具体而言,本实施例推荐方法能够学习到用户对电影的偏好和电影的特征,即潜在因素,通过计算用户和电影的潜在因素的内积,得到用户对电影的评分预测值。然后,选取排名前一定数量的电影作为候选集,将其发送到排序模块进行进一步处理。

排序模块负责对候选的电影集进行分类,使用本实施例推荐方法,系统在候选集的每部影片中插入一个用户-项目对,并得到一个预测结果,最后根据预测结果对影片进行排序。

业务策略模块是为了人为控制推荐名单而引入的一种额外方法。它负责在排名模块的输出中实施业务策略的某些预定义措施,如提高或降低某些影片的排名。业务政策可以通过根据预先定义的规则,如平台产品的预定排序,或者根据观众推荐的影片来调整影片的优先级来进行调整。

用户行为收集模块是用户在如下三种情况工作:第一,接收到推荐列表后,用户会选择点击或者观看某些电影,这是直接评判模型准确率的行为,会被作为实时训练的数据送入排序模型进行更新;第二,用户主动对电影进行评分或者评论,这都是召回模型算法需要的,会作为离线训练数据被保存下来。

历史信息记录模块负责将收集到的用户信息持久化到数据库中,这就是召回模型算法所需要的训练数据。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

相关技术
  • 一种基于循环神经网络的注释点推荐方法及系统
  • 基于图神经网络的推荐方法、推荐装置及推荐系统
  • 一种基于图神经网络的序列推荐系统及推荐方法
技术分类

06120116494667