• 沒有找到結果。

有效率探勘社交標籤系統中前k名擴展查詢字集之研究

N/A
N/A
Protected

Academic year: 2021

Share "有效率探勘社交標籤系統中前k名擴展查詢字集之研究"

Copied!
83
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:柯佳伶. 博士. 有效率探勘社交標籤系統中 前 k 名擴展查詢字集之研究 An Efficient Method for Mining Top-k Query Expansions on Social Tagging System. 研究生:邱奕智 中華民國. 一百零二. 撰 年. 七. 月.

(2) 摘要 有效率探勘社交標籤系統中 前 k 名擴展查詢字集之研究 邱奕智 本論文考慮資料物件具有標籤集且含有評分資訊的社交標籤系統,當給定一 個查詢找出標籤集中包含所有查詢字的物件資料,本論文方法將對這些物件資料 所包含的標籤進行處理,找出可用性分數值最高的前 k 名擴展查詢字集,且每一 個擴展查詢字集都能找到指定數量以上的資料物件。本論文提出的方法分成從查 詢結果挑選具代表標籤,以及有效率地探勘前 k 名擴展查詢字集兩部分。首先, 我們運用兩種挑選具代表性標籤的方法:平均差異性及新穎性,計算標籤的代表 分數,選定代表分數最高的 n 個標籤為代表性標籤。接下來,本論文採用一個稱 為 UT-tree 的樹狀結構,用來儲存可形成擴展查詢字集的標籤集資訊。我們提出 一個稱為 UT-growth 的演算法,可從 UT-tree 中有效率找出可用性最高的前 k 名擴 展查詢字集,且不會產生過多不必要檢查的擴展查詢字集。此外,我們運用動態 估算一個擴展查詢字集可用性分數的上限值和下限值的概念,提出一個動態建立 UT-tree 的方法,並提出 dynamic UT-growth 演算法,動態更新所找到可用性前 k 名 的擴展查詢字集,若第 k 名擴展查詢字集的下限值比第 k  1 名的擴展查詢字集上 限值高,即可提前結束 UT-tree 的建立及探勘。實驗結果證實先採用代表標籤選 取比未採用代表標籤選取,其找出的擴展查詢字集可達到較好的查詢效果。此外, 實驗結果顯示 UT-growth 演算法比相關方法有較好的執行效率,且 Dynamic UT-growth 演算法在多數情況可提供比 UT-growth 演算法更有效率的處理。. 關鍵字:社交標籤系統、前 k 名擴展查詢字集、動態樹狀結構.

(3) ABSTRACT An Efficient Method for Top-K Mining Query Expansions on Social Tagging System By I-Chih Chiu In this thesis, we consider the social tagging systems in which each object contains a tag set and a corresponding score. After giving a query to find all the objects whose tagsets contain the query keywords, our goal is to find the top-k utility of query expansions from the tags of the objects such that, each query expansion can find the required number of objects. The proposed methods consist of two parts: to select representative tags from query results and to efficiently discover the top-k query expansions. Firstly, we apply two different functions, AveDiversity and Novelty, to compute the representative score of each tag. Then the tags with the top-n highest scores are selected as the representative tags. Next, we design a tree structure called UT-tree which is used to store the tag sets of objects and their corresponding information for generating query expansions. We propose an algorithm called UT-growth, which can efficiently discover out the top-k utility query expansions from the UT-tree by prevent from generating unnecessary query expansions for checking. In addition, by dynamically estimating the upper bound and lower bound of the utility for a query expansion, we provide a dynamic approach to construct UT-tree and propose the Dynamic UT-growth algorithm. This approach dynamically updates the top-k utility of the query expansions. Accordingly, when the utility lower bound of the kth query expansion is larger than the utility upper bound of the (k+1)th query expansion, the construction and mining process on the UT-tree can be early terminated. The experimental results show that finding representative tags before mining top-k query expansions can improve the searching effectiveness of the discovered top-k query expansions. Furthermore, the UT-growth algorithm has better performance on efficiency than the related method, and the Dynamic UT-growth algorithm can provide even more efficient processing than the UT-growth algorithm in most cases.. Keywords: social-tagging system, top-k query expansion, dynamic tree structure.

(4) 誌. 謝. 在就讀研究所的兩年期間,很感謝指導教授柯佳伶老師的細心指導,不僅教 授我許多專業領域上的知識,在研究的方法及態度上也給我許多建議,使得論文 能有今天的成果。除了專業領域外,在平時對於事情的處理態度、解決問題的方 法,老師也都不吝指導,讓我獲益良多,有所成長。在此萬分感謝老師在這段時 間的指導與幫助。也感謝吳宜鴻教授及徐嘉連教授在口試期間對本論文提供寶貴 的指教與建議,在此亦致上對兩位教授的謝意。 首先感謝奕璉、夢蕾、嘉宏、瀚如及瀚蓉不斷給予我鼓勵,在口試前還特意 撥空幫我演練口試,提供的建議都非常有幫助,才能夠讓我在口試當天能夠順利 結束。謝謝學長光庭及昇宏時時刻刻都在關注著我們的碩論進度,給予我們莫大 的鼓勵與實質的建議。接著謝謝同學們─柏先、爾剛及俊嘉。在最艱難的日子裡, 我們一起討論,偶爾搞搞笑與聊聊天,讓研究生活不至於太過乏味。碩一的學弟 妹舜宸、楨喻、懿萱及張崴,感謝你們在我們忙碌時處理許多瑣碎的事。 謝謝一路相伴的易大世界朋友們與大學系籃的隊友們,由於你們的陪伴與關 心,我的研究所生涯才可以如此豐富精采。最後,感謝家人一直以來的支持與照 顧,謝謝雙親供我不虞匱乏的生活,讓我無後顧之憂地順利完成學業。 對於上述的各位及所有關心我的人,謹以此誌謝表達最衷心的感謝。. 邱奕智. 謹識. 於國立台灣師範大學資訊工程研究所 2013 年 7 月.

(5) 目錄 附表目錄 ............................................................................................... i 附圖目錄 ...............................................................................................ii 第一章. 緒論 ...................................................................................... 1. 1.1. 研究動機..................................................................................................... 1. 1.2 1.3 1.4 1.5. 研究目的..................................................................................................... 2 研究的範圍與限制..................................................................................... 3 論文方法..................................................................................................... 5 論文架構..................................................................................................... 6. 第二章 2.1 2.2. 相關研究探討....................................................................... 7. 社交標籤簡介............................................................................................. 7 以標籤輔助查詢之技術............................................................................. 9 2.2.1 標籤雲探勘......................................................................................... 9 2.2.2 解決標籤語意概念差異................................................................... 10 2.2.3. 第三章. 查詢之關鍵字推薦........................................................................... 11. 相關名詞及問題定義 ..........................................................13 相關名詞定義........................................................................................... 13 問題定義................................................................................................... 14. 3.1 3.2. 第四章. 代表標籤挑選方法 ..............................................................17. 4.1. 代表性評估方法....................................................................................... 17 4.1.1 平均相異性程度值........................................................................... 19 4.1.2 新穎性程度值................................................................................... 21. 4.2. 挑選代表性方法之步驟及演算法........................................................... 22. 第五章 5.1. 可用性前 k 名擴展查詢字集探勘方法 ................................26. UT-TREE 儲存結構........................................................................................ 26 5.1.1 以 r 值過濾標籤................................................................................ 27 5.1.2 5.1.3 5.1.4. UT-Tree 樹狀結構 ............................................................................ 29 UT-Tree 之 Header Table .................................................................. 29 UT-tree 建構方法 ............................................................................. 30.

(6) UT-GROWTH 探勘演算法.............................................................................. 32. 5.2. 5.2.1 以標籤對 UT-tree 做投影 ................................................................ 32 5.2.2 UT-growth 演算法處理過程 ............................................................ 34 5.3 DYNAMIC UT-GROWTH 探勘演算法 ............................................................ 40 5.3.1 可用性分數值上下限估算方法....................................................... 40 5.3.2 Dynamic UT-Growth 演算法處理過程 ........................................... 42. 第六章 6.1. 實驗評估與討論 ..................................................................45. 實驗資料來源及環境設定....................................................................... 45 6.1.1 實驗資料來源................................................................................... 45 6.1.2 資料前處理....................................................................................... 46. 6.1.3 實驗環境........................................................................................... 47 6.2 評估選取代表標籤方法之效果............................................................... 47 6.2.1 查詢測試資料................................................................................... 48 6.2.2 實驗評估方法................................................................................... 48 6.2.3 實驗結果........................................................................................... 50 6.2.4 實驗結果討論................................................................................... 58 6.3 評估前 K 名擴展查詢字集探勘方法之效率 .......................................... 60 6.3.1 實驗評估方法................................................................................... 60 6.3.2 實驗結果........................................................................................... 61 6.3.3 實驗結果討論................................................................................... 70. 第七章 7-1 7-2. 結論與未來研究方向 ..........................................................71 結論........................................................................................................... 71 未來研究方向........................................................................................... 72. 參考文獻 .............................................................................................73.

(7) 附表目錄 表 1.1 標籤資源範例 ................................................................................................... 3 表 3.1 標籤資源範例 ................................................................................................. 13 表 4.1 標籤資源範例 ................................................................................................. 24 表 4.2 查詢 q 與標籤 t 的 r _ score 值......................................................................... 24 表 4.3 標籤 t 與已挑選代表標籤 RTQ 的 d _ score 值 ................................................ 24 表 4.4 標籤 t 與已挑選代表標籤 RTQ 的新穎性程度值 ........................................... 25 表 5.1 標籤資源範例 ................................................................................................. 28 表 5.2 標籤資源範例 ................................................................................................. 41 表 6.1 模擬資料集參數說明 ..................................................................................... 46 表 6.2 在 Flickr 涵蓋率、重覆率及選擇率之平均結果 .......................................... 58 表 6.3 在 Delicious 涵蓋率、重覆率及選擇率之平均結果 .................................... 59 表 6.4 評估 AvgDiversity 及 Novelty 的執行時間(秒) ............................................ 59 表 6.5 評估未挑選代表標籤所需總執行時間(毫秒) ............................................... 62 表 6.6 評估採用挑選代表標籤 AvgDiversity 的總執行時間(毫秒) ....................... 62. i.

(8) 附圖目錄 圖 1.1 系統輸入與輸出示意圖 ................................................................................... 4 圖 2.1 標籤雲之範例 ................................................................................................... 9 圖 4.1 註記標籤之範例圖 ......................................................................................... 18 圖 4.2 挑選代表性標籤之演算法 ............................................................................. 23 圖 5.1 UT-tree 結構與 Header Table ........................................................................ 31 圖 5.2 以 A 做投影後所得之 A-conditional UT-tree 與 Header Table ................... 34 圖 5.3 以 AB 做投影後所得之 AB-conditional UT-tree 與 Header Table .............. 34 圖 5.4 原始 UT-tree 和各標籤投影之 conditional UT-forest 與 Header Table ....... 39 圖 5.5 原始 UT-tree 與加入估算概念之 UT-tree .................................................... 44 圖 6.1 Flickr 資料集 Coverage 實驗結果 ................................................................. 51 圖 6.2 Delicious 資料集 Coverage 實驗結果 ........................................................... 51 圖 6.3 Flickr 資料集 Overlap 實驗結果.................................................................... 52 圖 6.4 Delicious 資料集 Overlap 實驗結果 .............................................................. 53 圖 6.5 Flickr 資料集 Selectivity 實驗結果................................................................ 54 圖 6.6 Delicious 資料集 Selectivity 實驗結果 .......................................................... 54 圖 6.7 Flickr 資料集 Coverage 與 Overlap 之分佈圖 ............................................... 55 圖 6.8 Delicious 資料集 Coverage 與 Overlap 之分佈圖 ......................................... 56 圖 6.9 Flickr 資料集選取物件可用性前 n 名範圍之影響 ....................................... 57 圖 6.10 Delicious 資料集選取物件可用性前 n 名範圍之影響 ............................... 58 圖 6.11 不同 TNUM 在各演算法的執行時間 ............................................................... 63 圖 6.12 不同 TNUM 對於有用性前 K 名擴展查詢字集平均大小的影響 ................... 64 圖 6.13 不同 O.TAGSETLEN 在各演算法的執行時間 .................................................. 65 圖 6.14 不同 O.TAGSETLEN 對於有用性前 K 名擴展查詢字集平均大小的影響 ...... 66 圖 6.15 不同 k 在各演算法的執行時間 .................................................................... 67 圖 6.16 不同 k 對於有用性前 K 名擴展查詢字集平均大小的影響 ........................ 67 圖 6.17 不同 r 在各演算法的執行時間 .................................................................... 69 圖 6.18 不同 r 對於有用性前 K 名擴展查詢字集平均大小的影響 ........................ 69. ii.

(9) 第一章 緒論 1.1 研究動機 隨著 Web2.0 平台技術的興起,許多具有社交性且提供標籤服務的社交平台 紛紛地出現,像是 Flickr1、Delicious2、Facebook3、Twitter4等,使用者可以上傳 自己喜歡的多媒體檔案到不同類型的網站,同時也可以替這些多媒體檔案給予貼 切的文字標籤,越來越多人習慣在社交平台上分享資源,導致網路上具社交性的 資源快速膨脹。標籤是集合眾多使用者對網路資源進行的標記,由於標籤被大量 的使用而逐漸形成趨勢,藉由豐富的標籤資源可以提供大量資訊,因此人們經常 從社交平台中藉由標籤查詢所需資料。 在 Flickr、Delicious 等標籤式的資源進行搜尋時,大多數使用者只會輸入一 個或兩個廣泛觀念的查詢字,例如:“apple”、“rock”等,像是“apple 就包含 水果、電腦品牌、紐約等不同的語意概念。因此,在 Flickr 利用 apple 當查詢字, 回傳大量包含 apple 為標籤的照片中,還包含呈現許多不同語意概念的照片,這 些語意概念通常可由照片的標籤表示出來,例如:回傳照片所包含的標籤可能為 {apple, fruit, red}、{apple, mac, computer}或{apple, newyork, bigapple}等。為了從 數量龐大的回傳結果中找到符合使用者感興趣的照片,使用者一一瀏覽會很耗費 時 間。查詢結果中的某些標籤或 標籤 集合,像是 {fruit} 、{newyork} 、{mac, 1 2 3 4. http://www.flickr.com/ http://delicious.com/ http://www.facebook.com/ http://twitter.com/ 1.

(10) computer}、{mac, company}等能夠表達出搜尋目的不同的語意概念,這些標籤所 形成的集合稱為擴展查詢字集( query expansion , QE )。若能自動推薦這些擴展查 詢字集給使用者進行挑選加入為查詢關鍵字,則可以篩選出不同概念的物件,有 效減少查詢回傳結果。 此外,使用者下查詢後通常會想找到較受歡迎或品質好的查詢結果,近來有 許多網站可以藉由使用者評分的機制決定物件受歡迎的程度或資料品質的優劣, 例如:點擊率、滿意度、按讚等,這些資料可視為物件資料的可用性( object utility )。 若在挑選擴展查詢字集時考慮回傳物件資料的可用性,則將輔助使用者藉由選取 擴展查詢字集找到受歡迎或品質高的物件資料。. 1.2 研究目的 本研究對於擴展查詢字集提出一個可用性評分方式,因為不希望回傳物件的 個數太少,故由一個指定之 r 值限定擴展標籤字集包含物件個數的最小回傳數量, 並由其中前 r 名可用性最高的物件之可用性值加總,作為該擴展查詢字集的可用 性分數。 舉例來說,如表 1.1 所示之範例,令 QE1 表示一個擴展查詢字集{A,B}、 QE2 表示另一個擴展查詢字集{C,D},則標籤集合 QE1 所涵蓋的物件有 {o1 , o2 , o4 }、QE2 所涵蓋的物件有 {o3 , o4 } 。若 r 取 2,則 QE1 前兩名高的物件可用性分別為 0.9 及. 2.

(11) 0.7( o1 及 o2 ),擴展標籤字集 QE1 的可用性分數值則為 0.9+0.7=1.6,而 QE2 的可用 性分數值為 0.8。 表 1.1. 標籤資源範例. 物件編號. 標籤集合. 可用性. 𝒐𝟏. A, B. 0.9. 𝒐𝟐. A, B, F. 0.7. 𝒐𝟑. C, D, G. 0.5. 𝒐𝟒. A, B, C, D. 0.3. 根據上述可用性評分方法推薦擴展查詢字集,最基本且直觀的方法是列舉每 一個資料物件中的標籤集合,針對物件資料所包含的標籤逐一組合成候選擴展查 詢字集,例如:一個物件資料所包含的標籤為{sea, sky},則會考慮所有組合{{sea}, {sky}, {sea, sky}},再一一計算其可用性分數後進行排序。然而,一個物件資料的 標籤集中所包含的標籤個數( n )可能很多,若將一個標籤集合列舉所有子集,則 處理複雜度將會達到 O(2n ) ,而且不同的物件資料的標籤集合也不同,將使處理 複雜度更高。所以,有效率地找出前 k 名擴展查詢字集給使用者,減少不必要的 擴展查詢字集列舉及可用性分數計算是本研究的主要目的。. 1.3 研究的範圍與限制 本論文考慮資料物件具有標籤集且含有評分資訊的資料庫,當使用者給定一 個英文查詢字所成的集合和參數 k 及 r 進行搜尋時,從資料庫中先找出其標籤集. 3.

(12) 中包含有所有查詢字的物件資料,再由這些物件資料所包含的全部標籤進行探勘, 找出可用性分數值最高的前 k 名擴展查詢字集,每一個擴展查詢字集都能回傳至 少 r 個資料物件。如下圖 1.1 所示,本系統將依使用者輸入之查詢字集及參數, 最後輸出前 k 名擴展查詢字集。. 圖 1.1. 系統輸入與輸出示意圖. 因此本論文的研究重點分成兩個部分: <1>.如何有效從查詢結果中挑選具代表性的標籤,在形成擴展查詢字集時, 減少標籤構成擴展查詢字集的組合情況。 <2>.如何減少需列舉檢查的擴展查詢字集的數目,提升找出前 k 名擴展查詢 字集的探勘效率。. 4.

(13) 1.4 論文方法 本論文提出的方法主要分成挑選具代表的標籤及有效率地探勘前 k 名擴展查 詢字集,以下將詳細介紹這兩個部分。 首先,我們運用論文[15]中的兩種挑選具代表性標籤的方法。第一個方法為 平均差異性( AvgDiversity ),評估候選標籤在查詢結果中的出現頻率,並且考慮已 挑選標籤間在所有物件中不重覆的程度,以這兩個特徵決定一個標籤的關聯代表 分數;另一個方法是新穎性( Novelty ),挑選標籤的依據是計算所涵蓋的查詢結果 個數越多越好。接著依據每一個標籤的分數值,選定最高的前 n 個標籤為代表性 標籤。 接下來,本論文擴展 FP-tree 的結構,設計一個稱為 UT-tree 的樹狀結構,並 提出一個有效率探勘可用性前 k 名擴展查詢字集的演算法。我們先將回傳資料物 件的可用性由高至低排列(non-increasing order),依序讀取資料物件中的標籤集, 儲存在 UT-tree 中,UT-tree 中的節點儲存標籤名稱,以及有對應標籤集的資料物 件個數及物件編號。此樹狀結構用來儲存可形成擴展查詢字集的標籤集資訊,避 免產生過多不必要檢查的擴展查詢字集。我們修改 FP-growth 演算法[16],提出一 個稱為 UT-growth 的演算法,可從 UT-tree 中有效率找出可用性最高的前 k 名擴展 查詢字集,且不會產生過多的擴產查詢字集。此外,我們動態估算一個擴展查詢 字集可用性分數的上限值(upper bound)和下限值(lower bound),提出一個動態建立 UT-tree 的方法,並提出 dynamic UT-growth 演算法,動態更新所找到可用性前 k 名 5.

(14) 的擴展查詢字集,若第 k 名擴展查詢字集的下限值比第 k  1 名的擴展查詢字集上 限值高,即可提前結束 UT-tree 的建立及探勘,因此可提供比 UT-growth 演算法 更有效率的處理。 為了評估本論文所提出方法的效果,本論文的實驗主要分成兩部分,第一部 份採用實際資料,評估採用挑選代表標籤方法後進行可用性前 k 名擴展查詢字集 探勘的效果,評估的依據是計算所找出可用性前 k 名擴展查詢字集對查詢結果的 涵蓋率(coverage)、重覆率(overlap)及選擇率(selectivity);第二部份則同時採用實 際資料與模擬資料,進行本論文提出的 UT-growth 及 dynamic UT-growth 演算法 與相關研究方法之探勘執行效率比較。. 1.5 論文架構 本論文以下章節內容簡介如下:第二章說明相關文獻探討。第三章說明本論 文相關名詞及問題定義。第四章將介紹挑選代表性標籤的方法。第五章詳細說明 本論文所提出 UT-tree 樹狀結構及兩個探勘演算法。第六章將說明本論文實驗評 估方法及實驗結果。最後第七章歸納總結,並描述未來研究方向。. 6.

(15) 第二章 相關研究探討 標籤資料近來成為社群網站上不可忽視的資料,許多專家開始研究及討論標 籤相關的性質、技術與應用。以下將依序介紹相關研究,分成社交標籤簡介、標 籤推薦技術、常見項目集探勘。. 2.1 社交標籤簡介 對資料進行標籤標記的方法大致可分為專家分類法(Taxonomy)及大眾分類法 (Folksonomy)兩種方法[1][5]。專家分類法是一個嚴謹的法則,在分類上較不具彈 性,物件資料標記的標籤是由專業的人士來定義資源分類項目,使用者再參考這 些分類項目去進行檢索,因此只能事先定義明確的階層式架構;相反地,大眾分 類法則是運用群眾各自的智慧,讓群眾依照自我意志對感興趣的物件進行標籤註 記描述,可以更完整的表達物件資料,在描述上不受限制,所以不用事先定義固 定的階層式架構。 社交標籤(social tagging)的產生即是來自於眾多的使用者,讓使用者可以根據 自己的喜好上傳檔案,也可以標記感興趣的物件資料,使用者們能夠透過標籤共 享各自觀點、經驗且了解彼此間的興趣。許多提供標籤服務的社群多媒體網站, 例如:在 Delicious 網站,使用者可以將標籤標記到特定的書籤網址;在 Flickr 網. 7.

(16) 站,使用者可以將照片上傳,而且給予照片標籤;在 Blogger 5 、Wordpress 6 和 Livejoural7這些部落格類型的網站,使用者可以在網誌上賦予標籤;像 Twitter 這 類型的微網誌,則可以在使用者推文時標記標籤;在社群網站像是 Facebook、 Orkut8等,使用者也能在部分照片上標記標籤。 根據[5][6]中的評論,標籤功能具有下列優點: <1>.透過標籤可以更有效率的將儲存資料進行分類,目的可以達到妥善保管 與組織。 <2>.標籤可以很容易地找尋以前查看過的紀錄。 <3>.標籤可以透過使用者更全面地描述該物件,並且分享給其他使用者,進 而可以發現到有共同興趣的人。 <4>.使用者即是生產者,而且不受任何限制。 論文[5]將標籤進行不同類型的分析,在 Flickr 及 Delicious 所呈現的標籤大部 分為內容式標籤(Content-Based Tags)和情境式標籤(Context-Based Tags)。內容式標 籤是真實地描述物件資料,可以用來辨認出資料內容為何,例如:tree、sky、sea 等標籤;情境式標籤則是描述資料產生的地點或時間,例如:Taipei、2012-11-24 等。. 5 6 7 8. http:// www.blogger.com/ http://wordpress.com/ http://www.livejournal.com/ http://www.orkut.com/ 8.

(17) 2.2 以標籤輔助查詢之技術 有鑑於標籤數量龐大,若只有用一個至兩個標籤字作為查詢字進行搜尋,則 回傳的資料物件數量會非常多,造成使用者需要花費許多時間進行篩選。標籤資 料的分群與文件分群的目的相同,都是希望經由自動化整理資料讓使用者可以更 有效率的瀏覽或增進查詢效果。有許多學者研究探討如何有效地從一組標籤中挑 選出代表標籤,以下將分別探討標籤雲探勘、解決標籤語意概念差異。. 2.2.1. 標籤雲探勘 標籤雲(tag cloud)是一個典型且能將一群資料所具有的標籤視覺化顯示的方. 法,主要利用標籤的頻率找出前 n 個最常被使用的標籤形成一個集合,且根據標 籤出現頻率決定字體大小或是顏色深淺表示其重要程度[18],如圖 2.1 所示。有許 多研究探討如何挑選標籤建構出標籤雲以及利用標籤雲來引導資料瀏覽。. 圖 2.1. 標籤雲之範例. 9.

(18) 論文[15]透過標籤的出現頻率(frequency)及相異性(diversity)提出各種對標籤 進行評分排名的方法,例如:採用同時考慮標籤的出現頻率及普遍性的 TFIDF 值、 在標籤資料形成的圖形結構上採用隨機漫走(random walk)[10]來計算標籤資料的 重要性分數、考慮標籤所屬物件資料涵蓋率的 Novelty 值等。利用以上挑選標籤 的評分方法計算一組標籤雲的重要性分數值,再找出分數值最高的標籤雲。 許多網站以標籤雲的方式呈現推薦標籤,使用者藉由瀏覽標籤雲找尋相關感 興趣的議題,快速連結到相關主題。論文[13]提出以標籤的受歡迎程度(popularity)、 共同出現(co-occurrence)和社交關係(social relationship)等資訊選取標籤雲。該論文 採用網路電台“last.fm”中的使用者行為進行音樂的標籤推薦,由推薦標籤雲的 內容,點選的標籤會自動修改查詢,使查詢結果更符合使用者需求。論文[4]則研 發一個 P2P Wikipedia 的系統,當使用者給定查詢後,利用 Text2Tag 工具從 Wikipedia 查詢出的文章中擷取重要關鍵字形成一組標籤雲,透過此標籤雲引導使 用者瀏覽維基百科的內容,而且允許使用者藉由點選不同關鍵字動態產生與點選 關鍵字相關的標籤雲。. 解決標籤語意概念差異. 2.2.2. 在標記相同主題的物件資料時,使用者常常會有文字使用上的差異,像是在 一張照片會標記“sea”,而在另一張類似的照片卻標記“ocean”。論文[19]談論 到社交標籤可以無拘束的由使用者決定,但是會造成語意上的問題,也就是一詞 10.

(19) 多義或多詞同義的情形,而這樣的情況往往會造成使用者在搜尋及瀏覽的效能降 低。論文[12]根據上述缺點提出改進方法,將物件資料形成一個獨立領域,考慮 使用者的歷史紀錄,以語意為基礎提出一個語意相似性的測量方法,避免推薦語 意類似的標籤。 同樣為了解決上述問題。論文[17]採用 normalized Levenshtein distance 以及標 籤共同出現(co-occurrence)情況的餘弦相似度(cosine similarity)來評估標籤間的語 意相似度,將相似度高的標籤聚集在一起。根據產生的語意標籤聚落,讓使用者 點選符合自己感興趣的標籤,每筆資料再針對其所包含標籤和所指定查詢標籤聚 落中標籤的平均相似值篩選出查詢結果,並依據查詢結果的分數進行排序。. 查詢之關鍵字推薦. 2.2.3. 近來有許多研究在探討如何從查詢結果中的物件標籤進行選取,並且能將標 籤進行組織,利於讓使用者找到進一步可篩選查詢結果的標籤。論文[9]提供一個 階層式關鍵字的推薦,透過推薦的關鍵字可以有效地過濾查詢結果,幫助使用者 更明確地得到與查詢意圖相符的查詢結果。但是在此論文中,對於最後回傳的查 詢結果並未考慮物件的品質好壞,無法確保使用者瀏覽的查詢結果都是受歡迎 的。 論文[11]則考慮到物件的可用性分數,提供查詢結果物件的標籤字結合而成 的擴展查詢字集。在探勘擴展查詢字集時,採用標籤字所形成的 Lattice 架構,以 11.

(20) 列舉的方式產生候選擴展查詢字集,並考慮可用性分數上下限邊界值的估算方法, 最後找出可用性前 k 名擴展查詢字集,透過推薦的前 k 名擴展查詢字集能夠讓使 用者找到較受歡迎的回傳結果。但是此篇論文存在一個問題,對於每一個擴展查 詢字集可找到的物件個數,無法確保都能滿足一定的數量。若推薦的擴展查詢字 集,其可用性分數值很高,但是只對應到一個物件,會造成使用者能夠瀏覽的資 料物件過少。 總結上述研究,由於標籤物件筆數通常很龐大且物件包含的標籤集大小不一, 直接列舉整個標籤集的子集作為候選擴展查詢字集,將需要很高的計算成本,我 們將針對以上缺點進行改善。因此探討如何利用資料結構的設計來儲存所需的資 訊,以避免產生過多的擴展查詢字集,即可找出可用性分數前 k 名擴展查詢字集, 是我們研究的重點所在。. 12.

(21) 第三章 相關名詞及問題定義 3.1 相關名詞定義 令 TDB 表示一個具標籤資料物件所形成的資料庫,每一筆資料物件(object). o = (o.id,o.tagset,o.utility),其中物件編號(identity) o.id 以一組數字組成;一個物件 的標籤集合(tagset) o.tagset 是由一個或一個以上的標籤 t 所形成的集合;物件可用 性(utility) o.utility 表示使用者對資料物件的點擊次數或是評分機制,評斷該物件是 否受使用者喜歡的分數值,再將值正規化成 0 到 1 之間。如表 3.1 所示範例,標 號為 244797952 的物件,其標籤集合 o.tagset 為{art, band, blue, music},所對應到 的物件可用性 o.utility 為 0.6。. 表 3.1. 標籤資源範例. 物件編號. 標籤集合. [244797952]. art. band. [194954995]. concern. live. [521223056]. concern. microphone. [268280402]. elephant. tree animal. [400043609]. band. 可用性. blue music music. concern guitar. 0.6. rock. 0.8. music ticket. 0.4. nature. 0.3. live music. 0.5. 令使用者給予的查詢為 q ,查詢 q 是由一個或一個以上的標籤字詞所形成之 集合。Oq 為一個物件集(object set),表示在 TDB 中有哪些物件 o 的標籤集 o.tagset 包含 q 所成的集合,因此 Oq  {o | o  TDB  q  o.tagset} 。如表 3.1 顯示之例,若 13.

(22) 查詢 q 為{music},則 Oq 為{244797952, 194954995, 521223056, 400043609}。候選 標籤字詞(candidate tags) COq 為 Oq 中所有物件的 o.tagset 扣除{music}之聯集結果, 也就是 COq . oi Oq. oi .tagset  q。承上例:COq 為{art, band, blue, guitar, live, concern,. microphone, rock, ticket}。 令一個查詢 q 的擴展查詢字集 QE  {t1 , t2 ,..., tm } 是由 COq 中一個或一個以上的 標籤所成的集合。一個擴展查詢字集 QE 的大小是指該擴展查詢字集中包含的標 籤個數,以 | QE | 表示。以擴展查詢字集 QE 為{band, live, rock}為例,其大小為 3。 一個大小為 ℓ 的擴展查詢字集,稱為 ℓ -擴展查詢字集( ℓ -QE)。給定一個擴展查 詢字集 QE 及一個資料物件 o 中的標籤集 o.tagset ,若 QE 為 o.tagset 的子集,則稱 為 o 包含 QE 。 Oq 中所有包含 QE 的資料物件所成的物件集,以 Oq (QE ) 表示,此 集合表示用 QE 在 Oq 中篩選所找出的物件集合。在 Oq 中計算有多少筆資料物件包 含 QE 所得到的計數值,稱為擴展標籤集 QE 在 Oq 中的出現次數,以 countq (QE ) 表 示,而 countq (QE ) | Oq (QE ) | 。. 3.2 問題定義 在挑選一個好的擴展查詢字集時,我們認為使用者可給定一個常數來限定所 找到之 QE 需滿足一個最少出現次數門檻值(minimal count threshold),以 r 表示, 也就是確保在 Oq 中以 QE 為查詢條件篩選可回傳一定數量的資料物件。從 Oq 中包 含 QE 的資料物件,取其可用性值 o.utility 的前 r 名進行加總所得之值,稱為 QE 在 14.

(23) Oq 中的可用性值(object utility),以 uq (QE ) 表示。舉例來說,若 Oq 中包含 QE 的. 物件有 o1 、 o2 、 o5 、 o7 及 o8 ,各物件可用性分數分別為 0.4、0.6、0.8、0.2 及 0.3, 當 r  2 時,則包含 QE 的物件中可用性分數最高的前兩名物件為 o5 及 o2 ,故 uq (QE ) 為 0.8 與 0.6 相加得到之值 1.4。. 根據封閉項目集(closed itemset)的概念[16],若 Oq 中存在兩個擴展查詢字集. QEi 及 QE j , QEi  QE j 且 QEi 和 QE j 在 Oq 中所找到可用性分數前 r 名的資料物 件集合相同,則 uq (QEi ) 一定等於 uq (QE j ) 。既然採用 QEi 和 QE j 在 Oq 中所找到可 用性分數前 r 名的資料物件集合相同,且 QE j 中包含較多標籤,語意更明確,我 們認為若已選取 QE j 就不需再取 QEi 。在探勘可用性前 k 名擴展查詢字集時,根 據上述說明,本論文所要探勘查詢 q 的可用性前 k 名擴展查詢字集的定義如下:. 【定義3.1】 查詢 q 的可用性前 k 名擴展查詢字集 給定一個標籤資料庫 TDB 、一個查詢 q ,以及一個最少出現次數門檻值 r 。 針對一個 q 的擴展查詢字集 QE ,將 countq (QE)  r 之 QE ,稱為 Oq 中的常見擴 展查詢字集,這些常見擴展查詢字集所成的集合,以 FQE 表示。在 FQE 中的 QE , 若不存在一個 q 的擴展查詢字集 QE ' ,使得 QE  QE ' 且 QE 和 QE ' 在 Oq 中所找 到可用性分數前 r 名的資料物件集合相同,則稱 QE 為 Oq 中一個封閉常見擴展查 詢字集。將 Oq 中的封閉常見擴展查詢字集所成的集合,以 CFQE 表示。在 CFQE 中找出 uq (QE ) 前 k 高的 QE ,稱為 q 的可用性前 k 名擴展查詢字集,以 topkQEs 表 示。 15.

(24) 【範例3-1】 以上表 3.1 所示的標籤資源範例,給定查詢 q 為{music}、r  2 及 k  2,在 Oq 下,找出的 FQE 有 QE1  {band}、QE2  {concern}、QE3  {live}及 QE4  {concern, live}。其中包含 QE2 的資料物件為{194954995, 521223056, 400043609},因為取可 用性最高的前兩名之可用性值加總算出 uq (QE2 )  1.3 ;而 QE1 、 QE3 及 QE4 皆被 兩個物件包含,所以 uq (QE1 )  1.1、 uq (QE3 )  1.3 及 uq (QE4 )  1.3 。可以發現 QE2 及 QE3 為 QE4 的子集合,且 QE2 和 QE3 在 Oq 中所找到可用性分數前 2 名的資料物 件集合與 QE4 相同,因此 QE2、QE3 及 QE4 的可用性分數都相同。根據【定義 3.1】 的描述,封閉常見擴展查詢字集 CFQE 為 QE1 及 QE4 ,所以從 CFQE 中挑選可用 性值最高的前兩名為 QE1 及 QE4 。. 16.

(25) 第四章 代表標籤挑選方法 當使用者輸入查詢 q,一個擴展查詢字是由 COq 中的標籤組合構成的,當 Oq 中 的物件所包含的標籤數龐大時,有許多標籤可能是雜訊資料,或是較不具語意的 字彙,因此先從 COq 中篩選出代表標籤,只考慮由這些代表標籤組成擴展查詢字 集,一方面可以減少探勘可用性前 k 名擴展查詢字集所需的運算時間,另一方面 可以使得所找出擴展查詢字集的語意更加明確。本章將依序介紹本論文挑選代表 標籤的評估計算方法及挑選演算法。. 4.1 代表性評估方法 從 Oq 中挑選代表標籤,首先要考慮和查詢 q 是否具有語意相關性。通常使用 者對一個物件給予標籤時,在一物件之標籤集合中同時出現的各標籤通常代表相 關的概念,例如下圖 4.1 使用者給予的標籤集合可能為{ stone, mountain, river, sky, cloud, blue},這些標籤字都是跟圖中內容景觀相關的名詞或形容詞。因此,分析 候選標籤字在 Oq 中的出現頻率(frequency),可反應候選標籤字與查詢 q 之間的關 聯性程度。. 17.

(26) 圖 4.1. 註記標籤之範例圖. 從物件集合 Oq 中計算 COq 各候選標籤字對 Oq 的代表性程度,最直接的想法是 取出現次數最高的前 s 個當作代表標籤。舉例來說,當使用者所給定的查詢 q 是 “apple”,系統將會挑選出“mac”、“macintosh”、“computer”、“ipod”、 “office”等,這些都是與“蘋果電腦公司”相關的概念字詞,卻沒有“水果中的 蘋果”及“紐約市”的概念字詞。所以只考慮和 q 的相關性程度值可能造成所挑 選出的標籤字都具有類似的概念,而其他概念字卻因為相關性程度值較低,沒有 被挑選出來,這樣無法讓使用者查詢到具其他概念的物件。因此在挑選代表標籤 時,除了考慮相關性程度值,必須再加上候選標籤字與已挑選代表標籤之間的相 異性程度值。 在此我們參考[15],採用兩種評估代表標籤的計算方法,分別為平均相異性 程度值(AvgDiversity)和新穎性程度值(Novelty)。為了反應挑選的標籤在 Oq 中的代 表性,這兩個評估方法會考慮一個標籤對 Oq 中物件的涵蓋率(coverage),以及和. 18.

(27) 已挑選標籤所對應到物件的重覆率(overlap)。在 Oq 中的物件涵蓋率要高,且和已 挑選標籤對應的物件重覆率低的標籤,在 Oq 中應該具有較高的代表性。. 平均相異性程度值. 4.1.1. 平均相異性程度值評估分成兩部分,第一個部分是計算一個候選標籤字 ta 與 查詢 q 間的相關程度值,另一部分是計算該候選標籤字和已挑選代表標籤的相異 程度值,再將兩個程度值進行比重加總得到其平均相異性程度值。 計算 COq 中一個候選字詞 ta 與查詢 q 間的相關性程度值,可採用下列評估方 法: r _ score(q, ta ) . | Oq{ta } | | Oq |. (1). 算式(1)所得分數是指 Oq 的物件中,同時包含候選標籤 ta 的條件機率值。其 中 | Oq | 代表包含查詢 q 的物件個數,而 | Oq{ta } | 表示同時包含 q 和 ta 的物件個數。 由於在挑選代表標籤時,我們是採用漸進式挑選,令 RTq 表示已挑選出的代 表標籤所形成的集合,其初始為空集合。在選取下一個候選標籤字時,必須考慮 其和 RTq 中標籤字的相異性程度值。令 ta 表示候選標籤字 COq 中一個候選標籤字, tb 表示已挑選之代表標籤 RTq 中的一個標籤字,則兩者的相異性程度值採用以下. 計算方式: distance(ta , tb ) . 1  Jaccard (ta , tb ) 1  Jaccard (ta , tb ) 19. (2).

(28) Jaccard (ta , tb ) 表示候選標籤字 t a 與已挑選的代表標籤 tb 之間的相關性程度. 值,如同以下算式(3)。算式(2)的計算是將算式(3)所得結果加上整數值 1 再取倒 數,因此當兩個標籤所計算出來的相關性程度值越高,則算出的相異性程度值越 低。此式可避免相關性程度值為 0 無法計算的情況,且讓相異性程度值範圍正規 化於 0 到 1 之間。 Jaccard (ta , tb ) . | O{ta ,tb } | | O{ta } |  | O{tb } |  | O{ta ,tb } |. (3). 算式(3)則是在 TDB 中出現標籤 t a 或出現標籤 tb 的物件中,同時包含 t a 與 tb 的 資料物件之比例值。其中 | O{ta } | 代表包含 t a 的物件個數,| O{ta ,tb } | 代表同時包含 t a 和 tb 的物件個數。. 評估一個候選標籤字 ta 與已挑選代表性標籤 RTq 之間的相異性程度值,如以 下所示:. d _ score(ta , RTq ) . 1  distance(ta , tb ) | RTq | tb RTq. (4). 算式(4)計算候選標籤字 ta 與已挑選代表性標籤 RTq 中所有標籤字之相異性分 數的平均值,以此平均相異性分數表示標籤字 t a 與已挑選代表性標籤 RTq 整體的 相異性程度值。 結合 r _ score( q, ta ) 及 d _ score(ta , RTq ) 本論文評估候選標籤 t a 對 Oq 的代表性 程度值計算式如下: score(q, ta )  w  r _ score(q, ta )  (1  w)  d _ score(ta , RTq ). 20. (5).

(29) 其中參數 w 為一個介於 0 到 1 之間的實數,用來調整相關程度值分數與相異 性程度值分數的權重比例。當 RTq 初始為空集合時, d _ score(ta , RTq ) 設為 0。. 新穎性程度值. 4.1.2. 參考論文[15]所提出的新穎性程度值計算方法,其挑選原則是選一個可涵蓋 已挑選標籤未涵蓋到的資料物件愈多愈好,除了能選取到涵蓋率高的標籤,也間 接考慮到所對應物件的重覆率。 以新穎性程度值評估一個候選標籤 t a 與查詢 q 及已挑選代表性標籤 RTq 的代 表性程度,如下式:. score(q, ta ) . | Oq {ta }  (. tRTq. Oq {t} ) |. | Oq |. (6). 上式中, |Oq | 代表在 TDB 中包含查詢 q 的物件個數,而 Oq {t} 表示包含查詢 q 同時 也包含 RTq 中標籤 t 的物件集合。 算式(6)在 RTq 初始為空集合的時候,相當於採用算式(3)的 r _ score(q, ta ) 值。 當挑選下一個代表標籤加入 RTq 時,. tRTq. Oq {t} 表示 RTq 中所有標籤涵蓋的資料. 物 件 , 對 於 尚 未 被 選 入 RTq 的 標 籤 t a , | Oq ( {ta }). (. t Rq T. Oq. t( {愈大,表示 })) | | Oq ({ta })  (. tRTq. tRTq. Oq ({t}) 都 相 同 , 因 此 Oq ({t})) | 愈大,也就是 t a. 涵蓋愈多 RTq 中標籤未涵蓋的物件。而除以 | Oq | 是為了取相對於 Oq 的物件個數比 例值。 21.

(30) 4.2 挑選代表性方法之步驟及演算法 給定標籤資源的資料庫 DB,使用者查詢 q 及想要從 COq 挑選代表標籤的數量. s ,本系統從 COq 中挑選代表標籤的處理步驟如下,其對應處理的虛擬碼如圖 4.2 所示。 步驟<1>: 讀取資料庫,找出標籤集合包含 q 的物件,並加到 Oq (Line2)。 步驟<2>: 取出 Oq 中各物件的標籤集合,將各候選標籤記錄於 COq (Line3)。 步驟<3>: 依下述做法從 COq 進行 s 個代表標籤的挑選(Line4): 步驟<3-1> 對 COq 中 所 有 候 選 標 籤 t 與 查 詢 q 進 行 代 表 性 程 度 值. score(q, t ) 的計算。其中代表性程度值的函式 score( q, t) 可採 用算式(5)或算式(6),我們將在第六章的實驗中,評估採用兩 者挑選代表標籤方法對擴展查詢字及效果的影響。 (Line6-7)。 步驟<3-2> 挑選出關聯代表性程度最高者 ti (Line8)。 步驟<3-3> 將其加入已挑選代表標籤 RTq (Line9)。 步驟<3-4> 將 ti 從 COq 中刪除(Line10)。 步驟<4>: 輸出 RTq 為 COq 的代表標籤(Line12)。. 22.

(31) Algorithm 1 Selecting Representative Tag Algorithm Input: query q, corpus DB, pick representative tag size s, parameter w . 1: BEGIN 𝑂𝑞 = FetchRelatedObject(q, DB); 2: 𝐶𝑂𝑞 = ParseObject(𝑂𝑞 ); 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:. REPEAT s times BEGIN FOR EACH tag t in 𝐶𝑂𝑞 DO Compute score(q, t); 𝑡𝑖 = pick t with the highest score(q, t) from 𝐶𝑂𝑞 ; 𝑅𝑇𝑞 . ADD(𝑡𝑖 ); 𝐶𝑂𝑞 . REMOVE(𝑡𝑖 ); END Output representative tag 𝑅𝑇𝑞 ; END 圖 4.2. 挑選代表性標籤之演算法. 【範例4-1】 平均相異性程度值之範例 當使用者給定查詢“apple”,假設系統找回查詢結果 Oq 如下表 4.1 所示。當. score(q, t ) 中的 w 設為 0.5,若要採用平均相異性程度值計算方法找出兩個代表標 籤 , 其 挑 選 過 程 如 下 。 初 始 RTq 為 空 集 合 , 先 計 算 COq 中 每 一 個 標 籤 t 的. r _ score(q, t ) 值,可得到如下表 4.2 所示結果,從中找出 r _ score 值最大的標籤 “mac”作為第一個挑選標籤加入 RTq 且從 COq 中移除。接下來,除了考慮 r _ score 的分數值,還要計算 COq 中剩餘的標籤 t 與 RTq 中所有標籤 d _ score 的分數值,如 下表 4.3 所示結果,根據算式(5)可以求得 score(apple, fruit )  0.5  0.4  0.5 1  0.7 為其中分數最高者,故下一個選擇“fruit”加入 RTq ,則 RTq 中包含所挑選的代表 標籤為{mac,fruit}。 23.

(32) 表 4.1. 標籤資源範例. 物件編號. 標籤集合. [001]. apple fruit. [002]. apple newyork mac. [003]. apple fruit. [004]. apple mac. [005]. apple mac ipod. 表 4.2. photo. red. iphone. 查詢 q 與標籤 t 的 r _ score 值. fruit. photo. red. newyork. mac. ipod. iphone. 0.4. 0.2. 0.2. 0.2. 0.6. 0.2. 0.2. 表 4.3. 標籤 t 與已挑選代表標籤 RTq 的 d _ score 值. fruit. photo. red. newyork. ipod. iphone. 1. 1. 1. 0.503. 0.503. 0.503. 【範例4-2】 新穎性程度值之範例 當使用者給定查詢“apple”,系統找回查詢結果 Oq 仍同上表 4.1 所示。若要 採用新穎性程度值計算方法找出兩個代表標籤,其挑選過程如下。初始 RTq 為空 集合時,先計算 COq 中每一個標籤 t 的 r _ score(q, t ) 值,得到結果如上表 4.2。從中 找出 r _ score 值最大的標籤“mac”作為第一個挑選標籤加入 RTq 且從 COq 中移除。 接下來,根據算式(6)對 COq 中剩餘的標籤計算如下表 4.4 所示,將其加入 RTq 後對 Oq 的物件涵蓋率,可找到加入“fruit”後所能夠涵蓋的物件個數最多,可以額外. 24.

(33) 涵蓋全部五個物件資料,所以下一個選擇“fruit”加入 RTq 。最後挑選的代表標 籤為{mac、fruit}。. 表 4.4. 標籤 t 與已挑選代表標籤 RTq 的新穎性程度值. fruit. photo. red. newyork. ipod. iphone. 1. 0.8. 0.8. 0.6. 0.6. 0.6. 經過代表標籤的挑選, COq 將設為 RTq ,再進行後續可用性前 k 名擴展查詢字 集的探勘。. 25.

(34) 第五章 可用性前 k 名擴展查詢字集探勘方法 在探勘可用性前 k 名擴展查詢字集時,為了避免組合過多不必要的標籤字集, 本論文擴展 FP-tree 結構提出一個 UT-tree(Utility Tag tree)樹狀結構,用來儲存 Oq 中資料物件所出現的標籤字集樣式並累計次數,以加速可用性前 k 名擴展查詢字 集的探勘處理。根據此 UT-tree 結構,我們提出一個稱為 UT-growth 的演算法來 探勘可用性前 k 名擴展查詢字集。此外,我們另提出一個動態建構 UT-tree 及探勘 可用性前 k 名擴展查詢字集的方法,稱為 Dynamic UT-growth 演算法,可進一步 減少探勘時所花費的時間。本章將介紹 UT-tree 樹狀結構之儲存方法,以及 UT-growth 和 Dynamic UT-growth 演算法。. 5.1 UT-tree 儲存結構 我 們 提 出 的 UT-tree 演 算 法 參 考 論 文 [20] 中 所 提 出 的 TD-FP-Growth (Top-Down FP-Growth),儲存結構建立的過程主要分成三個部分處理:<1>以 r 值 過濾標籤、<2>建立 UT-Tree 樹狀結構、<3> 建立 UT-Tree 中的 Header Table,我 們將在以下三小節中各別說明。. 26.

(35) 以 r 值過濾標籤. 5.1.1. 一個 q 的擴展標籤字集 QE 是由 COq 中一個或多個標籤所組成,若 QE 是一個 可用性前 k 名擴展查詢字集, countq (QE ) 必須大於等於 r ,因此必須先從 COq 中 篩除在 Oq 中出現次數小於 r 的標籤。根據 Ariori 演算法中所採用之特性:一個大 小為(ℓ − 1)的項目集 P 在資料庫的出現次數必定大於等於包含 P 之大小為 ℓ 的項 目集之出現次數。因此可得知若一個標籤 t 其 countq ({t})  r ,則所有包含 t 之擴 展查詢字集 QE ,其 countq (QE ) 必定小於等於 r ,所以 t 不可能為構成常見擴展查 詢字集中的元素,因此可將 t 從 COq 中刪除。. 【定理5-1】 給定一個擴展查詢字集 QE 及 QE 中的一個標籤 t 。若 countq ({ t}) r,則. countq (QE )  r 。. 【證明】 因為 t 為擴展查詢字集 QE 中的標籤,一個資料物件 o 若包含 QE ,則 otagset . 中必 定存在標籤 t ;但是包含{ t }之資料物件,則未必 包含 QE 。由此可知. countq (QE ) 會小於或等於 countq ({t}) ,因此若 countq ({t})  r , countq (QE ) 必定 小於或等於 r ,由此可得證。. 27.

(36) 根據上述定理,在建立 UT-tree 結構前,本方法會將 Oq 進行第一次掃描,計 數 COq 中各個標籤 t 在 Oq 的出現次數,找出出現次數大於等於 r 的標籤。而第二次 掃描標籤資源時,只取物件資料標籤集中有出現在 COq 中(為代表標籤)且在 Oq 中 出現次數大於等於 r 的標籤 t 來建立 UT-tree 的對應節點。. 【範例5-1】 如表 5.1 的標籤資料為例,該標籤資料是包含查詢 q  {E}的物件集合 Oq ,假 設 r 值設為 2,且 COq  {A,B,C,D,F,G,H}。第一次掃描資料庫移除查詢字後,計數 出各標籤 t 在 Oq 的出現次數為 A:5, B:3, C:5, D:5, F:2, G:1, H:1。在該範例中 count( t)  2 的標籤有 A:5, B:3, C:5, D:5, F:2,因為標籤 G 與 H 的出現次數小於 2,. 在下一步驟讀取該範例建立 UT-tree 樹狀結構過程中,會被過濾掉而不建立該標 籤對應的節點。. 表 5.1. 標籤資源範例. oi .id. oi .tagset. oi .utility. 𝒐𝟏 𝒐𝟐. AB D E H AB E. 0.9 0.8. 𝒐𝟑 𝒐𝟒 𝒐𝟓 𝒐𝟔 𝒐𝟕 𝒐𝟖. AD E AC E F AC E DE CDEF BCDEG. 0.7 0.6 0.5 0.4 0.3 0.2. 28.

(37) UT-Tree 樹狀結構. 5.1.2. UT-tree 樹狀結構如同 FP-tree 為一個 prefix tree,在物件資料中,若包含的標 籤集有相同的 prefix,則會共用樹中節點路徑。UT-tree 的根節點不代表任何一個 標籤,其他每一個節點,則代表從根節點到該節點所經過路徑上的所有標籤所形 成的標籤集。節點中除了儲存記錄標籤資訊及計數值,還記錄包含有該節點對應 標籤集的物件編號,以便在探勘過程形成一個擴展查詢字集 QE 時,可以快速取 得包含 QE 之物件中前 r 高的可用性分數,並且算出 QE 的可用性分數。 此外,建立 UT-tree 前,必須將 Oq 內的所有物件依照其可用性分數由高至低 排列,每個物件的標籤集中的標籤則先依字元順序由小而大排序。. UT-Tree 之 Header Table. 5.1.3. 建構 UT-tree 的同時還須建立一個資料標籤項目表 Header Table,將樹狀結構 上具相同標籤的節點以橫向連結的方式串聯起來,可助於探勘走訪 UT-tree 時較 有效率。Header Table 有以下三個欄位:第一個欄位是標籤欄,用來存放物件資 料中的標籤;第二個欄位為計數欄,記錄標籤欄中計數該標籤在 UT-tree 上累計 出現的次數;第三個欄位為節點連結欄,用來存放一個節點指標(pointer),指向 UT-tree 中所有儲存該標籤的節點所形成的串列。. 29.

(38) UT-tree 建構方法. 5.1.4. 綜合以上三小節的處理概念介紹,將 Oq 中物件之標籤集 o.tagset 加入 UT-tree 的步驟如下: 步驟<1>: 先針對 Oq 中的物件根據其可用性分數進行由大而小的排序。同時 計算每一個標籤在 Oq 的出現次數。 步驟<2>: 對每一個物件 oi 進行以下處理。 <步驟2-1>: 對物件 oi .tagset 中的標籤 t ,檢查 countq ({t}) 是否大於等於 r , 若 count (t )  r 則從 oi .tagset 中篩除。令 {t1 , t2 ,..., tm } 表示步驟 2-1 檢查後 oi .tagset 留下的標籤, j 設為 1。 <步驟2-2>: 當 j =1 從根節點開始,否則從 t j 1 的對應節點開始,搜尋下 一子節點中是否有與標籤 t j 相同的標籤。若存在相同的標籤, 需將對應節點的計數值加 1 並存入物件標號 oi .id ;若此 t j 對 應節點尚未存在,則在根節點下建立一個對應此標籤 t j 的新 子節點,並將節點中的計數值設為 1 且存入物件編號 oi .id 。 <步驟2-3>: 建立 Header Table。若是 Header Table 不存在標籤 t j ,則在 Header Table 建立標籤 t j 對應的標籤欄、計數欄及可用性值 欄,且將該標籤對應到的節點加入到該標籤的連結欄;如果 節點已經存在,在建立樹狀結構同時,則只要更新連結欄的. 30.

(39) 節點資訊,而計數欄會累加個數,可用性值欄則加總可用性 值高的前 r 個物件。 <步驟2-4>: 若 ( j  m  1) 則將 j 設為 j  1 並重複執行步驟<2-2>到<2-4>, 直到 j  m 結束。. 【範例5-2】 延續【範例 5-1】的處理,建構 UT-tree 樹狀結構,Header Table 會隨著建立 UT-tree 而同時產生,其結果如圖 5.1 所示,Header Table 的欄位標示簡寫如下,T 表示標籤欄;C 表示計數欄;U 表示可用性值欄;L 表示連結欄。其中虛線表示 具相同標籤間的橫向鏈結。. 圖 5.1. UT-tree 結構與 Header Table. 31.

(40) 5.2 UT-growth 探勘演算法 本節將介紹如何運用 Header Table 搭配樹狀結構,在不用反覆掃描資料庫的 情況下找出可用性值前 k 名的擴展查詢字集。. 5.2.1. 以標籤對 UT-tree 做投影. 為了找出形成 Oq 中擴展查詢字集的標籤集合樣式,本論文以某個標籤 ta 對 UT-tree 取出以 ta 為根節點的子樹,由 UT-tree 的 Header Table 中對應到標籤 ta 的資 料,透過 ta 連結欄儲存的指標所指向的串列,即可快速地取出儲存標籤 ta 的節點。 再以標籤 ta 之節點為根節點的子樹,皆加入為一個虛擬根節點下的子樹,即成為 原 UT-tree 經標籤 ta 投影後所得之 ta -conditional UT-tree。在 ta -conditional UT-tree 中,可以取得 Oq 中和 ta 一起出現在某個物件,且字母順序在 ta 之後的標籤所形成 的標籤集樣式。本論文中執行 UT-tree 的投影,以複製投影後之子樹根節點的方 式取代重新建樹,可避免重建 UT-tree 結構的處理成本。 此外, ta -conditional UT-tree 對應的 Header Table 會記錄和標籤 ta 一起出現的 標籤 tb 之出現次數,次數大於等於 r 的標籤才保留,並算出在 ta -conditional UT-tree 中 tb 前 r 個可用性分數加總值。若與標籤 ta 一起出現的標籤 tb 之出現次數小於 r , 則從 ta -conditional UT-tree 對應的 Header Table 及 ta -conditional UT-tree 中篩除 tb 所 有資訊。 32.

(41) 假設目前 ta -conditional UT-tree 中和標籤 ta 一起出現之次數大於等於 r 的任一 個標籤以 tb 表示,即可找出 2-QE 擴展查詢字集 QEi 有{ ta , tb },根據 3.2 小節 CFQE 的概念,若 uq (ta ,tb ) uq (ta ) ,以及前 r 個的物件標號相同,則{ ta }不為一個 CFQE, 因此先被{ ta , tb }取代。接著對探勘出的 2-QE 進行投影,舉例來說,以{ ta , tb }對 UT-tree 的投影概念是用遞迴方式以 tb 對 ta -conditional UT-tree 做下一層的投影,接 著再判斷可用性分數值及前 r 個的物件標號找出更長的 QE ,以此類推。. 【範例5-3】 參考圖 5.1 所建構出的 UT-tree 與 Header Table,若以標籤 A 對該 UT-tree 進 行投影,得到 A-conditional UT-tree 的結果如圖 5.2(a)所示。由 A-conditional UT-tree 可以得知在 Oq 中和標籤 A 一起出現的標籤有 B、C、D 和 E,亦可從中算出其在 Oq 出現的次數,發現標籤 E 在 A-conditional UT-tree 中的個數小於 2,故刪除 E 所有 資訊,如圖 5.2(b)所示,可探勘出{A,B}、{A,C}及{A,D}。依據 CFQE 的概念, 比較 uq ({ A, B}) 、 uq ({ A}) 及 uq ({B}) ,以及前 r 個的物件標號是否相同,若可用性 分數及物件編號都相同,則保留集合較大的,接著{A,C}及{A,D}一樣比對可用性 值及物件編號。若找出{A,B}為符合上述條件的擴展查詢字集,則對標籤集{A,B} 做投影,先以標籤 A 對原 UT-tree 做投影得到 A-conditional UT-tree,再以標籤 B 對 A-conditional UT-tree 做投影,所得結果稱為 AB-conditional UT-tree,結果如圖 5.3 所示,在 AB-conditional UT-tree 中{D}與{A,B}共同出現的次數未達到 2,所 以不須組合產生{A,B,D}。標籤集{A,C}及{A,D}以此類推, 33.

(42) (b). (a) 圖 5.2. 圖 5.3. 以 A 做投影後所得之 A-conditional UT-tree 與 Header Table. 以 AB 做投影後所得之 AB-conditional UT-tree 與 Header Table. UT-growth 演算法處理過程. 5.2.2. 探勘可用性前 k 名擴展查詢字集的重要依據是一個擴展查詢字集的可用性分 數值,以下定理表示常見擴展查詢字集的可用性分數值具有向下封閉的特性 (downward closure property)。. 【定理5-2】 在 q 的擴展查詢字集中,若給定一個大小為(ℓ − 1)的擴展查詢字集 QE1 ,以 及 大 小 為 ℓ 的 擴 展 查 詢 字 集 QE2 , 若 countq (QE1 )  r , countq (QE2 )  r 且. QE1  QE2 ,則 uq (QE2 )  uq (QE1 ) 。 34.

(43) 【證明】 根據 Apriori 特性,一個資料物件 o 若包含大小為 ℓ 的擴展查詢字集 QE2 ,則 必定會包含 QE2 的子集(subset)。因此 o 必包含 QE1 ,但是包含 QE1 之資料物件, 則未必包含 QE2 ,可得 Oq (QE2 ) 必為 Oq (QE1 ) 之子集。因此 Oq (QE1 ) 中之可用性 分數值前 r 高的資料物件之分數總和必大於等於 Oq (QE2 ) 之分數總和,由此可知 uq (QE1 )  uq (QE2 ) 。. 根據上述定理,本方法先對每個 UT-tree 之 Header Table 中的標籤可用性分數 值前 k 名的標籤形成 k 個大小為 1 的擴展查詢字集。根據 3.2 節描述的封閉常見擴 展查詢字集的概念,在下一步驟檢查這些大小為 1 的擴展查詢字集,若具有相同 的可用性分數值及前 r 個相同的物件集合,則其個別形成的擴展查詢字集不為 CFQE,可先組合成較長的常見擴展查詢字集。探勘可用性前 k 名擴展查詢字集 的步驟如下: 步驟<1>: 從 UT-tree 之 Header Table 中,找出可用性分數前 k 名的標籤形成 大小為 1 的擴展標籤字集( 1-QE )記錄在 TempQEs 中。 步驟<2>: 對 TempQEs 中每一個 1-QE 執行下列子步驟: <步驟2-1>: 檢查是否 有其他 1- QE 之可用性 分數值 uq (1-QE )及 包含 1-QE 的前 r 個物件編號皆相同。若有 n 個 1- QE 符合上述兩. 個 條 件 , 則 將 這 些 1-QE 結 合 成 一 個 n- QE 加 入 至. 35.

(44) TempResultQEs ;若沒有相同分數值及物件編號,則將該 1-QE. 直接加入 TempResultQEs 。 <步驟2-2>: 以 num 表示 TempResultQEs 中的 QE 個數。若 num 小於 k 個, 則再從 UT-tree 的 Header Table 中尚未被取用之可用性分數值 高的 (k  num) 個標籤形成 1-QE 加入 TempQEs ,重複執行步驟 <2>;若 TempResultQEs 中已有 k 個 QE ,則進入下一步驟探 勘。 步驟<3>: 將 TempQEs 中的 QE 加入優先佇列(priority queue, PQ ), PQ 中每次 會取出其中可用性分數最高的 1-QE ,以 {ti } 表示。對原始 UT-tree 做投影,建立 {ti } -conditional UT-tree,找尋和 ti 在 Oq 一起出現的次 數大於等於 r 之標籤 t j ,所需的條件如下所示: 步驟<3-1>: 比對 {ti } -conditional UT-tree 之 Header Table 中的標籤 t j 之可 用性分數和 {ti } 相同者,若其前 r 個物件編號和 {ti } 也相同, 則將 {ti , t j } 加入 TempResultQEs 中,並且從 TempResultQEs 中刪 除 {ti , t j } 的子集合。接著用遞迴方式以 t j 對 {ti } -conditional UT-tree 做投影形成 {ti , t j }-conditional UT-tree,再找 {ti , t j } -conditional UT-tree 中的標籤 tl 能與 {ti , t j } 形成更長的擴展查 詢字集,觀察其可用性分數值是否大於目前 TempResultQEs 中 之第 k 名的可用性分數值,若 uq ({ti , t j , tl }) 大於 TempResultQEs 36.

(45) 中 之 第 k 名 的 可 用 性 分 數 值 , 則 將 {ti , t j , tl } 加 入 T e m p R eQ sE 中且刪除原先的第 us l t k 名,並繼續遞迴投影;若. uq ({ti , t j , tl }) 小於 TempResultQEs 中之第 k 名的可用性分數值,. 則停止投影。 步驟<3-2>: 若 {ti } -conditional UT-tree 中所能形成的 QE 之可用性分數值 與 ti 之可用性分數不相等,但是比 TempResultQEs 中第 k 名可 用性分數值要高,則將 QE 加入 TempResult QEs 。接著判斷 TempResult QEs 中是否有 QE 的子集,若有 QE 的子集合且子集. 合 的 可 用 性 分 數 等 於 u (QE )r , 則 移 除 子 集 合 ; 否 則 將 TempResultQEs 中的第 k 名擴展查詢字集移除。. 反覆執行步驟<3>直到 PQ 結束。 步驟<4>: 最後輸出即為目前所存取的 TempResultQEs 。. 【範例5-4】 承表 5.1 為例,假設給定 r 為 2, k 為 3,圖 5.4(a)之 Header Table 中各標籤字 形成 1- QE 的可用性分數值分別為{A}:1.7, {B}:1.7, {C}:1.1, {D}:1.6。取前三名分 別為{A}, {B}, {D}加入 TempQEs 。檢查發現{A}與{B}的可用性分數值相同且前兩 名的物件編號一樣,故可先結合成一個 2-QE {A, B},並加入 TempResultQEs,而{D} 沒 有 其 他 QE 有 相 同 的 可 用 性 分 數 值 及 前 2 個 物 件 編 號 , 則 直 接 加 入 T e m p R e s QuEl s。 t 此時 TempResultQEs 為 {{A, B},{D}} ,其中包含的擴展查詢字集個 37.

(46) 數小於 3,因此再找可用性分數值僅次於{A}、{B}及{D}的 1-QE {C}加入 TempQEs , 而{C}也找不到其他 1- QE 有相同的可用性分數值及前 2 個物件編號,則{C}也加 入 TempResultQEs ,目前 TempResultQEs  {{ A, B},{ D},{C}},接下來,將 TempQEs . {{A},{B},{C},{D}} 依 其 可 用 性 大 小 加 入 至 優 先 佇 列 PQ , 此 時 PQ   {A } , B { }D , { }C, 。接著依序取 { } PQ 中的 1-QE 對圖 5.4(a)之 UT-tree 做投影,以 下將說明每一個投影處理結果: <1>.以標籤 A 對 UT-tree 的投影結果如圖 5.4(b),可以得知 uq ({ A, B})  1.7 、 uq ({ A, C})  1.1 及 uq ({A, D})  1.6 , 對 照 T e m p R e s QuEl st { { , A} ,B{ }D,. {C } }可以發現{D}與{A,D}、{C}與{A,C}的分數及前兩名標籤編號相同, 所 以 可 以 被 取 代 成 較 長 的 擴 展 查 詢 集 合 。 此 時 TempResultQEs  {{A, B},{A, D},{A, C}} 。. <2>.以標籤 B 對 UT-tree 投影結果如圖 5.4(c),可以得知 uq ({B, D})  1.1 ,並 沒有比目前 TempResultQEs 中的第三名可用性分數值 1.1 大,故不需更新 TempResultQEs 。. <3>.以標籤 D 對 UT-tree 的投影結果為空,故不需處理。 <4>.以標籤 C 對 UT-tree 投影結果如圖 5.4(d),可以得知 uq ({C, D})  0.5 及 uq ({C, F})  0.9 ,皆比 TempResultQEs 中的第三名分數 1.5 小,故不需更. 新 TempResultQEs 。. 38.

(47) <5>.執 行 完 PQ , 最 後 輸 出 為 目 前 TempResultQEs 所 存 取 的 結 果 , 即 為 { {A ,B } , {A D , } ,A{ C, 。} }. (a). (c) (b). (d) 圖 5.4. 原始 UT-tree 和各標籤投影之 conditional UT-forest 與 Header Table. 39.

(48) 5.3 Dynamic UT-Growth 探勘演算法 如同之前介紹的 UT-growth 演算法,在建立 UT-tree 時,讀取的資料物件已 由可用性分數值排序過,再透過 UT-tree 的遞迴投影探勘可用性分數值高的擴展 查詢字集。然而,排序在較後面讀取到資料物件,其可用性分數值較低,因此擴 展標籤字集可用性分數低的資料物件所包含的標籤集並不影響前 k 名擴展查詢字 集的探勘結果。因此我們考慮估算擴展查詢字集的可用性分數上限值(utility upper bound, UUB )與可用性分數下限值(utility lower bound, ULB ),動態建立 UT-tree, 只將必要資訊所需可用性分數高的物件建立至 UT-tree,如此可以提高演算法執行 效率,但仍能探勘到與完全建立 UT-tree 所得到的 top-k 擴展標籤字集相同結果。. 可用性分數值上下限估算方法. 5.3.1. 在此我們介紹如何針對一個擴展標籤字集 QE 計算其可用性分數值之上限值 UUB(QE) 與下限值 ULB(QE) 。其中上限值與下限值估算的意義,是指在未取達. 前 r 個包含 QE 的物件之前,估測可能包含前 r 個物件可用性分數值的最大可能值 與最小可能值。 令 UUBi (QE) 及 ULBi (QE) 各別表示已取到 QE 之第 i 筆物件所估算出 QE 的 可用性上限值與下限值,則其估算算式如算式(7)及算式(8)所示:. UUBi (QE ) . . i. 1 j i ,o j Oq ( QE ). o j .utility  (r  p)  min{o1.utility,..., oi .utility} r 40. (7).

(49) ULBi (QE ) . . i. 1 j i ,o j Oq ( QE ). o j .utility  (r  p)  min{o.utility | o  Oq } r. (8). 其中 1 j i ,o O (QE ) o j .utility 表示將第 i 個物件之前,出現過包含 QE 的每一個 i. j. q. 物件 o j 之可用性 o j .utility 進行加總。 p 表示第 1 個到第 i 個物件中,其標籤集包 含 QE 的個數,以 p |{o j | QE  o j .tagset, j  i}| 表示。 min{o1 .utility,..., oi .utility} 表 示讀取過的物件中,找出最小物件可用性分數值,因為物件已依可用性分數值由 大而小排序過,其值等於 oi .utility 。 min{o.utility | o  Oq )} 表示包含查詢字 q 之所 有物件中,找出最小物件可用性分數值,其值等於 o|Oq | .utility 。. 【範例5-5】 表 5.2. 標籤資源範例. oi .id. oi .tagset. oi .utility. 𝒐𝟏 𝒐𝟐 𝒐𝟑 𝒐𝟒 𝒐𝟓. ABC D E G DEG DEG AB G AB F G H. 0.9 0.8 0.7 0.4 0.3. 如上表 5.2 所示之範例,給定使用者查詢為 G、 k 為 1 及 r 為 3,從範例中計 算 r  3 的擴展查詢字集有{A}、{B}、{A,B}、{D}、{E}及{D,E}。由於{A}與{B} 是{A,B}的子集合,{D}與{E}亦是{D,E}的子集合,而且彼此間的前 r 個可用性分 數值高的物件都相等,故只有{A,B}和{D,E}可列為可用性前 k 名擴展查詢字集的 考慮。在讀取第一個物件 o1 時,發現 o1 有包含{A,B}與{D,E},根據可用性分數值 41.

(50) 的 上 限 值 與 下 限 值 的 計 算 , 得 到 上 限 值 UUB1 ({A, B})  UUB1 ({D, E}) . 0.9  (3 1)  0.9  2.7 , 而 下 限 值 ULB1 ({A, B})  ULB1 ({D, E})  0.9  (3 1)  0.3  1 . 5。當讀取到第三個物件 o3 時後,得到 UUB3 ({ A, B})  0.9  (3  1)  0.7  2.3 、. ULB3 ({A, B})  0.9  (3 1)  0.3  0.5 , 而 UUB3 ({D, E})  ULB3 ({D, E})  1.7 . ( 3. 2). ULB3 ({D, E})  UUB3 ({A, B}) , 0. 。此時由上述計算結果可以發現 7 2 . 4. 因為物件讀取是經過可用性分數值排序的,之後讀取到的物件可用性分數值無法 讓{A,B}的分數更高,所以不需讀完所有資料物件,在讀取到第三個物件時,即 可得到 top-1 的擴展查詢字集為{D,E}。. Dynamic UT-Growth 演算法處理過程. 5.3.2. 在建立 UT-tree 的過程中,從 Header Table 中會隨時更新前 k  1 名 UUB 的 1-QE,以及前 k 名 ULB 的 1-QE。我們檢查第 k  1 名擴展查詢字集的上限值 UUB,. 以及第 k 名的下限值 ULB ,當第 k 名的 ULB 大於第 k  1 名的 UUB ,則停止建立 UT-tree。因為讀取的物件已經過可用性分數值排序,即表示 k  1 名後的擴展查詢 字集可用性的最大可能分數值一定小於等於前 k 名可用性的最小可能分數值。下 列步驟將合併 UT-tree 建立及探勘擴展查詢字集過程,再加入本節可用性上限值 與下限值的計算方法,以達到更有效率的探勘。 步驟<1>: 讀取每一個物件 oi 中的標籤集合,針對集合中的每一個標籤在 UT-tree 上建立標籤相對應的節點並更新 Header Table 中的資訊,同 42.

(51) 時計算該標籤可用性分數值的上限值 UUB 和下限值 ULB 。更新 ULB 值前 k 名的擴展查詢集合且找到第 k 名的 ULB 值,並更新. UUB 值前 k  1 名的擴展查詢集合且找到第 k  1 名的 UUB 值。. 步驟<2>: 當 UUB 和 ULB 的前 k 名初始擴展查詢集合相同,並且第 k 名的 ULB 大於或等於第 k  1 名的 UUB ,即停止建立 UT-tree,將 ULB 的. 前 k 名 1-QE 加入 TempQEs ,進行擴展查詢字集探勘。 步驟<3>: 若 TempResultQEs 中 QE 的個數未達 k 個,而 Header Table 中下一個 可用性值高的標籤尚未取到 r 個資料物件,表示讀取的資料量不夠, 則必須再回步驟<1>繼續讀取資料物件建樹,直到下一個可用性高 的標籤也讀取到 r 個資料物件為止,則繼續探勘。 步驟<4>: 最終輸出目前 TempResultQEs 所存取的結果。. 【範例5-6】. 圖 5.5(a)為讀完表 5.1 所有物件資料所建立的 UT-tree(和圖 5.1 相同)。假設 r 為 2, k 為 3,在加入估算概念之後,當讀到物件 o4 時,此時 Ut-tree 如圖 5.5(b),即 可 得 到 前 三 名 標 籤 的 ULB 分 別 為 U L (B{ A }). 1、 . 7ULB({B})  1.7 及. ULB({D})  1.6 , 而 第 四 名 的 UUB 為 UUB({C})  1.2 , 根 據 探 勘 方 法 , 此 時. TempResul Q Ets為 {{ A, B},{D}} 未達 k 個擴展查詢字集,但{C}與{F}尚未取到 2 個. 物件,所以必須再讀取資料物件來建立 UT-tree。當讀到 o6 時,產生的 UT-tree 如 43.

(52) 下圖 5.5(c)所示,最後經由探勘所得到的結果 FinalQEs ={{A,B},{A,D},{A,C}}與從 完整的 UT-tree 所探勘結果相同。. (a). (c). (b) 圖 5.5. 原始 UT-tree 與加入估算概念之 UT-tree. 44.

(53) 第六章 實驗評估與討論 本論文實驗主要分成兩部份。第一部份為評估使用兩種挑選代表標籤方法後 找出可用性前 k 名的查詢效果;第二部份則評估所提出的 UT-growth 及 dynamic UT-growth 演算法與相關研究方法在執行時間的效率比較。以下將詳細介紹實驗 資料及環境設定、評估選取代表標籤方法效果、以及評估可用性前 k 名擴展查詢 字集探勘方法之效率。. 6.1 實驗資料來源及環境設定 實驗資料來源. 6.1.1. 本論文採用的實際資料來源為 Flickr 和 Delicious,Flickr 資料集是採用由新 加坡大學 T.-S. Chua 等人由 Flickr 社交網站中蒐集而來的資料集[3],該資料集提 供於網站 NUS-WIDE9開放資料下載,總共包含 269641 張照片及 407982 個不同 的標籤資訊。由於 Flickr 照片資料集中不含有使用者評分資料,因此我們用隨機 的方式對每張照片模擬產生一個 0 到 1 之間的可用性分數值。Delicious 資料集則 是從網站 NLP Group10下載[21],在 Delicious 社交網站中蒐集到的資料集,資料. 9 10. http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm http://nlp.uned.es/social-tagging/delicioust140/ 45.

(54) 集中包含 144574 個網頁連結及 67218 個不同的標籤資訊。每一個網頁連結附有 使用者對於此連結的儲存次數,我們將其當作網頁連結物件的可用性分數。 模擬資料是用 IBM Data Generator11模擬產生的交易資料,在此將一筆交易資 料當成一個標籤物件,交易資料中的項目當成物件具有的標籤,並隨機產生 0 到 1 之間的實數當作物件的可用性分數值,其中在產生標籤物件集時控制所產生資 料物件特性的參數有三個,其對應意義如表 6.1 所示:. 表 6.1. 模擬資料集參數說明. 參數 𝒐𝒏𝒖𝒎 𝒐. 𝒕𝒂𝒈𝒔𝒆𝒕𝒍𝒆𝒏 𝒕𝒏𝒖𝒎. 參數說明 標籤物件的筆數 每筆標籤物件的平均標籤集大小 標籤的種類數量. 在實驗中我們會控制這三個參數設定來產生不同的標籤物件集。. 資料前處理. 6.1.2. 由於使用者進行標籤註記時對同一個字給定單、複數字詞只代表數量的差異, 但是代表相同的語意。為避免因標籤字的單、複數變化,在系統處理過程中將這 些字當作不同的字,使得在挑選代表標籤時造成影響,所以系統會先進行字詞的 原型化處理。本論文採用 The Porter Stemming Algorithm 進行標籤字的原型化處. 11. http://www.almaden.ibm.com/cs/quest/syndata.html 46.

(55) 理,此演算法是目前廣為使用的字詞原型化演算法。因考慮使用者進行標籤註記 時,時態或語法上的變化可能是指不同的概念及意義,在此並不考慮其他時態或 文法上的變化之原型化處理。. 實驗環境. 6.1.3. 本實驗使用的個人電腦之硬體配備為 Intel Core i7 之處理器和 16G 的 DDR3 記憶體,採用 Windows 7 作業系統,程式開發程式語言則使用 JAVA 電腦程式設 計語言,在 NetBeans 開發環境中進行編譯。. 6.2 評估選取代表標籤方法之效果 此部份的實驗為評估先選取代表標籤能否使探勘擴展查詢字集有更好的查 詢效果。為避免採用使用者評估可能會受使用者有無相關背景知識、主觀意識等 因素影響。且以使用者進行測試的時間成本較高,不同使用者測試的結果也較不 穩定,容易影響整體數據的分析結果等問題。因此我們採用查詢結果涵蓋率 (coverage)、重覆率(overlap)及選擇率(selectivity)[15]三種測試數據進行所探勘出擴 展查詢字集的查詢效果評估。. 47.

參考文獻

相關文件

The coordinate ring of an affine variety is a domain and a finitely generated k-algebra.. Conversely, a domain which is a finitely generated k-algebra is a coordinate ring of an

•  Flux ratios and gravitational imaging can probe the subhalo mass function down to 1e7 solar masses. and thus help rule out (or

In addition, to incorporate the prior knowledge into design process, we generalise the Q(Γ (k) ) criterion and propose a new criterion exploiting prior information about

If we want to test the strong connectivity of a digraph, our randomized algorithm for testing digraphs with an H-free k-induced subgraph can help us determine which tester should

¾ Relocation, which modifies the object program so that it can be loaded at an address different from the location originally specified.. ¾ Linking, which combines two or

„ Start with a STUN header, followed by a STUN payload (which is a series of STUN attributes depending on the message type).

- - A module (about 20 lessons) co- designed by English and Science teachers with EDB support.. - a water project (published

O(log 2 k/ log log k)-Approximation Algorithm for Directed Steiner Tree: A Tight