徐文青 雙林平
(浙江工業(yè)職業(yè)技術(shù)學(xué)院圖書館 紹興 312000)
融合熱門度因子基于標(biāo)簽的個性化圖書推薦算法*
徐文青 雙林平
(浙江工業(yè)職業(yè)技術(shù)學(xué)院圖書館 紹興 312000)
依照Web2.0的“社會化標(biāo)注”思想,針對基于內(nèi)容的推薦算法(CBR)和協(xié)同過濾推薦算法(CF)存在的不足,提出了基于讀者標(biāo)簽(Tags)的、融合圖書“熱門度”因子的個性化圖書推薦的兩個改進(jìn)算法。利用統(tǒng)計分析軟件R,重點對改進(jìn)后的CBR算法進(jìn)行實驗分析和驗證,結(jié)果表明,改進(jìn)算法的圖書個性化推薦效果有明顯改善。
圖書個性化服務(wù) 推薦算法 標(biāo)簽 熱門度
圖書館作為學(xué)習(xí)者和研究者獲取知識的重要場所,長期以來扮演著“被動”服務(wù)提供者的角色。通常圖書館信息服務(wù)系統(tǒng)所提供的查詢和搜索功能主要取決于讀者自己的主動操作,系統(tǒng)無法主動有效地針對某一讀者的歷史研究領(lǐng)域、借閱行為、興趣偏好等提供個性化服務(wù)。隨著現(xiàn)代信息技術(shù)的發(fā)展,“個性化”、“主動式”的圖書推薦服務(wù)越來越受到重視。圖書個性化推薦服務(wù)是根據(jù)不同讀者的興趣特征和歷史借閱記錄等信息,主動幫助讀者從浩瀚的館藏中發(fā)現(xiàn)其可能感興趣的圖書資源,并及時向讀者推薦。除圖書館以外,目前個性化推薦服務(wù)還被應(yīng)用在諸多其它領(lǐng)域,如:電子商務(wù)、Web信息檢索等[1]。
早期的圖書個性化推薦算法,主要利用讀者的歷史借閱記錄進(jìn)行“興趣建?!盵2],并在此基礎(chǔ)上選擇不同的推薦算法,以達(dá)到個性化服務(wù)的目標(biāo)。隨著信息技術(shù)的發(fā)展,特別是Web2.0的“社會化標(biāo)注”思想[3-4]的出現(xiàn),為圖書館個性化服務(wù)提供了一種新的途徑?;ヂ?lián)網(wǎng)上的社會化標(biāo)注是指用戶可以自由、自主地對網(wǎng)絡(luò)資源打上特定的“標(biāo)簽(Tags)”。標(biāo)簽是用戶根據(jù)各自認(rèn)知、需求、偏好對感興趣資源的一種個性化注釋,是用戶為資源添加的自定義關(guān)鍵詞。在眾多用戶的分布式協(xié)同下,信息資源將被自組織和自分類,從而為用戶對資源的瀏覽、回顧、組織、管理、檢索及共享提供了可能,更重要的是在此基礎(chǔ)上出現(xiàn)了個性化信息資源推薦機(jī)制。
參照“社會化標(biāo)注”思想,若在圖書館藏信息管理系統(tǒng)的查詢、檢索和流通功能中,通過建立一種輔助機(jī)制,使讀者可以對館藏資源依據(jù)其個人的學(xué)術(shù)喜好、研究興趣和主觀分類加入特定的“標(biāo)簽”,留下其特有的個性化標(biāo)注信息,在此基礎(chǔ)上,便能實現(xiàn)本文所述的基于標(biāo)簽的圖書個性化推薦服務(wù)。具體實現(xiàn)中,由于標(biāo)簽的數(shù)量和圖書館館藏量通常相差好幾個數(shù)量級,因而基于標(biāo)簽的分類推薦算法所需要處理的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)小于館藏索引信息的數(shù)據(jù)總量,從而使得基于標(biāo)簽的圖書推薦系統(tǒng)擁有比較高的運行效率。
現(xiàn)有的一些基于標(biāo)簽的網(wǎng)絡(luò)資源推薦算法,其主要思路是計算用戶與資源的“匹配度”。匹配度較高的一些資源被視為候選推薦對象。分析發(fā)現(xiàn),這些相似算法在“匹配度”的計算過程中,大多忽略了資源“熱門度”這一重要的因子[3,5-6]。而從圖書館個性化服務(wù)的特性看,“熱門度”無疑應(yīng)在圖書資源的推薦中起到重要的作用,成為個性化推薦算法的關(guān)鍵因子?;谝陨戏治?,本文的主要工作是研究基于用戶標(biāo)簽的圖書資源個性化推薦算法,重點考慮結(jié)合“熱門度”因子對已有算法加以改進(jìn),以期獲得更好的推薦效果。
基于標(biāo)簽的個性化推薦算法的數(shù)據(jù)結(jié)構(gòu)主要涉及:用戶、標(biāo)簽、書籍及它們的三元關(guān)系(某讀者給某本書打上某個標(biāo)簽)。我們用一個四元組D=加以表示。
其中:U表示讀者集合,集合內(nèi)元素記為:u1,u2,……,un∈U;T表示標(biāo)簽集合,集合內(nèi)元素記為:t1,t2,……,tm∈T;B表示書籍集合,集合內(nèi)元素記為b1,b2,……,bl∈B;A表示讀者對書籍添加標(biāo)簽的三元關(guān)系集,即:A?{(ui,tj,bk):1≤i≤n,1≤j≤m,1≤k≤l}。
此外,用UTi=(uti1,uti2,…,utim)來表示讀者i使用標(biāo)簽的情況,表示用戶ui使用標(biāo)簽tj次數(shù),這里X{exp}為“示性函數(shù)”。當(dāng)布爾表達(dá)式exp為真時X=1,否則為0。
同樣,用類似方法表示書籍被標(biāo)簽的情況:BTK=(btk1,btk2,…,btkm)。其中:btkj=∑ni=1X{(ui,tj,bk)∈A}表示書籍bk被標(biāo)簽tj標(biāo)記次數(shù)。在此我們需要對其進(jìn)行“歸一化”處理,即:BT*K=
3.1 基于內(nèi)容的推薦算法(CBR)
一般的圖書推薦算法其基本思想是:首先計算讀者對館藏資源的“評分”,然后依據(jù)評分高低向讀者推薦。而基于內(nèi)容的推薦算法(Content-Based Recommendation,簡稱CBR)的評分計算思想根據(jù)讀者使用標(biāo)簽數(shù)據(jù)UTi與書籍被標(biāo)簽數(shù)據(jù)BT*K的匹配程度,計算出讀者ui對于書籍bK的評分值[7]。此時,評分值的計算非常自然的可以使用內(nèi)積法,即:
不難看出,依上式計算出的評分值僅依賴于圖書的被標(biāo)簽數(shù)據(jù)和讀者使用的標(biāo)簽數(shù)據(jù)。它并不直接來源于讀者的評價,而是間接地通過對相關(guān)標(biāo)簽的計算而得。當(dāng)然,在一定程度上標(biāo)簽本身也能反映讀者對某一個資源的興趣和偏好。CBR算法之所以被稱為“基于內(nèi)容”,正是由于它沒有直接使用讀者對書籍的評價,而是通過反映書籍內(nèi)容的標(biāo)簽間接計算評分值。
3.2 協(xié)作過濾算法(CF)
協(xié)作過濾算法(Collective Filtering,簡稱CF),是在基于內(nèi)容的推薦算法基礎(chǔ)之上,進(jìn)一步考慮了不同讀者之間的關(guān)聯(lián)性,通過將相似度較高的讀者加以綜合考慮,從而實現(xiàn)資源推薦的一種算法。
很顯然,協(xié)作過濾算法的關(guān)鍵在于如何確定用戶相似度的計算方法。通常的方法包括以下幾種:
歐幾里得距離法:即把用戶評分I(ui,bK),k= 1,2,…,l,看做一個l維向量,然后計算其歐氏距離,即兩個讀者的相似度為:
余弦相似性:即同樣將用戶評分看做維向量,然后計算兩個向量夾角的余弦值,即他們的相似度為:
這里:I(ui)=(I(ui1,b1),(I(ui1,b2),…,(I(ui1,bl))。
相關(guān)相似性:即用Pearson相關(guān)系數(shù)計算讀者相關(guān)度:
無論采用哪種辦法,當(dāng)求得一組讀者的相似度后,可以根據(jù)其值的大小確定一個閥值thv,并取每個點的臨近集Vi為|sim(ui1,ui2)|<thv?ui2∈Vi1|。
3.3 算法的改進(jìn)
從上述兩個算法分析中不難看出,在計算評分值和用戶相似度中,尚存在以下問題:首先,在評分值的計算中,由于我們計算內(nèi)積時對書籍的標(biāo)簽數(shù)據(jù)采取了歸一化處理,這個過程實際上忽略了書籍的“熱門度”這一重要因素。由于“熱門度”是對某一圖書資源被讀者標(biāo)簽次數(shù)的一種度量,很顯然,其值的大小反映了該資源受讀者歡迎的程度,必須在推薦算法中加以重點利用。其次,在相似度計算中,由于計算內(nèi)積前對讀者標(biāo)簽數(shù)據(jù)未作歸一化處理,將導(dǎo)致計算所得的相似度在某些情況下“失真”。如以下情況:讀者A使用標(biāo)簽Tag1四次、標(biāo)簽Tag2兩次,讀者B使用Tag1兩次、Tag2一次,那么在改進(jìn)前的算法中,他們之間計算所得的“相似距離”是比較大的(表示兩個讀者的興趣差異較大),但是這與實際情況不相符合。
綜上所述,必須考慮在計算評分值的過程中將用戶標(biāo)簽數(shù)據(jù)作歸一化處理,同時在書籍被標(biāo)簽數(shù)據(jù)中加入“熱門度”因子。需要注意的是,這里把熱門度納入考慮范圍之內(nèi),并不意味著只需簡單使用歸一化之前的數(shù)據(jù),如果是這樣,則會讓書籍熱門度在評價中占據(jù)過大的權(quán)重。舉例來說,若圖書A被標(biāo)簽50次,圖書B被標(biāo)簽100次,直接使用歸一化前的數(shù)據(jù)計算評價度,兩者將會相差兩倍!這顯然是不合理的。為此,在我們的改進(jìn)算法中將使用一個保序變換來解決這個問題。
3.4 變換函數(shù)選擇
基于上面的分析,我們的變換函數(shù)應(yīng)當(dāng)滿足保序、且在被標(biāo)簽次數(shù)>0的范圍內(nèi),變換后的兩數(shù)比值不能過大,盡量做到可以使比值在[0.5,2]的范圍內(nèi)。為此,可以考慮使用指數(shù)函數(shù),即:
當(dāng)然,上述變換函數(shù)選擇不是唯一的。本文之所以采用指數(shù)函數(shù)是因為其比較簡單,且既能達(dá)到將書籍的熱門度加入評價考慮范圍,又對評價結(jié)果不產(chǎn)生過大影響這樣的效果。
3.5 CBR及CF改進(jìn)算法描述
綜上,經(jīng)過改進(jìn)之后,基于內(nèi)容的推薦算法(NCBR)基本流程如下:①計算每本圖書的被標(biāo)簽總數(shù):;②通過變換被標(biāo)簽總數(shù)計算熱門度系數(shù):;③計算所有用戶對每本圖書的評分值:;④對圖書按照評價度排序,并作推薦。
表1 用戶、標(biāo)簽、書籍的三元關(guān)系
改進(jìn)后的協(xié)作過濾算法(NCF)如下:①對用戶數(shù)據(jù)做歸一化處理:;②使用歸一化后數(shù)據(jù)重新計算評價度:;③使用新計算的評價度,并選擇某種相似度計算方法(歐氏距離、余弦相似性或者相關(guān)相似性),計算用戶相似度sim(ui,uj);④選擇閥值,并取每個用戶ui的臨近用戶集Vi;⑤結(jié)合臨近用戶集,計算評價度:
為了驗證改進(jìn)后算法的實際效果,在某職業(yè)技術(shù)學(xué)院圖書館做了實驗分析(10位讀者使用8個標(biāo)簽對20本書籍進(jìn)行標(biāo)簽),采集了讀者、圖書、標(biāo)簽等相關(guān)原始數(shù)據(jù),利用專業(yè)統(tǒng)計分析軟件R進(jìn)行了實驗分析。由于實驗規(guī)模較小以及讀者樣本數(shù)量的限制,協(xié)作過濾算法(CF)的實際效果難以體現(xiàn)。究其原因是因為實驗樣本中每個讀者的臨近集或者太少,或者就是幾乎覆蓋了全部測試讀者,導(dǎo)致算法無法顯現(xiàn)預(yù)期的推薦效果。
以下主要針對加入書籍熱門度之后的改進(jìn)算法(NCBR)與原基于內(nèi)容的推薦算法(CBR)的實驗結(jié)果比較分析。用戶、標(biāo)簽、書籍的三元關(guān)系見表1,其中(i,j)處的數(shù)據(jù)表示讀者j對圖書i所添加的標(biāo)簽編號。經(jīng)過計算,圖書被標(biāo)簽情況如圖1所示,經(jīng)過指數(shù)函數(shù)變換后的熱門度系數(shù)如圖2所示??梢钥吹剑谧儞Q之后除了圖書3因為沒有被標(biāo)記過,系數(shù)是0之外,其它書籍的系數(shù)都在[0.6,1]區(qū)間內(nèi),這是比較理想的情況。這里變換選用的系數(shù)α=0.5。
從算法的評價度計算結(jié)果可以看出,熱門度系數(shù)的加入對書籍的評價度產(chǎn)生了不小的影響。由于所有讀者對全部書籍的標(biāo)簽為一個10×20的矩陣,在此僅以讀者1的推薦圖書情況來分析算法結(jié)果。圖3和圖4分別為讀者1在兩種評分算法下的書籍評價度輸出結(jié)果。不難看出,如果取評價度最高的3本書作為推薦圖書的話,那么在不考慮書籍熱門度情況下入選的圖書為{1,5,8},而在加入熱門系數(shù)之后推薦的圖書則成了{1,9,20}。為了顯示出書籍熱門度在其中作用,我們給出圖書被標(biāo)簽次數(shù)如表2。
圖1 圖書被標(biāo)簽數(shù)
圖2 圖書熱門度系數(shù)
圖3 算法CBR下讀者1的評價度
圖4 算法NCBR下讀者1的評價
表2 圖書被標(biāo)簽次數(shù)
讀者1對應(yīng)的標(biāo)簽數(shù)據(jù)為(5,0,3,2,1,1,1,1),5本圖書對應(yīng)被標(biāo)簽的數(shù)據(jù)依次為:(2,0,0,0,1,1,0,0),(2,0,0,0,0,0,0,1),(2,0,0,0,1,0,0,0),(5,3,0,0,0,0,3,1),(1,0,3,3,0,0,3,1)??梢钥闯觯x者1對于帶有標(biāo)簽1,3,4的書籍比較感興趣,而用不考慮熱門度的CBR算法計算得出的推薦圖書{5,8}雖然都被Tag1標(biāo)簽較多,但是實際上它們的熱門度是很低的(僅被標(biāo)簽3次)。而圖書{9,20}在熱門度很高的情況下(被標(biāo)簽分別11,12次),與讀者1的偏好非常匹配,書籍9主要被標(biāo)記為1號標(biāo)簽,而書籍20主要被標(biāo)記為3,4號標(biāo)簽。這說明在考慮了熱門程度之后的推薦結(jié)果是非常合理的。
隨著數(shù)字圖書館的發(fā)展,個性化圖書推薦系統(tǒng)的地位日益重要。相關(guān)調(diào)查結(jié)果顯示,讀者對圖書借閱的個性化服務(wù)需求程度是個性化服務(wù)功能需求中最高的[8]。本文所討論的融合熱門度因子基于標(biāo)簽的個性化圖書推薦算法,利用了Web2.0的社會化標(biāo)注原理,非常適用于圖書館的個性化推薦服務(wù)。后續(xù)將在目前工作的基礎(chǔ)上,引入聚類方法,進(jìn)一步優(yōu)化推薦算法。
[1] 李樹青,徐 俠,許敏佳.基于讀者借閱二分網(wǎng)絡(luò)的圖書可推薦質(zhì)量測度方法及個性化圖書推薦服務(wù)[J].中國圖書館學(xué)報,2013(3):83-95.
[2] 徐文青,范一鳴.擴(kuò)展的VSM圖書館讀者興趣建模技術(shù)研究[J].圖書情報工作,2012(5):119-122,138.
[3] 田瑩穎.基于社會化標(biāo)簽系統(tǒng)的個性化信息推薦探討[J].圖書情報工作,2010(1):50-53,120.
[4] 吳思竹.社會標(biāo)注系統(tǒng)中標(biāo)簽推薦方法研究進(jìn)展[J].圖書館雜志,2010(3):48-52.
[5] 陳毅波,揭志忠,吳產(chǎn)樂.基于同義標(biāo)簽分組的協(xié)同推薦[J].湖南大學(xué)學(xué)報(自然科學(xué)版),2011(5):83-88.
[6] 蔡孟松,李學(xué)明,尹衍騰.基于社交用戶標(biāo)簽的混合top-N推薦方法[J].計算機(jī)應(yīng)用研究,2013(5):1309-1311,1344.
[7] 張 紅,甘利人,薛春香.基于標(biāo)簽聚類的電子商務(wù)網(wǎng)站分類目錄改善研究[J].現(xiàn)代情報,2012(1):3-7.
[8] 楊 濤,曹樹金.圖書館用戶的個性化服務(wù)需求實證研究[J].大學(xué)圖書館學(xué)報,2011(2):76-85.
(責(zé)任編校 駱雪松)
Personalized Tag-based Book Recommendation Algorithm Combined with the Factor of Popularity
Xu Wenqing,Shuang Linping
Zhejiang Industry Polytechnic College Library,Shaoxing 312000,China
In accordance with“socialized tagging”of Web 2.0 and in view of the shortcomings of the content-based recommendation algorithm(CBR)and the collaborative filtering recommendation algorithm(CF),we proposed two refined book recommendation algorithms which are based on tags and combined with the factor of popularity.In this paper, a small-scale experiment using statistical analyzing software R was made along with an analysis of the refined content-based recommendation algorithm(NCBF).The experimental results show that the refined algorithms remarkably improved the effectiveness of personalized recommendation algorithm.
personalized book service;recommendation algorithm;tag;popularity
G252
徐文青,女,1968年生,館員,研究方向為圖書個性化服務(wù)等,發(fā)表論文6篇;雙林平,女,1964年生,館員,研究方向為數(shù)字圖書技術(shù)等,發(fā)表論文12篇。
*本文系浙江工業(yè)職業(yè)技術(shù)學(xué)院2013年科研計劃項目“個性化圖書服務(wù)系統(tǒng)的應(yīng)用研究”(項目編號:2014242)的研究成果之一