ICWS2010 Clustering WSDL Documents to Bootstrap the Discovery of Web Services

论文:Clustering WSDL Documents to Bootstrap the Discovery of Web Services

属于服务发现的一篇文章

现在web的广泛应用使得web服务成为了网络用户的必要部分,用户搜索网络上的web服务,得到一套web服务,可能满足用户需要,也可能不满足。为了得到最合适的web服务,用户不得不使用最能描述他目标的关键词。根据web服务的功能对它们进行聚类可以极大地提高web服务搜索引擎的准确度。这篇论文提出了一种挖掘WSDL文件,然后按照功能相似性进行聚类的方法。

很多服务提供者比如Google,Amazon把他们的服务放在自己的网站上,而不是用公共的服务注册器,这种趋势使得用户越来越多的使用搜索引擎模型来发现服务。

但是用搜索引擎会在服务发现过程中产生瓶颈,特别是对非语义的web服务。搜索引擎通过将用户输入的关键词和web服务的名称、位置、business或tModel进行匹配得到搜索结果。这就要求用户能准确的把握关键词,但是用户一般关注的仅仅是服务的功能,对服务的名称可能把握不准,而且对于一些同义词可能也无法搜索到结果,比如,一个服务的名字里有car,但是用vehicle来搜索的话可能搜不到。

 

上面这个问题(服务发现的完整性)有两种解决方法,一种是实行一种广阔的匹配过程,返回大量的没有排名的服务;另一种是在搜索引擎爬虫在爬wsdl的时候将服务按照功能进行聚类。后一种方法不仅提高了搜索引擎的匹配过程,而且能够适应web服务的动态可变行,因为爬虫是周期性的爬的,如果服务有了变动,那爬虫再次到得时候可以重新聚类。

Related Work

非语义的web服务使用WSDL文件描述的,语义的web服务用Web ontology languages(OWL-S)或Web Service Modeling Ontology(WSMO)。

WSDL文件结构

一个wsdl文件包括下面几个部分

<types>定义消息交换所使用的 XML 类型和元素

<messages>定义一个实际的消息,包含 XML 类型或元素。

<portType> 定义一个服务所实现的操作抽象集。

<binding> 定义 <wsdl:portType> 的一个使用特定协议和格式的具体实现。

<service> 定义一个服务整体,包括一个或多个包含 <wsdl:binding> 元素访问信息的 <wsdl:port> 元素。

提出的聚类方法

WSDL content, WSDL types, WSDL messages, WSDL ports, WSDL service name

这五个部分可以很好的描述web服务的功能,将这些特征整合起来,按照功能将web服务进行聚类,这是协助服务搜索引擎识别web服务的功能之前的一步。下面这张图说明了我们的方法是怎样工作的

wsdl聚类方法

从WSDL中进行特征抽取

下图是特征抽取的步骤

特征抽取的步骤

 

特征1 WSDL content

从wsdl文件中提取出实义词,步骤有下面五步

Parsing WSDl:根据空格解析文件,得到一系列tokens Ti

Tag removal:去掉Ti中的tag部分

Word steming:把Ti中的词变为只剩下基词,比如connect,connected,connecting,connection的基词都是connect,我们只取基词,当然,出现次数的多少代表了这个词的重要性,下面一步将考虑到

Function word removal:这里看的不是很明白

function word是of, at, in, without, between这种意义不大的词,它满足泊松分布

content word是有实际意义的动词名词等

“One of the properties of content words is that they tend to ‘clump’ or to re-occur whenever they have appeared once, according to Manning and Schutze (1999). On the other hand, the occurrence of function words tend to be independent of one another. Very often, Church and Gale (1995) stated that such contrasting property can be captured through the inability of the Poisson distribution to model word occurrences in documents. In other words, unlike content words, function words tend to be Poisson distributed.”

Content word recognition:一些比较常见的词如data,web,port等,这些词在大多数服务中都会出现,因此对区别服务没有什么用处,应该把这些词去掉。我们的方法是用k-means算法,k=2,用Normalized Google Distance(NGD)来度量两个单词之间的距离。聚类好之后,采用一种聚类选择方法来自动识别哪个聚类包含data,web这种词。

特征2 WSDL Types

特征3 WSDL Messages

特征4 WSDL Ports

特征5 Web Service Name

采用uri上服务的名字,比如http://www.webservicex.net/WeatherForecast.Asmx?WSDL,名字就是

Weather Forecast,我们采用NGD来度量两个web服务名字的相似度。

特征集成

QT进行聚类,服务的相似度用以上5个特征的相似度*0.2相加。

 

 

实验和结果

Precision:用来衡量准确or精确度

Recall:用来衡量完整性

对400个web服务先进行人工的分类,用来作为聚类算法的对比

 

感悟

要看懂一篇paper,必须看N篇甚至N+1篇paper,不然真看不懂,shit!

上面写的不是很清楚,公式不知道怎么弄,还是看PPT吧

4 Responses

  1. Dylan说道:

    哇 好厉害哦亲 开始看paper了亲 虽然没看日志 但是我知道你很厉害 哈哈