论文部分内容阅读
面向服务的架构(Service Oriented Architecture,SOA)技术广泛应用于面向服务的开发模式中,导致互联网上服务数量的大规模增长,服务类型的日益丰富,使得准确、高效地发现用户需要的服务变得十分困难。因此,如何提高服务发现效率,满足用户个性化的服务需求已经成为服务发现领域的难点。然而,目前已有的服务发现方法只针对单一类型的服务,较少关注自然语言描述的RESTful等类型的服务,同时,已有的基于语义的服务发现方法需要进行大量的语义推理计算,在实际应用中使用率较低。此外,服务发现虽然能够帮助用户找到自己需要的服务,但并不能保证服务是高质量的。众所周知,不同的开发者擅长的领域各有不同,因此针对不同领域的服务开发推荐合适的开发者能够保证服务的质量;而目前服务开发者数量有很多,人工选择开发者进行服务开发是不现实,如何为服务开发推荐合适的开发者已经成为服务开发过程中的难点之一。但是国内外还没有研究人员对服务开发者进行过研究。针对以上问题,本文以"面对服务数量规模化、类型多样化,如何提高服务发现效率以及对服务进行有效的管理"为研究着眼点开展相关研究工作,本文的主要研究内容如下:1)基于TF-IDF的服务聚类方法本文提出了一种基于TF-IDF的服务聚类方法(Service Clustering Based on TF-IDF,简称WSCBTF-IDF)实现对服务的聚类。首先,WSCBTF-IDF方法从服务描述文本中提取服务功能信息集;然后,基于这些服务功能信息集,同时结合TF-IDF和余弦相似度方法量度服务间的相似性;最后,基于服务间的相似性,使用k-means算法对服务集进行聚类。该方法对服务进行聚类,有助于减少用户搜索服务的数目,快速定位到满足用户需求的服务集合,能够提高服务发现的效率。2)基于朴素贝叶斯的服务开发者推荐方法本文提出了一种基于朴素贝叶斯的服务开发者推荐方法(Recommending Developers for Service Building using Naive Bayes,简称 RDSBNB)实现对服务进行开发者推荐,这个方法把服务开发者视为类别。首先,RDSBNB方法利用服务描述文档建立一个朴素贝叶斯分类器;接着,基于这个分类器,对新来的服务需求文档进行分类(也就是推荐开发者),得到分类器的输出结果;然后,将输出结果保存到列表中,并对这个列表按从大到小排序,最后,选取排名前k个开发者进行推荐。该方法能够给服务管理提供帮助,并且能提高服务开发的效率。最后,本文在基于TF-IDF的服务聚类算法以及基于朴素贝叶斯的服务开发者推荐算法的基础上,提出一种基于描述信息的服务聚类及开发者推荐方法。使用真实服务数据的对这个算法进行了实验验证,表明该方法不仅能够提高服务发现和服务管理的效率,还能够提高服务开发的效率。另外,还设计并开发了一个Web网站系统,进一步验证了本文方法的可行性和有效性。