查英華++朱其慎
摘要:移動互聯網的發展和智能手機的普及,徹底改變了人們的閱讀習慣,幫助人們獲取最有效的閱讀資訊成為當今的研究熱點之一。本文使用基于標簽和評分的協同過濾算法(UTR-CF),設計并實現了基于Android的個性化推薦閱讀系統。系統分為服務端和客戶端,服務端定時從豆瓣讀書爬取圖書信息,根據圖書的評分和標簽、用戶圖書標簽,采用基于標簽和評分的協同過濾推薦技術實現個性化推薦;客戶端展示用戶感興趣的推薦結果,并將設置的圖書標簽、評分上傳到服務端。經測試,該系統能為用戶提供快速、準確的個性化閱讀需求。
關鍵詞:閱讀推薦; 協同過濾; 智能手機; 安卓平臺
中圖分類號: TP393
文獻標志碼: A
文章編號: 2095-2163(2016)06-0055-04
0引言
如今互聯網已經深入到人們生活的方方面面,信息的獲取異常容易,超鏈接文本的方式也使得信息的外延無限擴展,信息的豐富程度已經超出人們的想象,智能手機的普及徹底改變了人們的閱讀習慣,手機閱讀受到大家的追捧。但是,海量的電子書信息使人們獲取感興趣圖書的成本大大增加,日趨嚴重的“信息過載”迫切需要能隨時提供有價值的信息資訊的推薦服務,因此實現一個基于Android平臺的圖書閱讀推薦系統,為人們提供感興趣的圖書推薦服務變得非常必要。
個性化推薦是卡耐基
瘙 簚 梅隆大學的Robert Armstrong等人在1995年首次提出,實現原理是根據用戶的歷史行為數據挖掘興趣點,主動向用戶提供感興趣的信息[1]。個性化推薦的研究重點大多集中在推薦算法上,協同過濾算法是目前最常使用的成熟的推薦算法,主要分為基于用戶的協同過濾算法[2]和基于物品的協同過濾算法[3]。協同過濾算法通過挖掘用戶-物品之間(user-item)的二元關系,幫助用戶從大量數據中發現其可能感興趣的物品,再經由預測處理生成結果推薦以滿足個性化需求,實現流程如圖1所示[4]。
在實際應用中,每種推薦算法都不能完全滿足設計發展需求,本文在綜合探討Guo Zheng-Hong[5]、張秀杰[6]、李默[7]和高娜[8]等學術研究的成果基礎上,采用基于標簽和評分的協同過濾算法(UTR-CF),降低協同過濾算法的數據稀疏問題[9]對推薦質量的影響。
[BT4]1系統設計
[BT5]1.1系統需求描述
[HT5”SS][ST5”BZ]
本系統主要為用戶提供個性化的圖書推薦服務,系統從豆瓣讀書網站收集圖書信息、圖書標簽和標記次數等相關信息,同時將基于用戶對圖書建立的標簽和評分獲取用戶的閱讀偏好,設計建立用戶、標簽和圖書之間的模型,而后再通過基于標簽和評分的協同過濾算法的混合算法,即可實現向用戶推薦可能感興趣的圖書。利用本系統,用戶可以隨時獲取最新的、感興趣的圖書資訊,查看圖書詳情,為圖書評分以及獲得標簽設置,用戶使用得越頻繁,推薦就會越準確。
1.2系統總體設計
根據需求描述,基于手機應用的特點,本系統分為應用于客戶端和服務端。客戶端從服務端獲取個性化的圖書推薦列表,并向服務端發送用戶的標簽、圖書標簽和評分等各種行為數據,主要提供用戶設置標簽、查看推薦圖書列表及詳情、添加標簽和給圖書評分等功能。服務端一方面接收客戶端發出的請求,分析得到個性化的圖書列表,另一方面存儲用戶的各種行為數據,主要功能包括定時爬取圖書信息、建立和更新推薦圖書信息、推薦算法和數據存儲等,系統功能如圖2所示。
客戶端包括用戶感興趣的標簽設置、推薦列表、圖書標簽設置、圖書詳情展示和圖書評分等主要模塊。首次使用客戶端時,用戶必須先完成注冊,登錄驗證成功后進入系統,選擇感興趣的圖書標簽,服務端根據用戶選擇的圖書標簽和系統預設的熱門標簽完成首次的圖書推薦,解決冷啟動問題。用戶可能感興趣的圖書推薦列表由服務端根據用戶感興趣的標簽,使用混合推薦算法獲取,然后通過符合SOAP協議規范[10]的Web Service提供給客戶端。客戶端可以獲取圖書詳情,并將設置的圖書標簽、圖書評分等行為數據上傳服務端。
服務端由圖書信息爬取、推薦算法和Web Service接口等3個主要模塊組成,服務端定時解析豆瓣讀書獲取的圖書信息,解析得到最新的圖書信息、圖書的標簽、評分信息等存入數據庫;推薦算法通過數據庫的圖書標簽、圖書評分、用戶標簽及評分等行為數據生成推薦列表,存儲到數據庫,然后通過Web Service接口推送給客戶端;Web Service接口負責與客戶端的交互,將客戶端的用戶行為等信息存入數據庫,采用JSON格式的數據進行數據交換。
1.3數據庫設計
本系統采用MySQL數據庫存儲用戶、標簽、用戶標簽、圖書、圖書標簽、圖書評分、用戶圖書標簽等實體和實體之間的關系。其中,用戶表存儲用戶的姓名、郵箱、密碼等信息;標簽表存儲標簽名稱、標記次數等信息;用戶標簽表存儲用戶感興趣的標簽、標簽標記的次數等信息;圖書表存儲書號、書名、內容簡介、出版社等信息;圖書標簽表存儲圖書與標簽之間的關系以及被標記的次數等信息;圖書評分表存儲圖書的評分記錄等信息;用戶圖書標簽存儲用戶對喜歡的圖書的標簽、評分等信息。實體與實體之間的關系如圖3所示。