一种用于mashup应用推荐的协同过滤方法

文档序号:6511284阅读:115来源:国知局
一种用于mashup应用推荐的协同过滤方法
【专利摘要】本发明公开了一种用于mashup应用推荐的协同过滤方法,包括以下步骤:步骤1,计算mashup应用之间的内容相似度;步骤2,传递内容相似度;步骤3,聚类mashup应用;步骤4,计算属于同一个聚类的mashup应用之间的评分相似度;步骤5,选择邻居;步骤6,推荐mashup应用。本发明优势包括:聚类中的mashup应用数目远小于推荐系统中所有mashup应用的数目,推荐系统响应速度较快;同一聚类中的用户评分相对更集中,密度较大,稀疏度较小,mashup应用的评分相似度计算更准确;同一聚类中mashup应用更相关,评分推测更准确;离线完成聚类过程,保证了推荐系统的及时更新。
【专利说明】—种用于mashup应用推荐的协同过滤方法
【技术领域】
[0001]本发明涉及计算机软件【技术领域】,特别是一种用于mashup应用的推荐的协同过滤方法。
【背景技术】
[0002]自20世纪80年代开始,全球产业结构呈现出“工业型经济”向“服务型经济”转型的总趋势。根据世界银行的统计,现代服务业的总产出占世界总产出的60%以上,而发达国家则超过70%。现代服务业的竞争正成为世界经济发展的焦点。服务计算提供灵活的计算架构支持现代服务业,逐渐成为极富前途的研究领域。
[0003]随着服务计算和Web2.0技术的发展,一种新型的网络应用mashup应用在因特网上逐渐兴起。互联网实验室的《2006-2007互联网前沿发展大趋势》中指出:“Mashup应用将成为未来内容创新性组合的全新方式。而Mashup应用程序就是使用这种模式搭建而成的全新的创新服务,使用到外部的多个数据源的内容和服务,把松散的资源、要素、服务和功能集成在网络环境中,并且新的服务的价值大于所使用服务组合的简单叠加,它带给用户集成体验;分散在各地的页面被以一种新奇的重用模式合并、表达出来。Mashup应用体现了面向服务的框架(Service Oriented Architecture, S0A)的理念,是一种基于网络的、可复用的、轻量级的内容集成。近年来,mashup应用已经成为web应用领域的热门词汇,许多公司和机构提供了多种多样的mashup应用解决方案或将已有的整合方案重新标记为mashup应用工具。目前,已推出的mashup应用开发工具主要有Yahoo !Pipes、Microsoft’ sPopFly、Google Mashup Editor>IBM Damia 以及Intel? Mash Maker 等。这些工具使得用户更加容易、方便地糅合web应用,加速了 mashup应用的开发进程,导致mashup应用的数目日益增加。来自programmableweb网站的数据显示,截至2013年9月5日,全球在该网站上注册的API数目达到9902个,基于 API开发的mashup应用达到7172个。典型的mashup应用包括地图mashup应用,图片和视频mashup应用,搜索和购物mashup应用等。这些mashup应用及其生成的数据具有数据量大、处理速度快、数据类型多等大数据特征。为了从大数据中发现知识并加以利用,指导人们的决策,必须对这些数据进行深入的分析,而不是仅仅生成简单的报表。
[0004]面对大量类似功能的mashup应用,大部分用户缺乏足够的经验或能力选择合适的mashup应用,因此,为用户推荐适合个性需求的mashup应用,成为当前急需解决的问题。推荐系统是解决信息过载问题的有效手段之一,而协同过滤是推荐系统中最常用的方法。协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。然而,随着mashup应用及其产生的数据量越来越大,mashup应用的协同过滤技术面临诸多挑战:(l)mashup应用数量巨大,但推荐系统需极可能快地作出响应;(2)尽管mashup应用增长迅速,但表达用户对mashup应用的兴趣的信息非常稀疏,使得用户或mashup应用之间相似度的计算可能不准确;(3)mashup应用的种类越来越多,从用户对各种其他类别中的mashup应用的评价推测其对于给定mashup应用的评价很可能并不准确;(4)新的用户和新的mashup应用不断加入推荐系统,推荐算法应该快速、准确地更新。

【发明内容】

[0005]发明目的:本发明所要解决的技术问题是针对现有技术中响应时间长,推荐质量不高的缺陷,提供一种用于mashup应用推荐的协同过滤方法。
[0006]为了解决上述技术问题,本发明公开了一种用于mashup应用推荐的协同过滤方法,包括以下步骤:
[0007]步骤I,计算mashup应用之间的内容相似度:提取所有mashup应用的应用程序接口(Application Programming Interface, API)和标签信息,基于杰卡德相似系数(Jaccard Similarity Coeff icient, JSC),得到任意两个mashup应用之间的API相似度和标签相似度,加权合成mashup应用之间的内容相似度;
[0008]步骤2,传递内容相似度:建立一个无向加权图,图中一个结点对应一个mashup应用并以相应的mashup应用为标记,若两个mashup应用之间内容相似度不为O,则在以这两个mashup应用为标记的结点之间加上一条边,而这两个mashup应用之间的内容相似度则作为边的权值,然后根据相似度传递规则匹配情况,计算两个不直接相连但有路径相通的mashup应用之间被传递的内容相似度;
[0009]步骤3,聚类mashup应用:采用凝聚型层次聚类方法,首先将每个mashup应用看作一个聚类,迭代地将相似度最高的mashup应用聚为一类,直至所有mashup应用聚为一类;
[0010]步骤4,计算mashup应用之间的评分相似度:在两个mashup应用都属于同一个聚类的前提下,使用皮尔逊相关系数(Pearson Correlation Coefficient, PCC)方法计算mashup应用之间的评分相似度;
[0011]步骤5,选择mashup应用的邻居:设定一个相似阈值,若某个mashup应用与目标mashup应用的评分相似度超过相似阈值,则将其加入目标mashup应用的邻居集合;
[0012]步骤6,推荐mashup应用:根据目标mashup应用的邻居评分计算目标mashup应用的预测评分值,若该值超过预设的推荐阈值,则将目标mashup应用推荐给用户,否则不推荐。
[0013]本发明中,需要指出,内容相似度传递仅在没有直接边相连的两个mashup应用之间进行。传递路径长度阈值L为大于I的整数,值越大,越多mashup应用可建立内容相似关系,但被传递的内容相似度越小,当L超过4时,大多数被传递的内容相似度接近于0,因此,权衡关系的传递和相似度的大小,本发明中,L取值为4。
[0014]本发明中,需要指出,在使用基于项目的皮尔逊相关系数方法计算目标mashup应用和其他mashup应用的评分相似度时,仅当其他mashup应用也属于目标聚类时才进行评分相似度计算。
[0015]本发明中,需要指出,在选择目标mashup应用的邻居时,设置的相似阈值越大,得到的邻居与目标mashup应用越相似,但同时也减少了目标mashup应用的邻居数目甚至使邻居数为0,因此可通过实验调节进行权衡。
[0016]本发明中,需要指出,在进行mashup应用推荐时,由用户或系统预先设定一个推荐阈值,推荐阈值越大,为用户推荐的mashup应用越有价值,但如果推荐阈值大于评分制中值,将只有很少的mashup应用能够得到推荐,这也不利于推荐系统的应用,因此,本发明中,设置推荐阈值为评分制中值,(例如用户采用5分制评分,则2.5被设为推荐阈值),若目标mashup应用的预测评分值超过推荐阈值,则将之推荐给活动用户,否则不推荐。
[0017]与现有的推荐方法相比,本发明提出的方法,其优势包括:(I)聚类中的mashup应用数目远小于推荐系统中所有mashup应用的数目,因此,推荐系统响应速度较快;(2)同一聚类中的用户评分相对更集中,密度较大,稀疏度较小,mashup应用的评分相似度计算更准确;(3) —个聚类中的mashup应用的种类较少,用户对这些mashup应用的评分与同属于一个聚类中的给定mashup应用的评分相关,评分推测更准确;(4)离线完成聚类过程,保证了推荐系统的及时更新。
【专利附图】

【附图说明】
[0018]下面结合附图和【具体实施方式】对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0019]图1是本发明一种用于mashup应用推荐的协同过滤方法的流程图。
[0020]图2是本发明实施例中基于传递规则的相似度传递的示意图。
[0021]图3是本发明实施例中凝聚型层次聚类结果示意图。
【具体实施方式】
[0022]本发明公开了一种用于mashup应用推荐的协同过滤方法,包括以下步骤:
[0023]步骤I,计算mashup应用之间的内容相似度:提取目标网站上所有mashup应用的API接口和标签信息,计算任意两个mashup应用之间的API相似度和标签相似度,加权合成mashup应用之间的内容相似度;
[0024]步骤2,传递内容相似度:建立一个无向加权图,图中一个结点对应一个mashup应用并以相应的mashup应用为标记,若两个mashup应用之间内容相似度不为O,则在以这两个mashup应用为标记的结点之间加上一条边,而这两个mashup应用之间的内容相似度则作为边的权值,然后根据相似度传递规则匹配情况,计算两个不直接相连但有路径相通的mashup应用之间被传递的内容相似度;
[0025]步骤3,聚类mashup应用:采用凝聚型层次聚类方法,将每个mashup应用看作一个聚类,迭代地将相似度最高的mashup应用聚为一类,直至所有mashup应用聚为一类;
[0026]步骤4,计算mashup应用之间的评分相似度:在两个mashup应用都属于同一个聚类的情况下,计算mashup应用之间的评分相似度;
[0027]步骤5,选择邻居mashup应用:设定一个相似阈值,若一个mashup应用与目标mashup应用的评分相似度超过相似阈值,则将其加入目标mashup应用的邻居集合;
[0028]步骤6,推荐mashup应用:根据目标mashup应用的邻居集合内的mashup应用评分计算目标mashup应用的预测评分值,根据用户对mashup应用的评分范围设定推荐阈值,若目标mashup应用的预测评分值大于等于推荐阈值,则将之推荐给用户,否则不推荐。
[0029]步骤I中,采用杰卡德相似系数计算第i个mashup应用Iiii和第j个mashup应用Inj的API相似度SaOv Kij),计算公式为:
【权利要求】
1.一种用于mashup应用推荐的协同过滤方法,其特征在于,包括以下步骤: 步骤1,计算mashup应用之间的内容相似度:提取目标网站上所有mashup应用的API接口和标签信息,计算任意两个mashup应用之间的API相似度和标签相似度,加权合成mashup应用之间的内容相似度; 步骤2,传递内容相似度:建立一个无向加权图,图中一个结点对应一个mashup应用并以相应的mashup应用为标记,若两个mashup应用之间内容相似度不为O,则在以这两个mashup应用为标记的结点之间加上一条边,而这两个mashup应用之间的内容相似度则作为该边的权值,然后根据相似度传递规则匹配情况,计算两个不直接相连但有路径相通的mashup应用之间被传递的内容相似度; 步骤3,聚类mashup应用:采用凝聚型层次聚类方法,将每个mashup应用看作一个聚类,迭代地将相似度最高的mashup应用聚为一类,直至所有mashup应用聚为一类; 步骤4,计算mashup应用之间的评分相似度:在两个mashup应用都属于同一个聚类的情况下,计算mashup应用之间的评分相似度; 步骤5,选择邻居mashup应用:设定一个相似阈值,若一个mashup应用与目标mashup应用的评分相似度超过相似阈值,则将其加入目标mashup应用的邻居集合; 步骤6,推荐mashup应用:根据目标mashup应用的邻居集合内的mashup应用评分计算目标mashup应用的预测评分值,根据用户对mashup应用的评分范围设定推荐阈值,若目标mashup应用的预测评分值大于等于推荐阈值,则将之推荐给用户,否则不推荐。
2.根据权利要求1所述的方法,其特征在于,步骤I中,采用杰卡德相似系数计算第i个mashup应用Iiii和第j个mashup应用m」的API相似度SaOv mj),计算公式为: 其中,Ai为被第i个mashup应用Iiii所使用的API集合,Aj是被第j个mashup应用m」所使用的API集合。
3.根据权利要求2所述的方法,其特征在于,步骤I中,采用杰卡德相似系数计算mashup应用Iiii和mashup应用m」的标签相似度St Oni, m」),计算公式为:
4.根据权利要求3所述的方法,其特征在于,步骤I中,加权合成mashup应用Iiii和mashup应用m」之间的内容相似度ScOni, m」),计算公式为:
5.根据权利要求1所述的方法,其特征在于,步骤2中根据相似度传递规则匹配情况,计算两个不直接相连但有路径相通的mashup应用之间被传递的内容相似度,包括以下三种情况: 情况1:如果以第P个mashup应用mp为标记的结点Knp和以第q个mashup应用m,为标记的结卢Ili两个之间仅有一条路径相通,将该路径定义为结点序列集合
6.根据权利要求1所述的方法,其特征在于,步骤4中,定义当前需要判断是否向活动用户推荐的一个mashup应用为目标mashup应用mt,而目标mashup应用mt所在的聚类则定义为目标聚类Ct,然后采用基于项目的皮尔逊相关系数公式计算目标mashup应用mt和目标聚类Ct中的第j个mashup应用m」之间的评分相似度i_sim(mt, m」):
(、YiUjEUf-OU j^m1-1
爪t’,) = I/ J _ 2lJr ] _ ^

^EuiEUcnUj [TuilTnt-^mt)tfWj yUirTtiJ-^mj) 其中,Ut是评分过目标mashup应用mt的用户集合,Uj是评分过第j个mashup应用m」的用户集合,是用户Ui对目标mashup应用mt的评分,k.nir是用户Ui对第j个mashup应用mj的评分,Fmfr是目标mashup应用mt得到的评分的平均值〒\是第j个mashup应用IHj得到的评分的平均值; 约束条件为: mt e Ct Λ m』.e Ct, 表明目标mashup应用mt和第j个mashup应用m」同时属于目标聚类Ct。
7.根据权利要求6所述的方法,其特征在于,步骤5中,使用以下约束条件选择目标mashup应用mt的邻居,并加入目标mashup应用mt的邻居集合N (mt):
N (mt) = Irnj I i_sim(mt, Hij) > y , mt ^ HijI,其中,i_sim(mt, m」)是目标mashup应用mt和第j个mashup应用m」之间的评分相似度,Y是预设的相似阈值,OS Y^lo
8.根据权利要求6所述的方法,其特征在于,步骤6中,对于活动用户Ua而言使用以下公式计算目标mashup应用mt的预测评分值Pi(rua,mt): 其中,而是目标mashup应用mt的平均评分,N(mt)是目标mashup应用mt的邻居集合,7Vmj是活动用户Ua对第j个mashup应用m」的评分,i_sim(mt, m」)是目标mashup应用mt和第j个mashup应用m」之间的评分相似度。
【文档编号】G06F9/46GK103473128SQ201310414793
【公开日】2013年12月25日 申请日期:2013年9月12日 优先权日:2013年9月12日
【发明者】窦万春, 胡蓉 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1