一种基于用户偏好特征建模的WEB服务推荐方法.pdf

上传人:zhu****69 文档编号:4907204 上传时间:2018-11-26 格式:PDF 页数:14 大小:1.40MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310547709.9

申请日:

2013.11.06

公开号:

CN103544623A

公开日:

2014.01.29

当前法律状态:

授权

有效性:

有权

法律详情:

登录超时

IPC分类号:

G06Q30/00(2012.01)I; G06F17/30

主分类号:

G06Q30/00

申请人:

武汉大学

发明人:

何克清; 张秀伟; 王健; 王翀; 刘建晓; 陈荆亮

地址:

430072 湖北省武汉市武昌区珞珈山武汉大学

优先权:

专利代理机构:

武汉科皓知识产权代理事务所(特殊普通合伙) 42222

代理人:

张火春

PDF下载: PDF下载
内容摘要

本发明公开了一种基于用户偏好特征建模的Web服务推荐方法,包括:1、从Web服务门户网站上收集Web服务,对收集的Web服务的服务角色、目标、流程和标签进行标注,并注册到Web服务平台中的服务注册库中,建立Web服务描述文档;2、从Web服务平台中收集用户的历史服务调用信息,生成用户对服务角色、目标、流程和标签的历史调用信息文档,并创建用户偏好文档;3、通过计算用户间的多维度的偏好相似度,并进行加权融合,产生用户的前N个偏好相似邻居,N≥1;4、将前N个偏好相似邻居用户调用最多的Web服务进行排序,生成最终的服务推荐列表。本方法适用于多种语言描述的Web服务,如WSDL描述的服务、OWL-S描述的服务以及文本语言等方式描述的Web服务,具有普适性。

权利要求书

权利要求书
1.  一种基于用户偏好特征建模的Web服务推荐方法,其特征在于,包括以下步骤:
步骤1:从Web服务门户网站上收集Web服务,对Web服务的服务角色、服务目标、服务流程和服务标签进行标注,并注册到Web服务平台中的服务注册库中,进而建立Web服务描述文档;
步骤2:从所述的Web服务平台中收集用户的历史服务调用信息,生成用户对服务角色、服务目标、服务流程和服务标签的历史调用信息文档,并创建用户偏好文档;
步骤3:通过计算用户间的多维度的偏好相似度,并进行加权融合,产生用户的前N个偏好相似邻居,其中N≥1;
步骤4:将所述的前N个偏好相似邻居用户调用的最多的Web服务进行排序,生成最终的服务推荐列表。

2.  根据权利要求1所述的基于用户偏好特征建模的Web服务推荐方法,其特征在于:所述的步骤1,其具体实现包括以下子步骤:
步骤1.1:从Web服务门户网站收集Web服务;
步骤1.2:针对收集的Web服务,根据ISO/IEC 19763-7服务注册元模型框架作为指导,对所述的Web服务的服务角色、服务目标、服务流程和服务标签进行标注,并注册到Web服务平台中的服务注册库中,建立Web服务资源库;
步骤1.3:建立Web服务描述文档。

3.  根据权利要求1所述的基于用户偏好特征建模的Web服务推荐方法,其特征在于:所述的步骤2,其具体实现包括以下子步骤:
步骤2.1:从所述的Web服务平台中收集用户历史服务调用信息;
步骤2.2:针对所述的用户历史服务调用信息和所述的Web服务描述文档信息,生成用户对服务角色、服务目标、服务流程和服务标签的历史调用信息文档,并创建用户偏好文档;
步骤2.3:针对步骤2.2的结果,利用TF-IDF的方法得到用户偏好文档中单个服务角色、服务目标、服务流程和服务标签在各自偏好维度下的权重。

4.  根据权利要求1所述的基于用户偏好特征建模的Web服务推荐方法,其特征在于:所述的步骤3,其具体实现包括以下子步骤:
步骤3.1:使用向量空间模型将用户的历史调用服务角色、服务目标、服务流程及服务标签分别转化为对应的向量空间集合;
步骤3.2:使用向量的余弦相似度计算方法,分别生成用户之间的服务角色偏好相似度、服务目标偏好相似度、服务流程偏好相似度和服务标签偏好相似度;
步骤3.3:针对步骤3.2的结果,将四个偏好相似度进行加权融合,生成用户整体偏好相似度;
步骤3.4:对用户的整体偏好相似度进行降序排列,生成与用户偏好最相似的N个最近邻居,产生用户的前N个偏好相似邻居,其中N≥1。

5.  根据权利要求1所述的基于用户偏好特征建模的Web服务推荐方法,其特征在于:所述的步骤4,其具体实现包括以下子步骤:
步骤4.1:针对所述的N个偏好相似邻居,在每个邻居用户中选取一个该用户使用最频繁的服务加入到预定的服务推荐列表,如果该服务已经存在于预定的服务推荐列表中则选取次频繁使用的服务加入预定的服务推荐列表,依次类推;
步骤4.2:针对步骤4.1生成的服务推荐列表,再依据邻居用户调用服务的频繁度对上述服务推荐列表中的服务进行排序,生成最终的服务推荐列表;
步骤4.3:将所述的最终的服务推荐列表呈现给用户。

说明书

说明书一种基于用户偏好特征建模的Web 服务推荐方法
技术领域
本发明属于服务计算技术领域与电子商务领域,特别涉及一种基于用户偏好特征建模的Web服务推荐方法。
背景技术
互联网的发展推动了网络和软件的有机融合,云计算技术的涌现则进一步加速了面向服务软件的开发与应用。面向服务的软件将软构件的功能以Web服务的形式发布从而促进异构平台间的软件复用,或者将软件以Web服务或SaaS(Software as a Service)应用的形式向用户交付。面向服务的体系结构(Service-Oriented Architecture,SOA)是实现分布、异构信息系统开发和集成的基础框架,而Web服务是SOA背后的关键性支持技术之一,它具有自包含、自描述以及模块化应用的特点,可在Web上发布、发现与使用。随着Web服务规模的增长与Web服务描述的异构性,导致用户搜寻自己感兴趣服务的难度和成本越来越高,为软件开发者有效发现、组合和重用Web服务带来了极大的挑战。另外,大量的服务因为访问量小被放在服务注册库中不为人知,这类服务中或许有一些是用户感兴趣的,但是没有外界的帮助,用户根本无法找到它们。因此,在动态多样的Internet服务市场中,Web服务发现是实现服务共享和复用的前提,而服务推荐是一种有效地促进Web服务发现和选择的技术,以主动感知用户需求的方式向用户推荐服务,提升用户的满意度。
个性化的Web服务推荐是服务推荐的主要研究方向,通常个性化方式推荐服务的过滤效果及推荐结果被用户接受的程度远大于非个性化推荐。个性化服务推荐就是利用个性化技术将用户的隐含需求组成过滤条件,对服务资源流进行过滤,把服务资源流中符合用户需求的内容提取出来进行推荐,一般包括用户建模、服务匹配和推荐输出三个步骤来实现。
目前,Web服务的个性化推荐研究主要包含以下几类:
1)基于语义技术的服务发现与推荐,该方法主要从语义相似的角度,建模用户的服务内容、主题、接口等偏好模型,然后依据偏好模型查找满足用户兴趣与需求的服务。但是这类推荐方法通常是面向单一类型服务的推荐,例如Web服务描述语言(Web Services Description Language,WSDL)描述的服务、Web服务本体语言(Ontology Web Language for Services,OWL-S)描述的Web服务或者是自然语言描述的Web API(Application Programming Interface),因此,缺乏服务推荐应用的通用性。
2)利用服务的QoS(Quality of Service)等信息进行服务推荐,QoS属性包括响应时间,可靠性,可维护性等多个方面,但是由于Web服务QoS信息不稳定,通常需要在用户的客户端进行获取,因此,获取用户的QoS信息是难度很大的工作。不同用户对同一Web服务的QoS感受通常存在一定差异。这种差异受多种因素的影响,如网络环境、编程语言、运行平台及主观感受等,如果简单地使用其它用户体验到的Web服务QoS进行预测而忽略用户个体因素,会很大程度上影响预测的准确性。
3)利用用户的社交网络信息进行服务推荐,该方法主要是从社会网络的视角发现用户间的潜在关联,进行服务发现和推荐。Maaradji A提出一种基于社会网络的服务组合方法,利用用户的社会网络所集聚的信息,动态地给用户推荐Web API服务。Jason J.J提出给予社交网络推荐情境感知的移动服务,通过挖掘社交关系来提供情境支持,通过邻居用户的情境来预测用户的情境,进而产生移动服务推荐。在利用社交网络信息推荐过程中,社交信息往往不全面,导致推荐信息单一化。
因此,针对互联网上Web服务规模剧增与Web服务异构性的特点,以及已有的Web服务推荐方法中存在的不足,如何进行准确、高效的Web服务推荐便成为服务计算领域中一个亟待解决的关键技术问题。
发明内容
针对上述Web服务推荐方法中存在的问题,本发明的目的是提供一种基于用户偏好特征建模的个性 化Web服务推荐方法,本发明的方法可以适用于多种语言描述的Web服务,如WSDL描述的服务、OWL-S描述的服务以及文本语言等方式描述的Web服务,具有普适性。
本分明所采用的技术方案是:一种基于用户偏好特征建模的Web服务推荐方法,其特征在于,包括以下步骤:
步骤1:从Web服务门户网站上收集Web服务,对Web服务的服务角色、服务目标、服务流程和服务标签进行标注,并注册到Web服务平台中的服务注册库中,进而建立Web服务描述文档;
步骤2:从所述的Web服务平台中收集用户的历史服务调用信息,生成用户对服务角色、服务目标、服务流程和服务标签的历史调用信息文档,并创建用户偏好文档;
步骤3:通过计算用户间的多维偏好相似度,并进行加权融合,产生用户的前N个偏好相似邻居,其中N≥1;
步骤4:将所述的前N个偏好相似邻居用户调用的最多的Web服务进行排序,生成最终的服务推荐列表。
作为优选,所述的步骤1,其具体实现包括以下子步骤:
步骤1.1:从Web服务门户网站收集Web服务;
步骤1.2:针对收集的Web服务,根据ISO/IEC19763-7服务注册元模型框架作为指导,对所述的Web服务的服务角色、服务目标、服务流程和服务标签进行标注,并注册到Web服务平台中的服务注册库中,建立Web服务资源库;
步骤1.3:建立Web服务描述文档。
作为优选,所述的步骤2,其具体实现包括以下子步骤:
步骤2.1:从所述的Web服务平台中收集用户历史服务调用信息;
步骤2.2:针对所述的用户历史服务调用信息和所述的Web服务描述文档信息,生成用户对服务角色、服务目标、服务流程和服务标签的历史调用信息文档,并创建用户偏好文档;
步骤2.3:针对步骤2.2的结果,利用TF-IDF的方法得到用户偏好文档中单个服务角色、服务目标、服务流程和服务标签在各自偏好维度下的权重。
作为优选,所述的步骤3,其具体实现包括以下子步骤:
步骤3.1:使用向量空间模型将用户的历史调用服务角色、服务目标、服务流程及服务标签分别转化为对应的向量空间集合;
步骤3.2:使用向量的余弦相似度计算方法,分别生成用户之间的服务角色偏好相似度、服务目标偏好相似度、服务流程偏好相似度和服务标签偏好相似度;
步骤3.3:针对步骤3.2的结果,将四个偏好相似度进行加权融合,生成用户整体偏好相似度;
步骤3.4:对用户的整体偏好相似度进行降序排列,生成与用户偏好最相似的N个最近邻居,产生用户的前N个偏好相似邻居,其中N≥1。
作为优选,所述的步骤4,其具体实现包括以下子步骤:
步骤4.1:针对所述的N个偏好相似邻居,在每个邻居用户中选取一个该用户使用最频繁的服务加入到预定的服务推荐列表,如果该服务已经存在于预定的服务推荐列表中则选取次频繁使用的服务加入预定的服务推荐列表,依次类推;
步骤4.2:针对步骤4.1生成的服务推荐列表,再依据邻居用户调用服务的频繁度对上述服务推荐列表中的服务进行排序,生成最终的服务推荐列表;
步骤4.3:将所述的最终的服务推荐列表呈现给用户。
本发明首先利用ISO/IEC19763-7提供的服务注册元模型作为指导,对收集的Web服务进行标注,并注册到Web服务平台中,建立服务资源库。从用户的历史调用记录中获取其感偏好的服务角色、服务目标、服务流程和服务标签,然后从上述四个维度对用户偏好进行建模,利用多维向量空间模型表示用户偏好文档,计算用户在不同向量空间的偏好相似度,通过对多维度的偏好相似度进行加权融合,找到与用户整体偏好相似度最高的N个最近邻居,然后将N个最近邻居使用最多的服务推荐给用户。本发明 的有益效果如下:
1)可以对通过WSDL、OWL-S和文本等方式描述的Web服务进行推荐,具有通用性;
2)该推荐方法克服了基于QoS信息进行服务推荐过程中QoS信息数据收集困难的问题;
3)对用户的偏好进行多维表示,克服了传统服务推荐过程中偏好表示方式单一、个性化差异度低的不足,提升了用户偏好的表征能力和用户的满意度。
附图说明
图1:是本发明实施例的Web服务推荐流程示意图;
图2:是本发明实施例的用户偏好模型示意图;
图3:是本发明实施例的用户偏好文档示意图;
图4:是本发明实施例中多种方法推荐准确度对比统计图;
具体实施方式
以下将结合具体实施例和附图对本发明做进一步的阐述。
请见图1,本发明所采用的技术方案是:一种基于用户偏好特征建模的Web服务推荐方法,包括以下步骤:
步骤1:从Web服务门户网站上收集Web服务,对Web服务的服务角色、服务目标、服务流程和服务标签进行标注,并注册到Web服务平台中的服务注册库中,进而建立Web服务描述文档;其具体实现包括以下子步骤:
步骤1.1:从Web服务门户网站收集Web服务;
步骤1.2:针对收集的Web服务,根据ISO/IEC19763-7服务注册元模型框架作为指导,对所述的Web服务的服务角色、服务目标、服务流程和服务标签进行标注,并注册到Web服务平台中的服务注册库中,建立Web服务资源库得;其中,服务角色表示该服务所面向的用户群体,例如“导航服务”的角色包括“司机”、“旅游者”等,服务角色标注可以不唯一,不能为空。服务目标表示服务所能达到的目标和实现的功能,例如“导航服务”的目标有“导航”,“定位”等,服务目标可以不唯一,不能为空。服务流程表示服务经常被组合集成使用的业务流程,例如“导航服务”经常被集成到“物流配送流程”中使用,服务流程可以为空。服务标签是指用来表征服务特征的关键字,可以由服务提供商或用户提供,如“导航服务”的标签包括“GPS”、“北斗”、“自动驾驶”等,服务标签不能为空,可以不唯一。服务角色、服务目标、服务流程以及服务标签的标注信息通常由领域专家提供;
步骤1.3:建立Web服务描述文档(Service Description Profile,SDP);Web服务描述文档可以表示为四个矩阵:服务角色描述矩阵服务目标描述矩阵服务流程描述矩阵和服务标签描述矩阵其中n为服务个数,k1为Web服务资源库中所有服务涉及角色的个数,k2为Web服务资源库中服务涉及目标的个数,k3为Web服务资源库中服务涉及流程的个数,k4为Web服务资源库中服务涉及标签的个数,以下为上述矩阵的示例:

矩阵内的值“1”表示该服务与该服务角色、服务目标、服务流程和服务标签有关联,如果为“0”表示无关联;
请见图2,是本发明实施例的用户偏好模型示意图;上述标注信息用于用户的偏好维度建模,用户偏好维度建模也从偏好角色、偏好目标、偏好流程和偏好标签四个维度进行建模。
步骤2:从所述的Web服务平台中收集用户的历史服务调用信息,生成用户对服务角色、服务目标、服务流程和服务标签的历史调用信息文档,并创建用户偏好文档(User Preference Profile,UPP);其具体实现包括以下子步骤:
步骤2.1:从所述的Web服务注册平台中收集用户历史服务调用信息;主要是用户对服务的调用次数,以及最近一次调用的时间信息,生成一个m×n的用户服务调用矩阵m为用户数,n为服务数,以下是一个服务调用矩阵示例:

步骤2.2:针对所述的用户历史服务调用信息和所述的Web服务描述文档信息,生成用户对服务角色、服务目标、服务流程和服务标签的历史调用信息文档,并创建用户偏好文档;
本实施例针对步骤2.1收集的用户调用矩阵和步骤1.3的服务角色描述矩阵服务目标描述矩阵服务流程描述矩阵以及服务标签描述矩阵得到用户的服务角色调用矩阵用户的服务目标调用矩阵用户的流程调用矩阵用户的标签调用矩阵下面以m=n=k1=3为例进行计算:
DCR3×3=311024123×110111011=452266365;]]>
步骤2.3:针对步骤2.2的结果,利用TF-IDF的方法得到用户偏好文档中单个服务角色、服务目标、服务流程和服务标签在各自偏好维度下的权重;
请见图3,是本发明实施例的用户偏好文档示意图;本实施例采用加权方法TF-IDF(Term Frequency–Inverse Document Frequency),将用户角色调用矩阵中的用户等价作为TF-IDF中的文档(Document),将角色等价为文档中的词(Term),假设用户i偏好的角色集ri={ri1,ri2,ri3,...,rin},在计算角色权重过程中需要考虑用户最近一次调用该角色的时间,用户偏好文档中角色维度中的权重的计算公式如下:
wijcr=tf×idfij1+ρ|t0-tj|=11+ρ|t0-tj|×|rij||ri|×log|ci||cij|]]>
其中ρ为时间衰减参数,t0为当前时间,tj为用户i最近一次调用角色j的时间,时间通常以日为单 位计算,比如当前时间为2013年1月8日,服务调用时间为2013年1月1日,则△t=|t0-tj|=7,|rij|表示用户i调用角色j的次数,|ri|表示用户i调用服务涉及的角色数,|ci|表示用户总数,|cij|表示调用过角色j的所有用户数。将计算得到的放到一起构成用户偏好文档中的角色权重矩阵利用角色权重中的计算方法,可以得到用户偏好文档中的目标权重矩阵用户偏好文档中的流程权重矩阵用户偏好文档中的标签权重矩阵根据上述信息,生成的用户的偏好描述文档UPP。
步骤3:通过计算所述的用户偏好文档的多维偏好相似度,并进行加权融合,产生用户的前N个偏好相似邻居,其中N≥1;其具体实现包括以下子步骤:
步骤3.1:使用向量空间模型(Vector Space Model,VSM)将用户的历史调用服务角色、服务目标、服务流程及服务标签分别转化为对应的向量空间集合;例如m个用户的角色向量表示为:
(r1,w1r1cr)(r2,w2r1cr)...(rk1,wk1r1cr)(r1,w1r2cr)(r2,w2r2cr)...(rk1,wk1r2cr)............(r1,w1rmcr)(r2,w2rmcr)...(rk1,wk1rmcr)]]>
同理,可以得到m个用户的目标向量空间集合、流程向量空间集合和标签向量空间集合;
步骤3.2:使用向量的余弦相似度计算方法,分别生成用户之间的服务角色偏好相似度、服务目标偏好相似度、服务流程偏好相似度和服务标签偏好相似度;
本实施例使用余弦相似函数,即通过测量两个向量之间的角的余弦值来度量它们之间的相似性,用户ci和cj的角色偏好相似度SimR(ci,cj)计算公式如下:
SimR(ci,cj)=WciR×WcjR|WciR|×|WcjR|=Σx=1k1(wirxcr×wjrxcr)Σx=1k1(wirxcr)2×Σx=1k1(wjrxcr)2]]>
同理,使用相同的方法,可以得到用户ci和cj的目标偏好相似度SimG(ci,cj)如下:
SimG(ci,cj)=WciG×WcjG|WciG|×|WcjG|=Σx=1k2(wigxcg×wjgxcg)Σx=1k2(wigxcg)2×Σx=1k2(wjgxcg)2]]>
用户ci和cj之间的流程偏好相似度SimP(ci,cj)计算公式如下:
SimP(ci,cj)=WciP×WcjP|WciP|×|WcjP|=Σn=1m(wipxcp×wjpncp)Σx=1k3(wipxcp)2×Σx=1k3(wjpxcp)2]]>
用户ci和cj之间的标签偏好相似度SimT(ci,cj)计算公式如下:
SimT(ci,cj)=WciT×WcjT|WciT|×|WcjT|=Σx=1k4(witxct×wjtnct)Σx=1k4(witxitnct)2×Σx=1k4(wjtxct)2;]]>
步骤3.3:针对步骤3.2的结果,将四个偏好相似度进行加权融合,生成用户整体偏好相似度;
本实施例对上述四个维度的偏好相似度进行线性加权融合,生成用户ci和cj之间的整体相似度;
Sim(ci,cj)=αSimR(ci,cj)+βSimG(ci,cj)+γSimP(ci,cj)+λSimT(ci,cj)
其中α,β,γ,λ是偏好相似度融合的权重参数,且α+β+γ+λ=1,参数值的确定根据数据集的测试效果来确定;
步骤3.4:对用户的整体偏好相似度进行降序排列,生成与用户偏好最相似的N个最近邻居,产生用户的前N个偏好相似邻居,其中N≥1。
步骤4:将所述的前N个偏好相似邻居用户调用的最多的Web服务进行排序,生成最终的服务推荐列表;其具体实现包括以下子步骤:
步骤4.1:为了保证推荐服务的多样性,针对所述的N个偏好相似邻居,在每个邻居用户中选取一个该用户使用最频繁的服务加入到预定的服务推荐列表,如果该服务已经存在于预定的服务推荐列表中则选取次频繁使用的服务加入预定的服务推荐列表,依次类推;
步骤4.2:针对步骤4.1生成的服务推荐列表,再依据邻居用户调用服务的频繁度对上述服务推荐列表中的服务进行排序,生成最终的服务推荐列表;
本实施例对于步骤4.2中用户的服务调用频繁度计算公式如下:

步骤4.3:将所述的最终的服务推荐列表呈现给用户。
下面针对S2R2(www.s2r2.org)服务平台上的Web服务进行服务推荐作为实施例,以详细描述本发明的实施过程,并结合试验来说明服务推荐的有效性。
执行步骤1,使用爬虫并结合PWeb等Web服务网站提供的Web服务和API特点,收集Web服务的描述信息,具体包括API名字、描述、标签等,存储在文本文档中;对于那些遵循SOAP协议的API服务,还进一步收集了相应的WSDL文档;然后由领域专家利用收集内容对服务进行基于ISO/IEC19763-7服务元模型注册框架,进行角色、目标、流程及标签标注,并注册到软件服务资源注册资源库(Software Service Registration and Repository,S2R2),注册完成之后动态的生成服务描述文档,由服务角色描述矩阵,服务目标描述矩阵,服务流程描述矩阵和服务标签描述矩阵构成;
然后,执行步骤2,收集整理服务平台中用户的服务查阅记录或调用记录,生成m个用户对n个服务的调用记录,用户的调用记录选取了从2013年1月1日到2013年3月1日之间调用服务超过30次的活跃用户,这些活跃用户服务总调用次数达到5403次,调用的服务达到277个,得到一个维度为m×n的用户服务调用矩阵,其中用户数m=30,服务数n=277。然后根据步骤(1)的服务角色描述矩阵和用户调用矩阵,可以得到用户的服务角色调用矩阵、服务目标调用矩阵、服务流程调用矩阵及服务标签调用矩阵,上述矩阵维度如表1所示:
表1矩阵维度

然后将用户角色调用矩阵中的用户等价为TF-IDF中的文档(Document),将角色等价为文档中的词(Term),同时考虑用户最近一次调用该角色的时间,来计算用户偏好文档中角色维度中的权重,设时间衰减参数ρ=0.2,利用步骤2.3中的计算公式得到服务角色的权重矩阵、服务目标权重矩阵、服务流程权重矩阵和服务标签权重矩阵;
然后执行步骤3,首先将步骤2中的权重矩阵与服务角色、服务目标、服务流程和服务标签分别转换为向量空间集合,然后利用向量的余弦相似度计算方法,分别生成用户之间的角色偏好相似度、目标偏好相似度、流程偏好相似度和标签偏好相似度,然后进行线性加权融合。设参数α=0.2,β=0.4,γ=0.1,λ=0.3,用户c1的Top-10的偏好相似度如表2所示:
表2用户u1的Top-10相似度

然后执行步骤4,选取最近邻居使用频繁度高的服务加入到推荐列表,排序后向用户推荐。
下面利用实验进行有效性验证,分别对以下几种方法进行推荐准确度比较:
RR:采用随机方法进行推荐,在30个用户中随机推荐6个用户,把这6个用户使用最频繁的服务加入到推荐列表中,产生的6个服务推荐给用户;
MPR:采用基于流行度的推荐,在选定的277个服务中,根据服务被调用的次数多少来推荐,将总调用次数最多的6个服务作为结果推荐给用户;
IR:采用基于调用次数的个性化推荐方法,该方法中将用户服务调用文档中的用户作为TF-IDF中的文档,用户调用的服务作为词,采用TF-IDF方法生成用户调用服务的权重,然后利用向量余弦相似度计算方法计算用户之间的相似度,然后选取相似度最高的6个用户,并将6个最近邻居用户使用最频 繁的服务加入到推荐列表推荐给用户。
RGPT:采用本发明中的方法,其参数设定如下;
表3试验参数设置

将上述四种推荐方法推荐准确度进行比较,试验结果是10次重复试验结果的平均值。
请见图4,是本发明实施例的实施例中多种方法推荐准确度对比统计图;随着累计服务调用次数的增加,四种方法相比,RGPT方法在累计调用次数超过1000后推荐准确度稳定,并且准确度最高,其次是IR方法推荐,但是IR方法随着累计调用次数的增加,推荐精确度有下降趋势,基于流行度的MPR方法随着服务累计次数的增加准确度略有升高,但是推荐精度仍然低于前两种,RR方法推荐与累计调用次数基本关联较小,该方法的推荐的准确度不够稳定,且较低。因此,文中方法与其它几种方法相比具有较好的准确率,通过实验进一步验证该方法的可行性和有效性。
本文中所做的实验是围绕本发明方法进行说明,本发明所属技术领域的技术人员可以对其做各种参数设计进行修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

一种基于用户偏好特征建模的WEB服务推荐方法.pdf_第1页
第1页 / 共14页
一种基于用户偏好特征建模的WEB服务推荐方法.pdf_第2页
第2页 / 共14页
一种基于用户偏好特征建模的WEB服务推荐方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种基于用户偏好特征建模的WEB服务推荐方法.pdf》由会员分享,可在线阅读,更多相关《一种基于用户偏好特征建模的WEB服务推荐方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103544623 A (43)申请公布日 2014.01.29 CN 103544623 A (21)申请号 201310547709.9 (22)申请日 2013.11.06 G06Q 30/00(2012.01) G06F 17/30(2006.01) (71)申请人 武汉大学 地址 430072 湖北省武汉市武昌区珞珈山武 汉大学 (72)发明人 何克清 张秀伟 王健 王翀 刘建晓 陈荆亮 (74)专利代理机构 武汉科皓知识产权代理事务 所 ( 特殊普通合伙 ) 42222 代理人 张火春 (54) 发明名称 一种基于用户偏好特征建模的Web 服务推荐 方法 。

2、(57) 摘要 本发明公开了一种基于用户偏好特征建模的 Web 服务推荐方法, 包括 : 1、 从 Web 服务门户网站 上收集 Web 服务, 对收集的 Web 服务的服务角色、 目标、 流程和标签进行标注, 并注册到 Web 服务平 台中的服务注册库中, 建立 Web 服务描述文档 ; 2、 从 Web 服务平台中收集用户的历史服务调用信 息, 生成用户对服务角色、 目标、 流程和标签的历 史调用信息文档, 并创建用户偏好文档 ; 3、 通过 计算用户间的多维度的偏好相似度, 并进行加权 融合, 产生用户的前 N 个偏好相似邻居, N 1 ; 4、 将前 N 个偏好相似邻居用户调用最多的 。

3、Web 服务 进行排序, 生成最终的服务推荐列表。本方法适 用于多种语言描述的 Web 服务, 如 WSDL 描述的服 务、 OWL-S 描述的服务以及文本语言等方式描述 的 Web 服务, 具有普适性。 (51)Int.Cl. 权利要求书 2 页 说明书 9 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书9页 附图2页 (10)申请公布号 CN 103544623 A CN 103544623 A 1/2 页 2 1. 一种基于用户偏好特征建模的 Web 服务推荐方法, 其特征在于, 包括以下步骤 : 步骤 1 : 从 Web 服务门户网。

4、站上收集 Web 服务, 对 Web 服务的服务角色、 服务目标、 服务 流程和服务标签进行标注, 并注册到Web服务平台中的服务注册库中, 进而建立Web服务描 述文档 ; 步骤 2 : 从所述的 Web 服务平台中收集用户的历史服务调用信息, 生成用户对服务角 色、 服务目标、 服务流程和服务标签的历史调用信息文档, 并创建用户偏好文档 ; 步骤 3 : 通过计算用户间的多维度的偏好相似度, 并进行加权融合, 产生用户的前 N 个 偏好相似邻居, 其中 N 1 ; 步骤 4 : 将所述的前 N 个偏好相似邻居用户调用的最多的 Web 服务进行排序, 生成最终 的服务推荐列表。 2. 根据权。

5、利要求 1 所述的基于用户偏好特征建模的 Web 服务推荐方法, 其特征在于 : 所述的步骤 1, 其具体实现包括以下子步骤 : 步骤 1.1 : 从 Web 服务门户网站收集 Web 服务 ; 步骤 1.2 : 针对收集的 Web 服务, 根据 ISO/IEC 19763-7 服务注册元模型框架作为指 导, 对所述的 Web 服务的服务角色、 服务目标、 服务流程和服务标签进行标注, 并注册到 Web 服务平台中的服务注册库中, 建立 Web 服务资源库 ; 步骤 1.3 : 建立 Web 服务描述文档。 3. 根据权利要求 1 所述的基于用户偏好特征建模的 Web 服务推荐方法, 其特征在。

6、于 : 所述的步骤 2, 其具体实现包括以下子步骤 : 步骤 2.1 : 从所述的 Web 服务平台中收集用户历史服务调用信息 ; 步骤 2.2 : 针对所述的用户历史服务调用信息和所述的 Web 服务描述文档信息, 生成 用户对服务角色、 服务目标、 服务流程和服务标签的历史调用信息文档, 并创建用户偏好文 档 ; 步骤 2.3 : 针对步骤 2.2 的结果, 利用 TF-IDF 的方法得到用户偏好文档中单个服务角 色、 服务目标、 服务流程和服务标签在各自偏好维度下的权重。 4. 根据权利要求 1 所述的基于用户偏好特征建模的 Web 服务推荐方法, 其特征在于 : 所述的步骤 3, 其具。

7、体实现包括以下子步骤 : 步骤 3.1 : 使用向量空间模型将用户的历史调用服务角色、 服务目标、 服务流程及服务 标签分别转化为对应的向量空间集合 ; 步骤 3.2 : 使用向量的余弦相似度计算方法, 分别生成用户之间的服务角色偏好相似 度、 服务目标偏好相似度、 服务流程偏好相似度和服务标签偏好相似度 ; 步骤 3.3 : 针对步骤 3.2 的结果, 将四个偏好相似度进行加权融合, 生成用户整体偏好 相似度 ; 步骤 3.4 : 对用户的整体偏好相似度进行降序排列, 生成与用户偏好最相似的 N 个最近 邻居, 产生用户的前 N 个偏好相似邻居, 其中 N 1。 5. 根据权利要求 1 所述。

8、的基于用户偏好特征建模的 Web 服务推荐方法, 其特征在于 : 所述的步骤 4, 其具体实现包括以下子步骤 : 步骤 4.1 : 针对所述的 N 个偏好相似邻居, 在每个邻居用户中选取一个该用户使用最频 繁的服务加入到预定的服务推荐列表, 如果该服务已经存在于预定的服务推荐列表中则选 权 利 要 求 书 CN 103544623 A 2 2/2 页 3 取次频繁使用的服务加入预定的服务推荐列表, 依次类推 ; 步骤 4.2 : 针对步骤 4.1 生成的服务推荐列表, 再依据邻居用户调用服务的频繁度对上 述服务推荐列表中的服务进行排序, 生成最终的服务推荐列表 ; 步骤 4.3 : 将所述的最。

9、终的服务推荐列表呈现给用户。 权 利 要 求 书 CN 103544623 A 3 1/9 页 4 一种基于用户偏好特征建模的 Web 服务推荐方法 技术领域 0001 本发明属于服务计算技术领域与电子商务领域, 特别涉及一种基于用户偏好特征 建模的 Web 服务推荐方法。 背景技术 0002 互联网的发展推动了网络和软件的有机融合, 云计算技术的涌现则进一步加速了 面向服务软件的开发与应用。面向服务的软件将软构件的功能以 Web 服务的形式发布从而 促进异构平台间的软件复用, 或者将软件以 Web 服务或 SaaS(Software as a Service) 应 用的形式向用户交付。面向服。

10、务的体系结构 (Service-Oriented Architecture, SOA) 是实 现分布、 异构信息系统开发和集成的基础框架, 而Web服务是SOA背后的关键性支持技术之 一, 它具有自包含、 自描述以及模块化应用的特点, 可在 Web 上发布、 发现与使用。随着 Web 服务规模的增长与 Web 服务描述的异构性, 导致用户搜寻自己感兴趣服务的难度和成本越 来越高, 为软件开发者有效发现、 组合和重用 Web 服务带来了极大的挑战。另外, 大量的服 务因为访问量小被放在服务注册库中不为人知, 这类服务中或许有一些是用户感兴趣的, 但是没有外界的帮助, 用户根本无法找到它们。因此,。

11、 在动态多样的 Internet 服务市场中, Web 服务发现是实现服务共享和复用的前提, 而服务推荐是一种有效地促进 Web 服务发现 和选择的技术, 以主动感知用户需求的方式向用户推荐服务, 提升用户的满意度。 0003 个性化的 Web 服务推荐是服务推荐的主要研究方向, 通常个性化方式推荐服务的 过滤效果及推荐结果被用户接受的程度远大于非个性化推荐。 个性化服务推荐就是利用个 性化技术将用户的隐含需求组成过滤条件, 对服务资源流进行过滤, 把服务资源流中符合 用户需求的内容提取出来进行推荐, 一般包括用户建模、 服务匹配和推荐输出三个步骤来 实现。 0004 目前, Web 服务的个。

12、性化推荐研究主要包含以下几类 : 0005 1) 基于语义技术的服务发现与推荐, 该方法主要从语义相似的角度, 建模用户的 服务内容、 主题、 接口等偏好模型, 然后依据偏好模型查找满足用户兴趣与需求的服务。但 是这类推荐方法通常是面向单一类型服务的推荐, 例如 Web 服务描述语言 (Web Services Description Language, WSDL) 描述的服务、 Web 服务本体语言 (Ontology Web Language for Services, OWL-S)描述的 Web 服务或者是自然语言描述的 Web API(Application Programming I。

13、nterface) , 因此, 缺乏服务推荐应用的通用性。 0006 2) 利用服务的 QoS(Quality of Service) 等信息进行服务推荐, QoS 属性包括响 应时间, 可靠性, 可维护性等多个方面, 但是由于Web服务QoS信息不稳定, 通常需要在用户 的客户端进行获取, 因此, 获取用户的 QoS 信息是难度很大的工作。不同用户对同一 Web 服 务的 QoS 感受通常存在一定差异。这种差异受多种因素的影响, 如网络环境、 编程语言、 运 行平台及主观感受等, 如果简单地使用其它用户体验到的 Web 服务 QoS 进行预测而忽略用 户个体因素, 会很大程度上影响预测的准确。

14、性。 0007 3) 利用用户的社交网络信息进行服务推荐, 该方法主要是从社会网络的视角发现 说 明 书 CN 103544623 A 4 2/9 页 5 用户间的潜在关联, 进行服务发现和推荐。Maaradji A 提出一种基于社会网络的服务组合 方法, 利用用户的社会网络所集聚的信息, 动态地给用户推荐 Web API 服务。Jason J.J 提 出给予社交网络推荐情境感知的移动服务, 通过挖掘社交关系来提供情境支持, 通过邻居 用户的情境来预测用户的情境, 进而产生移动服务推荐。 在利用社交网络信息推荐过程中, 社交信息往往不全面, 导致推荐信息单一化。 0008 因此, 针对互联网上。

15、 Web 服务规模剧增与 Web 服务异构性的特点, 以及已有的 Web 服务推荐方法中存在的不足, 如何进行准确、 高效的 Web 服务推荐便成为服务计算领域中 一个亟待解决的关键技术问题。 发明内容 0009 针对上述 Web 服务推荐方法中存在的问题, 本发明的目的是提供一种基于用户偏 好特征建模的个性化 Web 服务推荐方法, 本发明的方法可以适用于多种语言描述的 Web 服 务, 如 WSDL 描述的服务、 OWL-S 描述的服务以及文本语言等方式描述的 Web 服务, 具有普适 性。 0010 本分明所采用的技术方案是 : 一种基于用户偏好特征建模的 Web 服务推荐方法, 其特征。

16、在于, 包括以下步骤 : 0011 步骤 1 : 从 Web 服务门户网站上收集 Web 服务, 对 Web 服务的服务角色、 服务目标、 服务流程和服务标签进行标注, 并注册到Web服务平台中的服务注册库中, 进而建立Web服 务描述文档 ; 0012 步骤 2 : 从所述的 Web 服务平台中收集用户的历史服务调用信息, 生成用户对服务 角色、 服务目标、 服务流程和服务标签的历史调用信息文档, 并创建用户偏好文档 ; 0013 步骤 3 : 通过计算用户间的多维偏好相似度, 并进行加权融合, 产生用户的前 N 个 偏好相似邻居, 其中 N 1 ; 0014 步骤 4 : 将所述的前 N 。

17、个偏好相似邻居用户调用的最多的 Web 服务进行排序, 生成 最终的服务推荐列表。 0015 作为优选, 所述的步骤 1, 其具体实现包括以下子步骤 : 0016 步骤 1.1 : 从 Web 服务门户网站收集 Web 服务 ; 0017 步骤 1.2 : 针对收集的 Web 服务, 根据 ISO/IEC19763-7 服务注册元模型框架作为 指导, 对所述的 Web 服务的服务角色、 服务目标、 服务流程和服务标签进行标注, 并注册到 Web 服务平台中的服务注册库中, 建立 Web 服务资源库 ; 0018 步骤 1.3 : 建立 Web 服务描述文档。 0019 作为优选, 所述的步骤 。

18、2, 其具体实现包括以下子步骤 : 0020 步骤 2.1 : 从所述的 Web 服务平台中收集用户历史服务调用信息 ; 0021 步骤 2.2 : 针对所述的用户历史服务调用信息和所述的 Web 服务描述文档信息, 生 成用户对服务角色、 服务目标、 服务流程和服务标签的历史调用信息文档, 并创建用户偏好 文档 ; 0022 步骤 2.3 : 针对步骤 2.2 的结果, 利用 TF-IDF 的方法得到用户偏好文档中单个服 务角色、 服务目标、 服务流程和服务标签在各自偏好维度下的权重。 0023 作为优选, 所述的步骤 3, 其具体实现包括以下子步骤 : 说 明 书 CN 103544623。

19、 A 5 3/9 页 6 0024 步骤 3.1 : 使用向量空间模型将用户的历史调用服务角色、 服务目标、 服务流程及 服务标签分别转化为对应的向量空间集合 ; 0025 步骤 3.2 : 使用向量的余弦相似度计算方法, 分别生成用户之间的服务角色偏好 相似度、 服务目标偏好相似度、 服务流程偏好相似度和服务标签偏好相似度 ; 0026 步骤 3.3 : 针对步骤 3.2 的结果, 将四个偏好相似度进行加权融合, 生成用户整体 偏好相似度 ; 0027 步骤 3.4 : 对用户的整体偏好相似度进行降序排列, 生成与用户偏好最相似的 N 个 最近邻居, 产生用户的前 N 个偏好相似邻居, 其中。

20、 N 1。 0028 作为优选, 所述的步骤 4, 其具体实现包括以下子步骤 : 0029 步骤 4.1 : 针对所述的 N 个偏好相似邻居, 在每个邻居用户中选取一个该用户使用 最频繁的服务加入到预定的服务推荐列表, 如果该服务已经存在于预定的服务推荐列表中 则选取次频繁使用的服务加入预定的服务推荐列表, 依次类推 ; 0030 步骤 4.2 : 针对步骤 4.1 生成的服务推荐列表, 再依据邻居用户调用服务的频繁度 对上述服务推荐列表中的服务进行排序, 生成最终的服务推荐列表 ; 0031 步骤 4.3 : 将所述的最终的服务推荐列表呈现给用户。 0032 本发明首先利用 ISO/IEC1。

21、9763-7 提供的服务注册元模型作为指导, 对收集的 Web 服务进行标注, 并注册到 Web 服务平台中, 建立服务资源库。从用户的历史调用记录中获取 其感偏好的服务角色、 服务目标、 服务流程和服务标签, 然后从上述四个维度对用户偏好进 行建模, 利用多维向量空间模型表示用户偏好文档, 计算用户在不同向量空间的偏好相似 度, 通过对多维度的偏好相似度进行加权融合, 找到与用户整体偏好相似度最高的 N 个最 近邻居, 然后将 N 个最近邻居使用最多的服务推荐给用户。本发明的有益效果如下 : 0033 1) 可以对通过 WSDL、 OWL-S 和文本等方式描述的 Web 服务进行推荐, 具有。

22、通用性 ; 0034 2) 该推荐方法克服了基于QoS信息进行服务推荐过程中QoS信息数据收集困难的 问题 ; 0035 3) 对用户的偏好进行多维表示, 克服了传统服务推荐过程中偏好表示方式单一、 个性化差异度低的不足, 提升了用户偏好的表征能力和用户的满意度。 附图说明 0036 图 1 : 是本发明实施例的 Web 服务推荐流程示意图 ; 0037 图 2 : 是本发明实施例的用户偏好模型示意图 ; 0038 图 3 : 是本发明实施例的用户偏好文档示意图 ; 0039 图 4 : 是本发明实施例中多种方法推荐准确度对比统计图 ; 具体实施方式 0040 以下将结合具体实施例和附图对本发。

23、明做进一步的阐述。 0041 请见图 1, 本发明所采用的技术方案是 : 一种基于用户偏好特征建模的 Web 服务推 荐方法, 包括以下步骤 : 0042 步骤 1 : 从 Web 服务门户网站上收集 Web 服务, 对 Web 服务的服务角色、 服务目标、 服务流程和服务标签进行标注, 并注册到Web服务平台中的服务注册库中, 进而建立Web服 说 明 书 CN 103544623 A 6 4/9 页 7 务描述文档 ; 其具体实现包括以下子步骤 : 0043 步骤 1.1 : 从 Web 服务门户网站收集 Web 服务 ; 0044 步骤 1.2 : 针对收集的 Web 服务, 根据 IS。

24、O/IEC19763-7 服务注册元模型框架作为 指导, 对所述的 Web 服务的服务角色、 服务目标、 服务流程和服务标签进行标注, 并注册到 Web 服务平台中的服务注册库中, 建立 Web 服务资源库得 ; 其中, 服务角色表示该服务所面 向的用户群体, 例如 “导航服务” 的角色包括 “司机” 、“旅游者” 等, 服务角色标注可以不唯 一, 不能为空。服务目标表示服务所能达到的目标和实现的功能, 例如 “导航服务” 的目标 有 “导航” ,“定位” 等, 服务目标可以不唯一, 不能为空。服务流程表示服务经常被组合集成 使用的业务流程, 例如 “导航服务” 经常被集成到 “物流配送流程”。

25、 中使用, 服务流程可以为 空。服务标签是指用来表征服务特征的关键字, 可以由服务提供商或用户提供, 如 “导航服 务” 的标签包括 “GPS” 、“北斗” 、“自动驾驶” 等, 服务标签不能为空, 可以不唯一。服务角色、 服务目标、 服务流程以及服务标签的标注信息通常由领域专家提供 ; 0045 步骤 1.3 : 建立 Web 服务描述文档 (Service Description Profile, SDP) ; Web 服 务描述文档可以表示为四个矩阵 : 服务角色描述矩阵服务目标描述矩阵服务流 程描述矩阵和服务标签描述矩阵其中n为服务个数, k1为Web服务资源库中所有服 务涉及角色的个。

26、数, k2为Web服务资源库中服务涉及目标的个数, k3为Web服务资源库中服 务涉及流程的个数, k4为 Web 服务资源库中服务涉及标签的个数, 以下为上述矩阵的示例 : 0046 0047 矩阵内的值 “1” 表示该服务与该服务角色、 服务目标、 服务流程和服务标签有关 联, 如果为 “0” 表示无关联 ; 0048 请见图 2, 是本发明实施例的用户偏好模型示意图 ; 上述标注信息用于用户的偏 好维度建模, 用户偏好维度建模也从偏好角色、 偏好目标、 偏好流程和偏好标签四个维度进 行建模。 0049 步骤 2 : 从所述的 Web 服务平台中收集用户的历史服务调用信息, 生成用户对服 。

27、务角色、 服务目标、 服务流程和服务标签的历史调用信息文档, 并创建用户偏好文档 (User Preference Profile, UPP) ; 其具体实现包括以下子步骤 : 0050 步骤 2.1 : 从所述的 Web 服务注册平台中收集用户历史服务调用信息 ; 主要是用 户对服务的调用次数, 以及最近一次调用的时间信息, 生成一个 mn 的用户服务调用矩阵 m 为用户数, n 为服务数, 以下是一个服务调用矩阵示例 : 0051 说 明 书 CN 103544623 A 7 5/9 页 8 0052 步骤 2.2 : 针对所述的用户历史服务调用信息和所述的 Web 服务描述文档信息, 生。

28、 成用户对服务角色、 服务目标、 服务流程和服务标签的历史调用信息文档, 并创建用户偏好 文档 ; 0053 本实施例针对步骤 2.1 收集的用户调用矩阵和步骤 1.3 的服务角色描述矩阵 服务目标描述矩阵服务流程描述矩阵以及服务标签描述矩阵得到用户 的服务角色调用矩阵用户的服务目标调用矩阵用户 的流程调用矩阵用户的标签调用矩阵下面以 m=n=k1=3 为例进行计算 : 0054 0055 步骤 2.3 : 针对步骤 2.2 的结果, 利用 TF-IDF 的方法得到用户偏好文档中单个服 务角色、 服务目标、 服务流程和服务标签在各自偏好维度下的权重 ; 0056 请见图 3, 是本发明实施例的。

29、用户偏好文档示意图 ; 本实施例采用加权方法 TF-IDF (Term FrequencyInverse Document Frequency) , 将用户角色调用矩阵中的用户 等价作为 TF-IDF 中的文档 (Document) , 将角色等价为文档中的词 (Term) , 假设用户 i 偏好 的角色集 ri ri1,ri2,ri3, ., rin, 在计算角色权重过程中需要考虑用户最近一次调用该 角色的时间, 用户偏好文档中角色维度中的权重的计算公式如下 : 0057 0058 其中 为时间衰减参数, t0为当前时间, tj为用户 i 最近一次调用角色 j 的时间, 时间通常以日为单位计。

30、算, 比如当前时间为 2013 年 1 月 8 日, 服务调用时间为 2013 年 1 月 1 日, 则 t=|t0-tj|=7, |rij| 表示用户 i 调用角色 j 的次数, |ri| 表示用户 i 调用服务涉及 的角色数, |ci| 表示用户总数, |cij| 表示调用过角色 j 的所有用户数。将计算得到的放 到一起构成用户偏好文档中的角色权重矩阵利用角色权重中的计算方法, 可以得到 用户偏好文档中的目标权重矩阵用户偏好文档中的流程权重矩阵用户偏好文 档中的标签权重矩阵根据上述信息, 生成的用户的偏好描述文档 UPP。 0059 步骤 3 : 通过计算所述的用户偏好文档的多维偏好相似度。

31、, 并进行加权融合, 产生 用户的前 N 个偏好相似邻居, 其中 N 1 ; 其具体实现包括以下子步骤 : 说 明 书 CN 103544623 A 8 6/9 页 9 0060 步骤 3.1 : 使用向量空间模型 (Vector Space Model, VSM) 将用户的历史调用服务 角色、 服务目标、 服务流程及服务标签分别转化为对应的向量空间集合 ; 例如 m 个用户的角 色向量表示为 : 0061 0062 同理, 可以得到 m 个用户的目标向量空间集合、 流程向量空间集合和标签向量空 间集合 ; 0063 步骤 3.2 : 使用向量的余弦相似度计算方法, 分别生成用户之间的服务角色。

32、偏好 相似度、 服务目标偏好相似度、 服务流程偏好相似度和服务标签偏好相似度 ; 0064 本实施例使用余弦相似函数, 即通过测量两个向量之间的角的余弦值来度量它们 之间的相似性, 用户 ci和 cj的角色偏好相似度 SimR(ci, cj) 计算公式如下 : 0065 0066 同理, 使用相同的方法, 可以得到用户 ci和 cj的目标偏好相似度 SimG(ci, cj) 如 下 : 0067 0068 用户 ci和 cj之间的流程偏好相似度 SimP(ci,cj) 计算公式如下 : 0069 0070 用户 ci和 cj之间的标签偏好相似度 SimT(ci,cj) 计算公式如下 : 007。

33、1 0072 步骤 3.3 : 针对步骤 3.2 的结果, 将四个偏好相似度进行加权融合, 生成用户整体 偏好相似度 ; 0073 本实施例对上述四个维度的偏好相似度进行线性加权融合, 生成用户ci和cj之间 的整体相似度 ; 0074 Sim(ci,cj)=SimR(ci,cj)+SimG(ci,cj)+SimP(ci,cj)+SimT(ci,cj) 0075 其中 , 是偏好相似度融合的权重参数, 且 +=1, 参数值的确 说 明 书 CN 103544623 A 9 7/9 页 10 定根据数据集的测试效果来确定 ; 0076 步骤 3.4 : 对用户的整体偏好相似度进行降序排列, 生成。

34、与用户偏好最相似的 N 个 最近邻居, 产生用户的前 N 个偏好相似邻居, 其中 N 1。 0077 步骤 4 : 将所述的前 N 个偏好相似邻居用户调用的最多的 Web 服务进行排序, 生成 最终的服务推荐列表 ; 其具体实现包括以下子步骤 : 0078 步骤 4.1 : 为了保证推荐服务的多样性, 针对所述的 N 个偏好相似邻居, 在每个邻 居用户中选取一个该用户使用最频繁的服务加入到预定的服务推荐列表, 如果该服务已经 存在于预定的服务推荐列表中则选取次频繁使用的服务加入预定的服务推荐列表, 依次类 推 ; 0079 步骤 4.2 : 针对步骤 4.1 生成的服务推荐列表, 再依据邻居用。

35、户调用服务的频繁度 对上述服务推荐列表中的服务进行排序, 生成最终的服务推荐列表 ; 0080 本实施例对于步骤 4.2 中用户的服务调用频繁度计算公式如下 : 0081 0082 步骤 4.3 : 将所述的最终的服务推荐列表呈现给用户。 0083 下面针对 S2R2 (www.s2r2.org) 服务平台上的 Web 服务进行服务推荐作为实施例, 以详细描述本发明的实施过程, 并结合试验来说明服务推荐的有效性。 0084 执行步骤1, 使用爬虫并结合PWeb等Web服务网站提供的Web服务和API特点, 收 集 Web 服务的描述信息, 具体包括 API 名字、 描述、 标签等, 存储在文本。

36、文档中 ; 对于那些遵 循SOAP协议的API服务, 还进一步收集了相应的WSDL文档 ; 然后由领域专家利用收集内容 对服务进行基于 ISO/IEC19763-7 服务元模型注册框架, 进行角色、 目标、 流程及标签标注, 并注册到软件服务资源注册资源库 (Software Service Registration and Repository, S2R2) , 注册完成之后动态的生成服务描述文档, 由服务角色描述矩阵, 服务目标描述矩阵, 服务流程描述矩阵和服务标签描述矩阵构成 ; 0085 然后, 执行步骤 2, 收集整理服务平台中用户的服务查阅记录或调用记录, 生成 m 个用户对 n 。

37、个服务的调用记录, 用户的调用记录选取了从 2013 年 1 月 1 日到 2013 年 3 月 1 日之间调用服务超过 30 次的活跃用户, 这些活跃用户服务总调用次数达到 5403 次, 调用 的服务达到 277 个, 得到一个维度为 mn 的用户服务调用矩阵, 其中用户数 m=30, 服务数 n=277。然后根据步骤 (1) 的服务角色描述矩阵和用户调用矩阵, 可以得到用户的服务角色 调用矩阵、 服务目标调用矩阵、 服务流程调用矩阵及服务标签调用矩阵, 上述矩阵维度如表 1 所示 : 0086 表 1 矩阵维度 0087 说 明 书 CN 103544623 A 10 8/9 页 11 。

38、0088 然后将用户角色调用矩阵中的用户等价为 TF-IDF 中的文档 (Document) , 将角色 等价为文档中的词 (Term) , 同时考虑用户最近一次调用该角色的时间, 来计算用户偏好文 档中角色维度中的权重, 设时间衰减参数 =0.2, 利用步骤 2.3 中的计算公式得到服务角 色的权重矩阵、 服务目标权重矩阵、 服务流程权重矩阵和服务标签权重矩阵 ; 0089 然后执行步骤 3, 首先将步骤 2 中的权重矩阵与服务角色、 服务目标、 服务流程和 服务标签分别转换为向量空间集合, 然后利用向量的余弦相似度计算方法, 分别生成用户 之间的角色偏好相似度、 目标偏好相似度、 流程偏好。

39、相似度和标签偏好相似度, 然后进行线 性加权融合。设参数 =0.2,=0.4,=0.1,=0.3, 用户 c1的 Top-10 的偏好相似度如表 2 所示 : 0090 表 2 用户 u1的 Top-10 相似度 0091 0092 然后执行步骤 4, 选取最近邻居使用频繁度高的服务加入到推荐列表, 排序后向用 户推荐。 0093 下面利用实验进行有效性验证, 分别对以下几种方法进行推荐准确度比较 : 0094 RR : 采用随机方法进行推荐, 在30个用户中随机推荐6个用户, 把这6个用户使用 最频繁的服务加入到推荐列表中, 产生的 6 个服务推荐给用户 ; 0095 MPR : 采用基于流。

40、行度的推荐, 在选定的 277 个服务中, 根据服务被调用的次数多 少来推荐, 将总调用次数最多的 6 个服务作为结果推荐给用户 ; 说 明 书 CN 103544623 A 11 9/9 页 12 0096 IR : 采用基于调用次数的个性化推荐方法, 该方法中将用户服务调用文档中的用 户作为 TF-IDF 中的文档, 用户调用的服务作为词, 采用 TF-IDF 方法生成用户调用服务的 权重, 然后利用向量余弦相似度计算方法计算用户之间的相似度, 然后选取相似度最高的 6 个用户, 并将 6 个最近邻居用户使用最频繁的服务加入到推荐列表推荐给用户。 0097 RGPT : 采用本发明中的方法。

41、, 其参数设定如下 ; 0098 表 3 试验参数设置 0099 0100 将上述四种推荐方法推荐准确度进行比较, 试验结果是 10 次重复试验结果的平 均值。 0101 请见图 4, 是本发明实施例的实施例中多种方法推荐准确度对比统计图 ; 随着累 计服务调用次数的增加, 四种方法相比, RGPT 方法在累计调用次数超过 1000 后推荐准确度 稳定, 并且准确度最高, 其次是IR方法推荐, 但是IR方法随着累计调用次数的增加, 推荐精 确度有下降趋势, 基于流行度的 MPR 方法随着服务累计次数的增加准确度略有升高, 但是 推荐精度仍然低于前两种, RR 方法推荐与累计调用次数基本关联较小, 该方法的推荐的准 确度不够稳定, 且较低。因此, 文中方法与其它几种方法相比具有较好的准确率, 通过实验 进一步验证该方法的可行性和有效性。 0102 本文中所做的实验是围绕本发明方法进行说明, 本发明所属技术领域的技术人员 可以对其做各种参数设计进行修改或补充或采用类似的方式替代, 但并不会偏离本发明的 精神或者超越所附权利要求书所定义的范围。 说 明 书 CN 103544623 A 12 1/2 页 13 图 1 图 2 说 明 书 附 图 CN 103544623 A 13 2/2 页 14 图 3 图 4 说 明 书 附 图 CN 103544623 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1