一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

推荐方法和装置与流程

2021-10-29 22:56:00 来源:中国专利 TAG:地说 装置 公开 方法 数据

1.本公开涉及大数据技术领域,更具体地说,涉及一种推荐方法和装置。


背景技术:

2.知识图谱作为辅助信息在推荐系统中得到了广泛的研究和应用。在基于知识图谱技术的推荐系统的应用中,进行训练采用的模型有多种。其中,ripplenet模型沿着知识图谱中的连接传播用户的潜在偏好。kgcn模型和kgnn

ls模型采用图卷积网络在知识图谱中通过邻居实体来获取项目的嵌入表示。kgat模型引入一种协同知识图(ckg),将用户项目交互图和知识图谱结合在一起,通过图卷积神经网络递归地在ckg上传播。该方法提前假设了用户项目交互图的项目和知识图谱中的关联实体属于同一潜在空间,但实际上二者属于异构节点。
3.相关技术中的协同知识嵌入注意网络的推荐系统ckan(collaborative knowledge

aware attentive network for recommender systems)通过取消用户的独立嵌入表示,而使用用户交互过的项目的嵌入表示来组成用户的嵌入表示,ckan作为一种基于传播的端到端的模型,具有一定的推荐准确率,但忽略了对知识图谱内部实体间复杂语义关系空间的处理。


技术实现要素:

4.本公开提供一种推荐方法和装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
5.根据本公开实施例的第一方面,提供一种推荐方法,包括:获取待推荐数据,其中,所述待推荐数据包括多个用户数据、多个项目数据、基于多个用户数据构建的用户知识图谱和基于多个项目数据构建的项目知识图谱;将所述待推荐数据输入训练好的推荐模型,得到所述待推荐数据中各用户数据对各项目数据的偏好得分预测值;基于所述待推荐数据中各用户数据对各项目数据的偏好得分预测值,为每一用户数据获取至少一个项目数据作为推荐项目数据。
6.可选地,所述推荐模型包括空间转换网络和偏好计算网络,所述推荐模型通过下述步骤训练:基于用户历史知识图谱获取用户数据集,并基于项目历史知识图谱获取项目数据集,其中,所述用户数据集包括至少一个用户数据,所述项目数据集包括至少一个项目数据;基于所述用户数据集和所述项目数据集获取第一类三元组,其中,各第一类三元组均包括头实体、关系和尾实体,各第一类三元组的头实体和尾实体均为所述用户数据集中的用户数据或所述项目数据集中的项目数据,各第一类三元组的头实体和尾实体通过关系表达正确知识;对第一类三元组中的尾实体进行随机替换,获取第二类三元组,其中,所述第二类三元组与所述第一类三元组一一对应;将第一类三元组和第二类三元组输入所述空间转换网络中,获取第一类三元组的嵌入表示,其中,所述空间转换网络为transr模型;基于第一类三元组和第二类三元组,获取所述空间转换网络的损失函数;对第一类三元组的头
实体、关系和尾实体均进行随机替换,获取第三类三元组,其中,所述第三类三元组与所述第一类三元组一一对应;基于第一类三元组的嵌入表示,获取第三类三元组的嵌入表示;将第一类三元组的嵌入表示和第三类三元组的嵌入表示输入所述偏好计算网络,获取第一类三元组的嵌入表示中的用户数据和项目数据的注意力表示,并对用户数据和项目数据的注意力表示进行逐层聚合,获取用户数据的模型表示和项目数据的模型表示,并基于用户数据的模型表示和项目数据的模型表示,获取每一用户数据对每一项目数据的偏好得分预测值,其中,用户数据的注意力表示是头实体为用户数据的第一类三元组基于注意力权重获取的表示,项目数据的注意力表示是头实体为项目数据的第一类三元组基于注意力权重获取的表示,所述偏好计算网络为包含多层传播的基于注意力机制的图神经网络模型,在所述偏好计算网络的各层中均以全部第一类三元组的嵌入表示和全部第三类三元组的嵌入表示进行传播;根据每一用户数据对每一项目数据的偏好得分预测值获取所述偏好计算网络的损失函数;基于所述空间转换网络的损失函数和所述偏好计算网络的损失函数获取所述推荐模型的损失函数;通过根据所述推荐模型的损失函数调整所述推荐模型的参数组,对所述推荐模型进行训练。
7.可选地,所述将第一类三元组和第二类三元组输入所述空间转换网络中,获取第一类三元组的嵌入表示,包括:将第一类三元组和第二类三元组输入所述空间转换网络中,获取第一类三元组中的关系的变换矩阵,并基于第一类三元组中的关系的变换矩阵,获取第一类三元组的嵌入表示,其中,所述变换矩阵用于将头实体的空间或尾实体的空间投影到关系空间。
8.可选地,所述第一类三元组的嵌入表示,表示为:;其中,;其中,为所述偏好计算网络的第层传播中任一第一类三元组的嵌入表示,代表头实体为用户数据或头实体为项目数据,为所述偏好计算网络的任一层传播中将头实体的空间和尾实体的空间均投影到关系空间的任一第一类三元组,为所述偏好计算网络的任一层传播中任一第一类三元组中的关系的变换矩阵,为所述偏好计算网络的任一层传播中的任一第一类三元组,为的头实体,为的关系,为的尾实体,为所述用户历史知识图谱和所述项目历史知识图谱,为所述偏好计算网络的第层传播中第一类三元组的递归定义表示,为所述偏好计算网络的总层数。
9.可选地,所述空间转换网络的损失函数,表示为:
;其中,;其中,;其中,为所述空间转换网络的损失函数,为所述偏好计算网络的任一层传播中的任一第一类三元组,为的头实体,为的关系,为的尾实体,代表sigmoid函数,为与对应的第二类三元组,为的尾实体,为的相似性得分,为的相似性得分,为所述用户历史知识图谱和所述项目历史知识图谱,为所述偏好计算网络的任一层传播中任一第一类三元组中的关系的变换矩阵,为的嵌入表示,为的嵌入表示,为的嵌入表示。
10.可选地,所述将第一类三元组的嵌入表示和第三类三元组的嵌入表示输入所述偏好计算网络,获取第一类三元组的嵌入表示中的用户数据和项目数据的注意力表示,包括:基于relu函数和sigmoid函数,获取所述偏好计算网络的任一层传播中第一类三元组的注意力权重,其中,所述注意力权重为头实体对尾实体的权重;通过softmax函数,对所述偏好计算网络的任一层传播中第一类三元组的注意力权重进行归一化处理,获取归一化后的所述偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重;基于所述归一化后的所述偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重,获取所述偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示;将所述偏好计算网络的所有层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示整合成集合。
11.可选地,所述偏好计算网络的任一层传播中第一类三元组的注意力权重,表示为:;其中,;其中,为所述偏好计算网络的任一层传播中第个第一类三元组的基于的注意力权重,为所述偏好计算网络的任一层传播中第个第一类三元组的头实体在
关系空间的嵌入表示,为所述偏好计算网络的任一层传播中第个第一类三元组的关系,代表sigmoid函数,代表relu函数,、、、、和均为所述推荐模型的参数组中的参数;基于所述偏好计算网络的任一层传播中第一类三元组的注意力权重,通过下式获取所述归一化后的所述偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重:;其中,为归一化后的所述偏好计算网络的任一层传播中第个第一类三元组的基于的注意力权重,为所述偏好计算网络的任一层传播中第个第三类三元组的基于的注意力权重,为所述偏好计算网络的任一层传播中第个第三类三元组的头实体在关系空间的嵌入表示,为任一第三类三元组,为的头实体,为的关系,为的尾实体,为所述偏好计算网络的任一层传播中第个第三类三元组的关系。
12.可选地,所述偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示,表示为:;其中,;其中,为所述偏好计算网络的第层传播中头实体为用户数据或项目数据的第一类三元组的注意力表示,为所述偏好计算网络的第层传播中头实体为用户数据或项目数据的第一类三元组的总个数,为所述偏好计算网络的第层传播中任一第一类三元组的嵌入表示,为所述偏好计算网络的任一层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元组的注意力表示,为所述偏好计算网络的任一层传播
中第个第一类三元组的注意力表示,为所述偏好计算网络的任一层传播中第个第一类三元组的尾实体在关系空间的嵌入表示;将所述偏好计算网络的所有层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示,通过下式整合成集合:;其中,;其中,为头实体为用户数据的第一类三元组的注意力表示集合,为所述偏好计算网络的第层中头实体为用户数据的第一类三元组的注意力表示,为所述偏好计算网络的第层中头实体为用户数据的第一类三元组的注意力表示,为所述偏好计算网络的第层中头实体为用户数据的第一类三元组的注意力表示,为头实体为项目数据的第一类三元组的注意力表示集合,为所有头实体为项目数据的第一类三元组的初始注意力表示,为所述偏好计算网络的第层中头实体为项目数据的第一类三元组的注意力表示,为所述偏好计算网络的第层中头实体为项目数据的第一类三元组的注意力表示,为所述偏好计算网络的第层中头实体为项目数据的第一类三元组的注意力表示,为所述项目历史知识图谱中的项目数据编码集合,代表头实体为项目数据,代表头实体为用户数据。
13.可选地,通过下式对用户数据和项目数据的注意力表示进行逐层聚合:;其中,为所述逐层聚合后的用户数据或项目数据的注意力表示,代表头实体为用户数据或头实体为项目数据,为所述偏好计算网络的第层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元组的注意力表示,为所述偏好计算网络的第层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元
组的注意力表示,为所述偏好计算网络的第层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元组的注意力表示,‖为拼接操作,和均为所述推荐模型的参数组中的参数。
14.可选地,通过下式获取每一用户数据对每一项目数据的偏好得分预测值:;其中,为任一用户数据对任一项目数据的偏好得分预测值,为转置后的所述任一用户数据的模型表示,为所述任一项目数据的模型表示,所述任一用户数据的模型表示基于逐层聚合后的用户数据的注意力表示获取,所述任一项目数据的模型表示基于逐层聚合后的项目数据的注意力表示获取。
15.可选地,所述偏好计算网络的损失函数,表示为:;其中,为所述偏好计算网络的损失函数,代表头实体为项目数据,代表头实体为用户数据,为第一类三元组,表示对求交叉熵损失,为所述任一用户数据对所述任一项目数据的偏好得分真实值,为所述任一用户数据对所述任一项目数据的偏好得分预测值,为第三类三元组。
16.可选地,所述推荐模型的损失函数,表示为:;其中,;其中,为所述推荐模型的损失函数,为所述空间转换网络的损失函数,为所述偏好计算网络的损失函数,为可调参数,为所述推荐模型的参数组,为第一类三元组的头实体和尾实体的嵌入表示集合,为第一类三元组的关系的嵌入表示集合,均为中的参数。
17.可选地,所述基于所述待推荐数据中各用户数据对各项目数据的偏好得分预测值,为每一用户数据获取至少一个项目数据作为推荐项目数据,包括:将所述待推荐数据中的任一用户数据对各项目数据的偏好得分预测值按照大小降序排列;获取与排序在第一位至第n位的偏好得分预测值对应的项目数据作为推荐项目数据,或者,获取与大于预设阈值的偏好得分预测值对应的项目数据作为推荐项目数据,其中,n为大于等于1的预设整数。
18.根据本公开实施例的第二方面,提供一种推荐装置,包括:数据获取单元,被配置为:获取待推荐数据,其中,所述待推荐数据包括多个用户数据、多个项目数据、基于多个用户数据构建的用户知识图谱和基于多个项目数据构建的项目知识图谱;模型预测单元,被配置为:将所述待推荐数据输入训练好的推荐模型,得到所述待推荐数据中各用户数据对各项目数据的偏好得分预测值;项目推荐单元,被配置为:基于所述待推荐数据中各用户数据对各项目数据的偏好得分预测值,为每一用户数据获取至少一个项目数据作为推荐项目数据。
19.根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的推荐方法。
20.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的推荐方法。
21.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现根据本公开的推荐方法。
22.本公开的实施例提供的技术方案至少带来以下有益效果:根据本公开的推荐方法和装置,在推荐模型中采用transr模型作为空间转换网络,对以三元组的形式表示的正确知识进行了有效表示,实现了协同信息与知识传播更高效的融合方式,促进了第一类三元组的嵌入表示在偏好计算网络中的传播。训练好的transr模型可以对实体进行空间转换,能够有效处理实体之间的复杂关系,度量知识的相关性,进而有效地刻画实体关系。空间转换网络的损失函数考虑了第一类三元组和第二类三元组的相关关系,能够在第一类三元组粒度上降低两两排序的损失,提高了推荐模型对知识的表示能力,加强了知识图谱中实体间的潜在关系。相较于ckan,能够减少不同语义空间的距离对知识表示的影响。
23.此外,根据本公开的推荐方法和装置,基于用户历史知识图谱获取用户数据集,并基于项目历史知识图谱获取项目数据集,进而获取包括头实体、关系和尾实体的第一类三元组,能够提高对知识的表示能力。
24.此外,根据本公开的推荐方法和装置,基于空间转换网络获取的嵌入表示,进而在偏好计算网络获取了注意力权重,相较于ckan获取的注意力权重更具区分度。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
27.图1是示出根据本公开的示例性实施例的ckgan系统框架示意图。
28.图2是示出根据本公开的示例性实施例的推荐方法的流程图。
29.图3是示出根据本公开的示例性实施例的推荐模型的训练方法的流程图。
30.图4是示出根据本公开的示例性实施例的ctr场景下基于last.fm数据集的点击率
knowledge

aware attentive network for recommender systems)通过取消用户的独立嵌入表示,而使用用户交互过的项目的嵌入表示来组成用户的嵌入表示。用户和项目的嵌入表示被处理为知识图谱内实体序列的组合,接着ckan将这些嵌入表示直接在知识图谱内传播。虽然这种方法利用知识图谱中实体嵌入表示的组合直接代表用户和项目的嵌入表示,有效地降低了传统方法中用户项目图和知识图谱中实体在不同潜在空间的距离,但是ckan忽略了知识图谱内部,同一实体在不同关系下处于不同的潜在空间,尤其是在推荐场景中实体之间的关系往往是多对多的。
44.ckan作为一种基于传播的端到端的模型,充分利用了协同信息、拉近了用户项目交互图中的实体和知识图谱中实体的潜在空间,具有一定的推荐准确率,但忽略了对知识图谱内部实体间复杂语义关系空间的处理。
45.为了解决上述相关技术中存在的问题,本公开提出一种推荐方法和装置,采用空间转换网络和偏好计算网络构建成推荐模型,对来自于知识图谱的数据进行训练,通过推荐模型得到用户对项目的偏好得分预测值进行推荐,能够有效处理实体之间的复杂关系,加强了知识图谱中实体间的潜在关系。
46.下面,将参照图1至图12来详细描述根据本公开的推荐方法和装置。
47.图1是示出根据本公开的示例性实施例的ckgan系统框架示意图。本公开的示例性实施例中的推荐方法是基于图1所示的ckgan系统框架得到的。
48.参照图1,本公开的示例性实施例提出了一种协同知识图谱嵌入引导注意网络的推荐系统ckgan(collaborative kge

guided attentive network for recommender systems),包括嵌入表示部分、基于图神经网络的知识嵌入传播部分和聚合预测部分。在嵌入表示部分,将用户数据和项目数据表示为嵌入序列组合,即嵌入表示,在嵌入表示部分融入了transr模型,将实体空间投影到关系空间。在基于图神经网络的知识嵌入传播部分融入了包含多层传播的基于注意力机制的图神经网络模型,对邻居节点进行多跳聚合传播。在聚合预测部分对于每一用户数据对每一项目数据的偏好得分进行预测。
49.根据本公开的示例性实施例,用户数据指代需要被推荐的对象或象征需要被推荐的对象的数据,项目数据指代推荐对象或象征推荐对象的数据,例如用户数据为商店顾客的用户id,项目数据为商店商品的商品编号。
50.图2是示出根据本公开的示例性实施例的推荐方法的流程图。
51.参照图2,在步骤201,可获取待推荐数据,其中,待推荐数据包括多个用户数据、多个项目数据、基于多个用户数据构建的用户知识图谱和基于多个项目数据构建的项目知识图谱。
52.根据本公开的示例性实施例,待推荐数据还可以包括,但不限于,多个用户数据和多个项目数据之间的至少一个历史交互数据。
53.在步骤202,可将待推荐数据输入训练好的推荐模型,得到待推荐数据中各用户数据对各项目数据的偏好得分预测值。
54.根据本公开的示例性实施例,推荐模型可包括空间转换网络和偏好计算网络,空间转换网络可为transr模型,偏好计算网络可为包含多层传播的基于注意力机制的图神经网络模型。本公开的示例性中的训练好的推荐模型,是通过训练样本对transr模型和包含多层传播的基于注意力机制的图神经网络模型一起进行训练获得的。
55.根据本公开的示例性实施例,各用户数据对各项目数据的偏好得分预测值,可以是各用户数据对各项目数据的获取概率预测值。以任一用户数据为用户名为a的待购买商品的用户,任一项目数据为商品b为例,任一用户数据对任一项目数据的获取概率预测值为a购买商品b的概率预测值。
56.根据本公开的示例性实施例,推荐方法可以将基于各用户数据对各项目数据的偏好得分预测值作为参考,向各用户数据推荐合适的项目数据。这样,在步骤203,可基于待推荐数据中各用户数据对各项目数据的偏好得分预测值,为每一用户数据获取至少一个项目数据作为推荐项目数据。
57.根据本公开的示例性实施例,可将待推荐数据中的任一用户数据对各项目数据的偏好得分预测值按照大小降序排列;获取与排序在第一位至第n位的偏好得分预测值对应的项目数据作为推荐项目数据,或者,获取与大于预设阈值的偏好得分预测值对应的项目数据作为推荐项目数据,其中,n为大于等于1的预设整数。
58.根据本公开的示例性实施例,以任一用户数据为用户名为c的待观看电影的用户,项目数据为电影d、电影e、电影f、电影g、电影h、电影i和电影j为例,通过训练好的推荐模型,得到c对电影d、电影e、电影f、电影g、电影h、电影i和电影j的偏好得分预测值分别是0.61、0.82、0.93、0.45、0.56、0.77和0.95,那么将c对各项目数据的偏好得分预测值按照大小降序排列得到:电影j、电影f、电影e、电影i、电影d、电影h和电影g,若n=3,则将电影j、电影f和电影e推荐给c,若预设阈值为0.6,则将电影j、电影f、电影e、电影i、电影d推荐给c。
59.可以看出,本公开的示例性实施例中的推荐方法是基于训练好的推荐模型的预测结果获得的,下面将对推荐模型的训练过程做出进一步地描述。图3是示出根据本公开的示例性实施例的推荐模型的训练方法的流程图。
60.参照图3,推荐模型包括空间转换网络和偏好计算网络。在步骤301,可基于用户历史知识图谱获取用户数据集,并基于项目历史知识图谱获取项目数据集,其中,用户数据集包括至少一个用户数据,项目数据集包括至少一个项目数据。
61.根据本公开的示例性实施例,用户历史知识图谱和项目历史知识图谱中均可包括,但不限于,多个用户数据和多个项目数据之间的至少一个历史交互数据。
62.在步骤302,可基于用户数据集和项目数据集获取第一类三元组,其中,各第一类三元组均包括头实体、关系和尾实体,各第一类三元组的头实体和尾实体均为用户数据集中的用户数据或项目数据集中的项目数据,各第一类三元组的头实体和尾实体通过关系表达正确知识。
63.根据本公开的示例性实施例,各第一类三元组的头实体和尾实体通过关系表达正确知识可以是指,对于任一第一类三元组,头实体和尾实体基于关系所传达的知识是可以从用户历史知识图谱和/或项目历史知识图谱中获取到的。
64.在步骤303,可对第一类三元组中的尾实体进行随机替换,获取第二类三元组,其中,第二类三元组与第一类三元组一一对应。
65.根据本公开的示例性实施例,第一类三元组的个数和第二类三元组的个数可相等。第二类三元组表达的不是正确知识,第二类三元组相对于第一类三元组是被损坏的三元组。
66.在步骤304,可将第一类三元组和第二类三元组输入空间转换网络中,获取第一类
三元组的嵌入表示,其中,空间转换网络为transr模型。
67.根据本公开的示例性实施例,可将获取到的第一类三元组作为空间转换网络训练过程的正样本,可将获取到的第二类三元组作为空间转换网络训练过程的负样本。
68.根据本公开的示例性实施例,可将第一类三元组和第二类三元组输入空间转换网络中,获取第一类三元组中的关系的变换矩阵,并基于第一类三元组中的关系的变换矩阵,获取第一类三元组的嵌入表示,其中,变换矩阵用于将头实体的空间或尾实体的空间投影到关系空间。
69.根据本公开的示例性实施例,第一类三元组的嵌入表示,表示为式(1):;
ꢀꢀꢀ
(1)其中,;
ꢀꢀꢀ
(2)其中,为偏好计算网络的第层传播中任一第一类三元组的嵌入表示,代表头实体为用户数据或头实体为项目数据,为偏好计算网络的任一层传播中将头实体的空间和尾实体的空间均投影到关系空间的任一第一类三元组,为偏好计算网络的任一层传播中任一第一类三元组中的关系的变换矩阵,为偏好计算网络的任一层传播中的任一第一类三元组,为的头实体,为的关系,为的尾实体,为用户历史知识图谱和项目历史知识图谱,为偏好计算网络的第层传播中第一类三元组的递归定义表示,为偏好计算网络的总层数。需要说明的是,为在不损害用户数据和项目数据的实体序列沿着用户历史知识图谱和项目历史知识图谱连接传播以拓展其潜在向量表示的情况下的第一类三元组的递归定义表示。,为将维实体空间中的实体投影到维关系空间的空间。
70.在步骤305,可基于第一类三元组和第二类三元组,获取空间转换网络的损失函数。
71.根据本公开的示例性实施例,空间转换网络的损失函数,表示为式(3):;
ꢀꢀꢀ
(3)其中,;
ꢀꢀꢀ
(4)其中,

ꢀꢀꢀ
(5)其中,为空间转换网络的损失函数,为偏好计算网络的任一层传播中的任一第一类三元组,为的头实体,为的关系,为的尾实体,代表sigmoid函数,为与对应的第二类三元组,为的尾实体,为的相似性得分,为的相似性得分,的得分越低代表相似程度越高,为用户历史知识图谱和项目历史知识图谱,为偏好计算网络的任一层传播中任一第一类三元组中的关系的变换矩阵,为的嵌入表示,为的嵌入表示,为的嵌入表示。,,为维实体空间,为维关系空间。需要说明的是,相似性得分即能量得分。
72.根据本公开的示例性实施例,当的头实体和关系之和无限接近尾实体时,存在如下式(6)所示的关系:;
ꢀꢀꢀ
(6)其中,为在关系空间的投影表示,为在关系空间的投影表示。
73.在步骤306,可对第一类三元组的头实体、关系和尾实体均进行随机替换,获取第三类三元组,其中,第三类三元组与第一类三元组一一对应。
74.根据本公开的示例性实施例,第一类三元组的个数和第三类三元组的个数可相等。第三类三元组表达的不是正确知识,第三类三元组相对于第一类三元组是被损坏的三元组。
75.在步骤307,可基于第一类三元组的嵌入表示,获取第三类三元组的嵌入表示。
76.根据本公开的示例性实施例,第一类三元组的嵌入表示也以三元组的形式表示,第三类三元组的嵌入表示是将第一类三元组的嵌入表示以步骤306中的替换关系对应替换得到的。
77.在步骤308,可将第一类三元组的嵌入表示和第三类三元组的嵌入表示输入偏好计算网络,获取第一类三元组的嵌入表示中的用户数据和项目数据的注意力表示,并对用户数据和项目数据的注意力表示进行逐层聚合,获取用户数据的模型表示和项目数据的模型表示,并基于用户数据的模型表示和项目数据的模型表示,获取每一用户数据对每一项目数据的偏好得分预测值,其中,用户数据的注意力表示是头实体为用户数据的第一类三元组基于注意力权重获取的表示,项目数据的注意力表示是头实体为项目数据的第一类三元组基于注意力权重获取的表示,偏好计算网络为包含多层传播的基于注意力机制的图神经网络模型,在偏好计算网络的各层中均以全部第一类三元组的嵌入表示和全部第三类三
元组的嵌入表示进行传播。
78.根据本公开的示例性实施例,可将第一类三元组作为偏好计算网络训练过程的正样本,可将第三类三元组作为偏好计算网络训练过程的负样本。
79.根据本公开的示例性实施例,可通过以下方式来获取第一类三元组的嵌入表示中的用户数据和项目数据的注意力表示。
80.首先,可基于relu函数和sigmoid函数,获取偏好计算网络的任一层传播中第一类三元组的注意力权重,其中,注意力权重为头实体对尾实体的权重。
81.偏好计算网络的任一层传播中第一类三元组的注意力权重,可表示为式(7):;
ꢀꢀ
(7)其中,;
ꢀꢀꢀ
(8)其中,为偏好计算网络的任一层传播中第个第一类三元组的基于的注意力权重,为偏好计算网络的任一层传播中第个第一类三元组的头实体在关系空间的嵌入表示,为偏好计算网络的任一层传播中第个第一类三元组的关系,代表sigmoid函数,代表relu函数,、、、、和均为推荐模型的参数组中的参数。relu函数为非线性激活函数,‖是拼接操作,和均为权值矩阵参数,、和均为偏差参数。
82.然后,可通过softmax函数,对偏好计算网络的任一层传播中第一类三元组的注意力权重进行归一化处理,获取归一化后的偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重。
83.可通过下式(9)获取归一化后的偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重:;
ꢀꢀꢀ
(9)其中,为归一化后的偏好计算网络的任一层传播中第个第一类三元组的基于的注意力权重,为偏好计算网络的任一层传播中第个第三类三元组的基于的注意力权重,为偏好计算网络的任一层传播中第个第三类三元组的头实体
在关系空间的嵌入表示,为任一第三类三元组,为的头实体,为的关系,为的尾实体,为偏好计算网络的任一层传播中第个第三类三元组的关系。
84.接下来,可基于归一化后的偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重,获取偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示。
85.偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示,可表示为式(10):;
ꢀꢀꢀ
(10)其中,;
ꢀꢀꢀ
(11)其中,为偏好计算网络的第层传播中头实体为用户数据或项目数据的第一类三元组的注意力表示,为偏好计算网络的第层传播中头实体为用户数据或项目数据的第一类三元组的总个数,为偏好计算网络的第层传播中任一第一类三元组的嵌入表示,为偏好计算网络的任一层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元组的注意力表示,为偏好计算网络的任一层传播中第个第一类三元组的注意力表示,为偏好计算网络的任一层传播中第个第一类三元组的尾实体在关系空间的嵌入表示。
86.最后,可将偏好计算网络的所有层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示通过下式(12)整合成集合:;
ꢀꢀꢀ
(12)其中,;
ꢀꢀꢀ
(13)其中,为头实体为用户数据的第一类三元组的注意力表示集合,为偏好计算网络的第层中头实体为用户数据的第一类三元组的注意力表示,为偏好计算网络的
第层中头实体为用户数据的第一类三元组的注意力表示,为偏好计算网络的第层中头实体为用户数据的第一类三元组的注意力表示,为头实体为项目数据的第一类三元组的注意力表示集合,为所有头实体为项目数据的第一类三元组的初始注意力表示,为偏好计算网络的第层中头实体为项目数据的第一类三元组的注意力表示,为偏好计算网络的第层中头实体为项目数据的第一类三元组的注意力表示,为偏好计算网络的第层中头实体为项目数据的第一类三元组的注意力表示,为项目历史知识图谱中的项目数据编码集合,代表头实体为项目数据,代表头实体为用户数据。由项目数据在项目历史知识图谱中的项目数据编码集合中对应的实体组成。
87.根据本公开的示例性实施例,可通过拼接聚合方式,基于下式(14)对用户数据和项目数据的注意力表示进行逐层聚合:;
ꢀꢀꢀ
(14)其中,为逐层聚合后的用户数据或项目数据的注意力表示,代表头实体为用户数据或头实体为项目数据,为偏好计算网络的第层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元组的注意力表示,为偏好计算网络的第层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元组的注意力表示,为偏好计算网络的第层传播中第个头实体为用户数据或第个头实体为项目数据的第一类三元组的注意力表示,‖为拼接操作,和均为推荐模型的参数组中的参数。
88.根据本公开的示例性实施例,可通过下式(15)获取每一用户数据对每一项目数据的偏好得分预测值:;
ꢀꢀꢀ
(15)其中,为任一用户数据对任一项目数据的偏好得分预测值,为转置后的任一用户数据的模型表示,为任一用户数据的模型表示,为任一项目数据的模型表示,任一用户数据的模型表示基于逐层聚合后的用户数据的注意力表示获取,任一项目数据的模型表示基于逐层聚合后的项目数据的注意力表示获取。代表对和求内积。
89.回到图3,在步骤309,可根据每一用户数据对每一项目数据的偏好得分预测值获
取偏好计算网络的损失函数。
90.根据本公开的示例性实施例,偏好计算网络的损失函数,表示为式(16):;
ꢀꢀꢀ
(16)其中,为偏好计算网络的损失函数,代表头实体为项目数据,代表头实体为用户数据,为第一类三元组,表示对求交叉熵损失,为任一用户数据对任一项目数据的偏好得分真实值,为任一用户数据对任一项目数据的偏好得分预测值,为第三类三元组。
91.在步骤310,可基于空间转换网络的损失函数和偏好计算网络的损失函数获取推荐模型的损失函数。
92.根据本公开的示例性实施例,推荐模型的损失函数,表示为式(17):;
ꢀꢀꢀ
(17)其中,;
ꢀꢀꢀ
(18)其中,为推荐模型的损失函数,为空间转换网络的损失函数,为偏好计算网络的损失函数,为可调参数,为推荐模型的参数组,为第一类三元组的头实体和尾实体的嵌入表示集合,为第一类三元组的关系的嵌入表示集合,均为中的参数。可以是调节的正则化函数。
93.在步骤311,可通过根据推荐模型的损失函数调整推荐模型的参数组,对推荐模型进行训练。
94.具体来说,可根据推荐模型的损失函数对推荐模型的参数组进行调整,在推荐模型的损失函数的值小于特定阈值的时候,结束对于推荐模型的训练。
95.图4是示出根据本公开的示例性实施例的ctr场景下基于last.fm数据集的点击率预测结果示意图。图5是示出根据本公开的示例性实施例的ctr场景下基于book

crossing数据集的点击率预测结果示意图。图6是示出根据本公开的示例性实施例的ctr场景下基于dianping

food数据集的点击率预测结果示意图。
96.参照图4、图5和图6,ctr场景为点击率预测场景,即预测数据集中每个数据交互的概率。model为模型,auc和f1为指标,bprmf、cke、ripplenet、kgcn、kgcn

ls、kgat、ckan和ckgan均为推荐模型。本公开的示例性实施例中的ckgan的auc值在last.fm数据集上达到了0.8473,在book

crossing数据集上达到了0.7538,在dianping

food数据集上达到了0.8783。
97.图7是示出根据本公开的示例性实施例的top

k推荐场景下的recall@k值基于
last.fm数据集的变化示意图。图8是示出根据本公开的示例性实施例的top

k推荐场景下的recall@k值基于book

crossing数据集的变化示意图。图9是示出根据本公开的示例性实施例的top

k推荐场景下的recall@k值基于dianping

food数据集的变化示意图。其中,recall@k值为召回率。
98.参照图7、图8和图9,top

k推荐场景是为数据集中的每个用户推荐k个最可能交互的项目的场景。本公开的示例性实施例中的ckgan均优于ckan。
99.图10是示出根据本公开的示例性实施例的推荐装置的框图。参照图10,推荐装置1000包括数据获取单元1001、模型预测单元1002和项目推荐单元1003,其中:数据获取单元1001被配置为:获取待推荐数据,其中,待推荐数据包括多个用户数据、多个项目数据、基于多个用户数据构建的用户知识图谱和基于多个项目数据构建的项目知识图谱。
100.根据本公开的示例性实施例,待推荐数据还可以包括,但不限于,多个用户数据和多个项目数据之间的至少一个历史交互数据。
101.模型预测单元1002被配置为:将待推荐数据输入训练好的推荐模型,得到待推荐数据中各用户数据对各项目数据的偏好得分预测值。
102.根据本公开的示例性实施例推荐模型可包括空间转换网络和偏好计算网络,空间转换网络可为transr模型,偏好计算网络可为包含多层传播的基于注意力机制的图神经网络模型。本公开的示例性中的训练好的推荐模型,是通过训练样本对transr模型和包含多层传播的基于注意力机制的图神经网络模型一起进行训练获得的。
103.根据本公开的示例性实施例,各用户数据对各项目数据的偏好得分预测值,可以是各用户数据对各项目数据的获取概率预测值。以任一用户数据为用户名为a的待购买商品的用户,任一项目数据为商品b为例,任一用户数据对任一项目数据的获取概率预测值为a购买商品b的概率预测值。
104.项目推荐单元1003被配置为:基于待推荐数据中各用户数据对各项目数据的偏好得分预测值,为每一用户数据获取至少一个项目数据作为推荐项目数据。
105.根据本公开的示例性实施例,项目推荐单元1003可将待推荐数据中的任一用户数据对各项目数据的偏好得分预测值按照大小降序排列;获取与排序在第一位至第n位的偏好得分预测值对应的项目数据作为推荐项目数据,或者,获取与大于预设阈值的偏好得分预测值对应的项目数据作为推荐项目数据,其中,n为大于等于1的预设整数。
106.根据本公开的示例性实施例,以任一用户数据为用户名为c的待观看电影的用户,项目数据为电影d、电影e、电影f、电影g、电影h、电影i和电影j为例,通过训练好的推荐模型,得到c对电影d、电影e、电影f、电影g、电影h、电影i和电影j的偏好得分预测值分别是0.61、0.82、0.93、0.45、0.56、0.77和0.95,那么将c对各项目数据的偏好得分预测值按照大小降序排列得到:电影j、电影f、电影e、电影i、电影d、电影h和电影g,若n=3,则将电影j、电影f和电影e推荐给c,若预设阈值为0.6,则将电影j、电影f、电影e、电影i、电影d推荐给c。
107.图11是示出根据本公开的示例性实施例的推荐模型的训练装置的框图。参照图11,训练装置1100包括数据集获取单元1101、三元组获取单元1102、第一替换单元1103、空间转换网络输入单元1104、第一损失函数获取单元1105、第二替换单元1106、嵌入表示获取单元1107、偏好计算网络输入单元1108、第二损失函数获取单元1109、模型损失函数获取单
元1110和参数调节单元1111。
108.数据集获取单元1101被配置为:基于用户历史知识图谱获取用户数据集,并基于项目历史知识图谱获取项目数据集,其中,用户数据集包括至少一个用户数据,项目数据集包括至少一个项目数据。
109.根据本公开的示例性实施例,用户历史知识图谱和项目历史知识图谱中均可包括,但不限于,多个用户数据和多个项目数据之间的至少一个历史交互数据。
110.三元组获取单元1102被配置为:基于用户数据集和项目数据集获取第一类三元组,其中,各第一类三元组均包括头实体、关系和尾实体,各第一类三元组的头实体和尾实体均为用户数据集中的用户数据或项目数据集中的项目数据,各第一类三元组的头实体和尾实体通过关系表达正确知识。
111.根据本公开的示例性实施例,各第一类三元组的头实体和尾实体通过关系表达正确知识可以是指,对于任一第一类三元组,头实体和尾实体基于关系所传达的知识是可以从用户历史知识图谱和/或项目历史知识图谱中获取到的。
112.第一替换单元1103被配置为:对第一类三元组中的尾实体进行随机替换,获取第二类三元组,其中,第二类三元组与第一类三元组一一对应。
113.根据本公开的示例性实施例,第一类三元组的个数和第二类三元组的个数可相等。第二类三元组表达的不是正确知识,第二类三元组相对于第一类三元组是被损坏的三元组。
114.空间转换网络输入单元1104被配置为:将第一类三元组和第二类三元组输入空间转换网络中,获取第一类三元组的嵌入表示,其中,空间转换网络为transr模型。
115.根据本公开的示例性实施例,可将获取到的第一类三元组作为空间转换网络训练过程的正样本,可将获取到的第二类三元组作为空间转换网络训练过程的负样本。
116.根据本公开的示例性实施例,空间转换网络输入单元1104可将第一类三元组和第二类三元组输入空间转换网络中,获取第一类三元组中的关系的变换矩阵,并基于第一类三元组中的关系的变换矩阵,获取第一类三元组的嵌入表示,其中,变换矩阵用于将头实体的空间或尾实体的空间投影到关系空间。
117.根据本公开的示例性实施例,第一类三元组的嵌入表示,表示为上式(1)。
118.第一损失函数获取单元1105被配置为:基于第一类三元组和第二类三元组,获取空间转换网络的损失函数。
119.根据本公开的示例性实施例,空间转换网络的损失函数,表示为上式(3)。
120.根据本公开的示例性实施例,当的头实体和关系之和无限接近尾实体时,存在如上式(6)所示的关系。
121.第二替换单元1106被配置为:对第一类三元组的头实体、关系和尾实体均进行随机替换,获取第三类三元组,其中,第三类三元组与第一类三元组一一对应。
122.根据本公开的示例性实施例,第一类三元组的个数和第三类三元组的个数可相等。第三类三元组表达的不是正确知识,第三类三元组相对于第一类三元组是被损坏的三元组。
123.嵌入表示获取单元1107被配置为:基于第一类三元组的嵌入表示,获取第三类三
元组的嵌入表示。
124.根据本公开的示例性实施例,第一类三元组的嵌入表示也以三元组的形式表示,第三类三元组的嵌入表示是将第一类三元组的嵌入表示以步骤306中的替换关系对应替换得到。
125.偏好计算网络输入单元1108被配置为:将第一类三元组的嵌入表示和第三类三元组的嵌入表示输入偏好计算网络,获取第一类三元组的嵌入表示中的用户数据和项目数据的注意力表示,并对用户数据和项目数据的注意力表示进行逐层聚合,获取用户数据的模型表示和项目数据的模型表示,并基于用户数据的模型表示和项目数据的模型表示,获取每一用户数据对每一项目数据的偏好得分预测值,其中,用户数据的注意力表示是头实体为用户数据的第一类三元组基于注意力权重获取的表示,项目数据的注意力表示是头实体为项目数据的第一类三元组基于注意力权重获取的表示,偏好计算网络为包含多层传播的基于注意力机制的图神经网络模型,在偏好计算网络的各层中均以全部第一类三元组的嵌入表示和全部第三类三元组的嵌入表示进行传播。
126.根据本公开的示例性实施例,可将第一类三元组作为偏好计算网络训练过程的正样本,可将第三类三元组作为偏好计算网络训练过程的负样本。
127.根据本公开的示例性实施例,偏好计算网络输入单元1108可通过以下方式来获取第一类三元组的嵌入表示中的用户数据和项目数据的注意力表示:可基于relu函数和sigmoid函数,获取偏好计算网络的任一层传播中第一类三元组的注意力权重,其中,注意力权重为头实体对尾实体的权重,其中,偏好计算网络的任一层传播中第一类三元组的注意力权重,可表示为上式(7);可通过softmax函数,对偏好计算网络的任一层传播中第一类三元组的注意力权重进行归一化处理,获取归一化后的偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重,其中,可通过上式(9)获取归一化后的偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重;可基于归一化后的偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力权重,获取偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示,其中,偏好计算网络的任一层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示,可表示为上式(10);可将偏好计算网络的所有层传播中头实体为用户数据和项目数据的第一类三元组的注意力表示,通过上式(12)整合成集合。
128.根据本公开的示例性实施例,偏好计算网络输入单元1108可通过拼接聚合方式,基于上式(14)对用户数据和项目数据的注意力表示进行逐层聚合。
129.根据本公开的示例性实施例,偏好计算网络输入单元1108可通过上式(15)获取每一用户数据对每一项目数据的偏好得分预测值。
130.第二损失函数获取单元1109被配置为:根据每一用户数据对每一项目数据的偏好得分预测值获取偏好计算网络的损失函数。
131.根据本公开的示例性实施例,偏好计算网络的损失函数,可表示为上式(16)。
132.模型损失函数获取单元1110被配置为:基于空间转换网络的损失函数和偏好计算网络的损失函数获取推荐模型的损失函数。
133.根据本公开的示例性实施例,推荐模型的损失函数,可表示为上式(17)。
134.参数调节单元1111被配置为:通过根据推荐模型的损失函数调整推荐模型的参数组,对推荐模型进行训练。
135.具体来说,可根据推荐模型的损失函数对推荐模型的参数组进行调整,在推荐模型的损失函数的值小于特定阈值的时候,结束对于推荐模型的训练。
136.图12是示出根据本公开的示例性实施例的电子设备1200的框图。
137.参照图12,电子设备1200包括至少一个存储器1201和至少一个处理器1202,所述至少一个存储器1201中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器1202执行时,执行根据本公开的示例性实施例的推荐方法。
138.作为示例,电子设备1200可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备1200并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备1200还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
139.在电子设备1200中,处理器1202可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
140.处理器1202可运行存储在存储器1201中的指令或代码,其中,存储器1201还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
141.存储器1201可与处理器1202集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器1201可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器1201和处理器1202可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器1202能够读取存储在存储器中的文件。
142.此外,电子设备1200还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备1200的所有组件可经由总线和/或网络而彼此连接。
143.根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的推荐方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd

rom、cd

r、cd r、cd

rw、cd rw、dvd

rom、dvd

r、dvd r、dvd

rw、dvd rw、dvd

ram、bd

rom、bd

r、bd

r lth、bd

re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机
设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
144.根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的推荐方法。
145.根据本公开的推荐方法和装置,在推荐模型中采用transr模型作为空间转换网络,对以三元组的形式表示的正确知识进行了有效表示,实现了协同信息与知识传播更高效的融合方式,促进了第一类三元组的嵌入表示在偏好计算网络中的传播。训练好的transr模型可以对实体进行空间转换,能够有效处理实体之间的复杂关系,度量知识的相关性,进而有效地刻画实体关系。空间转换网络的损失函数考虑了第一类三元组和第二类三元组的相关关系,能够在第一类三元组粒度上降低两两排序的损失,提高了推荐模型对知识的表示能力,加强了知识图谱中实体间的潜在关系。相较于ckan,能够减少不同语义空间的距离对知识表示的影响。
146.此外,根据本公开的推荐方法和装置,基于用户历史知识图谱获取用户数据集,并基于项目历史知识图谱获取项目数据集,进而获取包括头实体、关系和尾实体的第一类三元组,能够提高对知识的表示能力。
147.此外,根据本公开的推荐方法和装置,基于空间转换网络获取的嵌入表示,进而在偏好计算网络获取了注意力权重,相较于ckan获取的注意力权重更具区分度。
148.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
149.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜