一种基于需求语义的服务聚类方法

文档序号:9646626阅读:776来源:国知局
一种基于需求语义的服务聚类方法
【技术领域】
[0001] 本发明涉及服务计算领域,尤其涉及一种基于需求语义的服务聚类方法。
【背景技术】
[0002] 面向服务的架构(ServiceOrientedArchitecture,S0A)是一种粗粒度、松親合 服务体系结构,用于指导面向服务的软件系统设计,已成为软件领域热门的研究话题之一。 随着面向服务的架构技术和软件即服务(SoftwareasaService,SaaS)的发展,互联网上 的Web服务数量一直保持快速增长的趋势,Web服务的种类也日益丰富,从传统的基于简单 对象访问协议(SimpleObjectAccessProtocol,SOAP)的Web服务到目前流行的遵循表 达性状态迁移(representationalstatetransfer,REST)协议的轻量级REST风格的Web 服务,Web服务已经成为互联网上一种重要的计算资源和软件资产,为企业和个人用户带来 了巨大的便利。但是随着服务数量的剧增以及类型的多样化,使得如何准确、高效地发现满 足用户需求的服务成为面向服务计算(ServiceOrientedComputing,S0C)领域的难题。
[0003]传统的基于UDDI(UniversalDescription,DiscoveryandIntegration)的服务 注册与发现机制仅支持对服务语法层面的操作,在服务发现阶段仅支持基于关键字的服务 匹配,在服务数量剧增的情况下往往无法满足用户要求。为此,如何提高Web服务发现效率 吸引了国内外研究者的关注。
[0004] 服务聚类是一种有效提高服务发现的技术。通常将服务聚类作为其他复杂服务匹 配算法的预处理算法:首先,将功能相似的服务聚合到一起;然后,将用户请求直接定位到 特定的服务分类,降低服务的搜索空间,提高服务发现效率。研究表明,基于功能性相似性 进行服务聚类可以提高Web服务检索效率。目前,基于功能相似性的服务聚类已有大量研 究。例如,从WSDL(Web Service Description Language)文档中抽取出体现服务功能的关 键特征,然后基于这些特征将服务聚类为功能相似的类簇;利用向量空间模型对服务源文 件中的描述性文本进行表示和处理,然后利用多重混合聚类算法MHC进行服务聚类。但是 现有的服务聚类方法仍存在如下两点不足:
[0005] 1)聚类的服务文档类型有局限性。现有的多数聚类方法只针对WSDL文档或 0WL-S(SemanticMarkupforWebService)文档等单一类型的服务描述文档,而对通过自 然语言描述的REST风格等服务关注较少。
[0006] 2)较少从需求功能语义角度考虑服务特性。现有的服务聚类方法大多对服务文档 进行降维处理,利用空间向量模型等方法对文档进行表示和处理。而从服务需求功能语义 角度出发进行聚类的研究较少。
[0007] 因此,如何针对已有服务聚类方法中存在的不足,进行高效、准确地服务聚类成为 一个具有挑战性的关键问题。

【发明内容】

[0008] 针对上述现有技术的不足,本发明的目的是提供一种基于需求语义的服务聚类方 法,该方法从需求语义角度出发,利用服务描述文本,采用自然语言处理技术提取服务功能 信息集,然后基于服务功能信息集,进行服务相似度计算,最后通过K-means算法实现服务 聚类,得到在需求语义上更加相似的服务聚类结果。
[0009] 本发明的上述技术问题主要是通过下述技术方案得以解决的:一种基于需求语义 的服务聚类方法,该方法包括以下步骤:
[0010] (1)获取服务描述文档,对文档文本进行分句处理;
[0011] ⑵以句子为单位使用StanfordParser进行语法解析,获得SD(Stanford Dependencies)集合;
[0012] (3)基于步骤⑵获得的SD集合进行分析并提取出表示服务需求功能语义的服务 功能信息集;
[0013] (4)基于步骤⑶获得的服务功能信息集,计算服务间的两两相似度。服务间的相 似度计算公式为:
[0015]其中,Ss(Sl,s2)表示服务81和s2的相似度;服务s占s2包含的功能信息数并不 相同,其中m是服务Sl,&功能信息集中包含功能信息数较少的功能信息数,η是功能信息 集中包含功能信息数较多的功能信息数。Sf(fu,fl2)表示服务81中第i个功能信息与服务 s2中第i个功能信息的相似度,计算公式如下:
[0017]其中,V。^分别表示服务功能信息fpf2中的动词,Nu,Nl2分别表示服务功能信 息f\,f2中的名词,tpt2对应动词部分和名词部分的权重,Sw(Nu,Nl2)表示两个单词的相似 度,其计算公式如下:
[0019] 其中,F(w)表示单词w的特征集,I(S)表示特征集S包含的信息数。
[0020] (5)基于步骤⑷得到的服务间相似度,使用K-means算法对服务进行聚类,k值 为人为设定,将服务相似度值作为K-means算法中的距离值。最后输出k个服务簇类。
[0021] 进一步地,上述步骤(3)具体包括以下子步骤:
[0022] (3. 1)基本服务功能信息提取:在步骤⑵获得的SD集合基础上,对以下四种情 况进行分析,提取基本服务功能信息集。
[0023]a)直接转换语法关系dobj:
[0024] dobj的governor部分直接转换为基本功能信息中的Verb部分,dependent部分 直接转为成基本功能信息中的Object部分。
[0025] b)直接转换语法关系nsubjpass :
[0026]nsubjpass的governor部分直接转换为基本功能信息中的Verb部分,dependent 部分直接转为成基本功能信息中的Object部分。
[0027] c)综合分析语法关系prep_p和nsub j :
[0028] 如果语法关系prep_p中的governor部分与nsubj中的governor部分相同,贝lj可 以将prep_p中的governor部分转换成基本功能信息中的Verb部分,dependent部分转换 成基本功能信息中的Object部分。
[0029]d)利用语法关系conj挖掘潜在功能信息集:
[0030]已获取句中的业务动作{p(verb),p(object)},
[0031]如果存在conj(p(verb),dependent),则有其并列业务动作{p(dependent),p(obj ect)};
[0032]如果存在conj(governor,p(object)),则有其并列业务动作{p(verb),p(govern or)}〇
[0033] (3. 2)服务功能信息语义扩展:步骤(3. 1)中获得的基本服务功能语义信息中可 能存在语义缺失的情况,针对这种情况,将继续对SD集合分析,并将缺失的语义扩展到服 务功能信息中。主要考虑的语法关系为nn。
[0034] (3. 3)生成服务功能信息集:对步骤(3. 2)得到的服务功能信息需要进一步的处 理,主要包含两部分工作:1)创建停词表,去除一些缺乏语义的弱动词等内容;2)对服务功 能信息集中的单词进行词性还原,便于后续服务相似度计算。
[0035] 现有技术相比,本发明具有以下优点和积极效果:
[0036] (1)本发明使用自然语言处理的相关技术从文本中提取出能够服务功能信息集, 这使得在进行服务聚类时不再受限于服务文档的类型,并且对自然语言描述的REST风格 服务聚类提供有效聚类方法。
[0037] (2)本发明从服务需求角度考虑服务相似性进行服务聚类,区别于现有方法只从 服务端考虑服务特性的缺陷,为按需服务发现提供有效支持。
【附图说明】
[0038] 图1本发明的服务描述文档案例。
【具体实施方式】
[0039] 下面通过实施例并结合附图对本发明的技术方案作进一步的说明。
[0040] 本发明提出的一种基于需求语义的服务聚类方法,具体步骤如下:
[0041] (1)获取服务描述文档,对文档文本进行分句处理:
[0042] 首先需要通过网页下载工具将服务注册网站中的相关页面以静态页面的格式下 载到本地,然后通过脚本解析这些静态页面,提取服务元信息,对这些信息进行预处理,以 去除特殊字符、不规范的语法表达等问题,并保存到本地数据库文件。
[0043] 对提取出来的服务描述文档文本进行分句处理,以"为分隔符进行分 句。
[0044] (2)基于步骤(1)的分句为单位作为输入,使用StanfordParser对其进行解析, 获得SD集合:
[0045]StanfordParser是StanfordNLPGroup开发的开源工具,广泛被用于自然 语言处理,主要实现以下几个功能:1)识别并标记句中单词的词性;2)创建一个句子 中两两单词间的语法关系StanfordDependencies,3)得到一个句子的语法结构。最 新版本的StanfordParser包含50种SD,所有的SD都可以表示为一个二元组,即:sdType(governor,dependent),其中,governor表不主导单词,dependent表不附属单词。 每个句子都将解析得到对应的SD集合。例如对于句子"Thismashupallowyoutoupload yourphoto. "可以得到SD集合为:
[0046]det(mashup,This)
[0047]nsubj(allow,mashup)
[0048]root(ROOT,allow)
[0049]dobj(allow,you)
[0050]nsubj(upload,you)
[0051]mark(upload,to)
[0052]xcomp(allow,upload)
[0053]nmod:poss(photo,your)
[0054]dobj(upload,photo)
[0055] (3)基于步骤(2)获得的SD集合进行分析并提取出表示服务需求功能语义的服务 功能信息集。
[0056] (3. 1)首先需要提取基本服务功能信息集,综合分析SD集后可归纳总结为4种情 况:
[0057] a)直接转换语法关系dobj:
[0058]dobj的governor部分直接转换为基本功能信息中的Verb部分,dependent部分 直接转为成基本功能信息中的Object部分。
[0059]例如语句"Thismashupallowyoutouploadyourphoto. " 包含语法关系 dobj(upload,photo),则可以直接转换得到基本功能信息集{uploadphoto}。
[0060]b)直接转换语法关系nsubjpass:
[0061]nsubjpass的governor部分直接转换为基本功能信息中的Verb部分,dependent 部分直接转为成基本功能信息中的Object部分。
[0062]例如语句"Yourphotowillbeuploadedtotheserver. " 包含语法关系 nsubjpass
[0063]c)综合分析语法关系prep_p和nsubj:
[0064] 如果语法关系prep_p中的governor部分与nsubj中的governor部分相同,贝lj可 以将prep_p中的governor部分转换成基本功能信息中的Verb部分,dependent部分转换 成基本功能信息中的O
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1