基于深层次网络嵌入特征的社会化信息推荐算法及系统的制作方法

文档序号:15560605发布日期:2018-09-29 02:09阅读:732来源:国知局

本发明涉及一种基于深层次网络嵌入特征的社会化信息推荐算法及系统。



背景技术:

计算机技术的快速发展在为用户提供便捷通信方式的同时,也使用户处于信息过载的困境。如何帮助用户从大量数据中获取有价值的信息已成为亟待解决的问题。推荐系统作为有效的信息过滤技术之一,近年来引起了很多关注。

传统的推荐系统利用基于矩阵分解(mf)的协同过滤模型对用户的行为进行建模,例如,koren等人在netflixprize竞赛中使用基于mf的方法,并取得比传统最近邻技术更好的性能。salakhutdinov等进一步推导了mf的概率形式,并证明了基于mf的方法在稀疏的大数据集中也可以很好地运作。然而,上述传统方法仅利用用户-项目评分矩阵进行推荐,忽略了对用户的行为具有重要意义的社交关系(例如,朋友,信任关系)。

在真实生活中,用户在决策时更有可能向朋友寻求建议。因此,近年来如何利用社会信息来提高推荐性能已被广泛研究。例如,mohsen等人将信任传播机制纳入mf模型中以预测用户的行为。然而,这些已有的研究大多将社会关系给用户带来的影响作为目标函数的正则项加以考虑,社会网络的深层结构信息尚未得到充分探索。



技术实现要素:

本发明为了解决上述问题,提出了一种基于深层次网络嵌入特征的社会化信息推荐算法及系统,本发明不仅可以利用协同过滤技术的优势保证推荐的准确性,还可以深入利用社交网络信息进一步增强推荐的性能。

为了实现上述目的,本发明采用如下技术方案:

一种基于深层次网络嵌入特征的社会化信息推荐算法,预先在用户的社交网络上训练出一个网络嵌入模型,以提取用户的网络特征表示,再将提取的网络特征与矩阵分解模型相融合,利用最终生成的模型进行评分预测和项目推荐。

具体包括以下步骤:

构建用户之间的社交关系网络;对用户之间的社交关系网络,使用node2vec算法,训练得出网络嵌入模型以提取用户的网络特征表示;利用基于矩阵分解的协同过滤模型来处理评分矩阵,从中学习用户和项目的潜在特征;

将提取的网络特征与通过矩阵分解得到的潜在特征相结合,生成目标函数;对目标函数进行优化处理,得到最终的用户和项目的潜在特征矩阵及嵌入特征的权重矩阵;根据最终的用户和项目的潜在特征矩阵、嵌入特征的权重矩阵和预先训练的用户嵌入特征矩阵,生成预测的评分矩阵。

构建用户之间的社交关系网络:

社交网络由guu=(u,euu)表示,它可以反映用户之间的社交联系。u是用户集合,euu是边集。对于任意两个用户,如果用户up与用户um具有社交联系(如信任关系和朋友关系),则顶点up和um之间会有一条边epm∈euu,否则这条边不存在。

对用户之间的社交关系网络,使用node2vec算法,训练得出网络嵌入模型以提取用户的网络特征表示,提取过程分为以下3步:

根据用户社交网络,定义每个节点随机游走规则;根据规则对网络进行随机游走,保存游走记录;求得游走记录的最大似然函数,得到每个用户节点的网络嵌入特征。

具体的,上述过程细节包括:

步骤2-1:定义每个节点的随机游走规则:

假设初始节点为t,现在随机游走到节点v,则下一步从节点v出发,会游走到v的其中一个邻居节点v’∈{t,x1,x2,x3},游走概率πvv'定义为:

其中,dt,v'指的是网络中节点t与节点v’的最短路径长度,p是控制随机游走返回到上一节点的常数,q是控制随机游走选择深度遍历或广度遍历的常数,αpq(t,v')是一个在界定了dt,v'值后的一个关于p、q的分段函数。

步骤2-2:根据规则对网络进行随机游走,保存游走记录:

根据随机游走规则,得到网络g'uu=(u,euu,π),对网络g'uu中的所有节点进行概率为π,步长为l的随机游走,每次将游走记录放入walk列表中,设定循环次数。

步骤2-3:求得游走记录的最大似然函数,得到每个用户节点的网络嵌入特征:

针对walk列表中的所有节点,采用随机梯度下降法最优化函数t为walk列表的长度,c为窗口大小,最终得到每个用户节点的网络嵌入特征d为特征维数,代表d维实数向量。

利用基于矩阵分解的协同过滤模型来处理评分矩阵,从中学习用户和项目的潜在特征:

令u={u1...um}表示用户集合,i={i1...in}表示项目集合,r=[ru,i]m×n表示用户-项目评分矩阵,其中ru,i代表用户u对项目i的评分。矩阵分解方法通过寻求k阶因子的乘积来近似表示评分矩阵r,即用户u对项目i的预测评分可表示为:其中u和i分别是用户和项目的潜在特征矩阵,列向量分别表示特定用户u和特定项目i的特征向量,k为潜在特征维数。

确定合适的潜在特征维度,以正确反馈出学习到的用户和项目的信息量,降低测试误差。

优选的,潜在特征维度为15-20。

将提取的网络特征与通过矩阵分解得到的潜在特征相结合,生成目标函数:

由node2vec生成的用户网络嵌入特征表示从社交网络中学习的用户u的特征向量,意味着用户在社交网络guu中受其朋友的影响程度。将其与矩阵分解得到的用户和项目的潜在特征通过线性方式相加,得到用户u对项目i的预测分数为

通过使用平方损失函数,并添加防止过拟合的正则化项,得到最终的目标函数

λu为用户的正则化参数,λi为项目的正则化参数,λw为权重的正则化参数,ru,i为用户u对项目i的评分,k是用户和项目的潜在特征维数,u为目标用户,t为转置运算,如uut表示用户u的潜在特征向量的转置,f是frobenius范数。

对目标函数进行优化处理,得到最终的用户和项目的潜在特征矩阵及嵌入特征的权重矩阵:

分别固定用户、项目的潜在特征向量或嵌入特征的权重向量,使目标函数转换为二次方程最优化问题,运用梯度下降法进行优化处理,分别求出对用户、项目的潜在特征向量及权重向量的梯度,在给定用户和项目初始的潜在特征矩阵及预先训练的用户嵌入特征矩阵后,通过迭代训练模型,不断更新用户、项目的潜在特征矩阵以及权重矩阵,得到最终满足条件的潜在特征矩阵和权重矩阵。

根据最终的用户和项目的潜在特征矩阵、嵌入特征的权重矩阵和预先训练的用户嵌入特征矩阵,生成预测的评分矩阵:

将更新后的潜在因子相乘并与嵌入特征部分相加,得到最终的输出结果。

一种基于深层次网络嵌入特征的社会化信息推荐系统,运行于处理器上,被配置为执行以下指令:预先在用户的社交网络上训练出一个网络嵌入模型,以提取用户的网络特征表示,再将提取的网络特征与矩阵分解模型相融合,利用最终生成的模型进行评分预测和项目推荐。

与现有技术相比,本发明的有益效果为:

1、本发明不仅可以深入利用社交网络信息,还可以利用协同过滤模型进行推荐;

2、本发明具有较好的信息推荐准确率和收敛性。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1(a)和图1(b)为数据集ciao上参数k对(a)rmse和(b)mae的影响示意图;

图2(a)和图2(b)为数据集epinions上参数k对(a)rmse和(b)mae结果的影响示意图;

图3(a)和图3(b)为ciao数据集上的收敛性结果示意图;

图4(a)和图4(b)为epinions数据集上的收敛性结果示意图;

图5为本发明的具体流程图。

具体实施方式:

下面结合附图与实施例对本发明作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在本发明中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本发明各部件或元件结构关系而确定的关系词,并非特指本发明中任一部件或元件,不能理解为对本发明的限制。

本发明中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本发明中的具体含义,不能理解为对本发明的限制。

为深入学习用户在社会网络中的嵌入特征表示,本发明利用网络嵌入技术来学习隐藏在用户社交关系和评分模式中的深层信息,并提出了一种基于嵌入特征的社会化信息推荐方法,以下简称为mfn2v,该方法由嵌入模型和协同过滤模型组成。在嵌入模型中,神经网络,即node2vec模型被预先训练用以从对应的社交网络学习用户表示。在协同过滤模型中,引入矩阵分解模型来处理评分矩阵,从中学习用户和项目的潜在特征表示。为了利用学习到的嵌入特征,node2vec的输出被视为社交上下文的高级表示,并且它们通过线性模型与潜在因素进一步融合。这保证了mfn2v不仅可以深入利用社交网络信息,还可以利用协同过滤模型进行推荐。在两个实际数据集的实验结果证明了提出的方法的有效性。

首先介绍经典的矩阵分解模型mf,然后着重介绍mfn2v的提出,即如何将从预先训练好的网络中学习的用户嵌入特征与mf模型相融合进行社会化推荐。

矩阵分解模型

令u={u1...um}表示用户集合,i={i1...in}表示项目集合,r=[ru,i]m×n表示用户-项目评分矩阵,其中ru,i代表用户u对项目i的评分。矩阵分解方法通过寻求k阶因子的乘积来近似表示评分矩阵r,其目标函数可以通过如下公式得出:

其中,d是观测到的用户-项目评分集合,u和i分别是用户和项目的潜在特征矩阵,列向量分别表示特定用户和特定项目的特征向量。是用户对项目的预测分数,l(·,·)是平方损失函数,是相应的正则项。

由于社交网络中的用户经常通过结交朋友来表达他们的社交兴趣,因此对这些社交网络的更好理解将可能有助于提高推荐结果。假设网络guu表示用户之间的社会关系,连接两个节点的边则表示用户up和um之间存在朋友关系。为了从guu中挖掘深层的社会结构,引入网络嵌入模型node2vec来学习用户的嵌入特征,设表示从网络中学习的用户u的特征向量,意味着用户在社交网络guu中受其朋友的影响程度。通过线性地将这些预先训练的特征与来自协同过滤模型的潜在特征融合,可以得出基于嵌入特征的推荐方法mfn2v的损失函数:

其中,是衡量预先训练的网络特征对用户u产生贡献的权重向量。

运用随机梯度下降法可以找到方程(2)的局部最小值,具体可通过以下梯度更新潜在因子u,i和权重w:

具体的,如图5所示,一种基于深层次网络嵌入特征的社会化信息推荐算法,包括以下步骤:

步骤1:构建用户之间的社交关系网络;

步骤2:对用户之间的社交关系网络,使用node2vec算法,训练得出网络嵌入模型以提取用户的网络特征表示;

步骤3:利用基于矩阵分解的协同过滤模型来处理评分矩阵,从中学习用户和项目的潜在特征。

步骤4:将提取的网络特征与通过矩阵分解得到的潜在特征相结合,生成目标函数;

步骤5:对目标函数进行优化处理,得到最终的用户和项目的潜在特征矩阵及嵌入特征的权重矩阵;

步骤6:根据最终的用户和项目的潜在特征矩阵、嵌入特征的权重矩阵和预先训练的用户嵌入特征矩阵,生成预测的评分矩阵;

步骤1中,构建用户之间的社交关系网络:

社交网络由guu=(u,euu)表示,它可以反映用户之间的社交联系。u是用户集合,euu是边集。对于任意两个用户,如果用户up与用户um具有社交联系(如信任关系和朋友关系),则顶点up和um之间会有一条边epm∈euu,否则这条边不存在。

步骤2中,对用户之间的社交关系网络,使用node2vec算法,训练得出网络嵌入模型以提取用户的网络特征表示,提取过程分为以下3步:

根据用户社交网络,定义每个节点随机游走规则;根据规则对网络进行随机游走,保存游走记录;求得游走记录的最大似然函数,得到每个用户节点的网络嵌入特征。

步骤2-1:定义每个节点的随机游走规则

假设上一时刻在节点t,现在随机游走到节点v,则下一步从节点v出发,会游走到v的其中一个邻居节点v’∈{t,x1,x2,x3},游走概率πvv’定义为:

其中,dt,v'指的是网络中节点t与节点v’的最短路径长度,p是控制随机游走返回到上一节点的常数,q是控制随机游走选择深度遍历或广度遍历的常数。

步骤2-2:根据规则对网络进行随机游走,保存游走记录

根据随机游走规则,得到网络g'uu=(u,euu,π),对网络g'uu中的所有节点进行概率为π,步长为l的随机游走,每次将游走记录放入walk列表中,设定循环次数。

步骤2-3:求得游走记录的最大似然函数,得到每个用户节点的网络嵌入特征

针对walk列表中的所有节点,采用随机梯度下降法最优化函数t为walk列表的长度,c为窗口大小,最终得到每个用户节点的网络嵌入特征d为特征维数。

进一步的,所述步骤3中,利用基于矩阵分解的协同过滤模型来处理评分矩阵,从中学习用户和项目的潜在特征:

令u={u1...um}表示用户集合,i={i1...in}表示项目集合,r=[ru,i]m×n表示用户-项目评分矩阵,其中ru,i代表用户u对项目i的评分。矩阵分解方法通过寻求k阶因子的乘积来近似表示评分矩阵r,即用户u对项目i的预测评分可表示为:其中u和i分别是用户和项目的潜在特征矩阵,列向量分别表示特定用户u和特定项目i的特征向量,k为潜在特征维数。

确定合适的潜在特征维度,以正确反馈出学习到的用户和项目的信息量,降低测试误差。优选的,潜在特征维度为15-20。

步骤4中,将提取的网络特征与通过矩阵分解得到的潜在特征相结合,生成目标函数:

由node2vec生成的用户网络嵌入特征表示从社交网络中学习的用户u的特征向量,意味着用户在社交网络guu中受其朋友的影响程度。将其与矩阵分解得到的用户和项目的潜在特征通过线性方式相加,得到用户u对项目i的预测分数为

通过使用平方损失函数,并添加防止过拟合的正则化项,得到最终给的目标函数

步骤5中,对目标函数进行优化处理,得到最终的用户和项目的潜在特征矩阵及嵌入特征的权重矩阵:

分别固定用户、项目的潜在特征向量或嵌入特征的权重向量,使目标函数转换为二次方程最优化问题,运用梯度下降法进行优化处理,分别求出对用户、项目的潜在特征向量及权重向量的梯度,在给定用户和项目初始的潜在特征矩阵及预先训练的用户嵌入特征矩阵后,通过迭代训练模型,不断更新用户、项目的潜在特征矩阵以及权重矩阵,得到最终满足条件的潜在特征矩阵和权重矩阵。

进一步的,步骤6中,根据最终的用户和项目的潜在特征矩阵、嵌入特征的权重矩阵和预先训练的用户嵌入特征矩阵,生成预测的评分矩阵:

将更新后的潜在因子相乘并与嵌入特征部分相加,得到最终的输出结果。

利用两个真实的数据集进行了实验结果的分析,以评估本发明提出的方法的性能。

在实验中,本发明利用两个流行的社交网络ciao和epinions来评估本发明提出的方法。在ciao和epinions中,注册用户通过使用从1到5的整数对产品或服务进行评分来表达他们的意见,并且用户会建立与其他用户的信任关系,形成信任网络,这些信息有助于用户做出是否购买的决定。

本发明使用的数据集是tang等人在文献jiliangtang,xiahu,huijigao,andhuanliu.exploitinglocalandglobalsocialcontextforrecommendation.inijcai.aaai,2712–2718.中公开发表的,其中包括用户对产品的评分数据,评分时间戳和社交信任网络。由于评分数据非常稀少,因此在这两个数据集中进行推荐问题是具有挑战性的,表1总结了这两个数据集的统计数据。

表1数据集ciao和epinions的统计量

评估方法

在以下实验中,使用平均绝对误差(mae)和均方根误差(rmse)来评估本发明提出的方法的推荐性能。度量标准mae定义为:

其中,ru,i是用户u对项目i的真实评分值,是相应的预测评分值,n表示用于测试的评分数据量。

采用的另一个评估指标rmse定义为:

由于mae和rmse测量的是推荐方法的预测误差,所以mae和rmse的较低值表示该方法可以更准确地进行预测。

为评估提出方法的推荐性能,将推荐结果与以下方法进行比较:

mf:基本推荐方法(yehudakoren,robertbell,andchrisvolinsky.matrixfactorizationtechniquesforrecommendersystems.computer,42(8):30-37,august2009)该方法试图通过两个低秩因子的乘积来近似评分矩阵,该方法只利用了评分数据对用户行为进行建模。

lfl:用于二元预测(adityakrishnamenonandcharleselkan.2011.alog-linearmodelwithlatentfeaturesfordyadicprediction.inicdm.ieee,364–373.)的具有潜在特征的对数线性模型,其中辅助信息可以很容易地融入原模型以增强预测效果。

socialmf:目前最先进的社会推荐方法(mohsenjamaliandmartinester.2010.amatrixfactorizationtechniquewithtrustpropagationforrecommendationinsocialnetworks.inrecsys.acm,135–142.),它考虑了直接邻居对用户的影响,并在此基础上结合了信任传播机制以更好地模拟用户行为。

soreg:这是另一种流行的推荐方法,它将社交网络信息建模为社会正则项以约束矩阵分解目标函数(haoma,dengyongzhou,chaoliu,michaelr.lyu,andirwinking.recommendersystemswithsocialregularization.inwsdm.acm,287–296.)。

在实验中,随机选择80%的训练数据来评估上述算法,这意味着在全部记录中,本实施例随机选80%的用户-项目评分进行训练,并利用剩下的20%评分数据用于预测。对于ciao数据集,u,i和w的正则化参数分别设置为λu=λi=0.6,λw=0.001。对于epinions数据集,以上各参数设定为λu=λi=0.6,λw=0.005。对于ciao和epinions,潜在因子u和i的维数设为k=15,提取因子x的维数设为d=10。

表2列出了80%训练比率数据下的比较结果,其中δ代表的百分比是mfn2v模型相对于其他相应方法的改进。从这个结果中,可以观察到,由于mf只使用评分信息进行推荐,所以它在ciao和epinions数据上都比其他相关方法差。可以包含辅助信息的lfl方法比mf效果有所提高。作为最先进的社交推荐方法,socialmf比其他流行推荐方法soreg的性能稍好一些。这两种社会推荐方法都比mf和lfl的效果更好,这表明了用户行为会受社交关系的影响,将用户之间的社交关系融入推荐机制有利于获得更精准的推荐结果。此外,可以发现,mfn2v性能优于socialmf,这表明预先训练的网络嵌入特征可以有效表征用户兴趣,将它们与潜在因素融合可以更有效地模拟用户的个人和社会行为。从表2中也注意到,由于epinions数据比较稀疏,所以在ciao中的所有方法都比在epinions数据集上的性能更优。

表2在数据集ciao和epinions上的实验结果

潜在特征的维度大小可以反馈出从mf模型中学习到的用户和项目的信息量。如果维度太小,学习的因素将不足以代表用户的兴趣。如果维度过大,学习的特征可能会重复,而且模型更可能出现过拟合现象(因为模型太复杂)。恰当的特征维度对做出正确的预测起着至关重要的作用,因此进一步在两个数据集上展开实验。图1(a)、图1(b)和图2(a)、图2(b)显示了维度k在不同取值下的实验结果,从这个结果可以观察到,随着潜在特征维数增加,测试误差首先降低,但当k超过一定值时(对于ciao为15,对于epinions为20),测试误差随着k值的增加反而降低,这证明了上述论点。在实验中,还发现在相对较小的因子维数下,mfn2v就可以达到合理的结果。因此,为了降低计算复杂度,在两个数据集中都将潜在因子维数k设置为15。

为了探究mfn2v模型的效率,进一步在两个数据集上比较mfn2v方法与mf方法的收敛性。为了使比较结果具有可比性,在同一个数据集内采用相同的学习率(ciao的学习率为80,epinions的学习率为150)。图3(a)、图3(b)和图4(a)、图4(b)显示了比较结果,从中可以观察到这两种方法收敛速度非常快(mfn2v于80次迭代内收敛)。mfn2v的收敛速度并没有因为整合社交网络信息而减慢,相反它可以比mf方法表现出更好的性能。

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

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

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