• 沒有找到結果。

排名機制模組

在文檔中 中 華 大 學 (頁 32-35)

第三章 系統架構設計與流程

3.4. 服務配對流程…

3.4.2. 排名機制模組

在排名機制模組中,主要的目的就是選出最符合需求的服務,推薦給予使用 者。在先前分析需求的結果,除了包含在排序機制所需的資料外,另外還有分析 出另一組在排名機制所需的資料 UBpre 。所以在排名機制模組中所需的輸入資料 為使用者需求 Ureq 、與排序模組所得出的結果 WSsort

經過排序機制模組得到的初步結果 WSsort 與 Ureq 的另一組分析資料 UBpre 之後,接下來就是利用排名機制模組將 UBpre 與在 WSsort 中的 WSchar作最後的評 估運算,在這個機制的評估運算中,我們使用了兩種方法,以利往後工作的分析,

分析此兩種方法個別的準確度以及優缺點。而這兩種方法分別是規則基準法 (Rule-based)與權重加權計算法(Weighting)。

3.4.2.1 規則基準法

規則基準法主要是透過使用者需求裡,偏好對服務功能屬性的優先順序,從 優先權較低的開始選,選出一定數量,再由第二低的從前一次選出的結果再選出 一定數量,以此類推,選到優先權最高的屬性時,只會從中挑選出一個最合適的 服務推薦給使用者。圖 3.5 為一個簡單的範例,先從屬性 1 中挑選出一定數量符 合需求的服務,在從屬性 1 中被挑選出的服務集合中挑選一定數量出符合屬性 2 的服務,以此類推。表 3.5 為規則基準法來選出適合服務的演算法過程。

圖 3.5 規則基準法選擇範例

WS1

WS2

… WSo

… WSx

WS1

WS2

… WSn

… WSo

WS1

WS2

… WSm

屬性 1 屬性 2 屬性 3

表 3.5 排名機制模組演算法-規則基準法 演算法 2-1

WSsort = {ws1, ws2 , ws3 , … , wsm} //初步結果 Ureq = {ur1, ur2 , ur3 , … , urn} //使用者需求

WSi_char = {wsc1, wsc2 , wsc3 , … , wscx} //服務屬性 i ← 0

for each uri

UBpre[] ← analyze(uri) end

//Send to Ranking Model i ← 0 , j ← 0 , k ← 0 for each uri in UBpre

for each wsj in WSsort for each wsck in WSi_char

if wsck = uri then WSrank[] ←wsj

end end end

//Select high level WS in WSrank WSrank ← WSall [1]

//Output of Ranking Model

3.4.2.2 權重加權法

權重加權法主要是透過使用者需求裡,偏好對服務功能特徵的優先順序,然 後對於此優先順序給予適當的權重加權加成,最高者給予加權越高分,並且儲存 在 Cache 中的網路服務也有權重的加權,每個屬性都給予權重配分並加乘後,最 後將總分計算出來,選出總分最高分的推薦給予使用者。而且需要先將網路服務 的特徵正規化,在我們後面的實作範例設計中,所使用的正規化方法是十進位正 規化其公式如下:

v

= v/10

i

(1)

其中 i 為使得 Max v ≦ 1 的最小整數,v為正規化後的值

上列公式可將數值正規化壓縮到區間[0,1]的情況。下列表 3.6 為權重加權法 來選出適合服務的演算法過程。而在排名模組中所使用的計分法為內積法,其公 式如下:

vector x = [ x

1

, x

2

, x

3

, … , x

n

] 、 y = [ y

1

, y

2

, y

3

, … , y

n

]

x‧y =

ni=1

x

i

∗ y

i

(2)

表 3.6 排名機制模組演算法-權重加權法 演算法 2-2

WSsort = {ws1, ws2 , ws3 , … , wsm} //初步結果 Ureq = {ur1, ur2 , ur3 , … , urn} //使用者需求

WSi_char = {wsc1, wsc2 , wsc3 , … , wscx} //服務屬性 i ← 0

for each uri

UBpre[] ← analyze(uri) //分析權重配分 end

//Send to Ranking Model

To get WS and WSchar in Cache //normalization

i ← 0 , j ← 0 , k ← 0 for each wsi in WSsort for each urj in UBpre

for each wsck in WSi_char

WSweight[i] ←urj * wsck + WSweight[i]

end end end

//Select highest point of wai in WSsort and Put into WSrank WSrank ←WSweight[highest]

//Output of Ranking Model Return WSrank

在文檔中 中 華 大 學 (頁 32-35)

相關文件