首页> 中国专利> 一种基于概率潜在语义分析模型的万维网服务发现方法

一种基于概率潜在语义分析模型的万维网服务发现方法

摘要

一种基于概率潜在语义分析模型的Web服务发现方法利用了概率潜在语义分析模型对解析后的Web服务描述性文档进行建模分析,挖掘隐藏在服务描述背后的语义概念,进行语义聚类,在较先进的概念层次将请求服务和服务集中的服务进行相似性匹配,并且结合了语法层次上的谱聚类,在语义聚类之前以一种基于谱聚类的算法对服务数据集进行无关数据的滤除,从而压缩了计算的复杂性。经过试验证明,此方法在服务发现的查准率和查全率方面都有着很好的表现。

著录项

  • 公开/公告号CN102129479A

    专利类型发明专利

  • 公开/公告日2011-07-20

    原文格式PDF

  • 申请/专利权人 南京邮电大学;

    申请/专利号CN201110112383.8

  • 申请日2011-04-29

  • 分类号G06F17/30(20060101);G06F17/27(20060101);

  • 代理机构32200 南京经纬专利商标代理有限公司;

  • 代理人叶连生

  • 地址 210003 江苏省南京市新模范马路66号

  • 入库时间 2023-12-18 02:56:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-22

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20130102 终止日期:20150429 申请日:20110429

    专利权的终止

  • 2013-01-02

    授权

    授权

  • 2011-08-31

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20110429

    实质审查的生效

  • 2011-07-20

    公开

    公开

说明书

技术领域

本发明涉及一种Web(万维网)服务发现方法,主要是利用概率潜在语义分析这种机器学习的模型挖掘隐藏在请求和服务描述背后隐藏的语义概念,从而在概念层次对服务进行匹配和发现,属于信息检索领域。

背景技术

Web服务作为分布式计算技术的一支出现并且激起了来自工业和研究团体的新一轮的兴趣。Web服务具有自包含,自描述及模块化应用的特点。因为服务采用了开放式标准和协议,越来越多的被用作在因特网上整合和构建商务应用,有了Web服务的帮助,商业机构可以通过外包因特网上发布的其他Web服务来构建属于自己的商业应用。随着服务在因特网上发布和部署数量的与日俱增,如何发现与用户请求匹配的Web服务已经成为Web服务应用中的关键问题。

Web服务的发现和匹配主要包括了在客户端和服务数据库之间的协作过程中的一些操作。当一个用户想要利用网上已有的一个服务,首先和一个服务注册中心建立联系,比如UDDI[1](统一描述,发现和集成)找到与搜索条件最为相符的服务,然后通过请求/应答调用由WSDL(Web服务描述语言)描述的匹配服务。

现在,UDDI注册是服务发现中的主要技术之一,它所支持的基于关键词的搜索服务方法和大部分现存的服务发现和匹配方法[2,3,4]都显示了某种缺陷。比如当一个用户键入一些不准确的关键词进行搜索时,那么返回的结果或者是大量的服务其中可能有些与用户请求的需要完全无关或者返回结果为零,那些意义上相符的服务因为没有包含关键词语而被忽略。首先这样的发现结果显然是不能令人满意的。现存方法的另外一个缺点是在匹配中只考虑了用户服务请求中的关键字和服务的广告信息而没有考虑隐藏在服务描述背后的语义概念。

正如[5]所论述的那样Web服务的发现和匹配是面向服务计算中具有挑战性的课题之一,找到所需要的匹配服务正如大海捞针。发现的过程就是在诸如UDDI这样的注册中心,或是在P2P系统中找到相关服务,将用户请求和相关服务集进行匹配并且向用户推荐可能需要的服务。

为了服务的发现更为有效准确,有必要在用户和潜在可能服务集间建立某种关联,对于客户端来说也就是以某种自然语言的表达方式来描述自己的服务请求,通过搜索引擎与服务集建立联系,在服务提供者方面就是通过一些描述比如服务的名称,操作的描述,操作的名称等来公布服务的功能。如何在两者之间建立合适的联系对服务的发现有着重要的影响。

基于关键词是一种在服务的请求者和服务集之间建立直接联系的方法,但是由于词语存在一词多义和不同的单词也可能具有相同的含义会导致较低的查准率和查全率,并且疏于考察对关键词和服务描述中的语义概念,正如前文所分析的查询效果差强人意。

另外一种替换基于关键词方法的Web服务发现方法主要是依据在用户请求和发布的服务广告之间寻找共同的语义概念,使得相似性匹配在语义概念层次进行,这是一种在两者之间非直接的建立联系的方法。在[6]中已经阐述了这样一种服务匹配的方法,这种方法是以线性代数中的奇异值分解为基础的,虽然相对于关键词搜索显示了明显的优势,但是由于缺乏完整的概率解释而限制了其进一步的应用。

基于本体的服务发现方法关键在于利用本体对服务描述元素进行语义注释,但是创造和维护本体需要耗费大量的人力[7]。

因此,应用概率潜在语义分析对基于奇异值分解[6]的方法进行拓展,结果有着更完备的概率解释并且也显示了更出色的匹配效果。

[1]UDDI Version 2.03 Data Structure Reference UDDI CommitteeSpecification,19July2002,http://uddi.org/pubs/DataStructure-V2.03-Published-20020719.htm

[2]L.S.Larkey.Automatic essay grading using text classification techniques.InProceedings of ACM SIGIR,1998.

[3]Y.Yang and J.Pedersen.A Comparative Study on Feature Selection in TextCategorization.In International Conference on Machine Learning,1997.

[4]A.M.Zaremski and J.M.Wing.Signature Matching:a Tool for Using SoftwareLibraries.In ACM Transactions on Software Engineering and Methodology,Volume4,Number 2,pages:146-170,April,1995.

[5]J.Garofalakis,Y.Panagis,E.Sakkopoulo and A.Tsakalidis.Web Service DiscoveryMechanisms:Looking for a Needle in a Haystack?In International Workshop on WebEngineering,August 10,2004.

[6]A.Sajjanhar,J.Hou and Y.Zhang.Algorithm for Web Services Matching.InProceedings of the 6th Asia-Pacific Web Conference,APWeb 2004,Hangzhou,China,April 14-17,2004.

[7]M.Klein and A.Bernstein.Toward High-Precision Service Retrieval.In IEEEInternet Computing,Volume:8,No.1,Jan.-Feb.pages:30-36,2004

发明内容

技术问题:本发明的目的是提供一种基于概率潜在语义分析模型的Web服务发现方法,利用潜在概率语义分析模型,这样一种机器学习的方法抓住隐藏在请求和服务描述背后的语义,使得Web服务的相似性匹配可以在概念层次进行,明显提高Web服务发现的查准率和查全率。

技术方案:传统的服务发现机制主要是基于关键词的搜索,用户通过关键词检索会获得大量的服务返回结果,其中可能存在着大量内容与用户需要完全无关的Web服务,从中选择真正的匹配服务将耗费用户大量的时间精力而且非常困难。

为了压缩搜索空间,运用聚类算法对初始的返回结果进行过滤,以删除那些内容无关服务,对于由此得到的服务集进行概率潜在语义建模分析,服务将进一步聚类为一定数量的语义相关簇。在这个阶段,概率潜在语义被用来挖掘隐藏在请求词语和服务描述中的语义概念,以实现服务概念层次的匹配。概括地说,这种基于概率潜在语义分析的方法就是将句法聚类和语义聚类想结合,有效的改善了Web服务发现的查全率和查准率。

基于概率潜在语义分析模型的Web服务发现方法将常规的语法分析和语义聚类相结合,语法分析指的是Web服务矩阵的构建和应用基于谱聚类的算法对数据集中的与请求无关的服务进行滤除,而语义聚类指的是在Web服务发现和描述的主导机制UDDI和WSDL的基础上,应用概率潜在语义分析模型对Web文档进行建模分析,将数据集进一步聚类为语义相关簇,在这一阶段,概率潜在语义分析模型的重要作用在于抓住隐藏在用户请求和Web服务描述背后的语义概念,使得Web服务的匹配在先进的概念层次进行。

WSDL文档是Web服务描述的主要机制,包含了对服务中抽象接口的定义和对网络中具体执行的描述,通过从中提取信息内容并且进行适当的数据处理得到Web文本内容,具体实现步骤为:

步骤1)采集WSDL文档,对这些文档进行解析,得到各部分元素名称及其文字内容;

步骤2)对步骤1的结果进行单词原型处理和去除停止单词;

对经过数据处理的Web文本数据集进一步考虑文本间的关系并且构建服务矩阵,服务矩阵的构建主要是建立在向量空间模型和词频-逆向文档频率权重算法的基础上,通过向量空间模型,将数据集中的每个服务表示为一个向量形式,向量的每一维表示一个词项,其权重根据词频-逆向文档频率权重算法得到,向量的维度也就相当于词汇表中的词汇数,即出现在整个文档集中所有不同词汇的总数,因此整个Web服务数据集就表示为一个服务矩阵,具体实现步骤为:

步骤21)跟向量空间模型将数据集中的每一个服务表示为一个向量,用词频-逆向文档频率加权计算向量中每个词项的权重;

步骤22)在步骤1的基础上得到整个数据集的服务文本矩阵;

在进行基于概率潜在语义分析的语义聚类之前,通过基于谱聚类的算法对数据集进行与请求无关服务的滤除,具体实现步骤为:

步骤31)通过谱聚类将服务文本聚为k个簇,并且得到每个簇的聚类中心;

步骤32)预先设定一个门限值,计算每簇中数据点和相应聚类中心的距离,如果大于门限值,则认为此数据代表的对象为请求无关服务,从服务集中删除;

最后对经过上述步骤得到的数据集应用概率潜在语义分析模型将服务进一步聚类成为一定数量的语义相关簇,这一步的重要作用是集中于抓住隐藏在请求服务和服务描述背后的语义概念,最后在同一语义相关簇的范围内计算请求q和其中服务的语义相似度,具体实现步骤为:

步骤41)对于数据集中的每一个服务d,根据概率潜在语义模型得到得出这个服务对于每个潜在变量zf的概率分布;

步骤42)找到这个服务对应的潜在变量的概率分布的最大值,将其聚类到这个潜在变量对应的语义相关簇中;

步骤43)循环步骤41)和步骤42),直到将整个数据集中的服务聚类为k个语义相关簇;

步骤44)最后根据公式计算请求q和与其同一语义相关簇中的服务的语义相似度。

有益效果:通过概率潜在语义分析在用户和潜在可能服务集间建立了非直接的联系,对隐藏在用户请求和服务广告中的语义关系进行分析挖掘,在概念层次进行请求和服务集中服务的匹配,并且和传统的文本聚类相结合,在降低检索空间的同时提高了服务发现的查准率和查全率。

附图说明

图1是Web服务发现示意图,

图2是语义聚类的流程。

具体实施方式

实施方法需要以下步骤:

步骤1)从Web服务描述性文档的所有构成元素中提取元素名称和文字内容等关键词信息;

步骤2)对从步骤1中提取的信息进行数据处理,主要包括去除停止单词和单词原型处理;

步骤3)利用向量空间模型表示服务集中的每个服务,每个服务都会以一个向量的形式表示,整个服务集则表示为矩阵形式;

步骤4)通过一种聚类算法去除服务集中与请求内容无关的服务;

步骤5)对步骤4得到的数据集,运用概率潜在语义分析进一步聚类为一定数量的语义相关簇;

步骤6)计算请求和与其相同语义相关簇中服务的语义相似度;

本发明技术方案具体分为四部分:

1.Web服务描述性文档的信息提取和数据的预处理

Web服务描述性语言是一种基于xml格式的应用,将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。Web服务描述性语言首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的Web服务。本发明正是以Web服务描述性文档为背景对服务进行发现和匹配。

一个Web服务描述文档通常包含7个重要的元素,即types、import、message、portType、operation、binding、service元素。这些元素嵌套在definitions元素中,definitions是Web服务描述文档的根元素。在抽象描述中,portType和operation定义了一系列接口和操作集,此外message是通信消息的数据结构的抽象类型化定义,而service,port,binding这些元素则用来描述相关的具体部署。

每一个Web服务都会有相应的Web服务描述文档对其服务功能进行描述,所以从中提取服务的整体接口信息比如元素的名称和其中的文字内容是数据集收集的第一步。

然后是对前面得到的Web文档信息进行数据预处理,将原始的Web服务信息转化为适合后期模型学习的数据格式。为了达到这个目的,应用了一些常用的单词处理方法。当文档中的描述或是词语是一系列字符串的组合时,则将其拆分开,使得每个部分都能传递相关的意义。其他的数据预处理技术还包括单词原型处理和停止单词的移除,前者是旨在删除常用词后缀,而后者是删除那些使用频率极高但是没什么意义的单词。

具体步骤如下:

步骤1)从服务门户网站采集一定数量的Web服务描述性文档,对Web服务描述性文档进行解析,从中提取所有元素的名称或是文字描述;

步骤2)对步骤1得到的结果应用单词原型处理,还原单词的原型,同时去除停止单词

2.数据的矩阵表示

对于由第一部分处理后的数据集利用向量空间模型,向量空间模型是一个用来表示文本文档(通常也用来表示一些对象)的特征向量的数学模型,例如索引词项,被广泛应用于信息过滤,信息检索,索引和相关度计算。

数据集中的每个Web文档都可以表示为一个向量,向量的每一维都相当于一个词项,如果一个词项在文档中出现,那么它在向量中的值是非零的。计算词项向量值权重的方法有多重,这里采用著名的词频-逆向文件频率加权。一般来说,词项可以是单词,关键字或是长短语,如果词被选作词项,那么向量的维度就等于词汇表中的词汇(出现在整个文档集中所有不同词汇的总数)。词频-逆向文件频率加权是局部参数和全局参数的乘积,词频是指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被正规化,以防止它偏向长的文件,逆向文件频率是是一个词语普遍重要性的度量。某一特定词语的逆向文件频率可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。Web文档中的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的词频-逆向文件频率,因此这种权重计算方法倾向于过滤掉常见的词语,保留重要的词语。

根据上述方法得到数据集中每个Web文档的向量表示,从而整个数据集可以被表示为一个m×n的矩阵,n为数据集中文档的数目,m为每个文档向量的维数。

具体步骤如下:

步骤1)计算每个文档向量中词项的词频-逆向文件频率权重;

步骤2)根据第一步中得出的每个文档的向量,得到整个数据集的矩阵表示;

3.数据集中无关服务的滤除

当给定一个请求服务时,Web服务源会依据某种相似性原则返回一个Web服务集。考虑到存在这样一种可能返回的初始服务集可能包含着一些在内容上与用户请求毫不相关的服务,为了提高Web服务发现的效率同时减小计算的复杂性,将这些无关服务相应的从数据集中删除。

从数据集中移除无关数据的方法有多种,这里采用的方法是基于谱聚类的算法。聚类分析是数据分析中的常用方法之一,所谓聚类就是将数据点划分为若干个类或是簇,使得同一类中的数据点具有较高的相似性而不同类之间具有较高的相异度。传统的聚类算法如k-means算法是建立在凸球性的样本空间上,当样本空间为非凸时,算法易陷入局部最优化。为了克服这个缺陷,谱聚类这种新型的聚类算法被提出,谱聚类根据样本间的相似关系建立矩阵,通过计算特征向量找出数据样本间的内在关系。

根据某种相似度定义,构建原始数据集矩阵的相似度矩阵,对相似度矩阵应用谱聚类,将原始数据集分为k个不同的簇,每个簇有一个聚类中心,然后计算每簇中数据点和对应簇聚类中心的欧氏距离,如果得出的距离大于预先设定的门限值u,那么认为这个数据点代表的Web文档对象属于无关服务,将其从数据集中滤除。

无关Web文档滤除具体步骤:

步骤1)对数据集矩阵根据某种相似度规则定义,得到数据集的相似度矩阵;

步骤2)对相似度矩阵应用谱聚类算法,将数据点分为k个不同的簇类,并且得出每个簇的聚类中心;

步骤3)计算数据点和其所属的簇的聚类中心的欧氏距离,与预先设定的门限值相比较,如果大于门限值,则将此数据点对应的文档从数据集中删除。通过以上3步,得到用于概率潜在语义聚类的“干净”数据集。

4.概率潜在语义聚类和语义相似度计算

概率潜在语义分析的出发点是称作aspect模型的概率模型,通过引入一系列潜在变量z1,z2...zk,对应着一个潜在的语义层,将关键词和相应文本建立了非直接的联系。在模型中,在给定潜在变量的前提下,假设词语和文本都是条件独立的,完整的模型为P(di)代表文档在数据集中出现的概率;P(wj|zk)代表当确定了语义时,相关的词语出现的机会分别是多少;P(zk|di)表示一个文档中语义分布的情况,利用这些定义得到生成式模型,以产生新的数据:首先根据分布P(di)随机抽样选择一个文档di,选定文档后,根据P(zk|di)抽样选择文档表达的语义zk,选定语义后,根据P(wj|zk)选择文档的用词。

概率潜在语义模型将高维的词项-文本矩阵映射到低维(k维)的语义空间中。对于zf∈z1,z2...zk,P(zf|d)反映了一个服务对应于某个语义概念的可能性。在给定一个服务文档di时,如果对于某个语义概念zf概率分布值较高,则可以将di聚类到aspect zf。如果某个服务和用户的服务请求q非常相似,那么预计两者应以高概率映射到某个共同的语义概念zf,相比较而言,对于其他的语言概念则概率分布值较低。

以上述方式,整个Web服务文档集被聚类为k个语义相关簇,zf作为这一簇的标签,认为在同一簇中的Web服务文档有着相似的语义概念。

因为请求服务q可能没有被包含在语义分析模型中,应用EM算法将q折入模型中,最后计算请求服务q和与其同一语义概念中的服务的语义相似度。相似度计算公式为:

simPLSA(di,q)=ΣzfzP(zf|q)P(zf|di)ΣzfzP(zf|q)2ΣzfzP(zf|di)2

P(zf|q)表示用户的请求服务q对应于某个语义概念zf的概率分布,P(zf|di)表示与q相同语义相关簇中的Web服务文档,simPLSA(di,q)表示两者的语义相似度。

预先设定一个阀值,当simPLSA(di,q)大于这个阀值时,则将di添加到q的匹配服务集中。

具体实施步骤如下:

步骤1)选择服务集中的一个服务d,在概率潜在语义分析模型中得出这个服务对于每个潜在变量zf的概率分布;

步骤2)找到这个服务对应的潜在变量的概率分布的最大值;

步骤3)将此服务置于概率分布最大值相应的语义概念簇中;

步骤4)继续选择下一个服务,重复步骤一到步骤三,直到将数据集中的所有服务分为k个语义相关簇。

步骤5)最后根据公式计算请求q和与其同一语义概念中的服务的语义相似度。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号