唐 靜
(湖南圖書館,湖南 長沙 410011)
隨著信息資源日益開放,推薦系統已經成為信息管理需求中的一個熱門研究領域。目前,推薦系統廣泛適用于電子商務領域,大多數相關研究也都致力于商業服務的應用。一般情況下,推薦系統通過改進算法和揭示用戶隱含信息來提高信息推薦的力度。很多大型的電子商務網站都在使用電子商務推薦系統,比如互聯網上最大的在線書店Amazon.com,是在EB領域應用推薦系統最典型的案例。
推薦系統也稱為個性化推薦系統,它是根據用戶的興趣愛好推薦符合用戶興趣的對象。傳統意義上的推薦系統是單向傳遞信息的,用戶只能被動地得到推薦的產品或者服務,而現代意義的推薦系統具有雙向選擇的功能[1]。并不是所有的在線消費者都對該種商品或服務感興趣。一般信息過濾系統是為了減少用戶搜尋信息資源時所產生的附加成本而產生的。Resnick[2]認為,一般的信息過濾系統,也即推薦系統,可以根據使用者的興趣、需求和偏好,對其推薦其所需要的信息,讓其了解相關產品和服務。此外,相關推薦系統還可以被與電子商務營運架構整合在一起,企業從中能挖掘更多潛在利益。目前,各行各業都可以看到推薦系統被應用,推薦對象也非常廣泛,包括了各個方面。
所謂圖書借閱行為分析,是指對數字圖書館中歷史圖書的借閱數據預先進行處理,從而讓得到的圖書借閱信息能夠符合一定數據格式。在此基礎上,相關主體可以對數據采用數據挖掘方法繼續分析和挖掘。表1和表2分別表示的是讀者對圖書借閱信息的歷史記錄原始數據格式,從中可知相關讀者基本信息以及其所借閱書籍的詳細信息。表1~2數據還記錄了相關書籍被借閱和歸還的日期,從中可以查看讀者所借書籍是否還在有效借閱期。通過分析讀者對不同類型圖書的借閱行為,可以統計研究其對哪些書籍更加喜好,哪些圖書比較冷漠、很少去關注。另外一個思路,可以通過讀者對圖書的借閱效率來反映讀者對圖書的偏好程度。
表1 借書歷史記錄原始數據格式
表2 還書歷史記錄原始數據格式
圖1 基于內容分析與行為分析的用戶興趣模型的構建
用戶瀏覽行為分析是指通過分析讀者在網上查閱數據庫或者實體在圖書館瀏覽軌跡,得到一種用戶興趣矩陣,然后應用挖掘算法來實現用戶行為的分析與挖掘[3]。研究內容表明,讀者在圖書館的很多查閱行為能比較準確地顯示用戶的喜好,比如讀者在查閱某本書時的停留時間、翻看書籍的次數以及向同學做出的推薦,還有借閱頻繁度等,而且讀者在上網搜尋圖書館館藏圖書時的瀏覽行為也能反映他們的借閱偏好,比如點擊鼠標、標記書籍內容、拖動鼠標以及前進、后退等。不論是實際去圖書館查閱行為還是去校園網上對圖書館網頁瀏覽信息都能夠很好地揭示讀者的借閱興趣。
進入圖書館以后,用戶多半會前往自己專業或自己研究方向的借閱區,去選擇符合自己需要的書籍。讀者的借閱圖書類型范圍可以大致被劃定。通過了解讀者在哪些書籍停留了多長時間以及對哪些書籍進行過翻閱,可以進一步確定讀者對某本書籍的興趣程度。不僅僅是已經被借閱過的書籍,那些經過讀者行為處理的書籍,在下次也可能成為被借閱的對象,即所謂的潛在圖書。在向讀者推薦一些已借閱書籍的同時,也可以深入分析挖掘這部分潛在圖書,從而對潛在圖書的借閱概率更為清晰深入了解,為后續借閱提供更多參考依據。
目前,關于用戶興趣模型的研究不是很深入,比如很多情況下研究人員只局限于對單純的圖書借閱信息進行分析產生用戶興趣模型,或者只是從讀者的瀏覽行為角度來考慮讀者興趣矩陣的挖掘,這些情況下均不能全面、準確地反映用戶的借閱興趣取向[4]。
針對這種問題,本文提出了基于圖書借閱信息與讀者瀏覽行為來發現用戶興趣度,建立用戶興趣模型,從而挖掘出用戶最為感興趣的圖書信息。基于對圖書借閱信息的分析和對讀者瀏覽行為的研究,本文提出了二者結合的用戶興趣模型,如圖1所示。
該用戶興趣模型主要是從兩個方面入手:一方面是從圖書借閱信息考慮,對各種類型讀者借閱的圖書信息進行處理,這些數據主要通過圖書類型、借閱時間、讀者類型、借閱狀態以及借閱效率等維度來歸納,應用上述聚類方法對其歷史借閱內容進行分析,以文本形式表示的數據轉變為矩陣的形式;另一方面是對讀者在圖書館中瀏覽圖書的行為進行行為分析,讀者的瀏覽行為中主要是從讀者在圖書館瀏覽書籍頻數、停留時間、翻閱書籍的時間以及在網站上瀏覽圖書館數據庫的次數、各種操作(如單擊、雙擊、評論)等角度來考慮,將聚類的方法應用于用戶對瀏覽的圖書進行行為分析,形成一種用戶行為興趣度[5]。
將兩種不同角度考慮下的數據進行整合,形成能夠包括兩個層次的用戶興趣矩陣。在具體實現上,圖書借閱行為數據預處理形成改進前的用戶興趣矩陣可以用一個m×n階矩陣R(m,n)表示,m行代表m個讀者,n列代表n本圖書,第i行第j列的元素Rij代表讀者i對圖書j的借閱效率大小,用戶的瀏覽行為通過用戶對書籍瀏覽的興趣度I與對書籍的瀏覽時間T和翻頁/拉動滾動條次數J之間尋找相互依存關系,用戶瀏覽行為和圖書頁面興趣度之間的回歸方程可建立為:I(p)=a×T+b×J+c,其中,a,b,c是與T(P)和J(P)無關的未知參數,它們的估計可采用最小二乘法。這樣通過該方程就可以計算用戶對圖書館圖書瀏覽的行為興趣度BI(Behavior Interesting)[6]。
改進后的用戶興趣矩陣是在原有的只是局限于圖書借閱行為而衍生出來的數據矩陣基礎上,通過引入由用戶瀏覽行為經過行為分析(線性回歸分析方法)計算得到的用戶瀏覽行為興趣度而生成的。改進后的用戶興趣矩陣C可表示為:
聚類就是將數據對象分組成為多個類或簇,在同一簇中的對象之間具有較高的相似度,不同類中的對象差別較大。通過應用K-means聚類算法將用戶矩陣中各組數據進行聚類,就得到由用戶興趣分類樹表示的用戶興趣模型[7]。
本文選擇的是使用Clementine挖掘工具來具體實現用戶興趣度模型的構建。在Clementine中應用聚類K-means節點和關聯規則Apriori節點進行圖書信息以及用戶行為預測的過程如下:(1)選擇數據源,在導入文件中選擇要用的數據源library。(2)在選項板中選擇字段的選項值,選擇其中的數據類型和輸入輸出方式,進行編輯,讀取所有值后將讀者類型以及借閱時間、借閱效率設置為輸出,如圖2所示。單擊圖2最下方Modeling圖標,將其拖動到處理區域中,下一過程和聚類實現操作一樣,也可以雙擊圖標就得到了如圖2所顯示的關聯規則挖掘模型。
圖2 Clementine 11.0 挖掘聚類及關聯規則模型過程
數據挖掘模塊根據數據處理所得到的數據集,通過應用挖掘算法,進一步挖掘分析相關信息,然后存儲挖掘結果。設計過程中,可以實現如下兩方面的挖掘。
根據讀者對圖書的借閱頻率,對圖書做聚類分析。圖書的借閱頻率的確定,參考圖書借閱次數以及每次讀者借閱該書的時間長短兩個因素。在圖書借閱數據庫,可以對相關圖書的借閱次數進行查詢,圖書被借閱的時間長度,為還書時間減去借出時間(借閱時間都統一以天數為基本單位)。如此,可得圖書借閱頻率:圖書的借閱頻率=圖書的總借閱時間/圖書的總借閱次數。對圖書借閱頻率進行聚類分析,相關結果既有利于圖書館管理人員更為高效地放置圖書,也有利于讀者更高效選擇自己需要的書籍。
圖書聚類的實現過程:設置聚類數目以及對圖書的借閱頻率進行聚類分析。由于對于借閱次數很少的圖書進行聚類實際意義不大,因此聚類的記錄個數一般是選擇圖書借閱次數較多的圖書類別。根據K-means算法,對整理后的數據集進行聚類,獲得聚類結果。
對圖書進行關聯性挖掘,目的是找出讀者借閱圖書的潛在規律。實際借閱中,研究者通過關聯規則,能更好地發現那些輕易被忽略的潛在規律。圖書之間的關聯性讓圖書館管理人員更好地了解讀者的借閱興趣,將其運用于讀者個性化服務中。
圖書關聯規則發現的實現過程:首先,生成事務集。將包含所有借閱圖書信息的讀者借閱記錄進行逐一掃描,從而得到圖書關聯規則過程所需要的數據源。由于在實際情況中有可能存在某個讀者在一定時間段內重復借閱了同一本書,這樣就會造成數據庫中事務集的冗余;其次,有些館藏圖書很少有人去借,像這類圖書就需要在事務集中剔除,從而提高圖書挖掘的效率。具體可以應用圖書借閱效率的計算結果,根據關聯規則中的最小支持度和最低置信度來劃分。最小支持度和最低置信度需要根據實際問題進行設置,總的原則是設置值不宜過大也不宜過小,太大挖掘不到結果,太小得到的數據不準確,誤差不能控制在有效范圍內。可以通過Apriori算法來進行關聯規則的發現,得出的關聯規則結果是項集的形式。
綜上所述,隨著數字化閱讀的推進,個性化推薦系統的應用越發廣泛,其已經涉足于圖書館的個性化服務。本文提出的用戶興趣度模型構建的個性化閱讀推進系統能為數字圖書館的建設和服務更新提供助力。在這一系統下,借閱圖書或文獻的讀者都可以互相共享信息,而且每個讀者都作為過濾代理人的一分子,幫助目標用戶獲取館藏書籍信息,為未來讀者提供圖書推薦服務。