顧陽,李敏,李華
(廣西師范學院計算機與信息工程學院,南寧 530023)
協同過濾在推薦系統中的應用
顧陽,李敏,李華
(廣西師范學院計算機與信息工程學院,南寧 530023)
互聯網的迅猛發展帶來信息超載問題,用戶在面對海量信息時無法及時獲取有用信息,降低信息使用效率。推薦系統是解決信息超載問題的一個有效辦法,它利用用戶數據并從中提取出用戶的需求、興趣等,再將用戶所需的信息、產品等推薦給用戶。推薦系統現已廣泛應用于諸多領域,逐步形成一門獨立的學科。
隨著信息技術與互聯網的發展,人們逐漸從信息匱乏的時代走入信息過載(Information Overload)[1]的時代。在這樣的環境下,無論是信息的消費者還是生產者都面臨極大的挑戰。對于信息的消費者而言,如何能在短時間內從海量信息中找到自己感興趣的或者需要的信息成為了一件非常困難的事情。而對于信息生產者而言,如何讓自己生產的信息獲得用戶的關注與青睞,也成為了一件非常困難的事情。推薦系統(Rec?ommender System)[2]就是解決這一矛盾的重要工具。推薦系統的任務在于把用戶和信息聯系起來,一方面幫助用戶及時發現對自己有價值或感興趣的信息,另一方面幫助信息能有效呈現在對它有所需的用戶面前,以此來實現信息消費者和信息生產者的共贏。
推薦系統通過采集用戶數據,計算發現用戶的需求和興趣,從而幫助用戶得到有價值的信息。優秀的推薦系統不僅能為用戶提供個性化推薦,還能和用戶建立密切關系,讓用戶對服務產生依賴。
推薦系統通常由3個重要的任務組成:對用戶數據建模、對推薦對象建模、選擇合適的推薦算法與策略。常見的推薦系統模型如圖1。

圖1 推薦系統模型
推薦系統先在用戶模型和物品模型中添加特征信息,依據特征信息比對并使用合適的推薦算法進行計算,找到用戶可能需要的或者感興趣的信息或者物品等推薦給用戶。
推薦系統根據不同的指標可以分成不同的類型。根據用戶群體可分為:基于大眾行為的推薦和個性化推薦;根據數據來源可分為:基于人口統計學的推薦(De?mographic-based Recommendation)、基于內容的推薦(Content-based Recommendation)、基于協同過濾的推薦(Collaborative Filtering-based Recommendation);根據推薦模型的建立方式可分為:基于物品和用戶本身的推薦、基于關聯規則的推薦(Rule-based Recommendation)、基于模型的推薦(Model-based Recommendation)。
伴隨著網絡的發展,當下的網站更加看重用戶的參與和貢獻,于是基于協同過濾的推薦機制應運而生。它的基本原理是依據收集的用戶數據,計算發現用戶對物品或者信息的需求以及偏好,通過尋找物品或者內容本身的相關性,或是用戶的相關性,然后基于這些關聯生成推薦結果。基于協同過濾的推薦可以分為三個子類:基于用戶的推薦(User-based Recommen?dation),基于物品的推薦(Item-based Recommendation)和基于模型的推薦。
基于用戶的協同過濾推薦原理是根據所有用戶對物品或者信息的偏好,發現與當前用戶偏好相似的“鄰居”用戶群,然后基于鄰居們的歷史偏好信息,為當前用戶進行推薦。
基于物品的協同過濾推薦使用所有用戶對物品或者信息的偏好,發現物品或信息之間的相似度,然后根據用戶的歷史偏好信息,將相似的物品推薦給用戶。
基于模型的協同過濾推薦會基于樣本的用戶喜好信息,訓練一個推薦模型,然后根據實時的用戶喜好的信息進行預測,計算推薦。
協同過濾的實現主要依賴幾個關鍵步驟:收集用戶偏好,找到相似的用戶或物品,計算推薦。
用戶偏好又分為顯性和隱性行為。顯性行為有:評分、投票、轉發、保存書簽、評論等。隱性行為有:點擊、購買、頁面停留等。對不同行為進行加權,得到用戶對于物品的總體喜好。一般來說,顯式的用戶反饋比隱式的權值大,但比較稀疏;同時相對于查看,購買行為反映用戶喜好的程度更大,但也因應用而異。
有關相似度的計算,主流方法是計算兩個向量的距離,距離越近相似度越大。常用的計算方法有歐氏距離(Euclidean Distance):假設 x,y是 n維空間的兩個點,它們之間的歐幾里德距離是:

再用以下公式進行轉換:

除此之外還有皮爾遜相關系數(Pearson Correla?tion Coefficient)。皮爾遜相關系數一般用于計算兩個定距變量間聯系的緊密程度,它的取值在[-1,+1]之間。sx,sy是x和y的樣品標準偏差。

計算推薦主要分為基于用戶和基于物品。從計算復雜度角度來說,對電子商務網站而言,用戶的數量往往大大超過物品的數量,同時物品的數據相對穩定,因此計算物品的相似度不但計算量較小,同時也不必頻繁更新。但是對于新聞,博客類推薦系統,情況往往相反,物品的數量是海量的,同時也是更新頻繁的,所以單從復雜度的角度,這兩個算法在不同的系統中各有優勢。在適用場景上,當今流行的社交網絡中,基于用戶的協同過濾是一個更好的選擇,結合社會關系網絡,可以增加用戶對推薦解釋的信服度。
基于協同過濾的推薦機制是現今應用最廣泛的推薦機制,有以下顯著優點:
(1)不需要對物品或用戶進行嚴格建模。
(2)不要求物品的描述是機器可理解的。
(3)方法無關領域。
但是同時也存在一些不足:
(1)由于方法的核心是基于歷史數據,所以對新物品和新用戶都有“冷啟動”的問題。
(2)推薦的效果依賴于用戶歷史偏好數據的多少和準確性。在大部分的實現中,用戶歷史偏好是用稀疏矩陣進行存儲的,而稀疏矩陣的計算會出現影響精確度的可能。
(3)由于以歷史數據為基礎,在對用戶偏好進行抓取和建模后,很難修改或者根據用戶的使用情況實時更新。
(4)對于一些特殊品味的用戶不能給予很好的推薦。
推薦系統幫助用戶在海量信息資源中搜尋有價值的信息,節約用戶的時間成本,同時提高了用戶對網站的忠誠度,增加網站收益[3]。由于巨大的應用需求,推薦系統得到學術界和企業界的廣泛關注[3]。推薦系統已經在電子商務、社交網絡、圖書館、視頻和音樂點播等領域得到廣泛應用,而協同過濾作為推薦系統當下的主流技術將會在研究人員的共同努力下獲得更大的提升。
[1]Borchers A,Herlocker J,Konstan J,et al.Ganging up on Information Overload.Computer,1998,31(4):106-108
[2]Resnick P,Varian H R.Recommender Systems.Communications of the ACM,1997,40(3):56-58
[3]冷亞軍,陸青,梁昌勇.協同過濾推薦技術綜述.模式識別與人工智能,2014.8
Application of Collaborative Filtering in Recommender System
GU Yang,LI Min,LI Hua
(College of Computer and Information Engineering,Guangxi Teachers Education University,Nanning 530023)
The rapid development of the Internet has brought the problem of information overload.The failure of the user to obtain information timely leads to a reduction in efficiency.The recommender system is an effective way to solve the information overload problem.It can read the us?er data to recommend useful information or products.The recommender system is now widely used in many fields,and gradually formed an independent discipline.
信息超載;推薦系統;協同過濾
1007-1423(2017)28-0065-03
10.3969/j.issn.1007-1423.2017.28.017
顧陽(1991-),男,江蘇淮安人,碩士研究生,研究方向為機器學習、推薦系統
李敏(1992-),男,廣西玉林人,碩士研究生,研究方向為機器學習、大數據方向
李華(1993-),男,廣西玉林人,碩士研究生,研究方向為機器學習、大數據方向
2017-08-25
2017-09-30
Information Overload;Recommender System;Collaborative Filtering