System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于知识图谱和增量学习的物品实时推荐方法及系统技术方案_技高网

一种基于知识图谱和增量学习的物品实时推荐方法及系统技术方案

技术编号:40941382 阅读:23 留言:0更新日期:2024-04-18 14:58
本发明专利技术公开一种基于知识图谱和增量学习的物品实时推荐方法及系统。本发明专利技术通过有针对性地处理和训练新增用户交互数据,实现对新增用户物品交互的实时推荐,并为与物品交互稀疏的用户提供高准确率的推荐。本发明专利技术充分利用知识图谱的信息,深度理解用户和物品特征,并在此基础上对与物品交互稀疏的用户进行初始化特征表示和微调;在处理新增用户物品交互时,无需训练整个数据集,从而显著降低了训练成本,并在保持高准确率的同时实现实时推荐。此外,对冷启动用户仅需少数几条与物品的交互数据即可提供高准确率的推荐,有效提升冷启动场景下的性能。

【技术实现步骤摘要】

本专利技术属于兴趣推荐,尤其涉及一种基于知识图谱和增量学习的物品实时推荐方法及系统


技术介绍

1、常用的物品推荐方法主要有基于内容的推荐方法、基于协同过滤的推荐方法以及基于知识图谱的推荐方法。基于内容推荐方法的主要思想是通过分析物品的特征和用户的喜好,推荐与用户过去喜好相似的物品,缺陷为对物品特征的获取难度大和无法挖掘用户的潜在兴趣。基于协同过滤推荐方法的主要思想是基于用户行为相似性或物品相似性进行推荐,其缺陷包括冷启动、稀疏性、难以处理长尾项等问题。为了解决上述问题,学者们提出了基于知识图谱的推荐方法,如kgcn、kgat、ripplenet,知识图谱是一种富含实体之间语义关联信息的异构网络,为每个实体和关系学习低维向量,作为推荐系统的辅助信息,可以有效地提高推荐结果的准确性、多样性以及可解释性,优化冷启动效果。

2、基于知识图谱的物品推荐方法的基本思想是结合用户行为数据和丰富的知识图谱信息,通过学习知识图谱中实体和关系的语义表示,以捕捉用户兴趣和物品之间的关联关系。利用图卷积网络(gcn)等技术,算法在推荐模型中融入图结构,使得推荐更具个性化和准确性,能够更好地满足用户的需求,提升推荐系统的性能。

3、当前,基于知识图谱的物品推荐方法在准确性方面已经取得显著进展。然而,在实时推荐和冷启动场景中,提升算法性能成为当务之急,而不仅仅是提高推荐准确率。在实际应用中,用户与物品的交互不断增加,kgcn等传统推荐方法无法即时对新增的物品交互数据进行训练。需要定期进行全量训练,但这会导致两个问题:一方面,时效性差,模型无法对用户新增交互数据及时作出调整;另一方面,全量训练的频率难以把握,过快会增加计算负担,而过慢则会导致模型准确率下降,无法反映用户最新的喜好变化。这带来了多个劣势,包括巨大的计算资源消耗,高昂的成本,以及随着数据集规模扩大,训练时间逐渐延长,导致实时性降低。因此,迫切需要找到一种有效的方法,在有新增用户与物品交互时,通过少量数据的训练迅速获取或更新用户表示,并在此过程中保持较高的推荐准确率,这是一项亟待解决的挑战。


技术实现思路

1、本专利技术针对现有技术的不足,提出了一种基于知识图谱和增量学习的实时物品推荐方法及系统。该方法融合了知识图谱和增量学习,通过利用预训练的知识图谱推荐模型,成功实现对新增用户特征的准确预估;同时,通过对用户个人新增交互数据进行微调,校正用户特征表示,从而有效解决了新增用户与物品交互情境下的用户特征表示问题。这一创新性方法在实时推荐和冷启动问题上取得了显著效果。

2、为解决前述技术问题,第一方面,本专利技术提供以下技术方案实现一种基于知识图谱和增量学习的实时物品推荐方法,通过融合知识图谱推荐和增量学习,有效解决了实时推荐和冷启动问题。该方法包括以下步骤:

3、步骤1:生成数据集和知识图谱;

4、获取用户与物品的交互数据集,将交互数据集划为预训练数据集和增量学习数据集;再将预训练数据集划分为训练集、验证集、测试集,将增量学习数据集划分为训练集、测试集;

5、根据物品相关的实体和关系构建知识图谱g;

6、步骤2:搭建kgcn-fm知识图谱推荐模型,使用预训练数据集进行预训练学习;具体是:

7、获取交互数据集中全部用户、物品,以及知识图谱g中全部实体、关系;

8、获取物品v在知识图谱g中的邻居节点ej及物品v与邻居节点之间的关系使用用户u和关系的内积表示用户u对关系的偏好程度,作为关系的权重

9、使用fm因子分解机算法,计算权重的二阶交叉项,作为邻居节点的权重

10、通过计算物品v邻居节点的向量线性和,整合邻居节点信息,作为物品v邻居的融合特征表示

11、融合物品v和它的邻居节点的特征表示,得到物品特征向量vu;

12、

13、其中w表示全连接权重参数,b表示偏置项,σ表示非线性激活函数;

14、通过对用户u和物品特征向量vu做内积,得到用户u对物品v的预测评分

15、步骤3:对步骤2预训练后的kgcn-fm知识图谱推荐模型进行增量学习

16、3-1将增量学习数据集中训练集的用户分为新用户unew和已有用户uold;

17、3-2初始化新用户的特征向量表示;

18、由于新用户unew交互的物品v只有一个,因此从预训练数据集中获取与当前新用户对当前物品有相同评分的所有用户ug;

19、在预训练后的kgcn-fm知识图谱推荐模型中分别计算每个用户ug和物品v的预测评分,选取预测评分最高的前k个用户ug,然后对前k个用户ug的向量表示进行加权求和,作为新用户unew的初始特征向量表示;其中权重为前k个用户ug对物品v的预测评分;

20、对预训练后的kgcn-fm知识图谱推荐模型进行用户向量usr_embedding相关的模型参数进行训练调整;

21、3-3训练已有用户特征向量表示:

22、构建已有用户增量学习的训练集和测试集;

23、训练集中数据分为正样本和负样本;

24、所述正样本采用已有用户与物品前n条交互数据中预测评分为感兴趣的npositive条交互数据;

25、所述负样本采用在已有用户交互的负样本物品池中随机选取npositive个物品;

26、负样本物品池的计算公式如下:

27、

28、其中,vall表示所有物品,表示当前已经用户前n个交互中的所有物品,vsimilar表示与当前用户相似度最高的前nsimilar个用户交互的所有物品,vnegative表示当前已有用户交互的负样本物品池;

29、用户相似度是使用用户向量之间计算内积得到的值,值越大,越相似;

30、对预训练后的kgcn-fm知识图谱推荐模型进行用户向量usr_embedding相关的模型参数进行训练调整;

31、3-4验证增量学习效果;

32、使用增量学习数据集中测试集对增量学习预训练后的kgcn-fm知识图谱推荐模型进行测试;

33、步骤4、利用增量学习后的kgcn-fm知识图谱推荐模型实现对物品的推荐;

34、作为优选,物品v邻居的融合特征表示的计算如下:

35、

36、其中是通过softmax得到的归一化用户关系权重得分;

37、作为优选,用户u对物品v的预测评分计算如下:

38、

39、其中f表示内积操作。

40、第二方面,本专利技术提供物品实时推荐系统,包括增量学习后的kgcn-fm知识图谱推荐模型。

41、第三方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。

42、第四方面,本专利技术提供一种计算设备,包括存储器和处理器,所述存储器中存储有本文档来自技高网...

【技术保护点】

1.一种基于知识图谱和增量学习的物品实时推荐方法,包括以下步骤:

2.根据权利要求1所述方法,其特征在于步骤2具体是:

3.根据权利要求2所述方法,其特征在于物品v邻居的融合特征表示的计算如下:

4.根据权利要求2所述方法,其特征在于物品特征向量vu具体计算如下:

5.根据权利要求2所述方法,其特征在于用户u对物品v的预测评分计算如下:

6.根据权利要求2所述方法,其特征在于用户相似度采用用户向量之间计算内积得到的值。

7.根据权利要求1所述方法,其特征在于负样本物品池的计算公式如下:

8.实现权利要求1-7任一项所述方法的物品实时推荐系统,其特征在于包括增量学习后的KGCN-FM知识图谱推荐模型。

9.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。

10.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。>...

【技术特征摘要】

1.一种基于知识图谱和增量学习的物品实时推荐方法,包括以下步骤:

2.根据权利要求1所述方法,其特征在于步骤2具体是:

3.根据权利要求2所述方法,其特征在于物品v邻居的融合特征表示的计算如下:

4.根据权利要求2所述方法,其特征在于物品特征向量vu具体计算如下:

5.根据权利要求2所述方法,其特征在于用户u对物品v的预测评分计算如下:

6.根据权利要求2所述方法,其特征在于用户相似度采用用户向量之间计算内积得到的值。

【专利技术属性】
技术研发人员:黄孝喜刘磊姚金良
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1