CN114817712A - 一种基于多任务学习和知识图谱增强的项目推荐方法 - Google Patents

一种基于多任务学习和知识图谱增强的项目推荐方法 Download PDF

Info

Publication number
CN114817712A
CN114817712A CN202210395173.2A CN202210395173A CN114817712A CN 114817712 A CN114817712 A CN 114817712A CN 202210395173 A CN202210395173 A CN 202210395173A CN 114817712 A CN114817712 A CN 114817712A
Authority
CN
China
Prior art keywords
vector
layer
index number
knowledge
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210395173.2A
Other languages
English (en)
Inventor
詹志辉
高敏
陈春华
张军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202210395173.2A priority Critical patent/CN114817712A/zh
Publication of CN114817712A publication Critical patent/CN114817712A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于多任务学习和知识图谱增强的项目推荐方法,其中,项目包括图书、电影、音乐、商品。相较于传统的项目推荐方法,本发明引入知识图谱,缓解了数据稀疏、精度不高等问题。本发明设计一个推荐模型EMKR,它使用一种多任务学习共享单元关联推荐模块和知识图谱嵌入模块。在推荐模块中,使用两部分建模策略,用注意力机制捕捉用户行为模式,并引入辅助向量扩展用户和项目的潜在表达能力;在知识图谱嵌入模块,区分了不同关系的重要性,使用图卷积网络挖掘知识图谱丰富的多关系语义。最后,交替训练EMKR,使用训练好的模型进行推荐。本发明公开的项目推荐方法具有较好的性能,尤其在稀疏的推荐场景下,效果显著提升。

Description

一种基于多任务学习和知识图谱增强的项目推荐方法
技术领域
本发明属于海量信息处理和智能技术领域,具体涉及一种基于多任务学习和知识图谱增强的项目推荐方法,其中,项目包括图书、电影、音乐、商品。
背景技术
随着互联网的迅速发展,数据呈指数增长,繁多的信息让用户难以从多样的数据中挑选他们感兴趣的东西。为了应对信息过载问题,提高用户的体验,推荐***应运而生。协同过滤是一种最流行的推荐技术,它利用了用户的历史交互计算用户之间的相似度,该技术认为以前具有相似的行为偏好的用户在未来也会具有相似的需求。但是传统的推荐往往面临着数据稀疏和冷启动的问题。所谓数据稀疏,就是指在用户-项目交互矩阵存在大量空白,因此难以根据历史记录计算相似度。所谓冷启动,就是指难以为一个新用户推荐项目或者难以将新的项目推荐给用户。
为了应对传统推荐技术的挑战,研究者提出了混合推荐,引入项目属性、评论、用户社交网络等辅助信息,研究已经证明合理利用辅助信息能够提高推荐的性能。近年来,引入知识图谱作为推荐的辅助信息吸引了关注。知识图谱本质是一个语义网络,节点表示实体,边代表关系。通过将推荐中的项目、用户和他们的属性映射到知识图谱,有助于更精准地捕捉用户的偏好,相较于传统的推荐,基于知识图谱的推荐赋予了推荐结果一定的可解释性。
基于知识图谱的推荐***的可行方式遵循这样的思路,采用知识图谱嵌入的技术将图谱的实体和关系嵌入到低维向量空间,并直接将知识图谱嵌入得到的有用向量作为项目或用户的增强。然而这种研究思路忽略了知识图谱嵌入任务和推荐任务的差异性,因此有待提供一种更适合推荐***的嵌入方法,并设计一种更有效的基于知识图谱的项目推荐方法。
发明内容
本发明的目的可以通过采取如下技术方案达到:
一种基于多任务学习和知识图谱增强的项目推荐方法,其中,所述项目包括图书、电影、音乐、商品,所述项目推荐方法具有以下步骤:
S1、数据准备:获取用户评分项目的历史记录,构造用户项目的隐式反馈矩阵
Figure BDA0003598593540000021
其中M是用户的个数,N是项目的个数,索引号为m的用户对索引号为n的项目有正向的偏好,m=0,1,…,M-1,n=0,1,…,N-1,则矩阵Y的第m行、第n列数值为1,否则为0;同时,构造知识图谱G={(head,relation,tail)|head,tail∈E,relation∈R},知识图谱的基本单位是三元组(head,relation,tail),其中,head是头实体,tail是尾实体,relation是头实体指向尾实体的关系,E是头实体和尾实体构成的实体集合,实体集合E大小为P,R是关系集合,关系集合R的大小为Q;
S2、使用交替训练的方式训练推荐模型,推荐模型简称为EMKR;其中,所述EMKR包括推荐模块、知识图谱嵌入模块和L个多任务学习共享单元,简称SU;其中,所述推荐模块包含顺序连接的L个特征提取层和一个预测层,第l个特征提取层简称为RSLayer l,其中,l=0,1,…,L-1;所述知识图谱嵌入模块包含顺序连接的L个特征提取层和一个预测层,第l个特征提取层简称为KGLayer l;SU关联RSLayer l和KGLayer l,实现两个相关向量的特征共享;
S3、使用训练好的EMKR预测用户-项目对的得分,根据得分返回用户的推荐列表,具体如下:给定一个用户,计算给定用户对所有项目的得分,将分值按照从大到小排序,排位越靠前的越应该优先推荐给用户。
进一步地,所述步骤S2中,EMKR的推荐模块执行一种两部分建模策略,所述两部分建模策略首先为索引号为m的用户初始两个d维向量
Figure BDA0003598593540000031
为索引号为n的项目初始两个d维向量
Figure BDA0003598593540000032
其中,
Figure BDA0003598593540000033
是该用户在RSLayer 0的上下文向量,用于捕捉用户的历史行为,
Figure BDA0003598593540000034
是该用户在RSLayer 0的辅助向量,用于扩展用户的表达能力;
Figure BDA0003598593540000035
该项目在RSLayer 0的上下文向量,用于捕捉知识图谱中的有用信息,
Figure BDA0003598593540000036
是该项目在RSLayer 0的辅助向量,用于扩展项目的表达能力;
Figure BDA0003598593540000037
Figure BDA0003598593540000038
其中,
Figure BDA0003598593540000039
是该用户在RSLayer l的完整向量,
Figure BDA00035985935400000310
是该项目在RSLayer l的完整向量。
进一步地,所述步骤S2中,将两部分建模策略应用到所有特征提取层中,即
Figure BDA00035985935400000311
其中
Figure BDA00035985935400000312
是索引号为m的用户在RSLayer l的完整向量,
Figure BDA00035985935400000313
是索引号为n的项目在RSLayer l的完整向量。
进一步地,所述步骤S2中,项目在知识图谱中都与相应的头实体对应,并且EMKR统一了项目和相应头实体的索引号,即索引号为n的项目对应知识图谱中索引号为n的头实体。
进一步地,所述步骤S2中,为G中的头实体、关系、尾实体初始一个d维向量表示,分别记为
Figure BDA00035985935400000314
其中,
Figure BDA00035985935400000315
是索引号为i的头实体在KGLayer 0的初始向量,
Figure BDA00035985935400000316
是索引号为o的关系在KGLayer 0的初始向量、
Figure BDA00035985935400000317
是索引号为j的尾实体在KGLayer 0初始向量,i=0,1,…,P-1,o=0,1,…,Q-1,j=0,1,…,P-1。
进一步地,所述步骤S2中,推荐模块的RSLayer l的计算过程如下:
首先,采样索引号为m的用户的cnt个历史点击项目,设该用户的历史点击项目的索引号为index_k,k=0,1,…cnt-1,index_k∈{0,1,…,N-1};然后,使用注意力机制得到该用户在RSLayer l+1的上下文向量,注意力机制的计算公式如下:
Figure BDA0003598593540000041
Figure BDA0003598593540000042
Figure BDA0003598593540000043
其中,βk是第k个历史点击项目的注意力得分,Wβ是用于计算注意力得分的一个可训练的参数矩阵,
Figure BDA0003598593540000044
是索引号为index_k的项目在Layer l的完整向量,αk是使用公式(2)计算的归一化注意力得分,αk取值的范围是(0,1);当l=L-1时,公式(3)得到向量
Figure BDA0003598593540000045
Figure BDA00035985935400000411
是推荐模块的特征提取层输出的索引号为m的项目的上下文向量。
进一步地,所述步骤S2中,EMKR的知识图谱嵌入模块的KGLayer l使用神经网络中的全连接FC()提取关系的潜在特征,计算方式如下:
Figure BDA0003598593540000046
其中,
Figure BDA0003598593540000047
是索引号为o的关系在KGLayer l的向量,
Figure BDA0003598593540000048
是该关系在KGLayer l+1的向量,W、b分别是用于实现全连接的参数矩阵和偏置向量,由模型训练更新,ReLU()是用于实现全连接的激活函数;当l=L-1时,公式(4)得到向量
Figure BDA0003598593540000049
Figure BDA00035985935400000410
是知识图谱嵌入模块的特征提取层输出的索引号为o的关系向量;
同时,EMKR的知识图谱嵌入模块的KGLayer l使用Hop个图卷积网络层计算头实体的邻域向量;令hop=0,1,…Hop-1,第hop个图卷积网络层的计算过程如下:
首先,采样索引号为i的头实体的Ns个邻域三元组,Ns个邻域三元组中,邻域尾实体的索引号为tail_s,邻域关系的索引号为rel_s,s=0,1,...,Ns-1,tail_s∈{0,1,…,P-1},rel_s∈{0,1,…,Q-1},使用公式(5)计算第s个邻域关系对该头实体的重要性
Figure BDA0003598593540000051
Figure BDA0003598593540000052
其中,
Figure BDA0003598593540000053
是索引号为rel_s的关系在KGLayer l的向量;
然后,使用公式(6)计算归一化重要性
Figure BDA0003598593540000054
Figure BDA0003598593540000055
取值的范围是(0,1):
Figure BDA0003598593540000056
最后,使用公式(7)计算该头实体的邻域向量
Figure BDA0003598593540000057
Figure BDA0003598593540000058
进一步地,所述步骤S2中,推荐模块和知识图谱嵌入模块的相关部分分别是RSLayerl中索引号为n的项目的上下文向量和KGLayer l中索引号为n的头实体向量,SU的计算过程如下:
首先,使用公式(8)计算第l层的交互矩阵Cross(l),之后,使用公式(9)、(10)获得下一层中该项目的上下文向量和头实体向量:
Figure BDA0003598593540000059
Figure BDA00035985935400000510
Figure BDA00035985935400000511
其中,
Figure BDA00035985935400000512
是向量
Figure BDA00035985935400000513
的转置,w1、w2、b1、b2是为了实现多任务学习单元SU引入的可训练的d维向量,能够自动学习两个相关向量的特征共享模式;在公式(9)、(10)中,当l=L-1时,SU得到向量
Figure BDA00035985935400000514
其中
Figure BDA00035985935400000515
是推荐模块特征提取层输出的索引号为n的项目的上下文向量,
Figure BDA00035985935400000516
是知识图谱嵌入模块的特征提取层输出的索引号为n的头实体向量;需要注意,只有索引号i属于{0,1,…,N-1}的头实体向量才会输入到SU中,如果索引号i不属于{0,1,…,N-1},则
Figure BDA0003598593540000061
Figure BDA0003598593540000062
是由公式(7)求得的KGLayer L-1的索引号为i的头实体的邻域向量,综合两种情况,知识图谱嵌入模块的特征提取层输出的任意索引号i的头实体向量为
Figure BDA0003598593540000063
进一步地,所述步骤S2中,EMKR的推荐模块的预测层计算索引号为m的用户最终向量
Figure BDA0003598593540000064
计算索引号为n的项目最终向量
Figure BDA0003598593540000065
使用公式(11)计算用户-项目对的得分:
Figure BDA0003598593540000066
EMKR的知识图谱嵌入模块的预测层使用公式(12)计算索引号为j的尾实体的预测向量
Figure BDA0003598593540000067
Figure BDA0003598593540000068
其中,
Figure BDA0003598593540000069
分别是知识图谱嵌入模块特征提取层输出的索引号为i的头实体的向量和索引号为o的关系的向量,concat()是向量拼接函数;
使用公式(13)计算三元组得分:
Figure BDA00035985935400000610
其中,yioj是索引号为n的头实体、索引号为o的关系和索引号为j的尾实体构成的三元组的预测得分。
进一步地,所述步骤S2中,所述推荐模块使用交叉熵损失函数计算所有用户-项目对损失,所述知识图谱嵌入模块使用交叉熵损失函数计算所有三元组损失,使用Adam优化器优化损失;交替训练引入超参数fre调节训练的频率,交替训练过程如下:在一个训练轮次中,先将推荐模块训练fre个批次,再训练一次知识图谱嵌入模块,直至所有样本训练完毕,输出项目、用户、实体的表示向量和用户-项目对的预测分值并保存EMKR。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明是一种基于多任务学***台和线上应用中很容易执行,因为很容易得到商品的一些属性信息,并将其组织成知识图谱。
(2)本发明设计的EMKR设计一种两部分建模策略,将用户和项目都建模为上下文向量和辅助向量,其中用户上下文向量用注意力机制捕获了用户的历史行为模式,项目的上下文向量使用一种多任务学习共享单元关联知识图谱,辅助部分扩展了用户和项目的表达能力。知识图谱嵌入模块通过堆叠图卷积网络层汇集多跳邻域信息,并区分关系的重要性,能更好地表达了图谱中关系的语义多样性。
(3)本发明提供的项目推荐方法不仅更好地利用了知识图谱深层的多关系语义,并且充分地利用了用户的历史记录,在稀疏的推荐场景中能有效捕捉用户的行为偏好。
附图说明
图1是本发明实施例中图书推荐的数据格式和知识图谱构建示意图;
图2是本发明中基于多任务学习和知识图谱增强的项目推荐的模型EMKR示意图;
图3是本发明中EMKR训练流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例介绍了一种基于多任务学习和知识图谱增强的项目推荐方法,其中,项目包括图书、电影、音乐、商品,以图书推荐场景作为具体实施实例,该方法的实施过程如下:
T1、数据准备:在图书评分或在线阅读***中,通常记录了M个用户对N个图书的评分记录,例如评分方式是给出0-5的显式打分;本发明将这种显式的评分根据阈值3转化为隐式的评分,即如果评分大于3,隐式打分为1,否则为0,构造隐式反馈矩阵
Figure BDA0003598593540000081
索引号为m的用户对索引号为n的项目有正向的偏好,m=0,1,…,M-1,n=0,1,…,N-1,则矩阵Y的第m行、第n列数值为1,否则为0;图书评分***中均容易收集到图书的各种属性,比如图书名称、图书类型、作者等,因此可以根据这些属性构造知识图谱G={(head,relation,tail)|head,tail∈E,relation∈R},知识图谱的基本单位是三元组(head,relation,tail),其中,head是头实体,tail是尾实体,relation是头实体指向尾实体的关系,E是头实体和尾实体构成的实体集合,实体集合E的大小为P,R是关系的集合,关系集合R的大小Q;比如图1中的(book1,author,author1)表示book1的作者是author1这个事实。以book1头实体为出发点,通过多样的属性关系链接不同的尾实体,因此在推荐中的每一对用户-图书的交互数据,图书都能在知识图谱中找到一个相应的头实体,并且图书和对应的头实体的索引号相同,即索引号为n的图书对应知识图谱中索引号为n的头实体,图1展示了基于多任务学习和知识图谱增强的推荐方法中的推荐的数据格式和相应的知识图谱的构建示例;
T2、设置推荐模型的超参数L、Hop、bs、Epochs、fre、cnt、Ns,其中,推荐模型简称为EMKR,所述EMKR包括推荐模块、知识图谱嵌入模块和L个多任务学习共享单元,简称SU;其中,所述推荐模块包含顺序连接的L个特征提取层和一个预测层,第l个特征提取层简称为RSLayer l,其中,l=0,1,…,L-1;所述知识图谱嵌入模块包含顺序连接的L个特征提取层和一个预测层,第l个特征提取层简称为KGLayer l;SU关联RSLayer l和KGLayer l,实现两个相关向量的特征共享;Hop是知识图谱嵌入模块的特征提取层中图卷积网络层的层数,bs是训练的批大小,Epochs是EMKR训练的轮次,fre是一个能够调节两个模块训练频次的超参数,cnt是采样历史项目的个数,Ns是采样头实体邻域三元组的个数;为索引号为m的用户初始两个d维向量
Figure BDA0003598593540000091
为索引号为n的项目初始两个d维向量
Figure BDA0003598593540000092
其中,
Figure BDA0003598593540000093
是用户在RSLayer 0的上下文向量,用于捕捉用户的历史行为,
Figure BDA0003598593540000094
是用户的辅助向量,用于扩展用户的表达能力,
Figure BDA0003598593540000095
是项目在RSLayer 0的上下文向量,用于捕捉知识图谱中的有用信息,
Figure BDA0003598593540000096
是项目的辅助向量,用于扩展项目的表达能力;用户在RSLayer 0的完整向量
Figure BDA0003598593540000097
项目在RSLayer 0的完整向量
Figure BDA0003598593540000098
用户在RSLayer l的完整向量
Figure BDA0003598593540000099
项目在RSLayer l的完整向量;
Figure BDA00035985935400000910
为知识图谱中的索引号为i的头实体、索引号为o的关系、索引号为j的尾实体分别初始在KGLayer 0的初始向量
Figure BDA00035985935400000911
Figure BDA00035985935400000912
i=0,1,…,P-1,o=0,1,…,Q-1,j=0,1,…,P-1;初始当前所在的层数l=0、当前训练代数epo=0、当前图卷积层的层数hop=0、当前推荐任务训练的次数f=0;
T3、随机采样索引号为m的用户的cnt个历史点击项目,设它们的索引号为index_k,k=0,1,…cnt-1,index_k∈{0,1,…,N-1};然后,使用注意力机制更新用户的上下文向量,注意力机制的计算公式如下:
Figure BDA00035985935400000913
Figure BDA0003598593540000101
Figure BDA0003598593540000102
其中,βk是第k个历史点击项目的注意力得分,Wβ是用于计算注意力得分的一个可训练的参数矩阵,
Figure BDA0003598593540000103
是索引号为index_k的项目在RSLayer l的完整向量,αk是使用公式(2)计算的归一化注意力得分,αk取值的范围是(0,1);当l=L-1时,公式(3)得到向量
Figure BDA0003598593540000104
Figure BDA0003598593540000105
是推荐模块的特征提取层输出的索引号为m的项目的上下文向量;
T4、使用神经网络中的全连接FC()提取关系的潜在特征,计算方式如下:
Figure BDA0003598593540000106
其中,
Figure BDA0003598593540000107
是索引号为o的关系在KGLayer l的向量,
Figure BDA0003598593540000108
是该关系在KGLayer l+1的向量,W、b分别是用于实现全连接的参数矩阵和偏置向量,由模型训练更新,ReLU()是用于实现全连接的激活函数;当l=L-1时,公式(4)得到向量
Figure BDA0003598593540000109
Figure BDA00035985935400001010
是知识图谱嵌入模块的特征提取层输出的索引号为o的关系向量;
T5、采样索引号为i的头实体的Ns个邻域三元组,Ns个邻域三元组中,邻域尾实体的索引号为tail_s,邻域关系的索引号为rel_s,s=0,1,...,Ns-1,tail_s∈{0,1,…,P-1},rel_s∈{0,1,…,Q-1},使用公式(5)计算第s个邻域关系对该头实体的重要性
Figure BDA00035985935400001011
Figure BDA00035985935400001012
其中,
Figure BDA00035985935400001013
是索引号为rel_s的关系在KGLayer l的向量;
然后,使用公式(6)计算归一化重要性
Figure BDA00035985935400001014
Figure BDA00035985935400001015
取值的范围是(0,1):
Figure BDA0003598593540000111
最后,使用公式(7)计算该头实体的邻域向量
Figure BDA0003598593540000112
Figure BDA0003598593540000113
T6、若hop<Hop,重复T5,hop=hop+1;否则,进入T7;
T7、使用公式(8)计算第l层的交互矩阵Cross(l),之后,使用公式(9)、(10)获得下一层中该项目的上下文向量和头实体向量:
Figure BDA0003598593540000114
Figure BDA0003598593540000115
Figure BDA0003598593540000116
其中,
Figure BDA0003598593540000117
是向量
Figure BDA0003598593540000118
的转置,w1、w2、b1、b2是为了实现多任务学习单元SU引入的可训练的d维向量,能够自动学习两个相关向量的特征共享模式;在公式(9)、(10)中,当l=L-1时,SU得到向量
Figure BDA0003598593540000119
其中
Figure BDA00035985935400001110
是推荐模块特征提取层输出的索引号为n的项目的上下文向量,
Figure BDA00035985935400001111
是知识图谱嵌入模块的特征提取层输出的索引号为n的头实体向量;需要注意,只有索引号i属于{0,1,…,N-1}的头实体向量才会输入到SU中,如果索引号i不属于{0,1,…,N-1},则
Figure BDA00035985935400001112
Figure BDA00035985935400001113
是由公式(7)求得的KGLayer L-1的索引号为i的头实体的邻域向量,综合两种情况,知识图谱嵌入模块的特征提取层输出的任意索引号i的头实体向量为
Figure BDA00035985935400001114
T8、当l<L时,重复T3~T7,l=l+1,否则,进入T9;
T9、EMKR的推荐模块的预测层计算索引号为m的用户最终向量
Figure BDA00035985935400001115
计算索引号为n的项目最终向量
Figure BDA00035985935400001116
使用公式(11)计算用户-项目对的得分:
Figure BDA0003598593540000121
EMKR的知识图谱嵌入模块的预测层使用公式(12)计算索引号为j的尾实体的预测向量
Figure BDA0003598593540000122
Figure BDA0003598593540000123
其中,
Figure BDA0003598593540000124
分别是知识图谱嵌入模块特征提取层输出的索引号为i的头实体的向量和索引号为o的关系的向量,concat()是向量拼接函数;
使用公式(13)计算三元组得分:
Figure BDA0003598593540000125
其中,yioj是索引号为n的头实体、索引号为o的关系和索引号为j的尾实体构成的三元组的预测得分;
T10、使用交叉熵损失函数计算推荐模块和知识图谱嵌入模块的损失;
T11、当f<fre时,使用Adam优化器优化推荐模块的损失,f=f+1,否则优化知识图谱嵌入模块的损失,并重置f=0;
T12、当epo<Epochs时,重复T3~T11,epo=epo+1,否则训练结束,进入T13;
T13、使用模型EMKR为用户推荐项目。具体如下:给定一个用户,计算他对所有项目的得分,将分值按照从大到小排序,排位越靠前的越应该优先推荐给用户。
为验证本申请提出的基于多任务学习和知识图谱增强的项目推荐方法的有效性,使用图书推荐Book-Crossing数据集进行验证。该数据集的基本统计情况如表1所示。其中,用户数为17860,项目数为14910,评分记录数为139746,构造的知识图谱具有19793个三元组。本实验的重要参数设置如表2所示。
表1.Book-Crossing数据集及知识图谱的基本统计表
数据集 用户 项目 记录 三元组
Book-Crossing 17860 14910 139746 19793
表2.实验参数设置表
数据集 d Epochs L bs Hop cnt Ns fre
Book-Crossing 8 4 1 32 2 3 3 2
将本发明和已有的MKR和RippleNet进行对比,使用准确率进行性能的评估,比较结果如表3所示:
表3.实验对比结果表
方法 Accuracy
RippleNet 0.622
MKR 0.704
EMKR 0.862
从表3可以看出,本发明的一种基于多任务学习和知识图谱增强的项目推荐方法准确率达到0.862,具有更好的预测性能。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于多任务学习和知识图谱增强的项目推荐方法,其中,所述项目包括图书、电影、音乐、商品,其特征在于,所述项目推荐方法包括以下步骤:
S1、数据准备:获取用户评分项目的历史记录,构造用户项目的隐式反馈矩阵
Figure FDA0003598593530000011
其中M是用户的个数,N是项目的个数,索引号为m,的用户对索引号为n的项目有正向的偏好,m=0,1,…,M-1,n=0,1,…,N-1,则矩阵Y的第m行、第n列数值为1,否则为0;同时,构造知识图谱G={(head,relation,tail)|head,tail∈E,relation∈R},知识图谱的基本单位是三元组(head,relation,tail),其中,head是头实体,tail是尾实体,relation是头实体指向尾实体的关系,E是头实体和尾实体构成的实体集合,实体集合E大小为P,R是关系集合,关系集合R的大小为Q;
S2、使用交替训练的方式训练推荐模型,推荐模型简称为EMKR;其中,所述EMKR包括推荐模块、知识图谱嵌入模块和L个多任务学习共享单元,简称SU;其中,所述推荐模块包含顺序连接的L个特征提取层和一个预测层,第l个特征提取层简称为RSLayerl,其中,l=0,1,…,L-1;所述知识图谱嵌入模块包含顺序连接的L个特征提取层和一个预测层,第l个特征提取层简称为KGLayer l;SU关联RSLayer l和KGLayer l,实现两个相关向量的特征共享;
S3、使用训练好的EMKR预测用户-项目对的得分,根据得分返回用户的推荐列表,具体如下:给定一个用户,计算给定用户对所有项目的得分,将分值按照从大到小排序,排位越靠前的越应该优先推荐给用户。
2.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,EMKR的推荐模块执行一种
两部分建模策略,所述两部分建模策略首先为索引号为m的用户初始两个d维向量
Figure FDA0003598593530000021
为索引号为n的项目初始两个d维向量
Figure FDA0003598593530000022
其中,
Figure FDA0003598593530000023
是该用户在RSLayer 0的上下文向量,用于捕捉用户的历史行为,
Figure FDA0003598593530000024
是该用户在RSLayer 0的辅助向量,用于扩展用户的表达能力;
Figure FDA0003598593530000025
该项目在RSLayer 0的上下文向量,用于捕捉知识图谱中的有用信息,
Figure FDA0003598593530000026
是该项目在RSLayer0的辅助向量,用于扩展项目的表达能力;
Figure FDA0003598593530000027
Figure FDA0003598593530000028
其中,
Figure FDA0003598593530000029
是该用户在RSLayer l的完整向量,
Figure FDA00035985935300000210
是该项目在RSLayer l的完整向量。
3.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,将两部分建模策略应用到所有特征提取层中,即
Figure FDA00035985935300000211
Figure FDA00035985935300000212
其中
Figure FDA00035985935300000213
是索引号为m的用户在RSLayer l的完整向量,
Figure FDA00035985935300000214
是索引号为n的项目在RSLayer l的完整向量。
4.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,每一个项目都与知识图谱中相应的头实体对应,并且EMKR统一了项目和相应头实体的索引号,即索引号为n的项目对应知识图谱中索引号为n的头实体。
5.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,为G中的头实体、关系、尾实体初始一个d维向量表示,分别记为
Figure FDA00035985935300000215
其中,
Figure FDA00035985935300000216
是索引号为i的头实体在KGLayer 0的初始向量,
Figure FDA00035985935300000217
是索引号为o的关系在KGLayer 0的初始向量、
Figure FDA00035985935300000218
是索引号为j的尾实体在KGLayer 0初始向量,i=0,1,…,P-1,o=0,1,…,Q-1,j=0,1,…,P-1。
6.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,推荐模块的RSLayerl的计算过程如下:
首先,采样索引号为m的用户的cnt个历史点击项目,设该用户的历史点击项目的索引号为index_k,k=0,1,…cnt-1,index_k∈{0,1,…,N-1};然后,使用注意力机制得到该用户在RSLayerl+1的上下文向量,注意力机制的计算公式如下:
Figure FDA0003598593530000031
Figure FDA0003598593530000032
Figure FDA0003598593530000033
其中,βk是第k个历史点击项目的注意力得分,Wβ是用于计算注意力得分的一个可训练的参数矩阵,
Figure FDA0003598593530000034
是索引号为index_k的项目在Layer l的完整向量,αk是使用公式(2)计算的归一化注意力得分,αk取值的范围是(0,1);当l=L-1时,公式(3)得到向量
Figure FDA0003598593530000035
是推荐模块的特征提取层输出的索引号为m的项目的上下文向量。
7.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,EMKR的知识图谱嵌入模块的KGLayerl使用神经网络中的全连接FC()提取关系的潜在特征,计算方式如下:
Figure FDA0003598593530000036
其中,
Figure FDA0003598593530000037
是索引号为o的关系在KGLayerl的向量,
Figure FDA0003598593530000038
是该关系在KGLayerl+1的向量,W、b分别是用于实现全连接的参数矩阵和偏置向量,由模型训练更新,ReLU()是用于实现全连接的激活函数;当l=L-1时,公式(4)得到向量
Figure FDA0003598593530000039
是知识图谱嵌入模块的特征提取层输出的索引号为o的关系向量;
同时,EMKR的知识图谱嵌入模块的KGLayer l使用Hop个图卷积网络层计算头实体的邻域向量;令hop=0,1,…Hop-1,第hop个图卷积网络层的计算过程如下:
首先,采样索引号为i的头实体的Ns个邻域三元组,Ns个邻域三元组中,邻域尾实体的索引号为tail_s,邻域关系的索引号为rel_s,s=0,1,...,Ns-1,tail_s∈{0,1,…,P-1},rel_s∈{0,1,…,Q-1},使用公式(5)计算第s个邻域关系对该头实体的重要性
Figure FDA0003598593530000041
Figure FDA0003598593530000042
其中,
Figure FDA0003598593530000043
是索引号为rel_s的关系在KGLayer l的向量;
然后,使用公式(6)计算归一化重要性
Figure FDA0003598593530000044
取值的范围是(0,1):
Figure FDA0003598593530000045
最后,使用公式(7)计算该头实体的邻域向量
Figure FDA0003598593530000046
Figure FDA0003598593530000047
8.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,推荐模块和知识图谱嵌入模块的相关部分分别是RSLayer l中索引号为n的项目的上下文向量和KGLayer l中索引号为n的头实体向量,SU的计算过程如下:
首先,使用公式(8)计算第l层的交互矩阵Cross(l),之后,使用公式(9)、(10)获得下一层中该项目的上下文向量和头实体向量:
Figure FDA0003598593530000048
Figure FDA0003598593530000049
Figure FDA0003598593530000051
其中,
Figure FDA0003598593530000052
是向量
Figure FDA0003598593530000053
的转置,w1、w2、b1、b2是为了实现多任务学习单元SU引入的可训练的d维向量,能够自动学习两个相关向量的特征共享模式;在公式(9)、(10)中,当l=L-1时,SU得到向量
Figure FDA0003598593530000054
其中
Figure FDA0003598593530000055
是推荐模块特征提取层输出的索引号为n的项目的上下文向量,
Figure FDA0003598593530000056
是知识图谱嵌入模块的特征提取层输出的索引号为n的头实体向量;只有索引号i属于{0,1,…,N-1}的头实体向量才会输入到SU中,如果索引号i不属于{0,1,…,N-1},则
Figure FDA0003598593530000057
Figure FDA0003598593530000058
是由公式(7)求得的KGLayerL-1的索引号为i的头实体的邻域向量,综合两种情况,知识图谱嵌入模块的特征提取层输出的任意索引号i的头实体向量为
Figure FDA0003598593530000059
9.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,EMKR的推荐模块的预测层计算索引号为m的用户最终向量
Figure FDA00035985935300000510
计算索引号为n的项目最终向量
Figure FDA00035985935300000511
使用公式(11)计算用户-项目对的得分:
Figure FDA00035985935300000512
EMKR的知识图谱嵌入模块的预测层使用公式(12)计算索引号为j的尾实体的预测向量
Figure FDA00035985935300000513
Figure FDA00035985935300000514
其中,
Figure FDA00035985935300000515
分别是知识图谱嵌入模块特征提取层输出的索引号为i的头实体的向量和索引号为o的关系的向量,concat()是向量拼接函数;
使用公式(13)计算三元组得分:
Figure FDA00035985935300000516
其中,yioj是索引号为n的头实体、索引号为o的关系和索引号为j的尾实体构成的三元组的预测得分。
10.根据权利要求1所述的一种基于多任务学习和知识图谱增强的项目推荐方法,其特征在于,所述步骤S2中,所述推荐模块使用交叉熵损失函数计算所有用户-项目对损失,所述知识图谱嵌入模块使用交叉熵损失函数计算所有三元组损失,使用Adam优化器优化损失;交替训练引入超参数fre调节训练的频率,交替训练过程如下:在一个训练轮次中,先将推荐模块训练fre个批次,再训练一次知识图谱嵌入模块,直至所有样本训练完毕,输出项目、用户、实体的表示向量和用户-项目对的预测分值并保存EMKR。
CN202210395173.2A 2022-04-15 2022-04-15 一种基于多任务学习和知识图谱增强的项目推荐方法 Pending CN114817712A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210395173.2A CN114817712A (zh) 2022-04-15 2022-04-15 一种基于多任务学习和知识图谱增强的项目推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210395173.2A CN114817712A (zh) 2022-04-15 2022-04-15 一种基于多任务学习和知识图谱增强的项目推荐方法

Publications (1)

Publication Number Publication Date
CN114817712A true CN114817712A (zh) 2022-07-29

Family

ID=82536646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210395173.2A Pending CN114817712A (zh) 2022-04-15 2022-04-15 一种基于多任务学习和知识图谱增强的项目推荐方法

Country Status (1)

Country Link
CN (1) CN114817712A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115618108A (zh) * 2022-10-24 2023-01-17 云南中烟工业有限责任公司 新零售模式下基于知识图谱的卷烟品牌推荐方法
CN116167828A (zh) * 2023-04-25 2023-05-26 江苏亿友慧云软件股份有限公司 一种基于图协同和对比学习的物品推荐方法
CN116186295A (zh) * 2023-04-28 2023-05-30 湖南工商大学 基于注意力的知识图谱链接预测方法、装置、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115618108A (zh) * 2022-10-24 2023-01-17 云南中烟工业有限责任公司 新零售模式下基于知识图谱的卷烟品牌推荐方法
CN115618108B (zh) * 2022-10-24 2023-05-26 云南中烟工业有限责任公司 新零售模式下基于知识图谱的品牌推荐方法
CN116167828A (zh) * 2023-04-25 2023-05-26 江苏亿友慧云软件股份有限公司 一种基于图协同和对比学习的物品推荐方法
CN116186295A (zh) * 2023-04-28 2023-05-30 湖南工商大学 基于注意力的知识图谱链接预测方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN111523047B (zh) 基于图神经网络的多关系协同过滤算法
CN114817712A (zh) 一种基于多任务学习和知识图谱增强的项目推荐方法
Qu et al. An end-to-end neighborhood-based interaction model for knowledge-enhanced recommendation
CN107122455B (zh) 一种基于微博的网络用户增强表示方法
CN112417298B (zh) 一种基于少量重叠用户的跨域推荐方法及***
CN109190030B (zh) 融合node2vec和深度神经网络的隐式反馈推荐方法
CN112613602A (zh) 基于知识感知超图神经网络的推荐方法及***
CN112950324B (zh) 一种知识图谱辅助的成对排序个性化电商推荐方法及***
CN112650929B (zh) 一种融入评论信息的图神经网络推荐方法
CN114265986B (zh) 一种融合知识图谱结构与路径语义的信息推送方法和***
CN115374347A (zh) 一种基于知识图注意力网络的社交推荐方法
CN109034953B (zh) 一种电影推荐方法
CN116340646A (zh) 一种基于超图基序优化多元用户表示的推荐方法
CN114065048A (zh) 基于多异构图图神经网络的物品推荐方法
CN112784118A (zh) 一种对三角形结构敏感的图中的社区发现方法和装置
CN115270007A (zh) 一种基于混合图神经网络的poi推荐方法及***
CN116401542A (zh) 一种多意图多行为解耦推荐方法及装置
Zhang et al. Knowledge graph driven recommendation model of graph neural network
CN112231579B (zh) 基于隐式社群发现的社会化视频推荐***与方法
CN113342994A (zh) 一种基于无采样协作知识图网络的推荐***
CN115564013B (zh) 提高网络表示学习表示能力的方法、模型训练方法和***
CN114842247B (zh) 基于特征累加的图卷积网络半监督节点分类方法
CN116304372A (zh) 一种融合群组的协作知识图网络推荐方法
CN116433922A (zh) 图表示学习***的训练方法、图数据节点分类方法及装置
CN113744023B (zh) 一种基于图卷积网络的双通道协同过滤推荐方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination