基于异常值剔除的情境感知Web服务推荐方法和系统的制作方法

文档序号:10687162阅读:330来源:国知局
基于异常值剔除的情境感知Web服务推荐方法和系统的制作方法
【专利摘要】本发明公开了一种基于异常值剔除的情境感知Web服务推荐方法和系统,其中,基于异常值剔除的情境感知Web服务推荐方法,包括,通过情境相似度的挖掘,获得和用户当前所处情境相似的用户集合;进行真异常值的判断和剔除,从而得到不存在真异常值的服务对;通过建立QoS相似度挖掘模型,得到与当前服务相关性比较大的服务调用记录;进行服务QoS值的预测,从而得到QoS值的预测值和每个预测值的权值;进一步得出最终的预测结果;对预测结果进行评估。实现提高Web服务推荐系统的准确性的优点。
【专利说明】
基于异常值剔除的情境感知Web服务推荐方法和系统
技术领域
[0001] 本发明涉及Web服务和推荐系统领域,具体地,涉及一种基于异常值剔除的情境感 知Web服务推荐方法和系统。
【背景技术】
[0002] Web服务(Web service)是一种面向服务的架构技术,通过标准的Web协议提供服 务,目的是保证不同平台的应用服务能够实现互操作。常见的Web服务有,例如提供天气预 报查询的Web服务、提供应用程序下载的Web服务等。网络中存在大量功能相同或类似的Web 服务,"信息过载"问题十分严重,从而大大增加了用户选择Web服务的难度,从众多功能相 同或类似的Web服务为用户推荐其偏好的Web服务已经成为一个重要的研究课题。
[0003] 现有的Web服务推荐系统主要是基于PCC(Pearson Correlation Coefficient皮 尔逊相关系数)的协同过滤算法(CF)。协同过滤算法主要是通过收集与目标用户兴趣相同 用户的个人偏好,自动地预测目标用户调用服务的QoS值。现有的CF算法主要包括基于模式 的CF算法和基于记忆的CF算法。基于记忆的CF算法主要包括基于user和基于item的CF算 法。Ma等人通过研究服务QoS等客观数据的影响,对现有的CF算法进行改进的算法,提高了 未知的QoS值预测的精确度。这些方法缺少用户调用Web服务时所处的情境及服务本身所处 的情境,因此基于情境感知推荐方法应运而生。
[0004]情境感知的推荐系统通过挖掘情境因素的重要性,实现了个性化的推荐得以广泛 的应用。而且在基于QoS的个性化服务推荐中融入一些情境信息特别是时间、空间、和社交 因素的时候,发现可以提高服务推荐的准确率。
[0005] 上述方法的缺陷是:并没有考虑到网络环境的动态性,以及动态的网络中一些潜 在的因素对数据推荐的影响不能完全依靠情境信息解决,例如用户客户机的性能,路由的 情况对数据的影响;而且这些潜在的因素使用户调用的服务的QoS值产生异常,这些异常值 往往高于平均值几十倍。现存的服务推荐系统中无论是现有的基于传统的CF算法及CF的改 进算法,还是基于情境感知推荐算法往往都是基于PCC系数实现个性化的服务推荐,而且这 些算法在使用PCC系数的过程中没有考虑异常数据的影响。这些高于平均值几十倍或者小 于平均值几十倍的值,在计算PCC系数的往往或产生很大的影响。因此在情境感知推荐系统 中一些潜在的因素导致的用户偏好发生变化,影响推荐系统的精确性。
[0006] 下面三套具有代表性且与本发明相关的技术方案:
[0007] l)Zheng等人提出了根据用户需求、兴趣偏好和历史记录等信息,并利用"用户-月艮 务"评分矩阵来为用户推荐感兴趣或者评分最高的Web服务的方法。
[0008] 2)Ma等人根据用户的需求、兴趣爱好和历史记录等信息,利用用户之间的QoS相似 度和服务之间的QoS相似度对CF算法进行改进,提高了服务推荐的精确度。
[0009] 3)Kuang等人提出了情境感知的Web服务推荐方法,旨在向当前用户推荐与之所处 的情境信息相似的服务调用记录中的服务,但不能处理用户偏好发生变化的情况。
[0010] 上述三套解决方案的缺点是:第一,忽略了用户当前所处的情境信息,用户所处的 情境因素在很大程度上会影响Web服务的QoS值(响应时间),如果两个用户的所处情境越相 似,调用相同Web服务的QoS值就越相似。前两套方案没有考虑用户所处的情境,从而无法在 用户偏好发生改变时推荐新的、切合时宜的Web服务,影响系统推荐的准确率;第二,考虑了 情境信息,没有考虑一些潜在的因素对用户偏好的影响,更没有有效的排除潜在因素对用 户偏好的影响。本发明有效的考虑了相似的情境信息中一些潜在的因素的影响,并且有效 排除潜在因素的影响。为用户提供个性化的推荐。

【发明内容】

[0011] 本发明的目的在于,针对上述问题,提出一种基于异常值剔除的情境感知Web服务 推荐方法和系统,以实现提高Web服务推荐系统的准确性的优点。
[0012] 为实现上述目的,本发明采用的技术方案是:
[0013] 一种基于异常值剔除的情境感知Web服务推荐方法,包括,
[0014]步骤1、通过情境相似度的挖掘,获得和用户当前所处情境相似的用户集合;
[0015]步骤2、基于上述获得的和用户当前所处情境相似的用户集合,进行真异常值的判 断和剔除,从而得到不存在真异常值的服务对;
[0016] 步骤3、基于上述不存在真异常值的服务对,通过建立QoS相似度挖掘模型,得到与 当前服务相关性比较大的服务调用记录;
[0017] 步骤4、在上述得到与当前服务相关性比较大的服务调用记录的基础上,进行服务 QoS值的预测,从而得到QoS值的预测值和每个预测值的权值;
[0018] 步骤5、基于上述QoS值的预测值和每个预测值的权值进行加权融合,从而得出最 终的预测结果;
[0019] 步骤6、对上述预测结果进行评估。
[0020] 优选的,所述步骤2中真异常值的判断和剔除具体包括:
[0021] 步骤201、根据同时请求服务Sl和服务~的所有QoS值求得线性回归的回归系数bo 和bi,具体公式如下:
[0023] 其中,bdPh是服务Sl和服务~的线性回归方程的两个参数,心街和1V,Sj分别代表 用户v请求服务 81和服务巧获得QoS值,分别代表同时请求服务81和服务以所有用户 的平均值,U是同时请求服务 81和服务~的用户的集合;
[0024] 步骤202、使用参数bo和匕得到用户v请求服务s^QoS粗略的预测值Rp〇v)Si),具 体公式如下:
[0026]步骤203、当|rv>Si - Rp (^,,0 I 2 nS时,认为用户V请求服务Si的QoS值是真异 常的值,S是服务81的标准差,具体公式:
[0028] 步骤204、回到步骤201,直到所有的数据与其粗略预测值之差的绝对值都小于nS, n是一个常数。优选的,所述步骤3具体为:
[0029] 使用两个服务间的皮尔逊相关系数作为两个服务间的相似度,皮尔逊相关系数计 算方法如下:
[0031]其中,sim(Sl,Sj)代表服务81和服务以的相似度。
[0032]优选的,所述步骤4具体为:
[0033]步骤401、假设有两个具有较高相似度的服务Sl和服务同时被用户集U(已经去 除异常值)请求,他们的相似度在步骤3中sim(si,sj)。当一个新的用户u已经请求服务sj并 得到一个QoS值,假设用户u也会请求服务 Sl,但是QoS值是未知,在本发明中设为未知数X, 并且重新计算服务Sl和服务~的相似度:
[0035] 这里ITzUUu,,%和,分别代表的是用户集IT所有用户请求服务Sl和服务 sj的平均QoS值。
[0036] 步骤402、根据假设两个QoS相似度较高的服务对,在加入新记录的时候相似度的 变化范围较小,可以忽略不计;于是:
[0037] sim(si,sj)~sim'(Si,Sj)
[0038]步骤403、假设用户u请求服务sj^QoS值为x,则得到一个关于x的方程:
[0040]以上方程可以转换为一个一元二次方程,并且会有两个解xdPx2,为了得到方程的 最佳解,首先根据服务81和服务~的用户请求记录利用线性回归求得一个粗略值;
[0041] 步骤404、首先根据服务Sl和服务~的用户请求记录求得线性回归的参数bo和bi, 具体公式如下:
[0043]步骤405、使用参数bo和匕得到用户u请求服务s^QoS粗略的预测值Rp〇u>Si;),具 体公式如下
[0044] Rp(ru;Si) = bt ru;s. + b〇
[0045] preSj(;ru,Si;)是通过以求得的用户 u请求服务i的预测值,这里幻和幻是上面含有x 的方程的两个根,两个解中距离粗略预测值Rp(j^Si)更近的值视为用户u请求服务81的预 测值;
[0046] 步骤406、使用粗略预测值Rp〇u)Si;)判断最佳值,具体公式如下:
[0049]步骤407、为了提高预测的精确度使用了 KI个相似度较高的服务去预测QoS值,然 后再给予每个预测值的不同的权重得到预测值,加权的公式如下:
[0052]其中,fuA是预测值,con(Sj)是每一个预测值的权值。
[0053]优选的,所述步骤5具体为:
[0054]首先,对最大相似度ms、平均相似度as和相似的标准差的倒数rsd进行加权公式为:
[0057] 其中,ms(preuser)、as(preuser)和rsd(pre user)分别代表的是在KU个相似度较高的 用户中最大相似度值、相似度的平均值和相似度标准差的倒数;ms (preitem)、as (preit?)、 rscKpreit?)分别代表在KI个相似度服务中最大相似度值、相似度的平均值和相似度标准 差的倒数,加权融合的公式,
[0059] pre是最后的预测值。
[0060] 优选的,所述步骤6对预测结果进行评估,具体为:
[0061] 采用MAE值进行预测结果的评估,
[0062] 平均绝对误差的公式:
[0064] 其中,QU,W表用户u对服务s总体QoS值的实际值,代表用户u对服务s总体QoS 值的预测值,N代表预测值的总个数,MAE的值越小,预测的误差越小,即推荐预测越准。
[0065] 同时本发明技术方案还公开一种基于异常值剔除的情境感知Web服务推荐系统, 具体包括:
[0066] 情景相似度挖掘模块:获得和用户当前所处情境相似的用户集合;
[0067] 真异常值的判断和剔除模块:基于上述获得的和用户当前所处情境相似的用户集 合,进行真异常值的判断和剔除,从而得到不存在真异常值的服务对;
[0068] QoS的相似度挖掘模块:基于上述不存在真异常值的服务对,通过建立QoS相似度 挖掘模型,得到与当前服务相关性比较大的服务调用记录;
[0069] QoS值的预测模块:在上述得到与当前服务相关性比较大的服务调用记录的基础 上,进行服务QoS值的预测,从而得到QoS值的预测值和每个预测值的权值;
[0070] 以及
[0071] QoS值的预测和结果评估模块:基于上述QoS值的预测值和每个预测值的权值进行 加权融合,从而得出最终的预测结果,并对预测结果进行评估。
[0072] 本发明的技术方案具有以下有益效果:
[0073]本发明考虑到在情境感知的Web服务推荐系统中一些潜在因素的影响,通过分析 建立判断这些潜在的因素导致的真异常数据和处理真异常数据的模型,并结合QoS相似度 挖掘模型以及QoS预测方法,实现了个性化的Web服务推荐系统,进一步提高了 Web服务推荐 系统的准确性。
[0074] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0075] 图1为本发明实施例所述的考虑真异常在情境感知的网络服务推荐方法的场景示 意图;
[0076] 图2为本发明实施例所述的不同数据值的数量占比的分布图;
[0077] 图3为本发明实施例所述的基于剔除真异常值建模的情境感知网络服务推荐方法 流程图;
[0078] 图4为本发明实施例所述的基于剔除真异常值建模的情境感知网络服务推荐方法 的丰旲块不意图;
[0079] 图5为本发明实施例所述的不同算法的MAE结果对照图;
[0080] 图6为本发明实施例所述的基于用户和服务的HAPA和CASR-TE的MAE结果对照图; [0081 ]图7为本发明实施例中n取不同值的MAE值对照图;
[0082]图8为本发明实施例所述的不同比例下各种算法的MAE结果对照图。
【具体实施方式】
[0083] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实 施例仅用于说明和解释本发明,并不用于限定本发明。
[0084] 为了让网络服务推荐系统更加准确地为用户推荐个性化的网络服务,本发明主要 考虑是网络服务推荐中的不同情境因素导致的真异常值的影响,并剔除这些真异常值。首 先,建立相似情境中真异常值的判断和处理模型;其次,结合情境感知相似度的挖掘方法得 到的数据集;最后,在得到的数据集上运用预测算法进行QoS的预测,并将预测值和实际值 相比较,评估算法预测的准确性。
[0085] 附图1展示了本发明公开的考虑情境感知的天气预报网络服务推荐方法的场景 图。图中包含一个服务层(里面包含许多服务,且这些服务广泛地分布在世界各地)、一个空 间层和用户层。
[0086] 假设这个服务存储库里面包含有许多在线的天气预报服务(S1代表美国国家气象 中心的天气预报服务,s 2代表气象美国的天气预报服务,S3代表中国国家气象局的天气预报 服务,S4代表英国BBC的天气预报服务)。
[0087]由于天气预报服务的准确度与地域的相关性很大,很自然地,用户偏好于选择距 离自己当前位置比较近的天气预报网络服务。在附图1的场景中,用户m在纽约,则其会倾 向于选择来自纽约的天气预报网络服务 81或82。用户U4和1!5则更倾向于选择来自北京的天 气。
[0088] 此外,在相似情境下的用户,对服务往往有着更为相似的选择。比如调用一个服务 的时间、地点等,都会影响到用户对服务的选择。在附图1的场景中,用户m则可能更倾向与 用户u 2的服务推荐,两个用户的情境越相似,其做出的服务选择也就会越相似。因此,利用 位置相关性寻找情境相似的用户是必要的。
[0089] 最后在考虑到相似的情境下的用户,虽然对服务往往有着相似的选择,但是也必 须考虑到不同用户之间一些潜在因素的影响,比如调用服务时的网络状况,用户客户机的 性能等,也会影响到用户服务的选择。这些潜在的因素可能会导致一些数据比较异常,在本 发明中对WSDream数据集中来自美国的150个用户和150个服务的用户-服务数据矩阵进行 了统计,发现在这该数据矩阵中QoS值的平均值和标准差分别是0.3435和0.741。最小值是 0.003是平均值的百分之一,最大值19.61大约是平均值的60倍;最小值是平均值的百分之 一。并对数据的分布做了如图2的统计图:
[0090] 从图2中可以发现大部分分布在[0.01,0.8]之间,大于12.8的数据是仅占 0.062%,但是这部分的数据值是平均值的几十倍。这些值用于计算用户的相似度时可能会 带来较低精确度。但是由于网络环境是动态变化的,每一个用户的客户机,或者服务的性能 是不同的,并不能单纯的认为数值大或者小就直接的认为这个值是异常值而将其剔除。在 本发明中提出了真异常值的概念,即根据异常数据周围的数据大小建立数学模型(详见步 骤2),不符合数学模型的数据被认为是真异常值并将其剔除。异常值和真异常的概念如下: [0091]定义1:异常值_这些值与平均值相比有很大的差距,直观的认为偏离了平均值。 [0092]定义2:真异常值-每一个相似的用户(服务)对中,调用同一个服务时得到的两个 差异很大的值,其中远离平均值数据判断为真异常值。
[0093]为了充分说明异常值和真异常的区别,建立以表1中的示例:
[0095] 表1、WSDream中响应时间数据示例,
[0096] 从表1中可以看出,四个用户请求的服务WSdt得到的QoS值均大于他们请求服务 版、WS2、WS 3、WS4值,这些值看起来是比较异常的,但是并不能认为这请求服务WS#;f得到的 QoS值就是真异常值,有可能是有服务WS 5的性能不如其他四个服务的性能,从而导致QoS值 异常。然而,从表中可以发现用户Un请求服务WS6得到的QoS值是其他三个用户请求服务WS 6 的QoS值的数十倍,认为用户在请求服务WS6得到的值可能存在真异常。即在判断一个异常 值是不是真异常的时候要根据用户的历史记录或者服务的被调用记录,因此建立了真异常 数据的判断和处理模块。
[0097] 从上面的分析可以发现,在情境感知的推荐系统中,真异常值的判断和处理发挥 着重要的作用,真异常的判断和处理模块是本发明的重点。
[0098] -种基于异常值剔除的情境感知网络服务推荐方法,如图3所示,包括,
[0099] 步骤1、通过情境相似度的挖掘,获得和用户当前所处情境相似的用户集合;
[0100]步骤2、基于上述获得的和用户当前所处情境相似的用户集合,进行真异常值的判 断和剔除,从而得到不存在真异常值的服务对;
[0101 ]步骤3、基于上述不存在真异常值的服务对,通过建立QoS相似度挖掘模型,得到与 当前服务相关性比较大的服务调用记录;
[0102] 步骤4、在上述得到与当前服务相关性比较大的服务调用记录的基础上,进行服务 QoS值的预测,从而得到QoS值的预测值和每个预测值的权值;
[0103] 步骤5、基于上述QoS值的预测值和每个预测值的权值进行加权融合,从而得出最 终的预测结果;
[0104] 步骤6、对上述预测结果进行评估。
[0105]步骤1、情境相似度的挖掘
[0106] 传统的协同过滤算法一般是利用用户-商品评分矩阵寻找相似的用户或相似的商 品,进而为用户进行推荐,很少考虑用户的情境环境。在实际的情况下,用户所处的情境环 境往往决定着用户的偏好。用户的情境相似度越高,用户-商品评分记录在相似度计算的时 候往往越高。假设两个用户,当他们所处的情境越相似,他们越有可能选择相似的服务。通 过情境相似度的挖掘,获得和用户当前所处情境相似的用户集合。本发明采用根据用户和 服务的地理信息进行分类,构成地理位置相同的用户和服务数据集。
[0107] 步骤2、真异常值的判断和剔除模块
[0108]在前面已经说过由于用户的情境环境是动态变化的,并不能直接将所有偏离平均 值的数据都判断为异常值,本发明通过使用线性回归的方式判断每一个值是否是真异常 值。在异常值的判断和处理模块、QoS相似度的挖掘及使用预测方法对QoS值的预测模块中 均使用了基于item和基于user的方法,在以下的介绍中主要是基于item的方法介绍。基于 item的方法的具体步骤如下:
[0109] 1、根据同时请求服务Sl和服务~的所有QoS值求得线性回归的回归系数bdPh,具 体公式如下:
[0111] 这里bdPh是服务Sl和服务&的线性回归方程的两个参数,1V,sjprV>Sj分别代表用 户V请求服务81和服务以获得QoS值,fsjpfsj分别代表同时请求服务81和服务&所有用户的 平均值,U是同时请求服务 81和服务~的用户的集合。
[0112] 2、使用参数bdPh可以得到用户v请求服务s^QoS粗略的预测值Rp(rv)Si;),具体 公式如下:
[0114] 3、当|rv>Si - Rp (rv;Sj) I 2 nS时,认为用户V请求服务s^QoS值是真异常的值。 这里的S是服务81的标准差,具体公式:
[0116] 4、回到1继续求解线性回归的回归系数,直到所有的数据与其粗略预测值之差的 绝对值都小于nS,n是一个常参数。注:以后步骤中U均是不含真异常值的哟用户集合,为了 方便理解和表述在本发明中还用u表述。
[0117] 步骤3、QoS相似度挖掘模型
[0118] 在步骤2中得到了不存在真异常值的一个服务对,每一个服务对的相似度越高,月艮 务被相同用户调用的可能性就越高,在本发明中使用两个服务间的PCC(Pear S〇n Correlation Coefficient,皮尔逊相关系数)作为他们的相似度,皮尔逊相关系数计算方 法如下:
[0120] 这里sim(Sl,Sj)代表服务81和服务~的相似度,使用较高相似度和服务调用记录 对未知的QoS值进行预测。
[0121] 步骤4、未知QoS值预测
[0122] 经过以上步骤得到与当前服务相关性比较大的服务调用记录。在此基础上,进行 服务QoS值的预测。
[0123] 首先介绍预测算法的基本原理。本发明使用的QoS预测算法原理是基于一个假设, 假设两个服务(用户)的调用记录具有很高的相似度,那两个服务(用户)在加入新的记录的 时候,相似度的变化范围较小,可以忽略不急。具体实现步骤如下:
[0124]假设有两个具有较高相似度的服务Sl和服务同时被用户集U(已经去除异常值) 请求,他们的相似度在步骤3中sim(Sl,Sj)。当一个新的用户u已经请求服务~并得到一个 QoS值,假设用户u也会请求服务 Sl,但是QoS值是未知,在本发明中设为未知数x,并且重新 计算服务81和服务~的相似度:
[0126]这里1]/=1]1^,1^和1":%分别代表的是用户集1]/所有用户请求服务 81和服务以的 平均QoS值。根据假设两个QoS相似度较高的服务对,在加入新记录的时候相似度的变化范 围较小,可以忽略不计。于是sim(si,sj)~sin/ (si,sj)。在本发明中假设用户u请求服务si的 QoS值为x,则可以得到一个关于x的方程:
[0128]其中,上述方程是可以转化为一个一元二次方程求解,求解的结果可能会有两个 根xdPx2,在本发明中使用了线性回归判断方程的最佳根,首先根据服务81和服务~的用户 请求记录求得线性回归的参数bdPh(和上面出现的参数值并不相同,只是表述相同),具体 公式如此:
[0130] 参数bdPh是线性回归方程的两个参数,使用参数bdPh可以得到用户v请求服务 sd9Q〇S粗略的预测值Rp(;ru,Si;),具体公式如下:
[0132]使用粗略预测值Rp〇v>Si;):判断最佳值,具体公式如下:
[0134] preSj(ru,Si;)是通过以求得的用户u请求服务i的预测值,这里 xdpX2是上面含有x 的方程的两个根,两个解中距离粗略预测值更近的值视为用户U请求服务8:的预 测值。
[0135]在方程的两个根中更接近于粗略预测值的根为最佳根。在本发明中,为了提高预 测的精确度使用了 KI个相似度较高的服务去预测QoS值,然后再给予每个预测值的不同的 权重得到预测值,加权的公式如下:
[0138] 其中,『[^是最终预测值,con(Sj)是每一个预测值的权值。
[0139] 步骤5、基于item和基于user预测值的加权融合
[0140] 在本发明中真异常值的判断和处理模块、QoS相似度的挖掘模块、QoS值的预测模 块中分别使用了基于i tem和基于user的计算方法,在三个模块中仅仅介绍了基于i tem的计 算方法,最后需要将基于item和基于user的QoS预测结果进行加权融合。在本发明中无论是 基于item的QoS预测还是基于user的QoS预测中都使用了 K个相似度较高的用户(服务)进行 预测。在加权融合的过程中使用了ms (Max Similar ity最大相似度)、as (Average Similarity平均相似度)、rsd(Reciprocal of Standard Deviation相似的标准差的倒数) 三个参数进行加权,具体公式如下:
[0143] 其中,ms(preuser)、as(preuser)和rsd(pre user)分别代表的是在KU个相似度较高的 用户中最大相似度值、相似度的平均值和相似度标准差的倒数;ms (preitem)、as (preit?)、 rscKpreit?)分别代表在KI个相似度服务中最大相似度值、相似度的平均值和相似度标准 差的倒数。加权融合的公式。
[0145] 这里pre就是最后的预测值。
[0146] 步骤6、预测结果评估
[0147] 对服务推荐预测结果的评估方法主要有两种。一种是通过precision准确率)/ recall(召回率)的方法来评估,这主要应用于给用户一次推荐多个服务的算法;另一种是 通过通常所说的MAE(平均绝对误差)来评估,MAE的值越小,说明预测的误差越小,即推荐系 统预测得越准,这种方法主要应用于给出QoS预测值的算法。由于本发明的预测结果是以 QoS的形式给出的,所以采用MAE值进行预测结果的评估。
[0148] 平均绝对误差的公式
[0150] 其中,Qu, s代表用户u对服务s总体Qo S值的实际值,u s代表用户u对服务s总体Qo S 值的预测值,N代表预测值的总个数。MAE的值越小,说明预测的误差越小,即推荐系统预测 得越准。
[0151] 同时本发明技术方案还公开一种基于异常值剔除的情境感知Web服务推荐系统, 具体包括:
[0152]情景相似度挖掘模块:获得和用户当前所处情境相似的用户集合;
[0153] 真异常值的判断和剔除模块:基于上述获得的和用户当前所处情境相似的用户集 合,进行真异常值的判断和剔除,从而得到不存在真异常值的服务对;
[0154] QoS的相似度挖掘模块:基于上述不存在真异常值的服务对,通过建立QoS相似度 挖掘模型,得到与当前服务相关性比较大的服务调用记录;
[0155] QoS值的预测模块:在上述得到与当前服务相关性比较大的服务调用记录的基础 上,进行服务QoS值的预测,从而得到QoS值的预测值和每个预测值的权值;
[0156] 以及
[0157] QoS值的预测和结果评估模块:基于上述QoS值的预测值和每个预测值的权值进行 加权融合,从而得出最终的预测结果,并对预测结果进行评估。
[0158] 基于异常值剔除的情境感知Web服务推荐系统,用于运行本发明技术方案中的基 于异常值剔除的情境感知Web服务推荐方法。
[0159] 如图4所示,是本发明运行基于剔除真异常数据建模的情境感知Web服务推荐方法 的丰旲块不意图。
[0160] 在本实施例中,数据集采用香港中文大学服务计算实验室开发的WS-Dream数据 集。该数据集是目前Web服务推荐最权威的数据集之一,该数据集包含了339个用户调用 5825个服务的响应时间和吞吐量的QoS值。
[0161] 本实施例是使用MATLAB(2015a版本)来实现的。选择MATLAB的好处是,该软件中包 含有许多作图的功能,为实验结果的可视化提供了便利。上述软件所运行的环境是操作系 统是64位的Windows 7华硕,其CPU是3.6GHz Intel Core 17,内存32G。
[0162] 1)本发明技术方案还包括数据集的预处理。主要包括数据集的训练集和测试集的 划分、相似服务(用户)K值的设定。
[0163] 数据集要划分为训练集和测试集,训练集主要用来训练得出预测的结果,然后和 测试集中的结果进行比较,得出预测误差。
[0164] 2)与本发明实施结果的进行比较的参考算法
[0165] UPCC:UPCC算法利用用户的user-item评分矩阵,寻找与当前用户兴趣相似的用户 的历史调用记录进行预测。用户之间的相似度利用皮尔森相关系数方程来计算。
[0166] IPCC: IPCC算法利用item-user评分矩阵寻找用户曾经喜欢的iterns的相似items 推荐给用户,item之间的相似度也是通过皮尔森相关系数方程来计算。
[0167] HAPA:HAPA算法是利用用户(服务)的相似度进行服务推荐,该方法包括基于用户 的HAPA和基于服务的HAPA算法。
[0168] ADE:ADE方法是基于相似度的服务推荐算法,在计算相似度之前将剔除所有可能 的异常值。该算法与CASR-TADE的不同之处是剔除所有可能异常值。
[0169] CASR-TE: CASR-TE算法基于时间效应建模的情境感知Web服务推荐方法
[0170] 本发明的具体实验结果如图5至图8所示。
[0171 ]图6具体为在14:1的比例下6种方法在不同K值情况下的MAE值
[0172] 图7具体为在14:1的比例下基于user、基于item和加权后的CARS-TADE不同n值情 况下的MAE值
[0173] 图8具体为6种方法在训练集和测试集不同的比例下的MAE值。
[0174] 在图5中,可以发现随着K值的增大,所有的MAE值都在增长,但是本发明得到的MAE 值一直小于其他算法得到的MAE值;在附图6中,可以发现在基于item的算法、基于user算法 以及融合两种方法情况下,本发明优于HAPA算法;在附图7中,展示了在不同的n值下基于 item的CARS-TADE、基于user的CARS-TADE及两者融合CARS-TE算法得到的MAE值,可以发现 随着n的增大,MAE值先减小后增大,说明当n过小时,一些正常的值会被判定为真异常值,从 而影响了预测的精确度;在附图8中,可以发现在训练集和测试集比例不同的情况下,本发 明得到的MAE值小于其他方法得到的MAE值。通过以上实验结果的分析(图5、图6、图7和图8) 可以得出,本发明的CASR-TADE算法具有更小的实验误差,比其它参考算法好。其中图6中, 每个数据组中的数据柱从左至右依次为:User-HAPA、User-CASR-TADE、Item_HAPA、Item-CASR-TADE、HAPA和CASR-TADE。
[0175] 本发明技术方案分为情境相似度的挖掘模块、真异常值的判断和剔除模块(真异 常值的判断和处理模块)、Q〇S相似度挖掘模块、QoS值的预测模块(未知的QoS值预测模块)、 QoS值的预测和结果评估模块(基于item和user预测值的处理模块和预测结果评估模块)。 目前并暂无其他完整的替代方案可以完成本发明,但是以下技术方案的替换在本发明的技 术方案的保护范围内:
[0176] 1)在本发明技术方案中最重要的模块是真异常值的区分和处理模块,该模块暂无 其它同样能完成发明目的替代方案。
[0177] 2)情境相似度的挖掘模块是基于欧几里德距离的数学聚类算法,目前流行的聚类 算法比较多,但是欧几里德距离在情境感知中得到广泛的应用;
[0178] 3)未知QoS值的预测模块可以使用其他预测方法替代,例如IPCC、UPCC和UIPCC等 协同过滤算法。
[0179] 4)基于item和user那个预测值的处理模块的加权方法,可以采用普通的加权方 法。预测结果的评估算法模块的评估方法可以使用准确度/召回率代替。
[0180] 缩略语和关键术语说明:
[0181] CARS(Context-aware Recommender System,情境感知推荐系统):是一种特殊的 推荐系统,即一方面为用户推荐那些与他们信息需求相似的产品和服务,另一方面根据情 境信息为用户做出个性化的推荐。
[0182] Web服务(Web服务):是一个应用程序,它能够向外界提供一个通过网络进行调用 的应用程序接口(API)。
[0183] QoS(Quality of Service,服务质量):是服务质量的一个体现,当用户通过网络 调用服务时,会表现出一些反映服务质量的特性,如调用是否成功、响应时间、吞吐率等,这 些特性统称为QoS。
[0184] HAPA(Highly Accurate Prediction Algorithm,高准确的预测方法):是web服务 的一种推荐方法,使用用户的历史数据为用户推荐相似的产品和服务,性能优越于传统的 协同过滤方法。
[0185] Item: item是指推荐系统中用户请求的商品或者项目,在这里主要是指Web服务。
[0186] Usepuser是指在推荐系统中请求商品(或项目)的用户,这里主要指请求Web服务 的用户。
[0187] 综上所述,本发明还具有以下有益效果:
[0188] 1、本发明在是基于情境感知的服务推荐系统,不仅结合了用户的情境信息,而且 结合服务的情境信息,结合适当的情境为用户推荐合适的服务。2、本发明在情境感知Web月艮 务推荐系统中,并对用户-商品数据的潜在因素分析并建立数学模型判断和处理真异常值。 3、本发明真异常的判断和剔除模块QoS值预测模块以及基于item和基于user的预测的加权 方法有效融合,提高了 QoS值预测的精确度。4、该方法实现简单,不需要使用其他辅助模块。 从实验结果可以发现,本发明(CARS-TADE)的实验结果的MAE误差均小于所有对比算法的实 验结果,充分的说明了本发明有效的减小情境感知Web推荐系统中潜在的因素导致的真异 常值在计算QoS相似度中的影响,故可以有效提高情境感知的Web服务推荐的准确率,改善 服务推荐效果。
[0189] 最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可 以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
【主权项】
1. 一种基于异常值剔除的情境感知Web服务推荐方法,其特征在于,包括, 步骤1、通过情境相似度的挖掘,获得和用户当前所处情境相似的用户集合; 步骤2、基于上述获得的和用户当前所处情境相似的用户集合,进行真异常值的判断和 剔除,从而得到不存在真异常值的服务对; 步骤3、基于上述不存在真异常值的服务对,通过建立QoS相似度挖掘模型,得到与当前 服务相关性比较大的服务调用记录; 步骤4、在上述得到与当前服务相关性比较大的服务调用记录的基础上,进行服务QoS 值的预测,从而得到QoS值的预测值和每个预测值的权值; 步骤5、基于上述QoS值的预测值和每个预测值的权值进行加权融合,从而得出最终的 预测结果; 步骤6、对上述预测结果进行评估。2. 根据权利要求1所述的基于异常值剔除的情境感知Web服务推荐方法,其特征在于, 所述步骤2中真异常值的判断和剔除具体包括: 步骤201、根据同时请求服务Sl和服务~的所有QoS值求得线性回归的回归系数bo和h, 具体公式如下:其中,bdPh是服务Sl和服务&的线性回归方程的两个参数,分别代表用户v 请求服务81和服务以获得QoS值,fs#pfSj分别代表同时请求服务 81和服务~所有用户的平 均值,U是同时请求服务81和服务~的且得到的QoS值不含有真异常值的用户的集合; 步骤202、使用参数bQ和匕得到用户v请求服务sj^QoS粗略的预测值Rp〇v)Si;),具体公 式如下: Rp〇v,s丨)二 rv,Sj + b0 步骤203、当|rv)Si - Rp(rv,Sj) | > nS时,认为用户v请求服务s^Q〇s值是真异常的 值,s是服务81的标准差,具体公式:步骤204、回到步骤201,直到所有的数据与其粗略预测值之差的绝对值都小于nS,n是 一个常数。3. 根据权利要求2所述的基于异常值剔除的情境感知Web服务推荐方法,其特征在于, 所述步骤3具体为: 使用两个服务间的皮尔逊相关系数作为两个服务间的相似度,皮尔逊相关系数计算方 法如下:其中,sim(si,sj)代表服务si和服务sj的相似度。4.根据权利要求3所述的基于异常值剔除的情境感知Web服务推荐方法,其特征在于, 所述步骤4包括: 步骤401、假设有两个具有较高相似度的服务Sl和服务同时被已经去除异常值的用 户集U请求,服务si和服务sj的相似度在上述步骤3中求得,即sim( si,sj),当一个新的用户u 已经请求服务~并得到一个QoS值,假设用户u也会请求服务Sl,但是QoS值是未知设为未知 数x,并且重新计算服务 Sl和服务~的相似度:这里U '二Uli,r __ &和/ 分别代表的是用户集IT所有用户请求服务Sl和服务 sj的平均QoS值; 步骤402、假设两个QoS相似度较高的服务对,在加入新记录的时候相似度的变化范围 较小,忽略不计,于是: sim(si,sj)~sin/ (si,sj) 步骤403、假设用户u请求服务sj^QoS值为x,则得到一个关于x的方程:以上方程可以转换为一个一元二次方程,并且会有两个解xdPx2,为了得到方程的最佳 解,首先根据服务81和服务~的用户请求记录利用线性回归求得一个粗略值; 步骤404、首先根据服务Sl和服务&的用户请求记录求得线性回归的参数bdPh,具体公 式如下:步骤405、使用参数bQ和匕得到用户u请求服务s^QoS粗略的预测值Rfi(ru>Si;),具体公 式如下: Rp(ru,Si) = ba rU7S. + b〇 preSj(;ru,Si;)是通过以求得的用户u请求服务i的预测值,这里 xjpX2是上面含有x的方程 的两个根,两个解中距离粗略预测值Rp(ru;Si;)更近的值视为用户u请求服务81的预测值; 步骤406、使用粗略预测值Rp〇u>Si;)判断最佳值,具体公式如下:步骤407、为了提高预测的精确度使用了 KI个相似度较高的服务去预测QoS值,然后再 给予每个预测值的不同的权重得到预测值,加权的公式如下:其中,是预测值,c〇n(&)是每一个预测值的权值。5. 根据权利要求4所述的基于异常值剔除的情境感知Web服务推荐方法,其特征在于, 所述步骤5具体为: 首先,对最大相似度ms、平均相似度as和相似的标准差的倒数rsd进行加权公式为:其中,ms(preuser)、as(preuser)和rsd(preuser)分别代表的是在KU个相似度较高的用户 中最大相似度值、相似度的平均值和相似度标准差的倒数;ms (preitem)、as (preitem)、rsd (preit^)分别代表在KI个相似度服务中最大相似度值、相似度的平均值和相似度标准差的 倒数,加权融合的公式,pre是最后的预测值。6. 根据权利要求5所述的基于异常值剔除的情境感知Web服务推荐方法,其特征在于, 所述步骤6对预测结果进行评估,具体为: 采用MAE值进行预测结果的评估, 平均绝对误差的公式:其中,Qu,s代表用户U对服务S总体QoS值的实际值,GU|S代表用户u对服务S总体QoS值的 预测值,N代表预测值的总个数,MAE的值越小,预测的误差越小,即推荐预测越准。7. -种基于异常值剔除的情境感知Web服务推荐系统,其特征在于,具体包括: 情景相似度挖掘模块:获得和用户当前所处情境相似的用户集合; 真异常值的判断和剔除模块:基于上述获得的和用户当前所处情境相似的用户集合, 进行真异常值的判断和剔除,从而得到不存在真异常值的服务对; QoS的相似度挖掘模块:基于上述不存在真异常值的服务对,通过建立QoS相似度挖掘 模型,得到与当前服务相关性比较大的服务调用记录; QoS值的预测模块:在上述得到与当前服务相关性比较大的服务调用记录的基础上,进 行服务QoS值的预测,从而得到QoS值的预测值和每个预测值的权值; 以及 QoS值的预测和结果评估模块:基于上述QoS值的预测值和每个预测值的权值进行加权 融合,从而得出最终的预测结果,并对预测结果进行评估。8. 根据权利要求7所述的基于异常值剔除的情境感知Web服务推荐系统,其特征在于, 运用权利要求2至6任一所述的方法。
【文档编号】G06F17/30GK106055665SQ201610390028
【公开日】2016年10月26日
【申请日】2016年6月2日
【发明人】范晓亮, 王玉杰, 胡亚昆, 马友, 韩宁, 郭磊
【申请人】兰州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1