CN104462597A - 一种综合用户正负性评分和评分偏好因子的协同过滤算法 - Google Patents
一种综合用户正负性评分和评分偏好因子的协同过滤算法 Download PDFInfo
- Publication number
- CN104462597A CN104462597A CN201410850804.0A CN201410850804A CN104462597A CN 104462597 A CN104462597 A CN 104462597A CN 201410850804 A CN201410850804 A CN 201410850804A CN 104462597 A CN104462597 A CN 104462597A
- Authority
- CN
- China
- Prior art keywords
- scoring
- user
- overbar
- sigma
- collaborative filtering
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search 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
一种综合用户正负性评分和评分偏好因子的协同过滤算法,本发明公开了一种应用于个性化推荐系统中的协同过滤项目推荐方法,协同过滤的基本思想首先是通过个性化推荐系统提供的用户对项目的评分记录构造评分矩阵;然后根据评分矩阵寻找与目标用户兴趣相似的用户;最后根据找到的相似用户的喜好对目标用户进行项目推荐。本发明所述的推荐步骤基于基本协同过滤的思想,从相似用户的寻找和预测评分的计算两个方面出发实现创新突破,提高了计算目标用户对项目的预测评分的准确性,从而做出更准确的项目推荐。
Description
技术领域
本发明涉及个性化推荐领域,具体为一种综合用户正负性评分和评分偏好因子的协同过滤算法,它适用于电子商务网站的个性化推荐,属于信息检索、数据挖掘技术领域。
背景技术
在互联网的发展下,电子商务的发展日益壮大,随着商品信息的增加,达到了一个信息过载的时期,用户难以从巨大的商品数据库中选出自己需要的商品。推荐系统是当前解决上述问题的有效方法之一。
在已有的推荐系统所使用的推荐算法中,协同过滤推荐算法是在实际应用中使用非常广泛的一类推荐算法。协同过滤算法可分为基于用户(User-based)和基于项目(Item-based)的两种,User-based协同过滤的思想认为,相似用户在给项目评分时往往会给出相近的评分。所谓“相似用户”,即为“兴趣”相似的用户。当需要对某一用户进行商品推荐时,协同过滤算法通过综合待推荐用户的相似用户对某一商品的评分,预测待推荐用户对此商品的评分,进一步估计待推荐用户对商品的喜好程度,从而得出推荐结果——即将用户评分最高的N个商品推荐给用户。对于与待预测的用户相似的用户,其相似性越高,评分预测也就越准确,推荐的效果也就越好。
传统的User-based协同过滤算法普遍使用皮尔逊相关系数或余弦相似性公式来计算用户之间的相似性,但这两种方法在计算预测评分准确度方面还不太理想,因此推荐效果还有待提高。为了进一步提高User-based协同过滤算法的推荐效果,许多学者提出了一些新的方法来提高用户相似性计算的准确性。比如,M.Jamali认为,如果两个用户共同评过分的商品超过一定数量,则这两个用户的相似性应该比传统相似性计算公式算出的更高,于是他们利用sigmod函数来表征这种特性,并在传统的皮尔逊相关系数中引入此参数。HuiFeng Sun基于欧几里德距离,提出了适用于多维向量空间的相似性计算函数,平衡了不同维度向量间的相似性计算所引起的误差。Keunho Choi通过将项目相似性计算的结果作为权重系数加入到用户评分中,再进行用户相似性计算,提高了用户相似性计算的准确性。
无论是传统的User-based协同过滤算法,以及目前基于该算法的改进,都是直接采用评分矩阵中的分数值进行计算,这种计算方法实际上是假定了所有用户对评分系统中的每种分值都有相同的理解,也就是说,在[1,5]范围的评分系统中,无论哪个用户给某个项目评4分时,现有算法都认为用户对此项目比较满意。然而从实际经验可知,用户对评分系统中的各个分值是有自己的理解的;人们在对一个项目评分时,也有自己的打分习惯。另一方面,当今电商网站的评分系统已经在评分网页的页面提示中加入了评分引导语,使得用户下意识的把评分值分为正性打分(对项目表示喜欢的评分)和负性评分(对项目表示不喜欢的评分),那么这两种情景下,用户的评分标准也可能不同。现有的计算方法都忽略了这两个方面的影响。
发明内容
本发明针对现有协同过滤技术在计算用户相似性和预测评分时,忽略用户评分偏好和评分正负性而导致的预测评分计算得不够准确的问题,提出一种综合用户正负性评分和评分偏好因子的协同过滤算法,即(Positive-Negative-Rating-PreferenceCollaborative Filtering,PNRP_CF)方法。本发明所提出的算法,一方面在计算用户相似性时,从正负评分两个方面来计算用户评分偏好因子,并将其加入基于距离的相似性计算公式中,以此来缓解评分偏好所带来的影响,从而能更准确的寻找相似用户;另一方面,在计算预测评分时,也通过区分评分正负性来计算预测分值,有效地提高预测评分的准确性。
为解决上述技术问题,本发明所采用的技术方案是一种综合用户正负性评分和评分偏好因子的协同过滤算法,该方法包括以下步骤为:
步骤1:根据推荐系统(电影网站、电商网站等)提供的用户-项目评分记录构造用户-项目评分矩阵R。
步骤2:当需要为用户u进行推荐时,利用步骤1得到的评分矩阵R的数据和评分正负性相似计算公式,计算用户u与其他用户v的相似性值sim(u,v),公式包含式(1)、式(2)。
式(1)中,Iuv为用户u和用户v共同评分过的项目集合,|Iuv|为集合中的元素个数;ru,i,rv,i分别为用户u和用户v对项目i的评分;rmin为评分系统中相邻两个评分间的最小差值,比如1——5分的评分系统有1、2、3、4、5,5种分值,最小分差为1,则rmin为1;Rp(u,v,i)为评分偏好因子,计算方法如式(2)所示。式(2)中,分别表示用户u和用户v的正性评分平均值(定义:在一个推荐系统的评分分值范围中,高于中位数的分值称为“正性评分”;低于和等于中位数的分值称为“负性评分”);分别表示用户u和用户v的负性评分平均值;rmx为评分系统的最大分值,比如1——5分的评分系统,最大分值为5;rmed为评分系统的中位数分值,比如1——5分的评分系统,中位数分值为3。
步骤3:将步骤2中的相似性值从大到小排列,取前k(k的大小可根据实际需要调节)个用户,作为用户u的最近邻用户集合Nu,
步骤4:取步骤3中得到的最近邻用户集合Nu以及这些近邻用户与用户u的相似性值,当要计算用户u的某个未评分项目i的预测评分时,将Nu中对项目i的评分为正性评分的用户划分到集合对项目i的评分为负性评分的用户划分到集合利用正负性评分预测公式计算用户u对项目i的评分预测值,如公式(3)所示,
式(3)中σu+,σv+分别表示用户u和用户v的正性评分方差;σu-,σv-分别表示用户u和用户v的负性评分方差;表示用户u所有评分项目的评分平均值;分别表示集合的元素个数。
步骤5:重复步骤4,直至将用户u所有未评分项目的评分预测值全部计算出来,然后将这些的预测值从大到小排列,选择前N个项目作为推荐项目。
本发明提供的上述综合用户正负性评分和评分偏好因子的协同过滤算法,基于基本协同过滤的思想,从相似用户的寻找和预测评分的计算两个方面出发实现创新突破:一是在计算用户相似性时考虑传统User-based协同过滤方法没有考虑到的评分偏好因素,并从评分正负性两个方面来计算评分偏好因子;二是在计算预测评分时同样区分正性评分和负性评分两种情况来计算。通过这两方面的改进,本发明相比于基于皮尔逊相关性和基于余弦相似性的传统的User-based协同过滤算法,提高了计算目标用户对项目的预测评分的准确性,特别是在评分系统的分值范围较宽广的推荐系统中优势更明显。本发明适用于电子商务推荐系统,如电影网站、图书网站、购物网站等等。
附图说明:
图1为本发明所述算法的具体流程图;
图2为实例中所用数据集的用户-项目评分记录的一小部分示意图;
图3为实例中从所用数据集中构造出的用户-项目评分矩阵的一小部分示意图;
图4为实例中各种推荐算法在ML_1M数据集上MAE比较示意图;
图5为实例中各种推荐算法在BookCrossing数据集上MAE比较示意图;
图中符号说明如下:
MAE:平均绝对误差;
K-neighbors:近邻用户数;
PCC_CF:基于皮尔逊相关系数(Pearson,PCC)的协同过滤算法;
COS_CF:基于余弦相似性(Cosine,COS)的协同过滤算法;
PNRP_CF:综合用户正负性评分和评分偏好因子的协同过滤算法
具体实施方式
下面结合附图及实施例,对本发明的技术方案做进一步的说明。本实施例在分别在MovieLens_1M数据集(以下简称ML_1M数据集)和BookCrossing数据集上进行。ML_1M数据集是明尼苏达大学GroupLens研究小组通过MovieLens网站收集的公共推荐系统性能评测数据集之一,包含了6040名用户对3952个项目的1,000,209条的评分信息。所有的用户对项目的评分都分布在区间[1,5]内,有1、2、3、4、5,5种评分值,评分值越高,代表用户对相应项目的兴趣越强。BookCrossing数据集是网上的Book-Crossing图书社区的278,858个用户对271,379本书进行的评分,这些用户的年龄等人口统计学属性(demographic feature)都以匿名的形式保存并供分析。所有的用户对项目的评分都分布在区间[0,10]内,有0、1、2、3、4、5、6、7、8、9、10,11种评分值,评分值越高,代表用户对相应项目的兴趣越强。实验在两个数据集上都按照80%-20%的比例构造训练-测试数据集,测试数据集中的用户均为待预测,分别做10组实验,实验过程中最近邻用户集合中的用户数从10依次增加到100,每次增加10个。
一种综合用户正负性评分和评分偏好因子的协同过滤算法,处理流程如图1所示,包括以下具体步骤:
步骤1:读入训练-测试数据集的用户-项目评分记录,该记录的格式如图2所示;在计算机内存中构造如图2所示的用户-项目评分矩阵R,图3中“---”表示用户未对该项目评过分。
步骤2:当需要对测试数据集中的用户u进行推荐时,利用评分矩阵R中的数据和式(1)、式(2)计算用户u与在训练数据集中的其他用户v的相似性值sim(u,v)。此时,对于实验用的ML_1M数据集,式(1)中相邻两个评分间的最小差值rmin=1,式(2)中评分系统的最大分值rmx=5,评分系统的中位数分值rmed=3;对于实验用的BookCrossing数据集,rmin=1,rmx=10,rmed=5
步骤3:将步骤2中的相似性值从大到小排列,取前k(本实施例中k的大小从10开始每轮实验增加10,一直到100)个用户,作为用户u的最近邻用户集合Nu。
步骤4:设用户u的某个未评分项目为i,取步骤3中得到的最近邻用户集合Nu,将Nu中对项目i的评分为正性评分的用户划分到集合对项目i的评分为负性评分的用户划分到集合利用式(3)计算用户u对项目i的评分预测值。
步骤5:重复步骤4,直至将用户u所有未评分项目的评分预测值全部计算出来,然后将这些的预测值从大到小排列,选择前N个项目作为推荐项目。
本实施例将所提出的方法与两种常用的传统User-based协同过滤算法——基于皮尔逊相关性的协同过滤算法和基于余弦相似性的协同过滤算法做比较,两种传统的协同过滤算法步骤与本发明算法的步骤类似,只是在步骤2计算用户相似性和预测评分时所用的公式不同,式(4)为皮尔逊相关性公式;式(5)为余弦相似性公式;式(6)为两种传统算法计算预测评分所用的公式。
为了检验本发明算法对面向用户的K近邻模型的预测评分精度的影响,故而使用平均绝对误差——MAE作为推荐模型主要的性能评价指标,MAE值越低,说明预测评分精度越高。设N为使用测试算法(本实施例中为PCC_CF,COS_CF,PNRP_CF)在测试数据集中预测过的评分项目数目,pi表示测试算法对项目i的预测评分,qi表示测试集中用户对项目i的真实评分,则平均绝对误差MAE的定义如下,
由图4和图5所示,PNRP_CF算法在ML_1M和BookCrossing两种数据集中的MAE均低于PCC_CF和COS_CF两种算法,说明在预测评分的准确度上,PNRP_CF算法均优于PCC_CF和COS_CF两种算法。另一方面,在图4中,PNRP_CF算法与PCC_CF和COS_CF的最小值差距是0.04;在图5中最小值差距是0.045,说明BookCrossing数据集[0,10]的评分范围更利于PNRP_CF算法发挥其从正负两个方面细粒度计算预测评分的优势。
以上实验结果显示,PNRP_CF算法能提高预测评分的准确性,准确的预测评分是协同过滤推荐系统形成推荐项目最重要的依据。对于现在互联网上繁多的商品、电影等其他娱乐项目,用户难以浏览这些过载的项目信息而做出选择,那么推荐系统作为解决信息过载最有效的工具变得越来越重要,所以本发明所提出的算法是具有现实意义的。
Claims (4)
1.一种综合用户正负性评分和评分偏好因子的协同过滤算法,其特征在于,该方法包括以下步骤为:
步骤1:通过推荐系统提供的用户-评分记录构造成评分矩阵R
步骤2:当需要对用户u进行推荐时,利用评分矩阵R的数据和评分正负性相似计算公式,计算u与其他用户v的相似性。
步骤3:将步骤2中的相似性值从大到小排列,取前k(k的大小可根据实际需要调节)个用户,作为用户u的最近邻用户集合Nu。
步骤4:取步骤3中得到的最近邻用户集合Nu以及这些近邻用户与用户u的相似性值,每计算用户u对某一个未评分项目i的预测评分时,将Nu中对项目i的评分为正性评分的用户划分到集合对项目i的评分为负性评分的用户划分到集合利用正负性评分预测公式计算用户u对未评分项目i的预测值。
步骤5:重复步骤4,直至用户u所有未评分项目的预测评分全部算出,然后将用户u的未评分项目的预测值从大到小排列,选择前N个项目作为推荐项目。
2.根据权利要求1所述的一种综合用户正负性评分和评分偏好因子的协同过滤算法,其特征在于,步骤1所述的评分正负性定义如下:在一个推荐系统的评分分值范围中,高于中位数的分值称为“正性评分”,低于和等于中位数的分值称为“负性评分”。
3.根据权利要求1所述的一种综合用户正负性评分和评分偏好因子的协同过滤算法,其特征在于,步骤2所述的评分正负性相似计算公式,是从评分正负性两个方面来计算评分偏好因子,并将此评分偏好因子加入基于距离的相似性计算公式,如下式(1)所示,
式(1)中,sim(u,v)为用户u和用户v之间的相似性;Iuv为用户u和用户v共同评分过的项目集合,|Iuv|为集合中的元素个数;ru,i,rv,i分别为用户u和用户v对项目i的评分;rmin为评分系统中相邻两个评分间的最小差值;Rp(u,v,i)为打分偏好因子,其计算方法如下式(2)所示,
式(2)中,分别表示用户u和用户v的正性评分平均值;分别表示用户u和用户v的负性评分平均值;rmx为评分系统的最大分值;rmed为评分系统的中位数分值。
4.根据权利要求1所述的一种综合用户正负性评分和评分偏好因子的协同过滤算法,其特征在于,步骤4所述的正负性评分预测公式,是评分正负性两个方面来计算用户u对商品i的预测评分,如下式(3)所示,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850804.0A CN104462597B (zh) | 2014-12-31 | 2014-12-31 | 一种综合用户正负性评分和评分偏好因子的协同过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850804.0A CN104462597B (zh) | 2014-12-31 | 2014-12-31 | 一种综合用户正负性评分和评分偏好因子的协同过滤方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462597A true CN104462597A (zh) | 2015-03-25 |
CN104462597B CN104462597B (zh) | 2018-04-03 |
Family
ID=52908632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410850804.0A Active CN104462597B (zh) | 2014-12-31 | 2014-12-31 | 一种综合用户正负性评分和评分偏好因子的协同过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462597B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095476A (zh) * | 2015-08-12 | 2015-11-25 | 西安电子科技大学 | 基于Jaccard均衡距离的协同过滤推荐方法 |
CN108595580A (zh) * | 2018-04-17 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 新闻推荐方法、装置、服务器及存储介质 |
WO2020168992A1 (zh) * | 2019-02-18 | 2020-08-27 | 苏州大学 | 一种商品推荐方法、装置、设备以及存储介质 |
CN112883282A (zh) * | 2021-03-30 | 2021-06-01 | 辽宁工程技术大学 | 一种基于麻雀搜索优化聚类的组推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685458A (zh) * | 2008-09-27 | 2010-03-31 | 华为技术有限公司 | 一种基于协同过滤的推荐方法和系统 |
CN102495864A (zh) * | 2011-11-25 | 2012-06-13 | 清华大学 | 基于评分的协同过滤推荐方法及系统 |
US20130054593A1 (en) * | 2009-03-31 | 2013-02-28 | Yahoo! Inc. | Determining user preference of items based on user ratings and user features |
-
2014
- 2014-12-31 CN CN201410850804.0A patent/CN104462597B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685458A (zh) * | 2008-09-27 | 2010-03-31 | 华为技术有限公司 | 一种基于协同过滤的推荐方法和系统 |
US20130054593A1 (en) * | 2009-03-31 | 2013-02-28 | Yahoo! Inc. | Determining user preference of items based on user ratings and user features |
CN102495864A (zh) * | 2011-11-25 | 2012-06-13 | 清华大学 | 基于评分的协同过滤推荐方法及系统 |
Non-Patent Citations (3)
Title |
---|
HUI-FENG SUN 等: "JacUOD:A New Similarity Measurement for Collaborative Filtering", 《JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY》 * |
李聪 等: "基于属性值偏好矩阵的协同过滤推荐算法", 《情报学报》 * |
王茜 等: "面向用户偏好的属性值评分分布协同过滤算法", 《系统工程学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095476A (zh) * | 2015-08-12 | 2015-11-25 | 西安电子科技大学 | 基于Jaccard均衡距离的协同过滤推荐方法 |
CN108595580A (zh) * | 2018-04-17 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 新闻推荐方法、装置、服务器及存储介质 |
CN108595580B (zh) * | 2018-04-17 | 2022-08-09 | 创新先进技术有限公司 | 新闻推荐方法、装置、服务器及存储介质 |
WO2020168992A1 (zh) * | 2019-02-18 | 2020-08-27 | 苏州大学 | 一种商品推荐方法、装置、设备以及存储介质 |
CN112883282A (zh) * | 2021-03-30 | 2021-06-01 | 辽宁工程技术大学 | 一种基于麻雀搜索优化聚类的组推荐方法 |
CN112883282B (zh) * | 2021-03-30 | 2023-12-22 | 辽宁工程技术大学 | 一种基于麻雀搜索优化聚类的组推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104462597B (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Point-of-interest recommendation in location based social networks with topic and location awareness | |
CN103761237A (zh) | 一种基于用户特征及其信任度的协同过滤推荐方法 | |
CN104239496B (zh) | 一种结合模糊权重相似性度量和聚类协同过滤的方法 | |
CN102594905B (zh) | 一种基于场景的社交网络位置兴趣点推荐方法 | |
CN102542489B (zh) | 一种基于用户兴趣关联的推荐方法 | |
CN107633430A (zh) | 一种基于群体社区的商品推荐方法 | |
CN107909433A (zh) | 一种基于大数据移动电子商务的商品推荐方法 | |
CN104281956A (zh) | 基于时间信息的适应用户兴趣变化的动态推荐方法 | |
CN103150667B (zh) | 一种基于本体结构的个性化推荐方法 | |
CN102841929A (zh) | 一种综合用户和项目评分及特征因素的推荐方法 | |
CN103559197A (zh) | 基于上下文预过滤的实时音乐推荐方法 | |
CN102376063A (zh) | 一种基于社会化标签的个性化推荐系统优化方法 | |
CN102968506A (zh) | 一种基于扩展特征向量的个性化协同过滤推荐方法 | |
CN102236646A (zh) | 对象级垂直搜索引擎个性化排序算法iRank | |
CN105373597A (zh) | 基于k-medoids项目聚类和局部兴趣融合的用户协同过滤推荐方法 | |
CN105095476A (zh) | 基于Jaccard均衡距离的协同过滤推荐方法 | |
CN102982107A (zh) | 一种融合用户、项目和上下文属性信息的推荐系统优化方法 | |
CN103345699A (zh) | 一种基于商品森林体系的个性化美食推荐方法 | |
CN104899246A (zh) | 基于模糊机制用户评分邻域信息的协同过滤推荐方法 | |
CN106815347A (zh) | 基于商品相似度的改进slope one协同过滤推荐算法 | |
CN103309967A (zh) | 基于相似性传递的协同过滤方法及系统 | |
CN104166732B (zh) | 一种基于全局评分信息的项目协同过滤推荐方法 | |
CN103632290A (zh) | 一种基于推荐概率融合的混合推荐方法 | |
CN104462597A (zh) | 一种综合用户正负性评分和评分偏好因子的协同过滤算法 | |
CN105023178B (zh) | 一种基于本体的电子商务推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |