• 沒有找到結果。

三、 研究方法

3.2 資料來源

資料集(Dataset)為 CiteULike 網站所提供的資料庫5,是以文字檔形式,每列(row)提 供的資訊為 article id,user(MD5 hashed),TAS 的時間,標籤名。每一個資訊用分隔符 號”|”分開,資料取的時間為 2008-02-12 04:44:18.648815+00。

42|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:25:05.373798+00|networks 42|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:25:05.373798+00|metabolism 42|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:25:05.373798+00|barabasi 42|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:25:05.373798+00|ecoli

2364841|469b74cc00a337639d76cb96aec58bda|2008-02-12 04:43:23.635387+00|buy 2364841|469b74cc00a337639d76cb96aec58bda|2008-02-12 04:43:23.635387+00|apple 2364841|469b74cc00a337639d76cb96aec58bda|2008-02-12 04:43:23.635387+00|macbook 2364841|469b74cc00a337639d76cb96aec58bda|2008-02-12 04:43:23.635387+00|ukbuy 2364845|c42f76025ff94b72c082195c7c79d65d|2008-02-12 04:44:18.648815+00|teacher 2364845|c42f76025ff94b72c082195c7c79d65d|2008-02-12 04:44:18.648815+00|education

其中,平均每一個使用者所使用的標籤數為 23.67 22363

151142

= ,平均每一個使用者所

指定的文件數為 36.84 22363

715016

= 。我們在實驗結果的部份也會呈現出現次數分佈圖。表

格 1 簡單列出 TAS、|U|、|T|、|R|各項的數量以說明資料集的大小及屬性。

表格 1 CiteULike 資料集性質

TAS |U| |T| |R|

總數 2,369,141 22,363 151,142 715,016

3.3 標籤網路 標籤網路 標籤網路 標籤網路 tag network 的形成與複雜網路特性 的形成與複雜網路特性 的形成與複雜網路特性 的形成與複雜網路特性

在「分眾分類」裡,標籤網路的形成可以有很多方式,這裡先討論兩個最直覺的方 式,一個是經由標籤-物件(tag-item),一個是經由標籤-人(tag-user)。

以標籤-物件所形成的二分關聯網路為基礎產生標籤-標籤的單一關聯網路(tag-tag

5 http://www.citeulike.org/faq/data.adp

unipartite network)。與 Cattuto[12]提的標籤共同出現網路(tag co-occurrence network)不同 的是,在這裡,user1 指定 tag1 給 item1,user2 指定 tag2 給 item1,tag1 與 tag2 之間便 視為連結存在。

我們這裡定義標籤網路(物)(tag network (item))的定義為

{

(t1,t2)|t1,t2 T T,(t1,r) Etr,(t2,r) Etr

}

標籤網路(人)(tag network (user))的定義為

{

(t1,t2)|t1,t2 T T,(t1,u) Eut,(t2,u) Eut

}

155|cb2e1f0222c692723674c4e679020f0b|2004-11-10 17:13:30.487332+00|networks 155|cb2e1f0222c692723674c4e679020f0b|2004-11-10 17:13:30.487332+00|graphs 155|a47d7aa28bdc3bef2ed4dcbcb2a8b5f2|2005-01-19 09:50:27.619901+00|networks 155|a47d7aa28bdc3bef2ed4dcbcb2a8b5f2|2005-01-19 09:50:27.619901+00|algorithm

那麼 Etr 是一個集合,內容是(networks,155)、(graphs,155)、(algorithm,155)。標籤網 路(物)TNr 也是一個集合,代表的是網路中有連結的標籤對(tag pair),內容是(networks, graphs)、(networks, algorithm)、(graphs, algorithm)。標籤網路(物)的密度就等於

2 1 ) 1 3 ( 3

3 =

÷

×

Eut 的內容是(cb2e1f0222c692723674c4e679020f0b,networks)、

(cb2e1f0222c692723674c4e679020f0b, graphs)、(a47d7aa28bdc3bef2ed4dcbcb2a8b5f2, networks)、(a47d7aa28bdc3bef2ed4dcbcb2a8b5f2, algorithm)。標籤網路(人)TNu 的內容是 (networks, graphs)、(networks, algorithm)。標籤網路(人)的密度的等於

3 2 2 ) 1 3 ( 3

2 =

÷

×

接下來,我們定義個人的標籤網路,定義如下:

{

(t1,t2)|t1,t2 T T,(t1,r) Etr(u ),(t2,r) Etr(u )

}

) u (

TNr i = ∈ × ∈ ii

其中Etr(ui)=

{

{t,r}|(ui,t,r)Y

}

個人的物件網路,定義如下:

{

(r1,r2)|r1,r2 R R,(r1,t) Etr(u ),(r2,t) Etr(u )

}

) u (

RNt i = ∈ × ∈ ii

其中TNr(ui),可以視為個人的認知網路,也就是「個人對於物件的觀點」”personal point of view for items”; RNt(ui),則是個人有興趣的目標網路,也就是「個人的有興 趣的物件」”personal interesting on items”。

我們以底下的 8 個 TAS 舉例子,使用者個人的標籤網路的內容是(networks, barabasi)、(networks, random)、(networks, generating-functions)、(random,

generating-functions)、(neural, networks)、(neural, barabasi)。其個人的物件網路則是 (42,48)、(42,61)、(48,61)

42|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:25:05.373798+00|networks 42|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:25:05.373798+00|barabasi 48|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:29:45.443118+00|networks 48|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:29:45.443118+00|random

48|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 02:29:45.443118+00|generating-functions 61|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 21:29:27.45403+00|neural

61|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 21:29:27.45403+00|networks 61|61baaeba8de136d9c1aa9c18ec3860e8|2004-11-04 21:29:27.45403+00|barabasi

3.4 派系篩檢 派系篩檢 派系篩檢 派系篩檢 Clique Filtering 的標籤推薦清單 的標籤推薦清單 的標籤推薦清單 的標籤推薦清單

我們考慮推薦標籤的流程是使用者登入,輸入物件,準備要貼上標籤時,系統給予 推薦清單。我們參照協同過濾(collaborative filtering)設計了派系篩檢(clique filtering)這個 方法。

我們以底下的 9 個 TAS 舉例子,Neighbor_R(cb)是 ad, 80 而 Neighbor_T(cb..)是 6e, ad,80。

155|cb2e1f0222c692723674c4e679020f0b |2004-11-10 17:13:30.487332+00|networks 155|cb2e1f0222c692723674c4e679020f0b |2004-11-10 17:13:30.487332+00|graphs 456|cb2e1f0222c692723674c4e679020f0b |2004-11-15 10:31:41.245268+00|attacks 988480|cb2e1f0222c692723674c4e679020f0b|2007-02-15 10:28:33.943496+00|digg 155|ad6241687c8722ee0bafac52747ff8cf |2004-12-04 07:28:02.564785+00|networks 456|ad6241687c8722ee0bafac52747ff8cf |2005-02-11 02:43:36.568529+00|trust 484851|6edad60e9851a33cf5280cd2a4f5276b|2007-02-18 00:36:00.842007+00|graphs 600573|6edad60e9851a33cf5280cd2a4f5276b|2007-02-09 21:47:12.306949+00|attacks 988480|808eb76a3ebc6efe03feae67607af389|2006-12-11 11:22:41.529916+00|networks

推薦清單T~(u,r)

產生的方法,主要是依照「派系重疊(clique overlapping)」的次數排 列,我們簡稱做「派系排序(Clique Sorting)」。

(1) 在使用者ui的Neighbor_R(ui)或Neighbor_T(ui)中,找出鄰居們對該物件所

Candidate =

(3) T~(u,r))

以 c5846a653b59b10a9a9fd77c8e950bdc 看過的論文 320258 舉例,我們請推薦系統 找出他的鄰居Neighbor_R(ui)有兩個人 a92cf14d4e8997cae4ac64d49f0c6d6e,

b5936fd11f395abfe96b780bca1e127d。他們分別使用以下標籤['usability', 'mentalhealth'], ['user', 'communities', 'sociology', 'motivation', 'online'],推薦系統將這些標籤與使用者的標 籤網路TNr(ui)的派系做重疊計算之後的結果是('user', 1)('usability', 1)('motivation', 7)('sociology', 7)('mentalhealth', 7)('online', 7)('communities', 7)('user', 6)('usability',

6)('medical', 6),在去掉重覆推薦的標籤之後,最後結果是'user', 'usability', 'motivation', 'sociology', 'mentalhealth', 'online', 'communities', 'medical'

3.5 協同過濾 協同過濾 協同過濾 協同過濾 Collaborative Filtering 推薦清單的形成方法 推薦清單的形成方法 推薦清單的形成方法 推薦清單的形成方法

在三分關聯網路裡,要應用協同過濾,Jäschke[1]等人改編了傳統的方法以適應「分 眾分類」。為了要找尋使用者的鄰居們,需要知道使用者間的相似度。所以需要將「分 眾分類」投影成 2D 矩陣。可以有兩種方向,一是由人-物(user-item)的關係,另一是由 人-標籤(user-tag)的關係。

以人-物角度來看,

arg_max 是一個函式,類似於最大值函式(max function),上標是指要回傳前幾個。

例如arg_3max(

{

t T|(u,t,r) Y

}

)

是兩個使用者的相似度,在這裡使用 cosine similarity measure。

3.6 評估 評估 評估 評估 Evaluation

為了要測量推薦清單的好壞,我們採用 Jäschke 在[1]使用的方法 LeavePostOut。每 一個在「分眾分類」的使用者,將其所張貼的文章(英文稱為 post,中文稱為「帖」)中 任意挑選一篇移出原資料集。而推薦方法的好壞,就是以接近被移出的帖(post)的程度 來測量。計算有多接近的方法,則是使用如下的方程式,其意義與資訊頡取(information retrieval)的檢全率(recall)、檢準率(precision), F-measure 一樣。

四 四 四

四、 、 、 、 實驗結果 實驗結果 實驗結果 實驗結果

4.1 標籤網路 標籤網路 標籤網路 標籤網路 tag network 的基本性質 的基本性質 的基本性質 的基本性質

從 CiteULike 網站下載回來的資料集,其資料格式為文字檔,每筆資料之間是用分 行符號”\n”分開,每筆資料內含四個資料,分隔符號是”|”,依序為論文序號,使用者代 號,張貼時間,標籤。如果一篇論文被同一個使用者貼上不同標籤,資料集內會有多筆 資料。例如論文 155 被使用者 cb2e1f0222c692723674c4e679020f0b 貼上 networks 與 graphs 兩個標籤,因為張貼的時間都是 2004-11-10 17:13:30.487332+00。

155|cb2e1f0222c692723674c4e679020f0b|2004-11-10 17:13:30.487332+00|networks 155|cb2e1f0222c692723674c4e679020f0b|2004-11-10 17:13:30.487332+00|graphs 155|a47d7aa28bdc3bef2ed4dcbcb2a8b5f2|2005-01-19 09:50:27.619901+00|networks 155|a47d7aa28bdc3bef2ed4dcbcb2a8b5f2|2005-01-19 09:50:27.619901+00|algorithm

從這樣的資料集中,我們首先想了解的是標籤網路的性質。標籤網路(文件)的建立 方法如同 3.3 節介紹,以上面四筆資料來舉例,因為論文 155 的關係,networks、graphs 與 algorithm 三者之間互有連結。而標籤網路(人),networks 與 graphs 因為使用者 cb2e1f0222c692723674c4e679020f0b 有連結;在同樣四筆資料中,networks 與 algorithm 因為沒有共同使用者所以沒有連結。我們統計整個資料集中,總共出現了 151,142 個不 同的標籤。標籤網路(文件)中的連結數量是 4,756,376,而在標籤網路(人)中的連結數有 100,279,514。

為了瞭解群聚度是高還是低,所以計算了網路密度(Density)與群聚度做比較。網路 密度的算法是

可能連結數 實際連結數

,可能連結數是由標籤網路的節點數算出來,在此也就是由

標籤的數量算出來: 11421876511

2 分支度(degree)與群聚度(clustering coefficient)的算法。

以前面四筆資料為例,在標籤網路(文件)中,graphs 的分支度為 2,因為它與其他 兩個標籤 networks 及 algorithm 有連結。而在標籤網路(人),graphs 的分支度則為 1。將 整個標籤網路(文件),每一個標籤的分支度計算下來,平均的分支度 62.93;標籤網路(人) 的平均分支度是 1326.95。我們比較一下網路密度不到 1%的標籤網路(人),若該標籤網 路是隨機網路的話,平均分支度是 663.478...

151142 100279514

= 。而在標籤網路(文件)的群聚

度方面,networks 這個標籤與兩個相連的標籤,由這三個標籤所形成的完全圖的連結數 是 3,而實際的連結數也是 3,所以群聚度是3/3=1;標籤網路(人)的部份,實際的連

Tag network (doc) Tag network (user)

Tag count 151,142 151,142

Link count 4,756,376 100,279,514

Density 0.000416426845048 0.00877960061146

Average degree 62.9391697874 1326.95761602 Average clustering coefficient 0.383398450884 0.904992656084

接下來,我們將論文、使用者與標籤的出現次數分佈圖畫出來如圖6。次數分佈圖 符合幂次律,出現次數多的少,出現次數少的多。越是熱門的文件越多人看,越是熱門 的標籤越多人用。

圖 6 使用者次數、標籤次數、論文次數

圖 7 標籤網路(文件) v.s.分支度機率

我們將標籤網路(文件)(tag network(doc))的分支度機率分佈圖繪製在圖 7,裡面的節 點(node)(也就是標籤),其分支度(degree)來自於(1) 標籤能描述多少種意思,(2)每一份 文件有包含多少種看法。分支度約在 1000~2000 之間有些標籤與眾不同。分支度的次數 分配(degree distribution),符合幂次律,也就是說標籤網路(文件)是一個無尺度(scale-free) 的網路。在標籤推薦的時候,雖然推薦分支度大的標籤可以提高準確度,但是有可能這 些字是一些過於模糊概念的字,所以我們必須在推薦的時候注意這件事情。以下列出前 十名的分支度排行:bibtex-import|43807,no-tag|18999,review|11182,evolution|10072,

research|14837,support|15341,learning|7636,govt|14063,network|7604。像前 2 個是系 統自動產生給匯入功能的標籤,對正常使用者是無意義的,review、research、support 這些就過於模糊或一般化了。

圖 8 標籤網路(人) v.s.分支度機率

在標籤網路(人)(tag network(user))的分支度機率分佈圖(圖 8),標籤的分支度來自(1) 標籤能描述多少種意思,(2)使用者會看多少領域的文件。在分支度 200 到 1000 的區間 內,我們也看到了一群與眾不同的標籤。

在標籤網路(人),分支度前 10 名是:no-tag|78575,analysis|68677,review|67544,

statistics|62979,bibtex-import|62347,history|61353,development|59963,model|59575,

data|59408,theory|58749。

這兩個結果相互比較,可以看出(1)文件包含多重概念的程度,比使用者擁有多重概 念的程度小。這可以從約略從網路的密度(density)感覺到,這裡則是由分支度直接看出 來。(2)文件與使用者跨領域的分佈,從一開始比較平緩,接下來以接近幂次的趨勢下降,

說明包含少量概念的文件及僅擁有少量概念的使用者是比較少的。例如像 yeast(酵母) 這種比較專門的名詞所連結到的論文6,這些論文被貼上的標籤數量就比較少。而雖然

6 可上網觀察 http://www.citeulike.org/search/all?q=yeast

像 gene(基因)、neural(神經)這種常被用在其他領域的詞所連結到的論文,因為含有跨領 域及多種概念,這些論文所連結到的標籤數量就很多7

由於標籤分支度的來源除了上述所說的原因之外,多字一義的同義字、打錯的字、

複合字、組合字、縮寫字、不同語言的字…等也都是分支度的來源,因此分支度的數量 非常的大。一字多義如 networks 這個字,會與 social 一起使用,成為社會網路8,與 computer 一起使用則成電腦網路9,與 neural 一起使用,則成神經網路10。多字一義如,在研究分 眾分類的人會使用 node、vertex 都是指節點;link、edge 都是指連結;network、graph 都是指由節點與連結所形成的東西11

以節點分支度來決定節點的重要度,是複雜網路中常用的方法之一,但是標籤分支 度的來源也包含了前段所述的一些來源,那些並不是我們想要的。我們分析群聚度與分 支度的可能因素,在一般情況下,多重概念、一字多義的標籤,分支度與群聚度是負相 關;單一概念的標籤,分支度與群聚度是正相關。

7 可上網觀察 http://www.citeulike.org/search/all?q=gene、http://www.citeulike.org/search/all?q=neural

8 可在 CiteULike 找尋以下論文的全體使用者的標籤 J. Kleinberg, "The small-world phenomenon: An algorithmic perspective," in Proceedings of the 32nd ACM Symposium on Theory of Computing, # 2000

9 可在 CiteULike 找尋以下論文的全體使用者的標籤 A. Clauset and C. Moore, "Why mapping the internet is hard," July 2004.

10 可在 CiteULike 找尋以下論文的全體使用者的標籤 O. Sporns, D. R. Chialvo, M. Kaiser, and C. C.

Hilgetag, "Organization, development and function of complex brain networks." Trends Cogn Sci, vol. 8, no. 9, pp. 418-425, September 2004.

11 M. E. Newman, "Analysis of weighted networks." Phys Rev E Stat Nonlin Soft Matter Phys, vol. 70, no.

5 Pt 2, November 2004.

我們從標籤網路(文件)圖 9 分支度與群聚度的分佈發現,分支度與群聚度不是隨意 分佈,而是(1)基本上整個網路的分支度與群聚度是呈負相關。(2)在分支度 1000~10000 有明顯的一群標籤,群聚度比同等分支度的標籤高。

圖 9 標籤網路(文件) v.s.群聚度

圖 10 標籤網路(人) v.s.群聚度

而在標籤網路(人)圖 10 上,整個網路的分支度與群聚度是呈負相關,而且更明顯的 聚在一起。

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時,資料集內 的性質為每個使用者至少張貼三篇論文,每篇論文至少被三個使用者張貼過,每個標篇 至少被貼到三篇論文。

我們可以將推薦清單產生的步驟,分為兩個步驟,一是尋找鄰居們,一是排序標籤。

我們可以將推薦清單產生的步驟,分為兩個步驟,一是尋找鄰居們,一是排序標籤。

相關文件