推荐方法和系统与流程

文档序号:12124035阅读:260来源:国知局
推荐方法和系统与流程

本发明涉及计算机软件和数据挖掘技术领域,特别是涉及一种推荐方法和系统。



背景技术:

为了更好的解决信息过载问题,推荐系统应运而生。它试图通过分析用户和商品的内容信息以及用户与商品的交互信息,来帮助用户发掘其潜在的兴趣对象,从而将用户可能感兴趣的对象推荐给用户。比如,在某一个应用领域,数据分析发现用户存在对某一类电影的观看记录,则认为用户对这一类电影感兴趣,可将该类别的用户未观看过的电影推荐给用户。

随着社会化网络的兴起,社会化推荐成为了可能。社会化推荐的基本思想是根据用户之间的交往分析用户的朋友圈进行推荐。朋友之间一般具有相同的兴趣爱好,而且来自朋友的推荐也比较值得信赖。因此,传统技术中,大部分推荐方法都是基于用户的社交关系数据进行推荐的。

然而,传统的这种社会化推荐方式会面临社交关系数据稀疏的难题。在很多的实际应用领域中,社交关系数据是极其系数甚至根本不存在。例如,Amazon用户之间是不存在社交关系的,80%的Yelp用户的关注人数小于3。因此,传统的推荐方法不能很好的应付数据稀疏的问题,推荐效果受限。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能很好的应付数据稀疏问题 的,从而能提高推荐效果的推荐方法和系统。

一种推荐方法,所述方法包括:

将推荐数据集中的对象和对象之间的关系建模为异质信息网络;

获取所述异质信息网络中连接两个对象的元路径;

根据所述连接两个对象的元路径计算对象之间的相似度数据;

根据所述对象之间的相似度数据构建目标函数,通过所述目标函数对所述推荐数据集进行训练,得到用户对物品的预测评分;

根据所述用户对物品的预测评分将物品推荐给用户。

一种推荐系统,所述系统包括:

建模模块,用于将推荐数据集中的对象和对象之间的关系建模为异质信息网络;

元路径获取模块,用于获取所述异质信息网络中连接两个对象的元路径;

相似度计算模块,用于根据所述连接两个对象的元路径计算对象之间的相似度数据;

训练模块,用于根据所述对象之间的相似度数据构建目标函数,通过所述目标函数对所述推荐数据集进行训练,得到用户对物品的预测评分;

推荐模块,用于根据所述用户对物品的预测评分将物品推荐给用户。

上述推荐方法和系统,通过将推荐数据中的对象和对象之间的关系建模为异质信息网络,获取异质信息网络中连接两个对象的元路径,根据元路径计算对象之间的相似度数据,再根据相似度数据构建目标函数,使用目标函数对推荐数据集进行训练,从而得到用户对物品的预测评分,进而可以根据用户对物品的预测评分将物品推荐给用户。由于异质信息网络包含至少两种对象类型和/或至少两种关系类型,因此该推荐方法和系统不仅仅利用了用户之间的社会化 关系数据,而是利用了异质信息网络中的异质信息,并且构建目标函数时利用了对象之间的相似度数据,因而能够得到更准确的用户对物品的预测评分,该推荐方法和系统现对于现有技术更加全面,能获得更好的推荐效果。

附图说明

图1为一个实施例中推荐方法的流程示意图;

图2为一个实施例中异质信息网络的示意图;

图3为一个实施例中推荐系统的结构框图;

图4为一个具体的实验中SimMF附带不同的规则化项的推荐效果的对比图;

图5为一个具体的实验中SimMF融合不同元路径下的推荐效果的对比图;

图6为一个实施例中服务器的内部结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种推荐方法,该方法包括:

步骤110,将推荐数据集中的对象和对象之间的关系建模为异质信息网络。

推荐数据集是指一个应用中根据推荐需求选取的与推荐的对象有关的数据的集合。比如,在一个社交网络应用需要给用户推荐电影,则可获取该社交网络应用中所有用户的用户信息、所有电影的电影信息和电影被观看的记录信息作为推荐数据集。推荐数据集中的对象包括用户、物品以及用户和物品的属性 信息,其中物品可因不同的应用而有所不同,比如可以是电影、书籍、商品、网站、广告等,在此不一一列举。

异质信息网络是一种特殊的信息网络,其中包括至少两种对象类型或至少两种关系类型。异质信息网络中包含的异质信息包括对象之间的关系信息和对象本身的属性信息,其中,对象之间的关系信息是对象之间因在应用中存在的关系产生的关联信息,比如用户与用户之间的社交关系、用户对物品的反馈信息等。将对象和对象之间的关系建模为异质信息网络,则对象和对象之间在异质信息网络中存在连接路径,该路径称之为元路径。比如用户与用户之间可能存在观看过的相同的电影,则这两个用户之间通过电影进行了连接。可以理解,对象和对象之间的元路径可以有多条。

步骤120,获取异质信息网络中连接两个对象的元路径。

具体的,可先确定连接两个对象的多种元路径,再根据这多种元路径获取异质信息网络中连接这两个对象的元路径。比如,连接两个用户的元路径包括用户-电影-用户、用户-群组-用户、用户-用户等。根据确定的这多种元路径再从建模得到的异质信息网络中获取连接两个用户的元路径。

元路径在数学形式上表现为对象和对象之间的复合关系,蕴含在不同元路径中的语义信息是不同的。比如,用户-电影-用户表示观看过相同电影的用户,用户-群组-用户表示同一群组中的用户等。基于不同的元路径计算出的对象之间的相似度一般是不同的。

步骤130,根据连接两个对象的元路径计算对象之间的相似度数据。

由于连接两个对象的元路径有多条,每一条元路径上都可以计算出这两个对象的相似度,则这两个对象之间的相似度为在每一条元路径上的相似度的加权和。在异质信息网络中,由两个对象之间的相似度可以组成一个对象的相似 度矩阵,该相似度矩阵中的元素为两个对象之间的相似度,因此该相似度矩阵的维度为异质信息网络中该对象的数量。具体的,包括用户相似度矩阵和物品相似度矩阵。

步骤140,根据对象之间的相似度数据构建目标函数,通过该目标函数对推荐数据集进行训练,得到用户对物品的预测评分。

本实施例中,目标函数由基础矩阵分解模型和根据对象之间的相似度数据构建的规则化项所构成。其中,基础矩阵分解模型包括真实评分和预测评分的平方误差项和对象的隐性特征向量的规则化项,新添的根据对象之间的相似度数据构建的规则化项包括用户相似度规则化项和物品相似度规则化项。其中,用户相似度规则化项可将某一个用户的隐性特征向量趋近于与该用户最相似的前预设数量的用户的隐性特征向量的平均水平,或者,可将某一个用户的隐性特征向量趋近于与该用户有着高相似度的用户的隐性特征向量。物品相似度规则化项与之类似,也可将某一个物品的隐性特征向量趋近于与该物品最相似的前预设数量的物品的隐性特征向量的平均水平,或者,可将某一个物品的隐性特征向量趋近于与该物品有着高相似度的物品的隐性特征向量。

进一步的,通过构建的目标函数对推荐数据集进行训练,也就是说对目标函数进行最优化,获取使得目标函数最小的用户的隐性特征向量和物品的隐性特征向量。所谓隐性特征,是指无法确定具体物理含义的特征,其体现了用户和物品的一些人为无法用语言直接描述的特征,但对用户和物品的描述具有实际意义。根据用户的隐性特征向量和物品的隐性特征向量即可计算得到用户对物品的预测评分。所谓预测评分,是使用预测函数,根据用户的隐性特征向量和物品的隐性特征向量预测出的用户对物品的评分,该评分体现了用户对物品的感兴趣程度,或者称之为用户对物品的偏好值。

步骤150,根据用户对物品的预测评分将物品推荐给用户。

本实施例中,可根据用户对物品的预测评分,将预测评分最高的一些物品推荐给用户。在实际应用中,推荐时还可参考应用领域的其它因素。比如,可将预测评分最高的且最热门的物品推荐给用户,将预测评分最高且地理位置与用户所在地理位置最近的物品推荐给用户,等等,本实施例对此不做限定。

本实施例中,由于异质信息网络包含至少两种对象类型和/或至少两种关系类型,因此该推荐方法不仅仅利用了用户之间的社会化关系数据,而且利用了异质信息网络中的异质信息,并且构建目标函数时利用了对象之间的相似度数据,因而能够得到更准确的用户对物品的预测评分,该推荐方法相对于现有技术更加有效处理数据稀疏问题,能获得更好的推荐效果。

进一步的,在一个实施例中,异质信息网络能够有效组织异质信息,其中异质信息包括用户对物品的反馈信息、用户与用户之间的社交关系、用户属性信息和物品属性信息。

其中,用户对物品的反馈信息根据不同的应用领域有所不同,比如可以是用户对电影的评分信息、用户对书籍的评论信息等。用户与用户之间的社交关系,比如可以是用户之间的好友关系、关注关系、收听关系等,用户属性信息,比如可以是用户所在的群组、用户的位置信息等,物品属性信息,比如可以是电影的类型、导演,书籍的作者等。

异质信息网络的底层数据结构是有向图,包含多种类型的对象或者多种类型连边。给定模式S=(A,R),其中A={A}是对象集合,R={R}是关系集合。信息网络为以有向图G=(V,E)及其对象类型映射函数V→A和关系类型映射函数E→R。如果对象类型数目A|>1或者关系类型数目R|>1,则此信息网络被称为异质信息网络,否则称为同质信息网络。因此,可以理解,异质信息网络是包 括至少两种对象类型或至少两种关系类型的信息网络。

图2示出了一个具体的实施例中的一种异质信息网络,其中包含了多种类型的实体对象:用户(U)、电影(M)、群组(G)、位置(L)、演员(A)、导演(D)以及电影类型(T)。对于每一个用户结点,它与该用户的一组好友结点,一组所属群组结点以及一组评过分的电影结点都会形成连接。如图2所示,用户与用户之间具有连接关系,用户还与群组、位置之间也具有连接关系,电影与用户之间具有连接关系,电影还与导演、演员和类型之间也具有连接关系。用户与用户之间存在的连接表示好友关系,用户与群组之间存在的连接表示成员关系,用户与电影之存在的连接表示评分与被评分关系。电影结点则与之类似,也会形成一系列连接关系。因此在这样的一个异质信息网络中蕴含了推荐系统所需的不同类型的信息,比如反馈信息(如用户-电影)、社交关系(如用户-用户)以及属性信息(如用户-群组、电影-演员等)。

在异质信息网络中的两个对象之间的连接路径,称之为元路径。元路径,也就是连接两种类型对象的构成关系,每条元路径蕴含了丰富的语义信息。例如,元路径“用户-电影-用户”表示观看过同一部电影的用户。在异质信息网络中,两个对象可以通过不同类型的元路径进行连接。

在数学形式上,元路径P是定义在模式S=(A,R)上的一条路径,表示为(一般缩写为A1A2...Al+1)。这样一条元路径其实定义了对象类型A1和对象类型Al+1之间的复合关系R=R1οR2ο...οRl,其中ο表示关系的组合运算符。如图2所示,用户与用户可以通过“用户-用户”(UU)、“用户-群组-用户”(UGU)、“用户-电影-用户”(UMU)等元路径进行连接。蕴含在不同的元路径中的语义信息明显是不同的,比如元路径UU表示用户的好友,而UMU表示观看过相同电影的用户。由于不同的元路径具有不同的语义信息,因此基 于不同元路径计算出对象之间的相似度是不同的。在计算对象之间的相似度时,使用的相似度度量方法是基于元路径的。例如,在计算两个用户间相似度时,可考虑基于元路径UU、UGU、UMU或者其它元路径。类似的,连接电影的元路径有MAM、MDM等。

进一步的,在一个实施例中,根据连接两个对象的元路径计算对象之间的相似度数据的步骤,包括:根据两个用户在给定元路径上的相似度的加权和构造用户相似度矩阵;和/或,根据两个物品在给定元路径上的相似度的加权和构造物品相似度矩阵。

本实施例中,可先为用户和物品选择合适的元路径。在异质信息网络中,连接用户或者连接物品都存在大量的元路径可供选择。具体的,可选择长度短且语义信息强烈的元路径,因为这类元路径有利于生成较好的相似度数据。另外,还可以结合领域知识和使用者需求进行元路径的选择。

具体的,计算对象在给定元路径上的相似度的方法有多种,比如,可采用传统的PathSim方法来度量相同类型对象间的相似性,它要求计算时所使用的元路径必须是对称路径。也可以使用传统的PCRW方法来在一个有向图中进行对象间相似度度量。或者使用传统的HeteSim方法基于任意元路径计算异质信息网络中两个对象间的相似度。本实施例中,由于HeteSim方法对元路径是否对称没有特殊要求,因此,可采用HeteSim方法计算异质信息网络中对两个用户或者两个物品在给定元路径上的相似度。

进一步的,在一个实施例中,所述两个用户在给定元路径上的相似度为两个用户在给定的元路径上的相似度进行正则化后的相似度;所述两个物品在给定元路径上的相似度为两个物品在给定的元路径上的相似度进行正则化后的相似度。

本实施例中,定义表示两个对象ui和uj间基于给定元路径Pl的相似度。相似度(S)是由给定的元路径(P)和计算时所使用的相似度度量方法(M)所决定的,即S=P×M。基于不同元路径计算同一对象间的相似度时一般是不同的,并且这些相似度数据间是不具可比性的。为了能够对同一对象间基于不同元路径的相似度数据进行线性运算,可使用Sigmoid函数进行正则化。即采用如下公式进行计算:

其中,为进行正则化后的相似度,表示对于所有i,j组合下的平均值。也就是说,对于用户来说,是异质信息网络中所有两两用户基于给定元路径的相似度的平均值,对于物品来说,是异质信息网络中所有两两物品基于给定元路径的相似度的平均值。为描述简便,本申请中,直接用表示进行正则化后的相似度。

对对象在给定元路径上的相似度进行正则化具有以下有益效果:1)能将相似度约束到[0,1]区间并且没有改变相似度之间的大小关系;2)避免多条元路径相似度进行线性运算时各条路径相似度数值分布上的差异。

具体的,可采用如下公式分别构造用户的相似度矩阵和物品的相似度矩阵:

其中,和分别表示用户间以及物品间基于不同元路径的相似度的权重。

本实施例中,为选取的每个元路径,根据其重要程度为其设置相应的权重,可简单的将每条元路径的权重设为平均权重。根据经验可以表明,设计有监督的权重学习方法来自动设置每条元路径的权重,相对于设置每条元路径的权重 设为平均权重,其优越性并未突出,因此,本实施例可简单将每条元路径的权重设为相同。

根据上述用户相似度矩阵和物品相似度矩阵的计算公式,可以理解,用户相似度矩阵中的元素为两个用户在给定元路径上的相似度的加权和,物品相似度矩阵中的元素为两个物品在给定元路径上的相似度的加权和。

进一步的,在一个实施例中,根据计算得到的用户相似度矩阵和物品相似度矩阵来构建目标函数,使用目标函数对推荐数据集进行训练,实现低秩矩阵分解。在推荐领域,低秩矩阵分解的基本思想是将用户-物品评分矩阵分解为两个分别表示用户的隐性语义分布的低秩矩阵U和表示物品的隐性语义分布的低秩矩阵V。然后直接将分解出的这两个低秩矩阵进行矩阵乘法运算就可以得到用户对物品的预测评分,该评分反应了用户对物品的感兴趣程度。

本实施例中,提出了一种基于基础矩阵分解模型的模型,称之为SimMF模型。该SimMF模型在基础矩阵分解模型的基础上增加了新添的规则化项,包括基于用户相似度矩阵所构建的规则化项和基于物品相似度矩阵所构建的规则化项。

具体的,目标函数采用如下公式得到:

目标函数=基础矩阵分解模型+用户相似度规则化项*α/2+物品相似度规则化项*β/2;其中,α和β分别为用于控制用户相似度规则化项和物品相似度规则化项在目标函数中所占比例的参数,且α≥0,β≥0。

其中,基础矩阵分解模型包括真实评分和预测评分的平方误差项和对象的隐性特征向量的规则化项,对象的隐性特征向量的规则化项包括用户的隐性特征向量的规则化项和物品的隐性特征向量的规则化项。

具体的,假设m×n评分矩阵R表示m个用户对n个物品的评分,则基础矩 阵分解的主要思想是最小化以下目标函数:

其中,表示真实评分和预测评分的平方误差项,表示用户的隐性特征向量的规则化项,表示物品的隐性特征向量的规则化项,这两个规则化项的目的是避免模型训练时出现过拟合问题。其中,Iij是指示函数:如果用户i对物品j评过分,则Iij=1,否则Iij=0。U∈Rm×d,V∈Rn×d,d每个用户或物品的隐性特征向量的维数且d<<min(m,n)。||||2表示弗罗宾尼斯范数。Ui是矩阵U的第i行元素所形成的行向量,同理,Vj是矩阵V的第j行元素所形成的行向量。λ1和λ2是规则化系数。

进一步的,根据用户相似度矩阵构建用户相似度规则化项,根据物品相似度矩阵构建物品相似度规则化项,根据用户相似度规则化项和物品相似度规则化项构建的目标函数如下:

其中,是用户相似度规则化项,是物品相似度规则化项。α和β分别为用于控制用户相似度规则化项和物品相似度规则化项在目标函数中所占比例的参数,且α≥0,β≥0。因此,可以理解,该目标函数即矩阵分解模型中,可能只包含用户相似度规则化项,或者只包含物品相似度规则化项,或者同时包含用户及物品相似度规则化项。

在一个实施例中,提出了两种相似度规则化项:面向平均(Average-based)的规则化项和面向个体(Individual-based)的规则化项。用户相似度规则化项可以为面向平均或者面向个体的规则化项,物品相似度规则化项可以为面向平均或者面向个体的规则化项。因此,可以理解,SimMF模型可以有四种形式。

定义来表示用户或物品的Average-based规则化项或Individual-based规则化项,其中,x∈{U,I}代表用户或者物品,y∈{ave,ind}代表Average-based或Individual-based规则化方式,则用户相似度规则化项表示为:

其中,Ui是行向量,即矩阵U的第i行,表示用户i的隐性特征向量,Uf表示矩阵U的第f行;Vj是行向量,即矩阵V的第j行,表示物品j的隐性特征向量。表示用户i的top k相似用户的集合,也就是与用户i最相似的前k个用户的集合,是用户相似度矩阵SU的i行f列的元素。

同理,物品相似度规则化项表示为:

其中,Vj是行向量,即矩阵V的第i行,表示物品j的隐性特征向量,Vf表示矩阵V的第f行。表示物品j的top k相似物品的集合,也就是与物品j最相似的前k个物品的集合,是物品相似度矩阵SI的j行f列的元素。

下面将详细描述构建的目标函数只添加一类相似度规则化项的情形。

在基础矩阵分解模型中只添加用户相似度规则化项,且采用Average-based规则化方式,则构建的目标函数为:

其中,表示用户i的top k相似用户的集合,也就是与用户i最相似的 前k个用户的集合,是用户相似度矩阵SU的i行f列的元素。

该构建的目标函数的原理是:直观来说,用户与和其相似的人们有着类似的行为模式,从数学角度分析就是,相似用户的隐性特征向量也相近。Average-based规则化实际上是限制矩阵分解结果中某一用户的隐性特征向量趋近该用户的top k相似用户的隐性特征向量的平均水平。Average-based规则化不仅将用户线上朋友拓展为用户的top k相似用户,而且同时将相似度数据当作权重在模型中使用。通过top k的参数k的设置能够平衡推荐效果和计算复杂度。比如,适当将参数k设置为较大数值就意味着更好的推荐效果但却更低的训练效率。

构建得到目标函数,可通过梯度下降求解该目标函数。上述目标函数的局部最小值可通过在每个向量Ui和Vj上进行梯度下降获取。对上述目标函数进行梯度下降学习过程中所用到的目标函数对Ui以及对Vj的偏导结果如下:

其中,表示top k相似用户中包含用户i的用户集合。

在基础矩阵分解模型中只添加用户相似度规则化项,且采用Individual-based规则化方式,则构建的目标函数为:

如果数值较大,则Individual-based规则化方式就约束矩阵分解的结果使向量Ui和向量Uj之间拥有较小的距离,即限制用户的品味接近与该用户有着高相似度用户的品味。

同样的,通过梯度下降求解该目标函数。对上述目标函数进行梯度下降学习过程中所用到的目标函数对Ui以及对Vj的偏导结果如下:

同理,在基础矩阵分解模型的基础上只添加物品相似度规则化项,则采用Average-based规则化方式和Individual-based规则化方式构建的目标函数分别为:

同理,也可以通过梯度下降方法来求解该目标函数,在此则不再赘述。

对于同时在基础矩阵分解模型的基础上既添加用户相似度规则化项,又添加物品相似度规则化项。通过α和β来分别用来控制用户和物品规则化项目的所占比例。同样的,对于构建的目标函数使用梯度下降方法来进行求解。

进一步的,在一个实施例中,通过构建的目标函数对推荐数据集进行训练,得到用户对物品的预测评分的步骤,包括:求解目标函数,得到使目标函数最小化的用户的隐性特征向量和物品的隐性特征向量,根据所述用户的隐性特征向量和物品的隐性特征向量得到用户对物品的预测评分。

具体的,可采用如下公式计算用户对物品的预测评分:

其中,为预测的用户i对物品j的预测评分,Ui为矩阵U的第i行,表示用户i的隐性特征向量,Vj为矩阵V的第j行,表示物品j的隐性特征向量。

计算得到用户对物品的预测评分,便可以根据用户对物品的预测评分进行物品的推荐。具体的,在一个实施例中,根据用户对物品的预测评分将物品推荐给用户的步骤,包括:根据用户对物品的预测评分,选取与用户不存在关联记录的预测评分最高的预设数量个物品推荐给用户。本实施例中,用户对物品的预测评分反应了用户对物品的感兴趣程度,预测评分越高,表明用户对物品的感兴趣程度越高。物品与用户存在关联关系,表明用户已获知该物品。例如,用户对某个电影存在观看记录,用户对某本书籍存在购买记录等。在选择物品推荐给用户时,可对这些已存在关联关系的物品进行过滤,将不存在关联关系切预测评分最高的一些物品推荐给用户。

上述推荐方法,通过将推荐数据集建模为异质信息网络,根据异质信息网络来获取对象之间的相似度,在基础矩阵模型的基础上添加用户相似度规则化项和/或物品相似度规则化项,构建新的矩阵模型(即SimMF模型),SimMF模型可以根据推荐数据集来确定用户相似度规则化项和物品相似度规则化项所占的比例,进行矩阵分解后得到用户的隐性特征向量和物品隐性特征向量,进而可以计算得到用户对物品的预测评分。除了利用用户的社交关系,还整合了用户对物品的反馈信息、用户属性信息和物品属性信息,并可以结合数据集本身特点来确定用户相似度规则化项和物品相似度规则化项所占的比例,因此能够得到更加准确的推荐效果。

可以理解,α和β是控制SimMF模型多大比例整合社交关系以及用户和物品属性等信息。用户相似度矩阵和物品相似度矩阵则决定了哪些或者哪种相似性信息将被使用。如果α和β同时设置为0,则SimMF模型退化为基础矩阵模型;当α设置为0时,则SimMF模型仅仅融合了物品信息;当β设置为0时,则SimMF模型仅仅融合了用户社交关系及属性信息。因此SimMF模型具有较 高的灵活性。另外,SimMF模型考虑到了两种规则化方式来融合相似度信息,因而可以得到多样的推荐效果。

如图3所示,在一个实施例中,还提供了一种推荐系统,该系统包括:

建模模块310,用于将推荐数据集中的对象和对象之间的关系建模为异质信息网络。

元路径获取模块320,用于获取异质信息网络中连接两个对象的元路径。

相似度计算模块330,用于根据连接两个对象的元路径计算对象之间的相似度数据。

训练模块340,用于根据对象之间的相似度数据构建目标函数,通过所述目标函数对所述推荐数据集进行训练,得到用户对物品的预测评分。

推荐模块350,用于根据用户对物品的预测评分将物品推荐给用户。

在一个实施例中,异质信息网络中的异质信息包括用户对物品的反馈信息、用户与用户之间的社交关系、用户属性信息和物品属性信息。

在一个实施例中,相似度计算模块330用于根据两个用户在给定元路径上的相似度的加权和构造用户相似度矩阵;和/或,用于根据两个物品在给定元路径上的相似度的加权和构造物品相似度矩阵。

在一个实施例中,所述两个用户在给定元路径上的相似度为两个用户在给定的元路径上的相似度进行正则化后的相似度;所述两个物品在给定元路径上的相似度为两个物品在给定的元路径上的相似度进行正则化后的相似度。

在一个实施例中,所述目标函数采用如下公式得到:

目标函数=基础矩阵分解模型+用户相似度规则化项*α/2+物品相似度规则化项*β/2;

其中,α和β分别为用于控制用户相似度规则化项和物品相似度规则化项在目标函数中所占比例的参数,且α≥0,β≥0。

在一个实施例中,所述用户相似度规则化项是面向平均或者面向个体的规则化项,所述物品相似度规则化项是面向平均或者面向个体的规则化项。

在一个实施例中,训练模块340用于求解所述目标函数,得到使所述目标函数最小化的用户的隐性特征向量和物品的隐性特征向量;根据所述用户的隐性特征向量和物品的隐性特征向量得到用户对物品的预测评分。

在一个实施例中,训练模块340用于根据如下公式计算用户对物品的预测评分:

其中,为预测的用户i对物品j的预测评分,Ui为矩阵U的第i行,表示用户i的隐性特征向量,Vj为矩阵V的第j行,表示物品j的隐性特征向量。

在一个实施例中,推荐模块350用于根据用户对物品的预测评分,选取与用户不存在关联记录的预测评分最高的预设数量个物品推荐给用户。

为了证明本发明实施例所提出的推荐方法和系统的有益效果,以下将结合具体的实验来说明本发明实施例所提出的推荐方法和系统的优越性。

为了能够从数据上证明其优越性,在具体实施例中,通过两个评估指标来进行实验。这两个评估指标为平均绝对误差(MAE)和均方根误差(RMSE)。其中,MAE和RMSE分别通过以下公式计算得到:

其中,Rij是用户i对物品j的实际评分(即实际的预测评分),表示由推荐方法预测到的用户i对物品j的评分,T是测试集大小。可以看出,MAE或者RMSE越小意味着推荐方法的推荐效果越好。

互联网上有很多的公开数据集,但是很多的数据都主要集中在评分信息与社交关系。为了获得更加全面的异质信息,包含评分信息、社交关系以及用户和物品的属性信息。实验采用的数据集为从豆瓣网抓取的一个新数据集,共包括13616位用户、34453部电影以及1301072个电影评分(评分等级从1到5)。同时,数据集还包括用户间的社交关系数据以及用户的属性信息(如所属群组、位置等)和电影的属性信息(如演员、导演和类型等)。为了更好的说明SimMF模型的一般性,实验中还采用了另一个广泛使用的Yelp挑战赛的数据集,该数据集包含用户对本地商户的评分和商户的属性信息。这两个数据集的统计信息见下表1:

表1

从表1可以看出,这两个数据集具有不同的特点,豆瓣数据集拥有比较密集的评分信息但是社交网络比较稀疏,Yelp数据集的评分信息稀疏但有着比较密集的社交网络。

在进行对比时,使用了4种具有代表性的用来与SimMF模型对照的推荐方 法,分别是:1)UseMean:直接使用某一用户的评分平均值作为此用户对任何未评分物品的预测评分;2)ItemMean:直接使用某一物品所得评分的平均值作为任一未评分用户对此物品的预测评分;3)PMF:一种经典的矩阵分解方法;4)SoMF:一种仅使用了用户线上社交关系信息的社会化推荐方法。

由于SimMF模型中可以组合不同的用户相似度规则化项和物品相似度规则化项,有多种变型。具体实验中,使用SimMF-U(y)I(y)来表示SimMF中的不同规则化项组合。其中,y∈{a,i}表示Average-based规则化方式和Individual-based规则化方式。类似的,SimMF-U(y)表示带有用户相似度规则化项的SimMF模型,SimMF-I(y)表示带有物品相似度规则化项的SimMF模型。针对SimMF模型的实验中,使用HeteSim方法来计算对象间的相似度。

在选取元路径时,对于豆瓣数据集,对用户选取了7条有意义且长度小于等于4的元路径(即UU,UGU,ULU,UMU,UMDMU,UMTMU,UMAMU),对于电影选取了5条有意义且长度小于等于3的元路径(即MTM,MDM,MAM,MUM,MUUM)。类似的,Yelp数据集中对于用户选取了4条有意义的元路径(即UU,UBU,UBCBU,UBLBU),对于商户选取了4条有意义的元路径(即BUB,BCB,BLB,BUUB)。

在有效性验证实验中,可将SimMF模型的不同形式与以上用来对照的四种方法进行实验对比,从而验证SimMF模型应用到推荐领域的有效性和优越性。具体的,分别选择SimMF-U(a)I(i)、SimMF-U(a)I(a)在豆瓣数据集、Yelp数据集上进行有效性验证实验。同时,分别选取了特殊变形的SimMF-U(a)和SimMF-I(i)、SimMF-U(a)和SimMF-I(a)在豆瓣数据集、Yelp数据集上进行实验。参数α和β分别设置为100和10,参数λ1和λ2均设置为0.001,隐性特征向量Ui和Vj的长度均设置为10。

对于实验中涉及到的两个数据集,使用不同的数据比例(80%,60%,40%,20%)作为训练集。例如,80%训练数据表示随机选取数据集的80%用户-物品评分数据作为训练集来预测剩余的20%评分数据,再根据预测得到的评分数据与实际评分数据进行评估指标的计算。在所有的实验中,这样的随机选取过程将会独立进行10次,即同一比例训练数据的条件下实验将独立进行10次,然后将10次实验的平均评估指标记录在表2和表3中。在结果表格中,还另外提供了其它推荐方法的评估指标相对于PMF模型的提升比例。其中,表2为在豆瓣数据集中的推荐方法性能对比(指标提升的基准方法为PMF),表3为在Yelp数据集中的推荐方法性能对比(指标提升的基准方法也为PMF)。

表2

表3

从表2和表3的实验结果可以看出,SimMF模型的3种不同形式在绝大部分训练数据比例下均显著优于另外4中对照方法。此外,SimMF同时带有用户和物品规则化项的形式(豆瓣数据集上的SimMF-U(a)I(i)和Yelp数据集上的SimMF-U(a)I(a))总是推荐效果是最好的。这种实验结果说明了整合更多的用户和物品的属性信息确实有助于推荐效果的提升。对于SimMF-U(a)与SoMF的实验结果,我们可以得出这样的结论:额外整合的用户属性信息能够提升传统社会化推荐的性能。当考虑不同的训练数据比例时,我们可以发现随着训练数据比例的下降,SimMF相比于其它方法所呈现出的优势愈发明显。特别相对于其它方法,SimMF-I(i)的推荐效果受训练数据稀疏的影响较小,表明SimMF能够有效缓解冷启动问题。通过设置不同的元路径可以充分利用用户和物品丰富的属性信息,因而从不同侧面反应出用户和物品的相似性。用户和物品多种相似度的融合能够全面表达用户和物品的实际相似性,可以补偿训练数据不足的问题。

通过实验还可以检验对用户和物品应用不同的规则化方式对推荐效果的不同影响。在实验中,考虑同时添加用户和物品的规则化项的四种SimMF变型形式(即SimMF-I附带U(a)I(i),U(a)I(a),U(i)I(i),U(i)I(a)),以及只添加用户或物品的规则化项的四种SimMF变型形式(即SimMF附带U (a),U(i),I(a),I(I)),实验结果如图4所示。从图4的实验结果可以发现,同时融合用户和物品相似度信息的SimMF推荐效果总是由于只融合用户或物品相似度信息的SimMF。且观察到当训练数据比例较低时,如20%训练数据比例时,SimMF-U(i)和SimMF-U(a)的推荐效果尤为糟糕。另外,SimMF附带不同的用户和物品规则化项对推荐效果的影响是不同的。两个数据集上的实验,SimMF-U(a)表现均优于SimMF-U(i),这表明Average-based规则化方式更适合用户。不多对于物品就不是这种状况了,豆瓣数据集上SimMF-I(i)优于SimMF-I(a),而Yelp数据集上SimMF-I(a)优于SimMF-I(i)。因此,豆瓣数据集上SimMF-U(a)I(i)表现最优,Yelp数据集上SimMF-U(a)I(a)表现最优。从而表明了,不同的规则化方式对SimMF的推荐效果影响较大。因此,在实际应用中,可以根据数据的真实特性选择最优的规则化方式。

通过实验还可以验证选择不同元路径对推荐效果的影响。以豆瓣数据集为例,通过实验分析不同元路径对推荐效果的不同影响。如上文实验中提到的,对于用户选取了7条元路径,对于电影选取了5条元路径。实验中,SimMF融合单一元路径生成的相似度矩阵,我们将会观察这种条件下SimMF的推荐效果。保持相同的参数设置,对于用户的7条元路径使用SimMF-U(a),对于电影的5条元路径使用SimMF-I(i)进行实验。实验结果如图5所示。从图5可以观察到用户及电影相关的元路径对推荐效果的不同影响。图5(a)中,不同的用户元路径上的SimMF-U(a)有着比较接近的推荐表现。其中,使用元路径UMU的SimMF-U(a)有着相对较好的推荐表现,但使用元路径UU的SimMF-U(a)的推荐效果最差。图5(b)中,不同的电影元路径上的SimMF-I(i)推荐效果差异较大,其中,使用元路径MDM的SimMF-I(i)的推荐效果最差,甚至在某些情况下劣于PMF。然而,使用元路径MTM或者MUM的SimMF-I(i)却有 着较好的推荐效果。我们分析为以下两个原因:1)观察表1,可以发现SimMF的推荐效果受关系密度影响较大。MT和MU的关系密度远远高于MD和MA。更为密集的关系数据有助于生成电影间的相似度。2)更富语义信息的元路径有助于揭示对象间的相似性。MTM表示具有相同类型的电影,MUM表示被同一用户观看过的电影。这两条元路径能够高度揭示电影的相似性。这两点可以解释为何相比其它用户元路径,富含语义信息但关系数据却及其稀疏的元路径UU上的SimMF-U(a)推荐效果最差。因此我们只需要选取一条关系数据密集且富含语义信息的元路径来生成相似度矩阵就可以达到相当好的推荐效果。

如图6所示,在一个实施例中,提供了一种服务器,该服务器包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器存储介质存储有一种推荐系统,该推荐系统用于实现一种推荐方法。该服务器的处理器用于提供计算和控制能力,支撑整个接入服务器的运行。该服务器的内存为存储介质中的推荐系统的运行提供环境。该服务器的网络接口用于与外部的终端或服务器通过网络连接通信,比如接收终端发送的应用数据,向终端返回推荐结果等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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