CN102073709A - 一种基于最近邻用户重排序(drnn)的相似度计算方法 - Google Patents

一种基于最近邻用户重排序(drnn)的相似度计算方法 Download PDF

Info

Publication number
CN102073709A
CN102073709A CN2010106172037A CN201010617203A CN102073709A CN 102073709 A CN102073709 A CN 102073709A CN 2010106172037 A CN2010106172037 A CN 2010106172037A CN 201010617203 A CN201010617203 A CN 201010617203A CN 102073709 A CN102073709 A CN 102073709A
Authority
CN
China
Prior art keywords
user
degree
similarity
calculating
drnn
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
CN2010106172037A
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.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN2010106172037A priority Critical patent/CN102073709A/zh
Publication of CN102073709A publication Critical patent/CN102073709A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于最近邻用户重排序(DRNN)的相似度计算方法。属于个性化推荐领域。本发明特征包括以下二点:(1)提出一种基于最近邻用户重排序(DRNN)的相似度计算方法,充分利用项目类别信息,根据不同的目标项目动态调整邻居集内用户权重,该方法可以在传统相似度计算的方法上根据项目的类别信息,更加深入的挖掘用户之间的相似性,以便形成更加符合实际情况的最近邻集合,最终提高预测的准确程度;(2)提出修正的重叠度因子弥补现有方法中手动调整参数的不足,同时考虑了用户的评分行为的差异性,增强了方法实用性。综合以上二点最终形成本发明中提出的相似度计算公式。实验结果表明,该方法可以有效缓解数据系数问题,明显提升预测结果的准确性。

Description

一种基于最近邻用户重排序(DRNN)的相似度计算方法
技术领域
本发明属于个性化推荐领域,具体涉及针对小邻居用户的情况下的推荐方法。
背景技术
随着互联网的高速发展,推荐系统作为解决“信息过载”问题的重要技术手段之一,在电子商务系统中已经广泛应用并取得了很大的成功,例如Amazon,CDNOW,eBay等都不同程度地使用了各种形式的推荐系统。自从Goldberg等人运用协同过滤技术建立了Tapestry系统以来,协同过滤广泛运用于各种推荐系统之中,成为当前最成功的推荐技术。其基本思想是:基于评分相似的最近邻居的评分数据向目标用户产生推荐。通俗的理解就是“如果和我兴趣爱好相同的人喜欢这样的东西,那么我也会喜欢这样的东西”。
随着电子商务系统规模的扩大,系统中用户和项目数据急剧增加。在一些大的系统中,比如Amazon网站,用户最多不过评价了上百万书的1%~2%,评分数据极度稀疏。在这种情况下,传统相似性度量方法的数据来源是用户的历史评分数据,难以准确的衡量用户之间的相似性,导致无法形成可靠的最近邻居集,严重降低了推荐精度。
稀疏问题成为制约协同推荐技术发展的瓶颈。如何在数据稀疏情况下,挖掘出更多有用的信息,更加准确的描述用户与用户之间的相似性以及用户行为。成为个性化推荐领域中研究的热点和难点之一。
发明内容
研究者提出大量的算法以缓解这一问题,例如:基于专家意见的协同过滤方法,在数据较为稀疏时,用专家意见代替用户评分数据;通过在预测之前,对缺失数据进行预测,同时引入重叠度因子改进传统相似度计算公式;采用一种迭代算法对邻居集内用户的缺失评分进行预测,进而降低数据的稀疏程度;通过挖掘相似用户中的不相似信息,以此更加准确地衡量用户之间的相似程度。上述方法在一定程度上缓解了数据稀疏问题。但上述也存在某些问题,比如基于专家意见的方法中如何选取和确定专家,传统的重叠度概念需要手动调整参数,迭代算法增加了算法的复杂性等等。
本发明的目的在于,缓解个性化推荐中的数据稀疏问题,改进已有的重叠度计算方法,从而避免手工调整相关参数,充分利用项目的类别属性,挖掘真正的相似用户,从而形成符合实际情况的最近邻居集合,进而提高最终的预测准确度。
为达到上述目的,本发明提供一种基于最近邻用户重排序(DRNN)的相似度计算方法包括计算修正的重叠度因子、计算局部相似度、重排序最近邻居集三大步骤。
所述的计算修正的重叠度因子,其目的是从用户的评分行为和重叠度二个方面综合考虑用户的相似度,修正了传统重叠度因子需要手动调整参数这一缺点,步骤为:
步骤a,根据评分数据计算目标用户和待计算相似度用户之间的共同评价项目数Crossover;
步骤b,计算二个用户各自的评分方差,Vari和Varj
步骤c,将步骤a和步骤b计算的结果带入到公式将该因子作为GlobalSimilarity的修正因子;
所述的计算局部相似度步骤为,该步骤的目的是为了利用项目的类别信息计算用户在某一具体类别之中的相似度,以此作为最近邻集合重排序的重要依据,步骤为:
步骤d,寻找既有过共同评分项目,且这些共同项目属于同一个类别的用户;
步骤e,利用局部相似度公式计算其结果,
LocalSimilarity u , v , I = Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r ui - r ‾ u ) ( r vi - r ‾ v ) Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r ui - r ‾ u ) 2 Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r vi - r ‾ v ) 2 ;
所述的重排序最近邻居集步骤为:
步骤f,整合上述个步骤计算的结果,计算出全新的相似度结果,用于最近邻居集的重排,Sim(i,j)=Modifier_Overlap*GlobalSimilarity+eLocalSimilarity
本发明的有益效果在于,通过分析现有协同过滤方法存在的不足之处:重叠度因子需要手动设置参数;没有充分利用项目的类别信息调整用户的权重。针对上述问题,引入修正过后的重叠度因子和局部相似度的概念,形成DRNN相似度计算方法。在数据稀疏情况下,该方法能够更加准确地衡量用户之间的相似程度,针对不同的目标项目动态调整目标用户邻居集内用户的排序,从而分配合理的权值,有效的解决了现有协同过滤方法存在的不足。
为了检验我们方法的有效性,我们以MovieLens作为数据集,目前绝大数关于协同推荐算法实验都使用该数据集,该数据集是一个基于Web的研究型推荐系统,用于进行电影评价和获得关于电影的推荐。该数据集包含了超过100,000条来自于943位用户对1682部电影的评价,其中每个用户至少有20条评分数据,包含5个评分等级1,2表示不喜欢,3表示中立,4,5表示喜欢,数值越高代表喜欢程度越高。在项目信息中包含了19种类别信息。实验中,将整个数据集划分为训练集和测试集。数据集的80%划分为训练集,剩余的20%作为测试集。训练集数据用于评分预测,测试集数据用于测量预测精度。实验结果的衡量也采用普遍采用的绝对平均误差(Mean Absolute Error MAE)和准确率作为标准,MAE值越小,说明推荐效果越好;准确值越高,推荐效果越好。实验结果表明本方法确实可以有效提高推荐结果准确性,特别是在用户评分数据稀疏,只能获取少量邻居集用户时效果尤为明显。其比较结果见图1和图2。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明DRNN与传统协同过滤(CF)方法的MAE值比较。
图2为本发明DRNN与传统协同过滤(CF)方法的准确率比较。
图3为应用本发明对用户进行推荐的系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对本发明运算过程进行详细说明之前,对本实例进行一定的描述。本实例所涉及的数据,均来自MovieLens网站。获取这些数据及这些数据的管理方法,不在本发明范围之内。
对于得到的用户-评分矩阵,我们方法的目标是要准确计算出目标用户的最近邻居集合,并对该集合按照本方法中的相似度大小排序,最后给出目标用户对目标项目的预测评分。
本发明需要预先知道项目的类别信息,同时在计算用户之间的相似度时,从用户的打分行为是否相似衡量用户之间的相似程度。
下面对本发明运算过程进行详细说明。
如图3所示,本发明包括计算修正的重叠度因子、计算局部相似度、重排序最近邻居集三大步骤。
下面为计算修正的重叠度因子进行详细说明:
步骤101:根据用户-评分矩阵,计算用户的评分均值,ri
Figure BSA00000405119700031
分别表示用户对i的评分和用户对i的评分均值;
步骤102:计算用户的评分方差,Vari为用户i的评分方差,反映该用户的评分波动情况:
Var i = Σ i = I n ( r i - r ‾ ) 2 n
同理,用户j的评分方差Varj也由此得出;
步骤103:根据用户-评分矩阵,计算目标用户与待计算用户之间的重叠度:
Crossover=|T(i)∩T(j)|
T(i)和T(j)表示用户i和j的评价项目,取二者交集的模;
步骤104:根据上述步骤计算修正的重叠度因子Modifier_Overlap,
Modifier _ Overlap = Crossover Var i + Var j ;
步骤105:利用皮尔逊计算公式计算GlobalSimilarity,其中
Figure BSA00000405119700042
表示用户u和v的评分均值,T(u)∩T(v)表示用户u,v共同评分项目集合,
GlobalSimilarity ( u , v ) = Σ k ∈ T ( u ) ∩ t ( v ) ( r uk - r ‾ u ) ( r vk - r ‾ v ) Σ k ∈ T ( u ) ∩ t ( v ) ( r uk - r ‾ u ) 2 ( r vk - r ‾ v ) 2
下面为计算局部相似度过程进行详细的说明:
步骤201:选择待计算用户需要满足有过共同评分经历,同时共同评分的项目同属一个类别,即为i∈T(u)∩T(v)∩I,其中I为项目类别信息;
步骤202:计算同一个类别属性中的用户之间的局部相似度,公式为:
LocalSimilarity u , v , I = Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r ui - r ‾ u ) ( r vi - r ‾ v ) Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r ui - r ‾ u ) 2 Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r vi - r ‾ v ) 2 ;
下面为重排序最近邻居集过程进行详细的说明:
步骤301:综合上述步骤,构造本发明中提出的相似度计算公式:Sim(i,j)=Modifier_Overlap*GlobalSimilarity+eLocalSimilarity,其中各因子含义在上述步骤都以说明。采用e的指数幂形式,是为了强化局部相似度的修正力度。
步骤302:根据步骤301计算出来的相似度,选择目标用户的最近邻居结合,并根据协同推荐的思想,给出目标用户对目标项目的预测评分,其评分公式为:
p it = r ‾ i + Σ u ∈ N ( i ) ( r ut - r ‾ u ) sim ( u , i ) Σ u ∈ N ( i ) sim ( u , i )
其中pit表示目标用户i对目标项目t的预测评分,
Figure BSA00000405119700047
表示用户i的评分均值,u∈N(i)表示目标用户i的邻居集用户,
Figure BSA00000405119700048
表示邻居集内用户u的评分均值,sim(u,i)表示用户u与目标用户i的相似度。
步骤303:最后进行比较,采用的衡量标准是绝对平均误差MAE和准确率,计算MAE,设预测的用户评分集合表示{p1,p2,p3......pn},对应的实际用户评分集合{q1,q2,q3......qn},则平均绝对误差表示为:
MAE = Σ i - 1 n | p i - q i | n
以上对本发明的描述是说明性的,而非限制性的,本专业技术人员理解,在权利要求限定的精神与范围之内可对其进行许多修改、变化或等效,但是它们都将落入本发明的保护范围内。

Claims (5)

1.一种基于最近邻用户重排序(DRNN)的相似度计算方法,其特征在于,包括计算修正的重叠度因子、计算局部相似度、重排序最近邻居集三大步骤:
所述的计算修正的重叠度因子,其步骤为:
步骤a,计算目标用户i和待计算用户j共同评价目标项目数,以此作为衡量用户之间的相似度紧密程度的一个重要因素;
步骤b,计算二个用户的评分方差值,用户的评分方差值越大表示该用户的评分不稳定;
步骤c,将步骤a和步骤b中计算的值进行整合形成修正的重叠度因子计算公式;
所述的计算局部相似度,其步骤为:
步骤d,寻找满足条件的用户作为待计算用户;
步骤e,计算用户在某一类项目之间的评分相似度;
所述的重排序最近邻居集,其步骤为:
步骤f,根据上述各步骤,构造本发明中的相似度计算公式。
2.根据权利要求1所述的一种基于最近邻用户重排序(DRNN)的相似度计算方法,计算修正的重叠度因子步骤,其特征在于,形成修正的重叠度因子公式,该因子考虑了重叠度的概念,而且无需事先确定重叠度的阈值,公式为:
Modifier _ Overlap = Crossover Var i + Var j ,
其中记Crossover为将目标用户i和待计算用户j共同评价目标项目数,Vari和Varj为二个用户的评分方差值。
3.根据权利要求1所述的一种基于最近邻用户重排序(DRNN)的相似度计算方法,计算局部相似度步骤,其特征在于,所述的步骤d中,满足计算条件的用户需要满足:
条件(1):和目标用户有过共同评价项目;
条件(2):计算的项目要和目标项目同属一个类别。
4.根据权利要求1所述的一种基于最近邻用户重排序(DRNN)的相似度计算方法,计算局部相似度步骤,其特征在于,所述的步骤e中,构造局部相似度计算公式为:
LocalSimilarity u , v , I = Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r ui - r ‾ u ) ( r vi - r ‾ v ) Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r ui - r ‾ u ) 2 Σ i ∈ T ( u ) ∩ T ( V ) ∩ I ( r vi - r ‾ v ) 2 ,
其中LocalSimilarityu,v,I表示用户u,v在属于类别I的项目评分上的相似度,i∈T(u)∩T(v)∩I表示评分数据要符合权利要求3中的二个条件。
5.根据权利要求1所述的一种基于最近邻用户重排序(DRNN)的相似度计算方法,重排序最近邻居集步骤,其特征在于,所述的步骤f中,在上述个步骤e的基础之上,构造出全新的相似度计算公式为:
Sim(i,j)=Modifier_Overlap*GlobalSimilarity+eLocalSimilarity,其中Modifier_Overlap表示权利要求2中所述的修正的重叠度因子,GlobalSimilarity砂表示按照传统相似度计算公式方法得出的相似度结果,LocalSimilarity表示权利要求4中所述的局部相似度。
CN2010106172037A 2010-12-31 2010-12-31 一种基于最近邻用户重排序(drnn)的相似度计算方法 Pending CN102073709A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106172037A CN102073709A (zh) 2010-12-31 2010-12-31 一种基于最近邻用户重排序(drnn)的相似度计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106172037A CN102073709A (zh) 2010-12-31 2010-12-31 一种基于最近邻用户重排序(drnn)的相似度计算方法

Publications (1)

Publication Number Publication Date
CN102073709A true CN102073709A (zh) 2011-05-25

Family

ID=44032248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106172037A Pending CN102073709A (zh) 2010-12-31 2010-12-31 一种基于最近邻用户重排序(drnn)的相似度计算方法

Country Status (1)

Country Link
CN (1) CN102073709A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166732A (zh) * 2014-08-29 2014-11-26 合肥工业大学 一种基于全局评分信息的项目协同过滤推荐方法
CN106294636A (zh) * 2016-08-01 2017-01-04 中国电子科技集团公司第二十八研究所 一种基于数据库数据的搜索排名算法
CN106980646A (zh) * 2017-02-27 2017-07-25 上海大学 基于流行度对用户兴趣的影响机制分析及其在推荐算法中应用的方法
CN110427565A (zh) * 2019-06-10 2019-11-08 深圳大学 一种基于协同过滤的物品推荐方法、智能终端及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166732A (zh) * 2014-08-29 2014-11-26 合肥工业大学 一种基于全局评分信息的项目协同过滤推荐方法
CN104166732B (zh) * 2014-08-29 2017-04-12 合肥工业大学 一种基于全局评分信息的项目协同过滤推荐方法
CN106294636A (zh) * 2016-08-01 2017-01-04 中国电子科技集团公司第二十八研究所 一种基于数据库数据的搜索排名算法
CN106294636B (zh) * 2016-08-01 2019-03-19 中国电子科技集团公司第二十八研究所 一种基于数据库数据的搜索排名方法
CN106980646A (zh) * 2017-02-27 2017-07-25 上海大学 基于流行度对用户兴趣的影响机制分析及其在推荐算法中应用的方法
CN110427565A (zh) * 2019-06-10 2019-11-08 深圳大学 一种基于协同过滤的物品推荐方法、智能终端及存储介质
CN110427565B (zh) * 2019-06-10 2023-02-24 深圳大学 一种基于协同过滤的物品推荐方法、智能终端及存储介质

Similar Documents

Publication Publication Date Title
CN104935963B (zh) 一种基于时序数据挖掘的视频推荐方法
CN106471491A (zh) 一种时变的协同过滤推荐方法
CN103632290B (zh) 一种基于推荐概率融合的混合推荐方法
CN104063481A (zh) 一种基于用户实时兴趣向量的电影个性化推荐方法
CN102982466B (zh) 一种基于用户活跃度的评分预测方法
CN104281956A (zh) 基于时间信息的适应用户兴趣变化的动态推荐方法
CN102779182A (zh) 融合偏好和信任关系的协同过滤推荐方法
CN109740064A (zh) 一种融合矩阵分解和挖掘用户项目信息的cf推荐方法
Jiao et al. A novel learning rate function and its application on the SVD++ recommendation algorithm
CN105976229A (zh) 一种基于用户和项目混合的协同过滤算法
CN104239496A (zh) 一种结合模糊权重相似性度量和聚类协同过滤的方法
CN106294859A (zh) 一种基于属性耦合矩阵分解的项目推荐方法
CN103593417A (zh) 基于关联规则预测的协同过滤推荐方法
CN110427567A (zh) 一种基于用户偏好相似度加权的协同过滤推荐方法
CN105354260B (zh) 一种融合社会网络和项目特征的移动应用推荐方法
Zheng et al. Deviation-based contextual SLIM recommenders
CN104298787A (zh) 一种基于融合策略的个性化推荐方法及装置
CN106919699A (zh) 一种面向大规模用户的个性化信息推荐方法
CN103500228A (zh) 一种协同过滤推荐算法中改进的相似性度量方法
CN107301583A (zh) 一种基于用户偏好和信任的冷启动推荐方法
CN104166732B (zh) 一种基于全局评分信息的项目协同过滤推荐方法
CN103886486A (zh) 一种基于支持向量机svm的电子商务推荐方法
CN110399549A (zh) 一种面向用户兴趣调和相似度的协同过滤方法
CN104615631A (zh) 一种信息推荐的方法及装置
Li et al. Collaborative filtering based on user attributes and user ratings for restaurant recommendation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110525