一种信息推荐方法及装置与流程

文档序号:12887318阅读:181来源:国知局
一种信息推荐方法及装置与流程

本发明实施例涉及信息处理技术领域,特别是涉及一种信息推荐方法及装置。



背景技术:

随着云计算及大数据技术的快速发展,数据呈现爆炸式增长。用户从海量信息中找到自己感兴趣的信息越来越难,为用户精准的推荐所需信息,成为本领域技术人员亟待解决的问题。

现有的推荐系统,一般基于协调过滤算法,但是,随着用户群体的增加,商品数量以及信息的大幅增长,用户对商品行为数据极度稀疏,推荐系统的准确度较低。



技术实现要素:

本发明实施例的目的是提供一种信息推荐方法及装置,以提高信息推荐的准确率。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种信息推荐方法,包括:

获取当前用户在待信息推荐系统中的社交关系网络,根据node2vec算法学习所述社交关系网络中包含的各个用户的embedding特征表达,以获取每个所述用户的embedding特征向量;

根据所述社交关系网络中的用户总数设置knn算法中的参数k值,根据所述k值及多个所述embedding特征向量,从各个所述用户中选取与所述当前用户关系满足预设条件的k个近邻用户,根据k个所述近邻用户的embedding特征向量生成embedding特征矩阵;

利用cnn算法在所述embedding特征矩阵上学习所述社交关系网络的潜在特征;

根据所述潜在特征,利用预设的算法对历史信息评分矩阵进行迭代交替运算,以获取所述当前用户的用户特征矩阵及信息特征矩阵,所述历史信息评分矩阵根据所述待信息推荐系统中多个用户的历史信息数据获取;

根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐。

可选的,所述根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐包括:

根据所述用户特征矩阵及所述信息特征矩阵为所述当前用户的潜在信息进行评分预测;

将满足预设阈值的所述评分值对应的潜在信息进行推荐。

可选的,所述根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐包括:

当检测到所述当前用户进入所述待信息推荐系统中时,根据所述用户特征矩阵为所述当前用户进行信息推荐。

可选的,所述根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐包括:

当检测到所述当前用户进入所述待信息推荐系统中时,根据所述用户特征矩阵以及所述信息特征矩阵为所述当前用户进行信息推荐。

可选的,所述根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐包括:

当检测到所述当前用户在所述待信息推荐系统中进行信息搜索或浏览信息时,根据所述当前用户的搜索信息、浏览信息以及所述信息特征矩阵为所述当前用户进行信息推荐。

可选的,所述根据所述社交关系网络中的用户总数设置knn算法中的参数k值为:

所述k值不小于所述社交关系网络包含的用户总个数的1.5%,且不大于所述社交关系网络包含的用户总个数的2%。

可选的,所述k值为所述社交关系网络包含的用户总个数的1.5%。

可选的,所述信息为商品。

可选的,所述根据所述k值及多个所述embedding特征向量,从各个所述用户中选取与所述当前用户关系满足预设条件的k个近邻用户包括:

计算所述当前用户依次与各个所述用户的embedding特征向量的欧式距离;

对多个所述欧式距离的值进行从小到大排序,前k个欧式距离值对应的k个用户为满足预设条件的k个所述近邻用户。

本发明实施例另一方面提供了一种信息推荐装置,包括:

社交关系网络获取模块,用于获取当前用户在待信息推荐系统中的社交关系网络,根据node2vec算法学习所述社交关系网络中包含的各个用户的embedding特征表达,以获取每个所述用户的embedding特征向量;

近邻用户选取模块,用于根据所述社交关系网络中的用户总数设置knn算法中的参数k值,根据所述k值及多个所述embedding特征向量,从各个所述用户中选取与所述当前用户关系满足预设条件的k个近邻用户,根据k个所述近邻用户的embedding特征向量生成embedding特征矩阵;

cnn算法学习模块,用于利用cnn算法在所述embedding特征矩阵上学习所述社交关系网络的潜在特征;

推荐参数生成模块,用于根据所述潜在特征,利用预设的算法对历史信息评分矩阵进行迭代交替运算,以获取所述当前用户的用户特征矩阵及信息特征矩阵,所述历史信息评分矩阵根据所述待信息推荐系统中多个用户的历史信息数据获取;

信息推荐模块,用于根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐。

本发明实施例提供了一种信息推荐方法,从社交关系网络中通过根据node2vec算法学习网络中各个用户的embedding特征向量来选取k个近邻用户,根据cnn算法从k个近邻用户生成的embedding特征矩阵中提取当前用户的潜在特征;根据潜在特征,利用预设的算法对历史信息评分矩阵进行迭代交替运算,获取当前用户的用户特征矩阵及信息特征矩阵;根据用户特征矩阵和/或所述信息特征矩阵,为当前用户进行信息推荐。

本申请提供的技术方案的优点在于,由于社交关系网络的数据量大、稀疏性、结构复杂性等特点,在利用cnn算法对社交关系网络进行深层特征学习之前对根据node2vec算法及knn算法从网络中选取k个近邻用户,只针对k个近邻用户构成的特征矩阵进行学习,减少了处理的数据量,且有利于挖掘当前用户深层次的潜在特征,从而提高信息推荐的效率以及准确率。

此外,本发明实施例还针对信息推荐方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种信息推荐方法的流程示意图;

图2为本发明实施例提供的k值对推荐准确率影响的示意图;

图3为本发明实施例提供的deepsor方法的原理示意图;

图4为本发明实施例提供的另一种信息推荐方法的流程示意图;

图5为本发明实施例提供的信息推荐装置的一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

本申请的发明人经过研究发现,用户行为和喜好与其社交关系网络极其类似,并受其社交关系的好友影响。为此,融合用户社交关系网络信息对用户进行信息和商品推荐具有很强的社会学意义。近年来,诸如facebook、新浪微博、微信公众号等基于社交属性的信息传播平台的兴起,融合用户社交关系网络进行推荐具有很大的必要性,用户社交关系网络必对用户线上行为造成影响。

现有的融合社交关系网络的推荐算法,如基于用户喜好对用户进行聚类方法,先根据用户的喜好对用户进行聚类分析,产生用户兴趣倾向标签的音乐推荐方法。现有的根据朋友、用户、项目信息构建朋友集-用户集-项目集三层模型得到用户间的综合近邻度,再搜索目标用户的近邻集合的面向社交网络的多属性协同过滤推荐方法,现有的通过社团划分算法对社交网络进行社团划分,并对单个社团用户影响力排名分析,再根据用户兴趣标签对用户价值进行分析,最后对划分出的较大社团进行用户影响力价值分析的智能社交网络推荐系统。

然而,社交关系网络的数据量大和稀疏性、结构的复杂性、社交行为的传递性等特点,在推荐系统中融合用户社交关系网络带了严重的挑战。具体地,社交关系网络数据量大和稀疏性的特点,使得传统的基于矩阵分解的推荐方法不能很好捕获用户行为和喜好特点,即用户的特征表达不能很好地被学习到,很难适用于精准的用户信息推荐;同时,社交关系网络结构的复杂性和用户社交行为的传递性对用户兴趣建模产生了极大的挑战。因此,急需要特征学习能力强的方法对用户社交关系网络进行特征学习,进而提高信息或产品推荐的准确性。

目前,深度卷积神经网络(convolutionalneuralnetwork,cnn)凭借着强大的特征学习能力,在计算机视觉和自然语言处理中获得极大的成功。

鉴于此,本申请所提供的技术方案基于深度神经网络的信息推荐方法(deepneuralnetworkonsocialrelationsforinformationrecommendation,deepsor),通过融合深度卷积神经网络和用户社交关系网络来提高推荐系统的准确率。具体地,采用深度卷积神经网络的方法对用户社交关系网络进行深层特征学习,使得用户的潜在特征能更好地别表示出来。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种信息推荐方法的流程示意图,本发明实施例可包括以下内容:

s101:获取当前用户在待信息推荐系统中的社交关系网络,根据node2vec算法学习所述社交关系网络中包含的各个用户的embedding特征表达,以获取每个所述用户的embedding特征向量。

待信息推荐系统为当前用户登录的符合权限条件的系统,为该当前用户进行信息推荐的系统,例如豆瓣、微博、今日头条等新闻类的客户端。待信息推荐系统可为文字信息推荐的系统,例如新闻,也可为视频推荐系统,还可为商品推荐,当前,还可为其他类型的推荐系统,这均不影响本申请的实现。

社交关系网络为由与当前用户在待信息推荐系统有某种关系的其他用户组成的群体,例如,当微博为待信息推荐系统时,当前用户的社交关系网络即为关注了当前用户的其他用户、当前用户关注的用户以及与当前用户共同关注的用户组成的群体;当淘宝为待信息推荐系统时,在为当前用户进行推荐商品时,社交关系网络中包含的用户可为与当前用户购买过同一类型产品或同一件产品或买过同一个卖家产品的其他用户,或共同关注过同一类型产品或同一件产品或买过同一个卖家产品的其他用户。

node2vec算法为一种训练网络节点潜在特征向量表示的方法,通过结合宽度优先搜索(bfs)和深度优先搜索(dfs)进行邻居节点的选择,借鉴语言模型,基于深度学习方法进行训练,以保存其邻居节点的信息和学习网络节点的embedding特征向量。

利用node2vec算法学习embedding特征向量可为:构造q维空间,将实体(例如网络节点)映射为q维实数特征向量,保留其基本特征属性。

当然,也可采用其他算法学习社交关系网络中包含的各个用户的embedding特征表达,但是经过多次试验证明,node2vec算法对社交关系网络中各个用户的特征学习,获取到的用户特征较为准确。

社交关系网络embedding特征表达可挖掘用户在社交网络中的特征表达,采用node2vec学习当前用户在社交网络中的特征表达,有效地将当前用户社交关系网络中的特征转化成q维连续型的embedding特征向量,即将社交网络中的包含的每个用户都转化了q维连续型的embedding特征向量,例如社交关系网络中包含100个用户,生成100个q维连续型的embedding特征向量,q可为200,当然,也可为其他任何数值,本申请对此不做任何限定。

s102:根据所述社交关系网络中的用户总数设置knn算法中的参数k值,根据所述k值及多个所述embedding特征向量,从各个所述用户中选取与所述当前用户关系满足预设条件的k个近邻用户,根据k个所述近邻用户的embedding特征向量生成embedding特征矩阵。

在社会关系学理论中,用户的行为跟其身边人相似,或者受其身边人的影响。所以,仅仅通过node2vec把用户的社交网络的特征转化成连续型的特征向量不足以把用户的特征行为完全表示出来。为了进一步挖掘出用户社交网络的行为特征,本申请进一步采用了knn算法(k-nearestneighbor,k近邻)来选取k个最相似的用户来组成其近邻集合。其中,k值的选取至关重要。为了提高整个算法的鲁棒性,k值的选取基于该推荐系统中用户量的大小来决定。

k值不小于社交关系网络包含的用户总个数的1.5%,且不大于所述社交关系网络包含的用户总个数的2%。举例来说,当社交关系网络中用户的总个数为100个时,那么k值在[15,20]范围内。

优选的,k值为社交关系网络包含的用户总个数的1.5%,也就是从100个用户中选取15个近邻用户。

关于k值对整个推荐方法的影响,本申请还做了系列的试验证明,具体如下:

为了有效学习到用户社交关系网络的潜在特征向量,本申请的deepsor方法利用knn算法把用户embedding特征向量与cnn连接在一起。knn控制着用户的喜好受最相似的近邻用户个数的影响。k值的设置使得该社交网络中的用户平均近邻用户数占该社交网络中用户总量的p%。图2显示了p%(横轴为p%值)的设置对deepsor方法的影响(结果归一化到[0,1]之间)。由图可知,当p%∈[1.5%,2%]时,deepsor能取得非常不错的实验效果,即deepsor方法在多个测试数据集(例如图2中的ciao数据集和epinions数据集)上的预测误差(rmse和mae)在该区间范围最小。

此外,当p值太小或太大时,deepsor的预测准确率都有可能下降。当p值太小,因近邻用户数太少,用户潜在特征很难用深度学习技术学习出用户在社交关系网络中的特征表达;而p值太大,用户潜在特征通过其没有相关关系的近邻用户过度地学习了其不应具有的特征。

在一种具体的实施方式中,可以采用下述方式进行选取:

计算所述当前用户依次与各个所述用户的embedding特征向量的欧式距离;

对多个所述欧式距离的值进行从小到大排序,前k个欧式距离值对应的k个用户为满足预设条件的k个所述近邻用户。

也可采用其他距离公式进行向量间的距离,通过向量的距离的大小作为判断二者相似性的依据,当然,也可采用其他方式来衡量两个用户间的相似性,本申请对此不做任何限定。

根据k个用户的q维的embedding特征向量,生成embedding特征矩阵,例如10个用户,每个用户的embedding特征向量为200维,那么embedding特征矩阵为10*200的矩阵。

s103:利用cnn算法在所述embedding特征矩阵上学习所述社交关系网络的潜在特征。

以商品推荐为例介绍cnn算法对社交关系网络学习的原理,图3为本申请提供的deepsor方法的原理示意图,基于深度卷积神经网络的社交关系的信息推荐系统可包括概率矩阵分解模型(probabilisticmatrixfactorization,pmf)模块和用户社交关系卷积神经网络(socialcnn,netu)模块。

概率矩阵分解模型用于预测商品评分和商品推荐,假设用户和商品的潜在特征矩阵均服从某一概率分布,通过分解用户-商品中已知的评分信息矩阵得到用户、商品潜在特征矩阵,然后通过用户、商品的潜在特征矩阵预测用户-商品评分矩阵中的空值。假设有i个用户,j个商品,及用户对商品的评分信息矩阵如果把r映射到l维的特征空间,那么分别表示用户的特征矩阵和商品的特征矩阵。概率矩阵分解从概率的角度出发来构建矩阵分解模型,其假设预测结果满足高斯分布,对已知的评分矩阵构建条件概率分布,即:

式中,是以μ为均值,方差为的高斯正态分布;cij为指示函数,如果用户ui评论了商品vi,cij为1,否则为0。

同时,假设用户特征矩阵商品特征矩阵服从均值为0,方差分别为的高斯分布,即:

需要说明的是,不同于传统的概率矩阵分解,本申请融合了用户社交关系信息来优化用户特征矩阵具体地,本申请提出用户社交关系卷积神经网络(socialcnn,netu)来学习用户在社交关系网络中的潜在社交关系特征。

假设用户潜在模型由netu模块生成,z为在netu所有权重参数和偏置量,且z服从均值为0的高斯分布,即:

ui=netu(z,si)+∈i;

其中,si为用户i的社交关系,∈i变量为定义为高斯噪声。

因此,给定z和s,用户特征矩阵u可为:

其中,通过社交关系卷积神经网络netu得到的用户社交关系网络的潜在特征作为高斯分布的均值,高斯噪声作为高斯分布的方差。

用户社交关系卷积神经网络(socialcnn,netu)包括用户社交关系网络embedding特征表示,用户k近邻关系集合表示,深度卷积神经网络的用户潜在特征学习。假设用户i的embedding特征向量为用户i的k近邻集合为通过大量的实验表明,当p%∈[1.5%,2%]时,推荐系统的效果能达到理想状态。所以,该近邻集合nk(i)构成了用户i的近邻embedding特征表达矩阵即:

其中,符号为连接操作,映射函数φ(sa)返回近邻用户sa对应的embedding特征向量xa。

深度卷积神经网络cnn的用户潜在特征学习为通过卷积神经网络cnn来提取用户的潜在特征。具体可包括卷积层、池化层、输出层。

卷积层包含m个神经元,通过在用户embedding特征表达矩阵上进行卷积操作产生新的高层次抽象特征。对于第g个共享卷积核在窗口长度为t内进行卷积操作获得,输出特征为为:

其中,符号*为卷积操作,为偏置项,f(x)为非线性激活函数。为了最大限度地加速训练收敛速度和避免梯度消失,可采用relus函数做为每个神经元的激活函数,即:

f(x)=max{0,x};

共享卷积核对输入用户embedding特征矩阵进行卷积操作,就可以得到潜在特征向量即:

池化层为一个非线性的子抽样函数,用于进一步参数约减的作用,使得模型泛化能力更强,即:

但是,在深度卷积神经网络中,一个共享卷积核产生一类型的特征表达,为了提取出不同粒度大小的局部特征,本发明采用多个不同的共享卷积核(不同长达大小t的窗口)来获取多种类型的特征输出o,即:

其中,nc为共享卷积核的个数。

经过卷积和池化操作之后,需要把o投影到维度为l的用户潜在特征空间。可采用传统的非线性映射函数,即:

s=tanh(zf×o+bf);

其中,为带权参数矩阵,为偏置量。

通过上述过程,基于用户社交关系网络的深度卷积神经网络以用户的社交关系信息为输入,输出用户的潜在特征向量,可以表示为:

yi=netu(z,si);

其中,z包括神经网络各层共享卷积核和偏置量。

通过贝叶斯推断得到用户特征矩阵u,商品特征v,深度卷积神经网络的参数z的后验分布,即:

为了计算化简,可利用对数函数性质,极大化后验概率等于极大化其联合对数似然函数,即:

其中,

s104:根据所述潜在特征,利用预设的算法对历史信息评分矩阵进行迭代交替运算,以获取所述当前用户的用户特征矩阵及信息特征矩阵,所述历史信息评分矩阵根据所述待信息推荐系统中多个用户的历史信息数据获取。

历史信息评分矩阵为待信息推荐系统中所有用户与商品交互构成的矩阵,用户的特征是根据用户的历史信息来获取,举例来说,当信息为商品时,该历史信息评分矩阵包括待推荐信息系统中所有用户对买过的商品或感兴趣的商品的评分信息。

由于历史信息评分矩阵包含的数据太多,仅仅依据历史数据进行推荐,推荐准确率较低,故,可以用上述步骤中获取的潜在特征作为辅助,从历史信息评分矩阵中选取更符合当前用户的一些信息。

具体的可采用预设算法进行迭代优化,预设的算法可采用bp算法和em算法,当然,也可采用其他算法,本申请对此不作任何限定。

依然以商品为例,说明s104的一种具体实施方式:

在参数估计中,很难直接得到参数ui,vj。可使用em算法(expectationmaximization,期望最大化算法)进行参数估计,即固定剩余参数变量,而优化某一参数变量,即:

ui←(vcivt+λuik)-1(vciri+λunetu(z,si));

vj←(ucjut+λvik)-1ucjrj;

其中,对于用户ui,ci为cij的对角矩阵,j=1,2,..,j,j是对角元素,ri为对于商品vj,ci和ri的定义与上述ui定义类似。上述公式反映了通过用户社交关系深度卷积神经网络学习到的用户潜在社交关系特征对用户特征向量ui的影响,其中,λu是用来权衡社交关系的影响。当λu=0时,仅利用评分矩阵r进行预测评分;当λu=∞时,仅仅利用了社交关系来预测评分。

给定用户特征矩阵u,商品特征v,通过bp算法(backpropagationalgorithm,后向传播算法)来学习深度卷积神经网络的参数z。

在估计得到所有参数u、v、z后,通过下述公式得到商品预测评分值,并在预测评分值的基础上选择一定范围内的商品进行推荐。

rij≈(ui)t(vj)=(netu(z,si)+∈i)t(vj)。

s105:根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐。

信息推荐可为商品推荐,也可为其他,例如在豆瓣中,可对当前用户进行电影推荐。在进行推荐时,可以同时根据用户特征矩阵和信息特征矩阵进行推荐,也可仅仅根据用户特征矩阵,或信息特征矩阵。根据用户特征矩阵推荐,为根据社交关系网络中的k个近邻用户的某些特征,作为当前用户的潜在特征,并将该特征相关的信息进行推荐。例如,在社交关系网络中,当前用户在体育爱好的特征为篮球,但是与当前用户较为相似的另外一个用户a(近邻用户),a用户在体育爱好的特征为篮球和足球,故在进行信息推荐时,可认为当前用户对足球也是感兴趣的,可以将与足球有关的商品或其他信息进行推荐。

信息特征矩阵为根据当前用户历史的感兴趣的信息构成的特征矩阵,例如,当前用户在过去一段时间中,对足球相关信息进行了大量搜索并查阅,可认为该用户对足球相关的商品或其他信息比较感兴趣,可以将足球有关的商品或其他信息进行推荐。

二者皆考虑,可进行相互筛选,一定程度上有利于提高信息推荐的准确率。

在本发明实施例提供的技术方案中,由于社交关系网络的数据量大、稀疏性、结构复杂性等特点,在利用cnn算法对社交关系网络进行深层特征学习之前对根据node2vec算法及knn算法从网络中选取k个近邻用户,只针对k个近邻用户构成的特征矩阵进行学习,减少了处理的数据量,且有利于挖掘当前用户深层次的潜在特征,从而提高信息推荐的效率以及准确率。

在一种具体的实施方式中,请参阅图4,本申请基于上述实施例,还提供了另外一个实施例,具体可为:

s401-s404:具体的与上述实施例s101-s104所描述一致,此处不再赘述。

s405:根据所述用户特征矩阵及所述信息特征矩阵为所述当前用户的潜在信息进行评分预测。

s406:将满足预设阈值的所述评分值对应的潜在信息进行推荐。

潜在信息为潜在的感兴趣信息。根据用户特征矩阵及信息特征矩阵可选取较多的潜在的感兴趣的信息,如果都推荐,往往有部分不准确,故可对这些潜在特征信息进行评分,评分越大的,可认为为当前用户最为感兴趣的,优先可先推荐评分较高的信息。

为了进一步提高推荐信息的高效性以及准确性,可设置预设阈值,当评分值小于预设阈值时,即其中一些信息的评分太低,可认为这不是用户感兴趣的特征信息,可不将其进行推荐。以10分制为例,预设阈值可为3.5分,当某些信息的评分低于3.5时,就不进行推荐。

通过进行预测评分,可进一步的提高推荐信息的准确性,提升用户的使用体验。

在另外一些具体的场景下,信息推荐的方法可为:

当检测到所述当前用户进入所述待信息推荐系统中时,根据所述用户特征矩阵为所述当前用户进行信息推荐;或

当检测到所述当前用户进入所述待信息推荐系统中时,根据所述用户特征矩阵以及所述信息特征矩阵为所述当前用户进行信息推荐;或

当检测到所述当前用户在所述待信息推荐系统中进行信息搜索或浏览信息时,根据所述当前用户的搜索信息、浏览信息以及所述信息特征矩阵为所述当前用户进行信息推荐。

根据用户检索过的信息,或浏览过的信息,进行相关信息的推荐,举例来说,例如当用户浏览牙膏商品时,可以向用户进行推荐牙刷等产品,当用户检索过某一部电影时,可将其相关的其他系列进行推荐,如检索加勒比海盗4时,可推荐加勒比海盗5。

当然,上述列举的方式仅仅为一种优选方式,本申请并不对此做任何限定。

本发明实施例还针对信息推荐方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的信息推荐装置进行介绍,下文描述的信息推荐装置与上文描述的信息推荐方法可相互对应参照。

参见图5,图5为本发明实施例提供的信息推荐装置在一种具体实施方式下的结构图,该装置可包括:

社交关系网络获取模块501,用于获取当前用户在待信息推荐系统中的社交关系网络,根据node2vec算法学习所述社交关系网络中包含的各个用户的embedding特征表达,以获取每个所述用户的embedding特征向量。

近邻用户选取模块502,用于根据所述社交关系网络中的用户总数设置knn算法中的参数k值,根据所述k值及多个所述embedding特征向量,从各个所述用户中选取与所述当前用户关系满足预设条件的k个近邻用户,根据k个所述近邻用户的embedding特征向量生成embedding特征矩阵。

cnn算法学习模块503,用于利用cnn算法在所述embedding特征矩阵上学习所述社交关系网络的潜在特征。

推荐参数生成模块504,用于根据所述潜在特征,利用预设的算法对历史信息评分矩阵进行迭代交替运算,以获取所述当前用户的用户特征矩阵及信息特征矩阵,所述历史信息评分矩阵根据所述待信息推荐系统中多个用户的历史信息数据获取。

信息推荐模块505,用于根据所述用户特征矩阵和/或所述信息特征矩阵,为所述当前用户进行信息推荐。

在本实施例的一些实施方式中,所述信息推荐模块505可为根据所述用户特征矩阵及所述信息特征矩阵为所述当前用户的潜在信息进行评分预测;将满足预设阈值的所述评分值对应的潜在信息进行推荐的模块。

所述信息推荐模块505可为当检测到所述当前用户进入所述待信息推荐系统中时,根据所述用户特征矩阵为所述当前用户进行信息推荐的模块。

所述信息推荐模块505还可为当检测到所述当前用户进入所述待信息推荐系统中时,根据所述用户特征矩阵以及所述信息特征矩阵为所述当前用户进行信息推荐的模块。

所述信息推荐模块505仍可为当检测到所述当前用户在所述待信息推荐系统中进行信息搜索或浏览信息时,根据所述当前用户的搜索信息、浏览信息以及所述信息特征矩阵为所述当前用户进行信息推荐的模块。

可选的,在本实施例的另一些实施方式中,所述近邻用户选取模块502可以包括:

计算单元5021,用于计算所述当前用户依次与各个所述用户的embedding特征向量的欧式距离;

选取单元,用于对多个所述欧式距离的值进行从小到大排序,前k个欧式距离值对应的k个用户为满足预设条件的k个所述近邻用户。

本发明实施例所述信息推荐装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例由于社交关系网络的数据量大、稀疏性、结构复杂性等特点,在利用cnn算法对社交关系网络进行深层特征学习之前对根据node2vec算法及knn算法从网络中选取k个近邻用户,只针对k个近邻用户构成的特征矩阵进行学习,减少了处理的数据量,且有利于挖掘当前用户深层次的潜在特征,从而提高信息推荐的效率以及准确率。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或近邻部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种信息推荐方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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