• 沒有找到結果。

新的推薦分數計算公式

第六章 結論與未來研究方向

方程式 11 新的推薦分數計算公式

, ( )

1 ( ) , ( )

,

(j i Rec j i Like j i

New_Rec =β× + −β ×

方程式 11 新的推薦分數計算公式

其中 j 代表某一讀者,i 代表某一館藏, β 為可調整的參數,其值介於 0-1 之間,

代表要取 Rec 和 Like 的權重,可以視需要增減。如果 β 的值取 0.5,代表協力式過濾和 內容導向過濾的影響各半。

得到新的推薦分數後,再把從協力式過濾得到的推薦清單,依照新的推薦分數排 序,最後把重新排序過的結果推薦給讀者,完成整個推薦流程。

第四章 系統實作

在這一章中,會介紹本論文提出的圖書館個人化館藏推薦系統於交通大學浩然圖書 館中實作的細節,並說明系統運作的流程。

第一節為圖書館個人化館藏推薦系統的整體系統概述。第二節裡說明資料的來源和 一些必要的資料前置處理,使其成為符合系統需要的資料型態。第三節為建立內容導向 過濾需要的系統模型和內部物件屬性表示式的步驟。第四節介紹實際上產生推薦清單的 流程。第五節中展示了推薦系統於交通大學浩然圖書館 myLibrary 上呈現的形式。

第一節 系統架構

圖 11 為圖書館個人化館藏推薦系統的架構圖,主要分成關聯規則探勘 (Association Mining)、協力式過濾推薦 (Collaborative Recommend) 和內容導向過濾推薦 (Content- Based Recommend) 這三個部分:

u 關聯規則探勘:這個部分主要將借閱歷史資料庫依照需求先經過前置處理以產 生適合的交易集,再分別經過乏析式資料探勘和 H-mine 產生讀者與讀者間的 關聯規則和書與書間的關聯規則,以供之後協力式過濾推薦和內容導向過濾之 用。

u 協力式過濾推薦:這部分依照讀者與讀者間的關聯規則從借閱歷史資料庫中找 出同好間推薦適合的館藏推薦清單。

u 內容導向過濾推薦:這部分包含建立書籍的屬性向量表示式資料庫和讀者的個 人興趣向量表示式 (Profile) 資料庫,並依照讀者的個人興趣將之前從協力式 過濾推薦得到的館藏推薦清單重新排序,最後產生具有個人化的館藏推薦清 單。

圖 11 圖書館個人化館藏推薦系統架構圖

Borrowing History Database

Data Preprocessing

Transaction Set of Readers Transaction

Set of Books

H-mine Fuzzy Data Mining Reader-to-Reader

Correlation Book-to-Book

Correlation

Book

Taxonomy Build Books’

Representation

Collaborative Filtering

Books’ Representation Database

Readers’ Profile Database Build Readers’

Representation Readers’

Interests

Recommendations List

Content-Based Filtering

Personal Recommendations

List Content-Based

Recommend

Collaborative Recommend Association

Mining

在圖 11 中有陰影部分的圖示代表其為離線(Offline)處理程序,例如關聯規則探勘中 探勘讀者間和書籍間的關聯規則及內容導向過濾推薦中建立書籍的屬性向量表示式,這 些因為都需要大量時間和空間運算,所以皆採取離線處理的方式,在系統上線前先準備 好。而系統中其他部分則皆為線上作業,例如得到讀者的興趣類別以建立讀者的個人興 趣向量表示式和產生館藏推薦清單等,都是直接在網頁上和讀者互動。

第二節 前置處理

本系統目前實作所採用的資料來源是國立交通大學浩然圖書館 2001 年 5 月到 2003 年 4 月這兩年間的讀者借閱歷史檔,每一筆資料代表一個讀者借閱一本書的記錄。在 2001 年 5 月到 2003 年 4 月這段期間中有 643,557 筆借閱資料,7,682 個讀者曾借閱過館 藏 。 在 關 聯 規 則 探 勘 前 , 必 須 先 將 此 借 閱 歷 史 檔 經 過 資 料 前 置 處 理 (Data Preprocessing),以分別產生協力式過濾和內容導向過濾所需的交易集。

協力式過濾需要的交易集是以一個類別為一筆交易,在本論文中是以中國圖書分類 法的類別為分類基準,每本書所在的類別以其索書號上的分類號為準。交易中的每一個 項目代表一位曾借閱過該類別書籍的讀者和此讀者借閱過該類別書的次數。

目前我們僅做總類 (General) 和語文類 (Language and Literature) 書籍的推薦,經 過前置處理過後產生的交易集中有 836 筆交易。圖 12 是部分的交易內容,其中每一行 為一筆交易,交易中的項目間以符號 “,” 隔開,每個項目在符號 “:” 之前為項目名稱(讀 者編號),之後為該項目出現的次數(讀者於此類別借閱過的館藏數量)。

內容導向過濾需要的交易集是以一個讀者在某段時間內的借閱書籍為一筆交易,在 實作上取某一讀者在 120 天內借閱過的書籍當做一筆交易。因為內容導向過濾需要對分 類樹的每一層分類作相關規則探勘,所以每一層都需要自己的交易集。各層的交易集如

圖 13,第一層、第二層和第三層的交易集中的數量分別有 24,079 筆、25,112 筆和 42,060 筆交易。

圖 12 協力式過濾需要的交易集

(a) (b) (c)

圖 13 內容導向過濾需要的交易集

(a) 為第一層的交易集 ;(b) 為第二層的交易集 ;(c) 為第三層的交易集

第三節 找出相關讀者群和建立館藏與讀者的表示法

在產生給讀者的推薦清單前,必須先找出協力式過濾所需要的相關讀者群及內容導 向過濾需要的館藏與讀者的表示法。

相關讀者群是用乏析式資料探勘來尋找,而在實作乏析式資料探勘時則參考了[3]

提出以先序樹實作 Apriori 的程式,加以改寫成可處理量化資料的乏析式資料探勘。當 最小支持度為 0.7 時,可? 將近三千名讀者找到所屬的相關讀者群,部份結果節錄如圖 14。在圖 14 中每行代表一個相關讀者群,裡面的項目代表讀者,在同一讀者群中的讀 者會被視為有相同興趣,在每一行最後在括號 “()” 中間的數字代表這個讀者群的支持 度。

圖 14 相關讀者群的頻繁項目集

在內容導向過濾中也需要用關聯規則探勘找出分類樹中各層的關聯規則,在此用的 相關規則探勘演算法是 H- mine。分別對每一層的交易集執行一次 H-mine,在各層應不 同的資料數量分別採取不同的最小支持度 (Min. Support)、最小確信值 (Min. Confidence) 和找出來的關聯規則,如表 20 所列。各階層的關聯規則格式和其確信值如表 21 所列 舉。

階層 最小支持度 (Min. Support)

最小確信值 (Min. Confidence)

關聯規則數量 (Rules Number)

第一層 0.1 0.8 18

0.823094 0.826161 0.805466

0.769517 0.758092 0.80084

… 0.818182 0.824561

為分類樹第三層中共有 1000 個分類,而這 1000 個分類各有各自的表示式,所以整個系 統共有 1000 個不同的表示式來表示所有圖書館的館藏。圖 15 是分類 312 下館藏的屬性 向量分布圖,其中圈起來的部份為類別 312 所在的地方,因為館藏屬於分類 312,所以 其值為 1。

圖 15 類別 312 的屬性向量表示式

把書的表示式 Booki建好後,根據 3.2 節中的方程式 9,可以利用讀者的借閱歷史檔 來產生讀者本身的興趣表示式 Readerj。但是在這裡除了利用借閱歷史檔來產生讀者的表 示式外,讀者還可以藉由調整自己的興趣來改變其興趣表示式。系統中設計了一個介面 讓讀者選擇自己真正喜歡的館藏類別,如圖 19。但因為一般讀者對中國圖書分類法不 是很熟悉,所以系統只提供第一層和第二層涵蓋範圍比較大的分類給讀者選擇,而且在 每一分類名稱之後也加注讀者在這一類中所借閱過的書數。如果讀者選擇了他有興趣的 類別,系統便會在原本讀者的表示式 Readerj 中對這些讀者選定的類別增加一定比例的 權重,而且這增加的比例會因為分類在分類樹上的層數而不同。如果讀者是選擇層數比 較高,範圍較廣泛 (General) 的分類,則增加的權重比例較低,如果是層數比較低,範

圍較小 (Specific) 的分類,則增加的權重比例較高。其理由在於若讀者能指定比較底 reader by chosen

class reader by chosen

class Reader'

jk