论文部分内容阅读
近年来,随着服务计算与云计算的迅速发展,越来越多的应用以云端服务的形式由开发商提供给用户,由此引发了服务数量的爆炸式增长。面对庞大的候选服务群,如何迅速定位符合用户个性化需求的服务已成为亟待解决的问题之一。个性化推荐系统能够把用户潜在的、模糊的需求转变为现实的、明确的需求,帮助用户过滤无效信息,有效地缓解了这一问题。其中,协同过滤推荐技术由于算法简单,推荐准确率高,成为个性化服务推荐领域应用最成功的技术。但是,随着系统中用户和服务数目的增加,用户-项目评分矩阵变得越来越稀疏,严重影响了协同过滤算法的推荐质量。此外,面对系统中海量数据,协同过滤算法的可扩展性也面临着严峻的挑战。本文针对协同过滤算法的稀疏性问题和可扩展性问题展开详细研究:首先,基于服务调用次数与用户兴趣之间的非线性关系,采用Logistic函数来计算用户兴趣,不需使用用户评分数据,从而改善算法的稀疏性问题。其次,采用离线用户聚类算法对原有大规模用户数据进行聚类,实时计算过程中仅在与目标用户同属一簇的用户中寻找最近邻居,提高推荐效率。具体而言:第一,针对协同过滤算法的稀疏性问题,提出一种基于Logistic函数的协同过滤推荐算法。首先通过分析用户对服务的历史调用记录,利用调用次数代替传统方法中的用户评分;然后引入Logistic函数对调用次数进行标准化处理,使其更合理地反映用户兴趣;最后在此基础上结合传统协同过滤算法预测用户感兴趣的服务来进行推荐。第二,针对传统协同过滤算法可扩展性较差的问题,提出一种基于用户聚类的协同过滤算法。该方法首先结合调用次数和服务的关键词,得到用户对服务关键词的偏好情况,并利用TF-IDF方法计算用户对关键词的偏好度,构建用户-关键词偏好向量,以此进行用户聚类;然后引入Logistic函数计算用户对服务的兴趣度;最后,在目标用户所在的聚类中寻找其最近邻居,根据最近邻居对目标服务的兴趣度预测目标用户对目标服务的兴趣度。最后,论文对上述方法的有效性进行了分析与验证。