当前位置: 首页 > 专利查询>重庆大学专利>正文

一种基于层次结构的推荐方法技术

技术编号:19425140 阅读:19 留言:0更新日期:2018-11-14 10:36
本发明专利技术公开了一种基于层次结构的推荐方法,属于信息技术领域,本发明专利技术通过提取item属性特征以及与item相关性最高的user属性特征,然后对item和user进行聚类,在类别层次学习user类别和item类别关系,构建user类别‑item类别评分矩阵R;通过计算新用户与user类别相似性,为其划分user类别;根据评分矩阵R值排序,为新用户推荐值最大的item类别。本发明专利技术先学习类别之间关系,再学习具体对象之间关系,采用层次结构思维实现项目推荐,既发掘了不同群体间对item的不同偏好,又提高了推荐算法的准确性,相较于传统基于user的协同过滤算法,该方法的准确率提高了10%左右。

【技术实现步骤摘要】
一种基于层次结构的推荐方法
本专利技术属于信息
,特别是涉及一种基于层次结构的推荐方法。
技术介绍
本专利技术属于信息
目前使用较多的推荐方法是基于协同过滤,通过计算user-item评分矩阵,为用户推荐评分较高的item。但是该方法存在一定缺陷,首先新用户没有历史item记录,不能构造user-item评分矩阵;另外不同群体user之间对item有不同的偏好,并且item之间也存在关联关系,该方法只能为用户推荐一个具体item,不能识别不同群体user的兴趣偏好。本专利技术提出一种基于层次结构的推荐方法。该方法通过提取user和item属性,分别学习user与user之间关系和item与item之间关系,构建user类别和item类别。然后构建user类别-item类别评分矩阵,学习user类别和item类别的关系。在具体实施推荐时,先计算新user所属user类别,再根据user类别-item类别评分矩阵为其推荐item。该专利技术可应用于各种推荐系统中,包括学生就业推荐、电影推荐、音乐推荐以及购物推荐等等。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种基于层次结构的推荐方法。为实现上述目的,本专利技术提供了一种基于层次结构的推荐方法,包括以下步骤:S1:提取item属性特征以及提取与item最相关的user属性特征,并分别构建user属性矩阵和item属性矩阵,S2:对item和user数据进行聚类;通过k-means聚类方法对item聚类,划分item类别;基于user和item属性的双聚类算法对user聚类,划分user类别;S3:在类别层次学习user类别和item类别关系,构建user类别-item类别评分矩阵R,用来表征不同user对不同item的偏好;S4:计算新用户与user类型相似性,将其划分到与其距离最近的user类别中;S5:为新用户推荐item类别,将其所在user类别的TOP1item类别作为推荐项目,其中TOP1item为对应评分值最大的item类别。较佳的,所述步骤S2中user类别划分包括以下步骤:S2-1:将user自身属性和item属性拼接,构造user属性矩阵UPX为字符型特征值,m表示user数量,n表示user自身属性数量,d表示item属性数量;S2-2:在user属性矩阵UP的基础上,计算每个用户到其他所有用户的距离和,将该距离最大的用户作为聚类的中心u_centers;S2-3:计算user属性矩阵UP中每个用户与中心用户u_centers的距离,将其划分到与其最近的中心用户u_centers所在的类别中。较佳的,所述步骤S2-2中通过下述方法选取聚类中心u_centers:计算用户i和用户j之间的距离,i、j∈{1、2、…、m};表示用户i自身属性与用户j自身属性距离,表示用户i在item上偏好与用户j在item上偏好的距离,用户i与用户j的距离表示为:其中w为调整参数,用来表示用户自身属性距离和item距离对最终距离的影响度;用户i与其他用户的距离和表示为:计算出所有用户与其他用户距离和之后,选取最大距离对应的用户作为聚类的中心u_centers。较佳的,通过下述方法计算:用户i的特征向量为UPi,,用户j的特征向量为UPj;UPi=[Xi,1Xi,2…Xi,n…Xi,n+d];UPi=[Xj,1Xj,2…Xj,n…Xj,n+d];如果特征向量中用户自身属性特征或item属性特征是数值型数据,用户i和用户j之间的自身属性距离eucl(i,j)1以及item属性距离eucl(i,j)2采用欧式距离表示:如果特征向量中用户自身属性特征或item属性特征是字符型数据,用户i和用户j之间的自身属性距离edit(i,j)1以及item属性距离edit(i,j)2采用编辑距离表示:其中edit(Xi,k,Xj,k)表示字符型特征值Xi,k与Xj,k之间距离;用分别表示字符串Xi,k、Xj,k第l1和l2位的子字符串,上述两个子字符串间的距离计算方法如下:当特征值Xi,k的第l1位和与Xj,k第l2位字符相同时,t=0,不同时t=1;当l1和l2分别迭代至Xi,k和Xj,k的子字符串最末位时终止,并将此时值赋予edit(Xi,k,Xj,k);较佳的,所述步骤S3中通过下述方法学习user类型和item类型关系:构建user类别-item类别评分矩阵R:公式中的c和d分别表示user类别个数和item类别个数,r为评分数值;item类别b在user类别a中的评分rab计算方法为:其中a∈{1、2、…、c},b∈{1、2、…、d};其中num表示与user类别a相关的所有item类别个数,count(b)a是user类别a中item类别为b的个数。较佳的,所述调整参数w=0.5。本专利技术的有益效果是:本专利技术先学习类别之间关系,再学习具体对象之间关系,采用层次结构思维实现项目推荐;该方法提高了推荐算法的准确率,相较于传统基于user的协同过滤算法,该方法的准确率提高了10%左右;该方法能有效解决推荐算法中的冷启动问题,即新用户历史item数据缺失情况,对于新用户通过计算其所属类别,根据不同类别user对item的偏好实现推荐;该方法能识别不同的user群体间对item的不同偏好,在划分user群体时既考虑了user自身属性,也兼顾了user在item层次的区别。附图说明图1是本专利技术的结构框图;具体实施方式下面结合实施例对本专利技术作进一步说明:包括以下步骤:S1:提取item属性特征以及提取与item最相关的user属性特征,并分别构建user属性矩阵和item属性矩阵;S2:对item和user数据进行聚类;通过k-means聚类方法对item聚类,划分item类别;基于user和item属性的双聚类算法对user聚类,划分user类别;所述步骤S2中user类别划分包括以下步骤:S2-1:将user自身属性和item属性拼接,构造user属性矩阵UPX为字符型特征值,m表示user数量,n表示user自身属性数量,d表示item属性数量;S2-2:在user属性矩阵UP的基础上,计算每个用户到其他所有用户的距离和,将该距离最大的用户作为聚类的中心u_centers;所述步骤S2-2中通过下述方法选取聚类中心u_centers:计算用户i和用户j之间的距离,i、j∈{1、2、…、m};表示用户i自身属性与用户j自身属性距离,表示用户i在item上偏好与用户j在item上偏好的距离,用户i与用户j的距离表示为:其中w为调整参数,用来表示用户自身属性距离和item距离对最终距离的影响度;本实施例中调整参数w的取值可参数寻优到最优值,默认w=0.5;用户i与其他用户的距离和表示为:计算出所有用户与其他用户距离和之后,选取最大距离对应的用户作为聚类的中心u_centers。其中通过下述方法计算:用户i的特征向量为UPi,,用户j的特征向量为UPj;UPi=[Xi,1Xi,2…Xi,n…Xi,n+d];UPj=[Xj,1Xj,2…Xj,n…Xj,n+d];如果特征向量中用户自身属性特征或item属性特征是数值型数据,用户i和用户j之间的自身属性距本文档来自技高网...

【技术保护点】
1.一种基于层次结构的推荐方法,其特征在于:包括以下步骤:S1:提取item属性特征以及提取与item最相关的user属性特征,并分别构建user属性矩阵和item属性矩阵;S2:对item和user数据进行聚类;通过k‑means聚类方法对item聚类,划分item类别;基于user和item属性的双聚类算法对user聚类,划分user类别;S3:在类别层次学习user类别和item类别关系,构建user类别‑item类别评分矩阵R,用来表征不同user对不同item的偏好;S4:计算新用户与user类型相似性,将其划分到与其距离最近的user类别中;S5:为新用户推荐item类别,将其所在user类别的TOP1 item类别作为推荐项目,其中TOP1 item为对应评分值最大的item类别。

【技术特征摘要】
1.一种基于层次结构的推荐方法,其特征在于:包括以下步骤:S1:提取item属性特征以及提取与item最相关的user属性特征,并分别构建user属性矩阵和item属性矩阵;S2:对item和user数据进行聚类;通过k-means聚类方法对item聚类,划分item类别;基于user和item属性的双聚类算法对user聚类,划分user类别;S3:在类别层次学习user类别和item类别关系,构建user类别-item类别评分矩阵R,用来表征不同user对不同item的偏好;S4:计算新用户与user类型相似性,将其划分到与其距离最近的user类别中;S5:为新用户推荐item类别,将其所在user类别的TOP1item类别作为推荐项目,其中TOP1item为对应评分值最大的item类别。2.基于权利要求1所述的一种基于层次结构的推荐方法,其特征在于:所述步骤S2中user类别划分包括以下步骤:S2-1:将user自身属性和item属性拼接,构造user属性矩阵UPX为字符型特征值,m表示user数量,n表示user自身属性数量,d表示item属性数量;S2-2:在user属性矩阵UP的基础上,计算每个用户到其他所有用户的距离和,将该距离最大的用户作为聚类的中心u_centers;S2-3:计算user属性矩阵UP中每个用户与中心用户u_centers的距离,将其划分到与其最近的中心用户u_centers所在的类别中。3.基于权利要求2所述的一种基于层次结构的推荐方法,其特征在于:所述步骤S2-2中通过下述方法选取聚类中心u_centers:计算用户i和用户j之间的距离,i、j∈{1、2、…、m};表示用户i自身属性与用户j自身属性距离,表示用户i在item上偏好与用户j在item上偏好的距离,用户i与用户j的距离表示为:其中w为调整参数,用来表示用户自身属性距离和item距离对最终距离的影响度;用...

【专利技术属性】
技术研发人员:周庆廖凤露胡月唐银春杨沅王卫芳温亚梅
申请(专利权)人:重庆大学
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1