CN106951459B - 基于熵值法的改进协同过滤推荐方法 - Google Patents

基于熵值法的改进协同过滤推荐方法 Download PDF

Info

Publication number
CN106951459B
CN106951459B CN201710104136.0A CN201710104136A CN106951459B CN 106951459 B CN106951459 B CN 106951459B CN 201710104136 A CN201710104136 A CN 201710104136A CN 106951459 B CN106951459 B CN 106951459B
Authority
CN
China
Prior art keywords
user
project
scoring
similarity
rating matrix
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.)
Expired - Fee Related
Application number
CN201710104136.0A
Other languages
English (en)
Other versions
CN106951459A (zh
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.)
Northwest University
Original Assignee
Northwest 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 Northwest University filed Critical Northwest University
Priority to CN201710104136.0A priority Critical patent/CN106951459B/zh
Publication of CN106951459A publication Critical patent/CN106951459A/zh
Application granted granted Critical
Publication of CN106951459B publication Critical patent/CN106951459B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

本发明公开了基于熵值法的改进协同过滤推荐方法,该方法包括以下步骤:步骤1,将用户对项目的评分记录的原始数据转换为用户‑项目评分矩阵;步骤2,在用户‑项目评分矩阵中,利用熵值法计算每个用户的权重;步骤3,计算每个项目与目标项目间的相似度;步骤4,计算每个用户与目标用户基于目标项目的相似度;步骤5,预测目标用户对目标项目的评分。本发明在不改变现实数据的基础上,充分利用稀疏的现有数据,把用户的活跃程度作为衡量该用户对目标用户预测评分影响力的一个因素,同时考虑用户评分行为的稳定性,越活越、越不稳定的用户影响力越高,反之影响力越低。通过实验证明,本发明的方法可以提高推荐结果的准确性。

Description

基于熵值法的改进协同过滤推荐方法
技术领域
本发明属于个性化推荐技术领域,涉及一种基于熵值法的协同过滤推荐方法。
背景技术
协同过滤算法是应用最为广泛的个性化推荐算法,最早应用于新闻推荐系统和邮件过滤系统,目前被广泛应用于电子商务领域。典型的协同过滤算法应用案例包括国外的Amazon推荐系统以及国内的豆瓣、淘宝、京东等购物网站。除此之外,YouTube等视频网站、Facebook等社交网站也采用协同过滤技术来提高服务质量。
协同过滤算法通过比较用户的历史行为(评分、购买历史、浏览次数、在某网页上的停留时间等),发现用户的相关性,或者物品本身的相关性,然后基于这些关联性进行推荐。目前协同过滤算法主要包含两种技术:基于用户的协同过滤(UBCF)和基于项目的协同过滤(IBCF)。UBCF的基本思想是通过分析用户的历史行为数据,找出与目标用户兴趣相似的邻居用户群,然后根据其邻居集对项目的评分预测目标用户对项目的评分,最后选择评分最高的若干个项目推荐给目标用户,它基于假设:喜欢相似物品的用户可能有相同偏好。IBCF的基本思想是通过分析用户的历史行为数据,找出与目标项目相似的邻居项目集,根据当前用户对近邻项目集的评分预测当前用户对目标项目的评分,把目标项目推荐给评分最高的若干个用户,它基于假设:若多数用户对一些项目的评分比较相似,则当前用户对这些项目的评分也相似。
发明内容
针对现有技术中存在的不足,本发明提供了一种基于熵值法的改进协同过滤推荐方法,传统的基于用户的协同过滤算法(UBCF)在预测评分时仅仅利用用户间的相似度衡量其评分的影响,而把熵值法添加进UBCF后,同时考虑到了用户评分行为特征(评分次数多少、评分稳定性)对结果的影响。此外,考虑到两个用户在某类项目上的口味可能很接近,但是在另一类项目上的口味可能相差甚远,因此只针对与目标项目相似的项目进行用户间相似度的衡量,使得预测的评分结果更有说服力。
基于熵值法的改进协同过滤推荐方法,包括以下步骤:
步骤1,将用户对项目的评分记录的原始数据转换为用户-项目评分矩阵;
设原始数据中有n个用户,m个项目,则所述的用户-项目评分矩阵为:
其中Xij为第i个用户对第j个项目的评分;
步骤2,在用户-项目评分矩阵中,利用熵值法计算每个用户的权重,包括以下步骤:
步骤21,将用户-项目评分矩阵转置得到项目-用户评分矩阵;
所述项目-用户评分矩阵为:其中Aij为第j个用户对第i个项目的评分;
步骤22,通过式(1)将A中的评分转换到[0,1]区间;
其中,i=1,2,…,m;j=1,2,…,n;
步骤23,通过式(2)得到第j个用户对第i个项目评分占该用户总评分的权重Pij
步骤24,通过式(3)得到第j个用户的权重;
其中,j=1,2,…,n;
gj为第j个用户的熵值冗余度:gj=1-ej
ej为第j个用户的熵值:其中k>0,ln为自然对数,ej≥0;
步骤3,通过式(4)得到第j个项目与第i个项目的相似度,j=1,2…,n;
其中,sim(i,j)为第i个项目与第j个项目的相似度,Uij为同时评论过第i个项目与第j个项目的所有用户集合,Xpi为第p个用户对第i个项目的评分,为第p个用户评价的所有项目的评分平均值,p∈Uij
选择与第i个项目相似度最高的k1个项目作为第i个项目的最近邻居集Ci,1≤k1<m;
步骤4,通过式(5)得到第v个用户与第u个用户的相似度;
其中,u=1,2,…,n;v=1,2,…,n;u≠v;sim(u,v,i)为第v个用户与第u个用户基于第i个项目的相似度;Ui为第v个用户与第u个用户同时有过评分的项目集与第i个项目的最近邻居集Ci的交集;
选择与第u个用户相似度最高的k2个用户作为第u个用户的最近邻居集Uu,1≤k2<n;
步骤5,通过式(6)得到预测第u个用户对第i个项目的评分;
其中,Wj为第j个用户的权重,sim(u,j,i)为第u个用户与第j个用户基于第i个项目的相似度,Xji为第j个用户对第i个项目的评分。
进一步地,所述步骤1中的评分记录包括实际的项目的评分、浏览项目的次数、在包含项目的网页上停留的时间。
进一步地,所述步骤24中的
与现有技术相比,本发明具有以下技术效果:
本发明在不改变现实数据的基础上,充分利用稀疏的现有数据,把用户的活跃程度作为衡量该用户对目标用户预测评分影响力的一个因素,同时考虑用户评分行为的稳定性,越活越、越不稳定的用户影响力越高,反之影响力越低。通过实验证明,本发明的方法可以提高推荐结果的准确性。
附图说明
图1为实施例所采用数据集的原始数据示例;
图2为实施例所采用数据集的原始数据转换为的用户-项目评分矩阵;
图3为实施例运行结果示例;
图4为实施例本方法与传统方法的误差对比。
具体实施方式
下面通过附图和实施例对本发明作进一步说明。
实施例1
本实施例提供了基于熵值法的改进协同过滤推荐方法,包括以下步骤:
步骤1,将用户对电影的评分记录的原始数据转换为用户-项目评分矩阵。
设原始数据中有n个用户,m个电影,则所述的用户-项目评分矩阵为:其中Xij为第i个用户对第j个电影的评分;
本实施例选取MovieLens数据集中的数据作为原始数据,如图1所示;本实施例中m为1682,n为943;图1中的原始数据转换为用户-项目评分矩阵后如图2所示。
步骤2,在用户-项目评分矩阵中,利用熵值法计算每个用户的权重,包括以下步骤:
步骤21,将用户-项目评分矩阵转置得到项目-用户评分矩阵;
所述项目-用户评分矩阵为:其中Aij为第j个用户对第i个电影的评分;
步骤22,通过式(1)将A中的评分转换到[0,1]区间;
其中,i=1,2,…,1682;j=1,2,…,943;
步骤23,通过式(2)得到第j个用户对第i个电影评分占该用户总评分的权重Pij
步骤24,通过式(3)得到第j个用户的权重;
其中,j=1,2,…,943;
gj为第j个用户的熵值冗余度:gj=1-ej
ej为第j个用户的熵值:其中k>0,ln为自然对数,ej≥0;本实施例中,则0≤ej≤1;
步骤3,设第i个电影为目标电影,通过式(4)得到第j个电影与目标电影i的相似度,j=1,2…,1682;
其中,sim(i,j)为目标电影i与第j个电影的相似度,Uij为同时评论过目标电影i与第j个电影的所有用户集合,Xpi为第p个用户对目标电影i的评分,为第p个用户评价的所有电影的评分平均值,p∈Uij
选择与目标电影i相似度最高的k1个电影作为目标电影i的最近邻居集Ci,1≤k1<1682;
步骤4,通过式(5)得到第v个用户与第u个用户的相似度;
其中,u=1,2,…,n;v=1,2,…,n;u≠v;sim(u,v,i)为第v个用户与第u个用户基于目标电影i的相似度;Ui为第v个用户与第u个用户同时有过评分的电影集与目标电影i的最近邻居集Ci的交集;
选择与第u个用户相似度最高的k2个用户作为第u个用户的最近邻居集Uu,1≤k2<943;
步骤5,通过式(6)预测第u个用户对目标电影i的评分;
其中,Wj为第j个用户的权重,sim(u,j,i)为第u个用户与第j个用户基于目标电影i的相似度,Xji为第j个用户对目标电影i的评分。
本实施例中预测的目标用户对目标电影的评分如图3所示。
实验结果:
为了证明本发明方法的性能,本实施例中选取MovieLens中的ua.test文件作为测试集,其中该文件包含943个用户对1682部电影的评分记录,每个用户有10条评分记录,数据格式与图1相同,选用Matlab R2014a作为实验平台进行了实验。部分运行结果如图3所示,该图显示了某给定目标用户对目标电影的预测评分与实际评分,由图可见本方法预测的评分与真实评分十分接近。
同时,为了证明本发明方法的优越性,利用平均绝对误差(MAE)指标分别对本方法与传统的基于用户的协同过滤方法进行了评测,其中MAE是常用的衡量算法性能的评测指标,计算公式如下:
其中,T为测试集合,pui为用户u对电影i的预测评分,在该实施例中即为score(u,i),qui为用户u对电影i的实际评分,|T|为测试集中的评分记录数,本实施例中为9430。两种方法的MAE值如图4所示,该图显示了不同数目用户近邻情况下本方法与传统的基于用户的协同过滤方法的测试误差,由此可见:本方法相较于传统的基于用户的协同过滤方法,预测误差有了很大的降低。

Claims (3)

1.基于熵值法的改进协同过滤推荐方法,其特征在于,包括以下步骤:
步骤1,将用户对项目的评分记录的原始数据转换为用户-项目评分矩阵;
设原始数据中有n个用户,m个项目,则所述的用户-项目评分矩阵为:其中Xij为第i个用户对第j个项目的评分;
步骤2,在用户-项目评分矩阵中,利用熵值法计算每个用户的权重,包括以下步骤:
步骤21,将用户-项目评分矩阵转置得到项目-用户评分矩阵;
所述项目-用户评分矩阵为:其中Aij为第j个用户对第i个项目的评分;
步骤22,通过式(1)将A中的评分转换到[0,1]区间;
其中,i=1,2,…,m;j=1,2,…,n;
步骤23,通过式(2)得到第j个用户对第i个项目评分占该用户总评分的权重Pij
步骤24,通过式(3)得到第j个用户的权重;
其中,j=1,2,…,n;
gj为第j个用户的熵值冗余度:gj=1-ej
ej为第j个用户的熵值:其中k>0,ln为自然对数,ej≥0;
步骤3,通过式(4)得到第j个项目与第i个项目的相似度,j=1,2…,n;
其中,sim(i,j)为第i个项目与第j个项目的相似度,Uij为同时评论过第i个项目与第j个项目的所有用户集合,Xpi为第p个用户对第i个项目的评分,为第p个用户评价的所有项目的评分平均值,p∈Uij
选择与第i个项目相似度最高的k1个项目作为第i个项目的最近邻居集Ci,1≤k1<m;
步骤4,通过式(5)得到第v个用户与第u个用户的相似度;
其中,u=1,2,…,n;v=1,2,…,n;u≠v;sim(u,v,i)为第v个用户与第u个用户基于第i个项目的相似度;Ui为第v个用户与第u个用户同时有过评分的项目集与第i个项目的最近邻居集Ci的交集;
选择与第u个用户相似度最高的k2个用户作为第u个用户的最近邻居集Uu,1≤k2<n;
步骤5,通过式(6)得到预测第u个用户对第i个项目的评分;
其中,Wj为第j个用户的权重,sim(u,j,i)为第u个用户与第j个用户基于第i个项目的相似度,Xji为第j个用户对第i个项目的评分。
2.如权利要求1所述的协同过滤推荐方法,其特征在于,所述步骤1中的评分记录包括实际的项目的评分、浏览项目的次数、在包含项目的网页上停留的时间。
3.如权利要求1所述的协同过滤推荐方法,其特征在于,所述步骤24中的
CN201710104136.0A 2017-02-24 2017-02-24 基于熵值法的改进协同过滤推荐方法 Expired - Fee Related CN106951459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710104136.0A CN106951459B (zh) 2017-02-24 2017-02-24 基于熵值法的改进协同过滤推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710104136.0A CN106951459B (zh) 2017-02-24 2017-02-24 基于熵值法的改进协同过滤推荐方法

Publications (2)

Publication Number Publication Date
CN106951459A CN106951459A (zh) 2017-07-14
CN106951459B true CN106951459B (zh) 2019-10-29

Family

ID=59467618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710104136.0A Expired - Fee Related CN106951459B (zh) 2017-02-24 2017-02-24 基于熵值法的改进协同过滤推荐方法

Country Status (1)

Country Link
CN (1) CN106951459B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334284B (zh) * 2019-04-03 2021-07-30 厦门大学 一种新型融合多因素决策的推荐方法
CN110825967B (zh) * 2019-10-31 2023-04-07 中山大学 一种提高推荐系统多样性的推荐列表重排名方法
CN111292170A (zh) * 2020-02-18 2020-06-16 重庆锐云科技有限公司 针对指定楼盘进行意向客户推荐的方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411754A (zh) * 2011-11-29 2012-04-11 南京大学 一种基于商品属性熵值的个性化推荐方法
US8572017B2 (en) * 2009-01-22 2013-10-29 Sungkyunkwan University Foundation For Corporate Collaboration User-based collaborative filtering recommendation system and method for amending similarity using information entropy
CN106326390A (zh) * 2016-08-17 2017-01-11 成都德迈安科技有限公司 基于协同过滤的推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572017B2 (en) * 2009-01-22 2013-10-29 Sungkyunkwan University Foundation For Corporate Collaboration User-based collaborative filtering recommendation system and method for amending similarity using information entropy
CN102411754A (zh) * 2011-11-29 2012-04-11 南京大学 一种基于商品属性熵值的个性化推荐方法
CN106326390A (zh) * 2016-08-17 2017-01-11 成都德迈安科技有限公司 基于协同过滤的推荐方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于信息熵的协同过滤算法";张佳等;《山 东 大 学 学 报 ( 工 学 版)》;20160430;第43-49页 *

Also Published As

Publication number Publication date
CN106951459A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN104935963B (zh) 一种基于时序数据挖掘的视频推荐方法
Lee et al. MONERS: A news recommender for the mobile web
US8819716B2 (en) Apparatus, system, method and computer readable recording medium storing the program for related recommendation of TV program contents and web contents
Badaro et al. A hybrid approach with collaborative filtering for recommender systems
CN108154425B (zh) 一种结合社会网络和位置的线下商户推荐方法
CN103577593B (zh) 一种基于微博热门话题的视频聚合方法及系统
CN104462560A (zh) 一种个性化推荐系统及其推荐方法
KR101424382B1 (ko) 사용자의 선호도 및 이동 패턴을 이용한 관심지역 추천 방법
CN104462336A (zh) 信息推送方法和装置
CN106980646A (zh) 基于流行度对用户兴趣的影响机制分析及其在推荐算法中应用的方法
CN106951459B (zh) 基于熵值法的改进协同过滤推荐方法
CN107145541B (zh) 基于超图结构的社交网络推荐模型构建方法
CN105426550A (zh) 一种基于用户质量模型的协同过滤标签推荐方法及系统
CN104516980B (zh) 搜索结果的输出方法以及服务器系统
CN104008193B (zh) 一种基于典型用户群组发现技术的信息推荐方法
CN106779946A (zh) 一种电影推荐方法及装置
KR20190058086A (ko) 행복큐레이션 서비스 기반 문화 생활 추천 방법 및 시스템
KR20170079429A (ko) 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템
CN104751353A (zh) 基于聚类和Slope One预测的协同过滤方法
Thomas et al. Comparative study of recommender systems
CN104063555B (zh) 面向遥感信息智能分发的用户模型建模方法
CN104123321B (zh) 一种确定推荐图片的方法及装置
CN105718573B (zh) 一种针对用户兴趣的关注关系提取及标注方法
US9020863B2 (en) Information processing device, information processing method, and program
CN114282120A (zh) 融合多维关系的图嵌入兴趣点推荐算法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191029

CF01 Termination of patent right due to non-payment of annual fee