掌桥专利:专业的专利平台
掌桥专利
首页

推荐方法及相关装置

文献发布时间:2023-06-19 13:49:36


推荐方法及相关装置

技术领域

本申请涉及数据处理技术领域,尤其涉及一种推荐方法及相关装置。

背景技术

推荐系统(Recommender system,RS)的目标是根据用户的历史行为和兴趣预测用户未来的行为和兴趣,进而实现了为用户推荐其感兴趣的物品。现实场景中往往很难在RS系统中直接获取用户足够的信息,因此常常面临着用户数据稀疏的情况,这就衍生了冷启动问题。如何在缺少用户数据的情况下进行最有效的推荐,尤其是给新用户好的体验,则必须要解决冷启动问题。

目前,解决冷启动问题的方法之一,就是给推荐系统提供辅助信息。例如,知识图谱就是辅助信息的重要来源,利用知识图谱可以增加了对物品、电影、音乐等的描述信息,也可以增加社会网络以达到丰富用户信息的目的,从而既提高了推荐系统的挖掘能力,也有效地弥补交互信息的稀疏或缺失。知识图谱的引入可以极大地提高推荐系统的精准性、多样性和可解释性。

但是,现有引入知识图谱在RS系统中应用的具体实施方法,主要是以多任务学习(Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation,MKR)模型框架实现的,MKR是一个通用的、端对端的深度推荐框架,旨在利用知识图谱(KGE)任务嵌入去协助RS任务,两个任务是相互独立的,由于RS中的行为实体和KGE中的实体相互联系而高度相关,整个框架可以通过交替优化两个任务来被训练。

然而,MKR模型框架中核心技术为交叉压缩单元,MKR整体采用的网络架构较为简单,它采用Mini-Batch技术进行训练,无法得到全局信息,也影响了其表现,导致推荐效果有限。

发明内容

本申请提供一种推荐方法及相关装置,以实现更加精准的推荐。

第一方面,本申请实施例提供了一种推荐方法,该方法包括:

获取用户行为图数据,所述用户行为图数据包括N个用户标识、M个第一实体标识和每个所述用户标识与至少一个第一实体标识的第一关联关系;

获取知识图谱数据,所述知识图谱数据包括K个第二实体标识和每个所述第二实体标识与其他至少一个第二实体标识的第二关联关系,所述N、所述M和所述K均为正整数;

将所述用户行为图数据和所述知识图谱数据输入至推荐模型,输出推荐结果;

其中,所述推荐模型包括双向循环处理网络、推荐网络和特征学习网络,所述双向循环处理网络用于实现第一实体向量和第二实体向量的相互演化,所述第一实体向量是所述推荐网络传递给所述双向循环处理网络的,所述第二实体向量是所述特征学习网络传递给所述双向循环处理网络的。

第二方面,本申请实施例提供一种推荐装置,该装置包括:

获取单元,用于获取用户行为图数据,所述用户行为图数据包括N个用户标识、M个第一实体标识和每个所述用户标识与至少一个第一实体标识的第一关联关系;

所述获取单元,还用于获取知识图谱数据,所述知识图谱数据包括K个第二实体标识和每个所述第二实体标识与其他至少一个第二实体标识的第二关联关系,所述N、所述M和所述K均为正整数;

处理单元,用于将所述获取单元获取的用户行为图数据和所述获取单元获取的知识图谱数据输入至推荐模型,输出推荐结果;

其中,所述推荐模型包括双向循环处理网络、推荐网络和特征学习网络,所述双向循环处理网络用于实现第一实体向量和第二实体向量的相互演化,所述第一实体向量是所述推荐网络传递给所述双向循环处理网络的,所述第二实体向量是所述特征学习网络传递给所述双向循环处理网络的。

第三方面,本申请实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述推荐方法中的步骤。

第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述推荐方法中的步骤。

第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行上述推荐方法中的步骤。该计算机程序产品可以为一个软件安装包。

可以看出,在本申请实施例中,预先训练了一个推荐模型,该模型结构包括了双向循环处理网络、推荐网络和特征学习网络,在利用这样的推荐模型处理输入的用户行为图数据和知识图谱数据过程中,是利用推荐网络处理用户行为图数据而得到用户行为实体对应的第一实体向量,以及是利用特征学习网络处理知识图谱数据而得到实体对应的第二实体向量,再利用双向循环处理网络处理第一实体向量和第二实体向量,在双向循环处理网络处理数据过程中不断地将第一实体相关联的额外信息传递到特征学习网络以及将第二实体相关联的额外信息传递到了推荐网络,从而实现了第一实体向量和第二实体向量的相互演化,进而随着这个相互演化,最终会更加丰富地增加了推荐网络中与用户存在间接关联的行为实体。

相较于现有技术的MKR模型框架,本申请采用推荐模型的网络结构更加复杂,同时基于采用双向循环处理网络所实现的相互演化过程,能够充分融合用户行为数据和知识图谱数据分别包含的实体数据,进而相当于从全局更加深入知识图谱数据而更加丰富地增加了用户存在间接关联的行为实体,本申请推荐模型表现更优,最终输出向用户推荐更优的推荐结果,实现了更加精准地推荐。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本申请实施例提供的一种推荐方法流程图;

图2为本申请实施例例举的MKR网络结构示意图;

图3为本申请实施例提供的另一种推荐方法流程图;

图4为本申请实施例例举的用户行为图数据;

图5为本申请实施例提供的推荐模型的网络结构;

图6为本申请实施例例举的利用双向循环处理网络实现的用户行为图数据和知识图谱数据之间存在的关联;

图7为本申请实施例例举的利用推荐模型实现工作流程图;

图8为本申请实施例提供的一种推荐装置的组成框图;

图9为为本申请实施例提供的另一种推荐装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

本申请实施例提供了一种推荐方法,本申请实施例是构建了一个推荐模型,该推荐模型包括了双向循环处理网络、推荐网络和特征学习网络,本申请实施例是利用这样的网络结构的推荐模型去实现向用户推荐相关行为数据信息的,如图1所示,对此本申请实施例提供以下具体步骤:

101、获取用户行为图数据,用户行为图数据包括N个用户标识、M个第一实体标识和每个用户标识与至少一个第一实体标识的第一关联关系,N、M为正整数。

在本申请实施例中,用户行为图数据是指收集用户行为数据并以图形式进行的表示。对于用户行为数据,例如:用户A买了一个商品B,又或者,用户C在视频网站上看了电影D,等等,这种基于用户操作行为而发生的相关事件的数据被记录下来,可以被标记为对应的用户行为数据。

类似这样的用户行为数据中会包含执行主体(即用户实体)、行为事件、事件对象(即行为实体),据此通过解析用户行为数据就能够得到用户实体信息和行为实体信息,例如,解析用户行为数据“用户A买了一个商品B”,得到用户实体信息“用户A”以及行为实体信息“商品B”。

那么在以图形式表示这些用户行为数据时,可以将用户实体信息对应标记为图上的一个用户标识,将行为实体信息对应标记为图上的一个标识(即第一实体标识),相应的,基于一个具体事件所包含的用户实体信息和行为实体信息是存在关联的,那么在图表示中该具体事件对应的用户标识和第一实体标识应该用连线连接。通过这样的方法,将收集到的大量用户行为数据转换成了以图表示的用户行为图数据。

示例性的,得到N个用户标识和M个第一实体标识组成的图数据,其中,每个用户标识与至少一个第一实体标识的第一关联关系。

需要说明的是,在本申请实施例中,词语“第一”以及后续出现的词语“第二”仅是方便用于区分指代不同实体,不存在其他词语顺序等含义。

102、获取知识图谱数据,知识图谱数据包括K个第二实体标识和每个第二实体标识与其他至少一个第二实体标识的第二关联关系,K为正整数。

在本申请实施例中,引入知识图谱数据的作用是:增加或者说扩展上述收集的用户行为数据的相关信息的,比如,对于用户行为数据“用户A买了一个商品B”,而在一个知识图谱数据中“商品A”和“商品B”是相似商品,那么利用该知识图谱数据就相当于引入了这相似商品的数据信息,从而间接地为原用户行为数据增加了额外的相关信息。

因此,为了利用知识图谱数据能够更加丰富地扩展与用户行为数据相关的数据信息,在本申请实施例中,对应构建的知识图谱数据(即实体、关系、属性的三元组),可以不拘泥于包括用户历史行为数据信息,也可以为商品周边数据信息等等,那么得到知识图谱数据越加多元、丰富,也就实现了向用户扩展更多相关数据信息。

示例性,对于构建的知识图谱数据,包括K个第二实体标识和每个第二实体标识与其他至少一个第二实体标识的第二关联关系,K均为正整数。

需要说明的是,步骤101和步骤102可以并行执行的,也可以是串行执行的,在此不做限定。

103、将用户行为图数据和知识图谱数据输入至推荐模型,输出推荐结果。

其中,推荐模型包括双向循环处理网络、推荐网络和特征学习网络,双向循环处理网络用于实现第一实体向量和第二实体向量的相互演化,第一实体向量是推荐网络传递给双向循环处理网络的,第二实体向量是特征学习网络传递给双向循环处理网络的。

在本申请实施例中,为了更加清楚地阐述本申请推荐模型的网络框架与现有技术MKR网络框架的不同之处,本申请实施例结合MKR网络结构示意图(如图2)进行比较说明,具体陈述如下:

如图2,对于MKR网络结构,图2中左侧是推荐系统任务(RS)的推荐网络,右侧是知识图谱特征学习任务(KGE)的特征学习网络,中间为交叉压缩单元(cross&compressunits,C),该图2中左侧的输入为用户(user)向量与物品(item)向量,输出为推荐概率(0-1);右侧的输入为头部实体(head)向量与关系(relation)向量,输出为尾部向量(tail),中间的交叉压缩单元(C)是将RS任务和KGE任务连接起来的关键,该中间的交叉压缩单元(C)可以自动的学习RS任务中商品(item)和KGE任务中实体(entity)的高阶交互特征。

在本申请实施例的推荐模型网路结构中,包括推荐网络和特征学习网络,但是不包括如图2中的交叉压缩单元(C),而是替换为双向循环处理网络(即Bi-RNN),进而本申请实施例不是利用交叉压缩单元(C)自动的学习RS任务中商品(item)和KGE任务中实体(entity)的高阶交互特征,而是利用双向循环处理网络实现第一实体向量和第二实体向量的相互演化。其中,第一实体向量为利用推荐网络处理用户行为图数据而得到用户行为实体对应的实体向量,以及第二实体向量为利用特征学习网络处理知识图谱数据而得到实体对应的第二实体向量。

需要说明的是,由于双向循环处理网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递归神经网络,从而在利用双向循环处理网络处理第一实体向量和第二实体向量的过程中,由下层级至上层级,逐级处理用户行为图数据内的第一实体(即行为实体)和知识图谱数据中的第二实体,以建立两个实体之间语义信息和结构信息的双向传递,从而实现了第一实体向量和第二实体向量的相互演化,间接地增加或者说扩展了与用户相关的更多行为实体数据信息,用于最终计算并输出向用户预测推荐的更更丰富的相关行为数据信息,以提高推荐效果。

以上,本申请实施例提供了一种推荐方法,相较于现有技术的MKR模型框架,本申请采用推荐模型的网络结构更加复杂,同时基于采用双向循环处理网络所实现的相互演化过程,能够充分融合用户行为数据和知识图谱数据分别包含的实体数据,进而相当于从全局更加深入知识图谱数据而更加丰富地增加了用户存在间接关联的行为实体,本申请推荐模型表现更优,最终输出向用户推荐更优的推荐结果,实现了更加精准地推荐。

为了对上述实施例做出更加详细的说明,本申请实施例还提供了另一种推荐方法,如图3所示,该方法是对上述实施例的进一步细化陈述和补充陈述,对此本申请实施例提供以下具体步骤:

201、获取用户行为图数据,用户行为图数据包括N个用户标识、M个第一实体标识和每个用户标识与至少一个第一实体标识的第一关联关系,N、M均为正整数。

在本申请实施例中,对于获取用户行为图数据的具体实施步骤,可以细化陈述如下:

首先,获取多条用户行为数据,解析每条用户行为数据中包括的用户标识、第一实体标识以及用户标识和第一实体标识之间存在的第一关联关系;

在本申请实施例中,收集到多条用户行为数据,通过解析每条用户行为数据,能够得到该用户行为数据中包含的用户实体、行为实体以及两者之间关系,为了后续将用户行为数据以图方式表示出来,可以将用户实体、行为实体以标识方式表示,相应的,两者之间关联关系以标识之间连线来表示。

其次,根据第一关联关系,连接用户标识和第一实体标识,得到一条用户行为数据对应的拓扑图。

在本申请实施例中,根据用户实体和行为实体之间存在的关联关系,将用户实体对应的用户标识和行为实体对应的第一实体标识连线,得到一条用户行为数据的拓扑图,比如:对于用户行为数据“用户A买了一个商品B”,得到“A连线B”的拓扑图。

最后,通过将多条用户行为数据对应的拓扑图进行合并,构建目标拓扑图,作为多条用户行为数据对应的用户行为图数据。

在本申请实施例中,将多条用户行为数据对应的拓扑图进行合并,也就相当于是建立了一种全局关联关系。

示例性的,如图4所示的建立的用户行为图数据,用户1和用户2都购买过商品2,用户3购买过商品1和商品3,那么如图4将原数据转化为图数据所得到的拓扑图中,根据商品2间接地建立了用户1和用户2的关联,以及根据用户3间接地建立了商品1和商品3的关联。

本申请实施例利用拓扑图所建立的全局关联,用户行为数据数量是没有增加的,即用户实体标识和第一实体标识没有增加,但是却会增加了一些用户实体标识和第一实体标识之间的存在间接地关联关系,也就是增加了一些邻接矩阵,那么将这样具有全局关联关系的拓扑图数据(即用户行为图数据)输入到推荐模型进行处理,在模型处理过程中能够查找到用户实体关联的更多行为实体、行为实体关联的更多用户实体。

202、获取知识图谱数据,知识图谱数据包括K个第二实体标识和每个第二实体标识与其他至少一个第二实体标识的第二关联关系,K为正整数。

在本申请实施例中,对本步骤陈述,参见步骤102,此处不再赘述。

下面,本申请实施例结合步骤203-208,对“将用户行为图数据和知识图谱数据输入至推荐模型,输出推荐结果”的具体实施步骤进行细化陈述,具体如下:

需要说明的是,本申请实施例的推荐模型的网络结构,如图5所示,图5中的网络结构中左侧为推荐网络,右侧为特征学习网络,中间为双向循环处理网络。该推荐模型的网络结构可以拆分为两层:高层和低层,低层的目的是将输入数据映射成有效的特征向量,高层的目的是分别将低层传上来的特征向量连接在一起,通过推荐网络和特征学习网络各自的处理而输出相应结果,尤其是双向循环处理网络的处理过程只应用于低层。下面主要结合图5所示的推荐模型网络结果对步骤203-208进行进一步的解释说明:

203、将用户行为图数据输入推荐网络的嵌入层,输出用户实体初始向量和第一实体初始向量。

在本申请实施例中,在推荐网络侧是将用户行为图数据输入推荐网络的嵌入层,在嵌入层中会对输入的用户行为图数据进行处理,得到用户标识对应的用户实体和第一实体标识对应的第一实体,而后再进一步处理得到用户实体对应的用户实体初始向量和第一实体初始向量,如图5所示的,node1节点和node2节点,其中node1节点为用户实体初始向量,对应标识为u,node2节点为第一实体初始向量,对应标识为v。

204、将知识图谱数据输入特征学习网络的嵌入层,输出第二实体初始向量和第二关联关系初始向量。

在本申请实施例中,对于知识图谱数据,采用平移距离模型(TransE、TransR等)进行建模,实现知识图谱特征学习任务。在特征学习网络侧是将知识图谱数据输入特征学习网络的嵌入层,在嵌入层中会对输入的知识图谱数据进行处理,得到第二实体标识对应的第二实体和第二关联关系,而后再进一步处理得到第二实体对应的第二实体初始向量和第二关联关系初始向量,如图5所示的,head节点和relation节点,其中head节点为第二实体初始向量,对应标识为h,relation节点为第二关联关系初始向量,对应标识为r。

需要说明的是,步骤203和步骤204可以是并行执行的,也可以是串行执行的,在此不做限定。

205、将用户实体初始向量输入推荐网络的多个网络层级中进行处理,输出用户实体向量。

在本申请实施例中,可以采用图卷积网络(GCN、GAT)进行特征提取,对于本步骤,如图5,是利用图卷积神经网络(GConv)处理用户实体初始向量u,直至L层(L为正整数且大于1),输出L层对应的用户实体向量u

示例性的,GConv图卷积计算可以表示为如下公式:

其中,

206、将第二关联关系初始向量输入特征学习网络的多个网络层级中进行处理,输出第二关联关系向量。

在本申请实施例中,如图5所示,可以利用多层全连接网络(MLP,MultilayerPerceptron)处理第二关联关系初始向量r,输出L层对应的第二关联关系向量r

207、将第一实体初始向量、第二实体初始向量输入双向循环处理网络的多个网络层级中进行处理,输出演化后的第一实体向量和演化后的第二实体向量。

在本申请实施例中,在推荐模型的网络结构中,是在低层采用双向循环处理网络处理第一实体初始向量和第二实体初始向量。另外需要说明的是,对于第一实体和第二实体而言,它们是来自于不同的数据源,即用户行为图数据和知识图谱数据,在这两个数据源中,第一实体标识对应的实体的类型和第二实体标识对应的实体的类型相同。例如,第一实体标识为电影A,第二实体标识为电影B,两者都是电影,或者进一步的,两者电影类型也是相同的,如都是剧情片。

具体的,如图5所示,那么在双向循环处理网络处理第一实体初始向量和第二实体初始向量的过程中,是在该网络的初始层级建立了第一实体初始向量v和第二实体初始向量h之间连接关系,然后经双向循环处理网络的多层级处理进行,不断地将左侧第一实体初始向量v周边关联实体向量(即左侧的结构或语义信息)传递至右侧,以及将第二实体初始向量周边关联实体向量(右侧的结构或语义信息)传递至左侧,直至L层网络层级,输出L层网络层级对应的第一实体向量v

示例性的,如图6所示的利用双向循环处理网络实现的用户行为图数据和知识图谱数据之间存在的关联,经双向演化后,对于第一实体v1,对应得到经演化后的第一实体可以为v4、v3,甚至是v5和v6,这要看双向循环处理网络最终输出的处理结果,即由双向循环处理网络的多层级网络处理而分析其他v4、v3或v5、v6与v1存在的关联性程度高低,进而判断是否传递到左侧来作为演化后的第一实体。

本申请实施例提供的推荐模型的网络结构实现了第一实体向量与第二实体向量的相互演化,是一种双向的处理。这里以GRU为例,Bi-RNN模型计算公式如下:

其中,

式中,W

图5中右侧特征学习网络为知识图谱数据中的每个实体(即第二实体)和关系学习得到一个低维向量,同时保持知识图谱数据图中原有的结构或语义信息。通过Bi-RNN能够将知识图谱数据中实体(即第二实体)以及实体之间的相互关系(结构或语义信息)传递给左侧推荐网络中相应节点(即对应为第一实体)。同理,知识图谱数据中的实体(即第二实体)也能够获得左侧推荐网络中的相应节点(即对应为第一实体)包含的节点之间的结构或语义信息,从而实现了对第一实体和第二实体的隐状态向量进行双向演化,最终解决了特征稀疏、冷启动等问题,这有助于推荐模型(即以图5网络结构建立的模型)实现更加精准的推荐。

208、根据用户实体向量和演化后的第一实体向量确定推荐结果并输出。

在本申请实施例中,如果经双向循环处理网络得到演化后的第一实体为v4、v3、v5和v6,则需要进一步计算每个实体被向用户推荐的概率值,再进一步根据这个概率值确定将哪个实体作为向用户的推荐结果。

具体的,如图5所示,左侧函数f(u

进一步的,在本申请实施例中,还对演化后的第二实体向量和第二关联关系向量进行进一步处理,如图5所示,具体处理过程包括如下:

首先,将演化后的第二实体向量和第二关联关系向量进行拼接,得到拼接后的向量;将拼接后的向量输入特征学习网络的全连接层,输出第三实体向量和第三关联关系向量,第三实体向量和第三关联关系向量具有连接关系;根据第三实体向量和第三关联关系向量,组成第一实体关系向量组。

在本申请实施例中,经双向循环处理网络的双向信息传递,得到演化后的第二实体向量数量可以是多个的,特征学习网络经处理第二关联关系初始向量后输出的第二关联关系向量也是多个的,那么本申请实施例是随机的将一个演化后的第二实体向量和一个第二关联关系向量进行拼接,那么得到拼接的结果也是多组的。

将多组拼接后的向量输入特征学习网络的全连接层,相当于是利用全连接层执行一个二分类处理,即判断一组拼接的两个向量是否具有连接关系,因此利用该全连接层处理而输出具有连接关系的实体向量和关联关系向量。进一步的,为清楚地与第二实体向量和第二关联关系向量进行区分,本申请实施例利用词语“第三”标识具有连接关系的实体向量和关联关系向量,得到第三实体向量和第三关联关系向量,组成第一实体关系向量组。

其次,根据知识图谱数据包括的第二实体标识和第二关联关系,获取具有连接关系的第二实体初始向量和第二关联关系初始向量,组成第二实体关系向量组。

最后,通过对第一实体关系向量组和第二实体关系向量组求內积,计算第一实体关系向量组和第二实体关系向量组之间接近程度;若接近程度达到预设阈值,则保留第一实体关系向量组;将第一实体关系向量组对应实体关系数据与知识图谱数据进行融合。

在本申请实施例中,是将经特征学习网络的全连接层输出具有连接关系的第三实体向量和第三关联关系向量,组成一个实体关系向量组,标记为第一实体关系向量组。将知识图谱数据内原本存在的实体关系向量组标记为第二向量组,继而利用这两个向量组求內积而计算接近程度,如果接近程度高,则保留这个具有连接关系的第三实体向量和第三关联关系向量,继而利用对应的第三实体和第三关联关系组成新的实体关系,融合进入原知识图谱数据,实现了对原知识图谱数据的扩充。

示例性的,如图5所示,右侧函数g(h

以及进一步的,本申请实施例还例举了利用推荐模型实现工作流程图,如图7所示,本申请实施例的推荐模型可以应用于以下任一场景:向用户推荐商品场景、预测用户兴趣场景、预测用户未来行为场景。

示例性的,以向用户推荐商品场景为例,给出图7所示的工作流程图。对于用户而言,可以利用该工作流程提供一个人机交互界面,输入数据为用户行为图数据和知识图谱数据,经本申请实施例的推荐模型,将直接输出向用户的推荐结果。

无论是预测用户兴趣场景或预测用户未来行为场景,用户兴趣相当于为行为实体,用户未来行为也相当于是行为实体,从而在这些应用场景下利用本申请实施例所进行处理,都是通过引入知识图谱数据来更加增加或扩展用户所对应的行为相关信息,从而达到更加准确地预测用户兴趣或未来行为。

进一步的,作为对上述图1、图3所示方法的实现,本申请实施例提供了一种推荐装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于向用户进行相关推荐,具体如图8所示,该装置包括:

获取单元31,用于获取用户行为图数据,所述用户行为图数据包括N个用户标识、M个第一实体标识和每个所述用户标识与至少一个第一实体标识的第一关联关系;

所述获取单元31,还用于获取知识图谱数据,所述知识图谱数据包括K个第二实体标识和每个所述第二实体标识与其他至少一个第二实体标识的第二关联关系,所述N、所述M和所述K均为正整数;

处理单元32,用于将所述获取单元31获取的用户行为图数据和所述获取单元31获取的知识图谱数据输入至推荐模型,输出推荐结果;

其中,所述推荐模型包括双向循环处理网络、推荐网络和特征学习网络,所述双向循环处理网络用于实现第一实体向量和第二实体向量的相互演化,所述第一实体向量是所述推荐网络传递给所述双向循环处理网络的,所述第二实体向量是所述特征学习网络传递给所述双向循环处理网络的。

进一步的,如图9所示,所述处理单元32包括:

第一处理模块3201,用于将所述用户行为图数据输入所述推荐网络的嵌入层,输出用户实体初始向量和第一实体初始向量;

第二处理模块3202,用于将所述知识图谱数据输入所述特征学习网络的嵌入层,输出第二实体初始向量和第二关联关系初始向量;

第三处理模块3203,用于将经所述第一处理模块3201得到的用户实体初始向量输入所述推荐网络的多个网络层级中进行处理,输出用户实体向量;

第四处理模块3204,用于将经所述第二处理模块3202得到的第二关联关系初始向量输入所述特征学习网络的多个网络层级中进行处理,输出第二关联关系向量;

第五处理模块3205,用于将所述第一处理模块3201得到的第一实体初始向量、所述第二处理模块3202得到的第二实体初始向量输入所述双向循环处理网络的多个网络层级中进行处理,输出演化后的第一实体向量和演化后的第二实体向量;

确定模块3206,用于根据所述第三处理模块3203得到的用户实体向量和所述第五处理模块3205得到的演化后的第一实体向量确定推荐结果并输出。

进一步的,如图9所示,所述确定模块3206为:

所述确定模块3206,具体用于根据所述用户实体向量和所述演化后的第一实体向量确定推荐概率,所述推荐概率用于表示向用户推荐实体的概率;

所述确定模块3206,还具体用于根据所述推荐概率确定推荐结果。

进一步的,如图9所示,所述处理单元32还包括:

拼接模块3207,用于将所述演化后的第二实体向量和所述第二关联关系向量进行拼接,得到拼接后的向量;

第六处理模块3208,用于将所述拼接模块3207得到的拼接后的向量输入所述特征学习网络的全连接层,输出第三实体向量和第三关联关系向量,所述第三实体向量和所述第三关联关系向量具有连接关系;

组成模块3209,用于根据所述第六处理模块3208得到的第三实体向量和所述第三关联关系向量,组成第一实体关系向量组;

获取模块3210,用于根据所述知识图谱数据包括的第二实体标识和第二关联关系,获取具有连接关系的第二实体初始向量和第二关联关系初始向量,组成第二实体关系向量组;

计算模块3211,用于通过对所述第一实体关系向量组和所述第二实体关系向量组求內积,计算所述第一实体关系向量组和所述第二实体关系向量组之间接近程度;

保留模块3212,用于若所述接近程度达到预设阈值,则保留所述第一实体关系向量组;

融合模块3213,用于将所述第一实体关系向量组对应实体关系数据与所述知识图谱数据进行融合。

进一步的,如图9所示,所述第一实体标识对应的实体的类型和所述第二实体标识对应的实体的类型相同。

进一步的,如图9所示,所述获取单元31包括:

获取模块311,用于获取多条用户行为数据;

解析模块312,用于解析所述获取模块311获取到的每条所述用户行为数据中包括的用户标识、第一实体标识以及所述用户标识和所述第一实体标识之间存在的第一关联关系;

连接模块313,用于根据所述第一关联关系,连接所述用户标识和所述第一实体标识,得到一条所述用户行为数据对应的拓扑图;

构建模块314,用于通过将多条所述用户行为数据对应的拓扑图进行合并,构建目标拓扑图,作为多条所述用户行为数据对应的用户行为图数据。

综上所述,本申请实施例提供的推荐方法及装置,在本申请实施例中利用预先训练了的一个推荐模型,该模型结构包括了双向循环处理网络、推荐网络和特征学习网络,在利用这样的推荐模型处理输入的用户行为图数据和知识图谱数据过程中,是利用推荐网络处理用户行为图数据而得到用户行为实体对应的第一实体向量,以及是利用特征学习网络处理知识图谱数据而得到实体对应的第二实体向量,再利用双向循环处理网络处理第一实体向量和第二实体向量,在双向循环处理网络处理数据过程中不断地将第一实体相关联的额外信息传递到特征学习网络以及将第二实体相关联的额外信息传递到了推荐网络,从而实现了第一实体向量和第二实体向量的相互演化,进而随着这个相互演化,最终会更加丰富地增加了推荐网络中与用户存在间接关联的行为实体。相较于现有技术的MKR模型框架,本申请采用推荐模型的网络结构更加复杂,同时基于采用双向循环处理网络所实现的相互演化过程,能够充分融合用户行为数据和知识图谱数据分别包含的实体数据,进而相当于从全局更加深入知识图谱数据而更加丰富地增加了用户存在间接关联的行为实体,本申请推荐模型表现更优,最终输出向用户推荐更优的推荐结果,实现了更加精准地推荐。

所述推荐装置包括处理器和存储器,上述获取单元和处理单元均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现更加精准的推荐。

本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现了所述的推荐方法。

本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现了所述的推荐方法。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 序列推荐模型的训练方法、信息推荐方法及相关装置
  • 内容推荐模型的训练方法、内容推荐的方法及相关装置
技术分类

06120113822282