圖書館推薦系統建置
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

圖書館推薦系統建置 - 以淡江圖書館資料為例 PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

圖書館推薦系統建置 - 以淡江圖書館資料為例. 指導教授:魏世杰 研究生:陳慶宇. 緒論 文獻探討 研究方法 實驗及評估 結論和未來目標. 緒論 : 研究動機. 圖書館擁有大量資料 搜尋模式單一,只能使用關鍵詞 若遇 書名用詞或語言不同 ,搜尋結果可能遺漏使用者所需 使用推薦系統改善 [13]. 緒論: 推薦系統. 常用技術 [7] 有: 協同過濾 (Collabrative Filtering) : 社群力量 內容為本 (Content-based) : 文字比對 知識為本 (Knowledge-based) :屬性篩選. 緒論: 本文推薦方法.

Download Presentation

圖書館推薦系統建置 - 以淡江圖書館資料為例

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3801751

圖書館推薦系統建置-以淡江圖書館資料為例

指導教授:魏世杰

研究生:陳慶宇


3801751

  • 緒論

  • 文獻探討

  • 研究方法

  • 實驗及評估

  • 結論和未來目標


3801751

緒論:研究動機

  • 圖書館擁有大量資料

  • 搜尋模式單一,只能使用關鍵詞

  • 若遇書名用詞或語言不同,搜尋結果可能遺漏使用者所需

  • 使用推薦系統改善[13]


3801751

緒論:推薦系統

常用技術[7]有:

  • 協同過濾(Collabrative Filtering):社群力量

  • 內容為本(Content-based):文字比對

  • 知識為本(Knowledge-based):屬性篩選


3801751

緒論:本文推薦方法

  • 以淡江圖書借閱紀錄及分類號為協同及內容推薦基礎

  • 考量個資問題

    • 當無法取得借閱者身份

      • 提出物推薦物方法

    • 當可取得借閱者身份

      • 提出物推薦物內嵌在人推薦物方法下之做法

  • 結果與Mahout協同推薦法[4]互相比較


3801751

文獻探討:推薦系統[7]

  • 協同推薦(Collabrative Filtering)

    • 用戶為本(User-based)

    • 物品為本(Item-based)

    • 模型為本(Model-based)

  • 內容為本(Content-based)

  • 知識為本(Knowledge-based)


Amazon

文獻探討:AmaZOn購物網站

  • 採物品為本推薦,觀察購物車已有商品進行推薦

  • 推薦過程依賴事先建好的相似物品表

    • 相似物品表建立演算法如下[2]:

//計算型錄中每樣物品I1和其餘物品I2相似度

For each item I1 in product catalog

//分別統計所有物品和I1同時購買之次數

For each customer C who purchased I1

For each item I2 purchased by customer C

Record that a customer purchased I1 and I2

//利用和I1同時購買之次數高低計算所有物品和I1相似度

For each item I2

Compute the similarity between I1 and I2


3801751

文獻探討:圖書分類法

  • 杜威十進圖書分類法[14]

    • 美國國會圖書館圖書分類法[15]

      • 例如:「GV943.49 .B5 1998」

    • 中國圖書分類法[11]

      • 例如:「 857.7 /8326 」


Mahout

文獻探討:Mahout

  • Mahout [4]為一JAVA寫成具有運算可分散能力(scalable)的機器學習套件,能和Apache Hadoop 分散式架構相結合,有效使用分散式系統來實現高性能計算。

    • 提供協同推薦、分類和分群演算法

      • 協同推薦包含用戶為本、物品為本和斜率1推薦法


Mahout user based

文獻探討:Mahout用戶為本推薦法(User-based)

GenericUserBasedRecommender類別[4]

//計算用戶u尚未評價過的所有物品i之可能評價,回傳前面名次物品

for every item i that u has no preference for yet

//計算其餘用戶v對物品i之評價,依照v,u相似度s加權,結合到u對i之評價

for every other user v that has a preference for i

compute a similarity s between u and v

incorporate v’s preference for i, weighted by s, into

running average

return the top items, ranked by weighted average


Mahout item based

文獻探討:Mahout物品為本推薦法(Item-based)

GenericItemBasedRecommender類別[4]

//計算用戶u尚未評價過的所有物品i之可能評價,回傳前面名次物品

for every item i that u has no preference for yet

//計算用戶u對其餘物品j之評價,依照i,j相似度s加權,結合到u對i之評價for every item j that u has a preference for

compute a similarity s between i and j

add u’s preference for j, weighted by s, to running

average

return the top items, ranked by weighted average


Mahout 1 slope one

文獻探討: Mahout斜率1推薦法(Slope-one)

SlopeOneRecommender類別[4]

//計算用戶u尚未評價過的所有物品j之可能評價,回傳前面名次物品

for every item i the user u expresses no preference for

//計算用戶u對其餘物品j之評價,依照i,j平均喜好差d,結合到u對i之評價for every item j that user u expresses a preference for

find the average preference difference between j and i

add this diff to u’s preference value for j

add this to a running average

return the top items, ranked by these averages


3801751

研究方法:問題定義

  • 不可取得借閱者身份時

    • 給定書代碼bid,推薦書本個數n,輸出是一群和bid相關的書集合bid_set={bid1,bid2,...,bidn}。目標是找出一般使用者在借過bid之後將來最可能借的書集合

  • 可取得借閱者身份時

    • 給定用戶代碼uid,推薦書本個數n,輸出是一群和uid相關的書集合bid_set={bid1,bid2,...,bidn}。目標是找出該使用者將來最可能借的書集合


3801751

研究方法:兩層關聯式物推薦物方法

第一層是從給定的書bid,找到同樣有借過此書的使用者u,第二層是從使用者u找出過去所有借過的書b,最後將所有書集合做成聯集bid_mset,回傳重複次數最多的前n名集合bid_set,當作推薦

for every user u who has borrowed book bid

for every book b that user u has borrowed

add book b into multiset bid_mset

convert multiset bid_mset into set book_set

sort book_set by the occurrence count of each bid in decreasing order

bid_set = top n of sorted book_set

return bid_set


3801751

研究方法:結合分類號的兩層關聯式物推薦物方法

  • 當聯集後的書集合bid_mset發生有書出現次數相同情形時,會造成許多書排名相同無法區別的缺點

  • 引入分類號,計算兩書分類號的距離,讓比較靠近給定bid的圖書排名在前做仲裁

    • 所有書分類號依字典字串順序由小排到大,給予排序編號1到m,m為總書數

    • 任一本書bid的排序編號表示為rank(bid)

    • 定義x及y兩書的距離為dist(x,y)=|rank(x)-rank(y)|

    • 出現次數相同的兩本書bid1、bid2,將依據dist(bid1,bid)及dist(bid2,bid)兩距離做仲裁,距離短者排名在前


3801751

研究方法:人推薦物方法

當可以取得借閱者身分時,可以利用借閱者User過去借過的書籍bid?,再利用原來物推薦物方法,找出相關書籍集合bid?_bidset。最後將這些集合聯集起來,再依書籍出現次數多寡排序,若遇次數相同時再利用分類號方法做仲裁,產生最後推薦集合bidmset


3801751

實驗及評估:資料來源

  • 淡江大學圖書館101年度整年份(2011.8.1~2012.7.31)的920172筆流通紀錄

  • 每筆紀錄有如下欄位:

    • TRANSACTION_DATE(借閱日期)

    • PATRON_ID(借閱者ID)

    • BIB_ID(書籍ID)

    • CALL_NUMBER(分類號)

    • TXN_TYPE(借閱情況)

      • ckin(還入)、ckout(借出)、renewal(續借)

  • 本文只篩選留下373834筆借出記錄做為資料集

    • 借閱者18097人

    • 圖書(含CD)103306冊


3801751

實驗及評估:前處理

為方便測試,本文將所有借出紀錄依不同月份時間點做分界線,分界線之前當訓練集,之後當測試集,共切割出11組訓練和測試集


3801751

實驗及評估:實驗步驟

  • 假設可取得借閱者身份,故以人推薦物模式進行評估

  • 對Mahout本身已有三種人推薦物方法進行評估

  • 針對人推薦物模式評估不同內嵌物推薦物方法的好壞

    • m2btop(人推薦物入圍名次門檻)參數範圍介於1~10和10~100(間隔10)

    • b2btop(物推薦物入圍名次門檻)參數範圍介於1~10和10~100(間隔10)

  • 因為屬布林資料,故Mahout用戶為本和物品為本皆使用LogLikelihoodSimilarity相似度方法

  • 每組測試集計算平均精確率時皆以訓練測試集交集人數(介於1676~10424)當除數,再以平均精確率進行比較


Mahout 1

實驗及評估:Mahout斜率1方法

(SlopeOneRecommender)

對資料集(M1~M11)進行評估,結果分別是m2btop介於1~10和m2btop介於20~100間隔10。其精確率表現偏低,介於0.05%~0.06%

橫軸表

人推薦物入圍名次個數


Mahout1

實驗及評估:Mahout用戶為本方法

(GenericUserBasedRecommender+ LogLikelihoodSimilarity)

推薦結果,其精確率2%為三種Mahout方法中最好的。其中近鄰數量本文只固定取10來使用

橫軸表

人推薦物入圍名次個數


Mahout2

實驗及評估:Mahout物品為本方法

(GenericItemBasedRecommender+ LogLikelihoodSimilarity)

推薦結果,其精確率介於0.7%~1%,在斜率1和用戶為本之間

橫軸表

人推薦物入圍名次個數


Mahout3

實驗及評估:Mahout三種推薦方法精確率比較圖

橫軸表

人推薦物入圍名次個數

縱軸表

平均精確率


3801751

實驗及評估:兩層關聯式物推薦物方法未結合分類號

參數使用到m2btop(人推薦物入圍名次門檻)和b2btop(物推薦物入圍名次門檻),其精確率介於2.5%~7.9%之間

橫軸表

人推薦物入圍名次個數

縱軸表

物推薦物入圍名次個數


Mahout4

實驗及評估:Mahout物推薦物方法

把人推薦物中間部分改成Mahout物推薦物方法,發現其精確率介於2.1%~4.4%之間,不如內嵌兩層關聯式推薦法

橫軸表

人推薦物入圍名次個數

縱軸表

物推薦物入圍名次個數


3801751

實驗及評估:兩層關聯式物推薦物方法結合分類號進行推薦

計算分類號距離,找出最相近的來做推薦排名。其精確率結果介於2.6%~8.1%間,整體而言比未結合分類號稍佳

橫軸表

人推薦物入圍名次個數

縱軸表

物推薦物入圍名次個數


3801751

實驗及評估:使用不含本身兩層關聯式物推薦物結合分類號方法

兩層關聯式物推薦物方法會把給定物品本身也加入推薦,所以測試把本身排除的推薦結果,發現其精確率介於2.2%~6.9%之間,不如包含本身優秀,顯示圖書借閱行為中,重複借閱的可能性高,所以最好推薦包含本身

橫軸表

人推薦物入圍名次個數

縱軸表

物推薦物入圍名次個數


3801751

實驗及評估:本文幾種推薦方法精確率比較圖

橫軸表

人推薦物入圍名次個數

縱軸表

平均精確率


3801751

實驗及評估:七種推薦法精確率比較圖

橫軸表

人推薦物入圍名次個數

縱軸表

平均精確率


3801751

結論和未來目標

  • 為了增加借閱者找書效率,本文提出兩層關聯式物推薦物方法,適用於借閱者身份開放與否之場合

  • 兩層關聯式物推薦物方法優於Mahout三種方法,高出5%以上

  • 兩層關聯式物推薦物方法在結合分類號時效果更好,可提升3%

  • 利用兩層關聯式物推薦物方法推薦時宜包含給定物品本身,否則表現下降達14%

  • 未來本推薦系統將做成網站服務(web service),內嵌在圖書查詢系統網頁上


3801751

END

謝謝大家


  • Login