四、 實驗結果
4.2 推薦標籤清單
資料的前處理:為了比較不同程度稀疏(sparse)的資料集(dataset),對於推薦系統的 影響,我們產生從 2 到 812等不同程度的「p 核心(p-core13)」的資料,之後再從每一個使 用者隨機抽取一份文件出來做為測試。推薦系統的工作就是以剩下的文件為基礎,推薦 標籤給使用者,我們依此計算抽出來的文件的標籤與推薦結果之間的檢全率(recall)與檢 準率(precision)。
12 p-core level=9 時,整個 dataset 內已沒有資料
13 This notion is used in [1]
表格 3 列出,不同 p 核心在抽取一份文件之後,TAS、|U|、|T|、|R|的個數。
表格 3 不同 p 核心資料集性質
p-core TAS |U| |T| |R|
處理前 2,369,141 22,363 151,142 715,016
2 372510 7742 21790 54957
3 161762 3961 7432 15659
4 80593 2181 3115 5886
5 37644 1085 1319 2237
6 15095 487 500 743
7 5225 192 169 209
8 862 45 27 39
接下來,以p核心= 3為例,說明推薦清單的比較過程。當p核心=3時,資料集內 的性質為每個使用者至少張貼三篇論文,每篇論文至少被三個使用者張貼過,每個標篇 至少被貼到三篇論文。
我們可以將推薦清單產生的步驟,分為兩個步驟,一是尋找鄰居們,一是排序標籤。
產生鄰居們的方式選擇兩種,一是協同過濾(CF)的πURY,πUTY,採取cosine similarity。 另一是採用Neighbor_Item(ui),Neighbor_Tag(ui)。在這裡取鄰居數為10,推薦數為 1到10來觀察不同推薦數對於準確度的影響。排序標籤的方法也有兩種,一是協同過濾 的鄰居的熱門標籤排列法,另一個是使用者的標籤派系網路與鄰居推薦的標籤重疊數目 排列法。所以推薦方法總共會有四種不同的組合,我們將它列在表格4。
表格 4 實驗方法表
實驗編號 推薦名稱 尋找鄰居的方法 標籤排列法
1 CF neighbor, Clique sorting Cosine similarity of doc and tag Overlapping of clique of tag between user and neighbor 2 Clique neighbor, Clique sorting Overlapping of cliques of doc
and tag
Overlapping of clique of tag between user and neighbor 3 Clique neighbor, CF sorting Overlapping of cliques of doc
and tag
Most popular
4 CF neighbor, CF sorting Cosine similarity of doc and tag Most popular
由於想知道,尋找鄰居的效果如何,在 CF neighbor 部份,我們計算前十名相似度 平均做為參考。Doc based 的鄰居相似度平均為 0.168,而 tag based 的鄰居相似度平均為 0.352。在 Clique neighbor 部份,使用者鄰居的數目是不固定的,有的人的分支度高,有 的人分支度少。為了與 CF 方法做比較,鄰居仍為 10。若分支度高於 10 的人則只取前 10 個鄰居;若分支度低於 10 的人則全取。我們計算能找到的鄰居的數目。Doc based 部份的平均是 9.366,tag based 部份的平均為 9.814。
在表格 5,我們列出實驗 1 及 2 在推薦標籤數為 10 的結果,藉以比較不同尋找鄰居 的方法的差異(以 clique sorting 為基礎)。在這個比較之下,Clique neighbor 的 recall 與 precision 皆比 CF neighbor 的高。
表格 5 “CF neighbor and Clique sorting” and “Clique neighbor and Clique sorting”推薦評比
實驗 1/實驗 2 Doc based Tag based
Avg. recall 0.176 / 0.218 0.099 / 0.171
Avg. precision 0.023 / 0.028 0.014 / 0.022
在表格6 ,我們列出實驗3與實驗4在推薦標籤數為10的結果,藉以比較在CF
sorting的基礎下,不同尋找鄰居的方法的相異。為了方便觀察方便,故意把實驗4的
資料放在左邊,與表格5對齊。由數據來看,Clique neighbor的檢全率與檢準率比較 高。
表格 6 “CF neighbor and CF sorting” and “Clique neighbor and CF sorting”推薦評比
實驗 4/實驗 3 Doc based Tag based
Avg. recall 0.140 / 0.178 0.095 / 0.157
Avg. precision 0.052 / 0.060 0.044 / 0.052
比較完尋找鄰居的效果後,接下來比較標籤排列方法的效果。在表格7,我們將
實驗1及實驗4的結果放在一起;表格8則是將實驗2及實驗3的結果放在一起。
表格 7“CF neighbor and Clique sorting” and “CF neighbor and CF sorting”推薦評比
實驗 1/實驗 4 Doc based Tag based
Avg. recall 0.176 / 0.140 0.099 / 0.095
Avg. precision 0.023 / 0.052 0.014 / 0.044
表格 8 “Clique neighbor and Clique sorting” and “Clique neighbor and CF sorting”推薦評比
實驗 2/實驗 3 Doc based Tag based
Avg. recall 0.218 / 0.178 0.171 / 0.157
Avg. precision 0.028 / 0.060 0.022 / 0.052
比較表格7及表格8的數據,Clique sorting在檢全率方面比較好,而CF sorting在 檢準率方面比較好。
我們將Clique sorting與CF sorting這兩種方法的平均推薦數列出來,在推薦數限定 10個時:
表格 9 各種推薦方式的平均推薦數
Doc based Tag based
實驗 1(CF neighbor and Clique sorting) 2.509 1.324 實驗 2(Clique neighbor and Clique sorting) 3.411 2.589 實驗 3(Clique neighbor and CF sorting) 2.232 1.551 實驗 4(CF neighbor and CF sorting) 1.552 0.597
由表格9我們可以知道,在這幾種方法之內,平均能找到的推薦標籤數都不足夠10 個。由於Clique neighbor及Clique sorting的平均推薦數比較多,所以在檢準率precision 方面比較低,是可以理解的。因為在檢準率的分母部份,即有著不同的基礎。如同Sean, John, and Joseph等人[5](2006)的研究,認為在推薦系統中,太過講求準確(accuracy)反而 導致實用性降低。因為人們除了要找尋已知的東西之外,未知的東西是更感興趣的,然 而不論是檢全率或是檢準率都無法將這個部分完整評估出來。其中兩者來比較,檢全率 比較符合我們的需求,但是檢準率這個指標仍然可以做為輔助驗證實驗結果,因此我們
還是將這兩個指標放在一起做討論。
接下來,我們將推薦數由 1 到 10 來觀察推薦清單的檢全率及檢準率。
P-core 3 recall and precision (doc based)
0 0.05 0.1 0.15 0.2 0.25
1 2 3 4 5 6 7 8 9 10
Recommendations
Recall,Precision 3_CF_CF(doc)(precision)
3_CF_CL(doc)(precision) 3_CL_CL(doc)(precision) 3_CL_CF(doc)(precision) 3_CF_CF(doc)(recall) 3_CF_CL(doc)(recall) 3_CL_CL(doc)(recall) 3_CL_CF(doc)(recall)
圖 11 推薦數 V.S. 檢全率、檢準率(p-核心=3) (doc based)
由圖11來看,推薦數越來越多的時候,檢全率越來越高,檢準率越來越低。比較 值得注意的是,Clique-Clique與CF-Clique的檢全率上升幅度相近,Clique-CF與CF-CF 的檢全率上升幅度相近。在檢準率部份,四個方法的下降幅度則是相近,CF-CF的檢準 率比較高。我們從圖表中的檢全率值裡面,CL_CF與CL_CL的交叉點以及CF_CF與
CF_CL的交叉點可以看到,在同一批鄰居中,推薦方法的不同所產生的不同,來自於標
籤排列法。CF sorting是使用「最熱門標籤」(most popular tag)而Clique sorting是依照重 疊的遠近及數量來排列。所以我們可以看到在CiteULike的網站中,鄰居間都用(熱門) 的標籤數目約是5個左右。
P-core 3 recall and precision (tag based)
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18
1 2 3 4 5 6 7 8 9 10
Recommendations
Recall,Precision 3_CF_CF(tag)(precision)
3_CF_CL(tag)(precision) 3_CL_CL(tag)(precision) 3_CL_CF(tag)(precision) 3_CF_CF(tag)(recall) 3_CF_CL(tag)(recall) 3_CL_CL(tag)(recall) 3_CL_CF(tag)(recall)
圖 12 推薦數 V.S. 檢全率、檢準率(p-核心=3) (doc based) (tag based)
圖12呈現以tag based的檢全率及檢準率。Clique-Clique與Clique-CF的檢全率比 較高。檢準率則變成Clique-CF最高。這裡同樣有Clique-Clique與CF-Clique的檢全率 上升幅度相近,Clique-CF與CF-CF的檢全率上升幅度相近的情形。Clique neighbor的 鄰居間的熱門標籤數目約是7個左右,CF neighbor的鄰居間的熱門標籤數目約是9個左 右。
接下來我們看不同 p-core level 對於檢全率與檢準率的影響。
P-core level V.S. Recall
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
3 4 5 6 7 8
P-core level
Recall
CF_CF(tag) CF_CL(tag) CL_CL(tag) CL_CF(tag) CF_CF(doc) CF_CL(doc) CL_CL(doc) CL_CF(doc)
圖 13 p 核心 V.S. 檢全率
從圖13,我們可以看到CF-CF的方法,在p核心從7到8的時候,檢全率變化很 大,從表格3中可以知道其中的不同在於使用者的數量多於文件的數量,在一般CF的 使用場合,皆是這種情況。而在p核心程度下降時,使用者數量少於文件,也就是CF 所謂的稀疏資料集(sparse dataset)裡,CF的方法就越來越差。反過來說,在面對稀疏資 料集時,Clique-Clique,Clique-CF,CF-Clique的適應性比CF-CF好。另外,也可以看 到一個現象,在p核心程度高的時候,tag based的方法多數比較好,在p核心程度低的 時候,是doc based的方法比較好。
P-core level V.S. Precision
0 0.05 0.1 0.15 0.2 0.25
3 4 5 6 7 8
P-core level
Precision
CF_CF(tag) CF_CL(tag) CL_CL(tag) CL_CF(tag) CF_CF(doc) CF_CL(doc) CL_CL(doc) CL_CF(doc)
圖 14 p 核心 V.S. 檢準率
在圖14裡,明顯地看到Clique sorting與CF sorting在檢準率方面,CF sorting比較 好。Clique-neighbor在檢準率的影響不大。我們發現比較低的四個值,都是使用CL sorting 的方法。比較高的四個值,都是使用CF sorting的方法。使用相同標籤排列法的推薦方 法,結果都很相近,也就是在檢準率這個部份,找鄰居的方法影響比較小,找標籤的方 法,影響比較大。
0
0 的調合平均(harmonic mean)。在將檢全率與檢準率一同考量之後,CF sorting的方法的 F1值都比較高。在相同sorting方法之中,Clique neighbor的方法的F1值比較高。
0
如果我們為了準確度 accuracy 很高,可以只推薦少數的標籤,檢準率是可以很高,
但對於知識發現卻是沒有什麼幫助。但也不能亂槍打鳥所有的標籤都推薦,使得檢全率 很高,但是反而帶來更多的「資訊超載(information overloading)」。因此,檢全率與檢準 率兩者在推薦系統的評量上,並不能只看其中一個,但也不能以同等份量來看待。