丁嵐
摘要:圖書館數(shù)字化研究對(duì)于提高圖書館的服務(wù)質(zhì)量有著非常重要的意義。本文從圖書推薦入手,介紹了協(xié)同過濾算法可以分為基于模型的協(xié)同過濾算法和基于記憶的協(xié)同過濾算法,著重介紹了基于記憶的協(xié)同過濾算法中的基于項(xiàng)目的協(xié)同過濾算法,闡述了算法的原理和基本步驟,為下一步的應(yīng)用奠定了基礎(chǔ)。
關(guān)鍵詞:圖書推薦 協(xié)同過濾 相似度
中圖分類號(hào): TP391.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)05-0000-00
1 引言
數(shù)字圖書館逐漸向自動(dòng)化、智能化、個(gè)性化發(fā)展。數(shù)據(jù)資源豐富,屬性眾多,信息冗雜,但是有效利用率并不高,而且讀者接受的服務(wù)并不具有針對(duì)性。個(gè)性化圖書推薦可以根據(jù)個(gè)人圖書借閱歷史、用戶的瀏覽痕跡和用戶的資料,找出學(xué)生或者老師可能感興趣的圖書,由此向?qū)W生或者老師推薦相關(guān)的圖書,圖書推薦的方式有很多方法,例如基于內(nèi)容的推薦、基于關(guān)聯(lián)規(guī)則的推薦和基于協(xié)同過濾的推薦等。
協(xié)同過濾是分析用戶興趣,并找出與當(dāng)前用戶有共同喜好的用戶,然后根據(jù)相似用戶對(duì)某一項(xiàng)目的喜好度,預(yù)測(cè)當(dāng)前用戶是否喜歡此項(xiàng)目,由此作出推薦。算法的推薦原理非常的簡(jiǎn)單。用戶的信息與項(xiàng)目在預(yù)測(cè)部分要事先預(yù)處理下,然后輸出推薦的結(jié)果。
2 協(xié)同過濾算法的分類
根據(jù)Breese等學(xué)者的研究,可將協(xié)同過濾算法分為兩大類:基于模型的協(xié)同過濾算法(Model.Based Collaborative Filtering)和基于記憶的協(xié)同過濾算法(Memory—Based Collaborative Filtering)。
基于模型算法的主要思想是根據(jù)機(jī)器學(xué)習(xí)或者統(tǒng)計(jì)方法對(duì)用戶的評(píng)分信息進(jìn)行建模,通過建好的模型來預(yù)測(cè)用戶的喜好度,以此來作出推薦。常用的建模算法有潛在語義技術(shù)、聚類技術(shù)、Bayes算法以及支持向量機(jī)等算法。支持向量機(jī)算法具有實(shí)時(shí)性較好,穩(wěn)定性較高,但是需要建立大量的模型,并且費(fèi)用較高。
基于記憶的協(xié)同過濾算法主要分為基于用戶的協(xié)同過濾算法(User-based Collaborative Filtering,UBCF)和基于項(xiàng)目的協(xié)同過濾算法 (Item-based Collaborative Filtering,IBCF)兩類。在本文中,將詳細(xì)介紹基于項(xiàng)目的協(xié)同過濾算法。
3 基于項(xiàng)目的協(xié)同過濾算法
基于用戶的協(xié)同過濾推薦算法㈣有擴(kuò)展性和稀疏性問題,在2001年,Sarwar等人提出了基于項(xiàng)目的協(xié)同過濾算法[351。其基本原理用戶對(duì)項(xiàng)目進(jìn)行喜好評(píng)分,根據(jù)這些評(píng)分計(jì)算項(xiàng)目之間的相似度,把相似的項(xiàng)目推薦給用戶。原理如圖1所示。
從圖1中可以看出學(xué)生A對(duì)圖書1和圖書,3感興趣,學(xué)生B對(duì)圖書1、圖書2和圖書3感興趣,學(xué)生C對(duì)圖書1感興趣,可以推出,圖書1和圖書3是比較相似的,對(duì)圖書1感興趣的學(xué)生可能也對(duì)圖書3感興趣。由此也可以推出學(xué)生C對(duì)圖書3也比較感興趣,可以考慮將圖書3推薦給學(xué)生C。
基于項(xiàng)目的協(xié)同過濾算法主要有三個(gè)步驟,先計(jì)算項(xiàng)目之間的相似度,然后選擇近鄰,最后作出推薦。
(1)項(xiàng)目之間相似度的計(jì)算。常見的計(jì)算相似度的算法有Pearson相關(guān)系數(shù)法 (Pearson Correlation Coefficient)、余弦相似度法 (Cosine Similarity)和調(diào)整余弦相似度法(Adjustment Cosine Similarity)。例如:Pearson相關(guān)系數(shù):計(jì)算兩個(gè)項(xiàng)目之間的線性關(guān)系,如式(1)所示
在上式中,表示項(xiàng)目u和v之間的相似度,是用戶u對(duì)項(xiàng)目i的評(píng)分,是用戶v對(duì)項(xiàng)目i的評(píng)分,是用戶u在已經(jīng)評(píng)價(jià)過的項(xiàng)目上的平均分,是用戶v在已經(jīng)評(píng)價(jià)過的項(xiàng)目上的平均分。
(2) 尋找相似鄰。計(jì)算了項(xiàng)目之間的相似度后,尋找相似近鄰。最常用的尋找相似近鄰有K均值方法和設(shè)閾值法。
(3)產(chǎn)生推薦。主要有兩種方法:Top-N推薦列表和預(yù)測(cè)當(dāng)前用戶對(duì)項(xiàng)目的評(píng)分??紤]到求平均值是不太理想的,有人提出了使用加權(quán)平均值方法。主要兩種方法,具體如式(2.10)與式(2.11)所示。
其中,為項(xiàng)目間的相似度,項(xiàng)目間的相似度越大,則預(yù)測(cè)評(píng)分的影響就也越大。
4 算法實(shí)驗(yàn)驗(yàn)證
本文實(shí)驗(yàn)評(píng)估仍然基于Book.Crossing數(shù)據(jù)集,學(xué)校圖書館中用戶對(duì)圖書的評(píng)分從2003年到2015年的評(píng)分有1e10條記錄,是由1e6個(gè)用戶對(duì)5e5的評(píng)分,這些評(píng)分是O~5,0表示用戶不喜歡,5表示用戶非常的喜歡該本圖書。對(duì)算法進(jìn)行測(cè)試,測(cè)量真實(shí)評(píng)分與預(yù)測(cè)評(píng)分之間的平均絕對(duì)誤。算法運(yùn)行5次,平均誤差小于0.5%,因此,說明算法具有很好的推薦效果。
5 結(jié)語
闡述了協(xié)同過濾推薦算法的相關(guān)理論,重點(diǎn)介紹基于項(xiàng)目的協(xié)同過濾算法,算法的步驟可以分為項(xiàng)目之間相似度的計(jì)算、尋找相似鄰和產(chǎn)生推薦三個(gè)方面。實(shí)驗(yàn)結(jié)果表明,該算法具有一定的推薦效果。
參考文獻(xiàn)
[1]聶飛霞.高校圖書館個(gè)性化圖書推薦系統(tǒng)設(shè)計(jì)[J].情報(bào)探索,2014,1(195):115-118.