黃麗 石松芳
摘 要:傳統(tǒng)推薦系統(tǒng)存在不以用戶關注度為導向、推薦信息分散、推薦效率低等弊端,針對該問題,通過深入挖掘用戶的關注度特征及瀏覽行為特征,分析用戶的潛在需求,以此為基礎,綜合基于類別關注度的信息推薦、基于主題詞的長期關注度推薦以及基于協(xié)同過濾的個性化推薦算法,采用模塊化的設計方法,提出一種基于用戶關注度的個性化推薦系統(tǒng)。實踐應用表明,該系統(tǒng)能夠幫助用戶從海量信息中快速、準確地找到自己關注的內容,對互聯(lián)網個性化信息服務具有一定的應用價值。
關鍵詞:個性化推薦;用戶關注度;信息數據
DOI:10.11907/rjdk.172779
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2018)005-0090-03
Abstract:The traditional recommendation system bears the disadvantages of lack of users attention, recommendation information dispersion,low recommendation efficiency, etc.In view of the problems, the system analyzes users potential requirements through in-depth mining of user attention characteristics and browsing behavior characteristics. Information recommendation based on category concern degree, long-term attention recommendation based on keywords and personalized recommendation algorithm based on collaborative filtering are integrated;the personalized recommendation system based on user attention in modular designing is proposed. It is proved that the system can help users find their own contents quickly and accurately from massive information and has application value in Internet personalized information service.
Key Words:personalized recommendation; user attention; information data
0 引言
互聯(lián)網進入大數據時代,如何從龐大的數據信息中獲取有用信息是當前互聯(lián)網研究的重點。搜索引擎通常根據用戶輸入的關鍵字返回搜索結果呈現給用戶,返回的結果往往是一個與關鍵字相關的巨大信息集合[1]。為了改善移動用戶瀏覽體驗,建立基于用戶關注度的個性化推薦系統(tǒng)尤為重要。本系統(tǒng)通過深入挖掘用戶信息、關注度特征、閱讀內容相似度及瀏覽行為特點,分析用戶的潛在需求和關注度偏好,建立推薦模型,從而幫助用戶快速、準確地找到自己感興趣的信息[2]。
1 基于用戶關注度的推薦算法
目前比較流行的推薦算法主要有基于內容的推薦[3]、基于關聯(lián)規(guī)則的推薦[4]和協(xié)同過濾推薦[5]。本系統(tǒng)綜合以上推薦算法,并在此基礎上進行改進,主要采用三種推薦算法,分別是基于類別關注度的信息推薦[6]、基于主題詞的長期關注度推薦以及基于協(xié)同過濾的個性化推薦[7]。綜合運用這些推薦算法,系統(tǒng)能夠完成用戶信息收集,為推薦提供依據,推薦算法流程如圖1所示。
用戶特征的生成主要分為用戶特征、用戶特征計算、用戶特征更新頻次以及用戶畫像修正。在基于類別關注度的信息推薦算法中,用戶特征計算是對用戶瀏覽的信息進行KL分類處理,通過類別設置分類標簽及類別權重。通過用戶信息瀏覽記錄可計算出用戶單日特征向量,這要求獲取用戶點擊過的相同類別文章數、點擊過文章的總數,以及各個類別占整體類別的分布。用戶特征更新的計算方式,主要是將用戶已有歷史的特征向量進行衰減(衰減系數設為0.85),最后再將單日特征向量同歷史特征向量進行疊加。
基于主題詞的長期關注度推薦模塊,主要是進行主題詞提取,提取方法采用基于TextRank的關鍵詞抽取方法[8]。數據源主要來自于用戶行為數據,既有批量數據又有實時數據。用戶特征主要是指用戶信息、用戶瀏覽列表、新聞主題詞以及特征權重。特征更新頻次及用戶畫像修正采取實時更新的模式,通過用戶瀏覽記錄,得到相應的特征向量,同時將得到的主題詞及相應的權重同用戶已有的歷史特征進行疊加。
基于協(xié)同過濾的個性化推薦[9]是根據用戶最近關注的信息進行興趣分類,提取用戶最近瀏覽的100條(或者最近72小時)訪問日志,完成用戶相似性計算,然后對不同興趣類別用戶進行聚類,從聚類結果中生成最近鄰,并按照用戶興趣在每類項目中所占的權重分配信息推薦數目。
2 系統(tǒng)功能模塊設計
系統(tǒng)功能模塊主要包括數據封裝、推薦引擎、短地址生成、容災處理、日志記錄、實例化推薦引擎調度、參數校驗和用戶處理等,下面對其中幾個主要功能模塊的實現作簡單介紹。
(1)數據封裝。數據封裝的主要功能是將推薦的結果轉化成為XML或者JSON兩類,方便后期進行調用。對于一些固定內容,比如ID、Name、短地址或者其它相關內容,都可以采取封裝的形式進行處理。數據封裝是一個技術優(yōu)化的過程,可以有效地避免很多重復計算,也是對數據進行加密的過程,可確保用戶的隱私以及相關信息不會被泄露。
(2)推薦引擎。推薦引擎是系統(tǒng)的核心,該模塊根據用戶行為特征,得到相應的信息推薦列表,提供給用戶查詢以及瀏覽信息,從而進行相關信息的推薦。通過線程池中引擎模塊的使用,獲取引擎的計算結果,對黑白用戶名單進行處理,對信息進行整合過濾,并進行最終排序,從而獲取數據的具體內容。候選信息主要是通過調用接口獲取,如果獲取的信息沒有用,則對數據進行放棄;而有用信息,則考慮是否存在限制問題,有限制則按照限制進行遍歷,沒有就對審核的信息進行推薦、調用內容整合之后的信息,再將信息存入推薦信息庫中并返回。推薦引擎整體流程圖如圖2所示。
(3)短地址生成。為了方便系統(tǒng)內部與外部網站URL的統(tǒng)一,系統(tǒng)專門設立了短地址生成模塊,方便URL管理。通過短地址可以直接獲取推薦平臺的相關信息,包括:推薦引擎、調用模塊、推薦位、時間等。短地址生成的主要作用是能夠方便用戶更好地進行頁面跳轉,更快捷地獲取熱點信息,或者用戶關注的信息,是一種系統(tǒng)優(yōu)化功能,具體流程如圖3所示。
(4)日志記錄。日志記錄也是個性化推薦系統(tǒng)的關鍵點。其中,沖浪WAP日志通過WAP日志手機號、訪問URL等字段,識別用戶標識ID以及根據用戶行為標注系統(tǒng)識別;GN日志是通過GN日志的手機號、IMEI號、URL等字段,識別用戶標識ID以及根據用戶行為標注系統(tǒng)識別;客戶端業(yè)務日志通過客戶端同步用戶標識ID、手機號、IMEI號、訪問內容ID、瀏覽時長、關注、評論、轉發(fā)等行為日志,識別用戶標識ID以及根據用戶的瀏覽和行為特征識別;推薦接口日志則通過寫本地緩存,根據接口調用,將數據優(yōu)先寫入到當天目錄的rec.log中。通過各種各樣的日志能夠準確地反映出用戶真實的關注度偏好,從而有助于個性化推薦系統(tǒng)的使用。
(5)實例化引擎調度執(zhí)行。在實例化引擎模塊中,首先讀取推薦引擎配置,這個過程優(yōu)先從緩存中讀取。如果緩存中不存在或緩存失效,那么就從數據庫表t_postmoduleconfig中讀取,然后寫入緩存,有效期為1小時。接下來讀取用戶個性化權重配置,這時需要查詢表Hbase user_module_weight。將以上參數匯總,同時調用引擎的類,實例化引擎,并且將引擎放到線程池中。對引擎進行實例化時,需要讀取ID對應的具體JAVA類,該數據記錄在properties配置文件moduleConfig.properties中,并且將各引擎放入線程池調度執(zhí)行。最后收集引擎執(zhí)行結果,匯總并返回,具體執(zhí)行流程如圖4所示。
另外,參數校驗對于系統(tǒng)運行是一項基礎性的工作,只有獲取到有效正確的參數,才能對推薦系統(tǒng)作進一步的研究。用戶處理模塊則是對整個系統(tǒng)起到用戶前期驗證的作用,可以避免一些無效操作,對于信息采集、系統(tǒng)優(yōu)化也有一定的幫助。
3 部分功能測試結果
系統(tǒng)以新聞信息個性化推薦為實例,功能測試部分統(tǒng)
計數據如表1所示。
對系統(tǒng)各功能的測試表明,所有用例均達到預設的效果,滿足系統(tǒng)設計的目標。
4 結論
個性化推薦應用領域非常廣泛,無論是電子商務應用,還是個人信息檢索,個性化推薦服務都有巨大的應用價值和研究價值[10]。隨著互聯(lián)網技術的發(fā)展,推薦系統(tǒng)各個模塊的功能也將得到補充和完善。考慮到用戶的需求具有多變性、復雜性特點[11],可以在后續(xù)研究中不斷改進和優(yōu)化。
參考文獻:
[1] 彭菲菲,錢旭.基于用戶關注度的個性化新聞推薦系統(tǒng)[J].計算機應用研究,2012,29(3):1005-1007.
[2] 陶俊, 張寧.基于用戶興趣分類的協(xié)同過濾推薦算法[J].計算機系統(tǒng)應用,2011,20(5):55-59.
[3] 張俊杰.基于用戶興趣模型的推薦算法及系統(tǒng)實現[D].上海大學,2014.
[4] ZHAO Z D, SHANG M S. User-based collaborative-filtering recommendation algorithms on hadoop[A]. Knowledge Discovery and DataMining, WKDD10 Third International Conference on IEEE[C].2010:478-481.
[5] KRZYWICKI A, WOBCKE W, CAI X. Interaction-based collaborative filtering methods for recommendation in online dating[A]. Web Information Systems Engineering-WISE 2010[C]. Springer BerlinHeidelberg,2010:342-356.
[6] PAZZANI M J, BILLSUS D. Content-based recommendation systems[J]. Lecture Notes in Computer Science,2007:325-341.
[7] 韋素云,業(yè)寧.基于項目類別和興趣度的協(xié)同過濾推薦算法[J].南京大學學報:自然科學版,2013,49(2):142-148.
[8] SARWAR B M, KARYPIS G, KONSTAN J, et al. Item based collaborative filtering recommendation algorithms[C].Proceedings of the 10th Conference on World Wide Web.New York:ACM Press,2001:285-295.
[9] DESHAPANDE M, KARYPIS G. Item-based top-n recommendation algorithms[J]. ACM Transactions on Information Systems,2004,22(1):143-177.
[10] ZHANG J Y, PEARL P. A recursive prediction algorithm for collaborative filtering recommender systems[A]. Proceedings of the 2007ACM Conference on Recommender Systems[C].ACM, 2007:57-64.
[11] 司書勇.基于用戶興趣模型的精準信息推薦技術研究與實現[D].北京:北京工業(yè)大學,2015.
(責任編輯:江 艷)