论文部分内容阅读
在基于Qo S的Web服务推荐系统中,准确的预测出Web服务的Qo S属性值对Web服务选择及发现显得特别重要。协同过滤技术是进行Web服务Qo S属性值预测的一种有效手段。协同过滤技术(Collaborative filtering(CF)algorithm)主要包括两大类:基于内存的协同过滤技术(memory-based CF algorithms)和基于模型的协同过滤技术(model-based CF algorithms)。基于内存的协同过滤技术通过寻找活动用户的类似用户,或者通过寻找目标Web服务的类似Web服务来进行预测。该类方法预测准确度较高,但是,该类方法的主要缺点是可扩展性差、无法克服数据稀疏性问题。基于模型的协同过滤技术利用数据挖掘或机器学习等技术来获得一个模型,然后利用该模型进行预测。基于模型的协同过滤技术的优点是算法的可扩展性高,能有效的克服数据稀疏性问题,但是该类方法的预测准确度较低、算法难于实现、模型的构建及更新时间复杂度普遍较高。由于基于Web服务的应用环境具有大规模及高度动态性等特点,导致现有的协同过滤算法不能很好的胜任基于Web服务的应用环境。本文的工作主要是设计出能胜任基于Web服务的应用环境的Web服务Qo S属性值预测技术。为此,本文的研究主要关注于提高协同过滤算法的预测准确度,并在此基础之上,进一步的提高协同过滤算法的可扩展性及克服数据稀疏性的能力,同时降低该算法中涉及的模型的构建及更新时间复杂度。本文的研究重点包括以下几个部分:提高协同过滤技术的预测准确度。为了提高预测准确度,本文分别引入了3种不同的环境因素来改进类似度计算公式及预测公式。这三种环境因素分别是时间、负载及用户输入和Web服务的时间复杂度。本文将用户输入及Web服务的时间复杂度看成一个有机整体,并利用它们来改进类似度计算公式及预测公式。就我们所知,目前还没有协同过滤技术利用时间信息、负载信息来提高协同过滤算法的预测准确度。也没有协同过滤技术引入Web服务的时间复杂度,更别提将用户输入及Web服务的时间复杂度看做一个有机整体来改进类似度计算公式及预测公式。除此之外,影响权重被用来组合基于用户的预测值和基于服务的预测值。一般地,调节参数λ被用来组合基于用户的预测值和基于服务的预测值。调节参数λ的取值对最终的预测准确度有非常大的影响。并且计算调节参数λ的最优值的时间复杂度非常高。因此,影响权重与常用的可调节参数λ相比,实现简单、可用性更好。提高协同过滤算法的可扩展性。本文利用网络距离来对用户及Web服务进行分类。然后通过在用户群(Web服务群)中寻找活动用户(目标Web服务)的类似用户(类似Web服务)来提高协同过滤算法的可扩展性。本文尝试使用地理位置或AS来衡量网络距离。该分类方法的优点在于用户群及Web服务群的构建及更新时间复杂度较低。提高协同过滤算法克服数据稀疏性能力。为了提高协同过滤算法克服数据稀疏性的能力,本文首先将用户和Web服务进行分类,获得用户群及Web服务群。分类算法既可以是传统的分类算法,如K-Means分类方法,也可以是本文中提出的根据网络距离来进行分类的方法。然后根据用户群及Web服务群,将用户-服务矩阵转换成用户群-服务矩阵及用户-服务群矩阵。由于用户、Web服务的数量要远远大于用户群、Web服务群的数量,因此,用户群-服务矩阵和用户-服务群矩阵的数据密度要远远大于用户-服务矩阵的密度。最后,利用用户群-服务矩阵来计算Web服务之间的类似度,利用用户-服务群矩阵来计算用户之间的类似度。根据实验结果,可以发现该技术可以明显地提高协同过滤算法在用户-服务矩阵的数据密度非常低的情况下的预测准确度。获得测试数据集。由于目前可用的真实的Web服务Qo S属性值数据集中,没有给出用户调用某个Web服务时观察到该Qo S属性值时该Web服务的负载信息、用户输入信息及该Web服务的时间复杂度信息,因此为了验证本文所提方法的有效性,本文开发了一些Web服务,并将这些Web服务部署在亚马逊弹性计算云平台中。由于测试数据集中收集的Qo S属性值中,需要记录来自不同地理位置的用户调用位于不同地理位置的Web服务的Qo S属性值。所以本文利用亚马逊弹性计算云平台中7个不同地理位置的硬件资源来部署Web服务,并将用户实例部署在不同的城市中,以获得能用于测试本文所提技术有效性的真实环境下的Web服务调用时用户所观察到的Qo S属性值数据集。最后,本文利用该数据集来分析与验证本文中所提出的方法。