• 沒有找到結果。

協同過濾推薦

在文檔中 朝陽科技大學 資訊管理系 (頁 31-36)

第三章 研究方法

3.2 協同過濾推薦

首先,我們利用協同過濾來產生第一階段的推薦。協同過濾使用的 推薦流程如下圖所示。其中,為了增加執行的效能,我們採用離線的方 式來更新每個使用者的同好名單,每隔一段時間(假設時間周期 C=1 天),我們會計算每個會員彼此的點歌或基本資料的相似度,並將最相 似的同好名單儲存於使用者資訊檔中。此部份將詳述於下一小節。我們 將每次的點歌皆視為一次回饋,資料回饋到點歌記錄檔,每當我們重新 計算相似度的時候,所讀取的點歌記錄檔將愈來愈精確。

圖 5. 協同過濾推薦運作流程圖

3.2.1 同好名單產生及相似度計算

同好名單主要是依據會員彼此的相似度來決定。因為會員的個數相 當的多,這些會員之中有許多是不具代表性或已經失去時效性的會員,

所以在找同好名單前,我們必須先將會員資料做前置處理,包括資料淨 化、資料整合、資料轉換以及資料縮減,最後得到較精簡且具代表性的 會員名單,這些通常是最近常有點唱紀錄的會員。因此,每個會員就可 以與這些代表性會員作相似度比較,並從中找出相似度較高的代表性會 員來加入其同好名單。對於已經有點歌記錄的會員,我們利用點唱過的 交易記錄來作為計算相似度的依據;對於尚無點歌記錄的會員,我們只 好利用使用者輪廓(例如有登入次數、年收入、出生年份等等)來作為計 算相似度的依據。

同好名單產生的方式詳述如下: 首先我們利用交易時間先進行排 序,找出最近m 個有點唱記錄的會員(以下稱為代表性會員)。以我們於

「超級點歌王」所取得的資料為例,尚未處理過的原始會員有16 萬名,

我們進行資料預處理後可以減少到近期有來點唱的 m 個代表性會員。

因為最近一個月所找到的代表性會員約在1 萬筆上下,因此,我們假設 m=10,000。

假設所有會員的集合M={ M1 , M2, …, Mn },我們就可以為每一個 會員 Mi,i=1,2,…,n,透過相似度計算找出相似度較高的同好們。為了 避免找到的資料過於發散,這些被選出的同好必須同時滿足下面兩個條 件:

1. 與會員 Mi的相似度大於門檻值θ的同好,以及 2. 該會員須為與會員 Mi相似度較高的r 人。

如此找出來的同好才能較具代表性,其中θ與 r 為系統訓練的參數。

表 1. 代表性會員的點歌次數表

序 會員\歌曲 歌曲 1 歌曲 2 歌曲3 歌曲4 歌曲5

1 會員M1 2 3 5 0 24

2 會員M2 11 0 3 3 5

3 會員M3 3 0 12 1 0

4 會員M4 14 0 0 33 15

5 會員M5 0 6 0 2 0

接下來,我們以表一為例(假設代表性會員數 m=5)來說明有點歌紀 錄的會員與代表性會員間相似度的計算方法。首先,為了簡單起見,我 們只考慮會員的點歌與否,暫時不考慮點歌的頻率。因此,我們只需用 代表性會員點歌與否的點歌表(即表二所示)。

表 2. 代表性會員的點歌表

序 會員\歌曲 歌曲 1 歌曲 2 歌曲3 歌曲4 歌曲5

1 會員M1 1 1 1 0 1

2 會員M2 1 0 1 1 1

3 會員M3 1 0 1 1 0

4 會員M4 1 0 0 1 1

5 會員M5 0 1 0 1 0

假設 Si為會員 Mi所有點過歌曲的集合,那麼我們就可以定義會員

Mi與會員 Mj的相似度為 Φ= i j

j i

S S

S S

。以表二為例,

„ 會員 M1與會員 M2的相似度 Φ12=

2 1

2 1

S S

S S

∩ = 5 3=0.6

„ 會員 M1與會員 M3的相似度 Φ13=

3 1

3 1

S S

S S

∩ = 5 3=0.6

„ 會員 M1與會員 M4的相似度 Φ14=

4 1

4 1

S S

S S

∩ = 5 2=0.4

„ 會員 M1與會員 M5的相似度 Φ15=

5 1

5 1

S S

S S

∩ = 5 1=0.2

假設門檻值 θ 為 0.5。因此會員 M1的同好名單為 M2及M3。 另外,對於尚無點歌記錄的會員,我們利用使用者輪廓來作為計算 相似度的依據,其計算方式與有點歌紀錄的會員類似,只是把表二的歌 曲改成用每一個不同的使用者輪廓細項(例如有登入次數、年收入、出 生年份等等)來取代,若某一細項類似則給 1 否則給 0。如此即能算出相 似度並求出其同好名單。

3.2.2 由協同過濾形成之推薦

我們的推薦清單是由同好票選出來的。我們以表三來說明,假設某 會員的同好有 M1、M2及M3在表三中當某一首歌最近有被Mi點唱過,

則相對應會員 Mi的值就會被設定為 1,否則設定為 0。因此,我們只要 將每一首歌所得到的票數統計於最後一列中,就可以依據這些票數的多 寡來決定那些歌曲該被推薦了! 在此例中,當會員 Mi登入系統,系統 從會員紀錄檔中得知其同好有 M1、M2及M3,於是由表三就可以得知 歌曲 1 以及歌曲 3 的票數較高,因此,歌曲 1 以及歌曲 3 就會被列入推 薦清單。

表 3. 由同好票選出來的推薦清單

序 會員\歌曲 歌曲 1 歌曲2 歌曲 3 歌曲4 歌曲 5

1 會員M1 1 1 1 0 1

2 會員M2 1 0 1 1 1

3 會員M3 1 0 1 1 0

合計

3

1

3

2 2

線上點歌的推薦不同於一般購物的推薦,使用者在不同的時間點對 於購物的需求因人而異,然而,對於線上點歌,使用者有可能每次上來 唱的都是相同的歌曲。所以,被點唱的次數也相當重要,目前協同過濾 的方法只針對歌曲是否有被點唱過來列入考量,接下來在知識庫中我們 將考慮歌曲被演唱過的頻率,使得每個會員對某一歌曲的興趣取向更為 明顯。

在文檔中 朝陽科技大學 資訊管理系 (頁 31-36)

相關文件