一种Web中面向服务环境中的基于张量的信任评估方法与流程

文档序号:20045016发布日期:2020-02-28 14:59
一种Web中面向服务环境中的基于张量的信任评估方法与流程

本发明涉及一种web中面向服务环境中的基于张量的信任评估方法。



背景技术:

多智能体的相关技术已广泛应用于许多基于web的应用场景,如电子市场,云计算等。在过去的二十年中,基于多智能体的相关技术已被广泛被基于web的面向服务环境所采用。在这样的环境中,服务被视为可交换资源,由环境中松散耦合的服务消费者(智能体)和服务提供者(智能体)所接受和提供。在接受服务之前,智能体(即服务消费者)需要评估不同智能体(即服务提供者)对其所请求的服务的潜在表现(即信任值)。信任值评估的准确性对服务消费者所能接受服务的质量有很大影响。因此,服务信任评估是基于web的面向服务环境中的重要问题。

然而,由于基于web的面向服务环境的一些特征,服务消费者有效且准确地评估服务提供者的信任值是具有挑战性的。这些特征包括:1)开放性和动态性。在基于web的面向服务环境中,智能体是具有自治能力的实体,可以自由进入和离开环境;2)规模庞大。在基于web的面向服务环境中,大量智能体进行交互并实时地接受和提供各种服务,服务消费者需要有效且准确地评估环境中大量服务提供者的信任值。3)分散控制性,在基于web的面向服务环境中,没有一个中央控制器来记录服务提供者在该环境中的所有服务提供信息,服务提供者的历史服务提供表现一般需要由服务消费者自己收集。4)历史服务提供表现的主观性。即使服务消费者收集到了潜在服务提供者的历史服务表现,其表现值是由他们以前的服务消费者主观给出的,历史表现值的主观性应该在信任值的评估中被考虑和纠正。5)服务质量随时间的变化。即使对于同一服务提供者所提供的同一种服务,服务提供表现也会在不同时间段有所不同。在信任值评估时,服务消费者应考虑服务提供者表现这种随时间的变化。

为了实现准确的信任评估,在过去的二十年中,不同研究人员从不同的角度提出了许多信任评估方法。在早期,信任评估是许多推荐系统的重要组成部分。但是,大多数推荐系统都是集中式的架构,其中中央控制器会保留所有智能体在系统中的所有历史表现。然而,在许多分散控制环境中,例如在基于web的面向服务环境中,没有一个中心的“控制者”来评估智能体的信任值。为了评估分散环境中智能体的信任值,近二十年来,许多分布式的信任评估方法被提出来。对于社交网络,在线购物平台等。在这些方法中,用户的信任是根据其在网络中的直接或不直接邻居提供的信任值来评估的。而在基于web的面向服务的环境中,智能体松散耦合,它们可以自由地进入和离开环境,因此,智能体的邻居们无法准确提供服务提供者在其服务上的表现。在过去十年中,许多针对基于web的面向服务的环境的信任评估方法被提出。在这些方法中,由于服务提供者的信任值是根据其历史服务提供表现来评估的,因此他们主要采用历史表现报告机制来记录服务提供者的历史表现。该机制描述如下:在每个服务提供者提供服务之后,服务消费者要给出一个表现值来表示服务提供者在其服务提供上的表现。表现值和其他服务提供信息被记录在历史表现报告中,该参考报告由服务提供者保存。下一次,当服务提供者想要向另一个服务消费者提供服务时,它可以向该服务消费者提供相关的历史表现报告。而服务消费者可以通过所有收集到的服务提供者的历史表现报告评估服务提供者的信任值,并选择潜在表现最好(信任值最高)的服务提供者来提供本次服务。历史表现报告机制非常适用于基于web的面向服务环境,因为服务提供者可以直接提供他们自己的历史表现,服务消费者不再需要在开放和动态环境中寻找相关服务提供者的之前的服务消费者来得到服务提供者的历史表现。然而,由于在历史表现报告中,服务提供者的表现是由不同的服务消费者主观给出的,并且大多数相应的方法在信任评估期间并没有考虑到消费者这种主观性,他们无法准确地评估服务提供者提供服务的信任值。



技术实现要素:

针对上述没有解决的关键问题,本发明提出了一种web中面向服务环境的基于张量的信任评估方法,旨在根据服务提供者报告中的历史表现,高效准确地评估服务提供者对所请求服务的信任值。

为实现上述目的,本发明采用如下的技术方案:

一种web中面向服务环境的基于张量的信任评估方法,其特征在于,包括以下步骤:

步骤1、基于张量机制,服务消费者根据服务提供者提供的的历史服务报告,对服务提供者的服务提供表现进行建模。从服务提供者接收到所有相关的历史服务报告后,服务消费者为所有潜在服务提供者的所有历史服务构建稀疏张量模型;

步骤2、基于cp分解的稀疏张量补全方法补全张量中的缺失条目,从而服务消费者可以在当前时间段中评估所有潜在服务提供者在所需求服务上的潜在表现,并选择表现最好的服务提供者来提供所需服务。

作为优选,所述的一种web中面向服务环境的基于张量的信任评估方法,存在m个松散耦合的智能体(即,agent={a1,a2,…,am}),其中每一个ai可以是服务消费者或服务提供者或两者都是。面向服务环境中的所有服务提供者都可以提供n种不同的服务(即,service={s1,s2,…,sn});每一个服务提供者pi可以定义为三元组,pi=<id,service,,reporti>,其中id是pi的唯一标识;servicei={si1,si2,…,sin}表示pi可以提供的所有服务的集合(即servicei∈service),reporti={ri1,ri2,…,rin}包括所有由pi保存的其历史服务提供报告,由pi以前的服务消费者所提供,以反映其历史服务表现和其服务提供信息;pi的历史服务报告rik可以定义为一个五元组,rik=<sik,cik,pi,tik,valueik>,其中sik是pi提供的服务(即sik∈servicei),cik是sik的服务消费者,pi是sik的服务提供者,tik是pi提供sik的时间段(将一天划分为48个时段,每个时间段为30分钟,第一个时间段为t0,最后一个时间段为tcurrent),valueik表示对于pi在sik上的服务提供表现的评分。

作为优选,步骤1所述基于张量机制,根据服务提供者提供的历史服务报告对服务提供者的服务提供表现进行建模的方法如下:

步骤1-1、提出服务提供请求,当服务消费者ci需要服务sj时,ci将根据其要求生成服务提供请求。然后,ci在基于web的面向服务环境中广播该请求以找到sj的潜在服务提供者。

步骤1-2、提供历史服务报告,如果服务提供者pi收到ci的请求,能够并且愿意为其提供sj,则pi向ci提供其与相关的历史服务提供表现,即提供相关的历史服务报告rik。

步骤1-3、服务提供者信任评估,在从所有潜在服务提供者接收到所有历史服务报告之后,服务消费者ci为所有潜在服务提供者的所有历史服务报告构建服务表现张量h∈rs×c×p×t模型,其中s,c,p和t表示服务提供者所提供的服务的集合(即,sik∈s),服务的消费者(即,cik∈c),服务的提供者(即,pi∈p)和服务提供的时间段(即,tik∈t)。其中,张量中的一个值h(sj,ci,pi,t)=value表示服务消费者ci在时间段t中对于服务提供者pi其提供的服务sj上的服务提供表现的评价为value。另外,由于一个服务提供者只能在一个时间段对一个服务消费者在一个服务上提供服务,所以服务表现张量h是稀疏张量,即,h中的很多值都是缺失的。

作为优选,步骤2所述基于cp分解的稀疏张量补全方法,对于稀疏张量h∈rs×c×p×t缺失值的补全方法如下:

步骤2-1、补全方法的输入包括:稀疏张量h∈rs×c×p×t、用于停止循环过程的阈值e和cp分解的秩r。

步骤2-2、根据稀疏张量h的规模和其cp分解的规则,建立并初始化h的因子矩阵a(s)∈r|s|×r,a(c)∈r|c|×r,a(p)∈r|p|×r使它们中的值为较小的随机值;设置调整的循环过程的变量,其中包括步长η,调节参数λ和损失值(l0=1,l1=0);构造全零张量w∈rs×c×p×t,对于每个稀疏张量h中每一个不为零的值h(j,i1,i2,t)≠0,w中的相应的值为1(即,w(j,i1,i2,t)=1)。

步骤2-3、计算相邻两轮损失值的变化(即,|l0-l1|),如果该变化大于误差阈值e时,根据cp分解的逆过程,计算由四个因子矩阵合成的全张量h′∈rs×c×p×t,(即,h′=[a(s),a(c),a(p),a(t)]),基于h现有值和h’中对应值之间的差距(即,w*(h-h′),基于梯度下降方法交替更新四个因子矩阵。更新因子矩阵后,首先,保留上次损失值l1(即,l1=l0),然后计算当前循环中,更新因子矩阵后的损失值,即当前损失值l0,损失值的计算公式如下:

其中,为正则化项,用来防止过拟合,λ为正则化项的贡献系数。

步骤2-4、重复步骤2-3,直到两次相邻循环的损失值变化小于误差阈值e时,可以说张量h’与稀疏张量h的不同已经被最小化,(即h和h’基本相同),所以h中的缺失值可以从h’中的对应位置找到。

作为优选,步骤2-3所述的基于梯度下降的四个因子矩阵的调整方法如下:

a(s)=a(s)+η(w*(h-h′))(1)(a(t)⊙a(p)⊙a(c))

a(c)=a(c)+η(w*(h-h′))(2)(a(t)⊙a(p)⊙a(s))

a(p)=a(p)+η(w*(h-h′))(3)(a(t)⊙a(c)⊙a(s))

a(t)=a(t)+η(w*(h-h′))(4)(a(p)⊙a(c)⊙a(s))

其中,′*′表示张量的hadamard乘积,(·)(n)表示张量的模式nmatricization,并且’’代表因子矩阵的khatri-rao乘积。

附图说明

图1为基于web、面向服务的环境中的基于张量用于信任评估的方法的核心流程图;

图2为提供商历史表现的张量模型;

图3为平均绝对误差mae的实验结果;

图4为平均相对误差mre的实验结果;

图5为均方根误差rmse的实验结果;

图6为所提出方法的时间消耗的实验结果;

具体实施方式

下面结合附图,通过实例进一步来说明本发明,但不以任何方式限制本发明的范围。

如图1所示,一种web中面向服务环境的基于张量的信任评估方法,其核心部分原理是,基于张量机制,服务消费者根据服务提供者提供的的历史服务报告,对服务提供者的服务提供表现进行建模。从服务提供者接收到所有相关的历史服务报告后,服务消费者为所有潜在服务提供者的所有历史服务构建稀疏张量模型;基于cp分解的稀疏张量补全方法补全张量中的缺失条目,从而服务消费者可以在当前时间段中评估所有潜在服务提供者在所需求服务上的潜在表现,并选择表现最好的服务提供者来提供所需服务。本发明中存在m个松散耦合的智能体(即,agent=(a1,a2,…,am}),其中每一个ai可以是服务消费者或服务提供者或两者都是。面向服务环境中的所有服务提供者都可以提供n种不同的服务(即,service={s1,s2,…,sn});每一个服务提供者pi可以定义为三元组,pi=<id,service,,reporti>,其中id是pi的唯一标识;servicei={si1,si2,…,sin}表示pi可以提供的所有服务的集合(即servicei∈service),reporti=(ri1,ri2,…,rin}包括所有由pi保存的其历史服务提供报告,由pi以前的服务消费者所提供,以反映其历史服务表现和其服务提供信息;pi的历史服务报告rik可以定义为一个五元组,rik=<sik,cik,pi,tik,valueik>,其中sik是pi提供的服务(即sik∈servicei),cik是sik的服务消费者,pi是sik的服务提供者,tik是pi提供sik的时间段(将一天划分为48个时段,每个时间段为30分钟,第一个时间段为t0,最后一个时间段为tcurrent),valueik表示对于pi在sik上的服务提供表现的评分。

基于张量进行信任评估的具体流程包括:

第一步:基于张量机制,根据服务提供者提供的历史服务报告对服务提供者的服务提供表现进行建模,具体方法如下:

1、提出服务提供请求,当服务消费者ci需要服务sj时,ci将根据其要求生成服务提供请求。然后,ci在基于web的面向服务环境中广播该请求以找到sj的潜在服务提供者。

2、提供历史服务报告,如果服务提供者pi收到ci的请求,能够并且愿意为其提供sj,则pi向ci提供其与相关的历史服务提供表现,即提供相关的历史服务报告rik。

3、服务提供者信任评估,在从所有潜在服务提供者接收到所有历史服务报告之后,服务消费者ci为所有潜在服务提供者的所有历史服务报告构建服务表现张量h∈rs×c×p×t模型,其中s,c,p和t表示服务提供者所提供的服务的集合(即,sik∈s),服务的消费者(即,cik∈c),服务的提供者(即,pi∈p)和服务提供的时间段(即,tik∈t)。其中,张量中的一个值h(sj,ci,pi,t)=value表示服务消费者ci在时间段t中对于服务提供者pi其提供的服务sj上的服务提供表现的评价为value。另外,由于一个服务提供者只能在一个时间段对一个服务消费者在一个服务上提供服务,所以服务表现张量h是稀疏张量,即,h中的很多值都是缺失的。

第二步:基于cp分解,补全稀疏张量的缺失条目,从而消费者可以在当前时隙中评估所请求服务上的所有潜在提供者的执行情况,具体方法如下:

1、补全方法的输入包括:稀疏张量h∈rs×c×p×t、用于停止循环过程的阈值e和cp分解的秩r。

2、根据稀疏张量h的规模和其cp分解的规则,建立并初始化h的因子矩阵a(s)∈r|s|×r,a(c)∈r|c|×r,a(p)∈r|p|×r使它们中的值为较小的随机值;设置调整的循环过程的变量,其中包括步长η,调节参数λ和损失值(l0=1,l1=0);构造全零张量w∈rs×c×p×t,对于每个稀疏张量h中每一个不为零的值h(j,i1,i2,t)≠0,w中的相应的值为1(即,w(j,i1,i2,t)=1)。

3、计算相邻两轮损失值的变化(即,|l0-l1|),如果该变化大于误差阈值e时,根据cp分解的逆过程,计算由四个因子矩阵合成的全张量h′∈rs×c×p×t,(即,h′=[a(s),a(c),a(p),a(t)]),基于h现有值和h’中对应值之间的差距(即,w*(h-h′),基于梯度下降方法交替更新四个因子矩阵。n因子矩阵的调整方法如下:

a(s)=a(s)+η(w*(h-h′))(1)(a(t)⊙a(p)⊙a(c))

a(c)=a(c)+η(w*(h-h′))(2)(a(t)⊙a(p)⊙a(s))

a(p)=a(p)+η(w*(h-h′))(3)(a(t)⊙a(c)⊙a(s))

a(t)=a(t)+η(w*(h-h′))(4)(a(p)⊙a(c)⊙a(s))

其中,′*′表示张量的hadamard乘积,(·)(n)表示张量的模式nmatricization,并且’’代表因子矩阵的khatri-rao乘积。n因子矩阵的最终调整目的是实现目标函数:更新因子矩阵后,首先,保留上次损失值l1(即,l1=l0),然后计算当前循环中,更新因子矩阵后的损失值,即当前损失值l0,损失值的计算公式如下:

其中,为正则化项,用来防止过拟合,λ为正则化项的贡献系数。

4、重复以上所述步骤3,直到两次相邻循环的损失值变化小于误差阈值e时,可以说张量h’与稀疏张量h的不同已经被最小化,(即h和h’基本相同),所以h中的缺失值可以从h’中的对应位置找到。

为了检验本发明的性能,本发明设计了一个面向服务环境,并对环境中的所有服务消费者和服务提供者使用本发明以及现有的模型进行信任值评估。在实验中,使用了10种类型的服务、10个服务消费者和10个服务提供者,其中每个服务提供者可以提供所有10种类型的服务。实验中,服务提供者的历史表现报告是分布在10个时段内,而每个服务提供者拥有1000个历史表现报告,以指示其在10个时间段内,为10个服务消费者提供10种服务的表现(即value),其中值是0到1之间的随机值。

基于以上描述,可以看出,模拟所有服务提供者的所有历史表现的标准张量的大小是10×10×10×10(即,st∈r10×10×10×10)并且st的所有值都是不为零。为了模拟服务提供者历史表现的不同稀疏性,在实验中,将从st中随机删除多个值(即,valuel)以形成稀疏张量h,其中h仅具有1%,5%,10%,20%和40%的st中的值。表1给出了实验的详细设置。

表1:实验的详细设置

与提出的方法相比较的基准是平均(avg)信任模型,认证信任(cr)模型和基于优先级(pb)的信任模型。

(1)在avg信任模型中,服务提供者(pi)对所请求的服务(sj)的信任是根据其在sj上的所有历史表现(即,valueik,其中sik=sj)的平均值来评估的。其计算如下,其中l是sj上pi的参考报告数。

(2)cr模型是avg信任模型的扩展,其中pi的信任是所请求服务sj上valueik的加权平均值,其描述如下,其中wk是sj上valueik的权重,可以根据valueik的时间段与当前时间段之间的差异来计算(即,其中λ在实验中是7)。

(3)pb信任模型通过在信任评估期间涉及服务的相似性(即,simk)来扩展cr模型,其描述如下。其中simk是给出参考报告(即cik)的服务消费者与请求sj的当前服务消费者(即ci)之间的相似性,其可以根据服务消费者的id计算(因为有10个消费者在实验中,消费者身份证号码的最大差异是1和10可以避免simk=0)。

基于h中的非零值和avg,cr,pb和提出的方法补全h中的零值valuec,计算三个参数来表示信任评估方法的准确性,包括平均绝对误差(mae),平均相对误差(mre)和均方根误差(rmse),计算如下。

其中n是张量h中缺失条目的数量。

与现有的信任评估模型相比,本发明具有以下优势。

如图3所示,当张量h非常稀疏时(即100(1%)条目非零),拟议方法完成的条目的mae为0.280299,比基准测试(avg:0.377729,cr:0.377864,pb:0.377448)更准确25.8%左右。这是因为在基准测试中,可用于评估提供者信任的相关参考报告是反映其在所请求服务sj上的历史表现的报告(即sik=sj)。当提供者只有100(1%)个参考报告时,每个提供者平均只能在sj上有一个历史表现的报告,而某些提供者没有相应的历史表现的报告,基准测试很难准确评估供应商在这种情况下的信任度。与基准不同,因为提出的方法使用张量从多个角度全面地模拟提供者的历史表现,包括提供的服务(sik),服务的消费者(cik),服务的提供者(pik)和服务提供的时间段(tik),相关的参考报告不仅包括供应商在服务sj上的历史表现,也包括对于消费者ci在最近的时间段tik>trecent的历史表现。通过这样做,可以用于评估提供者的历史表现的相关参考报告的数量增加,这提高了信任评估的准确性,尤其是当相关参考报告稀疏时。因此,随着h(500(5%),1000(10%)和2000(10%)非零项的增加,虽然拟议方法的mae减少,但是基准测试的mae比提议的方法下降得快得多。当h有4000(40%)个提供者的参考报告时,每个提供者在所请求的服务sj上有大约40个相关的参考报告,基准的mae和提议的方法几乎相同(avg:0.281621,cr:0.281559,pb:0.282439,本方法:0.281778)。可以看出,当有更多参考报告(即超过5000(50%)非零条目)时,基准的mae可能低于提议的方法,因为所请求服务的相关参考报告是比其他观点更准确。

如图4所示,h的不同稀疏度下mre的变化与图3中mae的变化相同。当h中的参考报告有限时(即100(1%)非零项),出于同样的原因,拟议方法完成的条目的mre远低于基准完成的条目。随着h中非零项的增加(即500(5%),1000(10%)和2000(10%)非零项),基准的mre下降得更快,并且更接近于提议方法的mre。当h有足够的提供者参考报告(即超过5000(50%)非零条目)时,基准的mre小于提议方法的mre。

如图5所示,不同方法的rmse的变化分别与图3和图4中的mae和mre的变化相同。

如图6所示,在实验中,还评估了所提出的方法的时间消耗,以指示其在信任评估方面的效率。当h非常稀疏(即100(1%)非零条目)时,提议的方法仅消耗176秒(即小于3分钟)来补全9900(99%)h的条目丢失,随着h中非零项的增加(即500(5%),1000(10%)和2000(10%)),虽然缺失项的数量减少,但补全它们的时间增加(229s,297s,381s和547s)。这是因为所提出的方法的基于cp分解的机制通过拟合h的非零项来完成缺失的条目,较少的缺失条目意味着h中存在更多非零的条目需要拟合。

综合以上分析,基于张量的机制,当提供者关于被质疑的服务的相关历史绩效是有限的时,所提出的方法可以从多个角度对提供者的历史绩效进行建模,这可以提高提供者信任评估的准确性。另外,由于提供者的历史性能较少(即,张量h中的非零条目较少),所提出的方法的基于cp分解的机制仅能够以较少的时间消耗实现相对高的准确信任评估。由于在开放和动态环境中,很难收集许多提供者的参考报告,因此提议的方法比大多数当前的信任方法更适合评估web中面向服务环境的提供者的信任。

以上通过实验对本发明进行了详细的描述,本领域的技术人员应当理解,在不超出本发明的精神和实质范围内,对本发明做出一定的修改和变动,比如补全稀疏张量的缺失条目的补全方法等,仍然可以实现本发明的目的。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
乐购彩 搜狐彩票网 重庆体彩网 500w彩票 彩乐乐网 彩票走势图 辽宁福彩网 爱玩棋牌