第三章 個人化網路服務選擇機制之設計
3.5 個人化網路服務選擇
3.5.2 個人化網路服務選擇
在網路服務選擇時,使用者通常根據網路服務本身的可用性、可靠性、安全性等 網路服務品質項目進行篩選,但使用者並不一定知道系統設定的可用性、可靠性、與 安全性之定義與計算方式,並無法真正選擇到符合使用者的網路服務。
在本論文的個人化網路服務選擇機制中採用[3]中所提到的皮爾森相關係數,藉 由網路服務需求者的評分回饋,來計算網路服務需求者之間的相似度,計算公式如公 式(3.2)。
(3.2)
各符號代表意思如下:
表示使用者 與使用者 之間的相似度;
表示使用者 已經評分過的網路服務之集合;
表示使用者 已經評分過的網路服務之集合;
表示使用者 與使用者 共同評分過的網路服務之交集;
表示使用者 對網路服務 的評分;
表示使用者 對已經評分過的網路服務的平均評分值;
表示使用者 對網路服務 的評分;
表示使用者 對已評分過網路服務的平均評分值;
計算完使用者之間的相似度之後,我們以公式(3.3)來預測使用者對網路服務的個 人化推薦分數,再由分數高到低排名網路服務,將排名前三名的網路服務顯示給網路 服務需求者。個人化網路服務選擇演算法,如圖 3-10。
(3.3)
表示預測網路服務 在使用者 的推薦分數;
表示所有使用者對網路服務 評分的平均值;
表示 的使用者 ;
表示使用者 對網路服務 的評分;
表示使用者 與使用者 的相似度;
個人化網路服務選擇演算法
//篩選可用性高於 0.5 之網路服務清單
Variables:
n:WS 中的網路服務個數
m:給予 WS 中的網路服務評分之使用者人數 current_user:當前系統使用者
i, j :計數變數
ratings[m][n]:WS 中,使用者對網路服務的評分 WS_rank[m][n]:個人化網路服務選擇推薦分數
Step 1:Data collecting //取得使用者對網路服務的評分資料 Begin
Collect rating[m][n] from all users by WS;
End;
Step 2:Similarity calculating //使用皮爾森相關系數計算使用者之間相似度 Begin
For i = 1 to m
For j = 1 to m For k = 1 to nIF ratings[i][k] empty or ratings[j][k] empty
Compute sim(i, j) using Pearson correlation coefficient;
Next Next
NextEnd;
Step 3:Recommendation computing Begin
For i = 1 to n
Compute WS_rank[current_user][i]; //網路服務在目前使用者的排名分數 Next
Select top three scores to current_user;
End;
圖 3-10 個人化網路服務選擇演算法
本論文的個人化網路服務選擇方法分為三部分:
1. 收集有對篩選後的網路服務給予評分之使用者,並取得使用者評分;
2. 計算使用者與使用者間的相似度;
3. 計算網路服務之推薦分數。
例如:
1. 假設使用者
輸入關鍵字搜尋網路服務,系統藉由使用者輸入的關鍵字從 UDDI中搜尋並篩選出可用性高於 0.5 之網路服務集合 ,並從 Feedback Database 中找出對 WS 中的網路服務有評分記錄的所有使用者
,假設系統找出 5 個網路服務與 6 個有對其評分的使用者,評 分值如表 3-4。
表 3-4 網路服務評分表 網路服務
使用者
10 2 4 8 10
5 1 2 4 5
2 4 6 7 3
4 4 4 8 9
2 1 2 4 5
10 3 3 9 5
2. 使用公式(3.2)計算使用者與使用者之間的相似度,如表 3-5。
表 3-5 使用者與使用者間的相似度
使用者
使用者
1 1 -0.38 0.57 0.7 0.75 1 1 -0.38 0.57 0.7 0.75 -0.38 -0.38 1 0.16 0.1 -0.15
0.57 0.57 0.16 1 0.97 0.21 0.7 0.7 0.1 0.97 1 0.28 0.75 0.75 -0.15 0.21 0.28 1
3. 在公式(3.3)中,考慮到當新加入的使用者沒有評分記錄,因此在計算某一個網路服
務的推薦分數時,我們加入所有使用者對此網路服務之平均評分值 之計算,並以此分數當為推薦基準,在此範例中每一個網路服務的平均評分值如表 3-6。
表 3-6 網路服務平均評分值
網路服務
平均評分值 5.5 2.5 3.5 6.67 6.17
本論文在公式(3.3)中是將使用者之間的相似度當為使用者之間的可信度,使用者
當可信度高時,其對網路服務的評分值的參考價值也比較高,計算方式是使用者 對
使用者 的信任度乘以使用者 對網路服務 的評分。
在此範例中是以使用者 為網路服務選擇之推薦對象,系統會以公式(3.3)來計算 每一個網路服務推薦給使用者 的推薦分數,推薦分數如表 3-7。我們以網路服務 推薦給使用者 為例,由表 3-4 與表 3-5 得知使用者 使用者 、 、 、 、 、
對網路服務 評分值分別為 10、5、2、4、2、10,對使用者 、 、 、 、 、 的相似 度分別為 1、1、-0.38、0.57、0.7、0.75,而系統推薦網路服務 給使用者 的推薦分 數為 30.91,其計算方法如下:
=30.91
表 3-7 使用者 之網路服務推薦分數表
網路服務
推薦分數 30.91 9.2 13.14 30.11 32.44
而本論文是推薦排名前三名的網路服務給使用者,由上表得知推薦給使用者 的
網路服務之順序為 > > 。