基于异构信息网络的推荐方法及装置与流程

文档序号:13427057阅读:174来源:国知局

本发明涉及数据挖掘领域,尤其涉及一种基于异构信息网络的推荐方法及装置。



背景技术:

随着现代社会的发展,大型的商业推荐系统中的实体的类型越来越丰富。例如,在亚马逊的商务系统中,产品分为各种不同的类别及其包含的各种信息,比如不同的品牌以及用户对产品的评价。因此,在实际的生活中,我们需要在推荐系统中考虑不同信息所包含的丰富语义。现有技术通常采用异构信息网络中的元路径来分析不同实体类型之间的语义联系性,从而向用户推荐有用的商品。

但是,通过元路径分析用户-物品或用户-用户相似性的方法存在语义覆盖不全面的问题。例如,如图1所示的异构信息网络中,当采用路径用户-评价-单词-评价-用户获取用户之间的相似性时,由于两个用户都对海鲜进行了评价,因此可以得到一种联系性。但是,上述路径并未覆盖两个用户对同样的商铺进行评价、在同一城市的联系性,因此,现有技术通过元路径进行语义分析的方案并不能完整覆盖各种相似性,从而不能推荐符合用户需求的商品。再者,通过元路径的方法获得相似性矩阵后,再认知不同路径的权重,从而将不同路径获得的相似性进行融合。但是,这种融合方式没有充分考虑每条路径包含的隐藏特征,而且,相似性矩阵非常稀疏,并不利于最终的融合。为了解决上述问题,现有技术将每个相似性矩阵进行分解,然后利用隐藏的特征重新构造形成一个新的相似性矩阵,再将新的相似性矩阵进行融合。这种方式解决了相似性矩阵的稀疏问题,但是在融合过程中没有充分利用隐藏特征的联系性。



技术实现要素:

本发明实施例的目的是提供一种基于异构信息网络的推荐方法及装置,能有效解决现有技术使用元路径分析用户和项目相似性语义覆盖不全面的问题,充分考虑特征之间的关联性,从而为用户推荐有用的商品。

为实现上述目的,本发明实施例提供了一种基于异构信息网络的推荐方法,包括步骤:

获取多个实体的信息构建异构信息网络,并根据所述多个实体的类型构建所述异构信息网络的概要图;其中,所述异构信息网络中的节点与实体一一对应;

将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,分别计算每一所述元图的转移矩阵;其中,所述子图包括预设的实体类型;

根据每一所述元图的转移矩阵,获得每一所述元图对应的用户-项目相似性矩阵,将每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程;

基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数;其中,所述样本包括任一用户和任一项目;

将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户。

与现有技术相比,本发明公开的基于异构信息网络的推荐方法通过将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,分别计算每一所述元图的转移矩阵,从而获得若干个用户-项目相似性矩阵,然后对每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程,然后基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数,将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户,能有效解决现有技术使用元路径分析用户和项目相似性语义覆盖不全面的问题,充分考虑特征之间的关联性,从而为用户推荐有用的商品。

作为上述方案的改进,当所述元图包括至少两条路径时,通过邻接矩阵的点积和乘积运算获得每一元图的转移矩阵。

作为上述方案的改进,当所述元图包括一条路径时,通过将所述路径中每两个类型之间的邻接矩阵进行乘积运算获得所述元图的转移矩阵;

当所述元图包括若干分支路径和一条公用路径,分别计算每一分支路径的转移矩阵,将所述分支路径的转移矩阵进行点积运算获得每一所述分支路径的总转移矩阵,将所述分支路径的总转移矩阵与所述公用路径中每两个类型之间的邻接矩阵进行乘积运算,从而获得所述元图的转移矩阵。

作为上述方案的改进,获取多个实体的信息构建异构信息网络具体为:

获取用户信息、项目信息、用户对项目的评分信息、用户对项目的评价信息及项目类别信息,基于所述用户信息、项目信息、用户对项目的评分信息、用户对项目的评价信息及项目类别信息构建异构信息网络。

作为上述方案的改进,将每一所述用户-项目相似性矩阵进行融合具体为:

根据不同的所述元图,对不同的所述用户-项目相似性矩阵分配不同的权重,从而将每一所述用户-项目相似性矩阵进行融合。

作为上述方案的改进,将每一所述用户-项目相似性矩阵进行融合具体为:

将每一所述用户-项目相似性矩阵进行分解获得用户因子矩阵和项目因子矩阵;

将每一用户因子矩阵和对应的项目因子矩阵进行乘积运算获得新的所述用户-项目相似性矩阵,对不同的所述用户-项目相似性矩阵分配不同的权重,从而将每一所述用户-项目相似性矩阵进行融合。

作为上述方案的改进,将每一所述用户-项目相似性矩阵进行分解获得用户因子矩阵和项目因子矩阵具体为:

通过以下优化模型将所述用户-项目相似性矩阵进行降维处理后获得所述用户因子矩阵和项目因子矩阵:

其中,当ω=1时,[pω(x)]ij=xij,λu和λb是用于防止过拟合的l2范数正则化的超参数;u和b分别是用户因子矩阵和项目因子矩阵。

作为上述方案的改进,,所述目标函数为均值方差损失函数:

其中,n为已知评分的样本数,yn为样本的已知评分,对应样本的预测评分。

作为上述方案的改进,通过hetesim算法计算每一所述元图的相似性矩阵。

本发明实施例还提供了一种基于异构信息网络的推荐装置,包括:

异构信息网络构造模块,用于获取多个实体的信息构建异构信息网络,并根据所述多个实体的类型构建所述异构信息网络的概要图;其中,所述异构信息网络中的节点与实体一一对应;

转移矩阵计算模块,用于将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,分别计算每一所述元图的转移矩阵;其中,所述子图包括预设的实体类型;

用户-项目评分方程构造模块,用于根据每一所述元图的转移矩阵,获得每一所述元图对应的用户-项目相似性矩阵,将每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程;

参数训练模块,用于基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数;其中,所述样本包括任一用户和任一项目;

推荐模块,用于将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户。

与现有技术相比,本发明公开的基于异构信息网络的推荐装置通过转移矩阵计算模块将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,然后通过用户-项目评分方程构造模块分别计算每一所述元图的转移矩阵,从而获得若干个用户-项目相似性矩阵,然后对每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程,然后通过参数训练模块基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数,再通过推荐模块将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户,能有效解决现有技术使用元路径分析用户和项目相似性语义覆盖不全面的问题,充分考虑特征之间的关联性,从而为用户推荐有用的商品。

附图说明

图1是基于实体信息建立的异构信息网络的拓扑示意图。

图2是本发明实施例1提供的一种基于异构信息网络的推荐方法的流程示意图。

图3是基于图1的异构信息网络建立的概要图。

图4是基于图3的多个元图的优选实施例示意图。

图5是本发明实施例2提供的一种基于异构信息网络的推荐装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图2,是本发明实施例1提供的一种基于异构信息网络的推荐方法的流程示意图,包括步骤:

s1、获取多个实体的信息构建异构信息网络,并根据所述多个实体的类型构建所述异构信息网络的概要图;其中,所述异构信息网络中的节点与实体一一对应;

其中,信息网络,informationnetwork,可以用一个有向图g=(v,e)来表示,其中v代表节点object,e代表边edge。并且用映射函数φ:v→a来表示每一objectv∈v属于object类型集合a:φ(v)∈a,用映射函数ψ:e→r。表示每条边e∈e属于边的类型集合r:ψ(e)∈r。应该说明的是,如果两条边连接的起始节点和终止节点的type都相同,则这两条边是同一种类型。特别的,如果|a|>1或者|r|>1,即节点的类型和边的类型大于1时,则该信息网络为异构信息网络,heterogeneousinformationnetwork,简称hin,否则为同构信息网络,homogeneousinformationnetwork。异构信息网络的概要图即用类型表示的异构信息网络tg=(a,r),如图3所示为图1对应的异构信息网络的概要图。

优选地,步骤s1中获取多个实体的信息构建异构信息网络具体为:

获取用户信息、项目信息、用户对项目的评分信息、用户对项目的评价信息及项目类别信息,基于所述用户信息、项目信息、用户对项目的评分信息、用户对项目的评价信息及项目类别信息构建异构信息网络。

s2、将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,分别计算每一所述元图的转移矩阵;其中,所述子图包括预设的实体类型;

例如,ts=(as,rs)是异构信息网络概要图tg=(a,r)的子图,其中,as属于a,rs属于r。可以理解的,所述元图为包括一入度为0度的源节点和一出度为0度的目标节点的有向无环图。如图4所示,m1,…,m6是一优选实施例的多个元图,上述元图的源节点均为用户类型,目标节点均为商品类型。其中,不同的元图所包含的语义信息也有所不同。例如,m1代表的是用户对商品的垢面关系,m2代表不同用户购买同一商品的关系。

此外,在给定异构信息网络g=(v,e)和概要图tg,元路径p=(a1a2…al)的转移矩阵为类型的邻接矩阵的乘积cp=wa1a2·wa2a3…wal-1al。例如,对于图4中的元图m3,其对应的转移矩阵为其中wub为类型u和类型b之间的邻接矩阵。

s3、根据每一所述元图的转移矩阵,获得每一所述元图对应的用户-项目相似性矩阵,将每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程;

优选地,在该步骤中,还可采用异步双向随机游走的相关度计算方法获取用户-项目的相似度矩阵,这就是所谓的“hetesim”算法。具体为,分别从元图的源节点和目标节点出发,源节点沿着指定的元图进行随机游走,目标节点沿着同一元图的逆向随机游走,计算它们到达元图上每一位置对应节点的概率,采用算术平均的方法计算源节点和目标节点在元图上每一节点相遇的总概率,则获得源节点和目标节点的相似度。与现有技术不同的是,现有的hetesim算法是应用于元路径,而本方案是应用于元图,具有更好的稳定性和更强的语义覆盖性。

s4、基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数;其中,所述样本包括任一用户和任一项目;

优选地,所述目标函数为其中,n为已知评分的样本数,yn为样本的已知评分,对应样本的预测评分。进一步地,为了防止过拟合,可在目标函数中加入惩罚项。

此外,该步骤中的所述样本包括任一用户和任一项目,即代表用户-项目的对应关系,其存在该用户对该项目的评分信息或该用户对该项目的预测评分信息。

s5、将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户。

在步骤s5中,可以降序的方式对项目的评分进行排序,将排在最靠前的一个或多个项目推荐给所述用户。

因此,基于上述方案,通过将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,分别计算每一所述元图的转移矩阵,从而获得若干个用户-项目相似性矩阵,然后对每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程,然后基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数,将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户,由于本方案提出的元图能包含更丰富的语义信息,因此本方案能有效解决现有技术使用元路径分析用户和项目相似性语义覆盖不全面的问题,充分考虑特征之间的关联性,从而为用户推荐有用的商品。

需要说明的是,当所述元图包括至少两条路径时,通过邻接矩阵的点积和乘积运算获得每一元图的转移矩阵。具体的,当所述元图包括包括若干分支路径和一公用路径,分别计算每一分支路径的转移矩阵,将所述分支路径的转移矩阵进行点积运算获得每一所述分支路径的总转移矩阵,将所述分支路径的总转移矩阵与所述公用路径中每两个类型之间的邻接矩阵进行乘积运算,从而获得所述元图的转移矩阵。如图5所示的元图m6,其可包含两条路径,分别为(u,r,a,r,u,b)以及(u,r,b,r,u,b),其中分支路径(r,a,r)表示两条评价(reviews)提及同一方面(aspect),分支路径(r,b,r)表示两条评价(reviews)对应同一商品(business),因此可采用先计算分支路径的点乘积,再计算元图的两条路径的乘积。具体的算法如图4所示,其中,cp1为分支路径(r,a,r)的转移矩阵,cp2为分支路径(r,b,r)的转移矩阵,然后计算cp1和cp2的点积,接着与公用路径(u,-,-,-,u,b)中每两个类型之间的邻接矩阵进行乘积运算,从而获得元图m6的转移矩阵,具体的算法如下所示:

csr=cp1⊙cp2

在异构信息网络结构中,每个元图对最终的用户-项目评分方程具有不同的影响,因此需要按照一定的权重进行融合,以得到较为良好的推荐效果。在一优选实施例中,步骤s3中将每一所述用户-项目相似性矩阵进行融合可采用多种融合算法,可先通过关系抽取算法得到权值,然后根据同一框架结构将各个元图所对应的相似度矩阵进行融合。优选地,元图可采用网络融合、效用矩阵融合、特征融合和划分融合方式进行融合。其中,网络融合最直接的方法是计算网络节点之间的平均交互网络,将每个元路径从网络阶段进行加权求和得到目标关系;效用矩阵融合是对所有元图的模块性函数的加权和最大化,它考虑了每条元路径所对应的关系矩阵的度分布。

除了上述根据不同的所述元图,对不同的所述用户-项目相似性矩阵分配不同的权重,从而将每一所述用户-项目相似性矩阵进行融合,另一种对用户-项目相似性矩阵进行融合的方式为:

将每一所述用户-项目相似性矩阵进行分解获得用户因子矩阵和项目因子矩阵;

将每一用户因子矩阵和对应的项目因子矩阵进行乘积运算获得新的所述用户-项目相似性矩阵,对不同的所述用户-项目相似性矩阵分配不同的权重,从而将每一所述用户-项目相似性矩阵进行融合。

其中,将每一所述用户-项目相似性矩阵进行分解获得用户因子矩阵和项目因子矩阵具体为:

通过以下优化模型将所述用户-项目相似性矩阵进行降维处理后获得所述用户因子矩阵和项目因子矩阵:

其中,当ω=1时,[pω(x)]ij=xij,λu和λb是用于防止过拟合的l2范数正则化的超参数;u和b分别是用户因子矩阵和项目因子矩阵。

上述优化模型的求解可采用梯度下降或随机梯度下降的方式进行求解获得所述用户因子矩阵和项目因子矩阵。

优选地,对所述用户-项目相似性矩阵进行分解还可采用奇异值分解和非负矩阵分解的方式。

此外,预测的准确度是评分推荐系统中最常用的评价指标,该指标衡量的是推荐算法预测用户对项目的评分和实际用户评分的“接近”程度。在本方案中,可采用计算平均绝对误差的方法进行准确度的预测,也可通过平均平方误差、均

方根误差方法进行准确度的预测。其中,均方根误差方法具体为:

其中,rtest是所有的训练集,为用户ui对项目bj的预测评分,rij为用户ui对项目bj的已标记评分。

参见图5,是本发明实施例2提供的一种基于异构信息网络的推荐装置的结构示意图,包括:

异构信息网络构造模块101,用于获取多个实体的信息构建异构信息网络,并根据所述多个实体的类型构建所述异构信息网络的概要图;其中,所述异构信息网络中的节点与实体一一对应;

转移矩阵计算模块102,用于将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,分别计算每一所述元图的转移矩阵;其中,所述子图包括预设的实体类型;

用户-项目评分方程构造模块103,用于根据每一所述元图的转移矩阵,获得每一所述元图对应的用户-项目相似性矩阵,将每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程;

参数训练模块104,用于基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数;其中,所述样本包括任一用户和任一项目;

推荐模块105,用于将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户。

优选地,所述多个实体的信息包括获取用户信息、项目信息、用户对项目的评分信息、用户对项目的评价信息及项目类别信息,基于所述用户信息、项目信息、用户对项目的评分信息、用户对项目的评价信息及项目类别信息。

其中,需要说明的是,当所述元图包括至少两条路径时,通过邻接矩阵的点积和乘积运算获得每一元图的转移矩阵。具体的,当所述元图包括至少两条路径时,其中,所述路径包括若干分支路径和一公用路径,分别计算每一分支路径的转移矩阵,将所述分支路径的转移矩阵进行点积运算获得每一所述分支路径的总转移矩阵,将所述分支路径的总转移矩阵与所述公用路径中每两个类型之间的邻接矩阵进行乘积运算,从而获得所述元图的转移矩阵。

优选地,所述用户-项目评分方程构造模块103可采用异步双向随机游走的相关度计算方法获取用户-项目的相似度矩阵,这就是所谓的“hetesim”算法。

优选地,所述目标函数为其中,n为已知评分的样本数,yn为样本的已知评分,对应样本的预测评分。进一步地,为了防止过拟合,可在目标函数中加入惩罚项。

优选地,用户-项目评分方程构造模块103可通过对不同的所述用户-项目相似性矩阵分配不同的权重,从而将每一所述用户-项目相似性矩阵进行融合。此外,另一种融合方式具体为:

将每一所述用户-项目相似性矩阵进行分解获得用户因子矩阵和项目因子矩阵;

将每一用户因子矩阵和对应的项目因子矩阵进行乘积运算获得新的所述用户-项目相似性矩阵,对不同的所述用户-项目相似性矩阵分配不同的权重,从而将每一所述用户-项目相似性矩阵进行融合。

其中,将每一所述用户-项目相似性矩阵进行分解获得用户因子矩阵和项目因子矩阵具体为:

通过以下优化模型将所述用户-项目相似性矩阵进行降维处理后获得所述用户因子矩阵和项目因子矩阵:

其中,当ω=1时,[pω(x)]ij=xij,λu和λb是用于防止过拟合的l2范数正则化的超参数;u和b分别是用户因子矩阵和项目因子矩阵。

本发明实施例中的基于异构信息网络的推荐装置实施过程和工作原理可参考上述对基于异构信息网络的推荐方法的具体描述,在此不再赘述。

综上,本发明实施例提供了一种基于异构信息网络的推荐方法及装置,通过将异构信息网络的概要图划分为若干个子图,每一所述子图对应一元图,分别计算每一所述元图的转移矩阵,从而获得若干个用户-项目相似性矩阵,然后对每一所述用户-项目相似性矩阵进行融合,并构造用户-项目评分方程,然后基于所述用户-项目评分方程,构造目标函数,通过优化所述目标函数,根据已知评分的样本对所述用户-项目评分方程进行训练,获得所述用户-项目评分方程的参数,将所述用户-项目评分方程的参数代入所述用户-项目评分方程中,预测用户对每一项目的评分,将所述评分符合预设条件的项目推荐给所述用户,能有效解决现有技术使用元路径分析用户和项目相似性语义覆盖不全面的问题,充分考虑特征之间的关联性,从而为用户推荐有用的商品。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1