CN106204153A - 一种基于属性比重相似性的两步预测Top‑N推荐算法 - Google Patents

一种基于属性比重相似性的两步预测Top‑N推荐算法 Download PDF

Info

Publication number
CN106204153A
CN106204153A CN201610569559.5A CN201610569559A CN106204153A CN 106204153 A CN106204153 A CN 106204153A CN 201610569559 A CN201610569559 A CN 201610569559A CN 106204153 A CN106204153 A CN 106204153A
Authority
CN
China
Prior art keywords
user
similarity
project
matrix
attribute
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
CN201610569559.5A
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.)
Yangzhou University
Original Assignee
Yangzhou 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 Yangzhou University filed Critical Yangzhou University
Priority to CN201610569559.5A priority Critical patent/CN106204153A/zh
Publication of CN106204153A publication Critical patent/CN106204153A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于属性比重相似性的两步预测Top‑N推荐算法。本发明输入数据集T和项目属性矩阵A,构造用户评分矩阵R和用户项目二分矩阵C,计算用户属性比重矩阵D,利用用户属性比重矩阵D计算用户相似性,并获取近邻N(u),预测用户选择项目的概率Interest,综合用户选择项目和用户对所选项目评分的用户评分行为,向用户进行Top‑N推荐。本发明克服了时评分矩阵稀疏和评分不均缺陷。本发明提高了评分矩阵的密度,改善了由于数据稀疏性造成的相似性计算不平衡的问题,用户选择项目并对所选项目评分,尽可能利用信息。

Description

一种基于属性比重相似性的两步预测Top-N推荐算法
技术领域
本发明是一种基于属性比重相似性的两步预测Top-N推荐算法,属于推荐系统技术领域。
背景技术
推荐系统的目标是通过分析用户的历史行为向用户推荐有吸引力的项目。随着推荐系统的广泛应用,提高其核心算法的推荐质量成为一个关键性问题。度量推荐算法性能的标准较多,例如,精度、多样性和相关性等。推荐结果通常有两种常见的表现形式,即:评分预测推荐和Top-N推荐。典型的评分预测推荐算法,其目标是最小化用户项目评分的预测误差,而Top-N推荐算法是向用户推荐N个最符合用户兴趣的项目。本发明的主要目标是提高推荐算法在Top-N上的推荐效果。
协同过滤推荐算法是目前使用最普遍的推荐算法之一。协同过滤算法大体上可分为基于模型和基于邻域两类。基于邻域的协同过滤算法又有两种,基于用户和物品。其中,基于用户的协同过滤算法(简称UserCF)认为一个用户会喜欢和他有相似兴趣爱好的用户的产品。其关键在于寻找相似用户,通过相似度计算来获取相似用户。传统的协同过滤算法在进行Top-N推荐时,直接将预测评分最高的N个评分返回。
在本发明作出之前,用户规模和产品数量增大导致的用户矩阵稀疏和分布不均匀的问题,使得计算用户相似性非常困难,推荐效果降低。同时,大量的算法研究解稀疏性的问题是进行评分预测推荐的。现在,用户更感兴趣的是向其推荐其感兴趣的项目,而不是进行评分预测。因此,更符合用户的表现形式是Top-N推荐。然而,基于近邻的两步预测推荐算法通过将两步预测算法框架和传统的协同过滤算法相结合,有效地提高了传统协同过滤推荐算法在Top-N中的推荐效果,但其难以克服分布不均匀的稀疏矩阵下用户相似性计算困难的问题。基于项目属性的协同过滤算法表明通过考虑项目属性信息能够在一定程度上提高评分预测的推荐效果,但其在Top-N的推荐中效果不佳,不适用于Top-N推荐。也就是说,如何解决Top-N推荐时评分矩阵稀疏和评分不均的问题刻不容缓。
发明内容
本发明的目的就在于克服上述缺陷,提出一种基于属性比重相似性的两步预测Top-N推荐算法。
本发明的技术方案是:
基于属性比重相似性的两步预测的Top-N推荐算法,其特征在于,包括如下步骤:
(1)输入数据集T和项目属性矩阵a;
(2)构造用户评分矩阵R和用户项目二分矩阵C;
(3)计算用户属性比重矩阵D;
(4)利用用户属性比重矩阵D计算用户相似性,并获取近邻N(u);
(5)预测用户选择项目的概率Interest;
(5a)通过获取近邻用户对项目感兴趣的人数来求得用户对项目的兴趣度;
(5b)考虑用户之间的相似度权重更新兴趣度;
(6)综合用户选择项目和用户对所选项目评分的用户评分行为。第一步,利用基于属性比重相似性的兴趣度预测用户对项目进行评分的概率;第二步,利用非个性化的平均值方法预测用户对项目的评分值;
(7)向用户进行Top-N推荐。
所述步骤(3)构造属性比重矩阵D。
所述步骤(4)利用属性比重矩阵D计算用户相似性,计算公式如下:
s i m ( u , v ) = Σ a ∈ A ( D u a - D a ‾ ) ( D v a - D a ‾ ) Σ a ∈ A ( D u a - D a ‾ ) 2 Σ a ∈ A ( D v a - D a ‾ ) 2
sim(u,v)表示用户u和用户v的相似度,A是项目的所有分类属性,表示所有用户对类别a兴趣度的平均值。
所述步骤(5b),在通过近邻用户对项目感兴趣的人数求得的兴趣度的基础上,使用步骤(4)求出的相似度更新兴趣度,计算公式如下
I n t e r e s t ( u , i ) = Σ v ∈ N ( u ) s i m ( u , v ) · C ( v , i )
其中,sim(u,v)表示用户u和用户v的相似度,用其作为预测用户u衡量用户v的行为对其影响力的权重。C(v,i)表示用户v对项目i是否评分,评过分为1,反之,则为0。
所述步骤(6),综合用户选择项目和用户对所选项目评分的用户评分行为,第一步,利用基于属性比重相似性的兴趣度预测用户对项目进行评分的概率;第二步,利用非个性化的平均值方法预测用户对项目的评分值,其实现公式如下:
rank(u,i)=Interest(u,i)·mean(i)
m e a n ( i ) = Σ u ∈ U ( i ) R ( u , i ) | U ( i ) |
U(i)表示所有对该产品评过分的用户。
本发明的优点和效果在于利用属性比重矩阵计算用户相似性,基于两步预测框架充分考虑了用户评分行为,表现为:
(1)属性比重矩阵的基础上计算用户相似性,提高了评分矩阵的密度,改善了由于数据稀疏性造成的相似性计算不平衡的问题;
(2)两步预测框架考虑了用户评分行为包含了两部分内容,用户选择项目并对所选项目评分,尽可能利用信息。
附图说明
图1——本发明的流程示意图。
图2——本发明中三种相似度基于近邻的两步预测Top-N推荐在NDCG@1-10的表现示意图。
图3——本发明中三种相似度基于近邻的两步预测Top-N推荐在Precision@1-10的表现示意图。
图4——本发明中三种相似度基于近邻的两步预测Top-N推荐在Reca//@1-10的表现
具体实施方式
本发明的主要技术思路是:
利用属性比重矩阵计算用户相似性,获取用户的近邻,将近邻的相似性和近邻评价产品的人数结合得到兴趣度,最终应用到两步预测框架中,提高Top-N推荐的效果。
本发明的步骤如下:
步骤1:输入数据集T和项目属性矩阵A,其中,表示用户u对项目i的评分r;A={Aia}N×P,N表示项目数目,P表示属性种类,若项目i属于属性a,Aia=1;否则Aia=0;
步骤2:根据数据集T,构造用户评分矩阵R={rui}M×N和用户项目二分矩阵C={cui}M×N;其中,M表示用户数目,N表示项目数目;
步骤3:计算用户属性矩阵D,D={Dua}M×P,Dua表示用户u在属性a中评价物品的次数:
D=CA
D表示用户对某属性项目评价过的次数,然而这个绝对的大小的次数并不能很好地表明一个用户对某类属性项目的关注程度,为了解决这个问题,对进行归一化处理:
D=D/sum(D,P)
其中,sim(D,P)表示矩阵D的行之和且P列值相同。
步骤4:利用已有的修正余弦相似度在属性比重矩阵的基础上计算用户相似性:
s i m ( u , v ) = Σ a ∈ A ( D u a - D a ‾ ) ( D v a - D a ‾ ) Σ a ∈ A ( D u a - D a ‾ ) 2 Σ a ∈ A ( D v a - D a ‾ ) 2
sim(u,v)表示用户u和用户v的相似度,A是项目的所有分类属性,表示所有用户对类别a兴趣度的平均值。
步骤5:预测用户选择项目的概率(兴趣度):
(5a)基于用户项目二分矩阵的协同过滤算法认为用户会选择的产品往往是其相似用户已评分过的产品。因此,可以将相似用户中对于某个产品评过分的人数当作该用户对此产品的兴趣度:
I n t e r e s t ( u , i ) = Σ v ∈ N ( u ) C ( v , i )
其中,C(v,i)是用户项目二分矩阵的用户v和项目i,如果取值为1,则代表用户v对产品i评过分。N(u)是用户u的邻居集合。
(5b)近邻用户与用户越相似,则其对用户的影响越大,因此,用户之间相似度权重,引入到兴趣度中,即:
I n t e r e s t ( u , i ) = Σ ν ∈ N ( u ) s i m ( u , v ) · C ( v , i )
其中,sim(u,v)表示用户u和v的相似度,用其作为预测用户u衡量用户v的行为对其影响力的权重。
步骤6:两步预测-用户评分行为包含用户选择项目和用户对所选项目评分,这两个行为对应到两步推荐中,第一步,利用基于属性比重相似性的兴趣度预测用户对项目进行评分的概率。第二步,利用非个性化的平均值方法预测用户对项目的评分值。最终利用期望值求得推荐矩阵。
rank(u,i)=Interest(u,i)·mean(i)
m e a n ( i ) = Σ u ∈ U ( i ) R ( u , i ) | U ( i ) |
U(i)表示所有对该产品评过分的用户。
步骤7:Top-N推荐:使用rank(u,i)对每一个用户的评分项目作降序排序,向用户推荐前N个未被评分的项目,即向用户进行Top-N推荐。
本发明效果可以在MoiveLens数据集上进行验证。
(1)实验内容:
为了验证算法的性能,本发明与基于近邻的两步预测算法(根据在第一步选取的相似度计算方式不同,分别被称为ABUCF和JBUCF)、基于奇异值分解的协同过滤算法(SVD)和基于近邻的用户协同过滤算法(UserKNN)进行了比较。
(2)评价指标
①准确率
对于一个测试用户,隐藏其部分选择,给其反馈长度为N的项目集。这时隐藏和推荐的,有可能产生4种结果,如表1所示。
表1 用户推荐项目可能结果的分类
使用准确率和召回率这两种评价指标来表明Top-N的准确率,其计算公式为:
Pr e c i s i o n @ N = t p t p + f p
Re c a l l @ N = t p t p + f n
准确率和召回率这两种评价指标都是跟顺序无关的,但有些学者认为用户喜欢的项目在序列中越靠前,那么给出的推荐序列就越准确。归一化折扣累计(NDCG)是现在比较常用的和顺序相关的Top-N准确率评价指标,其计算公式:
D C G @ N ( u ) = Σ k = 1 N 2 R ( u , k ) - 1 l o g ( 1 + k )
N D C N @ N ( u ) = 1 | U | Σ u ∈ U D C G @ N ( u ) I D C G @ N ( u )
其中,R(u,k)是用户u对推荐列表中第k个产品的评分,IDCG@N(u)是理想化的DCG@N(u),用来进行归一化。在推荐系统中,用户不会对所有项目进行评分,将用户没有给出评分的项目当做无关项目,使R(u,k=0),计算NDCG。
②多样性
推荐过程中,向用户推荐流行商品想当容易,然而发现用户的个性化比较困,且重要的。因此,推荐系统中,多样性和准确率都一样重要。个性化多样性考虑推荐列表之间的不同。通常使用汉明距离测量。Cij(N)定义为用户u和用户v在Top-L推荐中项目相同的数量,他们之间的汉明距离利用如下公式计算:
D i j ( N ) = 1 - C i j ( N ) N
Dij(N)∈(0,1),Dij(N)=0,表示u和v的推荐列表完全相同;Dij(N)∈(0,1),表示u和v的推荐列表完全不同。使用所有用户的汉明距离的平均值D(L)作为最终的多样性指标。推荐列表越不相同,D(L)越大。
(3)实验结果分析
表2为五种算法在MovieLens数据集上的Top-10指标表现。从图2-4和表2中,可以看出:基于属性比重相似性的两步预测Top-N推荐算法在准确率方面,Predection@10,Recall@10和NNCG@10相比其它几种算法都有提高。另外,其在提高准确率的同时,也能提高了多样性。
表2 五种算法在MovieLens数据集上的Top-10指标表现

Claims (5)

1.一种基于属性比重相似性的两步预测的Top-N推荐算法,其特征在于,包括如下步骤:
(1)输入数据集T和项目属性矩阵A;
(2)构造用户评分矩阵R和用户项目二分矩阵C;
(3)计算用户属性比重矩阵D;
(4)利用用户属性比重矩阵D计算用户相似性,并获取近邻N(u);
(5)预测用户选择项目的概率Interest;
(5a)通过获取近邻用户对项目感兴趣的人数来求得用户对项目的兴趣度;
(5b)考虑用户之间的相似度权重更新兴趣度;
(6)综合用户选择项目和用户对所选项目评分的用户评分行为。第一步,利用基于属性比重相似性的兴趣度预测用户对项目进行评分的概率;第二步,利用非个性化的平均值方法预测用户对项目的评分值;
(7)向用户进行Top-N推荐。
2.根据权利要求1所述的一种基于属性比重相似性的两步预测的Top-N推荐算法,其特征在于步骤(3)构造属性比重矩阵D。
3.根据权利要求1所述的一种基于属性比重相似性的两步预测的Top-N推荐算法,其特征在于步骤(4)利用属性比重矩阵D计算用户相似性,计算公式如下:
s i m ( u , v ) = Σ a ∈ A ( D u a - D a ‾ ) ( D v a - D a ‾ ) Σ a ∈ A ( D u a - D a ‾ ) 2 Σ a ∈ A ( D v a - D a ‾ ) 2
sim(u,v)表示用户u和用户v的相似度,A是项目的所有分类属性,表示所有用户对类别a兴趣度的平均值。
4.根据权利要求1所述的一种基于属性比重相似性的两步预测的Top-N推荐算法,其特征在于步骤(5b),在通过近邻用户对项目感兴趣的人数求得的兴趣度的基础上,使用步骤(4)求出的相似度更新兴趣度,计算公式如下
I n t e r e s t ( u , i ) = Σ v ∈ N ( u ) s i m ( u , v ) · C ( v , i )
其中,sim(u,v)表示用户u和用户v的相似度,用其作为预测用户u衡量用户v的行为对其影响力的权重。C(v,i)表示用户v对项目i是否评分,评过分为1,反之,则为0。
5.根据权利要求1所述的一种基于属性比重相似性的两步预测的Top-N推荐算法,其特征在于步骤(6),综合用户选择项目和用户对所选项目评分的用户评分行为,第一步,利用基于属性比重相似性的兴趣度预测用户对项目进行评分的概率;第二步,利用非个性化的平均值方法预测用户对项目的评分值,其实现公式如下:
rank(u,i)=Interest(u,i)·mean(i)
m e a n ( i ) = Σ u ∈ U ( i ) R ( u , i ) | U ( i ) |
U(i)表示所有对该产品评过分的用户。
CN201610569559.5A 2016-07-14 2016-07-14 一种基于属性比重相似性的两步预测Top‑N推荐算法 Pending CN106204153A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610569559.5A CN106204153A (zh) 2016-07-14 2016-07-14 一种基于属性比重相似性的两步预测Top‑N推荐算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610569559.5A CN106204153A (zh) 2016-07-14 2016-07-14 一种基于属性比重相似性的两步预测Top‑N推荐算法

Publications (1)

Publication Number Publication Date
CN106204153A true CN106204153A (zh) 2016-12-07

Family

ID=57494431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610569559.5A Pending CN106204153A (zh) 2016-07-14 2016-07-14 一种基于属性比重相似性的两步预测Top‑N推荐算法

Country Status (1)

Country Link
CN (1) CN106204153A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108717442A (zh) * 2018-05-16 2018-10-30 成都市极米科技有限公司 基于机器学习的相似影视推荐方法
CN109214848A (zh) * 2017-07-06 2019-01-15 云义科技股份有限公司 运用虚拟商品于推荐系统影响相似度分析方法及其系统
CN109345274A (zh) * 2018-07-27 2019-02-15 华南理工大学 基于bp神经网络评分预测误差的近邻用户选择方法
CN112926902A (zh) * 2021-04-15 2021-06-08 广州宏途教育网络科技有限公司 一种基于学生自身特性的选课方法及处理终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169328A1 (en) * 2008-12-31 2010-07-01 Strands, Inc. Systems and methods for making recommendations using model-based collaborative filtering with user communities and items collections
CN103412948A (zh) * 2013-08-27 2013-11-27 北京交通大学 基于聚类的协同过滤的商品推荐方法及系统
CN104281956A (zh) * 2014-10-27 2015-01-14 南京信息工程大学 基于时间信息的适应用户兴趣变化的动态推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169328A1 (en) * 2008-12-31 2010-07-01 Strands, Inc. Systems and methods for making recommendations using model-based collaborative filtering with user communities and items collections
CN103412948A (zh) * 2013-08-27 2013-11-27 北京交通大学 基于聚类的协同过滤的商品推荐方法及系统
CN104281956A (zh) * 2014-10-27 2015-01-14 南京信息工程大学 基于时间信息的适应用户兴趣变化的动态推荐方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214848A (zh) * 2017-07-06 2019-01-15 云义科技股份有限公司 运用虚拟商品于推荐系统影响相似度分析方法及其系统
CN109214848B (zh) * 2017-07-06 2020-10-27 云义科技股份有限公司 运用虚拟商品于推荐系统影响相似度分析方法及其系统
CN108717442A (zh) * 2018-05-16 2018-10-30 成都市极米科技有限公司 基于机器学习的相似影视推荐方法
CN108717442B (zh) * 2018-05-16 2021-12-03 成都极米科技股份有限公司 基于机器学习的相似影视推荐方法
CN109345274A (zh) * 2018-07-27 2019-02-15 华南理工大学 基于bp神经网络评分预测误差的近邻用户选择方法
CN109345274B (zh) * 2018-07-27 2022-05-24 华南理工大学 基于bp神经网络评分预测误差的近邻用户选择方法
CN112926902A (zh) * 2021-04-15 2021-06-08 广州宏途教育网络科技有限公司 一种基于学生自身特性的选课方法及处理终端

Similar Documents

Publication Publication Date Title
CN104935963B (zh) 一种基于时序数据挖掘的视频推荐方法
CN102982107B (zh) 一种融合用户、项目和上下文属性信息的推荐系统优化方法
CN103412948B (zh) 基于聚类的协同过滤的商品推荐方法及系统
CN103514304B (zh) 一种项目推荐方法和装置
CN103793476B (zh) 基于网络社区的协同过滤推荐方法
CN103761237A (zh) 一种基于用户特征及其信任度的协同过滤推荐方法
CN102411754A (zh) 一种基于商品属性熵值的个性化推荐方法
CN106471491A (zh) 一种时变的协同过滤推荐方法
CN103473354A (zh) 基于电子商务平台的保险推荐系统框架及保险推荐方法
CN107833117A (zh) 一种考虑标签信息的贝叶斯个性化排序推荐方法
CN104281956A (zh) 基于时间信息的适应用户兴趣变化的动态推荐方法
CN105138508A (zh) 一种基于偏好扩散的上下文推荐系统
CN102841929A (zh) 一种综合用户和项目评分及特征因素的推荐方法
CN105930469A (zh) 基于Hadoop的个性化旅游推荐系统及方法
CN103559622A (zh) 基于特征的协同过滤推荐方法
CN106204153A (zh) 一种基于属性比重相似性的两步预测Top‑N推荐算法
CN101826114A (zh) 一种基于多马尔可夫链的内容推荐方法
CN105868281A (zh) 基于非支配排序多目标方法的位置感知推荐系统
CN105976229A (zh) 一种基于用户和项目混合的协同过滤算法
CN108573041A (zh) 基于加权信任关系的概率矩阵分解推荐方法
CN106815347A (zh) 基于商品相似度的改进slope one协同过滤推荐算法
CN106250545A (zh) 一种基于用户搜索内容的多媒体推荐方法及系统
CN107562947A (zh) 一种移动时空感知下动态即时推荐服务模型建立方法
CN104933156A (zh) 一种基于共享近邻聚类的协同过滤方法
CN104166732B (zh) 一种基于全局评分信息的项目协同过滤推荐方法

Legal Events

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

Application publication date: 20161207

RJ01 Rejection of invention patent application after publication