可左右滑动选省市

一种基于传播的知识图谱推荐方法发明专利

更新时间:2024-10-01
一种基于传播的知识图谱推荐方法发明专利 专利申请类型:发明专利;
地区:河北-秦皇岛;
源自:秦皇岛高价值专利检索信息库;

专利名称:一种基于传播的知识图谱推荐方法

专利类型:发明专利

专利申请号:CN202210329811.0

专利申请(专利权)人:东北大学秦皇岛分校
权利人地址:河北省秦皇岛市经济技术开发区泰山路143号

专利发明(设计)人:邢烨,吕艳霞,刘杰民

专利摘要:本发明提供一种基于传播的知识图谱推荐方法,涉及推荐系统技术领域。由双端知识传播模块、循环注意力嵌入模块、推荐预测模块以及推荐解释模块组成。双端知识传播模块包括双端传播和双向知识传播,双端传播进行用户和物品信息的知识映射,双向知识传播是将用户和物品的信息在知识图谱上进行传播更新;循环注意力嵌入模块采用基于循环神经网络的注意力机制,学习实体迭代更新过程中邻居实体的权重;推荐预测模块通过聚合知识传播后得到的多层向量表示更新用户和物品嵌入向量,并采用内积操作得到最终的预测交互概率;推荐解释模块通过融合用户—物品交互图和知识图谱,挖掘目标用户到推荐结果之间的潜在联系,并以图结构的形式给出解释结果。

主权利要求:
1.一种基于传播的知识图谱推荐方法,其特征在于,具体包括以下步骤:步骤1:对目标用户和参与推荐的物品信息在知识图谱上进行双端知识传播;双端知识传播包括双端传播和双向知识传播;得到用户和物品l跳邻居实体集;
步骤2:采用循环注意力嵌入聚合传播过程中l跳邻居实体集的信息;
步骤3:对目标用户u和参与推荐的物品v的交互概率进行预测;
步骤4:对上述三个步骤得到的推荐结果进行解释;为了增加对推荐结果的理解,提出一种针对推荐结果的图形化的直观后解释方法;
步骤5:对步骤1‑步骤3推荐过程进行训练优化;训练结束后,执行步骤1‑步骤3对目标用户进行推荐;
所述步骤1具体为:
步骤1.1:对目标用户和参与推荐的物品信息进行双端传播;
对于用户u来说,从其历史交互数据中找到该用户曾经交互过得物品v,然后物品v与知识图谱中实体e之间进行映射,获得用户u知识传播的初始实体集;同时对于物品v,直接将物品v与知识图谱中的实体e进行映射匹配,将实体e作为物品v知识传播的初始实体集;其中用户u和物品v的初始实体集定义如下:其中,yuv=1表示用户u和物品v之间存在交互;A表示表示物品和实体之间的映射集合;
步骤1.2:对用户和物品的初始实体集进行双向知识传播;
知识图谱G在形式上被表示为{(h,r,t)h,t∈ε,r∈R}三元组的形式,其中h代表三元组的头实体,r表示三元组的关系,t表示三元组的尾实体,ε和R分别表示知识图谱G的实体集和关系集;采用双向知识传播的思想对用户u和物品v的初始实体集进行知识传播,获得初始实体集的l跳邻居实体集;借此来挖掘知识图谱中含有的高阶语义信息,帮助提高推荐的精度;将用户u和物品v的l跳邻居实体集定义如下:其中l表示从初始实体集向外传播的距离,下角标w表示用户u和物品v的统一占位符;
在l跳邻居实体集的定义基础上,给定用户u和物品v的l跳传播集如下:其中r'表示关系r的反向;
所述步骤2具体为:
知识图谱G表示为{(h,r,t)h,t∈ε,r∈R},其中每一个三元组描述了头实体h和尾实体t存在着关系r这一事实;知识图谱中每一个三元组的头实体和尾实体的相关性决定于它们之间的关系;
步骤2.1:设(h,r,t)是l跳传播集的第k个三元组,考虑某一头实体,其相关尾实体的循环注意力嵌入定义如下:对于当前三元组而言, 是头实体的嵌入向量,rk是关系的嵌入向量, 是尾实体的嵌入向量,同时 作为注意力权重控制实体信息传播过程中的衰减;该循环注意力机制定义如下:zk=tanh(Wzxk+Whh0+bz)
fk=σ(Wfxk+Whh0+bf)
ik=σ(Wixk+Whh0+bi)
ok=σ(Woxk+Whh0+bo)
ck=fk⊙c0+ik⊙zk
其中h0,c0表示随机初始化的隐藏状态,Wz,Wi,Wf,Wo,Wh表示可训练的权重矩阵,同时bz,bi,bf和bo表示偏差;ik,ok和fk分别表示输入、输出和遗忘门;σ表示Sigmoid激活函数,⊙是向量的元素级乘积;
步骤2.2:采用softmax函数来对用户u和物品v的l跳传播集中的三元组的权重进行归一化处理:其中,(h',r',t')表示当前传播集中任意一个三元组, 和 分别表示三元组(h',r',t')中头实体和关系的嵌入向量表示;
步骤2.3:通过上述步骤1以及步骤2.1和2.2,得到用户u和物品v的l跳实体信息表示,其定义如下:其中,w表示用户u和物品v的统一占位符, 表示用户u和物品v在第l层传播集三元组的个数;l层即l跳;
步骤2.4:对于最终的用户和物品的向量表示,还需要将知识传播的起点即初始实体向量表示纳入最终的用户和物品多层向量表示集;用户u和物品v的初始实体向量表示定义如下:用户u和物品v的信息在经过多层知识传播之后,得到最终的用户和物品的多层实体向量表示集:所述步骤3具体为:
在最终的预测之前需要将用户u和物品v的多层实体向量表示聚合为单个的用户和物品向量表示;在此,采用了连接聚合方式来实现多层到单个的向量聚合:连接聚合:将多层实体向量表示进行连接操作,然后进行非线性变换的处理:其中W1和b1分别表示转换权重矩阵和偏差,σ是非线性激活函数Sigmoid,||表示连接操作;使用 表示用户u最终的向量表示,使用 代表物品v最终的向量表示;最后,对用户和物品的最终向量使用内积来预测用户u对物品v的偏好得分:所述步骤4具体为:
步骤4.1:首先从用户—物品交互矩阵Y中提取每条用户和物品之间的交互信息以三元组的形式保存;若用户u和物品v之间存在历史交互,则会存在{(u,user.interact,v)u,v∈Y}三元组表示;
步骤4.2:遵循构建知识图谱的思想构建用户—物品交互图,通过用户—物品交互图中的物品和知识图谱中的实体映射将二者融为交互知识图作为解释的准备条件;
步骤4.3:针对推荐部分给出的推荐结果;将用户和推荐结果中的每个物品以用户—物品对(u,v')的形式引入到构建好的交互知识图中,挖掘图中存在的用户与用户之间、用户与物品之间、物品与物品之间的潜在联系,从该用户出发探索图中存在的用户到推荐物品的路径语义信息,提取多条关系密切的用户到物品的路径,并将路径整合以图结构化的形式输出出来作为模型对推荐物品的解释。
2.根据权利要求1所述的一种基于传播的知识图谱推荐方法,其特征在于,所述步骤5具体为:为了优化推荐结果,采用交叉熵损失函数作为目标函数对步骤1‑步骤3的推荐过程进行训练;在训练过程中,对每个用户采样与正样本数相同的的负样本进行训练;训练结束后,执行步骤1‑步骤3对目标用户进行推荐;
损失函数定义如下:
+ ‑
其中J是交叉熵损失函数,P表示用户—正样本对集合,P 表示用户—负样本对集合;
是推荐过程中的参数,其中E和R是知识
图谱中所有实体和关系的嵌入矩阵,λ表示L2正则化系数。 说明书 : 一种基于传播的知识图谱推荐方法技术领域[0001] 本发明涉及推荐系统技术领域,尤其涉及一种基于传播的知识图谱推荐方法。背景技术[0002] 为了解决信息爆炸的问题,人们开始在各种在线应用中引入推荐系统来建模用户的偏好。随着个性化推荐长达几十年的研究和发展,个性化推荐已经逐渐成为各种网络应用中不可或缺的核心功能,目前已应用于电子商务、多媒体服务、音乐推荐以及电影推荐等多个领域,早已成为支撑互联网智能的基础技术之一。[0003] 近年来,知识图谱在推荐系统的发展过程中扮演着重要的角色。与单独利用用户‑物品交互数据来完成推荐的方法相比,将知识图谱作为辅助信息引入推荐过程能帮助捕获更深层次的语义关系从而生成更精确的推荐结果。同时,知识图谱除了能够丰富用户和物品的向量表示外,其特有的图结构赋予了跟踪推荐背后推理路径的能力,可以帮助生成更为直观的和更多为推荐结果量身定制的解释,生成人们可接受的解释建议,使得系统对最终用户更加透明和可靠。因此将知识图谱作为辅助信息引入推荐系统引起了研究者的广泛关注。现有的基于知识图谱的推荐方法主要分为三类:基于嵌入的知识图谱推荐,基于路径的知识图谱推荐以及基于传播的知识图谱推荐。[0004] 基于传播的知识图谱推荐,是将基于嵌入推荐和基于路径推荐进行联合的知识图谱推荐方法。其采用迭代更新的思想,通过将实体信息在整个知识图谱上进行传播,并聚合当前实体的多跳邻居实体信息来丰富自身的向量表示。这种方法既弥补了基于嵌入的方法无法捕获高阶语义信息的缺点,又解决了基于路径的推荐方法中路径选择方面存在的问题。其中RippleNet是最早提出的基于传播的知识图谱推荐方法,它借用知识图谱中的实体连接,挖掘用户深层次的偏好以完成更好的推荐。KGCN利用图卷积神经网络在知识图谱上进行建模,通过聚合邻居实体和自身的表示获得最后的候选物品的向量表示。CKAN模型提出了一种将协作信号与知识关联相结合的方法,即采用异构传播的策略来显式地编码这两种信息,同时在实体向量更新的过程中应用注意力机制来区分不同邻居实体的贡献。[0005] 现有的大部分基于传播的方法在进行知识传播过程中均使用了单向传播的思想,即按照知识图谱这一有向图固有的方向从中心实体向外传播扩散,但这种单向传播的方法在一些数据稀疏的知识图谱上无法完成远距离的传播扩散,继而无法通过知识图谱中的实体连接捕获高阶的语义信息,这使得知识图谱在辅助推荐过程中无法发挥出最大效用。同时现有的大部分基于知识图谱的推荐方法,仅利用知识信息来丰富用户和物品的向量表示来提高推荐结果的准确性。其最终的推荐结果是一份个性化的推荐列表,并没有利用知识图谱丰富的内容信息和结构信息显式输出结构化信息作为推荐结果的合理解释提供给用户,而这种不具备解释的推荐结果往往不大容易被用户所接受。发明内容[0006] 针对上述现有技术的不足,本发明提供了一种基于传播的知识图谱推荐方法;[0007] 一种基于传播的知识图谱推荐方法,具体包括以下步骤:[0008] 步骤1:对目标用户和参与推荐的物品信息在知识图谱上进行双端知识传播;[0009] 步骤1.1:对目标用户和参与推荐的物品信息进行双端传播;[0010] 对于用户u来说,从其历史交互数据中找到该用户曾经交互过得物品v,然后物品v与知识图谱中实体e之间进行映射,获得用户u知识传播的初始实体集;同时对于物品v,直接将物品v与知识图谱中的实体e进行映射匹配,将实体e作为物品v知识传播的初始实体集;其中用户u和物品v的初始实体集定义如下:[0011][0012][0013] 其中,yuv=1表示用户u和物品v之间存在交互;A表示表示物品和实体之间的映射集合;[0014] 步骤1.2:对用户和物品的初始实体集进行双向知识传播;[0015] 知识图谱G在形式上被表示为{(h,r,t)|h,t∈ε,r∈R}三元组的形式,其中h代表三元组的头实体,r表示三元组的关系,t表示三元组的尾实体,ε和R分别表示知识图谱G的实体集和关系集;采用双向知识传播的思想对用户u和物品v的初始实体集进行知识传播,获得初始实体集的l跳邻居实体集;借此来挖掘知识图谱中含有的高阶语义信息,帮助提高推荐的精度;将用户u和物品v的l跳邻居实体集定义如下:[0016][0017] 其中l表示从初始实体集向外传播的距离,下角标w表示用户u和物品v的统一占位符;[0018] 在l跳邻居实体集的定义基础上,给定用户u和物品v的l跳传播集如下:[0019][0020] 其中r′表示关系r的反向;[0021] 步骤2:采用循环注意力嵌入聚合传播过程中l跳邻居实体集的信息;[0022] 知识图谱G表示为{(h,r,t)|h,t∈ε,r∈R},其中每一个三元组描述了头实体h和尾实体t存在着关系r这一事实;知识图谱中每一个三元组的头实体和尾实体的相关性决定于它们之间的关系;[0023] 步骤2.1:设(h,r,t)是l跳传播集的第k个三元组,考虑某一头实体,其相关尾实体的循环注意力嵌入定义如下:[0024][0025] 对于当前三元组而言, 是头实体的嵌入向量,rk是关系的嵌入向量, 是尾实体的嵌入向量,同时 作为注意力权重控制实体信息传播过程中的衰减;该循环注意力机制定义如下:[0026][0027] zk=tanh(Wzxk+Whh0+bz)[0028] fk=σ(Wfxk+Whh0+bf)[0029] ik=σ(Wixk+Whh0+bi)[0030] ok=σ(Woxk+Whh0+bo)[0031] ck=fk⊙c0+ik⊙zk[0032][0033] 其中h0,c0表示随机初始化的隐藏状态,Wz,Wi,Wf,Wo,Wh表示可训练的权重矩阵,同时bz,bi,bf和bo表示偏差;ik,ok和fk分别表示输入、输出和遗忘门;σ表示Sigmoid激活函数,⊙是向量的元素级乘积;[0034] 步骤2.2:采用softmax函数来对用户u和物品v的l跳传播集中的三元组的权重进行归一化处理:[0035][0036] 其中,(h',r',t')表示当前传播集中任意一个三元组, 和r′k分别表示三元组(h',r',t')中头实体和关系的嵌入向量表示;[0037] 步骤2.3:通过上述步骤1以及步骤2.1和2.2,得到用户u和物品v的l跳实体信息表示,其定义如下:[0038][0039] 其中,w表示用户u和物品v的统一占位符, 表示用户u和物品v在第l层传播集三元组的个数;l层即l跳;[0040] 步骤2.4:对于最终的用户和物品的向量表示,还需要将知识传播的起点即初始实体向量表示纳入最终的用户和物品多层向量表示集;用户u和物品v的初始实体向量表示定义如下:[0041][0042][0043] 用户u和物品v的信息在经过多层知识传播之后,得到最终的用户和物品的多层实体向量表示集:[0044][0045] 步骤3:对目标用户u和参与推荐的物品v的交互概率进行预测;[0046] 在最终的预测之前需要将用户u和物品v的多层实体向量表示聚合为单个的用户和物品向量表示;在此,采用了连接聚合方式来实现多层到单个的向量聚合:[0047] 连接聚合:将多层实体向量表示进行连接操作,然后进行非线性变换的处理:[0048][0049] 其中W1和b1分别表示转换权重矩阵和偏差,σ是非线性激活函数Sigmoid,||表示连接操作;[0050] 使用 表示用户u最终的向量表示,使用 代表物品v最终的向量表示;最后,对用户和物品的最终向量使用内积来预测用户u对物品v的偏好得分:[0051][0052] 步骤4:对上述三个步骤得到的推荐结果进行解释;为了增加对推荐结果的理解,提出一种针对推荐结果的图形化的直观后解释方法;[0053] 步骤4.1:首先从用户—物品交互矩阵Y中提取每条用户和物品之间的交互信息以三元组的形式保存;若用户u和物品v之间存在历史交互,则会存在{(u,user.interact,v)|u,v∈Y}三元组表示;[0054] 步骤4.2:遵循构建知识图谱的思想构建用户—物品交互图,通过用户—物品交互图中的物品和知识图谱中的实体映射将二者融为交互知识图作为解释的准备条件;[0055] 步骤4.3:针对推荐部分给出的推荐结果;将用户和推荐结果中的每个物品以用户—物品对(u,v')的形式引入到构建好的交互知识图中,挖掘图中存在的用户与用户之间、用户与物品之间、物品与物品之间的潜在联系,从该用户出发探索图中存在的用户到推荐物品的路径语义信息,提取多条关系密切的用户到物品的路径,并将路径整合以图结构化的形式输出出来作为模型对推荐物品的解释;[0056] 步骤5:对步骤1‑步骤3推荐过程进行训练优化;[0057] 为了优化推荐结果,采用交叉熵损失函数作为目标函数对步骤1‑步骤3的推荐过程进行训练;在训练过程中,对每个用户采样与正样本数相同的的负样本进行训练;训练结束后,执行步骤1‑步骤3对目标用户进行推荐;[0058] 损失函数定义如下:[0059][0060] 其中J是交叉熵损失函数,P+表示用户—正样本对集合,P‑表示用户—负样本对集合; 是推荐过程中的参数,其中E和R是知识图谱中所有实体和关系的嵌入矩阵,λ表示L2正则化系数。[0061] 本发明有益技术效果:[0062] 在音乐和图书两个数据集上对本发明提出的方法进行实验,无论是在点击预测场景中还是Top‑K推荐场景中,本方法与现有方法相比均有所提升,因此本方法能很好地缓解单向知识传播方法在较为稀疏的知识图谱上无法捕获更高阶语义信息的问题,从而提高了知识图谱在推荐系统中的利用率,能够为用户生成更加准确的个性化推荐列表,提高用户对系统的信任和接受程度。同时,本方法能很好的挖掘到用户的交互信息和知识信息之间的潜在联系,给出的图形化解释形式能为开发人员和用户提供对模型和推荐结果的合理解释,这种带有合理解释的推荐结果更容易被用户所接受。同时这种可解释个性化推荐方法能够加速用户获取高质量知识的效率,提高用户选择体验产品的概率以及用户满意程度等等,能够提高用户在平台上的留存率和转化率,从而为公司创造更大的商业价值。附图说明[0063] 图1本发明实施例一种基于传播的知识图谱推荐方法流程框架示意图;其中,a为双端知识传播;b为循环注意力嵌入;c为推荐预测;d为推荐解释;e为b循环注意力嵌入的具体展开说明;[0064] 图2本发明实施例基于两个数据集的Top‑K推荐场景下的Recall@K结果;其中图a为Last.FM数据集的结果;图b为Book‑Crossing数据集的结果;[0065] 图3本发明实施例基于音乐数据集的推荐解释层实例。具体实施方式[0066] 下面结合附图和实施例对本发明做进一步说明;[0067] 一种基于传播的知识图谱推荐方法从用户和物品两端出发,采用双向知识传播的思想进行实体信息的传播扩散,同时在知识传播过程中,基于循环嵌入的注意力机制聚合邻居实体的信息来丰富中心实体的向量表示,以最终得到的实体信息来丰富用户和物品的向量表示提高模型的推荐准确性。同时,针对推荐模块给出的推荐结果给出合理的解释,将目标用户和推荐物品输入到推荐解释模块,挖掘二者之间的潜在联系,最后输出图形式的解释作为推荐结果的解释。本发明整体流程框架示意图如图1所示;[0068] 本发明提出的基于双向传播的知识图谱可解释推荐方法主要有四种设计:第1,双端知识传播,它由双端知识和双向知识传播两部分组成,其中双端传播主要是将用户和物品信号传播到知识图谱上面,然后对双端传播所映射的实体信息进行双向知识传播扩散,通过聚合来自多跳邻居实体的知识信息来丰富用户和物品的向量表示,既能扩散用户偏好又能缓解新物品的冷启动问题。[0069] 第2,循环注意力嵌入,受基于路径的方法的启发,,引入一种新的基于循环神经网络的注意力机制,来学习实体向量迭代聚合更新过程中各邻居实体的权重。[0070] 第3,推荐预测,通过聚合双向知识传播得到的多层实体向量表示信息更新用户和物品的嵌入向量表示,然后对用户向量和物品向量采用内积操作得到最终的预测交互概率。[0071] 第4推荐解释,基于模型后解释的思想,根据用户的历史行为数据构建用户‑物品交互图,将用户‑物品交互图与知识图谱进行融合构建交互知识图,因此现有的交互知识图中既包含了历史行为数据中的用户交互信息,又包含了知识图谱中的知识关联信息,挖掘图中用户与用户之间、用户与物品之间、物品与物品之间的语义联系,针对推荐预测层给出的推荐结果,探索当前目标用户和推荐结果之间的潜在的路径语义联系,将挖掘到的语义联系进行可视化处理并以图结构化的形式展示针对目标用户和推荐结果的个性化推荐解释。[0072] 一种基于传播的知识图谱推荐方法,具体包括以下步骤:[0073] 步骤1:对目标用户和参与推荐的物品信息在知识图谱上进行双端知识传播;[0074] 双端知识传播分为双端传播和双向知识传播两部分;双端传播主要是将用户和物品信息引入知识图谱,构建用户和物品在进行双向知识传播的初始实体传播集;双向知识传播主要是将用户和物品信息在知识图谱上进行传播扩散;[0075] 步骤1.1:对用户和物品信息进行双端传播;[0076] 对于用户u来说,从其历史交互数据中找到该用户曾经交互过得物品v,然后物品v与知识图谱中实体e之间进行映射,获得用户u知识传播的初始实体集;同时对于物品v,直接将物品v与知识图谱中的实体e进行映射匹配,将实体e作为物品v知识传播的初始实体集;其中用户u和物品v的初始实体集定义如下:[0077][0078][0079] 其中,yuv=1表示用户u和物品v之间存在交互;A表示表示物品和实体之间的映射集合;[0080] 步骤1.2:对用户和物品的初始实体集进行双向知识传播;[0081] 知识图谱G在形式上被表示为{(h,r,t)h,t∈ε,r∈R}三元组的形式,其中h代表三元组的头实体,r表示三元组的关系,t表示三元组的尾实体,ε和R分别表示知识图谱G的实体集和关系集;采用双向知识传播的思想对用户u和物品v的初始实体集进行知识传播,获得初始实体集的l跳邻居实体集;借此来挖掘知识图谱中含有的高阶语义信息,帮助提高推荐的精度;将用户u和物品v的l跳邻居实体集定义如下:[0082][0083] 其中l表示从初始实体集向外传播的距离,下角标w表示用户u和物品v的统一占位符;[0084] 在l跳邻居实体集的定义基础上,给定用户u和物品v的l跳传播集如下:[0085][0086] 其中r'表示关系r的反向;[0087] 双向的知识传播使初始实体集沿着知识图谱中的实体连接一层一层由里向外传播;借此能够捕获知识图谱中丰富的高阶语义信息,进而更好地挖掘目标用户的潜在偏好,大大地提高模型对用户和物品嵌入表示能力;[0088] 步骤2:采用循环注意力嵌入聚合传播过程中l跳邻居实体集的信息;[0089] 知识图谱G表示为{(h,r,t)|h,t∈ε,r∈R},其中每一个三元组描述了头实体h和尾实体t存在着关系r这一事实;知识图谱中每一个三元组的头实体和尾实体的相关性决定于它们之间的关系;因此,提出了一种循环注意力嵌入的方法,帮助生成迭代更新过程中不同邻居实体的注意力权重;[0090] 步骤2.1:设(h,r,t)是l跳传播集的第k个三元组,考虑某一头实体,其相关尾实体的循环注意力嵌入定义如下:[0091][0092] 对于当前三元组而言, 是头实体的嵌入向量,rk是关系的嵌入向量, 是尾实体的嵌入向量,同时 作为注意力权重控制实体信息传播过程中的衰减;该循环注意力机制定义如下:[0093][0094] zk=tanh(Wzxk+Whh0+bz)[0095] fk=σ(Wfxk+Whh0+bf)[0096] ik=σ(Wixk+Whh0+bi)[0097] ok=σ(Woxk+Whh0+bo)[0098] ck=fk⊙c0+ik⊙zk[0099][0100] 其中h0,c0表示随机初始化的隐藏状态,Wz,Wi,Wf,Wo,Wh表示可训练的权重矩阵,同时bz,bi,bf和bo表示偏差;ik,ok和fk分别表示输入、输出和遗忘门;σ表示Sigmoid激活函数,⊙是向量的元素级乘积;[0101] 步骤2.2:采用softmax函数来对用户u和物品v的l跳传播集中的三元组的权重进行归一化处理:[0102][0103] 其中,(h',r',t')表示当前传播集中任意一个三元组, 和r′k分别表示三元组(h',r',t')中头实体和关系的嵌入向量表示;[0104] 步骤2.3:对l跳传播集再次执行步骤1的双向知识传播,得到用户u和物品v的l跳实体信息表示,其定义如下:[0105][0106] 其中,w表示用户u和物品v的统一占位符, 表示用户u和物品v在第l层传播集三元组的个数;l层即l跳;[0107] 步骤2.4:对于最终的用户和物品的向量表示,还需要将知识传播的起点即初始实体向量表示纳入最终的用户和物品多层向量表示集;用户u和物品v的初始实体向量表示定义如下:[0108][0109][0110] 用户u和物品v的信息在经过多层知识传播之后,得到最终的用户和物品的多层实体向量表示集:[0111][0112] 步骤3:对目标用户u和参与推荐的物品v的交互概率进行预测;[0113] 在最终的预测之前需要将用户u和物品v的多层实体向量表示聚合为单个的用户和物品向量表示;在此,采用了连接聚合方式来实现多层到单个的向量聚合:[0114] 连接聚合:将多层实体向量表示进行连接操作,然后进行非线性变换的处理:[0115][0116] 其中W1和b1分别表示转换权重矩阵和偏差,σ是非线性激活函数Sigmoid,||表示连接操作;[0117] 使用 表示用户u最终的向量表示,使用 代表物品v最终的向量表示;最后,对用户和物品的最终向量使用内积来预测用户u对物品v的偏好得分:[0118][0119] 步骤4:基于前三个步骤,对推荐结果进行解释;为了增加对推荐结果的理解,提出一种新的针对推荐结果的图形化的直观后解释方法;[0120] 步骤4.1:首先从用户—物品交互矩阵Y中提取每条用户和物品之间的交互信息以三元组的形式保存;若用户u和物品v之间存在历史交互,则会存在{(u,user.interact,v)|u,v∈Y}三元组表示;[0121] 步骤4.2:遵循构建知识图谱的思想构建用户—物品交互图,通过用户—物品交互图中的物品和知识图谱中的实体映射将二者融为交互知识图作为解释的准备条件;[0122] 步骤4.3:针对推荐部分给出的推荐结果;将用户和推荐结果中的每个物品以用户—物品对(u,v')的形式引入到构建好的交互知识图中,挖掘图中存在的用户与用户之间、用户与物品之间、物品与物品之间的潜在联系,从该用户出发探索图中存在的用户到推荐物品的路径语义信息,提取多条关系密切的用户到物品的路径,并将路径整合以图结构化的形式输出出来作为模型对推荐物品的解释;这有助于开发人员了解模型的行为,进一步对不同应用场景下的模型进行有针对性的改进,同时,帮助系统的用户了解推荐的原因,从而对推荐结果做出更加明确的选择;[0123] 步骤5:对步骤1‑步骤3进行训练优化;[0124] 为了优化推荐结果,采用交叉熵损失函数作为目标函数对步骤1‑步骤3进行训练;在训练过程中,对每个用户采样与正样本数相同的的负样本进行训练;训练结束后,执行步骤1‑步骤3进行推荐;[0125] 损失函数定义如下:[0126][0127] 其中J是交叉熵损失函数,P+表示用户—正样本对集合,P‑表示用户—负样本对集合。 是推荐过程中的参数,其中E和R是知识图谱中所有实体和关系的嵌入矩阵,λ表示L2正则化系数。[0128] 本发明方法基于音乐和图书两个真实的数据集进行了大量的实验,在两种实验场景中评估方法。其中在点击预测场景中,采用AUC和F1来评价本方法在点击预测场景中的表现。在Top‑k推荐场景中,使用Recall@K作为评价指标来评价最后的推荐物品的准确性。基于两种数据集的点击预测和Top‑K推荐结果分别见表1和附图2。从实验结果可以看出,与现有的基于传播的知识图谱推荐方法相比,该方法在音乐数据集针对AUC和F1评价指标分别实现了相对1.4%和1.2%的提升,在图书数据集针对AUC和F1评价指标分别实现了相对1.8%和1.6%的提升。[0129] 表1基于两个数据集的点击预测场景下的AUC和F1结果[0130][0131] 从图2的实验结果可以看出,本发明方法在Top‑K推荐场景中相较于其他基于传播的知识图谱推荐方法仍然表现优越。因此该推荐方法能为用户生成更加准确的个性化推荐列表,更加易于捕捉用户的潜在兴趣,更加精准的向用户推荐物品。[0132] 同时,针对本方法提出的推荐解释,基于音乐数据集进行实验验证模型整体的可解释性。从音乐数据集随机抽样用户u197然后从该用户的推荐结果中随机抽样音乐m2371。将用户u197和音乐m2371一同输入到推荐解释模块得到的图结构化的解释结果如图3所示。[0133] 图3中G1~G10表示与相同的物品存在交互的用户集合,通过图3展示的实验结果可以看出,本发明可以挖掘出目标用户和被推荐音乐之间存在多条包含不同语义信息的关系路径,并以图结构化的形式给出针对推荐结果的合理解释。这种具有合理解释的推荐结果更容易被用户所接受,从而增强用户对系统的信任和满意程度。

专利地区:河北

专利申请日期:2022-03-31

专利公开日期:2024-07-26

专利公告号:CN114637863B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部