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