CN104008193A - 一种基于典型用户群组发现技术的信息推荐方法 - Google Patents

一种基于典型用户群组发现技术的信息推荐方法 Download PDF

Info

Publication number
CN104008193A
CN104008193A CN201410261200.2A CN201410261200A CN104008193A CN 104008193 A CN104008193 A CN 104008193A CN 201410261200 A CN201410261200 A CN 201410261200A CN 104008193 A CN104008193 A CN 104008193A
Authority
CN
China
Prior art keywords
user
project
tug
typical user
group
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
Application number
CN201410261200.2A
Other languages
English (en)
Other versions
CN104008193B (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.)
ANHUI RONGDATA INFORMATION TECHNOLOGY Co Ltd
Original Assignee
ANHUI RONGDATA INFORMATION TECHNOLOGY Co Ltd
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 RONGDATA INFORMATION TECHNOLOGY Co Ltd filed Critical ANHUI RONGDATA INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410261200.2A priority Critical patent/CN104008193B/zh
Publication of CN104008193A publication Critical patent/CN104008193A/zh
Application granted granted Critical
Publication of CN104008193B publication Critical patent/CN104008193B/zh
Active 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

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

本发明涉及一种基于典型用户群组发现技术的信息推荐方法,与现有技术相比解决了推荐方法运算量大、无法充分反映用户兴趣的缺陷。本发明包括如下步骤:发现典型用户群组TUG,针对用户集合和项目集合计算出典型用户群组;计算推荐结果R’,基于典型用户群组TUG,将协同过滤推荐方法的最近邻搜索范围从全体用户缩小到典型用户群组中,计算出推荐结果R’。本发明的典型用户群组具有较好的代表性,能够获得更好的推荐效果。

Description

一种基于典型用户群组发现技术的信息推荐方法
技术领域
本发明涉及推荐系统技术领域,具体来说是一种基于典型用户群组发现技术的信息推荐方法。
背景技术
随着信息社会的发展和计算机技术的进步,推荐系统已经成为人们避免信息过载、获得有效信息的重要途径,已广泛应用于视频推荐、好友推荐、网站推荐、论坛推荐等各个信息化领域中。推荐系统通过协同过滤、基于内容的推荐等方法,可以有效的提供与目标用户的兴趣偏好具有较高相关性的个性化推荐结果,从而提升用户对于信息服务的满意度。
推荐系统的相关研究,大多集中在如何提升推荐效果,而较少关注对于推荐系统用户群体的深入分析。随着推荐系统用户规模的不断扩大,特别是聊天工具中好友推荐、电影库中影片推荐等,逐一分析单个用户是极其浪费计算资源和时间。通常在推荐系统的实际应用中,运用用户聚类、删除不活跃用户等手段,降低待分析用户规模,然后进一步实现后续推荐流程。例如对于旅游推荐中的不活跃用户,在删除不活跃用户后,综合运用多种用户特征提升了推荐效果。但是,类似的方法由于处理过程的固有缺陷,在保证精度的同时并不能保证对于用户兴趣的充分反映,导致不能全面的进行信息推荐。因此,应当开发出一种新的用户子集筛选方法,使得筛选得到的子集既能充分反映全体用户的兴趣偏好,又能尽可能多的覆盖和包含已知推荐项目。
发明内容
本发明的目的是为了解决现有技术中推荐方法运算量大、无法充分反映用户兴趣的缺陷,提供一种基于典型用户群组发现技术的信息推荐方法来解决上述问题。
为了实现上述目的,本发明的技术方案如下:
一种基于典型用户群组发现技术的信息推荐方法,包括以下步骤:
发现典型用户群组TUG,针对用户集合和项目集合计算出典型用户群组;其具体步骤如下:
定义用户集合U={ui},0≤i<|U|;定义项目集合P={pj},0≤j<|P|;
使用评分矩阵R定义用户和项目之间的互动信息,R={rij}|U|×|P|,rij≥0,
其中rij=0代表用户ui和项目pj没有互动,并将在R中从未出现的用户或项目从U和P中删除;
针对用户集合U定义空用户子集U’,定义候选用户Uc,定义候选用户子集Uc中的用户数为k,U’的项目覆盖集PU’定义为
P U &prime; = { p k } , &Exists; r ik &NotEqual; 0 , u i &Element; U &prime; ;
计算U’的项目覆盖率,P的子集PU’在P中所占的比例,
Cov ( U &prime; ) = | P U &prime; | | P | &times; 100 % ;
定义子集U1加入到子集U’的递增项目覆盖率ICovU’(U1),
ICovU'(U1)=Cov(U1∪U')-Cov(U');
令U1={u},当每次选择一个用户u加入U’,则
ICov U &prime; ( u ) = | P u &cup; U &prime; | - | P U &prime; | | P | &times; 100 %
将Pu和PU’中相同的项目会互相抵消,则
ICov U , ( u ) = &Sigma; p j &Element; P f ( p j &Element; P u , p j &NotElement; P U , ) | P | ,
其中
定义加权的递增项目覆盖率,
ICov U , ( u ) = &Sigma; p j &Element; P w j &times; f ( p j &Element; P u , p j &NotElement; P U , ) | P | ,
其中权重wj定义为其中Sj表示项目Pj一共被Sj个用户选择过;
进行1至k次循环,在循环过程中分别计算Uc中所有用户的加权递增项目覆盖率;计算maxCov(TUG),选出最大加权递增项目覆盖率的用户u;将u添加到U’中,从Uc中删去u;
循环结束后,U’为所求的典型用户群组TUG;
计算推荐结果R’,基于典型用户群组TUG,将协同过滤推荐方法的最近邻搜索范围从全体用户缩小到典型用户群组中,计算出推荐结果R’。
所述的计算推荐结果R’包括以下步骤:
相似度计算,对于每个用户u,计算u和TUG中每个典型用户的相似度,相似度计算公式如下:
Sim ( u , u 2 ) = &Sigma; p j &Element; P r uj &times; r 2 j &Sigma; p j &Element; P r uj 2 &Sigma; p j &Element; P r 2 j 2 , u 2 &Element; TUG ;
最近邻搜索,从TUG中选出和u相似度最高的n个典型用户,作为最近邻集合UN
评分预测,对于用户u未评分的项目p计算其得分,通过其最近邻集合UN对项目p评分的加权平均计算出得分;
对于所有的用户所有未评分项进行预测,并按得分从高到低排序,得到推荐结果R’。
有益效果
本发明的一种基于典型用户群组发现技术的信息推荐方法,与现有技术相比其典型用户群组具有较好的代表性,能够获得更好的推荐效果。通过典型用户群组概念的提出,从而发现推荐系统中的典型用户子集,可以正确反映全体用户的兴趣偏好。通过比较候选新增典型用户对典型用户群组的贡献度,逐一扩大典型用户群组规模,最终达到较高的推荐项目覆盖率和评分准确度。
附图说明
图1为本发明的方法流程图
图2a为本发明不同比例测试集上评分误差的对比实验结果
图2b为本发明不同比例测试集上覆盖率的对比实验结果
图3a为本发明不同大小用户子集上评分误差的对比实验结果
图3b为本发明不同大小用户子集上覆盖率的对比实验结果
图4a为本发明测试集比例50%、k=50时,不同流派项目上评分误差的对比实验结果
图4b为本发明测试集比例50%、k=50时,不同流派项目上覆盖率的对比实验结果
图5a为本发明测试集比例10%、k=50时不同流派项目上评分误差的对比实验结果
图5b为本发明测试集比例10%、k=50时不同流派项目上覆盖率的对比实验结果
图6a为本发明测试集比例90%、k=50时不同流派项目上评分误差的对比实验结果
图6b为本发明测试集比例90%、k=50时不同流派项目上覆盖率的对比实验结果
图7a为MAE推荐效果实际中测试集比例50%、TUG-CF推荐效果随着参数变化的比较结果
图7b为RMSE推荐效果实际中测试集比例50%、TUG-CF推荐效果随着参数变化的比较结果
图8为Top-K的实验对比结果。
具体实施方式
为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:
如图1所示,本发明所述的一种基于典型用户群组发现技术的信息推荐方法,包括以下步骤:
第一步,发现典型用户群组TUG,针对用户集合和项目集合计算出典型用户群组。其具体步骤如下:
(1)定义用户集合U={ui},0≤i<|U|;定义项目集合P={pj},0≤j<|P|。用户集合为所需要推荐的用户,项目为用户所使用的信息内容,本发明完成的是针对用户已使用过的项目信息,为用户推荐未使用的项目信息,从而达到信息推荐的目的。
(2)使用评分矩阵R定义用户和项目之间的互动信息,
R={rij}|U|×|P|,rij≥0,
其中rij=0代表用户ui和项目pj没有互动,即ui的活动(或兴趣)没有覆盖pj,并将在R中从未出现的用户或项目从U和P中删除。将没有用户和项目互动信息删除,可以保证原始预测数据的准确性。
(3)针对用户集合U定义空用户子集U’,定义候选用户Uc,定义候选用户子集Uc中的用户数为k。k为具体的用户数,从推荐准确度角度来讲,k的数量越大,则准确度越高。即随着k的增大,评分误差也越小,说明在用户子集规模足够大时,推荐准确度越高。在这里k的值为初始值,即候选用户子集用户数,在后面的操作中随着子集U1的不断加入,k的值则会适量增加,根据后面的实验数据来看,k的值基本达到用户集合U的1%左右。这也是本发明的思想,基于1%的用户子集Uc,从而高标准的为全体用户集合U推荐没使用过的项目pj
U’的项目覆盖集PU’定义为
P U &prime; = { p k } , &Exists; r ik &NotEqual; 0 , u i &Element; U &prime; ;
(4)计算U’的项目覆盖率Cov(U′),即P的子集PU’在P中所占的比例,对于大小相同均为k的用户子集,可以称其中项目覆盖率最大的为k-最大覆盖子集。显然项目覆盖率有单调递增的性质,即
0≤Cov(U1)≤Cov(U1∪U2)≤1。
因为最初设定的候选用户子集Uc中的用户数k,只是初始设定,而最终k的大小则是在不断加入子集U1,因此明显的项目覆盖率随着k的增加,则肯定单调递增。
(5)定义子集U1加入到子集U’的递增项目覆盖率ICovU’(U1),ICovU'(U1)=Cov(U1∪U')-Cov(U')。注意到两个不同子集的项目覆盖集可能有非空交集或者空交集,例如A子集中关注项目1,B子集中关注项目2,则对于A子集和B子集的共同体而言,项目1和项目2为空交集,所以Cov(U1)>Cov(U2)时,并不一定有ICovU’(U1)>ICovU’(U2)。
(6)令U1={u},当每次选择一个用户u加入U’,则
ICov U &prime; ( u ) = | P u &cup; U &prime; | - | P U &prime; | | P | &times; 100 %
将Pu和PU’中相同的项目会互相抵消,则
ICov U , ( u ) = &Sigma; p j &Element; P f ( p j &Element; P u , p j &NotElement; P U , ) | P | ,
其中f()的定义和取值为:
(7)由于用户对项目的选择存在长尾性,即冷门项目极易被掩盖在大量热门项目中。因此针对此问题,可以通过定义加权的递增项目覆盖率来解决。
定义加权的递增项目覆盖率ICovU’(u),
ICov U , ( u ) = &Sigma; p j &Element; P w j &times; f ( p j &Element; P u , p j &NotElement; P U , ) | P | ,
其中权重wj定义为其中Sj表示项目Pj一共被Sj个用户选择过。显然对于项目被选择的越多,权重wj越小,从而为较少出现的冷门项目赋予较高的权重,从而提高较少出现项目被覆盖的可能。
基于递增项目覆盖率的定义,可以证明项目覆盖率是一个子模函数。对于用户集合A,B,A□B□U,有PA□PB。对于任意的单个用户且u∈U,有
|Pu∩B|=|Pu∩PB|≥|Pu∩PA|=|Pu∩A|
所以:
ICov A ( u ) = | P u &cup; A | - | P A | | P | = | P u &cup; P A | - | P A | | P | = | P u | + | P A | - | P u &cap; A | - | P A | | P | &GreaterEqual; | P u | + | P B | - | P u &cap; B | - | P B | | P | = ICov B ( u )
即随着用户子集大小增加,新加入用户贡献的递增覆盖率越来越小,即项目覆盖率具有子模性。
由于期望典型用户群组能够充分反映全体用户的兴趣偏好,用子集评分误差Err(U’)来表示用户子集和全体用户之间的兴趣偏差。
Err ( U &prime; ) = &Sigma; p j &Element; P | avg ( p j , U &prime; ) - avg ( p j , U ) | avg ( p j , U ) &times; 100 %
其中avg(pj,U’)表示项目pj在用户子集U’中的平均分。显然Err(U’)越小,子集U’越能充分反映全体用户的兴趣偏好。但是,如果Cov(U’)较小,则子集U’不能充分覆盖全体项目。
因此,定义典型用户群组(Typical User Group,TUG)是用户集合U的一个子集,大小为k,它同时满足如下两个条件,在用户集合U所有大小为k的子集中,有:
a、min Err(TUG);
b、maxCov(TUG)。
注意到直接优化Err(TUG)比较复杂,因此可以最大化Cov(TUG)。由于Cov(U’)具有单调递增性和子模性,可以使用一个贪婪算法的方法,在每一步选择最优的ui加入到U’中,最终得到TUG。
(8)进行1至k次循环,在循环过程中分别计算Uc中所有用户的加权递增项目覆盖率;计算maxCov(TUG),选出最大加权递增项目覆盖率的用户u;将u添加到U’中,从Uc中删去u。
(9)循环结束后,U’为所求的典型用户群组TUG,从而计算出典型用户群组TUG,即典型用户群组发现技术。
后面我们就可以针对典型用户群组TUG来进行信息的推荐,而不需要对所有的用户都进行分析再推荐项目信息。因此本发明的推荐方法,是以典型用户群组TUG的发现为基础,从根本上减少了计算量,提高了计算效率且保证了高的准确率。
第二步,计算推荐结果R’,基于典型用户群组TUG,将协同过滤推荐方法的最近邻搜索范围从全体用户缩小到典型用户群组中,计算出推荐结果R’。
得到典型用户群组之后,利用典型用户群组实现信息推荐,可以应用于多种已有的推荐方法中。由于典型用户群组的代表性和较高的项目覆盖率,可以考虑将协同过滤的最近邻搜索范围从全体用户缩小到典型用户群组中,从而降低协同过滤方法的时间开销,同时也不会过多的损失推荐结果的准确程度。基于典型用户群组的计算推荐结果R’包括以下步骤:
(1)相似度计算,对于每个用户u,计算u和TUG中每个典型用户的相似度,相似度计算公式如下:
Sim ( u , u 2 ) = &Sigma; p j &Element; P r uj &times; r 2 j &Sigma; p j &Element; P r uj 2 &Sigma; p j &Element; P r 2 j 2 , u 2 &Element; TUG .
(2)最近邻搜索,从TUG中选出和u相似度最高的n个典型用户,作为最近邻集合UN。通过TUG中选出的最近邻集合UN,来进行分析计算评分。
(3)评分预测,对于用户u未评分的项目p计算其得分。其得分通过最近邻集合UN对已关注项目p评分的加权平均计算出得分,针对项目p以TUG中最近邻集合UN为对象来进行平均计算,通过判断项目p的评分预测出用户u未评分的项目p的得分,达到基于部分的典型用户群组实现全面判断的目的。评分预测这一步骤,即针对项目p评分的加权平均计算方法可以使用现有技术中的多种方法,例如:期刊为IEEE Transactions on Knowledge and Data Engineering(IEEE TKDE),2005,论文名为Toward the next generation of recommendersystems:A survey of the state-of-the-art and possible extensions的论文材料;再如:期刊为Internet Computing,IEEE,2003,论文名为Amazon.com recommendations:Item-to-item collaborative filtering的论文材料。
(4)对于所有的用户所有未评分项进行预测,并按得分从高到低排序,得到推荐结果R’。
基于最近邻搜索的结果,可以使用常用的基于用户的协同过滤方法得到TUG-CF(TUG-based Collaborative Filtering Recommendation Algorithm,基于典型用户群组的协同过滤推荐方法)的推荐结果。由于TUG的项目覆盖率并不是100%,对于无法通过TUG-CF得到评分的项,可以用它在训练集上的平均得分作为替代。
在针对本发明的检验过程中,主要使用的数据集是MovieLens-1M数据集(http://grouplens.org/)。Movielens-1M数据集是一个公开数据集,包含了100余万个电影评分,评分范围是从1到5的整数。该数据集也被广泛的用于推荐系统相关的研究工作。实验中使用了所有有评分行为的用户及相关项目,数据集的基本统计情况如表1。
表1 数据集基本统计情况
实验中主要从三个角度评价典型用户群组的有效性,一是对项目评分的准确性,使用子集评分误差Err(U’)来评价;二是对项目的覆盖率,使用项目覆盖率Cov(U’)评价;三是推荐效果的好坏,使用Top-K、绝对平均误差(MeanAbsolute Error,MAE)和均方根误差(Root-Mean-Square Error,RMSE)度量,它们都是协同过滤方法常用的评估方法。
几种度量方法的计算公式如下:
Top - K u = # hit K ;
MAE = 1 | R test | &Sigma; r &Element; R test | r real - r pred | ;
RMSE = &Sigma; r &Element; R test ( r real - r pred ) 2 | R test | ,
其中Rtest表示测试集,rreal和rpred分别表示测试项的真实得分和预测得分。
对比方法分为两个部分,一是用户子集选择的对比;二是推荐效果好坏的对比。用户子集选择的对比中,实现的算法WTFA将和以下三种方法GTFA、MR、MD进行对比。
基于流派的典型用户发现(Genre-based TFA,GTFA)。即不根据项目计算覆盖率,而是根据对不同流派的覆盖率来寻找典型用户。显然找到的典型用户可以覆盖各个流派。最多评分用户选择(Most Rating,MR)。即选取在训练集中评分次数最多的用户子集,显然MR集合是比较活跃的,能够覆盖较多的项目。最大差异用户集合(Max Diversity,MD)。在MR的基础上,为评分次数最多的用户逐一选择和他最不相同的另一个用户(即两者之间的用户相似度最小),直至MD集合达到指定大小k。其中,用如下公式计算用户相似度:
Sim ( u 1 , u 2 ) = | P u 1 &cap; P u 2 | | P u 1 &cup; P u 2 |
推荐效果好坏的比较,除基于WTFA找到的典型用户群组实现了TUG-CF算法之外,还实现了如下四种对比算法:
基于流派的TUG-CF(Genre-based TUG-CF,GT-CF)。即在GTFA找到的典型用户中寻找最近邻并完成推荐。
基于最多评分用户的协同过滤(Most Rating CF,MR-CF)。即在MR集合中寻找最近邻并完成推荐。
基于最大差异用户的协同过滤(Max Diversity CF,MD-CF)。即在MD集合中寻找最近邻并完成推荐。
一般的基于用户的协同过滤(User-based CF,UCF)。即在所有用户中寻找最近邻并完成推荐,这是最基本的基于用户的协同过滤推荐方法。
关于用户子集选择的对比实验中,不同比例测试集上的对比如下:
在实验中,对于原数据集,随机的抽取一定比例的项目及其评分作为测试集,其余的作为训练集,比较使用训练集选出的用户子集是否有效。比例划分从10%到90%,每10%为一档,在每个档次上实验5次,并取5次的结果平均值为最终结果。其中,选取的用户子集大小k=50。如图2a和图2b的实验结果显示,基于加权递增项目覆盖率的典型用户群组发现算法(WTFA)在评分误差较小的情况下保证了最大化的项目覆盖率,选出的用户子集更具有典型性。而基于流派的典型用户群组发现算法(GTFA)并没有较为出色的表现,显然对较少出现的项目赋予较高的权重,提高了较少出现项目被覆盖的可能。此外,最多评分(MR)的用户子集也表现了较优的结果,这和通常认识是一致的。最大差异(MD)的用户子集并未表现出较好的结果,可见仅仅考虑用户之间的差异性,并不能有效提高项目覆盖率和降低评分误差。另外,随着测试集比例的变化,实验结果也有着明显变化。例如对于项目覆盖率,当测试集比例增大时,WTFA的项目覆盖率依然稳定,而其他几种方法都有所下降,也说明了WTFA选出的典型用户群组更具有典型性和有效性。
不同用户子集大小的对比如下:
由于用户子集k的大小可以自行定义,实验也考察了随着用户子集大小k的变化,典型用户群组发现算法能否得到较优的结果。在实验中,对于原数据集,随机的抽取50%的项目及其评分作为测试集,其余的作为训练集,比较使用训练集选出的用户子集是否有效。用户子集大小k分别取1、5、10、20、50和100,并取5次的实验结果平均值为最终结果。实验结果如图3a和图3b所示。可以发现WTFA依然保持了最优的结果,次优结果仍然是最多评分的用户子集。另外随着k的增大,评分误差也逐渐接近,说明在用户子集规模足够大时,子集平均分已经越来越接近项目的实际平均分。但是,项目覆盖率的提升要缓慢的多,由于通过权重提升了较少出现的项目被覆盖的可能性,WTFA在项目覆盖率上的优势依然明显。
不同流派项目的对比如下:
MovieLens-1M数据集提供的电影流派有18个,每部电影可以属于多个流派。电影和流派之间的统计情况见表2。从表2中可以看到,不同流派的电影数量差别很大,较常见的流派如剧情片和喜剧片分别有1603部和1200部,而小众的流派如黑色流派和西部流派,分别只有44部和68部,其他流派的数量也都有很大区别。
同时,不同流派的电影得到的评分次数也有所不同,例如犯罪流派,平均每部电影仅被评分70次,而数量与其接近的音乐剧,平均每部被评分428.2次,可以看出用户评分覆盖范围的明显差别。类似的,科幻流派虽然数量较少(276部),但是平均评分数量却高达711.7次,说明这是一个较受欢迎的小众流派。
表2 电影流派统计情况
实验首先考察给定用户子集规模和测试集比例时,所有流派上的评分误差和项目覆盖率对比。取用户子集大小k=50,测试集比例50%,实验结果如图4a和图4b。可以发现,流派包含的电影数量和流派中电影的平均评分次数和实验结果具有一定的相关性。比如,电影数量和评分次数都很少的犯罪流派,在评分误差和项目覆盖率上都比较差。与之类似的,电影数量较少的儿童、浪漫、西部等流派,实验结果也比较差。而恐怖流派虽然电影数量较多,但是平均评分次数较少,实验结果也不理想。在实验中,虽然大部分情况下WTFA都取得了较好的结果,但是在部分小众流派如犯罪、恐怖流派的评分误差上表现略差于其他方法。在小众流派上,着重考虑流派覆盖率的GTFA方法取得了较好的结果,说明对于小众流派,不能单纯的从项目覆盖率的角度处理。
实验也考察了在给定用户规模时,随着测试集比例变化,各个流派上的实验结果对比。取用户子集大小k=50,测试集比例取10%、50%和90%,实验结果如图4a和图4b(50%)、图5a和图5b(10%)和图6a和图6b(90%)。由这些对比可以看出,随着测试集占比减小,所有方法的实验效果都有所上升,例如在图4(b)中,在测试集比例10%的情况下,几乎所有流派的覆盖率都接近100%。按流派分别比较实验结果,由于犯罪流派的小众性,该流派的实验结果是最差的。但是相比较于其他方法,在测试集比例变化时,WTFA依然保持了最好的结果。类似的情况也存在于大部分流派的实验结果中。进一步的分析可以发现,虽然WTFA在部分小众流派上的评分误差较大,但是始终保持了较高的项目覆盖率。另外,随着测试集比例的上升,其依然保持了较小的评分误差和较高的项目覆盖率,可以说明WTFA在面临新的从未出现过的新项目时,有较强的实用性,其选出的典型用户群组可以用于实用推荐系统中的长期跟踪和研究。
关于推荐效果的比较如下:
在进行MAE和RMSE推荐效果的对比试验时,将MovieLens-1M数据集的评分数据进行完全随机的划分。比例划分从10%到90%,每10%为一档,在每个档次上实验5次,并取5次的结果平均值为最终结果。其中,选取的用户子集大小为50,协同过滤算法的最近邻大小为20。参数的选择是基于图7a和图7b中TUG-CF推荐效果随着参数变化的比较得出的,可见随着用户子集和最近邻大小的增加,推荐效果是逐渐提升的,但是同时计算开销也会增大,因此基于综合考虑选择了目前的参数。
之前所述的五种算法的推荐结果对比如表3。
表3 推荐效果比较(左:MAE,右:RMSE)
由表中可以看到,在大部分情况下,TUG-CF的评分预测效果都是最优的。这说明在较小的用户子集中寻找所有用户的最近邻,在充分考虑用户子集对推荐项的覆盖率情况下,是可以得到较好的结果的。GT-CF、MR-CF和MD-CF方法也显示,在用户子集的实现上,WTFA方法找到的典型用户子集对于推荐算法的提升最高,其典型性和代表性也最好。另外,在测试集比例较大时,经典的基于用户的协同过滤算法(UCF)取得了最好的结果,这也说明典型用户群组的代表性也取决于用户数据的完整性与否,原始数据不完整的情况下,典型用户群组的优势并不明显。
Top-K的实验结果如图8所示,实验的测试集比例为50%。实验中选取了测试集中真实得分大于3的项目(假定为用户喜欢的项目)和各个算法预测得分大于3的无评分项目(既不在训练集也不在测试集中)构成推荐列表,并检查这些测试集项目的Top-K分布,最终得到对比结果。由图中可以看出,基于TUG-CF给出的评分得到的排序结果可以将较多的用户喜欢的项目排在靠前的位置,其他基于用户子集的方法结果也好于经典的协同过滤方法,可见典型用户群组对于推荐结果的排序也能起到优化作用。另外,注意到每条曲线最后接近100%时都有一个跃升,这是由于部分用户喜欢的项目预测得分小于3而被排在推荐列表的最后造成的。推荐方法的比较实验可以看出,TUG-CF在推荐评分精确性和推荐结果排序准确性上都优于对比方法。通过合理地运用典型用户群组改进协同过滤算法,确实有效地提升了推荐效果
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

Claims (2)

1.一种基于典型用户群组发现技术的信息推荐方法,其特征在于,包括以下步骤:
11)发现典型用户群组TUG,针对用户集合和项目集合计算出典型用户群组;其具体步骤如下:
110)定义用户集合U={ui},0≤i<|U|;定义项目集合P={pj},0≤j<|P|;
111)使用评分矩阵R定义用户和项目之间的互动信息,
R={rij}|U|×|P|,rij≥0,
其中rij=0代表用户ui和项目pj没有互动,并将在R中从未出现的用户或项目从U和P中删除;
112)针对用户集合U定义空用户子集U’,定义候选用户Uc,定义候选用户子集Uc中的用户数为k,U’的项目覆盖集PU’定义为
P U &prime; = { p k } , &Exists; r ik &NotEqual; 0 , u i &Element; U &prime; ;
113)计算U’的项目覆盖率,P的子集PU’在P中所占的比例,
Cov ( U &prime; ) = | P U &prime; | | P | &times; 100 % ;
114)定义子集U1加入到子集U’的递增项目覆盖率ICovU’(U1),
ICovU'(U1)=Cov(U1∪U')-Cov(U');
115)令U1={u},当每次选择一个用户u加入U’,则
ICov U &prime; ( u ) = | P u &cup; U &prime; | - | P U &prime; | | P | &times; 100 %
将Pu和PU’中相同的项目会互相抵消,则
ICov U , ( u ) = &Sigma; p j &Element; P f ( p j &Element; P u , p j &NotElement; P U , ) | P | ,
其中
116)定义加权的递增项目覆盖率,
ICov U , ( u ) = &Sigma; p j &Element; P w j &times; f ( p j &Element; P u , p j &NotElement; P U , ) | P | ,
其中权重wj定义为其中Sj表示项目Pj一共被Sj个用户选择过;
117)进行1至k次循环,在循环过程中分别计算Uc中所有用户的加权递增项目覆盖率;计算maxCov(TUG),选出最大加权递增项目覆盖率的用户u;将u添加到U’中,从Uc中删去u;
118)循环结束后,U’为所求的典型用户群组TUG;
12)计算推荐结果R’,基于典型用户群组TUG,将协同过滤推荐方法的最近邻搜索范围从全体用户缩小到典型用户群组中,计算出推荐结果R’。
2.根据权利要求1所述的一种基于典型用户群组发现技术的信息推荐方法,其特征在于:所述的计算推荐结果R’包括以下步骤:
21)相似度计算,对于每个用户u,计算u和TUG中每个典型用户的相似度,相似度计算公式如下:
Sim ( u , u 2 ) = &Sigma; p j &Element; P r uj &times; r 2 j &Sigma; p j &Element; P r uj 2 &Sigma; p j &Element; P r 2 j 2 , u 2 &Element; TUG ;
22)最近邻搜索,从TUG中选出和u相似度最高的n个典型用户,作为最近邻集合UN
23)评分预测,对于用户u未评分的项目p计算其得分,通过其最近邻集合UN对项目p评分的加权平均计算出得分;
24)对于所有的用户所有未评分项进行预测,并按得分从高到低排序,得到推荐结果R’。
CN201410261200.2A 2014-06-12 2014-06-12 一种基于典型用户群组发现技术的信息推荐方法 Active CN104008193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410261200.2A CN104008193B (zh) 2014-06-12 2014-06-12 一种基于典型用户群组发现技术的信息推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410261200.2A CN104008193B (zh) 2014-06-12 2014-06-12 一种基于典型用户群组发现技术的信息推荐方法

Publications (2)

Publication Number Publication Date
CN104008193A true CN104008193A (zh) 2014-08-27
CN104008193B CN104008193B (zh) 2017-04-05

Family

ID=51368850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410261200.2A Active CN104008193B (zh) 2014-06-12 2014-06-12 一种基于典型用户群组发现技术的信息推荐方法

Country Status (1)

Country Link
CN (1) CN104008193B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504149A (zh) * 2015-01-08 2015-04-08 中国联合网络通信集团有限公司 一种实现应用推荐的方法及装置
CN104519377A (zh) * 2014-12-30 2015-04-15 康佳集团股份有限公司 一种电视软件入库发布验证的方法及系统
CN106127506A (zh) * 2016-06-13 2016-11-16 浙江大学 一种基于主动学习解决商品冷启动问题的推荐方法
CN107592572A (zh) * 2017-09-21 2018-01-16 广州华多网络科技有限公司 视频推荐方法、装置及其设备
CN107767238A (zh) * 2017-11-18 2018-03-06 东北电力大学 一种基于电力交易用户最优特征子集的售电套餐推荐方法
CN112784171A (zh) * 2021-01-21 2021-05-11 重庆邮电大学 一种基于上下文典型性的电影推荐方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547351A (zh) * 2003-12-04 2004-11-17 上海交通大学 处理超大量用户的协同过滤推荐方法
CN102346894A (zh) * 2010-08-03 2012-02-08 阿里巴巴集团控股有限公司 推荐信息的输出方法、系统及服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547351A (zh) * 2003-12-04 2004-11-17 上海交通大学 处理超大量用户的协同过滤推荐方法
CN102346894A (zh) * 2010-08-03 2012-02-08 阿里巴巴集团控股有限公司 推荐信息的输出方法、系统及服务器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
QILIU等: "A Cocktail Approach for Travel Package Recommendation", 《IEEE TRANSACTIONS ON KNOW;EDGE AND DATA ENGINEERING》 *
QILIU等: "Linear Computation for Independent Social Influence", 《2013 IEEE 13TH INTERNATIONAL CONFERENCE ON DATA MINING》 *
陈克寒 等: "基于用户聚类的异构社交网络推荐算法", 《计算机学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519377A (zh) * 2014-12-30 2015-04-15 康佳集团股份有限公司 一种电视软件入库发布验证的方法及系统
CN104504149A (zh) * 2015-01-08 2015-04-08 中国联合网络通信集团有限公司 一种实现应用推荐的方法及装置
CN106127506A (zh) * 2016-06-13 2016-11-16 浙江大学 一种基于主动学习解决商品冷启动问题的推荐方法
CN106127506B (zh) * 2016-06-13 2019-12-17 浙江大学 一种基于主动学习解决商品冷启动问题的推荐方法
CN107592572A (zh) * 2017-09-21 2018-01-16 广州华多网络科技有限公司 视频推荐方法、装置及其设备
CN107767238A (zh) * 2017-11-18 2018-03-06 东北电力大学 一种基于电力交易用户最优特征子集的售电套餐推荐方法
CN112784171A (zh) * 2021-01-21 2021-05-11 重庆邮电大学 一种基于上下文典型性的电影推荐方法

Also Published As

Publication number Publication date
CN104008193B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
WO2017071251A1 (zh) 信息推送方法和装置
CN104008193A (zh) 一种基于典型用户群组发现技术的信息推荐方法
WO2017096832A1 (zh) 媒体数据推荐方法及服务器
WO2016191959A1 (zh) 一种时变的协同过滤推荐方法
CN101489107B (zh) 一种基于人口属性关键字向量的协作过滤推荐方法
CN108573041B (zh) 基于加权信任关系的概率矩阵分解推荐方法
CN102780920A (zh) 电视节目推荐方法及系统
Guo et al. Personalized ranking with pairwise factorization machines
CN106980646A (zh) 基于流行度对用户兴趣的影响机制分析及其在推荐算法中应用的方法
CN102411754A (zh) 一种基于商品属性熵值的个性化推荐方法
CN101271559A (zh) 一种基于用户局部兴趣挖掘的协作推荐系统
CN103886090A (zh) 基于用户喜好的内容推荐方法及装置
CN103514304A (zh) 一种项目推荐方法和装置
CN103559622A (zh) 基于特征的协同过滤推荐方法
CN109982155B (zh) 一种播单推荐方法及系统
US11243957B2 (en) Self-organizing maps for adaptive individualized user preference determination for recommendation systems
CN103886486A (zh) 一种基于支持向量机svm的电子商务推荐方法
Zuva et al. A survey of recommender systems techniques, challenges and evaluation metrics
CN105430505A (zh) 一种基于组合策略的iptv节目推荐方法
CN108874916A (zh) 一种层叠组合协同过滤推荐方法
KR20170079429A (ko) 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템
CN103337028A (zh) 一种推荐方法、装置
CN104063555B (zh) 面向遥感信息智能分发的用户模型建模方法
CN106951459B (zh) 基于熵值法的改进协同过滤推荐方法
Li et al. Exploiting organizer influence and geographical preference for new event 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
GR01 Patent grant
GR01 Patent grant