李 丹 高建忠
(西安交通大學圖書館 西安 710049)
隨著信息技術的快速發展,讀者群體日益龐大,信息資源過載,如何讓讀者找到自己感興趣的圖書資源,同時將大量的館藏紙質圖書和電子書有針對性地推薦給讀者,是圖書館面臨的重大挑戰。基于用戶畫像的推薦系統已經成為應對這一挑戰的重要手段。
用戶畫像(Users’Profile)由Alan Cooper 最早提出,是建立在一系列真實數據上的目標用戶模型[1],對同一類用戶進行不同維度的刻畫,旨在通過海量用戶行為數據挖掘有用信息,全面展現用戶的信息全貌。
推薦系統用來 “分析用戶畫像、內容項和它們之間的關系,并試圖預測未來的用戶行為”[2],是基于日志系統,采用一定的推薦算法,幫助用戶從無目的的查找中發現自己感興趣的內容,給用戶提供不同的個性化頁面展示的一種自動化工具。
圖情領域對圖書推薦進行了深入研究,提出了很多方法,引入了很多應用系統[3-4],但是隨著圖書數據和種類增多,推薦方式的局限性和圖書零借閱率現象日益嚴重,信息迷航問題日益嚴峻。構建讀者行為畫像,提升推薦效率是圖書館開展個性化服務的關鍵。
本文通過廣泛的定性研究,結合調查和流通日志分析,為讀者提供個性化資源推送,給出了推薦系統技術的簡要概述,討論了為讀者推薦圖書過程中的關鍵問題。首先,分析個性化推薦的應用現狀;其次,提出讀者用戶畫像構建方法,通過顯式和隱式方式相結合獲取讀者信息,構建讀者畫像;再次,將具有相同特征的用戶劃歸成一類,分析用戶借閱等行為信息,給出個性化推薦方案,采用協同過濾算法進行TopN 推薦,向讀者推薦興趣度排名前N的內容項,其中用戶興趣度是用來描述用戶對某本圖書的興趣程度;最后給出該推薦策略在實踐中的探索和思考。
傳統的信息檢索模型通常無法最大程度地連接圖書館用戶和圖書資源。正如Baez等人指出,面對數量巨大的可用資源,用戶通常要求檢索系統縮小搜索范圍以識別其真正需要的資源,而不是擴大檢索范圍,呈現給讀者可能有用但不明確的檢索結果[5]。推薦系統應運而生,它廣泛應用于電子商務中。同樣,面對日益增長的讀者需求和過載的信息資源,館員也應該意識到引入推薦功能的必要性。圖書館的推薦服務系統應當在外觀和功能上盡量滿足讀者的期望,通過獲取讀者偏好信息來調整推薦內容,提高客戶忠誠度。
基于用戶畫像的推薦系統在國外圖書館領域實踐應用廣泛,哈德斯菲爾德大學Dave Pattern 2011年基于文氏圖,主要針對圖書館紙本館藏,提出在圖書館集成系統(Horizon系統)中利用流通數據推薦讀書的方法。2012年,基于同樣的算法,他探索了把電子資源也納入推薦系統的可行方法[6],給出了針對學科/課程做限定的設想[7],探索過濾推薦結果的方法,使得在學術型大學中推薦結果更接近于學生的需求,甚至更接近于讀者的特定課程,而不需要讀者二次篩選。Dave Pattern指出那些流通次數不多的物品(非暢銷書)更應該推薦[8],這正是長尾理論(Long Tail Theory )所不斷倡導的。2002—2007年間, 德國卡爾斯魯厄大學圖書館基于OPAC 使用數據,分析讀者不同時間段內的檢索行為開發了BibTip推薦系統[4],此外,其他機構推出了優秀的推薦系統如MyMedia、基于SFX的BX推薦系統等。除了上述主要采用隱性推薦方式的系統外,還有需要用戶參與的典型推薦應用LTFL(Library Thing For Libraries)[3],斯旺西大學已將其納入圖書館服務中。學者Cherry J M,Clinton M基于多倫多大學圖書館OPAC構建用戶畫像,通過探討讀者培訓方式和OPAC設計[9],提升圖書的借閱率。
國內圖書館領域針對基于用戶畫像的推薦策略研究還處于初探期。研究發現,推薦系統滲透到圖書館環境并納入圖書館服務的程度并不高,即使應用了推薦系統,讀者體驗也不夠好。部分原因可能在于系統限制、預算限制,加上讀者的接納度和信任度不夠。在OPAC中提供推薦功能的圖書館非常少。北京大學圖書館引入了SirsiDynix作為圖書管理系統,可以根據檢索詞向讀者推薦“同作者作品”“同主題作品”以及“書架上鄰近館藏”。一些學者從本科生、研究生、教師的角度構建特征群體的用戶畫像,使圖書館服務趨勢、模式與讀者需求相匹配。圖書館領域的推薦不應局限于OPAC流通數據,還可整合其他應用系統甚至圖書館外部對讀者活動產生影響的數據,但由于數據格式的復雜性,數據所有權和用戶隱私等方面的研究才剛剛起步。同時,一些學者提出了圖書推薦模型,但對于如何將用戶畫像構建、隱式和顯式協作獲取數據、TopN推薦策略結合起來,針對用戶開展個性化推薦服務,仍需進一步探討。
推薦算法依賴于用戶行為數據,推薦系統設計人員需要考慮的一個關鍵因素是用戶畫像基礎數據的選取標準,以及推薦系統獲取數據的方法,它可以大致分為“隱含”或“明確”兩種[10]。隱式方法的優點是對用戶沒有任何要求,顯式方法需要用戶參與,如對圖書館的服務進行評價(Prekopcsák,2007)[11]。本文采用顯式(用戶調查問卷)和隱式(系統日志分析)相結合的方式獲得基礎數據。
基礎數據一方面來源于調查問卷。作為處理圖書超期罰款的一種途徑,西安交通大學圖書館要求超期讀者填寫圖書超期調查問卷,由館員簽字監督,方案實施不到一年便收到了近萬份問卷。問卷不僅包含讀者個人信息(姓名、學號、聯系方式等),讀者超期圖書信息,還包括讀者推薦圖書名稱、作者、索書號等信息。另一方面,數據來源于圖書館各類應用系統,如圖書館自動化系統(INNOPAC)、圖書館門戶網站、座位管理系統、讀者借閱記錄、座位使用記錄、門禁記錄等。其中,INNOPAC系統中包含讀者對所借圖書的評分選項,但在實踐中很少有讀者去點擊反饋評分。不過圖書推薦的關注點是找到讀者最有可能感興趣的圖書,而不是讀者對所借圖書的評分。
通過調查問卷的方式雖然可以獲得很多用戶主觀感受的指標,然而存在一些缺點,如:組織成本高,需要有大規模的測試用戶群,同時需花費用戶大量時間;存在錄入有誤的現象;用戶在測試環境下的行為和真實環境下的行為可能存在偏差,因而測試環境下得到的數據可能和真實環境有所差別。故本文通過廣泛的定性研究,結合用戶調查問卷、INNOPAC系統、座位管理系統、門禁系統中流通日志分析,獲取讀者基本信息、圖書基本信息、空間服務信息、讀者行為信息等四類信息,經過數據清洗去除數據中的噪聲,構建用戶畫像。
獲取原始數據后,我們需要對其進行整理、歸并和電子化,但此時數據量大,格式復雜,數據與數據之間的關聯關系不明確,需要從知識工程[12]的角度出發,基于讀者信息構建用戶畫像,方便計算機理解和處理,從而實現快速及個性化的推薦。
用戶畫像構建組成見圖1,其中,“用戶信息”類包含“用戶人口統計學信息”“用戶興趣描述”和“用戶INNOPAC系統外行為數據”3個子類。其中“用戶人口統計學信息”包含“學號”“姓名”“專業”“學院”“性別”和“聯系方式”,通過調用圖書館INNOPAC系統讀者API接口獲取個人信息。“用戶興趣描述”類對應的屬性為“專業研究方向”“圖書借閱反饋”,其屬性數據來自于調查問卷。“用戶INNOPAC系統外行為數據”對應的屬性為“入館等級”,“入館等級”根據調查問卷中讀者罰款的金額、超期天數確定?!皥D書信息”包含的屬性為“書名”“作者”“出版社”和“ISBN”。“空間服務信息”包含的屬性為“座位ID”“座位位置”“進入通道ID”“進館時間”“出館時間”,其屬性數據來自于座位管理系統、圖書館門禁系統等。描述用戶軌跡的“用戶行為信息”包括“圖書借閱”“圖書預約”“圖書超期”“選座”“進出門禁”5個子類,“用戶行為信息”的數據由“用戶信息”“圖書信息”和“空間服務信息”數據產生關聯。表1給出了“用戶行為信息”5個子類的統一屬性表示方式,可以分為5部分:產生行為的用戶唯一標識、行為對象的唯一標識、行為的種類、產生行為上下文、行為的權重。以“圖書借閱”子類為例,它的屬性見表1。

圖1 用戶畫像構建

表1 “圖書借閱”子類統一屬性表示
面對圖書館日益增長的紙質圖書資源,讀者利用傳統檢索功能尋找自己感興趣的圖書,往往費時費力。圖書館工作人員如何充分利用海量的圖書資源,準確高效地向讀者推送高品質圖書,提高讀者黏性和圖書利用率,是本文研究的重點和難點。
構建用戶畫像為讀者個性化服務打下良好基礎,用戶數據來源以及格式,決定著采用的推薦策略、推薦內容及其呈現形式,又會直接影響用戶對推薦內容的關注程度以及接納度。本文擬根據數據源的特征,利用時間上下文信息改進基于用戶的協同過濾算法(UserCF),設計基于特征的讀者行為個性化推薦策略,一方面引入時間衰減因子改進讀者興趣相似度的計算方法,另一方面向讀者推薦與其興趣相似的讀者最近喜歡的內容:①利用讀者注冊信息解決讀者冷啟動問題,新注冊的用戶沒有行為數據,無法根據其歷史行為推薦圖書。為解決用戶冷啟動問題,可以利用讀者注冊時的人口統計學信息、讀者興趣描述信息等,提取特征進行粗粒度的個性化推薦。老用戶可進一步根據其行為信息生成特征,從數據庫中分析用戶行為數據,生成用戶的特征向量。②基于用戶特征,計算讀者間的興趣相似度,找出最相似讀者的鄰域,即找到和當前讀者興趣相似的讀者集合,找到集合內讀者最近喜歡但是當前讀者沒有關注的圖書,生成特征—項目相關表。特征—項目相關表一般都不止一張,對于每個特征,在相關表中都存儲和它最相關的N個項目的ID。將這些相關表按照權重統籌管理,生成不同特征的推薦列表,這樣就實現了將讀者的特征向量通過特征—項目表轉化為讀者推薦列表。③根據推薦列表進行用戶行為評估,調整推薦策略。
2.3.1 基于讀者特征的用戶畫像相似度計算
高校圖書館的讀者在查找學習資料時一般會詢問高一級的學長或同一個專業、上過同一課程的讀者,因為他們之間有共同的需求。根據讀者相似度進行推薦是非常合理的。為提取讀者共同的興趣特征,筆者采用的方法是基于用戶畫像,分析讀者間的相似度,將相似度高且具有相同特征的用戶劃歸成同一類,把圖書館大量的讀者群劃分為合作讀者、基礎學習型讀者、研究型讀者、文藝型讀者,僅考慮為當前讀者推薦具有相同特征鄰域內的其他讀者可能感興趣的資源(包括圖書資源和空間資源)。
計算讀者間興趣相似度時需要考慮讀者特征。讀者特征包括兩種,一種是讀者注冊信息中可以提取出來的,包括人口統計學特征,還有一種重要特征是讀者行為特征,包括讀者借閱的圖書信息,讀者使用的座位信息等。我們在提取用戶特征時,需要考慮:①上下文信息,時間是一種重要的上下文信息,讀者的興趣是變化的,為了準確地預測讀者當前的興趣,需要關注讀者最近的行為。同時,圖書也是有生命周期的,如果一本圖書在進入二線書庫中仍然經常被借閱,說明其價值很高。一些圖書的借閱率會受到重大事件或者學校特征的影響,比如有關錢學森精神和西遷歷史的書籍在特定階段非常熱門。當為讀者推薦圖書時要充分考慮該書是否已經過時。此外,圖書推薦還要考慮學期效應,開學首月、學期中、考試月讀者需要借閱的圖書種類不同。比如小學期時,很多研究讀者被導師要求做項目,此時探索性的研究性圖書很熱門。因為讀者的興趣會隨時發生變化,加入時間因素,讀者在學期中、學期末、假期中等時間段的行為會有不同的特點??紤]到實時性,往往讀者近期的行為比較重要,讀者近期借閱過的圖書對應的特征將會具有比較高的權重。②讀者行為的次數,讀者對同一本書反復借閱的次數或讀者對同一座位反復預約的次數反映了讀者的興趣度。③熱門程度,在關注讀者借閱熱門圖書的同時,更要關注讀者對非熱門圖書的借閱行為,這恰恰反映了讀者的個性需求和圖書的價值所在。
2.3.2 基于讀者特征的個性化推薦策略關鍵公式
給定讀者a和讀者b,令N(a)表示讀者a發生過行為的項目集合,N(b)表示讀者b發生過行為的項目集合,考慮時間信息后計算讀者a和讀者b興趣相似度的計算公式為:

公式中讀者b最近的興趣顯然比讀者b很久之前的興趣更接近讀者a 最近的興趣。對于大數據集,對同樣的物品都產生過行為的用戶很少,即,為了不把時間浪費在計算這種讀者之間的相似度,建立物品—讀者的倒排表,建立讀者相似度矩陣,使得矩陣值。之后代入公式1經計算可以得到讀者興趣相似度根據值確定讀者興趣相似集合后,針對集合中其他讀者感興趣而當前讀者未發生過行為的內容項,通過下方公式計算當前讀者對各內容項的興趣度p,實現為讀者推薦資源的目的。

S(a, K )為和讀者a興趣最接近的K個讀者,wab表示讀者a和讀者b的興趣相似度,rbi表示讀者b是否對內容項i產生過行為,如果產生過值為1,否則為0。
按照讀者行為畫像構成,生成對應的數據庫字段,同時把清洗過的讀者基本信息、圖書基本信息、空間服務類信息、讀者行為信息導入數據庫對應的表中。我們可以從數據庫查詢到讀者的信息如:性別、學院、讀者類型(本科生、研究生、教工),生成讀者特征表,計算讀者相似度,生成如性別—圖書相關表,表示不同性別讀者喜歡閱讀的圖書;讀者類型—圖書相關表,表示不同年級的讀者喜歡閱讀的圖書;學院—圖書相關表,表示不同專業的讀者經常借閱的圖書等特征—圖書相關表。將相關表中的圖書列表按照一定權重統籌管理,得到給讀者的最終推薦表。經反復計算可以把不同特征加以組合,特征條件越多,利用的讀者統計學特征越多,越能準確地預測讀者興趣。
以2018年6月份隨機抽取5位本科、男讀者圖書借閱記錄為例:表2為讀者—圖書借閱表,表示每位讀者借閱的圖書;表3為圖書—讀者倒排表,表示每一本圖書都有哪些讀者借閱。

表2 讀者—圖書借閱表

表3 圖書—讀者倒排表
建立5*5的讀者相似度矩陣,初始值為

針對每一本書為W矩陣對應位置賦值,使得矩陣W第i行第j列表示讀者i發生過行為的物品集合和讀者j發生過行為的物品集合的交集的物品數目。如圖書《數學建模競賽論文》,借閱過該圖書的讀者ID分別為001和002,對應矩陣W對應位置和加1,以此類推,可以得到最終W矩陣:

對應值代入公式2得到最終的讀者興趣相似度p。如對讀者001進行推薦,選取K=3,根據公式2計算,讀者001對《圖書雙城記》《放學后》《活著》的興趣度分別是0.741581,0.741581,0.333333,分別把他們推薦給讀者001。

3.2.1 讀者相似度對比分析
不考慮具體偏好值,通過曼哈頓距離(CityBlockSimilarity)、對數似然相似度(LogLikelihoodSimilarity)、谷本系數(TanimotoCoefficientSimilarity)計算讀者相似度。谷本系數表示用戶之間發生過行為的物品集合的交集與并集大小的比值。由兩個用戶共同發生過行為的物品數目除以至少一個用戶發生過行為的物品數目?;趯邓迫槐萚13]關注的是發生行為的物品中重疊占的比重,反映的是兩個用戶由于機緣巧合發生重疊的不可能性,即兩個相似用戶之間發生同樣行為不太可能是出于巧合,值越大,兩個用戶的相似度越高。曼哈頓距離也稱為城市街區距離,用于多維數據空間距離的度量。

圖2 不同相似度方法下的推薦算法相似度對比
隨機抽取數據集中6個用戶數據,分別采用基于對數似然比相似度、曼哈頓距離相似度和谷本系數相似度進行相似性度量對比,見圖2。圖2顯示了用戶2與其他用戶的相似度值,實驗結果表明基于對數似然比要比其他兩種相似性度量性能更優、更智能、可以更好地計算相似度。
3.2.2 推薦程序評估
在構建的讀者畫像數據中,只包含讀者和物品之間的關聯,很少有讀者的評分信息。事實上,我們主要關心的是存不存在行為,即讀者是否借閱了這本書或者讀者是否使用了這個座位?;谧x者特征的個性化信息推薦,根據讀者的行為數據進行深入挖掘,基于Mahout,采用基于布爾型輸入數據的推薦程序,根據數據的特征,將多個推薦引擎混搭,作出對讀者未來感興趣圖書的預測,提供理想的推薦。
我們無法準確知道讀者未來會借閱哪些圖書,引入經典的信息檢索度量標準查準率和召回率作為評估推薦算法的重要指標。查準率表示TopN結果中相關結果的比例。召回率表示所有相關結果出現在TopN推薦中的比例。采用清洗、整理后的圖書館讀者行為數據作為測試源數據,其中,讀者行為數據包括讀者ID(PatronNum)和圖書ID(ItemNum), 共六萬余條數據。
由于數據源不同,沒有一個標準的方法指導如何構建推薦程序,我們需要進行數據清洗、實驗和評估,反復進行嘗試性測試,尋找好的配置參數和方案。為了探討如何在推薦程序中高效地部署布爾型數據,配置并調整最相似用戶領域,我們把源數據分為測試集和訓練集,把訓練數據導入推薦程序中預測讀者行為,把測試數據進行仿真,之后把預測結果和真實值進行對照。預測結果和真實結果的對照采用預測值和真實值的平均差值(函數AverageAb soluteDifferenceRecommenderEvaluator)或者差值的均方根(RMSRecommenderEvaluator)進行計算,值越低意味著估計值和實際偏好值的差別越小。
以下實驗采用谷本系數相似度和對數似然相似度分別測試了引入特征的基于用戶的協同過濾推薦算法的性能,分析讀者相似度時涉及一個當前讀者行為最相似用戶鄰域K參數,即給當前讀者推薦K個讀者感興趣的圖書或者座位。

圖3 不同相似度下推薦算法查準率對比
圖3、圖4顯示了在不同相似度下推薦算法的性能指標評測結果,給出了TopN 中N=10時即為當前讀者推薦10個結果時的查準率和召回率對比。基于谷本系數的推薦算法中, K=83時,性能最好,查準率約19.49%,表示給當前讀者推薦的10個推薦結果中平均有約1/5推薦結果是好的。K=83時召回率約19.49%,表示約有1/5好的推薦包含在10個推薦結果中?;趯邓迫幌嗨贫鹊耐扑]算法中,K=2時性能最好,查準率和召回率都約為20.31%,K值為85時,性能次之,查準率和召回率都約為19.07%。總之,當K值在80左右,推薦程序性能良好。
同時,考慮預測值和真實值的平均差異,相似用戶鄰域包含的用戶數太少的情況下,性能不是很好,而當選擇k值為83左右會獲得比較高的查準率和召回率,故綜合權衡,我們采用引入時間特征,結合基于用戶的推薦算法、谷本系數相似性度量以及最相似讀者鄰域為83的方法作為推薦最佳方案。

圖4 不同相似度下推薦算法召回率對比
從海量的數據中挖掘信息,快速而準確地反饋給讀者感興趣的信息,并為之進行有針對性的服務,是提升圖書館服務的主要手段。本文借鑒了電子商務領域的用戶畫像概念,應用于圖書館服務,通過用戶畫像構建和讀者特征提取,深入挖掘讀者在圖書館的行為,向讀者推薦感興趣的信息。這種圖書館領域的數據分析和信息推薦,比泛泛的理論分析更具有實際研究意義。未來,推薦的構建需考慮讀者數據私密性因素,探討如何在推薦的同時更好地生成和展示推薦理由,進一步提高讀者對推薦信息的信任度和忠誠度。
(來稿時間:2018年12月)