楊志明
摘要:個性化推薦算法中,傳統(tǒng)的協(xié)同過濾算法通常存在數(shù)據(jù)稀疏和計算復(fù)雜的問題,造成實(shí)際推薦效果不夠理想。據(jù)此,針對圖書館圖書推薦問題,提出了基于詞向量的圖書推薦算法,實(shí)驗(yàn)中通過和傳統(tǒng)的協(xié)同過濾算法對比,基于詞向量的方法不管是在計算圖書相似性還是實(shí)際推薦效果均顯著提升。
關(guān)鍵詞:圖書館;推薦系統(tǒng);詞向量;word2vec;協(xié)同過濾
中圖分類號:TB文獻(xiàn)標(biāo)識碼:Adoi:10.19311/j.cnki.16723198.2019.04.093
1引言
個性化推薦中,基于內(nèi)容的推薦算法、基于協(xié)同過濾的推薦算法和混合推薦算法方法最為常用。而在數(shù)字圖書館圖書推薦中,基于協(xié)同過濾和關(guān)聯(lián)規(guī)則的推薦算法是最為常用推薦算法。但是由于大多數(shù)高校圖書館沒有讀者對圖書的評分信息,導(dǎo)致傳統(tǒng)的協(xié)同過濾算法面對數(shù)據(jù)稀疏和計算復(fù)雜的問題。而基于關(guān)聯(lián)規(guī)則的推薦算法則存在關(guān)聯(lián)規(guī)則不容易發(fā)現(xiàn)的問題,最終導(dǎo)致兩種算法在實(shí)際的推薦中效果均不理想。因此本文提出基于詞向量的方法計算學(xué)生與圖書的相似度從而幫助優(yōu)化推薦系統(tǒng)的推薦結(jié)果。
2傳統(tǒng)協(xié)同過濾算法
傳統(tǒng)的協(xié)同過濾算法通過對學(xué)生借閱記錄的挖掘發(fā)現(xiàn)學(xué)生借書的偏好,基于不同的偏好按照相似性對學(xué)生或者圖書進(jìn)行劃分從而推薦相似的圖書。協(xié)同過濾算法又可分為基于鄰居的協(xié)同過濾算法和基于模型的協(xié)同過濾算法,基于鄰居的協(xié)同過濾又分為兩類,分別是基于用戶的協(xié)同過濾算法,和基于物品的協(xié)同過濾算法。
基于用戶的協(xié)同過濾,通過挖掘?qū)W生借閱記錄,來度量學(xué)生之間的相似性,找到“鄰居”,基于學(xué)生之間的相似性做出推薦圖書?;谖锲返膮f(xié)同過濾的原理和基于用戶的協(xié)同過濾類似,只是在計算鄰居時采用物品本身,不是從用戶的角度,即根據(jù)借閱記錄找到相似的圖書,然后根據(jù)學(xué)生的歷史偏好,給該學(xué)生推薦相似的圖書。在數(shù)字圖書館圖書推薦中,由于用戶特征數(shù)據(jù)、行為數(shù)據(jù)的缺失,導(dǎo)致傳統(tǒng)的協(xié)同過濾算法面臨數(shù)據(jù)稀疏等問題,最終導(dǎo)致推薦效果不理想。本文提出基于word2vec的方法計算學(xué)生與圖書特的相似度從而幫助優(yōu)化推薦系統(tǒng)的推薦結(jié)果的方法。
3詞向量和Skip-gram模型
word2vec是 Google 的Mikolov 等人提出的一種分布式詞向量模型,包括 Skip-gram 和 CBOW,模型結(jié)構(gòu)如圖1所示。
4.2實(shí)驗(yàn)設(shè)計和結(jié)果分析
4.2.1實(shí)驗(yàn)過程
傳統(tǒng)的協(xié)同過濾算法依賴的讀者圖書評分?jǐn)?shù)據(jù),高校圖書館后臺管理系統(tǒng)中并不存儲產(chǎn)生讀者對圖書的評分?jǐn)?shù)據(jù),而生成讀者圖書評分?jǐn)?shù)據(jù)可根據(jù)本文所采用的數(shù)據(jù)集中讀者借閱信息表來生成,采用目標(biāo)讀者對目標(biāo)圖書的總借閱天數(shù)來代表讀者對該圖書的評分,其中0在矩陣中表示讀者未借閱過該圖書,并且對評分進(jìn)行歸一化處理。
為了評估詞向量方法在計算圖書相似性的有效性,本章采取計算目標(biāo)圖書A與其緊鄰的K本圖書在圖書類別上的一致性的方法來評估,其中每本圖書的類別按照《中圖法》的標(biāo)準(zhǔn)確定。如O212.6/23的分類為O21,通過word2vec方法計算的該書最相近的4本圖書為O211.64/15,O212.4,O212.1/94,O241.6/48-1,幾本書的分類分別為O21,O21,O21,O24,采取投票法確定這幾本書的最終分類為O21,和目標(biāo)圖書的分類一致。實(shí)驗(yàn)中我們采取word2vec以及基于SVD的協(xié)同過濾兩種方法計算相近圖書,在不同近鄰數(shù)k(k=6,8,10,12)下對不同數(shù)目的圖書進(jìn)行實(shí)驗(yàn)。
本文基于詞向量的協(xié)同過濾方法主要思路把圖書名稱看作單詞,以學(xué)生借閱的圖書看作句子,利用 word2vec 模型構(gòu)建圖書的向量空間。具體地,把學(xué)生的記錄按照7:3的比例隨機(jī)的分訓(xùn)練集和測試集兩部分,分別構(gòu)建基于word2vec的物品協(xié)同過濾模型(w2v-ItemCF)、基于SVD的協(xié)同過濾模型(SVD),在測試集上根據(jù)學(xué)生的歷史借閱圖書推薦相似的圖書從不同方面評估推薦效果。
評估推薦算法推薦效果的方法有很多,主要分為離線實(shí)驗(yàn)、線上測試對比、用戶調(diào)查等幾種方式。線上測試通常是采取線上A/B測試的方式對效果進(jìn)行評估,而用戶調(diào)查則是通過科學(xué)的調(diào)查方法,比如問卷、訪談等形式去估計評估效果,本文采用離線測試的方法對推薦效果進(jìn)行對比。具體地,如文獻(xiàn)[1],評估推薦效果的常用指標(biāo)有用戶滿意度、預(yù)測準(zhǔn)確度、覆蓋率、多樣性、新穎度、驚奇度、信任度、健壯性等。本文由于是采取離線實(shí)驗(yàn)的方式,主要從評分預(yù)測RMSE來評估推薦系統(tǒng)。
4.2.2實(shí)驗(yàn)結(jié)果
表2是在近鄰數(shù)為10下分別利用word2vec以及SVD計算目標(biāo)圖書和近鄰圖書類別一致性的對比結(jié)果,結(jié)果顯示基于word2vec的方法在不同數(shù)量圖書下計算的準(zhǔn)確度均比SVD的方法高。 表3是兩種方法在訓(xùn)練集上的誤差情況,可以看出基于word2vec的方法在預(yù)測誤差也明顯小于SVD的方法。
5結(jié)論
本文針對數(shù)字圖書館圖書推薦問題,針對只有借閱記錄的數(shù)字圖書館,傳統(tǒng)的協(xié)同過濾算法存在數(shù)據(jù)稀疏問題,針對此問題提出了基于詞向量的物品推薦算法。經(jīng)過實(shí)驗(yàn)對比顯示基于詞向量的方法在圖書相似性計算以及實(shí)際推薦的效果均好于傳統(tǒng)的SVD方法。
參考文獻(xiàn)
[1]項(xiàng)亮.推薦系統(tǒng)實(shí)踐[M].北京:人民郵電出版社,2012.
[2]王飛,楊國林.高校圖書館個性化推薦服務(wù)算法研究[J].內(nèi)蒙古師大學(xué)報(自然漢文版),2015,44(6):802807.
[3]宋楚平.一種改進(jìn)的協(xié)同過濾方法在高校圖書館圖書推薦中的應(yīng)用[J].圖書情報工作,2016,60(24):8691.
[4]Mikolov T,Chen K,Corrado G,et al.Efficient Estimation of Word Representations in Vector Space[J].Computer Science,2013.
[5]Ozsoy M G.From Word Embeddings to Item Recommendation[Z].2016.