一种基于群体兴趣的资源推荐方法与流程

文档序号:16209201发布日期:2018-12-08 07:30阅读:371来源:国知局
一种基于群体兴趣的资源推荐方法与流程

本发明涉及资源推荐方法,尤其是一种基于群体兴趣的资源推荐方法。

背景技术

随着互联网技术、信息技术的高速发展,互联网上的信息量与日俱增,面对海量数据,如何快速检索到自己感兴趣的资源内容成为大部分互联网用户的重要需求。很多网站、信息系统为了解决这个问题,纷纷使用了资源推荐技术,希望通过推荐功能减少用户搜索资源花费的时间和精力,从而提高用户体验、增强用户黏度,比如购物网站的商品推荐列表、学习类网站的推荐阅读、新闻资讯网站的个性化首页等。

目前信息资源的推荐类别可以分为两大类:非个性化推荐、个性化推荐。

非个性化推荐即不考虑用户个体特征,直接推送热点信息资源,比如最新资源、热搜资源、浏览量最多的资源。这种方式的好处是算法简单、执行容易,对于新系统、新用户比较直接有效,不足之处也很明显,即缺乏个性,用户容易接收到无效信息资源,从而感觉厌倦。

个性化推荐方式即针对用户个体特征进行信息资源推荐,主要包括如下几种:

(1)基于用户基础数据结合统计学特征推荐,比如根据用户所在性别、地域等基本属性,关联对应的信息资源排名进行推荐。

(2)基于用户社交关系推荐,即根据用户好友关注的信息资源,经过排名筛选后推荐。

(3)基于信息资源对象(物品)的协同过滤算法,是目前电商行业使用较多的算法,是指计算信息资源对象(物品)之间的相似度,根据信息资源对象(物品)的相似度和用户的历史行为为用户生成推荐列表。

(4)基于用户兴趣的协同过滤算法,协同过滤技术也称为社会过滤,是目前推荐系统中最成功和应用最广泛的技术,是指计算用户间偏好的相似性,在相似用户的基础上自动的为目标用户进行过滤和筛选,其基本思想为具有相同或相似的价值观、思想观、知识水平和兴趣偏好的用户,其对信息的需求也是相似的。因此相对于传统的推荐方法,协同过滤技术体现出的一个显著的优势是能够推荐一些难以进行内容分析的项目,比如信息质量、个人品味等抽象的资源对象。另外协同过滤技术能够有效的使用其他兴趣相似用户的评价信息,从而利用较少的用户反馈,加快了个性化学习的速度,同时利于发现用户的隐藏兴趣。

然而,传统协同过滤算法也存在以下不足:

(1)数据稀疏性。在数据量大且评分稀疏的情况下,难以成功地定位邻居集,进行相似性计算的耗费也会很大,导致最后产生的推荐结果不合理。如:在实际应用中,用户评分的信息资源相对于总信息资源数量仅占有限的百分比,为总数的1%以下(如:100万本书的1%是1万本),这将直接导致用户-项目评分矩阵的稀疏性。

(2)冷开始问题。一个新的信息资源产生时,没有任何评价的情况下,如果单纯地使用基于用户的协同过滤将无法得到正确的预测评分和推荐,极大地影响推荐质量。

(3)可扩展性问题。随着用户数量和商品数量的不断增加,当数据量不断增大的情况下,在整个用户空间上搜索目标用户的最近邻居就非常耗时,算法不能产生满意的推荐。



技术实现要素:

为解决上述技术问题,本发明的目的在于一种基于群体兴趣的资源推荐方法,回避传统算法的数据稀疏性、冷开始等问题,从而实现更高效精准推荐信息资源。

本发明采用的技术方案是:

一种基于群体兴趣的资源推荐方法,包括以下步骤:

s1、生成用户-项目评分矩阵,所述项目为潜在推荐资源对象;

s2、采用核主成分分析方法对项目评分矩阵进行规范:将原始样本映射到一个高维空间中执行线性pca算法,将数据投影到一个更低维的特征空间,然后在这个特征空间中计算主元成分项目,从而简化维数;

s3、采用k-means算法对用户进行分类,以用于识别有相似喜好的用户聚类;

s4、根据所述用户聚类推荐相似喜好的主元成分项目的信息资源。

进一步,所述步骤s2包括:

s21、确定输入的用户-项目评分矩阵,并将输入矩阵转换成列向量,该列向量为x=(x1,x2,...,xn)t,n为维数;

s22、选择核函数;

s23、计算核矩阵k;

s24、采用k-l变换将核矩阵中心化:kl=k-l*k-k*l+l*k*l;

s25、求出kl的特征值e和特征向量v;

s26、对特征值e和特征向量v进行处理,使特征值e和特征向量v相对应于一行,形成新的矩阵;

s27、按特征值e从大到小进行排列,并根据下式计算前m个主元成分项目的累计贡献率:累计贡献率用于衡量新生成的分量对原始数据的信息保存程度,且该信息保存程度大于85%;

s28、取前m个较大特征值对应的特征向量构成变换矩阵:

tt:tt=(u1,u2,...,um),m<n

s29、通过y=tx计算前m个主元成分项目,以用于简化维数。

其中:所述步骤s22选择的核函数为高斯核函数或多项式核函数。

进一步,所述步骤s3包括

输入:聚类的数目k和包含n个对象的数据库;

输出:k个聚类,使平方误差准则最小;

s31、任意选择k个对象作为初始的聚类中心;

s32、根据聚类中对象的平均值,将每个对象重新赋给最类似的聚类;

s33、更新聚类的平均值,即计算每个聚类中对象的平均值;

s34、重复s32-s33步骤,直到每个聚类的平均值不再发生变化,结束循环。

本发明的有益效果:

本发明在传统协同过滤技术中,同时使用核主成分分析(kpca)精简和规范用户评分矩阵,以及采用k-means聚类算法对用户进行分类,回避传统算法的数据稀疏性、冷开始等问题,从而实现更高效精准推荐信息资源。

附图说明

下面结合附图对本发明的具体实施方式做进一步的说明。

图1是本发明一种基于群体兴趣的资源推荐方法的流程图。

具体实施方式

本技术方案主要针对上述传统协同过滤算法的不足,运用核主成分分析(kpca)维数简化技术对用户-项目评分矩阵进行规范、简化,然后用聚类算法划分用户,将相似用户划分作为邻居集,最后通过协同过滤的基本算法来预测评分,产生推荐项目给目标用户。

如图1所示,一种基于群体兴趣的资源推荐方法,包括以下步骤:

s1、生成用户-项目评分矩阵,所述项目为潜在推荐资源对象;

s2、采用核主成分分析方法对项目评分矩阵进行规范:将原始样本映射到一个高维空间中执行线性pca算法,将数据投影到一个更低维的特征空间,然后在这个特征空间中计算主元成分项目,从而简化维数;

通过降低商品空间的维度,就能够增加矩阵的密度而更容易计算近邻。同时发觉数据集中的项目之间的潜在联系。

该步骤s2具体包括:

s21、确定输入的用户-项目评分矩阵,并将输入矩阵转换成列向量,该列向量为x=(x1,x2,...,xn)t,n为维数;

s22、选择核函数;其中:核函数为高斯核函数或多项式核函数。

s23、计算核矩阵k;

s24、采用k-l变换将核矩阵中心化:kl=k-l*k-k*l+l*k*l;

s25、求出kl的特征值e和特征向量v;

s26、对特征值e和特征向量v进行处理,使特征值e和特征向量v相对应于一行,形成新的矩阵;

s27、按特征值e从大到小进行排列,并根据下式计算前m个主元成分项目的累计贡献率:累计贡献率用于衡量新生成的分量对原始数据的信息保存程度,且该信息保存程度大于85%;

s28、取前m个较大特征值对应的特征向量构成变换矩阵:

tt:tt=(u1,u2,...,um),m<n

s29、通过y=tx计算前m个主元成分项目,以用于简化维数。

s3、采用k-means算法对用户进行分类,以用于识别有相似喜好的用户聚类;聚类技术能够识别有相似喜好的用户聚类,一旦聚类建立,可以使用聚类中其他用户的平均观点对目标用户进行预测。可扩展邻居算法的基本思想是在协同过滤系统中使用聚类算法划分用户,并使用划分作为邻居,每个划分代表一个聚类。

本发明采用k-means算法对用户进行分类,基本思想是:给定一个包含n个数据对象的数据库以及要生成的聚类的数目k,一个划分类的算法将数据对象组织为k个划分(k≤n),其中每个划分代表一个聚类。通常会采用一个划分的准则(经常称为相似度函数),例如距离,以便在同一个簇中的对象是“相似的”,而不同聚类中的对象是“相异的”。

其中,步骤s3具体包括

输入:聚类的数目k和包含n个对象的数据库;

输出:k个聚类,使平方误差准则最小;

s31、任意选择k个对象作为初始的聚类中心;

s32、根据聚类中对象的平均值,将每个对象重新赋给最类似的聚类;

s33、更新聚类的平均值,即计算每个聚类中对象的平均值;

s34、重复s32-s33步骤,直到每个聚类的平均值不再发生变化,结束循环。

s4、根据所述用户聚类推荐相似喜好的主元成分项目的信息资源。

需要说明的是,精简用户-项目评分矩阵的算法还有三维网格精简算法、散乱点云精简算法等,聚类算法有很多种,如k-medoids算法、clarans算法、birch算法、dbscan算法等,相对来说本方案的解决方案更高效合理。

以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。

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