基于多个数据域确定用户与物品的关联关系的方法及装置
技术领域
本说明书一个或多个实施例涉及机器学习领域,尤其涉及计算机执行的、预测用户与物品的关联关系的方法和装置。
背景技术
关系网络图是对现实世界中实体之间的关系的描述,目前广泛地应用于各种计算机信息处理中。一般地,关系网络图包含节点集合和边集合,节点表示现实世界中的实体,边表示现实世界中实体之间的联系。
在许多情况下,希望将关系网络图中的元素或结构用向量的形式进行表示,这个过程称为图嵌入。在图嵌入的方法中,通常会根据节点特征,以及网络关系,学习得到节点的嵌入向量。常见的图嵌入方法有deepwalk,node2vec,以及structure2vec等。
关系网络图的图嵌入可以应用于多种技术场景。例如,在一种技术场景中,关系网络图中的节点可以包括用户和物品。通过对这样的关系网络图进行图嵌入和进一步分析,可以得到用户与物品之间的关联关系,从而可以进行物品推荐、打分预测等。
在图嵌入的学习和使用中,常常受限于数据稀疏性的影响,无法学习到较优的嵌入模型,使得性能受到限制。
因此,希望能有改进的方案,能够更好地利用和发掘可用数据,从而提升基于图嵌入的用户-物品分析。
发明内容
本说明书一个或多个实施例描述了基于多个数据域确定用户与物品的关联关系的方法及装置,其中通过融合多个数据域对应的二部图中的数据,获得更加全面的用户融合数据或物品融合数据,基于融合数据进行用户-物品关联关系的分析,提高分析的准确性以及物品推荐的准确性。
根据第一方面,提供了一种计算机执行的、基于多个数据域确定用户与物品的关联关系的方法,所述多个数据域包括第一数据域和第二数据域,所述第一数据域包括,基于第一用户集合和第一物品集合形成的第一二部图,第二数据域包括,基于第二用户集合和第二物品集合形成的第二二部图,所述方法包括:
获取第一用户在所述第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,所述第一用户属于所述第一用户集合和第二用户集合的交集;
基于所述第一嵌入向量和第二嵌入向量,获取所述第一用户的融合用户向量;
获取第一物品的第一物品嵌入向量,其中,所述第一物品属于所述第一物品集合,所述第一物品嵌入向量为所述第一物品在所述第一二部图中的嵌入向量;或者,所述第一物品属于第二物品集合,所述第一物品嵌入向量为所述第一物品在所述第二二部图中的嵌入向量;
基于所述融合用户向量和所述第一物品嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
根据一种实施方式,通过以下方式获取上述第一嵌入向量:利用预先训练的图嵌入模型,处理所述第一用户在所述第一二部图中的特征信息,得到所述第一嵌入向量。
在一个实施例中,所述图嵌入模型通过以下方式训练:
根据所述图嵌入模型的模型参数集,确定所述第一用户集合中第二用户对应的第二用户嵌入向量,以及所述第一物品集合中第二物品对应的第二物品嵌入向量;
根据所述第二用户嵌入向量和所述第二物品嵌入向量,确定第二用户和第二物品之间的关联度预测值;
根据所述第二用户对所述第二物品的用户操作,确定关联度标签值;
根据所述关联度预测值和关联度标签值,确定模型预测的损失值;
在损失值减小的方向,更新所述模型参数集。
进一步的,在一个实施例中,所述用户操作包括打分,所述关联度标签值包括打分的分值;或者,所述用户操作包括以下中的至少一项:点击,浏览,购买;所述关联度标签值包括,二分类标签值。
根据一种实施方式,通过以下方式之一获取融合用户向量:
计算所述第一嵌入向量和第二嵌入向量的均值,作为所述融合用户向量;
对所述第一嵌入向量和第二嵌入向量进行加权求和,将求和结果作为所述融合用户向量;
将所述第一嵌入向量和第二嵌入向量中模值较大的向量,作为所述融合用户向量。
在一个实施例中,基于所述融合用户向量和所述第一物品嵌入向量,确定所述第一用户和所述第一物品之间的关联关系包括:对所述融合用户向量和所述第一物品嵌入向量进行点积操作,基于点积结果确定所述关联关系。
根据一种实施方式,所述方法还包括,根据所述关联关系,预测所述第一用户对所述第一物品的评分。
根据一种实施方式,所述方法还包括,根据所述关联关系,确定所述第一物品对所述第一用户的推荐度,以用于向所述第一用户进行物品推荐。
根据第二方面,提供一种计算机执行的、基于多个数据域预测用户与物品的关联关系的方法,所述多个数据域包括第一数据域和第二数据域,所述第一数据域包括,基于第一用户集合和第一物品集合形成的第一二部图,第二数据域包括,基于第二用户集合和第二物品集合形成的第二二部图,所述方法包括:
获取第一物品在所述第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,所述第一物品属于所述第一物品集合和第二物品集合的交集;
基于所述第一嵌入向量和第二嵌入向量,获取所述第一物品的融合物品向量;
获取第一用户的第一用户嵌入向量,其中,所述第一用户属于所述第一用户集合,所述第一用户嵌入向量为所述第一用户在所述第一二部图中的嵌入向量;或者,所述第一用户属于第二用户集合,所述第一用户嵌入向量为所述第一用户在所述第二二部图中的嵌入向量;
基于所述融合物品向量和所述第一用户嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
在一种实施方式中,通过以下方式获取第一嵌入向量:利用预先训练的图嵌入模型,处理所述第一物品在所述第一二部图中的特征信息,得到所述第一嵌入向量。
在一个实施例中,通过以下方式之一获取第一物品的融合物品向量:
计算所述第一嵌入向量和第二嵌入向量的均值,作为所述融合物品向量;
对所述第一嵌入向量和第二嵌入向量进行加权求和,将求和结果作为所述融合物品向量;
将所述第一嵌入向量和第二嵌入向量中模值较大的向量,作为所述融合物品向量。
根据一种实施方式,通过对所述融合物品向量和所述第一用户嵌入向量进行点积操作,基于点积结果来确定第一用户和第一物品的关联关系。
根据第三方面,提供一种基于多个数据域确定用户与物品的关联关系的装置,所述多个数据域包括第一数据域和第二数据域,所述第一数据域包括,基于第一用户集合和第一物品集合形成的第一二部图,第二数据域包括,基于第二用户集合和第二物品集合形成的第二二部图,所述装置包括:
用户向量获取单元,配置为获取第一用户在所述第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,所述第一用户属于所述第一用户集合和第二用户集合的交集;
向量融合单元,配置为基于所述第一嵌入向量和第二嵌入向量,获取所述第一用户的融合用户向量;
物品向量获取单元,配置为获取第一物品的第一物品嵌入向量,其中,所述第一物品属于所述第一物品集合,所述第一物品嵌入向量为所述第一物品在所述第一二部图中的嵌入向量;或者,所述第一物品属于第二物品集合,所述第一物品嵌入向量为所述第一物品在所述第二二部图中的嵌入向量;
确定单元,配置为基于所述融合用户向量和所述第一物品嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
根据第四方面,提供一种基于多个数据域预测用户与物品的关联关系的装置,所述多个数据域包括第一数据域和第二数据域,所述第一数据域包括,基于第一用户集合和第一物品集合形成的第一二部图,第二数据域包括,基于第二用户集合和第二物品集合形成的第二二部图,所述装置包括:
物品向量获取单元,配置为获取第一物品在所述第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,所述第一物品属于所述第一物品集合和第二物品集合的交集;
向量融合单元,配置为基于所述第一嵌入向量和第二嵌入向量,获取所述第一物品的融合物品向量;
用户向量获取单元,配置为获取第一用户的第一用户嵌入向量,其中,所述第一用户属于所述第一用户集合,所述第一用户嵌入向量为所述第一用户在所述第一二部图中的嵌入向量;或者,所述第一用户属于第二用户集合,所述第一用户嵌入向量为所述第一用户在所述第二二部图中的嵌入向量;
确定单元,配置为基于所述融合物品向量和所述第一用户嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面和第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面和第二方面的方法。
根据本说明书实施例提供的方法和装置,对多个数据域中的用户-物品二部图分别进行图嵌入,然后将用户在各个二部图中的嵌入向量进行融合,得到融合用户向量,或者将物品在各个二部图中的嵌入向量进行融合,得到融合物品向量。基于融合用户向量/融合物品向量,确定用户-物品的关联关系,可以更好地利用各个数据域中的综合数据,考虑用户/物品的全面特点,使得用户-物品关联关系的分析更加全面,基于该关联关系进行的物品推荐更加精准。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的用户-物品二部图;
图2示出根据一个实施例的多数据域的二部图示意图;
图3示出根据一个实施例的基于多个数据域确定用户与物品的关联关系的方法;
图4示出根据一个实施例训练图嵌入模型的流程图;
图5示出根据另一实施例的基于多个数据域确定用户与物品的关联关系的方法;
图6示出根据一个实施例的用户-物品关联关系确定装置的示意性框图;
图7示出根据一个实施例的用户-物品关联关系确定装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,关系网络图的图嵌入可以应用于用户和物品之间关联关系的分析。在这样的情况下,关系网络图中的节点包括用户节点和物品节点,这构成一种异构关系网络图,即二部图。
二部图又称为二分图,是一种特殊的关系网络图。在这样的图中,节点集合V可分割为两个互不相交的节点子集,并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的节点子集。
图1示出根据一个实施例的用户-物品二部图。如图1所示,节点可以划分为互不相交的用户节点集和物品节点集,用户节点集例如包括,用户节点U1,U2,U3,U4;物品节点集例如包括,物品节点V1,V2,V3。图中的每条边连接一个用户节点和一个物品节点,用于表示对应用户和物品之间的关联关系。例如,连接边可以表示,用户对物品有过点击、购买、评论等历史。在一个示例中,用户i与物品j之间具有连接边Cij,表示用户i对物品j进行了打分,连接边Cij具有一定边属性,例如边长、权值,该属性的属性值可以对应于打分的分值。如此,通过用户节点和物品节点构成一个二部图。通过对该二部图进行学习,可以确定出各个用户节点与各个物品节点之间的关联关系。
然而,在数据稀疏的情况下,对这样的用户-物品二部图学习效果并不理想。
经过观察和分析,发明人发现,在用户-物品二部图的场景中,多个数据域中常常会有数据交叠,因此,可以基于多个数据域的图数据进行融合和相互补充,进行更加充分的学习。例如,常规而言,每个平台会分别使用自己的数据构建用户-物品二部图,以用于推荐系统。而事实上,用户经常活跃于多个平台,比如,用户在淘宝上会有用户-物品行为历史,在其他电商平台上也有。此外,相同的用户对不同平台上不同的物品可能都有评分,比如平台1是用户对电影的评分,平台2是用户对音乐的评分。多个不同平台的数据可以构成多个数据域。不同数据域中各自的数据都比较有限,但是如果能将多个数据域的数据进行融合和共享,就可以扩充二部图的信息,优化学习效果。
图2示出根据一个实施例的多数据域的二部图示意图。如图2所示可以看到,假定存在两个数据域A和B。数据域A和B各自具有自己的用户-物品二部图,图A和图B。图A和图B中,至少存在一部分交叠用户,和/或,一部分交叠物品。
在一个例子中,数据域A和B可以对应两个不同的平台,例如淘宝平台和另一电商平台;或者,数据域A和B也可以是同一平台下的两个板块,例如某综合平台下的电影板块、书籍板块、音乐板块等。
更具体的,例如图A是电影板块下的二部图,其中的物品V1-V3表示各个电影;图B是音乐板块下的二部图,其中的物品v1-v4表示各个音乐。在图2的示例中,图A中的用户节点U2与图B中的用户节点u2代表同一用户,用户节点U3与图B中的u3代表另一相同用户。他们之间用虚线连接以示出其对应关系。
对于如图2所示的多数据域的多个二部图,考虑将其进行融合,由此综合地确定用户与物品之间的关联关系。下面描述对多数据域的二部图进行融合的过程。
图3示出根据一个实施例的基于多个数据域确定用户与物品的关联关系的方法。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。并且,该方法基于多个数据域进行数据融合,来确定上述关联关系,其中所述多个数据域包括第一数据域和第二数据域,第一数据域包括,基于第一用户集合和第一物品集合形成的第一二部图,第二数据域包括,基于第二用户集合和第二物品集合形成的第二二部图。该方法具体包括:步骤31,获取第一用户在第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,所述第一用户属于所述第一用户集合和第二用户集合的交集;步骤32,基于所述第一嵌入向量和第二嵌入向量,获取所述第一用户的融合用户向量;步骤33,获取第一物品的第一物品嵌入向量,其中,所述第一物品属于所述第一物品集合,所述第一物品嵌入向量为所述第一物品在所述第一二部图中的嵌入向量;或者,所述第一物品属于第二物品集合,所述第一物品嵌入向量为所述第一物品在所述第二二部图中的嵌入向量;步骤34,基于所述融合用户向量和所述第一物品嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。下面描述以上各个步骤的具体执行方式。
可以理解,图3的方法通过将第一数据域中的第一二部图和第二数据域中的第二二部图进行融合,来确定用户与物品的关联关系。更具体的,图3的方法至少可以针对第一二部图和第二二部图中存在用户交集的情况。例如,在图2的示例中,第一二部图(图A)对应的第一用户集合({U}=U1-U4)和第二二部图(图B)对应的第二用户集合({u}=u1-u4)至少存在用户交集U2和U3。
在这样的情况下,首先,在步骤31,对于第一用户集合和第二用户集合的交集中的任意用户,为了描述简单又称为第一用户,获取该第一用户在第一二部图中的第一嵌入向量h1,以及在第二二部图中的第二嵌入向量h2。
如上所述,第一用户属于第一用户集合和第二用户集合的交集。可以通过多种方式确定出上述两个用户集合的交集,从该交集中任选一用户作为上述第一用户。
例如,在一个实施例中,第一数据域和第二数据域是同一平台下的不同板块构成的数据域,在这样的情况下,第一用户集合中的用户和第二用户集合中的用户均为该同一平台的注册用户。该平台可以根据用户账户信息(例如用户ID)容易地确定出两个用户集合的交集。
在另一实施例中,第一数据域和第二数据域分属于不同的平台。在这样的情况下,可以根据用户注册信息,确定出两个用户集合的交集。上述用户注册信息例如包括,手机号,邮箱等等。例如,同一用户有可能在两个平台注册了两个账号,但是这两个账号的注册信息中,手机号应该是相同的。如此,可以通过这样的注册信息,确定出两个用户集合的交集。
对于以上交集中的第一用户,可以通过分别对第一二部图和第二二部图的图嵌入处理,得到该第一用户在在第一二部图中的第一嵌入向量h1,以及其在第二二部图中的第二嵌入向量h2。
以上对第一二部图和第二二部图的图嵌入处理可以通过多种方式执行。
根据一种实施方式,可以采用无监督的方式进行以上图嵌入处理。无监督方式是通过预设的嵌入算法,根据节点自身特征以及邻居连接关系,进行嵌入向量的计算。无监督嵌入算法通常会通过多级迭代来进行嵌入向量的计算,一般在每级迭代过程中,都会计算图中各个节点的嵌入向量。因此,一般来说,当通过无监督的方式对第一二部图进行图嵌入时,可以直接获取到,第一二部图中各个用户节点的嵌入向量的集合,即第一用户向量集合S1,以及各个物品节点的嵌入向量的集合,即第一物品向量集合P1。类似的,对第二二部图,可以得到其中各个用户节点的嵌入向量的集合,即第二用户向量集合S2,以及各个物品节点的嵌入向量的集合,即第二物品向量集合P2。
以上无监督的图嵌入方式可以预先进行,也就是,预先对第一二部图和第二二部图进行图嵌入,得到以上各个向量集合。在步骤31中,可以分别从上述第一用户向量集合S1中获取该第一用户在第一二部图中的第一嵌入向量h1,以及从上述第二用户向量集合S2中获取其在第二二部图中的第二嵌入向量h2。
在一个实施例中,也可以在步骤31中,现场进行无监督的图嵌入处理,从而分别计算得到该第一用户在第一二部图中的第一嵌入向量h1,以及其在第二二部图中的第二嵌入向量h2。
根据另一种实施方式,采用监督方式进行图嵌入处理。在有监督的方式下,预先训练图嵌入模型,利用该图嵌入模型得到第一用户在图中的嵌入向量。下面描述图嵌入模型的训练。
图4示出根据一个实施例训练图嵌入模型的流程图。在图4中,利用第一二部图训练图嵌入模型。如前所述,第一二部图包括第一用户集合和第一物品集合。如果第一用户集合中某个用户,与第一物品集合中某个物品之间的连接关系已知,那么就可以用该用户和该物品,以及他们之间的连接关系作为训练样本,训练上述图嵌入模型。为了区别于之前的第一用户,将训练用的用户称为第二用户,将上述物品称为第二物品。相应的,利用这样的训练样本进行模型训练的过程可以包括以下步骤。
在步骤41,根据图嵌入模型的模型参数集,确定第一用户集合中第二用户对应的第二用户嵌入向量,以及第一物品集合中第二物品对应的第二物品嵌入向量。
以上的模型参数集包括图嵌入过程中涉及的各种需要训练的参数。步骤41中的模型参数集中的参数值,可以是初始随机设定的值,也可以是训练过程中临时使用、需要调整的值。
然后,在步骤42,根据上述的第二用户嵌入向量和第二物品嵌入向量,确定第二用户和第二物品之间的关联度预测值。
例如,在一个实施例中,可以将第二用户嵌入向量和第二物品嵌入向量的点积结果作为上述关联度预测值;在另一实施例中,还可以基于该点积结果施加非线性函数运算,得到上述关联度预测值。
在步骤43,根据所述第二用户对第二物品的用户操作,确定关联度标签值。换而言之,根据前述的第二用户和第二物品之间的真实连接关系,确定关联度标签值。
在一个实施例中,上述用户操作包括第二用户对第二物品打分;相应的,所述关联度标签值包括打分的分值,例如1-10分。
在一个实施例中,上述用户操作包括第二用户对第二物品的点击、浏览、购买、评论等操作;在这样的情况下,所述关联度标签值可以包括,二分类标签值,例如用0表示不存在上述操作,用1表示存在上述操作。
接着,在步骤44,根据所述关联度预测值和关联度标签值,确定模型预测的损失值。具体的,可以采用各种形式的损失函数,例如均方差函数,softmax函数,确定上述损失值。
然后,在步骤45,在损失值减小的方向,更新上述模型参数集。
通过利用各个已知连接关系的用户-物品对进行训练,可以不断更新优化上述模型参数集,直到达到预定的收敛条件。此时可以认为,训练得到图嵌入模型。
于是,在步骤31,可以利用如此训练的图嵌入模型,计算得到第一用户在第一二部图中的第一嵌入向量h1。具体的,可以将第一用户对应的节点特征和邻接关系输入以上训练得到的图嵌入模型,即可得到第一嵌入向量h1。
在另一实施例中,也可以采用上述训练得到的图嵌入模型,预先对第一二部图中的各个节点进行计算,得到上述第一用户向量集合S1,和第一物品向量集合P1。然后,在步骤31中,从预先计算的上述第一用户向量集合S1中读取第一用户对应的第一嵌入向量h1。
对第二二部图的处理过程与第一二部图的相类似,不再赘述。
可以理解,对第一二部图和第二二部图的图嵌入处理可以采用相同的处理方式,以确保将节点嵌入到相同维度的空间中。因此,第一嵌入向量h1和第二嵌入向量h2是相同维度的嵌入向量。
接着,在步骤32,基于上述第一嵌入向量h1和第二嵌入向量h2,获取所述第一用户(假定其用户编号为i)的融合用户向量ui。
在一个实施例中,计算第一嵌入向量h1和第二嵌入向量h2的均值,作为融合用户向量,即ui=(h1+h2)/2。
在另一实施例中,可以对第一嵌入向量h1和第二嵌入向量h2进行加权求和,将求和结果作为融合用户向量ui,即:
ui=w1*h1+w2*h2
其中,w1和w2为权重因子。权重因子可以根据第一二部图和第二二部图的数据量、重要度等因素而预先设置。
在又一实施例中,可以将第一嵌入向量h1和第二嵌入向量h2中模值较大的向量,作为融合用户向量ui。
在以上实施例的基础上,还可以采用其他方式对h1和h2进行向量融合,得到融合用户向量ui。
另一方面,在步骤33,获取任意的第一物品所对应的物品嵌入向量,即第一物品嵌入向量。该第一物品可以属于第一物品集合,此时,第一物品嵌入向量为该第一物品在第一二部图中的嵌入向量。或者,该第一物品也可以来自第二物品集合,此时,第一物品嵌入向量为该第一物品在第二二部图中的嵌入向量。
可以理解,在步骤31为了获取第一用户的嵌入向量,分别对第一二部图和第二二部图进行了图嵌入处理。通过这样的图嵌入处理,可以一并得到物品节点对应的嵌入向量。
具体的,在无监督的图嵌入处理中,可以一并得到第一二部图中各个物品对应的物品嵌入向量构成的第一物品向量集合P1,以及第二二部图中各个物品节点对应的物品嵌入向量所构成的第二物品向量集合P2。相应的,在步骤33,当第一物品属于第一物品集合时,可以从第一物品向量集合P1中得到第一物品嵌入向量;当第一物品属于第二物品集合时,可以从第二物品向量集合P2中得到第一物品嵌入向量。
在有监督的图嵌入处理中,针对第一二部图和第二二部图分别训练有对应的图嵌入模型。在步骤33,当第一物品属于第一物品集合时,可以利用第一二部图对应的图嵌入模型,得到第一物品嵌入向量;当第一物品属于第二物品集合时,可以利用第二二部图对应的图嵌入模型,得到第一物品嵌入向量。
如此,获取到第一数据域和第二数据域中任意的一个物品的物品嵌入向量。
接着,在步骤34,基于步骤32得到的融合用户向量和步骤33得到的第一物品嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
在一个实施例中,对融合用户向量和所述第一物品嵌入向量进行点积操作,基于点积结果确定所述关联关系。
例如,在一个例子中,第一用户和第一物品的关联关系可以表示为:
rij=uivj
其中ui表示第一用户(假定用户编号为i)的融合用户向量,vj表示第一物品(假定物品编号为j)对应的物品嵌入向量。如此,通过点积操作得到第一用户i和第一物品j的关联关系。
在另一实施例中,可以计算融合用户向量和第一物品嵌入向量之间的向量距离,基于该向量距离,确定第一用户和第一物品之间的关联关系。上述向量距离可以采用例如余弦距离,欧式距离,等等。
在其他实施例中,还可以采用其他数学运算,基于第一用户的融合用户向量和第一物品对应的第一物品向量,得到第一用户和第一物品之间的关联关系。
可以理解,通过以上方式计算得到的关联关系,可以对应于用户向量和物品向量之间的相似度或紧密度,因此,该关联关系可以体现用户对物品的偏好程度。具体的,上述关联关系可以有多种表现形式和使用方式。
在一个实施例中,上述关联关系可以对应于第一用户对第一物品的评分。相应的,在该实施例中,在步骤34之后方法还可以包括,根据上述关联关系,预测第一用户对第一物品的评分。
在另一实施例中,在确定出上述关联关系后,方法还包括,根据该关联关系,确定第一物品对于所述第一用户的推荐度,以用于向所述第一用户进行物品推荐。
还可以利用上述关联关系进行其他用户-物品关系的分析、预测和推荐。
在以上过程中,通过对两个二部图中用户嵌入向量进行融合,使得最终的融合用户向量可以更加全面地表征该用户的特点;使用该融合用户向量得到的关联关系可以更加真实、准确地反映用户对物品的偏好。这对于用户交互数据稀少的二部图来说格外有利。
仍以电影板块下的二部图A和音乐板块下的二部图B为例。假定某个用户在电影板块较为活跃,对于多个电影(第一物品集中的物品)都有评论、打分等交互行为,但是在音乐板块鲜少交互,数据稀少。因此,该用户节点在二部图A中具有较多的连接边和较为丰富的学习数据,而在二部图B中近乎孤立节点。当想要针对该用户预测其偏好的音乐产品并对其进行推荐时,由于其在二部图B中的孤立性,使用常规技术预测准确率不高。
然而,通过图3的方法,对该用户在电影板块A中的嵌入向量和音乐板块B中的嵌入向量进行融合,如此,发掘和利用了该用户在电影板块A中的大量活跃信息,全面综合地表征该用户的特征,基于此为该用户推荐音乐产品就可以更好地把握用户的特点,更加准确地进行预测和推荐。
根据另一方面,还提供另一种基于第一和第二数据域确定用户与物品的关联关系的方法,该方法适用于第一数据域的第一二部图和第二数据域的第二二部图的物品存在交集的情况。
图5示出根据一个实施例的基于多个数据域确定用户与物品的关联关系的方法,该方法具体包括:步骤51,获取第一物品在第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,所述第一物品属于所述第一物品集合和第二物品集合的交集;步骤52,基于所述第一嵌入向量和第二嵌入向量,获取所述第一物品的融合物品向量;步骤53,获取第一用户的第一用户嵌入向量,其中,所述第一用户属于所述第一用户集合,所述第一用户嵌入向量为所述第一用户在所述第一二部图中的嵌入向量;或者,所述第一用户属于第二用户集合,所述第一用户嵌入向量为所述第一用户在所述第二二部图中的嵌入向量;步骤54,基于所述融合物品向量和所述第一用户嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。下面描述以上各个步骤的具体执行方式。
首先,在步骤51,对于第一物品集合和第二物品集合的交集中的任意物品,为了描述简单又称为第一物品,获取该第一物品在第一二部图中的第一嵌入向量k1,以及在第二二部图中的第二嵌入向量k2。
可以理解,对于第一二部图对应的第一物品集合和第二二部图对应的第二物品集合,可以通过多种方式确定出上述两个物品集合的交集,从该交集中任选一物品作为上述第一物品。例如,可以通过物品描述信息、物品属性信息等,确定出两个数据域中相同的物品。
例如,在一个例子中,第一数据域和第二数据域均为电影评论平台。可以通过各个电影的属性信息(名称、发行年份、导演等),以及其他描述信息(类型和内容的描述等),确定出两个平台中的同一电影。
对于以上交集中的第一物品,可以通过分别对第一二部图和第二二部图的图嵌入处理,得到该第一物品在第一二部图中的第一嵌入向量k1,以及其在第二二部图中的第二嵌入向量k2。
例如,在采用无监督的方式进行图嵌入处理的情况下,可以预先或现场计算得到,第一二部图中各个物品节点的嵌入向量构成的第一物品向量集合P1,以及第二二部图中各个物品节点的嵌入向量构成的第二物品向量集合P2。从以上P1和P2中分别获取到,该第一物品在第一二部图中的第一嵌入向量k1,以及其在第二二部图中的第二嵌入向量k2。
在采用监督方式进行图嵌入处理的情况下,可以预先针对第一二部图和第二二部图训练图嵌入模型,利用该图嵌入模型得到第一物品在图中的嵌入向量。图嵌入模型的训练过程如图4所示,不再赘述。在训练得到图嵌入模型之后,可以用训练的图嵌入模型,分别处理该第一物品在第一二部图和第二二部图中的特征信息,包括物品特征信息和邻接信息,分别得到所述第一嵌入向量和第二嵌入向量。
如上,可以获取第一物品在第一二部图中的第一嵌入向量k1,以及在第二二部图中的第二嵌入向量k2。
接着,在步骤52,基于上述第一嵌入向量k1和第二嵌入向量k2,获取所述第一物品的融合物品向量。
可以采用多种融合方式确定上述融合物品向量,例如求均值,加权求和,取较大值等等。该过程与前述步骤32类似,不再赘述。
此外,在步骤53,获取任意的第一用户所对应的用户嵌入向量,即第一用户嵌入向量。该第一用户可以属于第一用户集合,此时,第一用户嵌入向量为该第一用户在第一二部图中的嵌入向量。或者,该第一用户也可以来自第二用户集合,此时,第一用户嵌入向量为该第一用户在第二二部图中的嵌入向量。
以上第一用户嵌入向量同样通过图嵌入过程获取,具体方式可以参照前述对步骤31和步骤33的描述,不再赘述。
于是,在步骤54,可以基于步骤52得到的融合物品向量和步骤53得到的第一用户嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
在一个实施例中,可以通过对融合物品向量和所述第一用户嵌入向量进行点积的方式,确定所述关联关系。在其他实施例中,还可以通过计算融合物品向量和第一用户嵌入向量之间的向量距离,确定第一用户和第一物品之间的关联关系。
基于以上确定的关联关系,可以预测第一用户对第一物品的评分,预测第一物品对于第一用户的推荐度,等等。
在以上过程中,对两个二部图中物品嵌入向量进行融合,使得最终的融合物品向量可以更加全面地表征该物品的特点;基于该融合物品向量得到的用于-物品关联关系可以更加真实、准确地反映用户对该物品的偏好。
例如,在一个例子中,第一数据域和第二数据域是两个电影评论平台,相应的,二部图A和二部图B中包含大量同样的电影。假定某部电影在二部图A中评论很多;而在二部图B中,可能由于页面位置设置不容易被用户注意到等原因,鲜有用户评论。如此,二部图B关于该电影的数据非常稀少,难以学习到它的特点,将其推荐给适合的用户。或者,某部电影在二部图A中评论出现异常增多,涉嫌刷分,而在二部图B中,评论分布位于正常区间。如此,单独基于二部图A进行推荐,也可能出现偏差。
然而,通过图5的方法,将该物品在二部图A中的嵌入向量和二部图B中的嵌入向量进入融合作为其综合特征,全面地反映该物品的特点,基于此可以更准确地将该物品推荐给适合的用户。
根据另一方面的实施例,提供了基于多个数据域确定用户与物品的关联关系的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。以上的多个数据域包括第一数据域和第二数据域,第一数据域包括,基于第一用户集合和第一物品集合形成的第一二部图,第二数据域包括,基于第二用户集合和第二物品集合形成的第二二部图。图6示出根据一个实施例的用户-物品关联关系确定装置的示意性框图。如图6所示,该确定装置600包括:
用户向量获取单元61,配置为获取第一用户在第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,该第一用户属于所述第一用户集合和第二用户集合的交集;
向量融合单元62,配置为基于所述第一嵌入向量和第二嵌入向量,获取所述第一用户的融合用户向量;
物品向量获取单元63,配置为获取第一物品的第一物品嵌入向量,其中,所述第一物品属于所述第一物品集合,所述第一物品嵌入向量为所述第一物品在所述第一二部图中的嵌入向量;或者,所述第一物品属于第二物品集合,所述第一物品嵌入向量为所述第一物品在所述第二二部图中的嵌入向量;
确定单元64,配置为基于所述融合用户向量和所述第一物品嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
根据一种实施方式,所述用户向量获取单元61配置为:利用预先训练的图嵌入模型,处理所述第一用户在所述第一二部图中的特征信息,得到所述第一嵌入向量。
在一个实施例中,所述图嵌入模型通过训练单元65训练得到,所述训练单元65包括(未示出):
向量确定模块,配置为根据所述图嵌入模型的模型参数集,确定所述第一用户集合中第二用户对应的第二用户嵌入向量,以及所述第一物品集合中第二物品对应的第二物品嵌入向量;
预测值确定模块,配置为根据所述第二用户嵌入向量和所述第二物品嵌入向量,确定第二用户和第二物品之间的关联度预测值;
标签值确定模块,配置为根据所述第二用户对所述第二物品的用户操作,确定关联度标签值;
损失值确定模块,配置为根据所述关联度预测值和关联度标签值,确定模型预测的损失值;
更新模块,配置为在损失值减小的方向,更新所述模型参数集。
进一步的,在一个实施例中,所述用户操作包括打分,所述关联度标签值包括打分的分值;或者,所述用户操作包括以下中的至少一项:点击,浏览,购买;所述关联度标签值包括,二分类标签值。
根据一种实施方式,所述向量融合单元62配置为执行以下之一:
计算所述第一嵌入向量和第二嵌入向量的均值,作为所述融合用户向量;
对所述第一嵌入向量和第二嵌入向量进行加权求和,将求和结果作为所述融合用户向量;
将所述第一嵌入向量和第二嵌入向量中模值较大的向量,作为所述融合用户向量。
在一个实施例中,所述确定单元64配置为:
对所述融合用户向量和所述第一物品嵌入向量进行点积操作,基于点积结果确定所述关联关系。
根据一种实施方式,装置600还包括评分预测单元(未示出),配置为:根据所述关联关系,预测所述第一用户对所述第一物品的评分。
根据另一种实施方式,装置600还包括推荐单元(未示出),配置为:根据所述关联关系,确定所述第一物品对所述第一用户的推荐度,以用于向所述第一用户进行物品推荐。
根据又一方面的实施例,根据图7,还提供另一种基于多个数据域确定用户与物品的关联关系的装置。类似的,多个数据域包括第一数据域和第二数据域,第一数据域包括,基于第一用户集合和第一物品集合形成的第一二部图,第二数据域包括,基于第二用户集合和第二物品集合形成的第二二部图。如图7所示,该用户-物品关联关系确定装置700包括:
物品向量获取单元71,配置为获取第一物品在所述第一二部图中的第一嵌入向量,以及在第二二部图中的第二嵌入向量,所述第一物品属于所述第一物品集合和第二物品集合的交集;
向量融合单元72,配置为基于所述第一嵌入向量和第二嵌入向量,获取所述第一物品的融合物品向量;
用户向量获取单元73,配置为获取第一用户的第一用户嵌入向量,其中,所述第一用户属于所述第一用户集合,所述第一用户嵌入向量为所述第一用户在所述第一二部图中的嵌入向量;或者,所述第一用户属于第二用户集合,所述第一用户嵌入向量为所述第一用户在所述第二二部图中的嵌入向量;
确定单元74,配置为基于所述融合物品向量和所述第一用户嵌入向量,确定所述第一用户和所述第一物品之间的关联关系。
根据一种实施方式,所述物品向量获取单元71配置为:利用预先训练的图嵌入模型,处理所述第一物品在所述第一二部图中的特征信息,得到所述第一嵌入向量。
在一个实施例中,上述图嵌入模型通过训练单元75预先训练。
在一个实施例中,所述向量融合单元72配置为执行以下之一:
计算所述第一嵌入向量和第二嵌入向量的均值,作为所述融合物品向量;
对所述第一嵌入向量和第二嵌入向量进行加权求和,将求和结果作为所述融合物品向量;
将所述第一嵌入向量和第二嵌入向量中模值较大的向量,作为所述融合物品向量。
根据一种实施方式,所述确定单元74配置为:对所述融合物品向量和所述第一用户嵌入向量进行点积操作,基于点积结果确定所述关联关系。
通过以上的装置600/装置700,将用户/物品在第一和第二数据域中的嵌入向量进行融合,基于融合数据进行用户-物品关联关系的分析和物品推荐。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3和图5所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3和图5所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。