夏文忠 單長吉
(昭通學院物理與電子信息工程學院,云南 昭通 657000)
隨著信息技術(shù)與計算機技術(shù)的發(fā)展,數(shù)據(jù)資源呈幾何數(shù)量級增長,為解決用戶復雜需求與龐大數(shù)據(jù)資源之間的矛盾,個性化的推薦系統(tǒng)隨之出現(xiàn)。個性化推薦技術(shù)通過研究用戶的喜好和興趣,為用戶推薦所需的各種資源,最初應用于電子商務個性化服務中[1]。
目前,高校圖書館的館藏資源大幅增長。本次研究采用協(xié)同過濾的余弦相似度計算等方法[2]主動為用戶推薦館藏圖書或其他信息資源,從而提升圖書館的服務水平與資源利用。
圖書館館藏圖書建設(shè)是高校辦學的硬指標之一,每年學校都大量投入經(jīng)費購置紙質(zhì)圖書資源與數(shù)字電子資源。隨之而來的是,各種資源大幅增加與原有資源利用率低的矛盾也顯現(xiàn)出來。在經(jīng)過十多年的圖書館數(shù)字化建設(shè)后,已有多種提升資源利用率解決方案。本次研究思路首先是從讀者流通借閱歷史數(shù)據(jù)中分析總結(jié)相關(guān)專業(yè)領(lǐng)域知識,通過協(xié)同過濾算法查找讀者興趣相似度,然后根據(jù)讀者興趣相似度把相關(guān)知識推薦給相應的讀者。
目前,昭通學院館藏圖書50多萬冊,自2003年數(shù)字化回溯建庫實現(xiàn)館藏資源數(shù)字管理至今,已擁有歷史流通借閱數(shù)據(jù)131萬多條。我們通過流通借閱數(shù)據(jù)的分析與挖掘,利用館藏圖書MARC記錄的結(jié)構(gòu)化特性,根據(jù)讀者借閱頻次和借閱種類分別分析統(tǒng)計,最后形成分析統(tǒng)計結(jié)果集。當新讀者查詢相應信息資源后,根據(jù)先前讀者的借閱歷史記錄,分析當前讀者和以前讀者的歷史借閱記錄興趣相似度。預先設(shè)定一個推薦閥值,如兩者間相似度低于設(shè)置閥值,則做出個性化信息資源推薦,返回結(jié)果。返回結(jié)果的呈現(xiàn)可以采用電腦客戶端、瀏覽器、手機WAP、手機短信[3]、郵件、微信[4]等形式。昭通學院圖書館當前館藏數(shù)據(jù)如表1所示。
表1 昭通學院館藏圖書種類統(tǒng)計
協(xié)同過濾(collaborative filtering)概念由Goldberg等研究人員于1992年提出[5],是目前廣泛應用的信息系統(tǒng)推薦技術(shù)。協(xié)同過濾的基本思想是,根據(jù)計算機用戶間偏好的相似度,在用戶群中尋找目標用戶的相似用戶,在相似用戶的基礎(chǔ)上自動地為目標用戶進行信息資源的推薦和預測。在基于流通日志的協(xié)同過濾系統(tǒng)中,通過結(jié)構(gòu)化的流通借閱數(shù)據(jù)聚類來形成結(jié)果集,再通過計算讀者間的興趣相似度來實現(xiàn)結(jié)果的個性化推薦。其基本流程如圖1所示。
圖1 信息協(xié)同過濾推薦算法流程
信息協(xié)同過濾推薦算法流程包含構(gòu)建“用戶-資源”評分矩陣、最近鄰搜索和產(chǎn)生推薦列表這3個階段?!坝脩?資源”評分矩陣主要收集到用戶信息資源的評分、評價行為等,并進行數(shù)據(jù)清理和轉(zhuǎn)換,最終給出用戶Ui∈U對各種資源Ij(1≤j≤n)的評分Rij,形成用戶對資源的評分矩陣。當用戶輸入對信息資源的評價并形成評分矩陣后,系統(tǒng)就需要利用推薦算法進行最近鄰選擇。最近鄰數(shù)據(jù)可以來自當前目標用戶,也可以來自當前目標資源。產(chǎn)生推薦列表的過程是協(xié)同過濾推薦算法的輸出過程,系統(tǒng)通過推薦算法的選擇,在最近鄰推薦集的基礎(chǔ)上產(chǎn)生推薦結(jié)果集。
推薦系統(tǒng)的效率來源于適合的算法及恰當?shù)臄?shù)據(jù)源。下面以一個效用矩陣來闡述余弦相似性算法在流通日志和協(xié)同過濾系統(tǒng)中的應用。將效用矩陣分1—5級,5級為最高級,矩陣中數(shù)字代表讀者對圖書的評級結(jié)果,無評級用0表示;空白表示讀者目前沒有對當前圖書評分,圖書用 S1,S2,S3,…,Sn,讀者對每本書的評級分別用A,B,C,D,…,N表示。每本圖書都可以用一個所謂的詞頻向量表示,詞頻向量通常很長,并且是稀疏的,即它們有許多0值,在這里需要忽略0匹配的數(shù)值數(shù)據(jù)。
圖2 讀者對圖書評級效用矩陣圖
根據(jù)圖2所示的效用矩陣提供的數(shù)據(jù),使用余弦相似性來驗證讀者間的相似性。余弦相似性通過測量兩個向量內(nèi)積空間的夾角的余弦值來度量它們之間的相似性。
兩個向量a,b間的余弦值可以很容易地通過使用歐幾里得點積和量級公式推導:
鑒于2個向量的屬性,A和B的余弦相似性θ用一個點積形式來表示,Ai和Bi表示矩陣中讀者評價結(jié)果,于是有下式:
‖A‖ 是向量 A=(A1,A2,A3,…,An)的歐幾里得范數(shù),定義為從概念上講,它就是向量的氏度。類似地,‖B‖是向量B的歐幾里得范數(shù),該度量計算向量A和B之間夾角的余弦。余弦值0意味著2個向量90°夾角(正交),沒有匹配。余弦值越接近于1,夾角越小,向量之間的匹配越大。
據(jù)圖2所示數(shù)列,有:A×B=4×5+0×5+0×4+5×0+1×0+0×0=20,結(jié)合余弦相似性公式,A和B的夾角余弦為:
A和C的夾角余弦為:
在這種距離計算方式下,將會得到A和C,而不是和B更接近??梢酝ㄟ^對評分數(shù)據(jù)的舍入處理去掉高分和低分的圖書之間表面上的相似度。如對評分進行歸一化處理,即將每個評分減去某個用戶的平均評分值,然后將低分值轉(zhuǎn)換為負數(shù)而高評分值轉(zhuǎn)換為正數(shù)。再采用余弦距離,將發(fā)現(xiàn)對所見同一圖書評價相反的用戶的向量方向幾乎相反,即是說距離可以看成盡可能的遠。但是,對所看同一圖書評價類似的用戶向量之間的夾角相對很小,結(jié)果符合推薦閥值。
本次實驗數(shù)據(jù)來源于昭通學院圖書館2003—2014年流通借閱數(shù)據(jù)。該數(shù)據(jù)包括2 621位讀者,流通借閱數(shù)據(jù)1 314 367條。實驗以中圖法分類基礎(chǔ)結(jié)合我?,F(xiàn)有專業(yè),給出分專業(yè)和學校類別的推薦結(jié)果集。以當前數(shù)據(jù)借閱流通次數(shù)前20的圖書為例進行分析。
如讀者甲喜歡金庸的小說《鹿鼎記》和《神雕俠侶》,讀者乙在借閱讀者甲喜歡的這兩本書的其中一本時,根據(jù)余弦相似定理,把另外一本圖書也推薦給讀者乙,從而達到個性化推薦的目的。再比如,讀者甲是中文專業(yè)的同學,對昭通文學作品《好大一對羊》、《云興街》等文學作品有深入獨到的見解。又如,讀者甲在昭通文學作品的時候,對這些文學作品寫了相關(guān)的圖書評論,其他讀者通過圖書業(yè)務系統(tǒng)瀏覽館藏書目信息時,如恰好訪問了與昭通文學作品相關(guān)的作品,系統(tǒng)就會根據(jù)余弦相似定理自動把與昭通文學作品相關(guān)的評論與圖書信息推送到這些讀者訪問的頁面,從而提高資源的利用率及好書的推薦率。
通過對流通日志數(shù)據(jù)的分析與挖掘,利用協(xié)同過濾算法,查找多個讀者之間的興趣相似度,從而實現(xiàn)圖書館資源的個性化推薦。通過使用現(xiàn)有歷史流通日志數(shù)據(jù),改善了協(xié)同過濾的冷啟動問題,對拓展和改善圖書館的信息服務水平,提高館藏紙質(zhì)資源的利用具有重要意義。
[1]吳顏,沈潔,顧天竺,等.協(xié)同過濾推薦系統(tǒng)中數(shù)據(jù)稀疏問題的解決[J].計算機應用研究,2007,24(6):94-97.
[2]陳華,李仁發(fā),劉鈺峰,等.個性化搜索引擎推薦算法研究[J].計算機應用研究,2010,27(1):48-50.
[3]夏文忠,楊智明.一種基于MVC模式的圖書短信管理系統(tǒng)設(shè)計[J].電腦知識與技術(shù),2011,7(20):4790-4793.
[4]黃浩波,何衛(wèi)華,葉青,等.微信及其在圖書館信息服務中的應用[J].圖書館學刊,2013(1):62-64.
[5]Goldberg D,Nichols D,Brian M O,et al.Using Collaborative Filtering to Weave an Information Tapestry[J].Communications of the ACM,1992,35(12):61-70.