融合双层知识图谱和多重损失的推荐方法

文档序号:37653099发布日期:2024-04-18 20:27阅读:8来源:国知局
融合双层知识图谱和多重损失的推荐方法

本发明属于用户推荐,具体涉及融合双层知识图谱和多重损失的推荐方法。


背景技术:

1、推荐算法能够帮助用户发现个性化兴趣内容。其目标在于利用用户的历史行为、兴趣和环境等信息,预测用户可能感兴趣的内容,并将这些内容呈现给用户,以提供更加个性化和精准的用户体验。在推荐算法的研究和应用领域,诞生了多种经典算法和技术,例如协同过滤、内容推荐和深度学习等。

2、然而,传统的推荐系统主要依赖于用户与物品之间的互动记录,因此存在数据稀疏和冷启动等问题。这些问题导致推荐系统难以准确捕捉用户的喜好,给用户带来不理想的体验。为了解决这些问题,研究人员开始在推荐模型中引入知识图谱的辅助信息;但是目前基于嵌入的推荐算法依赖于单个三元组的信息,这种方法无法充分捕捉知识图谱中实体和关系的复杂语义信息,导致嵌入表示的稀疏性。此外,单个三元组嵌入缺乏上下文信息,无法有效利用实体和关系之间的环境或背景信息。这种情况可能限制了嵌入表示的表达能力。


技术实现思路

1、本发明的目的在于提供融合双层知识图谱和多重损失的推荐方法,解决了现有技术中存在的推荐算法依赖于单个三元组的信息,无法充分捕捉知识图谱中实体和关系的复杂语义信息的问题。

2、本发明所采用的技术方案是,融合双层知识图谱和多重损失的推荐方法,具体步骤如下:

3、步骤1:通过基本三元组构建基本知识图谱与高级三元组,使用高级三元组与基本知识图谱构建双层知识图谱;

4、步骤2:对步骤1构建的双层知识图谱使用知识图谱嵌入技术,获取项目表示;

5、步骤3:根据步骤2获取的项目表示进行扩充用户-项目二部图,并根据项目表示构建用户正、负样本项目集,通过用户正、负样本项目集构建用户表示、多重损失函数、预测函数与预测损失函数;

6、步骤4:通过步骤3构建的多重损失函数与预测损失函数训练并优化用户表示,最终产生推荐结果。

7、本发明的特点还在于:

8、步骤1构建高级三元组的具体步骤如下:

9、使用基本三元组构建基本知识图谱,通过基本三元组基本关系使用无监督学习将基本知识图谱关系聚类为k个高级关系,如果两个基本三元组具有相同实体且关系被聚类成同一个高级关系时,两个基本三元组构成高级三元组的头、尾实体,从而组合为高级三元组。

10、步骤1中构建双层知识图谱的具体步骤如下:

11、给定一个项目知识图谱,使用g=(v,r,e)表示知识图谱,v表示实体集合,r表示知识图谱中的关系,e={(,r,t):∈v,r∈r,t∈v}表示三元组;

12、构建一个基础知识图谱g=(w,r,e),将基础关系进行聚类得到高级关系,用于描述多个三元组之间的联系,高级关系被定义为定义高级三元组为其中e是一组基础三元组,是连接基础三元组的一组高级关系;

13、指定一个基础知识图g=(v,r,e)、一组高级关系和一组高级三元组一个双层知识图谱被定义为

14、步骤2中知识图谱嵌入技术具体步骤为:

15、2.1:在基本知识图谱上定义基本三元组损失函数;

16、2.2:在高级知识图谱上定义高级三元组损失函数。

17、2.1的具体步骤为:

18、构建基本知识图谱的实体关系实体,在基本知识图谱上定义基本三元组损失函数,其基本三元组损失函数公式如下:

19、f(h,r,t)=||h⊥+r-t⊥||2         (1)

20、

21、式中,h、t表示基本三元组中的头、尾实体,r表示基本三元组中的关系,g()表示g(x)=log(1+ex),f(,r,t)评分函数。

22、2.2中高级三元组损失函数公式如下:

23、

24、式中,ti表示高级三元组的一个实体,其表示向量通过w[i,ri,ti]得到;w是维度为d×3d的投影矩阵,将基本三元组三个向量垂直拼接投影到d维空间;表示高级基本三元组,表示随机替换高级三元组的实体得到的损坏三元组。

25、步骤2中获取项目表示的具体步骤为:

26、使用基本三元组损失函数与高级三元组损失函数获取项目表示,具体公式如下:

27、lkg=lb+lh                  (4)

28、式中lb为基本三元组损失函数,lh为高级三元组损失函数。

29、步骤3中扩充用户-项目二部图的具体步骤为:

30、3.1:使用局部敏感哈希将项目表示映射到低维空间;

31、3.2:查询项目表示的相似项目,并记录;

32、3.3:使用相似项目进行扩充用户交互条目较少的用户。

33、步骤3中构建用户正、负样本项目集、用户表示、多重损失函数、预测函数与预测损失函数具体步骤为:

34、用户正负样本项目集构建如下:

35、用户正样本集包含用户的历史交互记录中喜欢的项目及与其相连的项目,用户负样本集包含用户历史交互记录中不喜欢的项目及与其相连的项目;最后从正、负样本集中进行随机采样得到用户正、负样本项目集;

36、获取用户表示的具体步骤如下:

37、得到用户正、负样本项目集之后,使用三元组表示用户表示,其中ui为用户的表示向量,表示采样得到的用户正样本项目表示向量,表示采样得到的负样本项目表示向量;

38、构建多重损失函数的具体步骤如下:

39、使用用户正、负样本项目集构建多重损失函数,具体公式如下:

40、

41、式中表示用户交互记录中喜欢的电影,表示采样的用户正样本,表示采样得到的用户负样本,d()表示欧式距离,计算用户和项目之间的距离;

42、构建预测函数的具体步骤如下:

43、通过项目表示和用户表示,预测用户对项目的喜好,预测函数公式如下:

44、y′ui=σ(f(u,i))                  (6)

45、式中μ是sigmoid函数,u是用户表示向量,i是项目表示向量;

46、预测损失函数具体公式如下:

47、lrs=∑u∈u,i∈vbveloss(sigmoid(yui,y′ui))   (7)

48、式中,bceloss是神经网络一个损失函数,sigmoid是一个函数,yui表示用户对项目的真实偏好,y′ui表示预测用户对项目的偏好。

49、步骤4具体步骤为:

50、通过用户多重损失函数和预测损失函数求和构成总损失函数,通过总损失函数训练并优化用户表示,公式如下:

51、lossz=lu+lrs                 (8)

52、通过多次训练用户表示,当lossz不在降低或变动很小时,停止训练,得到最终推荐结果。

53、本发明的有益效果是:

54、本发明融合双层知识图谱和多重损失的推荐方法,不用依赖于单个三元组的信息,可充分捕捉知识图谱中实体和关系的复杂语义信息,进行知识图谱嵌入时,考虑到基本三元组之间的联系,根据基本三元组之间联系构建高级三元组,融合基本三元组的上下文信息,增强项目表示;通过扩充用户-项目二部图和用户多重损失函数有效的表达了用户和项目之间的空间距离。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1