陳澤波
(廣州工程技術(shù)職業(yè)學(xué)院信息工程系,廣東 廣州 510075)
協(xié)同過濾推薦系統(tǒng)是電子商務(wù)網(wǎng)站普遍運(yùn)用的技術(shù),主要目的是為了吸引顧客增加銷售額。將協(xié)同過濾應(yīng)用于圖書館日常管理工作中,目的是希望通過推薦系統(tǒng)推薦給讀者其感興趣的圖書和文獻(xiàn),幫助讀者更好地使用圖書館資源,同時(shí)也能提高圖書館館藏資源的利用率。在原有研究的基礎(chǔ)上提出一種改進(jìn)的推薦算法——基于分類的協(xié)同過濾算法,解決了新讀者的初始評(píng)分問題,根據(jù)讀者的借閱歷史對(duì)讀者進(jìn)行分類,結(jié)合相關(guān)影響因子的分析,改進(jìn)讀者相似度的計(jì)算公式,可以有效解決協(xié)同過濾推薦系統(tǒng)存在的冷啟動(dòng)及系統(tǒng)擴(kuò)展性問題。
協(xié)同過濾系統(tǒng)(Collaborative Filtering)也有學(xué)者稱為“協(xié)同推薦系統(tǒng)(Collaborative Recommendation)”。系統(tǒng)假設(shè)具有相似興趣特征的用戶將會(huì)采用相似的行為。系統(tǒng)的原理是通過用戶的注冊(cè)信息、歷史記錄來提取用戶的行為特征,接著根據(jù)這些特征在用戶群中尋找相似鄰居,最后依據(jù)相似鄰居的借閱行為向該用戶進(jìn)行推薦。協(xié)同過濾系統(tǒng)是最早,也是目前得到最廣泛應(yīng)用的推薦系統(tǒng)。
圖1 協(xié)同推薦原理示意圖
在協(xié)同過濾推薦系統(tǒng)中,用戶對(duì)產(chǎn)品的評(píng)分通過計(jì)算近鄰用戶對(duì)其評(píng)分而得到。對(duì)于近鄰用戶的計(jì)算,協(xié)同過濾推薦系統(tǒng)采用了很多方法來計(jì)算。這些算法中,大都基于用戶對(duì)共同喜愛產(chǎn)品的評(píng)價(jià)。其中,最常用的方法是夾角余弦方法和Person相關(guān)性。根據(jù)算法是否需要學(xué)習(xí)已有數(shù)據(jù),可以分為基于近鄰和基于模型兩類算法。
基于近鄰的算法利用用戶之前的評(píng)分?jǐn)?shù)據(jù),對(duì)用戶未評(píng)價(jià)的對(duì)象給出一個(gè)平均評(píng)分?;谀P偷乃惴ɡ檬占脩舻拇蚍?jǐn)?shù)據(jù)進(jìn)行學(xué)習(xí)并構(gòu)建用戶行為模型,然后對(duì)某個(gè)產(chǎn)品進(jìn)行預(yù)測(cè)打分。
協(xié)同過濾推薦系統(tǒng)的優(yōu)點(diǎn)是不依賴于推薦對(duì)象本身的內(nèi)容,能夠推薦多種介質(zhì),甚至包括虛擬對(duì)象。同時(shí),協(xié)同過濾推薦的個(gè)性符合度較高,而且還可以幫助用戶發(fā)現(xiàn)新的興趣。缺點(diǎn)是冷啟動(dòng)問題,即對(duì)于新產(chǎn)品、新用戶,系統(tǒng)得不到產(chǎn)品所獲得的評(píng)價(jià),也得不到新用戶的興趣愛好、行為記錄,因此新產(chǎn)品得不到推薦,新用戶無法獲得滿意的推薦產(chǎn)品。同時(shí),隨著用戶數(shù)量的增加、產(chǎn)品的增加導(dǎo)致計(jì)算量過大,信息過濾的效率不高。因此,協(xié)同過濾推薦系統(tǒng)適用于用戶規(guī)模相對(duì)穩(wěn)定、產(chǎn)品數(shù)量相對(duì)固定的系統(tǒng)。
圖書館的建設(shè)不應(yīng)該僅考慮不斷地?cái)U(kuò)充圖書文獻(xiàn)資源,被動(dòng)地等待讀者自己進(jìn)行選擇,而應(yīng)該以讀者為中心,整合各種信息資源和手段,主動(dòng)為讀者提供信息服務(wù),這樣既有利于幫助讀者找到感興趣的圖書文獻(xiàn),又能大大提升圖書館各類資源的利用率。因此,構(gòu)建協(xié)同過濾圖書推薦系統(tǒng)是十分必要的。
讀者由于專業(yè)的限制、興趣的導(dǎo)向,往往更多地關(guān)注于某一個(gè)或幾個(gè)領(lǐng)域,對(duì)該領(lǐng)域內(nèi)的圖書加以評(píng)論,而對(duì)其它領(lǐng)域內(nèi)的圖書很少問津。據(jù)此行為特征,將圖書分成若干個(gè)不同類型,只對(duì)讀者感興趣的一個(gè)或幾個(gè)類別的圖書由讀者進(jìn)行比較過濾推薦。這樣,可以大大減少參與推薦的圖書數(shù)目和讀者數(shù)目,從而可以有效地克服數(shù)據(jù)稀疏性和系統(tǒng)可擴(kuò)展性的問題。
由于圖書文獻(xiàn)數(shù)量巨大,不是每本圖書都有機(jī)會(huì)得到讀者的評(píng)分。同時(shí),每天都有新書經(jīng)加工后進(jìn)入數(shù)據(jù)庫,這些新書無法獲得讀者的評(píng)價(jià),導(dǎo)致數(shù)據(jù)稀疏性問題。這里采取圖書的初始評(píng)分法來解決這一問題。即在新書進(jìn)行編目和分類加工時(shí),給新書一個(gè)初始評(píng)分,以解決數(shù)據(jù)稀疏性問題。
而對(duì)于系統(tǒng)已保存的大量未獲評(píng)價(jià)的圖書,在推薦系統(tǒng)實(shí)施之前,可以由系統(tǒng)主動(dòng)賦予分值。根據(jù)圖書的流通次數(shù)、流通頻率、借閱時(shí)長,系統(tǒng)計(jì)算出一個(gè)推薦分值。如公式1所示:
其中,v0表示評(píng)分的基數(shù),可以設(shè)定為-0.5;n表示近兩年的流通次數(shù),當(dāng)n>10時(shí),n/10取值1;t表示平均借閱時(shí)長,單位為天,當(dāng)t>20時(shí),t/20取值1。
通過以上兩步舉措,可以保證在推薦系統(tǒng)實(shí)施之前,所有推薦對(duì)象圖書都可以獲得一個(gè)初始評(píng)分。
利用《中圖法》,對(duì)待推薦的圖書進(jìn)行分類。這里的圖書分類不同于著錄工作中的分類,無需進(jìn)行細(xì)致的類目分析,只須根據(jù)圖書的分類號(hào)將其納入相應(yīng)的二級(jí)類目中即可。一本圖書在分類時(shí)可能不僅僅歸屬于某一類目,有時(shí)會(huì)同屬于某兩類或多個(gè)類目。
根據(jù)讀者評(píng)價(jià)過的圖書,判斷這些圖書的類別,可以進(jìn)一步把讀者劃分在某一類或某幾類中。表1列出了已經(jīng)分類的讀者列表,從表中可以判斷讀者所屬類別。
表1 讀者分類表
表2是從借閱數(shù)據(jù)中抽取的部分信息,根據(jù)讀者評(píng)價(jià)過的圖書、喜愛的圖書,來判斷讀者的分類。
表2 讀者評(píng)價(jià)圖書分類表
在現(xiàn)實(shí)情況下,讀者的身份、職稱、年齡等不一而同;有的讀者評(píng)分時(shí)偏向于積極評(píng)價(jià),因此分值偏高,有的讀者評(píng)分時(shí)偏向于審慎評(píng)價(jià),因此分值偏低;一些讀者給出的評(píng)價(jià)比較公正客觀,而一些讀者給出的評(píng)價(jià)隨意性較大。不同讀者給出的評(píng)分值對(duì)其他讀者的影響度是不同的,比如研究生導(dǎo)師評(píng)價(jià)較高的圖書顯然會(huì)對(duì)其研究生有重要推薦價(jià)值。可見,讀者的推薦能力是不同的。
有鑒于此,對(duì)讀者的推薦能力進(jìn)行加權(quán)處理,以便正確反映讀者的推薦能力,提高推薦的精確度。
(1)讀者身份
按照常理,本科生、研究生、講師、副教授、教授對(duì)某專業(yè)圖書的推薦能力是逐漸提高的。因?yàn)樗麄儗?duì)某專業(yè)的研究時(shí)間、科研水平也是逐漸提高的。所以,讀者相似度的第一個(gè)影響因子w1用讀者的身份來表示。
表3 讀者身份的加權(quán)系數(shù)
w1表示讀者身份的加權(quán)系數(shù),k1,k2,k3,k4逐漸提高,教授的加權(quán)系數(shù)為1,表示教授的影響力最大,推薦能力最強(qiáng)。
(2)評(píng)價(jià)過的圖書數(shù)量
當(dāng)讀者對(duì)某一領(lǐng)域內(nèi)的圖書大量閱讀并給出評(píng)價(jià),說明該讀者在此領(lǐng)域的研究時(shí)間增加、知識(shí)掌握全面、經(jīng)驗(yàn)值提高,給出的評(píng)價(jià)也更具有影響力。因此,用讀者評(píng)價(jià)過的圖書數(shù)量作為讀者相似度的第二個(gè)影響因子w2。
(3)評(píng)價(jià)的準(zhǔn)確度
當(dāng)一本圖書被較多的讀者借閱后,得到較多評(píng)價(jià)時(shí),它會(huì)有一個(gè)平均評(píng)分值。而這個(gè)平均評(píng)分值也是最接近該圖書的真實(shí)評(píng)分。這樣,當(dāng)一位讀者對(duì)圖書的評(píng)分越接近平均評(píng)分值,說明該讀者對(duì)圖書評(píng)價(jià)的準(zhǔn)確度越高,其推薦力也越強(qiáng)。因此,評(píng)價(jià)的準(zhǔn)確度可以作為讀者相似度的第三個(gè)影響因子w3。
其中,i表示讀者評(píng)價(jià)過的某本圖書,B表示讀者評(píng)價(jià)過的圖書的集合,vi表示讀者對(duì)圖書i的評(píng)分值,-vi表示i獲得的平均評(píng)分值,Max和Min分別表示i所獲得的最大評(píng)分值和最小評(píng)分值,n表示讀者評(píng)價(jià)過的圖書數(shù)量。
綜上所述,影響讀者相似度的因子可以用如下公式表示:
(1)圖書和讀者的分類
按照《中圖法》的分類方法,以二級(jí)類目為不同的類別種類,將圖書分別劃分到所屬類別。對(duì)于屬于交叉學(xué)科的圖書,將其分別歸類于同屬的類別。
對(duì)于讀者的分類,可以依據(jù)讀者的評(píng)分來進(jìn)行劃分。讀者評(píng)分值高、評(píng)價(jià)數(shù)多的幾種圖書類別通常代表了讀者的興趣愛好,可將讀者歸入相應(yīng)的類別。而讀者評(píng)分值低、評(píng)價(jià)數(shù)少的類別基本不在讀者的興趣范圍,讀者不屬于這些類別,對(duì)于這些類別的圖書不予推薦。讀者由于專業(yè)、興趣和時(shí)間的限制,往往固定于某幾個(gè)知識(shí)領(lǐng)域的圖書,因此同一讀者的分類以2-3種為好。過多的分類會(huì)造成運(yùn)算量大,推薦精確度低等問題。
確定了目標(biāo)讀者a的所屬類別后,對(duì)該類別的讀者進(jìn)行分析,對(duì)于讀者評(píng)分?jǐn)?shù)小于閾值的讀者予以屏蔽,留下有效讀者。
(2)相似度的計(jì)算
在基于分類的協(xié)同過濾算法中,某一類別中的圖書之間相關(guān)性很強(qiáng),讀者對(duì)某類圖書的評(píng)價(jià)等價(jià)于讀者對(duì)該類圖書的評(píng)價(jià)總和,即
其中,va,k表示讀者a對(duì)某一類別ck的評(píng)價(jià),j表示類別ck中的某一種圖書,va,j表示讀者a對(duì)圖書j的評(píng)價(jià)。
如果某本圖書同時(shí)屬于多個(gè)類別,那么對(duì)該類別的評(píng)價(jià)則應(yīng)進(jìn)行加權(quán)計(jì)算,如公式6所示:
其中,pj,k表示圖書j屬于圖書分類ck的概率,其滿足即圖書j分屬各個(gè)類別的概率之和應(yīng)為1。
讀者之間的相似度計(jì)算采用皮爾遜相關(guān)系數(shù)算法計(jì)算。計(jì)算讀者a、b的相似度如下:
其中,M表示讀者a,b共同評(píng)價(jià)過的圖書類,-va,-vb分別代表a,b所評(píng)價(jià)過的圖書類的平均評(píng)分值。根據(jù)相似度的大小,確定讀者a的最近鄰居集U。
(3)生成推薦結(jié)果
在讀者a的最近鄰居集所屬的圖書類別中,預(yù)測(cè)這些圖書類對(duì)讀者a的可能評(píng)分值。根據(jù)修正的余弦相似性(Adjusted Cosine)算法,考慮讀者相似度的影響因子,對(duì)預(yù)測(cè)評(píng)分值提出如下公式:
其中,pa,k表示讀者a對(duì)圖書類k的預(yù)測(cè)評(píng)分值,-va,-vb表示a,b對(duì)圖書類的平均評(píng)分值,U表示a的最近鄰居集,w'a,b表示讀者a、b相似度的修正值,w''a,b表示a、b相似度的影響因子。
進(jìn)一步的,得到a對(duì)圖書類k的預(yù)測(cè)評(píng)分值pa,k之后,讀者a對(duì)圖書j的預(yù)測(cè)評(píng)分值可以通過公式9得到:
其中,wk表示圖書j屬于類k的概率,R表示j所屬類的集合。通過計(jì)算得出讀者a的預(yù)測(cè)評(píng)分值最大的前幾項(xiàng)推薦圖書,推薦給讀者。
伴隨著互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,現(xiàn)代圖書館正向數(shù)字型圖書館方向發(fā)展,加上原始的館藏資源不斷增加。面對(duì)如此巨大的信息資源,讀者需要某種手段來幫助他們找尋對(duì)自己有用的信息。文章提出的基于分類的圖書推薦系統(tǒng),就是在這方面做努力,希望能幫助讀者找出符合需求的館藏,得到個(gè)性化的推薦服務(wù)。
[1]謝琳惠.推薦系統(tǒng)在高校數(shù)字圖書館的應(yīng)用[J].現(xiàn)代情報(bào),2006,(11):72-74.
[2]Resnick P,Iakovou N,Sushak M,et al.GroupLens:An open architecture for collaborative filtering of netnews.Proc 1994 Computer Supported Cooperative Work Conf[J].North Carolina:Chapel Hill,1994:175-186.
[3]劉建國,周濤,汪秉宏.個(gè)性化推薦系統(tǒng)的研究進(jìn)展[J].自然科學(xué)研究進(jìn)展,2009,19(1):1-15.
[4]曾慶輝,邱玉輝.一種基于協(xié)作過濾的電子圖書推薦系統(tǒng)[J].計(jì)算機(jī)科學(xué),2005,32(6):147-150.
[5]孫守義,王蔚.一種基于用戶聚類的協(xié)同過濾個(gè)性化圖書推薦系統(tǒng)[J].現(xiàn)代情報(bào),2007,(11):139-142.
[6]Sarwar B,Karypis G,Konstan J,et al.Item-based collaborative filtering recommendation algorithms[C].Proc 10th International WWW Conf.New York:ACM Press,2001:285-295.
[7]Lee TQ,Park Y,Park YT.A time-based approach to effective recommender systems using implicit feedback[J].Expert Systems with Applications,2008,34(4):3055-3062.
[8]Chen YL,Cheng LC.A novel collaborative filtering approach for recommending ranked items[J].Expert Systems with Applications,2008,34(4):2396-2405.
[9]Yang MH,Gu ZM.Personalized recommendation based on partial similarity of interests[M].Advanced Data Mining and Applications Proceedings,2006,4093:509-516.