夏薪棋,劉茜萍
(南京郵電大學(xué) 計算機學(xué)院,江蘇 南京 210003)
隨著科技的發(fā)展與網(wǎng)絡(luò)的興起,計算機軟件的相關(guān)服務(wù)逐漸增多[1]。然而,滿足相同功能需求的服務(wù)也越來越多。為了使得用戶有更好的體驗,一些服務(wù)商家不僅需要考慮服務(wù)本身的功能需求,還需要考慮服務(wù)的非功能需求。可信問題是當(dāng)前服務(wù)選擇面臨的一個重要問題,不能解決可信問題,就無法從相似的服務(wù)集中選擇出更好的服務(wù)。一個服務(wù)的好壞可以使用QoS(quality of service)[2-4]來衡量。歷史用戶給出的反饋信息可以用來計算服務(wù)的QoS,現(xiàn)實中這些用戶反饋的可信性是難以保證的。某些用戶給出的虛假好評或者惡意差評影響了QoS計算的準(zhǔn)確性[5-7]。除此之外,用戶的個人主觀評價習(xí)慣對評價數(shù)據(jù)也有一定的影響。以往的研究往往認(rèn)為可信的實體做出的服務(wù)評價是完全合理可用的[8-12],但實際并非如此,考慮到用戶的評價習(xí)慣對評價數(shù)據(jù)的影響,可信用戶給出的主觀評價可能與實際情況存在一定偏離,對這些偏離評價進行甄別并修正,將可以準(zhǔn)確有效地選擇出更適合用戶需求的服務(wù)。
文中提出一種基于評價分類的可信QoS服務(wù)選擇方法。基于歷史用戶對服務(wù)的反饋評價,充分考慮用戶評價習(xí)慣對評價的影響,將評價的服務(wù)屬性詳細(xì)分類為中立評價、寬容評價、挑剔評價、惡意評價,并進一步對可信用戶的偏離評價數(shù)據(jù)進行修正,以減少用戶評價習(xí)慣對服務(wù)評價的影響。這里偏離評價主要包括可信用戶的寬容評價和挑剔評價。
近年來,服務(wù)選擇的相關(guān)研究取得了一定成果。熊潤群等[13]設(shè)計了三維QoS模型,并結(jié)合層次分析法設(shè)計出了QoS偏好感知算法與副本選擇算法,進而獲取QoS排序。唐朝剛[14]對QoS的服務(wù)選擇問題進行了研究,設(shè)計出了top-k的服務(wù)選擇查詢技術(shù)。
然而以上這些研究沒有考慮QoS描述信息的可信性。對此,姚建華等[15]使用多種服務(wù)的非功能屬性計算服務(wù)的QoS,并使用聚類方法提高服務(wù)的QoS可信性。劉昕民等[16]使用D-S證據(jù)理論計算服務(wù)的QoS可信度。楊丹榕[17]結(jié)合貝葉斯理論和粗糙集理論對QoS的屬性進行了可信度評估和權(quán)重計算,并通過QoS度量模型選擇出優(yōu)質(zhì)的服務(wù)。
這些傳統(tǒng)的服務(wù)選擇方法,多數(shù)都是基于歷史用戶的反饋評價剔除惡意用戶,然后直接使用可信用戶的評價數(shù)據(jù)進行QoS的計算,進而以QoS值的高低完成服務(wù)選擇。直接將可信用戶的反饋數(shù)據(jù)用來計算綜合QoS具有不合理性。因為現(xiàn)實生活中確實存在這種情況,某些用戶對服務(wù)的不同屬性具有不同的評判標(biāo)準(zhǔn),這是由他們的評價習(xí)慣造成的。有些用戶或許對服務(wù)的某種屬性要求很挑剔或者很寬容??偟膩碚f,這些用戶是可信的,因為他們并沒有惡意的評價,而是由于個人的評價習(xí)慣不同導(dǎo)致評分的不合理。如果不對這些用戶的評價進行詳細(xì)的分類,那么直接使用剔除后所得的可信用戶數(shù)據(jù)也有失公正合理性。
為了保證數(shù)據(jù)具有更好的合理性,需要充分考慮用戶的評價習(xí)慣對數(shù)據(jù)的影響。對此,文中提出了一種基于評價分類的可信QoS服務(wù)選擇方法,分析用戶的歷史評價并將其詳細(xì)分類為中立評價、寬容評價、挑剔評價和惡意評價。剔除惡意用戶并篩選出值得信賴的可信用戶評價,并對得到的用戶數(shù)據(jù)做進一步的修正處理,以削弱用戶的主觀個人評價習(xí)慣對QoS數(shù)據(jù)正確性的影響,從而選擇出更合理更優(yōu)質(zhì)的服務(wù)。
歷史用戶的反饋評價是描述候選服務(wù)質(zhì)量的重要依據(jù)?;跉v史用戶的反饋將評價詳細(xì)分類,從中甄別出具有參考價值的可信用戶反饋評價。
一個服務(wù)應(yīng)該具有多個非功能屬性,歷史用戶在使用服務(wù)后都會對服務(wù)的各非功能屬性給出具體評分值,即歷史用戶的反饋評價。
相關(guān)定義如下:
定義1(S,U,A,P):U表示歷史用戶集,U={u1,…,ui,…,um};S表示所有用戶使用過的服務(wù)集合,S={s1,…,sj,…,sn};A表示服務(wù)的屬性集合,A={a1,…,ak,…,al};P表示歷史用戶的具體評分值,P={Pi,j|Pi,j為用戶ui關(guān)于服務(wù)sj的評價向量,Pi,j=
如果某個歷史用戶給出的反饋評價向量明顯偏離該服務(wù)的總體評價向量,那么這個反饋評價向量就有可能是虛假好評或者惡意差評??紤]到用戶的評價習(xí)慣對數(shù)據(jù)的影響,有的用戶對某種屬性是偏寬容的,那么他給的評分可能較總體評分高,相反地,用戶對某種屬性是偏挑剔的,那么他給的評分可能較總體評分低。這里將用戶的評價分為四類:中立評價、挑剔評價、寬容評價、惡意評價,其具體計算過程如下:
首先計算每個服務(wù)的每種屬性的一個具體平均評分值,即所有用戶對某個服務(wù)的某種屬性的評分值總和除以用戶的個數(shù)之和。相關(guān)定義如下:
(1)
(2)
(3)
定義5(α,β):α表示較小閾值,β表示較大閾值,且α≥0,β≥0。
評價分類定義如表1所示。
表1 評價分類定義表
對所有屬性都進行類似的處理,進而得到用戶對各屬性的評價類型。如果存在某個屬性上的惡意評價,那么此用戶的評價參考價值較小,此用戶將被認(rèn)定是不可信用戶,因而將這些用戶從歷史用戶集中剔除,剩余的用戶便是可信用戶。
然而,考慮到用戶的主觀評價習(xí)慣對評分值的影響,即便是可信用戶,其評分也可能出現(xiàn)偏離的情況,需要對用戶的偏離評價數(shù)據(jù)進行修正,具體方法見下節(jié)。
由于可信用戶主觀的評價習(xí)慣使得他們的評分值與實際客觀值可能有所偏離,在使用用戶評價進行服務(wù)選擇之前需要修正可信用戶的偏離評價數(shù)據(jù)。
如果某個用戶對服務(wù)的某種屬性是偏寬容的,那么這個用戶給出的評分值相對正常評分值將會偏高,這樣就和服務(wù)的真實評價有所偏離,同樣地,某個用戶對服務(wù)的某種屬性是偏挑剔的,評分值就會偏低。上一節(jié)基于惡意評價篩除了惡意用戶,從而得到了可信用戶集,對每一個可信用戶而言,需要遍歷所有評價數(shù)據(jù)并對其偏離評價數(shù)據(jù)進行修正。這里給出一個偏離度的概念,偏離度就是寬容評價或挑剔評價偏離中立評價的幅度。修正數(shù)據(jù)的目的是縮小偏離度,使得偏離評價與合理評價相接近,從而使可信用戶的數(shù)據(jù)參考價值更高。偏離度定義如下:
(4)
利用式1~3計算用戶的評價類型,從而完成可信用戶的篩選,利用式4計算出偏離評價的偏離度,這些偏離評價數(shù)據(jù)影響了服務(wù)選擇質(zhì)量。因此,需要修正這些偏離評價,可信用戶的原始偏離評價數(shù)據(jù)在不同的情況下減去或者加上偏離度,就得到了相對合理的可信評價數(shù)據(jù)。
修正結(jié)果定義如下:
下面給出修正偏離評價的計算公式:
(5)
基于上一節(jié)修正后的評價數(shù)據(jù)計算各服務(wù)的QoS具體值。計算歷史用戶對各服務(wù)的評價向量與相對應(yīng)的服務(wù)基準(zhǔn)向量之間的相似度,歷史用戶的評價向量與服務(wù)基準(zhǔn)向量的相似度越小說明該用戶對該服務(wù)反饋評價的參考價值越小,然后將得到的相似度以權(quán)重的形式進行量化,最后基于歷史用戶的反饋評價與量化后的權(quán)重計算得到各服務(wù)的QoS具體值,從而完成服務(wù)選擇的目標(biāo)。
相關(guān)定義如下所示:
向量間相似度的計算方法有很多種。其中,歐幾里得相似方法能更好地表達(dá)用戶歷史評價向量與基準(zhǔn)向量的相似程度。文中采用歐幾里得相似方法來計算向量間的相似度。計算歷史用戶ui的評價向量Pi,j與Cj的相似度,計算公式如下:
(6)
計算出用戶評價向量Pi,j與基準(zhǔn)向量Cj的相似度后,將相似度轉(zhuǎn)換成參考權(quán)重,然后再計算候選服務(wù)最終QoS評分值。計算候選服務(wù)的QoS評分值qosi的公式如下:
(7)
最后,計算出每個服務(wù)的QoS值,最大QoS值對應(yīng)的服務(wù)則是最適合目標(biāo)用戶的服務(wù)。具體算法如下所示:
算法:基于用戶評價分類的可信QoS服務(wù)選擇方法。
輸入:sj,ak,pi,j,k,α
輸出:QoS(服務(wù)綜合質(zhì)量)值最高的服務(wù)s
1.for eachsj
2.for eachak
4.for eachak
6.Cj=getAllAttr(Ek)
7.for eachuj
8.for eachak
12.for eachak
15.similarity(Ri,j,Cj)//相似度計算并做權(quán)重量化
16.for eachsj
17.calculateQos(sj)//服務(wù)選擇
18.s=sort(sj)
以餐廳服務(wù)類為例,這里有10個候選服務(wù)以及10個消費過這些服務(wù)的用戶,選取服務(wù)態(tài)度、價格、上餐速度三個指標(biāo)作為服務(wù)的屬性,反饋評價向量表如表2所示。
表2 反饋評價信息表
Step1:利用式1計算各服務(wù)屬性的平均值,得到屬性的均值向量,這里以屬性1為例:
只需要修正寬容評價以及挑剔評價的數(shù)據(jù)。按上節(jié)分類結(jié)果,需要修正用戶1的屬性3,用戶3的屬性1,用戶4的屬性2,用戶7的屬性1。利用式3求出偏離度d(保留一位有效數(shù)字)。
用戶1屬性3:
用戶3屬性1:
文中提出了基于評價分類的可信QoS服務(wù)選擇的方法,充分考慮了用戶個人評價習(xí)慣對服務(wù)評價的影響。首先基于歷史用戶對服務(wù)的反饋評價,將用戶的評價詳細(xì)分類。然后在評價分類的基礎(chǔ)上剔除惡意用戶,并進一步修正可信用戶的非中立評價數(shù)據(jù)。最后在這些修正后數(shù)據(jù)的基礎(chǔ)上,完成服務(wù)選擇。通過實例驗證表明,基于用戶評價分類的可信QoS服務(wù)選擇方法可以選擇出優(yōu)質(zhì)的服務(wù)。
目前沒有考慮用戶對服務(wù)屬性的喜好權(quán)重,今后的研究方向?qū)⑦M一步探討如何結(jié)合機器學(xué)習(xí)來確定用戶對服務(wù)屬性的個性化權(quán)重。