CN103455613A - 基于MapReduce模型的兴趣感知服务推荐方法 - Google Patents

基于MapReduce模型的兴趣感知服务推荐方法 Download PDF

Info

Publication number
CN103455613A
CN103455613A CN201310405629XA CN201310405629A CN103455613A CN 103455613 A CN103455613 A CN 103455613A CN 201310405629X A CN201310405629X A CN 201310405629XA CN 201310405629 A CN201310405629 A CN 201310405629A CN 103455613 A CN103455613 A CN 103455613A
Authority
CN
China
Prior art keywords
keyword
interest
targeted customer
historical user
candidate
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
CN201310405629XA
Other languages
English (en)
Other versions
CN103455613B (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.)
Nanjing University
Original Assignee
Nanjing 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 Nanjing University filed Critical Nanjing University
Priority to CN201310405629.XA priority Critical patent/CN103455613B/zh
Publication of CN103455613A publication Critical patent/CN103455613A/zh
Application granted granted Critical
Publication of CN103455613B publication Critical patent/CN103455613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开了基于MapReduce模型的兴趣感知服务推荐方法,包括以下步骤:步骤1:历史用户评论获取数据集;步骤2:根据本发明提供相应的关键词列表和领域词库提取目标用户和历史用户的兴趣,目标用户表示当前需要被推荐的用户;步骤3:对每个候选Web服务,计算目标用户与该候选Web服务的历史用户的相似度,为目标用户寻找相似的用户;步骤4:计算出目标用户和历史用户的相似度后,根据一种加权平均方法为目标用户预测出对于候选Web服务的个性化的评分,为目标用户提供一个个性化的服务排名列表,根据个性化的排名列表为用户推荐;步骤5:将步骤2至步骤4以Map-Reduce编程框架实现,分为四个阶段并行处理。

Description

基于MapReduce模型的兴趣感知服务推荐方法
技术领域
本发明涉及计算机数据处理领域,特别是一种适用于服务推荐的一种基于Map-Reduce模型的兴趣感知服务推荐方法。
背景技术
Internet的迅猛发展将人类带入了信息社会和网络经济时代,对企业发展和个人生活都产生了深刻的影响。在电子商务的虚拟环境下,商家所提供的商品种类和数量非常多,用户不可能通过一个小小的计算机屏幕一眼就知道所有的商品,用户也不可能像在物理环境下那样检查挑选商品。因此,需要商家提供一些智能化的选购指导,根据用户的兴趣爱好推荐用户可能感兴趣或是满意的商品,使用户能够很方便地得到自己所需要得到的商品。在这种背景下,推荐系统(Recommender Systems)应运而生。它是根据用户的特征,比如兴趣爱好,推荐满足用户要求的对象,也称个性化推荐系统(Personalized Recommender Systems)。实际中应用最多的,是在网上购物(尤其是B2C类型)环境下的、以商品为推荐对象的个性化推荐系统,它为用户推荐符合兴趣爱好的商品,如书籍,音像等。
大多数的推荐系统都是基于不同的评分策略为用户推荐最合适的候选Web服务。现存的服务推荐系统主要包括三种:基于内容的推荐系统;协同过滤推荐系统;混合型的推荐系统。基于内容的推荐系统主要是根据用户过去的选择为用户进行推荐。协同过滤的推荐系统是根据与目标用户兴趣相似的历史用户为其进行推荐。混合型的推荐系统则是将以上两种方法结合起来。
为了获得高效的推荐,为了获得有效的服务组合,工业界和学术界从不同的角度对服务推荐系统进行了大量研究。例如,G.Adomavicius等在“Toward the NextGeneration of Recommender Systems:A Survey of the Stateof-the-Art and PossibleExtensions”中对现存的推荐系统进行了概述,阐述了现存推荐系统的不足以及可能的解决途径使推荐系统能在更广泛的领域使用。在“Accuracy Improvements forMulti-criteria Recommender Systems”中D.Jannach等提出一个多维的服务推荐方法,该方法将用户根据用户偏好所制定的“兴趣格”进行聚类为用户进行推荐。随着Web2.0的成功,网上的信息量越来越大,给现存的推荐系统带来了挑战。随着各种云计算平台及软件的发展,如Apache Hadoop,Mapreduce,以及Mahout等等,这些平台可以提高推荐系统在大数据环境下的效率及可扩展性。
发明内容
本发明旨在克服现有技术中存在的不足,提供一种基于Map-Reduce模型的兴趣感知服务推荐方法,为用户提供个性化的服务推荐,并且提高了推荐系统的可扩展性。
本发明公开了一种基于MapReduce模型的兴趣感知服务推荐方法,包括以下步骤:
步骤1:获取数据集,从目标网站获取服务的历史用户的评论及评分,进行预处理,将获取的评论片段中的html标签和停止词除去以避免影响下面关键词提取的质量。
步骤2:本发明为用户提供了相应的服务领域的关键词列表,目标用户通过从关键词候选列表中选择关键词表示目标用户的兴趣,形成目标用户兴趣的关键词集合;根据关键词候选列表,如果历史用户对候选Web服务的评论中出现关键词列表中的词,则将关键词提取出来表示历史用户的兴趣,形成历史用户兴趣的关键词集合;
关键词候选列表示一组同时用来表示用户兴趣和服务质量属性的词,具体描述为K={k1,k2,...,ki...,kn},ki表示第i个关键词,n表示关键词的个数,n取值自然数,i取1~n中任意自然数。
目标用户通过从关键词候选列表中选择关键词来表示他的兴趣。此外,目标用户需要选择他所选关键词的重要程度,关键词重要程度的指标如表1所示,其中“1”表示一般,“3”表示重要,“5”表示非常重要。
表1.关键词重要程度指标
重要度 1 3 5
量度 一般 重要 非常重要
目标用户兴趣的关键词集合表示为UK={uk1,uk2,...ukd...,ukl},其中ukd表示目标用户从关键词列表中选出来的第d个关键词,l是选出来的关键词的总数。
历史用户的兴趣则根据关键词列表从他们对候选Web服务的评论中提取出来,如果历史用户对候选Web服务的评论中出现关键词列表中的词则将关键词提取出来转化为关键词集合表示历史用户的兴趣。要将候选Web服务的每个历史用户的评论转化为关键词集合作为历史用户的兴趣。历史用户的评论对应的关键词集合可以表示为RK={rk1,rk2,...,rkv,...,rkh},其中rkv表示从评论中提取出来的第v个关键词,h是提取出来关键词的总数。本发明中,一个评论就等价于它对应的关键词集合。
步骤3:根据一种基于余弦相似度方法计算目标用户和候选Web服务历史用户的相似度,为目标用户找出兴趣相似的历史用户。
在余弦相似度计算方法中,将目标用户兴趣的关键词集合UK转化为n维的权重向量
Figure BDA0000378447780000031
将历史用户兴趣的关键词集合RK转化为n维的权重向量n是关键词列表中关键词的个数,
Figure BDA0000378447780000033
的第i维,表示关键词列表中关键词ki
Figure BDA0000378447780000035
中的权重,
Figure BDA0000378447780000036
Figure BDA0000378447780000037
的第i维,表示关键词列表中关键词ki
Figure BDA0000378447780000038
中的权重。
采用层次分析处理AHP模型计算目标用户兴趣关键词集合中包含的关键词的权重,采用TF-IDF方法计算历史用户兴趣关键词集合中包含的关键词的权重,如果关键词集合中不包含关键词列表中的关键词ki,,则该关键词的权重为0。
本发明采用层次分析处理(Analytic hierarchy process,AHP)模型来计算目标用户的兴趣关键词集合中关键词的权重。
如果目标用户兴趣关键词集合中不包含关键词列表中的关键词ki,,则
Figure BDA0000378447780000039
如果目标用户兴趣关键词集合中包含关键词列表中的关键词ki,则采用层次分析处理AHP模型计算,计算过程如下:
首先要创建关于目标用户兴趣的关键词集合中的任意两个关键词的相对重要性的成对比较矩阵Am=(aij)m,两个关键词的相对重要性是目标用户选择的关键词重要程度的比值,该矩阵需满足以下述三个条件:
1)aij=1,i=j=1,2,3,...,m,
2)aij=1/aji,i,j=1,2,3,...,m and i≠j,
3)aij=aik/akj,i,j,k=1,2,3,...,m and i≠j,
其中,aij表示两个关键词的相对重要程度,m是目标用户兴趣关键词集合中关键词的个数,i,j,k表示关键词的标号;
检查成对比较矩阵的一致性后,通过以下公式计算目标用户兴趣关键词的权重
Figure BDA0000378447780000041
w UK i = 1 m Σ j = 1 m a ij Σ k = 1 m a kj ,
如果候选Web服务的历史用户兴趣关键词集合中不包含关键词列表中的关键词ki,,则 w RK i = 0 ;
历史用户兴趣关键词集合中关键词的权重则是通过TF-IDF(the termfrequency/inverse document frequency)方法确定的。TF-IDF是信息检索中确定关键词权重的最著名的方法之一。
如果候选Web服务的历史用户兴趣关键词集合中不包含关键词列表中的关键词ki,,则 w RK i = 0 .
如果历史用户兴趣关键词集合中包含关键词列表中的关键词ki,则采用TF-IDF方法计算;采用TF-IDF方法计算候选Web服务的每个历史用户兴趣关键词的权重向量时,对该历史用户所有评论中的每个评论,根据关键词候选列表,如果该评论中出现关键词列表中的词,则将关键词提取出来,形成历史用户评论关键词集合RK’,R'={RK'1,RK'2,...,RK'i,....,RK'g},R'表示该历史用户的所有评论关键词集合的集合,g表示该历史用户所有评论的总个数;历史用户所有评论包括对候选Web服务做出的评论以及对不在候选Web服务中的服务做出的评论。
TF是指评论关键词集合中关键词的词频,可由以下计算可得:
TF = N k i Σ N k i ,
其中
Figure BDA0000378447780000047
表示关键词ki在同一历史用户的所有评论的关键词集合中出现的次数。
IDF是指逆向文件频率,定义如下:
IDF = log | R ′ | | r ′ : k i ∈ r ′ |
其中|R’|是指同一历史用户的所有评论个数,|r':rki∈r'|是指评论关键词集合中出现关键词ki的评论的个数。则关键词ki的TF-IDF权重可以定义如下公式:
w RK i = TF × IDF = N k i Σ N k i × log | R ′ | | r ′ : k i ∈ r ′ | ,
TF指历史用户兴趣的关键词集合中关键词的词频,即关键词在评论中出现的频率,IDF是指词的逆向文件频率,一个词的IDF由总评论数目除以包含该词的评论的数目,再将得到的商取对数得到,表示关键词ki在历史用户的所有评论的关键词集合中出现的次数;|R’|指历史用户的所有评论个数,|r':ki∈r'|是指历史用户兴趣的关键词集合中出现关键词ki的评论r'的个数。
基于余弦方法的相似度的计算如下所示:
sim ( UK , RK ) = cos ( UK , RK ) = W → uk · W → RK | | W → uk | | 2 × | | W → RK | | 2 = Σ i = 1 n w UK i × w RK i Σ i = 1 n ( w UK i ) 2 Σ i = 1 n ( w RK i ) 2
其中
Figure BDA0000378447780000055
分别表示目标用户兴趣关键词集合UK的权重向量和历史用户兴趣的关键词集合RK的权重向量,
Figure BDA0000378447780000056
Figure BDA0000378447780000057
分别表示
Figure BDA0000378447780000058
Figure BDA0000378447780000059
的第i维,分别表示关键词列表中的关键词ki
Figure BDA00003784477800000510
Figure BDA00003784477800000511
中的权重。
步骤4:计算出目标用户和历史用户的相似度之后,可以为目标用户预测出对于候选Web服务的个性化的评分。本发明中,利用一种加权平均方法为目标用户计算每个候选Web服务个性化的评分pr,公式如下所示:
pr = r ‾ + k Σ RK j ∈ R ^ sim ( UK , RK j ) × ( r j - r ‾ ) ,
其中sim(UK,RKj)是指目标用户兴趣关键词集合UK的权重向量和历史用户兴趣的关键词集合RKj的相似度,乘数k是一个归一化因子,
Figure BDA00003784477800000513
Figure BDA00003784477800000514
表示过滤后的历史用户的兴趣关键词集合的集合,rj是步骤1中历史用户兴趣的关键词集合RKj对应的评分,表示该服务所有评分的算数平均值,集合
Figure BDA00003784477800000516
的过滤方法为将与目标用户兴趣关键词集合并集为空集的历史用户的关键词集合过滤掉。
重复以上步骤可以为目标用户计算出所有候选Web服务的个性化评分。可以为目标用户提供一个个性化的服务排名列表,评分最高的将被推荐给目标用户,当然也可以为其推荐前K个评分最高的候选Web服务。
步骤5:可将步骤2至步骤4以Map-Reduce编程框架实现,分为四个阶段并行处理,实现过程如附图2所示。
一:将步骤2中所有候选Web服务的评论转化为历史用户兴趣关键词集合的过程并行处理,同时将步骤4中计算每个候选Web服务评分的算数平均值
Figure BDA0000378447780000066
的过程在这一步中并行处理;
Map-I:将有相同s值的<u,s,rus,Rus>以<u,rus,Rus>的形式Map到相同的节点中去。
Reduce-I:将<u,rus,Rus>作为输入,对每个Map-I的输入<u,rus,Rus>输出
Figure BDA0000378447780000061
输出 O 1 = { < u , s , r us , RK us , r &OverBar; s } , s &Element; [ 1 , N ] 将用于第三阶段的相似度的计算。
其中I1={<u,s,rus,Rus>},s∈[1,N]是Map-I的输入,rus是历史用户u对候选Web服务s的评分,Rus是历史用户u对候选Web服务s的评论,N是候选Web服务的个数,Reduce-I的输出中的RKus是评论Rus对应的关键词集合。
二:将步骤3中候选Web服务的历史用户的所有评论分别转化为评论关键词集合的过程并行处理,并将利用TF-IDF方法计算候选Web服务的历史用户兴趣关键词集合的权重向量的过程并行处理;
Map-II:将有相同u值的元组<u,R'ut>以<R'ut>Map到同一个节点中。
Reduce-II:将<R'ut>作为输入,输出
Figure BDA0000378447780000063
其中I2={<u,R'ut>}是Map-II的输入,R'ut是历史用户u的一个评论,
Figure BDA0000378447780000064
表示历史用户u兴趣关键词集合的权重向量。输出元组将用于Reduce-III中的相似度计算。
三:将步骤3中计算目标用户和每个历史用户间的相似度的过程并行处理;
Map-III:将有相同s值的元组
Figure BDA0000378447780000071
Figure BDA0000378447780000072
的形式Map到同一节点中去。
Reduce-III:将
Figure BDA00003784477800000710
Figure BDA0000378447780000074
作为输入,输出 Similarity = { < u , s , r us , sim us , r &OverBar; s > , s &Element; [ 1 , N ] .
其中是目标用户兴趣的关键词集合的权重向量,simus表示目标用户和历史用户u在候选Web服务s上的相似度。
四:将步骤4中为目标用户计算对每个候选Web服务的个性化评分的过程并行处理,最后根据个性化的排名列表为目标用户推荐评分最高的服务。
Map-IV:将有相同s值的
Figure BDA0000378447780000077
元组以
Figure BDA0000378447780000078
的形式Map到相同的节点中去。
Reduce-IV:将
Figure BDA0000378447780000079
作为输入,输出Ranking-list={<prs,s>},s∈[1,N]。
其中prs表示为目标用户预测出的对候选Web服务s的个性化评分,同时经过Reduce-IV过程后这些元组是按服务的编号s排序的,这正是目标用户所需的候选Web服务的个性化排名列表,根据个性化的排名列表为用户推荐评分最高的服务。
本发明根据提供的关键词列表提取用户的兴趣;然后对每个候选Web服务,计算目标用户与该候选Web服务的历史用户的相似度,为目标用户寻找相似的用户;最后根据一种加权平均方法为目标用户预测出对于每个候选Web服务的个性化的评分,为目标用户提供一个个性化的服务排名列表,评分最高的候选Web服务将被推荐给目标用户。如果数据量较大,可将该方法以Map-Reduce模型作为编程框架并行处理,来提高该推荐方法的扩展性和效率。
与现有技术相比,本发明的效果体现在:
1)历史用户的兴趣是从其对候选Web服务的评论中提取得到更加真实可靠,目标用户可以根据关键词列表选择自己的兴趣,是推荐系统更加个性化。
2)将该推荐方法以Map-Reduce模型作为编程框架,分为四个阶段并行处理,提高了服务推荐方法的可扩展性和效率。
附图说明
图1本发明流程图。
图2为本发明基于Map-Reduce的实现流程图。
具体实施方式:
本发明提出了一种基于Map-Reduce模型的兴趣感知服务推荐方法,包括以下步骤:步骤1:获取数据集,从相应的服务领域网站获取服务的历史用户的评论及评分;步骤2:提取用户兴趣,本发明提供了相应的服务领域关键词候选列表,目标用户通过从关键词候选列表中选择关键词来表示他的兴趣,历史用户的兴趣根据关键词候选列表从他们对候选Web服务的评论中提取得到;步骤3:对每个候选Web服务,计算目标用户与该候选Web服务的历史用户的相似度,为目标用户寻找相似的用户;步骤4:根据一种加权平均方法为目标用户预测出对候选Web服务的个性化的评分,为目标用户提供一个个性化的候选Web服务排名列表,评分最高的候选Web服务将被推荐给目标用户;步骤5:将步骤2至步骤4以Map-Reduce编程框架实现,分为四个阶段并行处理。
本发明为用户提供了相应的服务领域关键词列表,目标用户通过从关键词候选列表中选择关键词来表示他的兴趣。历史用户的兴趣根据关键词候选列表从他们对服务的评论中提取出来。
根据一种基于余弦相似度的方法计算目标用户和候选Web服务历史用户的相似度,为目标用户找出兴趣相似的历史用户。
在余弦相似度计算方法中,将目标用户兴趣的关键词集合和历史用户兴趣的关键词集合分别转化为n维的权重向量
Figure BDA0000378447780000081
Figure BDA0000378447780000082
n是关键词列表中关键词的个数,
Figure BDA0000378447780000083
Figure BDA0000378447780000084
的第i维,表示关键词列表中关键词ki在中的权重,
Figure BDA0000378447780000087
Figure BDA0000378447780000088
的第i维,表示关键词列表中关键词ki中的权重;
采用层次分析处理AHP模型计算目标用户兴趣的关键词集合中包含的关键词的权重,采用TF-IDF方法计算历史用户兴趣的关键词集合中包含的关键词的权重,如果关键词集合中不包含关键词列表中的关键词ki,,则该关键词的权重为0;
基于余弦方法的相似度的计算如下所示
sim ( UK , RK ) = cos ( UK , RK ) = W &RightArrow; uk &CenterDot; W &RightArrow; RK | | W &RightArrow; uk | | 2 &times; | | W &RightArrow; RK | | 2 = &Sigma; i = 1 m w UK i &times; w RK i &Sigma; i = 1 n ( w UK i ) 2 &Sigma; i = 1 n ( w RK i ) 2
其中
Figure BDA0000378447780000093
分别表示目标用户兴趣关键词集合UK的权重向量和历史用户兴趣的关键词集合RK的权重向量,
Figure BDA0000378447780000094
Figure BDA0000378447780000095
分别表示
Figure BDA0000378447780000097
的第i维,分别表示关键词列表中的关键词ki
Figure BDA0000378447780000098
Figure BDA0000378447780000099
中的权重。
计算出目标用户和候选Web服务的历史用户的相似度之后,可为目标用户预测出每个候选Web服务的个性化评分。本发明利用一种加权平均方法为目标用户计算每个候选Web服务个性化的评分pr,公式如下所示:
pr = r &OverBar; + k &Sigma; RK j &Element; R ^ sim ( UK , RK j ) &times; ( r j - r &OverBar; )
其中sim(UK,RKj)是指目标用户兴趣关键词集合UK的权重向量和某个评论关键词集合RKj的相似度,乘数k是一个归一化因子,
Figure BDA00003784477800000912
表示经过简单过滤后剩下的评论,rj是评论RKj对应的评分,r表示该服务所有评分的算数平均值。
为目标用户计算出每个候选Web服务的个性化评分后,则可为目标用户提供一个个性化的服务排名列表,评分最高的将被推荐给目标用户,当然也可以为其推荐前K个评分最高的候选Web服务。
在本发明中为了提高该推荐方法的扩展性和效率,将该方法以Map-Reduce作为编程框架,分为四个阶段并行处理。
实施例1
本实施例假设以宾馆预订为例,选择了香港九龙的三个酒店:香港W酒店,香港朗廷酒店以及香港九龙海逸君绰酒店,将在这三个酒店中分别为Alice和Tom挑选最适合他们的酒店。本实施例从www.tripadvisor.com这个著名的旅游网站获得这三个酒店的历史用户的评论,为了方便,每个酒店分别挑选了30个历史用户的评论,为了计算历史用户的兴趣关键词的权重,也需要收集历史用户对其他酒店的评论,这也可以从www.tripadvisor.com获得。
表2中给出了一个简单的宾馆预订系统中的关键词候选列表。
表2.宾馆预订系统关键词候选列表样例
No. 关键词 No. 关键词 No. 关键词
1 Service 2 Room 3 Shopping
4 Cleanliness 5 Food 6 Value
7 Transportation 8 Family;Friends 9 Location
10 View 11 Quite 12 Fitness
13 Airport;Train 14 Wi-Fi 15 Environment
16 Bar 17 Beach
首先Alice和Tom分别从宾馆预订系统关键词候选列表选出关键词代表他们的兴趣。Alice和Tom兴趣关键词集合分别是{Service(5),Shopping(5),Location(3),Airport;Train(3)}和{Service(3),Food(3),Value(5),View(3)},其中括号里的数字代表兴趣的重要程度。为了简便,本实施例中利用表2中的编号来代表兴趣,所以Alice和Tom的兴趣关键词集合分别为UKA={1,3,9,13}和UKT={1,5,6,10}。
根据宾馆预订系统的关键词列表,分别将这三个酒店的30个历史用户评论转化为对应的关键词集合代表历史用户的兴趣,如果评论中出现关键词列表中的词则将关键词提取出来,如表3所示,其中集合内的数字为提取的历史用户的兴趣关键词对应的编号,集合后小括号中的数字表示历史用户对该酒店的评分。
表3.三个酒店的30个历史用户评论对应关键词集合
(a)香港W酒店30个历史用户评论对应关键词集合
No.1~6 No.7~12 No.13~18 No.19~24 No.24~30
{1,3,5,9,13}(5) {1,2,9,10,13}(5) {2,3,9}(5) {3,10,12,13}(5) {5,16}(4)
{1,2,3,10,13(4) {1,2,3,9,13}(4) {1,2,3,5,12,13}(5) {1,5,9,12,13}(5) {5,6,10}(4)
{2,6,10}(4) {1,2,9}(5) {1,2,3,5,9}(4) {1,5,6,12}(4) {1,2,9,13}(5)
{1,2,5,10}(5) {2,5,12}(4) {1,5,6}(4) {3,5,12,13}(5) {1,2,3,10,13}(5)
{1,2,9,13}(5) {1,2,6,13}(5) {1,2,5,9,12}(5) {1,9,13}(5) {2,5,9,10}(4)
{2,6,9,12}(4) {5,6,9}(4) {2,5,15}(5) {1,2,3,5,13}(4) {1,2,5,9}(5)
(b)香港朗廷酒店30个历史用户评论对应关键词集合
No.1~6 No.7~12 No.13~18 No.19~24 No.24~30
{1,2,5,9,14}(5) {1,2,3,5,9,12}(5) {2,5,6,8,11}(3) {1,2,5,6,9,14}(5) {1,2,3,6,9,12}(4)
{2,3,4,5,6,9}(5) {1,2,5,6}(5) {2,5,6,9}(4) {1,2,9,10,12}(5) {1,5,6,11}(4)
{1,3,6,8,9}(4) {2,3,9}(5) {1,2,3,10,13}(5) {1,2,3,5,9,13}(5) {1,2,3,11,12}(5)
{1,2,5,9,14}(5) {1,2,5,6,9}(4) {1,3,5,12,14}(5) {1,2,4,8,9}(5) {1,3,9,13}(5)
{1,2,5,9,15}(5) {1,2,6,9,14}(4) {1,3,5,9,12}(5) {1,5,6,9}(4) {2,6,9}(5)
{1,2,8,9,12}(5) {1,2,6,9,12}(4) {1,2,3,5,8}(5) {1,2,9,13}(5) {1,2,3,5,9}(5)
(c)香港九龙海逸君绰酒店30个历史用户评论对应关键词集合
No.1~6 No.7~12 No.13~18 No.19~24 No.24~30
{1,2,5,6,10}(5) {1,2,9,10,12}(5) {1,2,5,10,14}(5) {1,2,6,10}(5) {2,5,9,10}(4)
{1,3,8,9,10}(4) {1,2,5,8}(3) {2,5,6,8,12}(5) {1,2,5,10}(5) {1,2,5,10,14}(4)
{1,2,9,11,12}(4) {1,2,5,6,10}(5) {1,2,3,9,13}(4) {1,2,11,13}(3) {1,6,10,12}(5)
{1,2,5,10}(5) {1,2,10}(5) {1,2,6,10,12}(5) {2,6,10,11}(4) {1,2,6,8,12}(5)
{1,2,4,6,12}(5) {1,2,5,9,10}(4) {1,2,9,12}(4) {1,2,5,10,12}(5) {1,5,6,10}(5)
{1,2,3,5,7}(5) {1,3,5,10,14}(4) {1,2,5,8,10}(5) {1,2,9,10,11}(4) {1,2,5,6,10}(5)
Alice和Tomd兴趣的权重向量可由AHP方法算得分别为 W &RightArrow; UK A = [ 0.3125,0,0.3125 , 0,0,0,0,0,0.1875,0,0,0,0,0.1875,0,0,0,0 ] , W &RightArrow; UK T = [ 0.2143,0,0,0,0.2143,0.3571,0 , 0,0,0.2143,0,0,0,0,0,0,0,0 ] .
需将历史用户的对其他酒店的评论根据关键词候选列表转化为相应的关键词集合,然后利用TF-IDF方法来计算出历史用户兴趣的关键词权重(数目较多,此处不详细列出)。
然后对Alice和Tom分别利用基于余弦的方法计算他们与历史用户的兴趣相似度,最后分别算出他们对三个酒店的个性化评分,如表4所示。
表4.Alice和Tom对三个酒店的个性化评分
Figure BDA0000378447780000115
从表4中可以看出,如果按平均分最好的是香港朗廷酒店。实际上按照本发明方法,对Alice而言最合适的酒店是香港朗廷酒店,而对于Tom而言最合适的是香港九龙海逸君绰酒店。
此实施例数据量较小,如果数据量大则可用Map-Reduce模型实现,分四个阶段并行处理,来提高效率,过程如下:
一:将所有候选酒店的评论转化为历史用户兴趣关键词集合的过程并行处理,同时将计算每个候选酒店评分的算数平均值
Figure BDA0000378447780000121
的过程在这一步中并行处理;
二:将候选酒店的历史用户的所有评论分别转化为相应的关键词集合的过程并行处理,并将利用TF-IDF方法计算候选酒店的历史用户兴趣关键词集合的权重向量的过程并行处理;
三:将计算Alice,Tom和候选酒店的历史用户间的相似度的过程并行处理;
四:将为Alice,Tom计算对每个候选酒店的个性化评分的过程并行处理,最后根据个性化的排名列表分别为Alice,Tom推荐评分最高的服务。
本发明提供了一种基于Map-Reduce模型的兴趣感知服务推荐方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (7)

1.基于MapReduce模型的兴趣感知服务推荐方法,其特征在于:包括以下步骤:
步骤1:获取数据集,从目标网站获取服务的历史用户的评论及评分;
步骤2:设定关键词列表,目标用户通过从关键词候选列表中选择关键词表示目标用户的兴趣,形成目标用户兴趣的关键词集合UK;根据关键词候选列表,如果历史用户对候选Web服务的评论中出现关键词列表中的词,则将关键词提取出来表示历史用户的兴趣,形成历史用户兴趣的关键词集合RK;目标用户为当前需要被推荐的用户;
步骤3:对每个候选Web服务,采用一种基于余弦相似度方法计算目标用户与该候选Web服务的历史用户的相似度,为目标用户寻找相似度最高的历史用户;
步骤4:采用加权平均方法为目标用户计算出对于每个候选Web服务的个性化的评分,为目标用户提供一个个性化的服务排名列表,根据个性化的排名列表为目标用户推荐评分最高的服务。
2.根据权利要求1所述的基于MapReduce模型的兴趣感知服务推荐方法,其特征在于,步骤2中,关键词列表表示一组同时用来表示用户兴趣和服务质量属性的词,具体描述为K={k1,k2,...ki...,kn},ki表示第i个关键词,n表示关键词的个数,n取值自然数,i取1~n中任意自然数。
3.根据权利要求2所述的基于MapReduce模型的兴趣感知服务推荐方法,其特征在于,步骤2中,目标用户需选择其所选关键词的重要程度,程度为一般数值为1,程度为重要数值为3,程度为非常重要数值为5。
4.根据权利要求3所述的基于MapReduce模型的兴趣感知服务推荐方法,其特征在于,步骤3中,将目标用户兴趣的关键词集合UK转化为n维的权重向量
Figure FDA0000378447770000011
将历史用户兴趣的关键词集合RK转化为n维的权重向量 W &RightArrow; RK = [ w RK 1 , w RK 2 , . . . , w RK i , . . . , w RK n ] , n是关键词列表中关键词的个数,
Figure FDA0000378447770000013
Figure FDA0000378447770000014
的第i维,表示关键词列表中关键词ki
Figure FDA0000378447770000015
中的权重,
Figure FDA0000378447770000016
的第i维,表示关键词列表中关键词ki
Figure FDA0000378447770000018
中的权重;
采用层次分析处理AHP模型计算目标用户兴趣的关键词集合中关键词的权重,采用TF-IDF方法计算历史用户兴趣的关键词集合中关键词的权重,如果关键词列表中的关键词ki不在关键词集合中,则该关键词ki的权重为0;
基于余弦方法的相似度的计算如下所示:
sim ( UK , RK ) = cos ( UK , RK ) = W &RightArrow; uk &CenterDot; W &RightArrow; RK | | W &RightArrow; uk | | 2 &times; | | W &RightArrow; RK | | 2 = &Sigma; i = 1 m w UK i &times; w RK i &Sigma; i = 1 n ( w UK i ) 2 &Sigma; i = 1 n ( w RK i ) 2 .
5.根据权利要求4所述的基于MapReduce模型的兴趣感知服务推荐方法,其特征在于,采用层次分析处理AHP模型计算目标用户兴趣的关键词集合的权重向量包括如下步骤:
如果关键词列表中的关键词ki,不在目标用户兴趣关键词集合中,则
Figure FDA0000378447770000022
如果关键词列表中的关键词ki在目标用户兴趣关键词集合中,则采用层次分析处理AHP模型计算;
创建关于目标用户兴趣的关键词集合中的任意两个关键词的相对重要性的成对比较矩阵Am=(aij)m,两个关键词的相对重要性是目标用户选择的关键词重要程度的比值,该矩阵需满足以下述三个条件:
1)aij=1,i=j=1,2,3,...,m,
2)aij=1/aji,i,j=1,2,3,...,m andi≠j,
3)aij=aik/akj,i,j,k=1,2,3,...,m andi≠j,
其中,aij表示两个关键词的相对重要程度,m是目标用户兴趣关键词集合中关键词的个数,i,j,k表示关键词的标号;
通过以下公式计算目标用户兴趣关键词ki的权重
Figure FDA0000378447770000025
w UK i = 1 m &Sigma; j = 1 m a ij &Sigma; k = 1 m a kj ;
如果候选Web服务的历史用户兴趣关键词集合中不包含关键词列表中的关键词ki,,则 w RK i = 0 ;
如果关键词列表中的关键词ki在历史用户兴趣关键词集合中,则采用TF-IDF方法计算;采用TF-IDF方法计算候选Web服务的每个历史用户兴趣关键词的权重向量时,对该历史用户所有评论中的每个评论,根据关键词候选列表,如果该评论中出现关键词列表中的词,则将关键词提取出来,形成历史用户评论关键词集合RK’,R'={RK'1,RK'2,...,RK'i,....,RK'g},R'表示该历史用户的所有评论关键词集合的集合,g表示该历史用户所有评论的总个数;历史用户所有评论包括对候选Web服务做出的评论以及对不在候选Web服务中的服务做出的评论;
采用TF-IDF方法计算候选Web服务的历史用户兴趣关键词ki的权重
Figure FDA0000378447770000038
的公式为:
w RK i = TF &times; IDF = N k i &Sigma; N k i &times; log | R &prime; | | r &prime; : k i &Element; r &prime; | ,
TF指历史用户兴趣的关键词集合中关键词的词频,即关键词在评论中出现的频率,IDF是指词的逆向文件频率,一个词的IDF由总评论数目除以包含该词的评论的数目,再将得到的商取对数得到,
Figure FDA0000378447770000032
表示关键词ki在历史用户的所有评论的关键词集合中出现的次数;|R’|指历史用户的所有评论个数,|r':ki∈r'|是指历史用户兴趣的关键词集合中出现关键词ki的评论r'的个数。
6.根据权利要求5所述的基于MapReduce模型的兴趣感知服务推荐方法,其特征在于,步骤4中采用加权平均方法为目标用户计算每个候选Web服务个性化的评分pr,公式如下:
pr = r &OverBar; + k &Sigma; RK j &Element; R ^ sim ( UK , RK j ) &times; ( r j - r &OverBar; ) ,
其中sim(UK,RKj)是指目标用户兴趣关键词集合UK的权重向量和历史用户兴趣的关键词集合RKj的相似度,乘数k是一个归一化因子,
Figure FDA0000378447770000034
Figure FDA0000378447770000035
表示过滤后的历史用户的兴趣关键词集合的集合,rj是步骤1中历史用户兴趣的关键词集合RKj对应的评分,
Figure FDA0000378447770000036
表示该服务所有评分的算数平均值,集合
Figure FDA0000378447770000037
的过滤方法为将与目标用户兴趣关键词集合并集为空集的历史用户的关键词集合过滤掉。
7.根据权利要求6所述的基于MapReduce模型的兴趣感知服务推荐方法,其特征在于,步骤4后包括步骤5:将步骤2至步骤4以Map-Reduce编程框架实现,分为四个阶段并行处理,具体为:
一:将步骤2中所有候选Web服务的评论转化为历史用户兴趣关键词集合的过程并行处理,同时将步骤4中计算每个候选Web服务评分的算数平均值
Figure FDA0000378447770000041
的过程在这一步中并行处理;
二:将步骤3中候选Web服务的历史用户的所有评论分别转化为评论关键词集合RK’的过程并行处理,并将利用TF-IDF方法计算候选Web服务的历史用户兴趣关键词集合的权重向量的过程并行处理;
三:将步骤3中计算目标用户和候选Web服务的历史用户间的相似度的过程并行处理;
四:将步骤4中为目标用户计算对每个候选Web服务的个性化评分的过程并行处理,最后根据个性化的排名列表为目标用户推荐评分最高的服务。
CN201310405629.XA 2013-09-06 2013-09-06 基于MapReduce模型的兴趣感知服务推荐方法 Active CN103455613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310405629.XA CN103455613B (zh) 2013-09-06 2013-09-06 基于MapReduce模型的兴趣感知服务推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310405629.XA CN103455613B (zh) 2013-09-06 2013-09-06 基于MapReduce模型的兴趣感知服务推荐方法

Publications (2)

Publication Number Publication Date
CN103455613A true CN103455613A (zh) 2013-12-18
CN103455613B CN103455613B (zh) 2016-03-16

Family

ID=49737976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310405629.XA Active CN103455613B (zh) 2013-09-06 2013-09-06 基于MapReduce模型的兴趣感知服务推荐方法

Country Status (1)

Country Link
CN (1) CN103455613B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729478A (zh) * 2014-01-26 2014-04-16 重庆邮电大学 基于MapReduce的LBS兴趣点发现方法
CN104166722A (zh) * 2014-08-22 2014-11-26 中国联合网络通信集团有限公司 一种推荐网站的方法和装置
CN105117385A (zh) * 2015-09-09 2015-12-02 北京中润普达信息技术有限公司 一种以矩阵计算为基础进行舆论信息抽取的方法及系统
CN105589971A (zh) * 2016-01-08 2016-05-18 车智互联(北京)科技有限公司 训练推荐模型的方法、装置及推荐系统
CN105718488A (zh) * 2014-12-04 2016-06-29 阿里巴巴集团控股有限公司 基于计算机系统的推荐方法及其装置
CN106407403A (zh) * 2016-09-22 2017-02-15 湖北文理学院 基于学习的受约束服务聚合排名预测方法及装置
WO2017096832A1 (zh) * 2015-12-09 2017-06-15 乐视控股(北京)有限公司 媒体数据推荐方法及服务器
CN107066512A (zh) * 2017-01-23 2017-08-18 重庆邮电大学 一种基于Hadoop的用户偏好评估方法及系统
CN107133836A (zh) * 2017-03-22 2017-09-05 无锡中科富农物联科技有限公司 一种自适应权重组合推荐算法
CN107688647A (zh) * 2017-08-31 2018-02-13 刘伟 一种基于协同过滤的学习复习题库推荐方法
CN107767172A (zh) * 2017-10-12 2018-03-06 百度在线网络技术(北京)有限公司 信息推送方法、装置、服务器及介质
CN108052554A (zh) * 2017-11-29 2018-05-18 有米科技股份有限公司 多维度拓展关键词的方法和装置
CN109325146A (zh) * 2018-11-12 2019-02-12 平安科技(深圳)有限公司 一种视频推荐方法、装置、存储介质和服务器
CN110069663A (zh) * 2019-04-29 2019-07-30 厦门美图之家科技有限公司 视频推荐方法及装置
WO2020006834A1 (zh) * 2018-07-06 2020-01-09 平安科技(深圳)有限公司 金融机构推荐方法、设备、存储介质及装置
CN113221000A (zh) * 2021-05-17 2021-08-06 上海博亦信息科技有限公司 一种人才数据智能检索及推荐方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661483A (zh) * 2008-08-29 2010-03-03 株式会社理光 一种推荐系统及推荐方法
WO2012151054A1 (en) * 2011-05-05 2012-11-08 Alcatel Lucent Scheduling in mapreduce-like systems for fast completion time

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661483A (zh) * 2008-08-29 2010-03-03 株式会社理光 一种推荐系统及推荐方法
WO2012151054A1 (en) * 2011-05-05 2012-11-08 Alcatel Lucent Scheduling in mapreduce-like systems for fast completion time

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RONG HU ET AL.: "A Context-aware Collaborative Filtering Approach for Service Recommendation", 《INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND SERVICE COMPUTING》 *
郭韦昱: "基于用户行为分析的个性化推荐系统", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
金龑: "协同过滤算法及其并行化研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729478B (zh) * 2014-01-26 2016-11-09 重庆邮电大学 基于MapReduce的LBS兴趣点发现方法
CN103729478A (zh) * 2014-01-26 2014-04-16 重庆邮电大学 基于MapReduce的LBS兴趣点发现方法
CN104166722A (zh) * 2014-08-22 2014-11-26 中国联合网络通信集团有限公司 一种推荐网站的方法和装置
CN104166722B (zh) * 2014-08-22 2018-09-11 中国联合网络通信集团有限公司 一种推荐网站的方法和装置
CN105718488A (zh) * 2014-12-04 2016-06-29 阿里巴巴集团控股有限公司 基于计算机系统的推荐方法及其装置
CN105117385B (zh) * 2015-09-09 2017-12-19 北京中润普达信息技术有限公司 一种以矩阵计算为基础进行舆论信息抽取的方法及系统
CN105117385A (zh) * 2015-09-09 2015-12-02 北京中润普达信息技术有限公司 一种以矩阵计算为基础进行舆论信息抽取的方法及系统
WO2017096832A1 (zh) * 2015-12-09 2017-06-15 乐视控股(北京)有限公司 媒体数据推荐方法及服务器
CN105589971A (zh) * 2016-01-08 2016-05-18 车智互联(北京)科技有限公司 训练推荐模型的方法、装置及推荐系统
CN105589971B (zh) * 2016-01-08 2018-12-18 车智互联(北京)科技有限公司 训练推荐模型的方法、装置及推荐系统
CN106407403A (zh) * 2016-09-22 2017-02-15 湖北文理学院 基于学习的受约束服务聚合排名预测方法及装置
CN107066512A (zh) * 2017-01-23 2017-08-18 重庆邮电大学 一种基于Hadoop的用户偏好评估方法及系统
CN107133836A (zh) * 2017-03-22 2017-09-05 无锡中科富农物联科技有限公司 一种自适应权重组合推荐算法
CN107688647A (zh) * 2017-08-31 2018-02-13 刘伟 一种基于协同过滤的学习复习题库推荐方法
CN107767172A (zh) * 2017-10-12 2018-03-06 百度在线网络技术(北京)有限公司 信息推送方法、装置、服务器及介质
CN108052554A (zh) * 2017-11-29 2018-05-18 有米科技股份有限公司 多维度拓展关键词的方法和装置
CN108052554B (zh) * 2017-11-29 2019-04-30 有米科技股份有限公司 多维度拓展关键词的方法和装置
WO2020006834A1 (zh) * 2018-07-06 2020-01-09 平安科技(深圳)有限公司 金融机构推荐方法、设备、存储介质及装置
CN109325146A (zh) * 2018-11-12 2019-02-12 平安科技(深圳)有限公司 一种视频推荐方法、装置、存储介质和服务器
CN109325146B (zh) * 2018-11-12 2024-05-07 平安科技(深圳)有限公司 一种视频推荐方法、装置、存储介质和服务器
CN110069663A (zh) * 2019-04-29 2019-07-30 厦门美图之家科技有限公司 视频推荐方法及装置
CN110069663B (zh) * 2019-04-29 2021-06-04 厦门美图之家科技有限公司 视频推荐方法及装置
CN113221000A (zh) * 2021-05-17 2021-08-06 上海博亦信息科技有限公司 一种人才数据智能检索及推荐方法
CN113221000B (zh) * 2021-05-17 2023-02-28 上海博亦信息科技有限公司 一种人才数据智能检索及推荐方法

Also Published As

Publication number Publication date
CN103455613B (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
CN103455613B (zh) 基于MapReduce模型的兴趣感知服务推荐方法
US11507551B2 (en) Analytics based on scalable hierarchical categorization of web content
CN104156450B (zh) 一种基于用户网络数据的物品信息推荐方法
CN103593792B (zh) 一种基于中文知识图谱的个性化推荐方法与系统
CN105518667B (zh) 理解供搜索的表格的方法、系统和计算机存储介质
US9672283B2 (en) Structured and social data aggregator
CN103778214B (zh) 一种基于用户评论的商品属性聚类方法
Jomsri et al. A framework for tag-based research paper recommender system: an IR approach
US8423551B1 (en) Clustering internet resources
CN103823888B (zh) 一种基于节点亲密度的社交网站好友推荐方法
CN105930469A (zh) 基于Hadoop的个性化旅游推荐系统及方法
WO2014138415A1 (en) Linguistic expression of preferences in social media for prediction and recommendation
CN109101553B (zh) 用于购买方非受益方的行业的采购用户评价方法和系统
CN102289514B (zh) 社会标签自动标注的方法以及社会标签自动标注器
US11249993B2 (en) Answer facts from structured content
Zhang et al. CRATS: An LDA-based model for jointly mining latent communities, regions, activities, topics, and sentiments from geosocial network data
CN104217038A (zh) 一种针对财经新闻的知识网络构建方法
Hu et al. Hotel Recommendation System based on Review and Context Information: a Collaborative filtering Appro.
CN103198098A (zh) 一种网络信息投放方法和装置
JP5985543B2 (ja) 情報集計装置、情報集計方法及び情報集計プログラム
Chen et al. Social media-based profiling of business locations
CN102737090A (zh) 网页搜索结果排序方法及装置
Al-Dhelaan et al. Graph summarization for hashtag recommendation
CN110717089A (zh) 一种基于网络日志的用户行为分析系统及方法
Bhojne et al. Collaborative approach based restaurant recommender system using Naive Bayes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant