• 沒有找到結果。

第三章 一個在不信任的環境下基於服務品質和協同過濾的兩階段網路服務發現

3.2 階段一 : 協同過濾

演算法第一階段的目的在於找出使用者間的隱含文化(Implicit Culture)[8],來 幫助目標使用者找到適當的服務,而不需要收集任何的使用者評分,避免惡意使 用者以及錯誤評分的問題。其主要的方法是利用使用者過去查詢和請求網路服務 的行為紀錄,透過協同過濾過濾掉 QoS 不正確的網路服務,並且幫助使用者找 到符合功能需求的網路服務。主要的步驟如下 :

 步驟 1.1 : 建立查詢語句與網路服務矩陣

 步驟 1.2 : 計算查詢語句相似度

 步驟 1.3 : 計算網路服務與查詢語句的相關程度

3.2.1 步驟 1.1 : 建立查詢語句與網路服務矩陣

在協同推薦的演算法中,使用者對物品的評分或使用者所選過物品的行為都 會被記錄到資料庫中,而形成一使用者和物品的矩陣。相同的,在網路服務查詢 的流程中,本論文亦將使用者以查詢語句(query)在 UDDI 中查詢網路服務的行為,

以及之後呼叫網路服務的行為都記錄在歷史資料庫中。因此,每個網路服務被每

20

個查詢語句所選到的次數,我們就可以將其表示為一個查詢語句與網路服務的矩 陣。而在圖 9 的矩陣中,各符號所代表的意思如下 :

 ,代表的是使用者所下過的查詢語句,而在列上非零數值的組合,表 示是因為這個查詢語句而被呼叫過的網路服務組合。

 ,代表的是使用者所呼叫過的網路服務,而在行上非零數值的組合,

表示是這個網路服務曾經因為這查詢語句的組合而被使用者呼叫過。

,代表的則是特定的網路服務因為特定的查詢語句而被成功呼叫過的 次數。

另外,為了要能夠過濾 QoS 不正確或是無法使用的網路服務,其中 所記 錄的次數,必頇具備兩個重要的條件。第一是,使用者必頇是成功的呼叫網路服 務,亦即所呼叫的網路服務,其回應訊息不能是錯誤訊息或是無回應等等而必頇 是正常的回應訊息。第二是,在使用者呼叫網路服務的當下,系統所偵測到實際 QoS 的數值必頇要符合服務提供者所提供的 QoS 數值。亦即,只有在上述兩個 條件都符合的情況下,使用者呼叫網路服務的次數才會被計算到 中。

圖 9、查詢語句與網路服務矩陣

21

3.2.2 步驟 1.2 : 計算查詢語句相似度

當使用者需要查詢網路服務時,為了找到想要的服務功能,其會發出一個包 含功能條件(functional requirements)的請求訊息,這個功能需求可能是一些關於 網路服務名稱或描述的關鍵字,亦稱為查詢語句。因此,在接下來的步驟中,我 們需要計算目標使用者所下查詢語句與其他在矩陣中查詢語句的相似度,目的在 於利用相似度高的查詢語句來幫助目標使用者找到適當的網路服務。

在這裡本論文是利用向量空間模型(Vector Space Model)將查詢語句經由 TF-IDF(Term Frequency – Inverse Document Frequency)轉換成向量後,計算相似 度。更詳細一點來說,一句查詢語句 在本模型中會被拆解成一串有順序的字詞

22

圖 10、依查詢語句相似度排序的矩陣

3.2.3 步驟 1.3 : 計算網路服務與查詢語句的相關程度

在協同過濾的第三個步驟,是計算網路服務與查詢語句的相關程度。當使用 者下特定查詢語句後所選擇的網路服務,通常都是符合使用者功能需求的服務,

例如當使用者下了”天氣預報”的查詢語句,其所選的網路服務會有很大的機率都 是提供查詢天氣的服務。因此,我們可以利用步驟 1.2 所建立的查詢語句與網路 服務的矩陣,來計算兩者的相關程度。

以圖 11 的矩陣為例子,其表示了每個網路服務 被每個查詢語句 呼叫過 的成功次數 ,依此我們就可以計算網路服務和查詢語句之間的相關程度,而被 呼叫過的成功次數越多的網路服務,代表了被某特定查詢語句選到的機率越高,

相關程度也就越高。因此,每當使用者下了查詢語句後所呼叫的網路服務,都會 幫助協同過濾的方法能夠更準確的找到適當的網路服務,並且過濾掉 QoS 不好 的網路服務。相關程度計算的公式如下 :

接下來,我們結合步驟 1.2 所計算查詢語句 與其他查詢語句 的相似度,

23

以及其他查詢語句 與其網路服務 的相關程度做一個綜合的考量,將相似度與 相關程度相乘計算出最後的相關程度 ,來代表查詢語句 與所有網路服務的 相關程度。計算公式如下 :

這樣做的優點在於不僅可以找到和 相關程度高的網路服務,亦可以找到和 相似度高的查詢語句中與其相關程度高的網路服務來推薦給使用者,避免只考 量到單一面向的缺點,例如目標查詢語句 在資料庫中很少與其相似的查詢語句,

那麼網路服務就會很少與 有相關聯,使得所找到網路服務的精確率很低。圖 11 為依相似度和相關程度高低所排序的矩陣。

圖 11、依相似度和相關程度高低所排序的矩陣

最後再依據一個門檻值(threshold)來剔除掉相關程度太低的網路服務,只保 留相關程度高的網路服務。因此,當第一階段結束時,我們所找到的網路服務有 很大的機率都是符合使用者的功能需求並且 QoS 是正確的網路服務。

24

第一階段整體的流程如下 :

圖 12、第一階段流程圖