CN106503140A - 一种基于Hadoop云平台Web资源个性化推荐系统及方法 - Google Patents

一种基于Hadoop云平台Web资源个性化推荐系统及方法 Download PDF

Info

Publication number
CN106503140A
CN106503140A CN201610916937.2A CN201610916937A CN106503140A CN 106503140 A CN106503140 A CN 106503140A CN 201610916937 A CN201610916937 A CN 201610916937A CN 106503140 A CN106503140 A CN 106503140A
Authority
CN
China
Prior art keywords
user
resource
interest
web resource
mentioned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610916937.2A
Other languages
English (en)
Inventor
张以文
王祥如
郭星
严远亭
刘政怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University
Original Assignee
Anhui University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui University filed Critical Anhui University
Priority to CN201610916937.2A priority Critical patent/CN106503140A/zh
Publication of CN106503140A publication Critical patent/CN106503140A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Hadoop云平台Web资源个性化推荐系统及方法;用户模型模块收集用户在Web资源页面的浏览行为信息,并根据用户在Web资源页面的浏览行为信息为用户的不同行为类型赋予不同的权值,再根据上述不同的权值计算出用户对上述Web资源页面的兴趣度;推荐算法模块根据用户模型模块计算出的兴趣度,利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类处理得出聚类结果,然后根据上述聚类结果构建矩阵,再通过对上述构建的矩阵进行目标资源最近邻分析得出目标资源的最近邻结果,并根据上述最近邻结果对用户的兴趣度进行预测和融合处理得出推荐方案;并行处理模块,在Hadoop云平台下对推荐算法进行离线分布式计算并对计算结果进行存储。

Description

一种基于Hadoop云平台Web资源个性化推荐系统及方法
技术领域
本发明涉及资源推荐系统技术领域,尤其涉及一种基于Hadoop云平台Web资源个性化推荐系统及方法。
背景技术
随着互联网的飞速发展,网络中的Web资源呈爆炸式增长,用户面对如此庞杂的资源往往无所适从,需要花费大量时间才能找到自己想要的信息。个性化推荐作为信息过滤的重要手段,是解决当前信息过载问题的一种有效方法,因此为用户制定合适的个性化推荐十分必要。然而在实际生活中,由于数据量过于庞大,导致计算过程十分困难,无法从容的获得我们所需的结果。而云计算技术的出现给我们提供了很好的方法,使得我们可以更好的利用云平台的分布式计环境来计算和处理这些大数据,为用户提供更优质的服务。
发明内容
基于背景技术存在的技术问题,本发明提出了一种基于Hadoop云平台Web资源个性化推荐系统及方法。
本发明提出的基于Hadoop云平台Web资源个性化推荐系统,包括:
用户模型模块,用于收集用户在Web资源页面的浏览行为信息,并根据用户在Web资源页面的浏览行为信息为用户的不同行为类型赋予不同的权值,再根据上述不同的权值计算出用户对上述Web资源页面的兴趣度;
推荐算法模块,根据用户模型模块计算出的兴趣度,利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类处理得出聚类结果,然后根据上述聚类结果构建矩阵,再通过对上述构建的矩阵进行目标资源最近邻分析得出目标资源的最近邻结果,并根据上述最近邻结果对用户的兴趣度进行预测和融合处理得出推荐方案;
并行处理模块,在Hadoop云平台下对推荐算法进行离线分布式计算,并对上述计算结果进行存储。
优选地,所述用户模型模块包括信息收集子模块、权值确定子模块、兴趣度计算子模块;
优选地,信息收集子模块具体用于收集用户在Web资源页面的浏览行为信息;
优选地,上述浏览行为信息具体包括:
显示行为:包括用户在Web资源页面上提交的搜索请求、用户在Web资源页面上对系统提出问题的反馈答复、用户对Web资源页面的阅读速度;
标记行为:包括用户对Web资源页面进行添加书签、删除书签、收藏页面、分享页面的行为;
操作行为:包括用户对Web资源页面上的信息进行复制、粘贴、剪切,以及用户在Web资源页面上进行的拉动滚动条、上下滑动操作的行为;
重复行为:用户对某一个Web资源页面的重复点击、用户对某一个Web资源页面上的某一条资源信息的重复点击行为;
外部行为:用户在浏览Web资源页面时物理及生理机能上的反应,上述物理及生理机能上的反应具体包括呼吸、体温、心率、情感变化、眼球移动;
所述权值确定子模块用于根据用户在Web资源页面上的浏览行为信息为用户的不同行为类型赋予不同的权值;
优选地,所述权值确定子模块具体用于根据熵权法确定权值,具体包括:
将用户在Web资源页面上的浏览行为记录为数据,并根据下述公式对上述记录的数据进行标准化处理;
其中,Sij为第i条数据中第j种浏览行为的标准化值,max(Aj)表示第j种浏览行为的最大值,min(Aj)表示第j种浏览行为的最小值;
根据下述公式计算用户不同浏览行为的信息熵值;
其中,Hj为第j种行为的信息熵值,n为用户在Web资源页面上的浏览行为记录的数量,若pij=0,则定义pijlnpij=0;
根据下述公式对用户不同浏览行为进行量化表示;
其中,Wj为第j种行为的取值,Hj为第j种行为的信息熵值,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;
优选地,所述兴趣度计算子模块用于根据权值确定子模块为用户的不同行为类型赋予不同的权值计算出用户对Web资源页面的兴趣度;
优选地,兴趣度计算子模块具体用于根据下述公式计算用户对Web资源页面上不同条资源的兴趣度,并将计算出的兴趣度存储于用户兴趣模型中;
其中,IR为用户对Web资源页面的兴趣度,Ai为第i种浏览行为,Wi为第i种浏览行为所占的权重,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;优选地,在用户浏览Web资源页面时:将用户对Web资源页面的阅读速度此项浏览行为标记为A1,其权值标记为W1;将用户对Web资源页面的滑动操作此项浏览行为标记为A2,其权值标记为W2;将用户对Web资源页面的点击操作此项浏览行为标记为A3,其权值标记为W3;将用户对Web资源页面的收藏操作此项浏览行为标记为A4,其权值标记为W4;将用户对Web资源页面的复制操作此项浏览行为标记为A5,其权值标记为W5;将用户对Web资源页面上的某一条资源的重复访问此项浏览行为标记为A6,其权值标记为W6
优选地,上述用户兴趣模型表示为:
UIM={(item1,IR1),(item2,IR2),…,(itemi,IRi)};
其中,UIM为用户的兴趣模型,itemi为用户兴趣模型中的第i条资源,IRi为用户对第i条资源产生的兴趣度。
优选地,所述推荐算法模块包括聚类子模块、矩阵构建子模块、矩阵分析子模块、预测和融合子模块;
优选地,所述聚类子模块用于利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,得出聚类结果;
优选地,聚类子模块采用基于用户和资源双重聚类融合的协同过滤推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,上述进行聚类的过程采用覆盖聚类算法,所述覆盖聚类算法具体包括如下步骤:
S01、计算出所有未学习过的样本点的重心,并寻找离上述重心最近的样本点作为覆盖的圆心;
S02、计算出未聚类的样本与圆心的距离;
S03、计算出步骤S02中所有距离的平均距离;
S04、将步骤S03中计算出的平均距离作为半径;
S05、并根据上述半径计算出球形覆盖;
S06、计算出上述球形覆盖的重心;当样本点的个数大于预设值时,执行步骤S07,当样本点的个数不大于预设值时,执行步骤S08;
S07、将离步骤S06中球形覆盖的圆心最远的点作为新的圆心,并根据上述新的圆心重复步骤S02、S03、S04、S05、S06,直到所有的样本全部覆盖结束;
S08、将离步骤S06中球形覆盖的圆心最近的点作为新的圆心,计算出步骤S06中球形覆盖的圆心与新的圆心的距离,将离得最近的两个球形覆盖合并为一个新的球形覆盖,并更新其他覆盖与新覆盖的最短距离,如此重复,确定最后的聚类数;
优选地,所述矩阵构建子模块用于根据聚类子模块的聚类结果构建矩阵;
优选地,矩阵构建子模块在对用户进行聚类后,根据每一条资源中用户的聚类情况,计算出两两用户被分为一类的次数,用meetNumu1,u2表示用户u1和用户u2被分为一类的次数;在对资源进行聚类后,根据每一个用户中资源的聚类情况,计算出两两资源被分为一类的次数,用meetNumi1,i2表示资源i1和资源i2被分为一类的次数;
优选地,所述矩阵分析子模块用于对矩阵构建子模块构建的矩阵进行目标资源最近邻分析得出目标用户最近邻Neighbors(user)、目标资源的最近邻Neighbors(item);
优选地,矩阵分析子模块得出目标用户最近邻Neighbors(user)的过程具体包括:对目标用户与邻居用户的被分为一类的次数meetNum进行降序排列,取前a个meetNum最大的邻居用户作为目标用户的最近邻Neighbors(user);得出目标资源最近邻Neighbors(item)的过程具体包括:对目标资源与邻居资源的被分为一类的次数meetNum进行降序排列,取前b个meetNum最大的邻居资源作为目标资源的最近邻Neighbors(item);其中,a与b均为预设值;
优选地,所述预测和融合子模块用于根据矩阵分析子模块得出的最近邻结果对用户的兴趣度进行预测和融合,得出推荐方案;
优选地,预测和融合子模块根据矩阵分析子模块得出的最近邻结果对用户的兴趣度进行预测和融合的过程具体包括:
根据得出的目标用户最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(u,v)表示用户u与用户v之间的相似度,上述相似度的计算方法采用基于用户的Pearson相关系数,表示用户u对所有已产生的兴趣度的平均值,表示用户u的最近邻集合的用户v对所有已产生的兴趣度的平均值,IRv,i表示用户u的最近邻集合的用户v对资源i的兴趣度;
根据得出的目标资源最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(i,j)表示资源i与资源j之间的相似度,上述相似度的计算方法采用基于项目的Pearson相关系数,表示所有用户对资源i的兴趣度的平均值,表示所有资源j的兴趣度的平均值,IRu,j表示用户u对资源j的兴趣度;
依据Pu(u,i)以及Pi(u,i)得出基于用户与基于资源双重聚类的兴趣度预测,利用融合因子α将基于用户聚类的协同过滤算法的兴趣度预测和基于用户聚类的协同过滤算法的兴趣度预测相融合,得出下述公式:
Pui(u,i)=αPu(u,i)+(1-α)Pi(u,i);
将得出的Pui(u,i)按照降序排列,取排前N位的资源作为推荐方案;其中,所述N为预设值。
优选地,所述并行处理模块在Hadoop云平台下对推荐算法进行离线分布式计算时,对用户聚类具体采用覆盖聚类算法,上述覆盖聚类算法具体包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个资源中用户对上述资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个资源中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个资源中属于由上述圆心和半径所构成的球形覆盖内的所有点。
优选地,所述并行处理模块在Hadoop云平台下对推荐算法进行离线分布式计算时,对资源聚类具体采用覆盖聚类算法,包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个用户对已浏览资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个用户中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个用户中属于由上述圆心和半径所构成的球形覆盖内的所有点。
本发明提出的基于Hadoop云平台Web资源个性化推荐方法,包括以下步骤:
S1、收集用户在Web资源页面的浏览行为信息,并根据用户在Web资源页面的浏览行为信息为用户的不同行为类型赋予不同的权值,再根据上述不同的权值计算出用户对上述Web资源页面的兴趣度;
S2、根据计算出的兴趣度,利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类处理得出聚类结果,然后根据上述聚类结果构建矩阵,再通过对上述构建的矩阵进行目标资源最近邻分析得出目标资源的最近邻结果,并根据上述最近邻结果对用户的兴趣度进行预测和融合处理得出推荐方案;
S3、在Hadoop云平台下对推荐算法进行离线分布式计算,并对上述计算结果进行存储。
优选地,所述浏览行为信息具体包括:
显示行为:包括用户在Web资源页面上提交的搜索请求、用户在Web资源页面上对系统提出问题的反馈答复、用户对Web资源页面的阅读速度;
标记行为:包括用户对Web资源页面进行添加书签、删除书签、收藏页面、分享页面的行为;
操作行为:包括用户对Web资源页面上的信息进行复制、粘贴、剪切,以及用户在Web资源页面上进行的拉动滚动条、上下滑动操作的行为;
重复行为:用户对某一个Web资源页面的重复点击、用户对某一个Web资源页面上的某一条资源信息的重复点击行为;
外部行为:用户在浏览Web资源页面时物理及生理机能上的反应,上述物理及生理机能上的反应具体包括呼吸、体温、心率、情感变化、眼球移动;
优选地,利用熵权法根据用户在Web资源页面上的浏览行为信息为用户的不同行为类型赋予不同的权值,具体包括:
将用户在Web资源页面上的浏览行为记录为数据,并根据下述公式对上述记录的数据进行标准化处理;
其中,Sij为第i条数据中第j种浏览行为的标准化值,max(Aj)表示第j种浏览行为的最大值,min(Aj)表示第j种浏览行为的最小值;
根据下述公式计算用户不同浏览行为的信息熵值;
其中,Hj为第j种行为的信息熵值,n为用户在Web资源页面上的浏览行为记录的数量,若pij=0,则定义pijlnpij=0;
根据下述公式对用户不同浏览行为进行量化表示;
其中,Wj为第j种行为的取值,Hj为第j种行为的信息熵值,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;
优选地,具体根据下述公式计算用户对Web资源页面上不同条资源的兴趣度,并将计算出的兴趣度存储于用户兴趣模型中;
其中,IR为用户对Web资源页面的兴趣度,Ai为第i种浏览行为,Wi为第i种浏览行为所占的权重,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;优选地,在用户浏览Web资源页面时:将用户对Web资源页面的阅读速度此项浏览行为标记为A1,其权值标记为W1;将用户对Web资源页面的滑动操作此项浏览行为标记为A2,其权值标记为W2;将用户对Web资源页面的点击操作此项浏览行为标记为A3,其权值标记为W3;将用户对Web资源页面的收藏操作此项浏览行为标记为A4,其权值标记为W4;将用户对Web资源页面的复制操作此项浏览行为标记为A5,其权值标记为W5;将用户对Web资源页面上的某一条资源的重复访问此项浏览行为标记为A6,其权值标记为W6
优选地,上述用户兴趣模型表示为:
UIM={(item1,IR1),(item2,IR2),…,(itemi,IRi)};
其中,UIM为用户的兴趣模型,itemi为用户兴趣模型中的第i条资源,IRi为用户对第i条资源产生的兴趣度。
优选地,采用基于用户和资源双重聚类融合的协同过滤推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,上述进行聚类的过程采用覆盖聚类算法,所述覆盖聚类算法具体包括如下步骤:
S01、计算出所有未学习过的样本点的重心,并寻找离上述重心最近的样本点作为覆盖的圆心;
S02、计算出未聚类的样本与圆心的距离;
S03、计算出步骤S02中所有距离的平均距离;
S04、将步骤S03中计算出的平均距离作为半径;
S05、并根据上述半径计算出球形覆盖;
S06、计算出上述球形覆盖的重心;当样本点的个数大于预设值时,执行步骤S07,当样本点的个数不大于预设值时,执行步骤S08;
S07、将离步骤S06中球形覆盖的圆心最远的点作为新的圆心,并根据上述新的圆心重复步骤S02、S03、S04、S05、S06,直到所有的样本全部覆盖结束;
S08、将离步骤S06中球形覆盖的圆心最近的点作为新的圆心,计算出步骤S06中球形覆盖的圆心与新的圆心的距离,将离得最近的两个球形覆盖合并为一个新的球形覆盖,并更新其他覆盖与新覆盖的最短距离,如此重复,确定最后的聚类数;
优选地,在对用户进行聚类后,根据每一条资源中用户的聚类情况,计算出两两用户被分为一类的次数,用meetNumu1,u2表示用户u1和用户u2被分为一类的次数;在对资源进行聚类后,根据每一个用户中资源的聚类情况,计算出两两资源被分为一类的次数,用meetNumi1,i2表示资源i1和资源i2被分为一类的次数;
优选地,得出目标用户最近邻Neighbors(user)的过程具体包括:对目标用户与邻居用户的被分为一类的次数meetNum进行降序排列,取前a个meetNum最大的邻居用户作为目标用户的最近邻Neighbors(user);得出目标资源最近邻Neighbors(item)的过程具体包括:对目标资源与邻居资源的被分为一类的次数meetNum进行降序排列,取前b个meetNum最大的邻居资源作为目标资源的最近邻Neighbors(item);其中,a与b均为预设值;
优选地,根据得出的最近邻结果对用户的兴趣度进行预测和融合的过程具体包括:
根据得出的目标用户最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(u,v)表示用户u与用户v之间的相似度,上述相似度的计算方法采用基于用户的Pearson相关系数,表示用户u对所有已产生的兴趣度的平均值,表示用户u的最近邻集合的用户v对所有已产生的兴趣度的平均值,IRv,i表示用户u的最近邻集合的用户v对资源i的兴趣度;
根据得出的目标资源最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(i,j)表示资源i与资源j之间的相似度,上述相似度的计算方法采用基于项目的Pearson相关系数,表示所有用户对资源i的兴趣度的平均值,表示所有资源j的兴趣度的平均值,IRu,j表示用户u对资源j的兴趣度;
依据Pu(u,i)以及Pi(u,i)得出基于用户与基于资源双重聚类的兴趣度预测,利用融合因子α将基于用户聚类的协同过滤算法的兴趣度预测和基于用户聚类的协同过滤算法的兴趣度预测相融合,得出下述公式:
Pui(u,i)=αPu(u,i)+(1-α)Pi(u,i);
将得出的Pui(u,i)按照降序排列,取排前N位的资源作为推荐方案;其中,所述N为预设值。
优选地,在Hadoop云平台下对推荐算法进行离线分布式计算时,对用户聚类具体采用覆盖聚类算法,上述覆盖聚类算法具体包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个资源中用户对上述资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个资源中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个资源中属于由上述圆心和半径所构成的球形覆盖内的所有点。
优选地,在Hadoop云平台下对推荐算法进行离线分布式计算时,对资源聚类具体采用覆盖聚类算法,包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个用户对已浏览资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个用户中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个用户中属于由上述圆心和半径所构成的球形覆盖内的所有点。
本发明通过用户模型模块对用户在浏览过程中产生的操作行为进行收集,并对上述收集的用户行为信息进行分析,计算出用户对资源页面的兴趣度,将用户对资源页面的的实际操作作为分析基础,保证了对用户兴趣度分析的针对性和可靠性;推荐算法模块利用推荐算法对用户的兴趣倾向进行分析,具体为基于用户和资源的双重聚类融合协同过滤算法,分别对用户和资源进行聚类,寻找到目标用户和目标资源的最近邻,提高了推荐结果的准确性,且上述推荐算法采用覆盖聚类算法,将较集中的样本聚合在一起,在覆盖后不断求重心、不断调整所做的覆盖,解决了初值选择和聚类速度的问题,避免对大量数据进行迭代的复杂操作;进一步地,基于用户聚类的协同过滤更侧重于用户个人的偏好,保证了单个用户的多样性,基于资源聚类的协同过滤则充分考虑了其他用户的偏好,增加了系统的多样性,通过上述两方面的结合,有利于为用户提供针对性更强、范围更广、有效性更高的个性化推荐方案;更进一步地,在Hadoop云平台下对推荐算法进行离线分布式计算,解决了在数据庞大的情况下计算困难的问题,通过对庞大的数据在离线状态下进行并行化计算和处理,并将计算和处理的结果进行存储,在用户登录时直接将上述计算和处理的结果推荐给用户,不仅节约了计算的耗时时间,而且保证了对数据计算和处理的有效性,为用户提供更优质的推荐方案。
附图说明
图1为一种基于Hadoop云平台Web资源个性化推荐系统中基于用户和资源双重聚类融合的协同过滤算法的流程图;
图2为一种基于Hadoop云平台Web资源个性化推荐系统中基于用户聚类的示例图;
图3为一种基于Hadoop云平台Web资源个性化推荐系统中基于资源聚类的示例图;
图4为一种基于Hadoop云平台Web资源个性化推荐系统中构建用户矩阵的示例图;
图5为一种基于Hadoop云平台Web资源个性化推荐系统中构建资源矩阵的示例图;
图6为一种基于Hadoop云平台Web资源个性化推荐方法的步骤示意图;
图7为一种基于Hadoop云平台Web资源个性化推荐系统及方法的实验验证过程图;
图8为一种基于Hadoop云平台Web资源个性化推荐系统及方法的实验验证过程图;
图9为一种基于Hadoop云平台Web资源个性化推荐系统及方法的实验验证过程图;
图10为一种基于Hadoop云平台Web资源个性化推荐系统及方法的实验验证过程图;
图11为一种基于Hadoop云平台Web资源个性化推荐系统及方法的实验验证过程图;
图12为一种基于Hadoop云平台Web资源个性化推荐系统及方法的实验验证过程图;
图13为一种基于Hadoop云平台Web资源个性化推荐系统及方法的实验验证过程图。
具体实施方式
如图1-图5所示,图1-图5为本发明提出的一种基于Hadoop云平台Web资源个性化推荐系统。
参照图1-图5,本发明提出的基于Hadoop云平台Web资源个性化推荐系统,包括:
用户模型模块,用于收集用户在Web资源页面的浏览行为信息,并根据用户上述浏览行为信息计算出用户对上述Web资源页面的兴趣度;
推荐算法模块,根据用户模型模块计算出的兴趣度,利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,得出聚类结果,然后根据上述聚类结果构建矩阵,再通过对上述构建的矩阵进行分析,得出目标资源的最近邻结果,并根据上述最近邻结果对用户的兴趣度进行预测和融合,得出推荐方案;
并行处理模块,在Hadoop云平台下对推荐算法进行离线分布式计算,并对上述计算结果进行存储。
所述用户模型模块包括信息收集子模块、权值确定子模块、兴趣度计算子模块;信息收集子模块具体用于收集用户在Web资源页面的浏览行为信息;
优选地,上述浏览行为信息具体包括:
显示行为:包括用户在Web资源页面上提交的搜索请求、用户在Web资源页面上对系统提出问题的反馈答复、用户对Web资源页面的阅读速度;
标记行为:包括用户对Web资源页面进行添加书签、删除书签、收藏页面、分享页面的行为;
操作行为:包括用户对Web资源页面上的信息进行复制、粘贴、剪切,以及用户在Web资源页面上进行的拉动滚动条、上下滑动操作的行为;
重复行为:用户对某一个Web资源页面的重复点击、用户对某一个Web资源页面上的某一条资源信息的重复点击行为;
外部行为:用户在浏览Web资源页面时物理及生理机能上的反应,上述物理及生理机能上的反应具体包括呼吸、体温、心率、情感变化、眼球移动;
所述权值确定子模块用于根据用户在Web资源页面上的浏览行为信息为用户的不同行为类型赋予不同的权值;
根据上述信息分析可知,用户数据的获取信息结构如下:
用户对一资源的行为信息可以保存为:
itemi=(url,date,readSpeed,scroll,click,collect,copy,repeatVisit)
其中,itemi表示页面资源i,readSpeed表示资源长度与访问时停留时长的比值。
优选地,所述权值确定子模块具体用于根据熵权法确定权值,包括如下步骤:
S01、将用户在Web资源页面上的浏览行为记录为数据,并根据下述公式对上述记录的数据进行标准化处理;
其中,Sij为第i条数据中第j种浏览行为的标准化值,max(Aj)表示第j种浏览行为的最大值,min(Aj)表示第j种浏览行为的最小值;
S02、根据下述公式计算用户不同浏览行为的信息熵值;
其中,Hj为第j种行为的信息熵值,n为用户在Web资源页面上的浏览行为记录的数量,若pij=0,则定义pijlnpij=0;
S03、根据下述公式对用户不同浏览行为进行量化表示;
其中,Wj为第j种行为的取值,Hj为第j种行为的信息熵值,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;
所述兴趣度计算子模块用于根据权值确定子模块为用户的不同行为类型赋予不同的权值计算出用户对Web资源页面的兴趣度;
优选地,兴趣度计算子模块具体用于根据下述公式计算用户对Web资源页面上不同条资源的兴趣度,并将计算出的兴趣度存储于用户兴趣模型中;
其中,IR为用户对Web资源页面的兴趣度,Ai为第i种浏览行为,Wi为第i种浏览行为所占的权重,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;优选地,在用户浏览Web资源页面时:将用户对Web资源页面的阅读速度此项浏览行为标记为A1,其权值标记为W1;将用户对Web资源页面的滑动操作此项浏览行为标记为A2,其权值标记为W2;将用户对Web资源页面的点击操作此项浏览行为标记为A3,其权值标记为W3;将用户对Web资源页面的收藏操作此项浏览行为标记为A4,其权值标记为W4;将用户对Web资源页面的复制操作此项浏览行为标记为A5,其权值标记为W5;将用户对Web资源页面上的某一条资源的重复访问此项浏览行为标记为A6,其权值标记为W6
上述信息可标注为:
优选地,上述用户兴趣模型表示为:
UIM={(item1,IR1),(item2,IR2),...,(itemi,IRi)};
其中,UIM为用户的兴趣模型,itemi为用户兴趣模型中的第i条资源,IRi为用户对第i条资源产生的兴趣度。
所述推荐算法模块包括聚类子模块;聚类子模块用于利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,得出聚类结果;
优选地,聚类子模块采用基于用户和资源双重聚类融合的协同过滤推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,上述进行聚类的过程采用覆盖聚类算法,所述覆盖聚类算法具体包括如下步骤:
S21、计算出所有未学习过的样本点的重心,并寻找离上述重心最近的样本点作为覆盖的圆心;
S22、计算出未聚类的样本与圆心的距离;
S23、计算出步骤S22中所有距离的平均距离;
S24、将步骤S23中计算出的平均距离作为半径;
S25、并根据上述半径计算出球形覆盖;
S26、计算出上述球形覆盖的重心;当样本点的个数大于预设值时,执行步骤S27,当样本点的个数不大于预设值时,执行步骤S28;
S27、将离步骤S26中球形覆盖的圆心最远的点作为新的圆心,并根据上述新的圆心重复步骤S22、S23、S24、S25、S26,直到所有的样本全部覆盖结束;
S28、将离步骤S26中球形覆盖的圆心最近的点作为新的圆心,计算出步骤S26中球形覆盖的圆心与新的圆心的距离,将离得最近的两个球形覆盖合并为一个新的球形覆盖,并更新其他覆盖与新覆盖的最短距离,如此重复,确定最后的聚类数。
所述的推荐算法采用基于用户和资源双重聚类融合的协同过滤推荐算法;
基于用户user的聚类。分别针对每一个item,根据用户user对该item的兴趣度IR进行聚类,将某一item中兴趣度相似的user聚为一类。如图2所示,共有5个item,例如在item1中,根据所有user对item1的兴趣度IR,对这些user进行聚类操作,将兴趣度IR相似的user聚为一类,得到{user1,user6,user8}、{user2,user4}和{user3,user5,user7}。
基于资源item的聚类。分别针对每一个user,根据该用户user对已产生兴趣度IR的item进行聚类,将这些兴趣度IR相似的item聚为一类。如图3所示,共有9个user,例如在user1中,根据当前用户对item的兴趣度IR,对这些item进行聚类操作,将兴趣度IR相似的item聚为一类,得到{item4,item1}、{item5,item2}和{item3}。
基于用户和资源双重聚类融合的协同过滤算法的流程架构具有以下优势:
(1)这种架构设计的算法因为同时考虑了用户和资源两方面的信息,所以可以很好地缓解数据稀疏性。
(2)分别对用户和资源进行聚类,以构建User-User矩阵和Item-Item矩阵,可以更好的找到目标用户和目标资源的最近邻,提高推荐结果的准确性。
(3)对用户和资源的聚类利用的是覆盖聚类算法,该算法采用覆盖的概念将比较集中的样本聚合在一起,在覆盖后不断求重心,不断调整所做的覆盖,对大量数据不需要迭代,解决了初值选择和聚类速度等问题。
(4)基于用户聚类的协同过滤更侧重用户个人的偏好,单个用户的多样性更好;基于资源聚类的协同过滤考虑其他用户的偏好,系统的多样性(也被称为覆盖率,指一个推荐系统能否给用户提供多种选择)更好。两者结合推荐,考虑的范围更广。
(5)这种结合的算法能很好的解决冷启动问题。若新用户信息少,可以通过基于资源的方案来进行预测评分;若新资源信息少,也可以通过基于用户的方案来进行预测评分。
(6)该推荐模块是基于Hadoop实现,解决了数据量过于庞大的问题,离线计算处理,当用户访问时实时为用户进行推荐。
所述推荐算法模块还包括矩阵构建子模块;矩阵构建子模块用于根据聚类子模块的聚类结果构建矩阵;
优选地,在对用户进行聚类后,根据每一条资源中用户的聚类情况,计算出两两用户被分为一类的次数,用meetNumu1,u2表示用户u1和用户u2被分为一类的次数,如图4所示;在对资源进行聚类后,根据每一个用户中资源的聚类情况,计算出两两资源被分为一类的次数,用meetNumi1,i2表示资源i1和资源i2被分为一类的次数,如图5所示。
所述推荐算法模块还包括矩阵分析子模块;矩阵分析子模块用于对矩阵构建子模块构建的矩阵进行分析得出目标用户最近邻Neighbors(user)、目标资源的最近邻Neighbors(item);
优选地,得出目标用户最近邻Neighbors(user)的过程具体包括:对目标用户与邻居用户的被分为一类的次数meetNum进行降序排列,取前a个meetNum最大的邻居用户作为目标用户的最近邻Neighbors(user);得出目标资源最近邻Neighbors(item)的过程具体包括:对目标资源与邻居资源的被分为一类的次数meetNum进行降序排列,取前b个meetNum最大的邻居资源作为目标资源的最近邻Neighbors(item);其中,a与b均为预设值。
所述推荐算法模块还包括预测和融合子模块;预测和融合子模块用于根据矩阵分析子模块得出的最近邻结果对用户的兴趣度进行预测和融合,得出推荐方案;
优选地,预测和融合子模块根据矩阵分析子模块得出的最近邻结果对用户的兴趣度进行预测和融合的过程具体包括:
S11、根据得出的目标用户最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(u,v)表示用户u与用户v之间的相似度,上述相似度的计算方法采用基于用户的Pearson相关系数,表示用户u对所有已产生的兴趣度的平均值,表示用户u的最近邻集合的用户v对所有已产生的兴趣度的平均值,IRv,i表示用户u的最近邻集合的用户v对资源i的兴趣度;
S12、根据得出的目标资源最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(i,j)表示资源i与资源j之间的相似度,上述相似度的计算方法采用基于项目的Pearson相关系数,表示所有用户对资源i的兴趣度的平均值,表示所有资源j的兴趣度的平均值,IRu,j表示用户u对资源j的兴趣度;
S13、依据步骤S11的计算结果Pu(u,i)以及步骤S12的计算结果Pi(u,i)得出基于用户与基于资源双重聚类的兴趣度预测,利用融合因子α将基于用户聚类的协同过滤算法的兴趣度预测和基于用户聚类的协同过滤算法的兴趣度预测相融合,得出下述公式:
Pui(u,i)=αPu(u,i)+(1-α)Pi(u,i);
S14、将步骤S13中得出的Pui(u,i)按照降序排列,取排前N位的资源作为推荐方案;其中,所述N为预设值。
所述并行处理模块在Hadoop云平台下对推荐算法进行离线分布式计算时,对用户聚类具体采用覆盖聚类算法,上述覆盖聚类算法具体包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个资源中用户对上述资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个资源中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个资源中属于由上述圆心和半径所构成的球形覆盖内的所有点。
所述并行处理模块在Hadoop云平台下对推荐算法进行离线分布式计算时,对资源聚类具体采用覆盖聚类算法,包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个用户对已浏览资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个用户中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个用户中属于由上述圆心和半径所构成的球形覆盖内的所有点。
本实施方式的个性化推荐算法的实现过程中,需要将部分数据存储在基于HDFS的分布式非关系型数据库HBase中。HBase这一分布式非关系型数据库能够在数据存储时具备良好的扩展性,而且为表结构的设计带来了很大的灵活性。根据本系统在Hadoop平台下实现的特点,对HBase数据库表进行如下设计:
用户兴趣模型表:表名是uim,记录用户对资源的兴趣度以及在user和item进行覆盖聚类后的聚类中心信息。表的行关键字由user和item组成,列族为data,为整个表的基本信息。其中要存储的IR为用户对资源的兴趣度,fu为基于用户聚类时的聚类中心,fi为基于资源聚类时的聚类中心。在需要系统功能扩展时,可以自由扩展所属列族中的列字段,如下表所示:
基于user聚类的记录表:表名为userRecord,存储在基于用户覆盖聚类时需要记录的相关信息。资源item作为行关键字,列族是data。其中center为对用户进行覆盖聚类时要存储的圆心,IR为聚类重心对应的IR,avgDist是对用户进行覆盖聚类时要存储的覆盖半径,如下表所示:
基于item聚类的记录表:表名为itemRecord,存储在基于资源覆盖聚类时需要记录的相关信息。以用户user作为行关键字,列族是data。其中center为对资源进行覆盖聚类时要存储的圆心,IR为聚类重心对应的IR,avgDist是对资源进行覆盖聚类时要存储的覆盖半径,如下表所示:
用户-用户矩阵表:表名为userUser,存储了两两用户user被分为一类的次数信息。行关键字是由两两不同的用户user1+user2的组合键构成,列族为data。其中meetNum存储两两用户被分为一类的次数,如下表所示:
资源-资源矩阵表:表名为itemItem,存储了两两资源item被分为一类的次数信息。行关键字是由两两不同的资源item1+iem2的组合键构成,列族为data。其中meetNum存储两两资源被分为一类的次数,如下表所示:
基于用户聚类的MapReduce实现,对用户user聚类使用的是覆盖聚类算法,主要包括3个MapReduce Job:CenterJob、RadiusJob和CoverJob。
CenterJob:求每一个item中user兴趣度IR的重心,并以离该重心最近的点作为覆盖的圆心。CenterJob的并行化主要包含了1个Map和1个Reduce操作过程。Map的输入为HBase数据库中的用户兴趣模型表uim,读取到用户兴趣信息后,经处理以<item,user+IR+1>的形式输出。由于每一个Map都可能会产生大量的本地输出,使用Combiner在Map端输出先做一次合并,以减少在Map和Reduce节点之间的数据传输量。Combiner接收到的输入形式为<item,List<user+IR+1>>,对IR和1分别求和,得到sumIR和cnt,这里cnt记录了某一item中user的数量,然后以<item,user+sumIR+cnt>的形式输出。Reduce的输入是经过Shuffle过程得到的<item,List<user+sumIR+cnt>>,对sumIR和cnt分别求和后,sumIR除以cnt即可得到重心,然后以离该重心最近的点作为覆盖的圆心center,并存入HBase中的userRecord表。
RadiusJob:求每一个item中尚未聚类的点与圆心center的距离,然后得出所有距离的平均距离avgDist,并以该avgDist作为覆盖半径。RadiusJob的并行化主要包含了1个Map和1个Reduce操作。在执行Map之前,先执行setup方法,读取HBase中userRecord表,获取每一个item的圆心center。Map的输入为HBase中的uim表,读取表中IR和fu信息,其中fu为null时表示尚未聚类,然后计算IR与center的距离dist,以<item,user+dist>形式输出。Reduce的输入是经过Shuffle过程得到的<item,List<user+dist>>,对dist求和后除以user的数量即可得到平均距离avgDist,并存入HBase中的userRecord表。
CoverJob:求每一个item中属于圆心center和半径avgDist覆盖内的所有点。CoverJob的并行化主要包含了1个Map操作。在执行Map之前,先执行setup方法,读取HBase中userRecord表,获取每一个item的圆心center和半径avgDist。Map的输入为HBase中的uim表,读取表中IR和fu信息,然后计算IR与center的距离dist,若小于avgDist,则该点属于此球形覆盖范围内,并将结果存入HBase中uim表。
基于资源聚类的MapReduce实现类似于基于用户聚类的MapReduce实现。
对User-User矩阵和Item-Item矩阵的MapReduce的实现,主要包括2个MapReduceJob:userUserJob和itemItemJob。
userUserJob:求两两用户user被分为一类的次数。userUserJob的并行化主要包含了1个Map和1个Reduce操作。读取HBase中的uim表作为Map的输入,获取user、item和fu信息,以<item+fu,user>的形式输出。Combiner接收到的输入形式为<item+fu,List<user>>,将每个获取List的用户以ArrayList<user>形式存储,通过遍历后,将不同的两两用户以<user1+user2,1>形式输出。Reduce的输入是经过Shuffle过程得到的<user1+user2,List<1>>,对List中的1相加,则可得出两两用户被分为一类的次数,并存入HBase中的userUser表中。
itemItemJob的操作过程类似于userUserJob。
参照图6,本发明提出的基于Hadoop云平台Web资源个性化推荐方法,包括以下步骤:
S1、收集用户在Web资源页面的浏览行为信息,并根据用户在Web资源页面的浏览行为信息为用户的不同行为类型赋予不同的权值,再根据上述不同的权值计算出用户对上述Web资源页面的兴趣度;
S2、根据计算出的兴趣度,利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类处理得出聚类结果,然后根据上述聚类结果构建矩阵,再通过对上述构建的矩阵进行目标资源最近邻分析得出目标资源的最近邻结果,并根据上述最近邻结果对用户的兴趣度进行预测和融合处理得出推荐方案;
S3、在Hadoop云平台下对推荐算法进行离线分布式计算,并对上述计算结果进行存储。
其中,所述浏览行为信息具体包括:
显示行为:包括用户在Web资源页面上提交的搜索请求、用户在Web资源页面上对系统提出问题的反馈答复、用户对Web资源页面的阅读速度;
标记行为:包括用户对Web资源页面进行添加书签、删除书签、收藏页面、分享页面的行为;
操作行为:包括用户对Web资源页面上的信息进行复制、粘贴、剪切,以及用户在Web资源页面上进行的拉动滚动条、上下滑动操作的行为;
重复行为:用户对某一个Web资源页面的重复点击、用户对某一个Web资源页面上的某一条资源信息的重复点击行为;
外部行为:用户在浏览Web资源页面时物理及生理机能上的反应,上述物理及生理机能上的反应具体包括呼吸、体温、心率、情感变化、眼球移动;
优选地,利用熵权法根据用户在Web资源页面上的浏览行为信息为用户的不同行为类型赋予不同的权值,具体包括:
将用户在Web资源页面上的浏览行为记录为数据,并根据下述公式对上述记录的数据进行标准化处理;
其中,Sij为第i条数据中第j种浏览行为的标准化值,max(Aj)表示第j种浏览行为的最大值,min(Aj)表示第j种浏览行为的最小值;
根据下述公式计算用户不同浏览行为的信息熵值;
其中,Hj为第j种行为的信息熵值,n为用户在Web资源页面上的浏览行为记录的数量,若pij=0,则定义pijlnpij=0;
根据下述公式对用户不同浏览行为进行量化表示;
其中,Wj为第j种行为的取值,Hj为第j种行为的信息熵值,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;
优选地,具体根据下述公式计算用户对Web资源页面上不同条资源的兴趣度,并将计算出的兴趣度存储于用户兴趣模型中;
其中,IR为用户对Web资源页面的兴趣度,Ai为第i种浏览行为,Wi为第i种浏览行为所占的权重,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;优选地,在用户浏览Web资源页面时:将用户对Web资源页面的阅读速度此项浏览行为标记为A1,其权值标记为W1;将用户对Web资源页面的滑动操作此项浏览行为标记为A2,其权值标记为W2;将用户对Web资源页面的点击操作此项浏览行为标记为A3,其权值标记为W3;将用户对Web资源页面的收藏操作此项浏览行为标记为A4,其权值标记为W4;将用户对Web资源页面的复制操作此项浏览行为标记为A5,其权值标记为W5;将用户对Web资源页面上的某一条资源的重复访问此项浏览行为标记为A6,其权值标记为W6
优选地,上述用户兴趣模型表示为:
UIM={(item1,IR1),(item2,IR2),...,(itemi,IRi)}
其中,UIM为用户的兴趣模型,itemi为用户兴趣模型中的第i条资源,IRi为用户对第i条资源产生的兴趣度。
优选地,采用基于用户和资源双重聚类融合的协同过滤推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,上述进行聚类的过程采用覆盖聚类算法,所述覆盖聚类算法具体包括如下步骤:
S01、计算出所有未学习过的样本点的重心,并寻找离上述重心最近的样本点作为覆盖的圆心;
S02、计算出未聚类的样本与圆心的距离;
S03、计算出步骤S02中所有距离的平均距离;
S04、将步骤S03中计算出的平均距离作为半径;
S05、并根据上述半径计算出球形覆盖;
S06、计算出上述球形覆盖的重心;当样本点的个数大于预设值时,执行步骤S07,当样本点的个数不大于预设值时,执行步骤S08;
S07、将离步骤S06中球形覆盖的圆心最远的点作为新的圆心,并根据上述新的圆心重复步骤S02、S03、S04、S05、S06,直到所有的样本全部覆盖结束;
S08、将离步骤S06中球形覆盖的圆心最近的点作为新的圆心,计算出步骤S06中球形覆盖的圆心与新的圆心的距离,将离得最近的两个球形覆盖合并为一个新的球形覆盖,并更新其他覆盖与新覆盖的最短距离,如此重复,确定最后的聚类数;
优选地,在对用户进行聚类后,根据每一条资源中用户的聚类情况,计算出两两用户被分为一类的次数,用meetNumu1,u2表示用户u1和用户u2被分为一类的次数;在对资源进行聚类后,根据每一个用户中资源的聚类情况,计算出两两资源被分为一类的次数,用meetNumi1,i2表示资源i1和资源i2被分为一类的次数;
优选地,得出目标用户最近邻Neighbors(user)的过程具体包括:对目标用户与邻居用户的被分为一类的次数meetNum进行降序排列,取前a个meetNum最大的邻居用户作为目标用户的最近邻Neighbors(user);得出目标资源最近邻Neighbors(item)的过程具体包括:对目标资源与邻居资源的被分为一类的次数meetNum进行降序排列,取前b个meetNum最大的邻居资源作为目标资源的最近邻Neighbors(item);其中,a与b均为预设值;
优选地,根据得出的最近邻结果对用户的兴趣度进行预测和融合的过程具体包括:
根据得出的目标用户最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(u,v)表示用户u与用户v之间的相似度,上述相似度的计算方法采用基于用户的Pearson相关系数,表示用户u对所有已产生的兴趣度的平均值,表示用户u的最近邻集合的用户v对所有已产生的兴趣度的平均值,IRv,i表示用户u的最近邻集合的用户v对资源i的兴趣度;
根据得出的目标资源最近邻,以及下述公式预测用户u对资源i的兴趣度;
其中,sim(i,j)表示资源i与资源j之间的相似度,上述相似度的计算方法采用基于项目的Pearson相关系数,表示所有用户对资源i的兴趣度的平均值,表示所有资源j的兴趣度的平均值,IRu,j表示用户u对资源j的兴趣度;
依据Pu(u,i)以及Pi(u,i)得出基于用户与基于资源双重聚类的兴趣度预测,利用融合因子α将基于用户聚类的协同过滤算法的兴趣度预测和基于用户聚类的协同过滤算法的兴趣度预测相融合,得出下述公式:
Pui(u,i)=αPu(u,i)+(1-α)Pi(u,i);
将得出的Pui(u,i)按照降序排列,取排前N位的资源作为推荐方案;其中,所述N为预设值。
在Hadoop云平台下对推荐算法进行离线分布式计算时,对用户聚类具体采用覆盖聚类算法,上述覆盖聚类算法具体包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个资源中用户对上述资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个资源中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个资源中属于由上述圆心和半径所构成的球形覆盖内的所有点。
在Hadoop云平台下对推荐算法进行离线分布式计算时,对资源聚类具体采用覆盖聚类算法,包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个用户对已浏览资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个用户中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个用户中属于由上述圆心和半径所构成的球形覆盖内的所有点。
本实施方式中,为了解决当下网络中海量Web资源引发的“信息过载”和用户无法有效获取其真正感兴趣的资源等问题,设计并实现基于Hadoop云环境下的Web资源个性化推荐系统。该推荐系统通过用户模型模块分析用户的操作行为,并结合用户的浏览内容,计算出用户对资源的兴趣度,再根据得出的用户模型,来为用户做出个性化推荐。在重要的资源推荐部分,使用基于用户和资源双重聚类融合的协同过滤算法,分别对用户和资源进行覆盖聚类得出User-User矩阵和Item-Item矩阵,以此获得更有效的邻居用户集和邻居资源集,使得在预测用户兴趣度时结果更准,推荐的效果更好。考虑资源繁杂和实时性等情况,对用户和资源覆盖聚类以及相应矩阵的构建部分利用MapReduce框架实现并行化进行离线计算。最后通过实验证明了该推荐算法的优势,可以为用户提供更准确更优质的个性化服务。
参照图7-图13,本实施方式中,对本发明提出的基于Hadoop云平台Web资源个性化推荐方法提出了验证方案,具体包括:
评分预测的准确度一般通过平均绝对误差(MAE)计和均方根误差(RMSE)计算,平均绝对偏差和均方根误差越小,预测的准确度越高。对于测试集中的一个用户u和物品i,令Ru,i是用户u对物品i的实际评分,而Pu,i是用户u对物品i的预测评分,那么MAE的定义为式RMSE定义为式
对于topN推荐问题,预测准确率通常可以用召回率(Recall)、准确率(Precision)和综合评价指标F-score来衡量。假设系统的用户的集合为U,令R(u)是根据用户u在训练集上的行为给用户做出的推荐列表,而T(u)是用户u在测试集上的行为列表。召回率是指推荐列表中用户喜欢的资源与系统中用户喜欢的所有资源的比率,定义为式
准确率是指推荐列表中用户喜欢的资源数和所有被推荐资源的比率,定义为式多数情况下,准确率与召回率难以同时提高,两者存在此消彼长的关系,故研究者提出一个综合评价指标F-score。它是召回率和准确率的调和平均值,能够对算法进行综合评测,定义为式
其中,Recall为召回率,Precision为准确率,F-score值越大则说明推荐质量越高。
融合因子α在最终预测评分Pu,i中融合基于用户user聚类的协同过滤算法与基于资源item聚类的协同过滤算法。本次实验中最近邻居数为10,矩阵密度为0.8(训练集所占比重),来确定α。得到实验结果如下表:
α MAE
0.1 0.7138
0.2 0.704
0.3 0.698
0.4 0.6958
0.5 0.6975
0.6 0.7031
0.7 0.7125
0.8 0.7257
0.9 0.7425
结合上表及图7表明,可以得到如下结果:α取到0.4时,达到最佳推荐效果。
该实验验证了最近邻数对MAE和RMSE的影响,将本推荐系统算法CUIPCC与KUIPCC(使用K-means算法实现基于用户和资源双重聚类的协同过滤算法)、CUPCC(使用覆盖算法实现基于用户聚类的协同过滤算法)和CIPCC(使用覆盖算法实现基于资源聚类的协同过滤算法)进行对比。本次实验中融合因子α为0.4,矩阵密度为0.8,K-means算法的K值为2。得到实验结果如图8和图9所示。
通过图8和图9表明,随着最近邻数的不断增大,所有算法的MAE值和RMSE值均在不断变小,且本系统的CUIPCC算法的MAE值和RMSE值相较于其他算法总是最小,推荐效果最好。
该实验验证了不同矩阵密度对MAE和RMSE的影响,将本推荐系统算法CUIPCC与KUIPCC(使用K-means算法实现基于用户和资源双重聚类的协同过滤算法)进行对比。得到实验结果如图10和图11所示。
通过图10和图11表明,随着矩阵密度的不断增大,即训练集比重的不断增大,所有算法的MAE值和RMSE值均在不断下降,且本系统的算法CUIPCC在不同矩阵密度下都好于KUIPCC,预测的准确度更高。
该实验验证了不同推荐列表长度对Recall和F-score的影响。由于采用的数据集是5分制的Movielens数据集,在计算Recall时,若是仅以大于等于3评分的电影划分用户喜欢与不喜欢区间,过于片面。故首先计算出用户评分的平均值,将评分大于等于平均值的评分值定义为用户喜欢的电影。将本推荐系统算法CUIPCC与KUIPCC(使用K-means算法实现基于用户和资源双重聚类的协同过滤算法)进行对比,并取矩阵密度为0.5,得到实验结果如图12和图13所示。
通过图12和图13表明,随着推荐列表长度增加,所有算法的召回率和综合指标F-score均在不断增加,且本系统的算法CUIPCC的Recall和F-score均好于KUIPCC,推荐效果更好。
为了解决当下网络中海量Web资源引发的“信息过载”和用户无法有效获取其真正感兴趣的资源等问题,设计并实现基于Hadoop云环境下的Web资源个性化推荐系统。该推荐系统通过用户模型模块分析用户的操作行为,并结合用户的浏览内容,计算出用户对资源的兴趣度,再根据得出的用户模型,来为用户做出个性化推荐。在重要的资源推荐部分,使用基于用户和资源双重聚类融合的协同过滤算法,分别对用户和资源进行覆盖聚类得出User-User矩阵和Item-Item矩阵,以此获得更有效的邻居用户集和邻居资源集,使得在预测用户兴趣度时结果更准,推荐的效果更好。考虑资源繁杂和实时性等情况,对用户和资源覆盖聚类以及相应矩阵的构建部分利用MapReduce框架实现并行化进行离线计算。最后通过实验证明了该推荐算法的优势,可以为用户提供更准确更优质的个性化服务。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于Hadoop云平台Web资源个性化推荐系统,其特征在于,包括:
用户模型模块,用于收集用户在Web资源页面的浏览行为信息,并根据用户在Web资源页面的浏览行为信息为用户的不同行为类型赋予不同的权值,再根据上述不同的权值计算出用户对上述Web资源页面的兴趣度;
推荐算法模块,根据用户模型模块计算出的兴趣度,利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类处理得出聚类结果,然后根据上述聚类结果构建矩阵,再通过对上述构建的矩阵进行目标资源最近邻分析得出目标资源的最近邻结果,并根据上述最近邻结果对用户的兴趣度进行预测和融合处理得出推荐方案;
并行处理模块,在Hadoop云平台下对推荐算法进行离线分布式计算,并对上述计算结果进行存储。
2.根据权利要求1所述的基于Hadoop云平台Web资源个性化推荐系统,其特征在于,所述用户模型模块包括信息收集子模块、权值确定子模块、兴趣度计算子模块;
优选地,信息收集子模块具体用于收集用户在Web资源页面的浏览行为信息;
优选地,上述浏览行为信息具体包括:
显示行为:包括用户在Web资源页面上提交的搜索请求、用户在Web资源页面上对系统提出问题的反馈答复、用户对Web资源页面的阅读速度;
标记行为:包括用户对Web资源页面进行添加书签、删除书签、收藏页面、分享页面的行为;
操作行为:包括用户对Web资源页面上的信息进行复制、粘贴、剪切,以及用户在Web资源页面上进行的拉动滚动条、上下滑动操作的行为;
重复行为:用户对某一个Web资源页面的重复点击、用户对某一个Web资源页面上的某一条资源信息的重复点击行为;
外部行为:用户在浏览Web资源页面时物理及生理机能上的反应,上述物理及生理机能上的反应具体包括呼吸、体温、心率、情感变化、眼球移动;
所述权值确定子模块用于根据用户在Web资源页面上的浏览行为信息为用户的不同行为类型赋予不同的权值;
优选地,所述权值确定子模块具体用于根据熵权法确定权值,具体包括:
将用户在Web资源页面上的浏览行为记录为数据,并根据下述公式对上述记录的数据进行标准化处理;
S i j = b i j - m i n ( A j ) m a x ( A j ) - m i n ( A j ) ;
其中,Sij为第i条数据中第j种浏览行为的标准化值,max(Aj)表示第j种浏览行为的最大值,min(Aj)表示第j种浏览行为的最小值;
根据下述公式计算用户不同浏览行为的信息熵值;
H j = - l n ( n ) - 1 &Sigma; i = 1 n p i j lnp i j ;
其中,Hj为第j种行为的信息熵值,n为用户在Web资源页面上的浏览行为记录的数量,若pij=0,则定义pijlnpij=0;
根据下述公式对用户不同浏览行为进行量化表示;
W j = 1 - H j k - &Sigma; j H j ;
其中,Wj为第j种行为的取值,Hj为第j种行为的信息熵值,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;
优选地,所述兴趣度计算子模块用于根据权值确定子模块为用户的不同行为类型赋予不同的权值计算出用户对Web资源页面的兴趣度;
优选地,兴趣度计算子模块具体用于根据下述公式计算用户对Web资源页面上不同条资源的兴趣度,并将计算出的兴趣度存储于用户兴趣模型中;
I R = &Sigma; i = 1 k A i &times; W i ;
其中,IR为用户对Web资源页面的兴趣度,Ai为第i种浏览行为,Wi为第i种浏览行为所占的权重,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;优选地,在用户浏览Web资源页面时:将用户对Web资源页面的阅读速度此项浏览行为标记为A1,其权值标记为W1;将用户对Web资源页面的滑动操作此项浏览行为标记为A2,其权值标记为W2;将用户对Web资源页面的点击操作此项浏览行为标记为A3,其权值标记为W3;将用户对Web资源页面的收藏操作此项浏览行为标记为A4,其权值标记为W4;将用户对Web资源页面的复制操作此项浏览行为标记为A5,其权值标记为W5;将用户对Web资源页面上的某一条资源的重复访问此项浏览行为标记为A6,其权值标记为W6
优选地,上述用户兴趣模型表示为:
UIM={(item1,IR1),(item2,IR2),…,(itemi,IRi)};
其中,UIM为用户的兴趣模型,itemi为用户兴趣模型中的第i条资源,IRi为用户对第i条资源产生的兴趣度。
3.根据权利要求1所述的基于Hadoop云平台Web资源个性化推荐系统,其特征在于,所述推荐算法模块包括聚类子模块、矩阵构建子模块、矩阵分析子模块、预测和融合子模块;
优选地,所述聚类子模块用于利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,得出聚类结果;
优选地,聚类子模块采用基于用户和资源双重聚类融合的协同过滤推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,上述进行聚类的过程采用覆盖聚类算法,所述覆盖聚类算法具体包括如下步骤:
S01、计算出所有未学习过的样本点的重心,并寻找离上述重心最近的样本点作为覆盖的圆心;
S02、计算出未聚类的样本与圆心的距离;
S03、计算出步骤S02中所有距离的平均距离;
S04、将步骤S03中计算出的平均距离作为半径;
S05、并根据上述半径计算出球形覆盖;
S06、计算出上述球形覆盖的重心;当样本点的个数大于预设值时,执行步骤S07,当样本点的个数不大于预设值时,执行步骤S08;
S07、将离步骤S06中球形覆盖的圆心最远的点作为新的圆心,并根据上述新的圆心重复步骤S02、S03、S04、S05、S06,直到所有的样本全部覆盖结束;
S08、将离步骤S06中球形覆盖的圆心最近的点作为新的圆心,计算出步骤S06中球形覆盖的圆心与新的圆心的距离,将离得最近的两个球形覆盖合并为一个新的球形覆盖,并更新其他覆盖与新覆盖的最短距离,如此重复,确定最后的聚类数;
优选地,所述矩阵构建子模块用于根据聚类子模块的聚类结果构建矩阵;
优选地,矩阵构建子模块在对用户进行聚类后,根据每一条资源中用户的聚类情况,计算出两两用户被分为一类的次数,用meetNumu1,u2表示用户u1和用户u2被分为一类的次数;在对资源进行聚类后,根据每一个用户中资源的聚类情况,计算出两两资源被分为一类的次数,用meetNumi1,i2表示资源i1和资源i2被分为一类的次数;
优选地,所述矩阵分析子模块用于对矩阵构建子模块构建的矩阵进行目标资源最近邻分析得出目标用户最近邻Neighbors(user)、目标资源的最近邻Neighbors(item);
优选地,矩阵分析子模块得出目标用户最近邻Neighbors(user)的过程具体包括:对目标用户与邻居用户的被分为一类的次数meetNum进行降序排列,取前a个meetNum最大的邻居用户作为目标用户的最近邻Neighbors(user);得出目标资源最近邻Neighbors(item)的过程具体包括:对目标资源与邻居资源的被分为一类的次数meetNum进行降序排列,取前b个meetNum最大的邻居资源作为目标资源的最近邻Neighbors(item);其中,a与b均为预设值;
优选地,所述预测和融合子模块用于根据矩阵分析子模块得出的最近邻结果对用户的兴趣度进行预测和融合,得出推荐方案;
优选地,预测和融合子模块根据矩阵分析子模块得出的最近邻结果对用户的兴趣度进行预测和融合的过程具体包括:
根据得出的目标用户最近邻,以及下述公式预测用户u对资源i的兴趣度;
P u ( u , i ) = IR u &OverBar; + &Sigma; v &Element; N e i g h b o r s ( u ) s i m ( u , v ) ( IR v , i - IR v &OverBar; ) &Sigma; v &Element; N e i g h b o r s ( u ) s i m ( u , v ) ;
其中,sim(u,v)表示用户u与用户v之间的相似度,上述相似度的计算方法采用基于用户的Pearson相关系数,表示用户u对所有已产生的兴趣度的平均值,表示用户u的最近邻集合的用户v对所有已产生的兴趣度的平均值,IRv,i表示用户u的最近邻集合的用户v对资源i的兴趣度;
根据得出的目标资源最近邻,以及下述公式预测用户u对资源i的兴趣度;
P i ( u , i ) = IR i &OverBar; + &Sigma; j &Element; N e i g h b o r s ( i ) s i m ( i , j ) ( IR u , j - IR j &OverBar; ) &Sigma; j &Element; N e i g h b o r s ( i ) s i m ( i , j ) ;
其中,sim(i,j)表示资源i与资源j之间的相似度,上述相似度的计算方法采用基于项目的Pearson相关系数,表示所有用户对资源i的兴趣度的平均值,表示所有资源j的兴趣度的平均值,IRu,j表示用户u对资源j的兴趣度;
依据Pu(u,i)以及Pi(u,i)得出基于用户与基于资源双重聚类的兴趣度预测,利用融合因子α将基于用户聚类的协同过滤算法的兴趣度预测和基于用户聚类的协同过滤算法的兴趣度预测相融合,得出下述公式:
Pui(u,i)=αPu(u,i)+(1-α)Pi(u,i);
将得出的Pui(u,i)按照降序排列,取排前N位的资源作为推荐方案;其中,所述N为预设值。
4.根据权利要求1所述的基于Hadoop云平台Web资源个性化推荐系统,其特征在于,所述并行处理模块在Hadoop云平台下对推荐算法进行离线分布式计算时,对用户聚类具体采用覆盖聚类算法,上述覆盖聚类算法具体包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个资源中用户对上述资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个资源中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个资源中属于由上述圆心和半径所构成的球形覆盖内的所有点。
5.根据权利要求1所述的基于Hadoop云平台Web资源个性化推荐系统,其特征在于,所述并行处理模块在Hadoop云平台下对推荐算法进行离线分布式计算时,对资源聚类具体采用覆盖聚类算法,包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个用户对已浏览资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个用户中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个用户中属于由上述圆心和半径所构成的球形覆盖内的所有点。
6.一种基于Hadoop云平台Web资源个性化推荐方法,其特征在于,包括以下步骤:
S1、收集用户在Web资源页面的浏览行为信息,并根据用户在Web资源页面的浏览行为信息为用户的不同行为类型赋予不同的权值,再根据上述不同的权值计算出用户对上述Web资源页面的兴趣度;
S2、根据计算出的兴趣度,利用推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类处理得出聚类结果,然后根据上述聚类结果构建矩阵,再通过对上述构建的矩阵进行目标资源最近邻分析得出目标资源的最近邻结果,并根据上述最近邻结果对用户的兴趣度进行预测和融合处理得出推荐方案;
S3、在Hadoop云平台下对推荐算法进行离线分布式计算,并对上述计算结果进行存储。
7.根据权利要求6所述的基于Hadoop云平台Web资源个性化推荐方法,其特征在于,所述浏览行为信息具体包括:
显示行为:包括用户在Web资源页面上提交的搜索请求、用户在Web资源页面上对系统提出问题的反馈答复、用户对Web资源页面的阅读速度;
标记行为:包括用户对Web资源页面进行添加书签、删除书签、收藏页面、分享页面的行为;
操作行为:包括用户对Web资源页面上的信息进行复制、粘贴、剪切,以及用户在Web资源页面上进行的拉动滚动条、上下滑动操作的行为;
重复行为:用户对某一个Web资源页面的重复点击、用户对某一个Web资源页面上的某一条资源信息的重复点击行为;
外部行为:用户在浏览Web资源页面时物理及生理机能上的反应,上述物理及生理机能上的反应具体包括呼吸、体温、心率、情感变化、眼球移动;
优选地,利用熵权法根据用户在Web资源页面上的浏览行为信息为用户的不同行为类型赋予不同的权值,具体包括:
将用户在Web资源页面上的浏览行为记录为数据,并根据下述公式对上述记录的数据进行标准化处理;
S i j = b i j - m i n ( A j ) m a x ( A j ) - m i n ( A j ) ;
其中,Sij为第i条数据中第j种浏览行为的标准化值,max(Aj)表示第j种浏览行为的最大值,min(Aj)表示第j种浏览行为的最小值;
根据下述公式计算用户不同浏览行为的信息熵值;
H j = - l n ( n ) - 1 &Sigma; i = 1 n p i j lnp i j ;
其中,Hj为第j种行为的信息熵值,n为用户在Web资源页面上的浏览行为记录的数量,若pij=0,则定义pijlnpij=0;
根据下述公式对用户不同浏览行为进行量化表示;
W j = 1 - H j k - &Sigma; j H j ;
其中,Wj为第j种行为的取值,Hj为第j种行为的信息熵值,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;
优选地,具体根据下述公式计算用户对Web资源页面上不同条资源的兴趣度,并将计算出的兴趣度存储于用户兴趣模型中;
I R = &Sigma; i = 1 k A i &times; W i ;
其中,IR为用户对Web资源页面的兴趣度,Ai为第i种浏览行为,Wi为第i种浏览行为所占的权重,k为用户在Web资源页面上的浏览行为记录的数量,此处k=6;优选地,在用户浏览Web资源页面时:将用户对Web资源页面的阅读速度此项浏览行为标记为A1,其权值标记为W1;将用户对Web资源页面的滑动操作此项浏览行为标记为A2,其权值标记为W2;将用户对Web资源页面的点击操作此项浏览行为标记为A3,其权值标记为W3;将用户对Web资源页面的收藏操作此项浏览行为标记为A4,其权值标记为W4;将用户对Web资源页面的复制操作此项浏览行为标记为A5,其权值标记为W5;将用户对Web资源页面上的某一条资源的重复访问此项浏览行为标记为A6,其权值标记为W6
优选地,上述用户兴趣模型表示为:
UIM={(item1,IR1),(item2,IR2),…,(itemi,IRi)};
其中,UIM为用户的兴趣模型,itemi为用户兴趣模型中的第i条资源,IRi为用户对第i条资源产生的兴趣度。
8.根据权利要求6所述的基于Hadoop云平台Web资源个性化推荐方法,其特征在于,优选地,采用基于用户和资源双重聚类融合的协同过滤推荐算法对收集的用户在Web资源页面的浏览行为信息进行聚类,上述进行聚类的过程采用覆盖聚类算法,所述覆盖聚类算法具体包括如下步骤:
S01、计算出所有未学习过的样本点的重心,并寻找离上述重心最近的样本点作为覆盖的圆心;
S02、计算出未聚类的样本与圆心的距离;
S03、计算出步骤S02中所有距离的平均距离;
S04、将步骤S03中计算出的平均距离作为半径;
S05、并根据上述半径计算出球形覆盖;
S06、计算出上述球形覆盖的重心;当样本点的个数大于预设值时,执行步骤S07,当样本点的个数不大于预设值时,执行步骤S08;
S07、将离步骤S06中球形覆盖的圆心最远的点作为新的圆心,并根据上述新的圆心重复步骤S02、S03、S04、S05、S06,直到所有的样本全部覆盖结束;
S08、将离步骤S06中球形覆盖的圆心最近的点作为新的圆心,计算出步骤S06中球形覆盖的圆心与新的圆心的距离,将离得最近的两个球形覆盖合并为一个新的球形覆盖,并更新其他覆盖与新覆盖的最短距离,如此重复,确定最后的聚类数;
优选地,在对用户进行聚类后,根据每一条资源中用户的聚类情况,计算出两两用户被分为一类的次数,用meetNumu1,u2表示用户u1和用户u2被分为一类的次数;在对资源进行聚类后,根据每一个用户中资源的聚类情况,计算出两两资源被分为一类的次数,用meetNumi1,i2表示资源i1和资源i2被分为一类的次数;
优选地,得出目标用户最近邻Neighbors(user)的过程具体包括:对目标用户与邻居用户的被分为一类的次数meetNum进行降序排列,取前a个meetNum最大的邻居用户作为目标用户的最近邻Neighbors(user);得出目标资源最近邻Neighbors(item)的过程具体包括:对目标资源与邻居资源的被分为一类的次数meetNum进行降序排列,取前b个meetNum最大的邻居资源作为目标资源的最近邻Neighbors(item);其中,a与b均为预设值;
优选地,根据得出的最近邻结果对用户的兴趣度进行预测和融合的过程具体包括:
根据得出的目标用户最近邻,以及下述公式预测用户u对资源i的兴趣度;
P u ( u , i ) = IR u &OverBar; + &Sigma; v &Element; N e i g h b o r s ( u ) s i m ( u , v ) ( IR v , i - IR v &OverBar; ) &Sigma; v &Element; N e i g h b o r s ( u ) s i m ( u , v ) ;
其中,sim(u,v)表示用户u与用户v之间的相似度,上述相似度的计算方法采用基于用户的Pearson相关系数,表示用户u对所有已产生的兴趣度的平均值,表示用户u的最近邻集合的用户v对所有已产生的兴趣度的平均值,IRv,i表示用户u的最近邻集合的用户v对资源i的兴趣度;
根据得出的目标资源最近邻,以及下述公式预测用户u对资源i的兴趣度;
P i ( u , i ) = IR i &OverBar; + &Sigma; j &Element; N e i g h b o r s ( i ) s i m ( i , j ) ( IR u , j - IR j &OverBar; ) &Sigma; j &Element; N e i g h b o r s ( i ) s i m ( i , j ) ;
其中,sim(i,j)表示资源i与资源j之间的相似度,上述相似度的计算方法采用基于项目的Pearson相关系数,表示所有用户对资源i的兴趣度的平均值,表示所有资源j的兴趣度的平均值,IRu,j表示用户u对资源j的兴趣度;
依据Pu(u,i)以及Pi(u,i)得出基于用户与基于资源双重聚类的兴趣度预测,利用融合因子α将基于用户聚类的协同过滤算法的兴趣度预测和基于用户聚类的协同过滤算法的兴趣度预测相融合,得出下述公式:
Pui(u,i)=αPu(u,i)+(1-α)Pi(u,i);
将得出的Pui(u,i)按照降序排列,取排前N位的资源作为推荐方案;其中,所述N为预设值。
9.根据权利要求6所述的基于Hadoop云平台Web资源个性化推荐方法,其特征在于,在Hadoop云平台下对推荐算法进行离线分布式计算时,对用户聚类具体采用覆盖聚类算法,上述覆盖聚类算法具体包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个资源中用户对上述资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个资源中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个资源中属于由上述圆心和半径所构成的球形覆盖内的所有点。
10.根据权利要求6所述的基于Hadoop云平台Web资源个性化推荐方法,其特征在于,在Hadoop云平台下对推荐算法进行离线分布式计算时,对资源聚类具体采用覆盖聚类算法,包括CenterJob、RadiusJob、CoverJob;CenterJob用于计算每一个用户对已浏览资源的兴趣度的重心,并以离该重心最近的点作为球形覆盖的圆心;RadiusJob用于计算每一个用户中尚未聚类的点与圆心之间的距离,且计算出上述所有距离的平均距离,并将上述平均距离作为球形覆盖的半径;CoverJob用于计算每一个用户中属于由上述圆心和半径所构成的球形覆盖内的所有点。
CN201610916937.2A 2016-10-20 2016-10-20 一种基于Hadoop云平台Web资源个性化推荐系统及方法 Pending CN106503140A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610916937.2A CN106503140A (zh) 2016-10-20 2016-10-20 一种基于Hadoop云平台Web资源个性化推荐系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610916937.2A CN106503140A (zh) 2016-10-20 2016-10-20 一种基于Hadoop云平台Web资源个性化推荐系统及方法

Publications (1)

Publication Number Publication Date
CN106503140A true CN106503140A (zh) 2017-03-15

Family

ID=58318215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610916937.2A Pending CN106503140A (zh) 2016-10-20 2016-10-20 一种基于Hadoop云平台Web资源个性化推荐系统及方法

Country Status (1)

Country Link
CN (1) CN106503140A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960038A (zh) * 2017-03-23 2017-07-18 国家电网公司客户服务中心 一种知识点选取方法和装置
CN107103063A (zh) * 2017-04-17 2017-08-29 山东辰华科技信息有限公司 基于大数据的科技信息资源检索查询系统
CN107169830A (zh) * 2017-05-15 2017-09-15 南京大学 一种基于聚类pu矩阵分解的个性化推荐方法
CN107274247A (zh) * 2017-05-03 2017-10-20 浙江工商大学 基于云计算的智慧感知推荐方法
CN107480250A (zh) * 2017-08-11 2017-12-15 安徽大学 一种基于Spark平台Web服务个性化推荐方法及系统
CN107741967A (zh) * 2017-10-09 2018-02-27 北京京东尚科信息技术有限公司 用于行为数据处理的方法、装置以及电子设备
CN108428474A (zh) * 2018-03-30 2018-08-21 四川斐讯信息技术有限公司 一种基于室内空气情况推荐运动方案的方法及系统
CN108595527A (zh) * 2018-03-28 2018-09-28 中山大学 一种融合多源异构信息的个性化推荐方法及系统
CN109190013A (zh) * 2018-06-25 2019-01-11 广州视源电子科技股份有限公司 用户偏好的确定方法、系统、可读存储介质及电子设备
CN109886749A (zh) * 2019-02-21 2019-06-14 成都品果科技有限公司 一种广告投放方法及系统
CN110162690A (zh) * 2018-10-23 2019-08-23 腾讯科技(深圳)有限公司 确定用户对物品的兴趣度的方法与装置、设备和存储介质
CN110427545A (zh) * 2018-04-26 2019-11-08 中移(苏州)软件技术有限公司 一种信息推送方法及系统
CN112860988A (zh) * 2021-01-18 2021-05-28 中国联合网络通信集团有限公司 业务产品推荐方法和装置
CN113409123A (zh) * 2021-07-01 2021-09-17 北京沃东天骏信息技术有限公司 一种信息推荐方法、装置、设备及存储介质
CN113852863A (zh) * 2020-06-26 2021-12-28 苹果公司 动态媒体项递送
CN115344723A (zh) * 2022-06-08 2022-11-15 安徽大学 基于改进构造性覆盖聚类算法的数字文化可视化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957968A (zh) * 2010-08-31 2011-01-26 南京财经大学 基于Hadoop的网上交易服务聚合方法
CN102169505A (zh) * 2011-05-16 2011-08-31 苏州两江科技有限公司 基于云计算的推荐系统构建方法
CN103577403A (zh) * 2012-07-19 2014-02-12 镇江雅迅软件有限责任公司 基于云计算技术的推荐系统实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957968A (zh) * 2010-08-31 2011-01-26 南京财经大学 基于Hadoop的网上交易服务聚合方法
CN102169505A (zh) * 2011-05-16 2011-08-31 苏州两江科技有限公司 基于云计算的推荐系统构建方法
CN103577403A (zh) * 2012-07-19 2014-02-12 镇江雅迅软件有限责任公司 基于云计算技术的推荐系统实现方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
王微微 等: ""一种基于用户行为的兴趣度模型"", 《计算机工程与应用》 *
翟烁: ""基于用户兴趣和双重聚类融合的协同过滤算法的优化研究"", 《无线互联科技》 *
赵姝 等: ""覆盖聚类算法"", 《安徽大学学报(自然科学版)》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960038A (zh) * 2017-03-23 2017-07-18 国家电网公司客户服务中心 一种知识点选取方法和装置
CN107103063A (zh) * 2017-04-17 2017-08-29 山东辰华科技信息有限公司 基于大数据的科技信息资源检索查询系统
CN107274247A (zh) * 2017-05-03 2017-10-20 浙江工商大学 基于云计算的智慧感知推荐方法
CN107169830A (zh) * 2017-05-15 2017-09-15 南京大学 一种基于聚类pu矩阵分解的个性化推荐方法
CN107169830B (zh) * 2017-05-15 2020-11-03 南京大学 一种基于聚类pu矩阵分解的个性化推荐方法
CN107480250A (zh) * 2017-08-11 2017-12-15 安徽大学 一种基于Spark平台Web服务个性化推荐方法及系统
CN107480250B (zh) * 2017-08-11 2018-09-21 安徽大学 一种基于Spark平台Web服务个性化推荐方法及系统
CN107741967A (zh) * 2017-10-09 2018-02-27 北京京东尚科信息技术有限公司 用于行为数据处理的方法、装置以及电子设备
CN107741967B (zh) * 2017-10-09 2020-12-22 北京京东尚科信息技术有限公司 用于行为数据处理的方法、装置以及电子设备
CN108595527A (zh) * 2018-03-28 2018-09-28 中山大学 一种融合多源异构信息的个性化推荐方法及系统
CN108428474A (zh) * 2018-03-30 2018-08-21 四川斐讯信息技术有限公司 一种基于室内空气情况推荐运动方案的方法及系统
CN110427545A (zh) * 2018-04-26 2019-11-08 中移(苏州)软件技术有限公司 一种信息推送方法及系统
CN110427545B (zh) * 2018-04-26 2021-11-02 中移(苏州)软件技术有限公司 一种信息推送方法及系统
CN109190013A (zh) * 2018-06-25 2019-01-11 广州视源电子科技股份有限公司 用户偏好的确定方法、系统、可读存储介质及电子设备
CN109190013B (zh) * 2018-06-25 2021-09-14 广州视源电子科技股份有限公司 用户偏好的确定方法、系统、可读存储介质及电子设备
CN110162690A (zh) * 2018-10-23 2019-08-23 腾讯科技(深圳)有限公司 确定用户对物品的兴趣度的方法与装置、设备和存储介质
CN109886749A (zh) * 2019-02-21 2019-06-14 成都品果科技有限公司 一种广告投放方法及系统
CN113852863A (zh) * 2020-06-26 2021-12-28 苹果公司 动态媒体项递送
CN112860988A (zh) * 2021-01-18 2021-05-28 中国联合网络通信集团有限公司 业务产品推荐方法和装置
CN112860988B (zh) * 2021-01-18 2023-06-16 中国联合网络通信集团有限公司 业务产品推荐方法和装置
CN113409123A (zh) * 2021-07-01 2021-09-17 北京沃东天骏信息技术有限公司 一种信息推荐方法、装置、设备及存储介质
CN115344723A (zh) * 2022-06-08 2022-11-15 安徽大学 基于改进构造性覆盖聚类算法的数字文化可视化方法

Similar Documents

Publication Publication Date Title
CN106503140A (zh) 一种基于Hadoop云平台Web资源个性化推荐系统及方法
Salehi Application of implicit and explicit attribute based collaborative filtering and BIDE for learning resource recommendation
CN105893609A (zh) 一种基于加权混合的移动app推荐方法
Sepehr et al. Ranking desertification indicators using TOPSIS algorithm
CN107679239B (zh) 一种基于用户行为的个性化社区推荐方法
CN103246672A (zh) 对用户进行个性化推荐的方法和装置
JP5843104B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN110175895B (zh) 一种物品推荐方法及装置
CN107038184B (zh) 一种基于分层隐变量模型的新闻推荐方法
Zheng et al. An unexpectedness-augmented utility model for making serendipitous recommendation
Wachs et al. Why do men get more attention? Exploring factors behind success in an online design community
Dhillon et al. Modeling dynamic user interests: A neural matrix factorization approach
Mitra Selection of cotton fabrics using EDAS method
Wang et al. Mixed similarity diffusion for recommendation on bipartite networks
Liu et al. QA document recommendations for communities of question–answering websites
Kanaujia et al. A framework for development of recommender system for financial data analysis
Liu et al. Collaborative prediction for multi-entity interaction with hierarchical representation
Zhang et al. Hybrid recommender system using semi-supervised clustering based on Gaussian mixture model
Ali et al. Dynamic context management in context-aware recommender systems
CN107909498B (zh) 基于最大化接受者操作特征曲线下方面积的推荐方法
Shen et al. Modified similarity algorithm for collaborative filtering
CN115408618B (zh) 一种基于社交关系融合位置动态流行度和地理特征的兴趣点推荐方法
Wang et al. Group recommendation based on hybrid trust metric
Chantamunee et al. Collaborative filtering for personalised facet selection
CN111506813A (zh) 一种基于用户画像的遥感信息精准推荐方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170315

RJ01 Rejection of invention patent application after publication