第二章 文獻探討
2.3 網路服務查詢方法
2.3.3 協同過濾與網路服務
另外,有一些文獻是分析使用者過去的行為經驗來查詢服務。因此,底下先 就協同過濾演算法做一個簡單的介紹,之後再針對利用協同過濾演算法的網路服 務查詢方法來介紹。
14
2.3.3.1 協同過濾演算法
協同過濾主要是根據所收集的使用者檔案(User Profile)來預測使用者對一個 物 品 (Item) 喜 好 程 度 [17,19] , 主 要 的 演 算 法 有 三 種 , 包 括 以 使 用 者 為 基 礎 (User-based)的協同過濾演算法、以物品為基礎(Item-based)的協同過濾演算法、
和混和式(Hybrid)協同過濾演算法。
以使用者為基礎(User-based)的協同過濾演算法[19],其主要的作法是收集使 用者過去對物品的評分來量化喜好程度,之後再針對目標使用者計算與其他使用 者之間的相似度,並依相似度高低來預測目標使用者對特定物品的喜好程度,最 後再依預測分數的高低來推薦目標使用者可能會感興趣的物品。圖 6 表達了此方 法的概念。其將使用者 對物品 的評分 排成一矩陣(User-Item Matrix),並且計算使用者相似度,並將相似度由高到低排序,而其他使用者對物 品的評分,就拿來預測目標使用者對特定物品的評分。
而相對於以使用者為基礎的方法,另外一種做法則是屬於以物品為基礎的協 同(Item-based)過濾演算法[6],與前述方法不同的地方在於,其是以計算物品之 間的相似度,來達到預測目標使用者對特定物品的評分,再依預測分數來推薦物 品。圖 7 表達了這種方法的概念。與前述方法相同,其亦將使用者 對物品 的評分 排成一矩陣,但其是計算物品相似度,再將相似度由高到低排 序,而目標使用者對其他物品的評分,就拿來預測目標使用者對特定物品的評 分。
15
圖 6、User-based approaches[19]
圖 7、Item-based approaches[19]
然而這兩個方法有共同缺點,就是只考慮單一的面向。以使用者為基礎的方 法而言,若收集到的使用者檔案(User Profile)中,只有很少的使用者與目標使用 者是相似的,那麼所預測出來的分數就會不正確。相同的,以物品為基礎的方法 會擁有同樣的問題,當很少物品與目標物品相似時,那所預測的分數也會有誤差。
因此,為了解決上述的問題,有文獻提出混和式(Hybrid)的協同過濾演算法[18],
16
將使用者和物品的面向都一併考慮進來。其主要的作法是,同時計算目標使用者 與其他使用者的相似度,以及目標物品於其他物品之間的相似度,並將這兩個相 似度的數值整合計算由高到低排序來預測分數。圖 8 描述了此方法的概念。
圖 8、Combining user-based and item-based approaches[19]
2.3.3.2 Collaborative filtering 查詢方法
在目前的文獻中,還只有少數的文獻利用協同過濾的機制來加強網路服務的 查詢。例如,Manikra, S.U.和 Prabhakar, T.V.[34]提出了一個結合協同過濾和語意 (Semantic)的網路服務選擇框架,來幫助使用者查詢網路服務,這個框架將服務 需 求 的 語 意 配 對 結 合 到 推 薦 系 統 中 , 其 中 的 推 薦 方 法 則 是 以 物 品 為 基 礎 ( item-based )的協同過濾演算法,用來滿足使用者對服務的 QoS 需求,以及解決 網路服務選擇的問題。然而,其缺點在於當其他物品很少與目標物品相似時,其 所預測出來的分數就會有誤差。
因此,Zheng, Z.等人[38]則是利用混和式(Hybrid)的協同過濾演算法,同時考 慮使用者之間的相似度和網路服務之間的相似度來查詢網路服務,其主要的作法
17
是在預測目標使用者對特定網路服務 QoS 的評分時,分別用 User-based 和 Item-based 的協同過濾方法計算出兩個分數後,乘以各自的權重相加成一個預測 分數,再依據分數的高低來推薦服務。此方法的優點在於其是將使用者和網路服 務做一個整體的考量,所預測出來的分數會較準確。然而,這兩個方法都有共同 的問題在於,其必頇考量到惡意使用者和錯誤評分的問題,以及使用者的評分是 主觀的,每個人的評分標準都會有所不同,這可能會造成在預測分數上的誤差。
另外,也有不收集使用者對網路服務的評分,而是紀錄使用者過去的行為,
並且利用協同過濾加以分析後來推薦網路服務的演算法。例如,Kokash, N.等人 [25]將過去使用者查詢和呼叫服務的行為都記錄下來,並且透過歷史紀錄分析出 使 用 者 查 詢 字 串 和 網 路 服 務 之 間 的 關 連 性 , 找 出 請 求 和 方 法 的 配 對 (Request-Solution Pairs),亦即每個網路服務都會配對到一個使用者需求,之後再 利用協同過濾的機制,計算使用者需求之間的相似度,並依相似度的高低來推薦 服務。
Kerrigan, M[24]則是參考了 Smyth, B[29]等人運用在網頁搜尋的方法,將原 本協同過濾中的 Item-User matrix 轉換成了 Service-Goal matrix,其中的 Service 指的是網路服務,而 Goal 指的是使用者需求的語意。在矩陣中記錄了每個網路 服務被每個 Goal 選到的次數,因此就可以根據這些次數,來分析 Goal 和網路服 務之間的關連性,次數越高代表關聯性越高,之後再依關聯性的高低來推薦網路 服務。
上述這些方法的優點在於,其不用收集使用者對網路服務的評分,因此不用 解決惡意使用者和錯誤評分的問題。然而其缺點在於,這些方法並沒有辦法依據 使用者對服務的 QoS 需求來推薦網路服務。
18