複製鏈接
請複製以下鏈接發送給好友

協同過濾

鎖定
協同過濾簡單來説是利用某興趣相投、擁有共同經驗之羣體的喜好來推薦用户感興趣的信息,個人通過合作的機制給予信息相當程度的迴應(如評分)並記錄下來以達到過濾的目的進而幫助別人篩選信息,迴應不一定侷限於特別感興趣的,特別不感興趣信息的紀錄也相當重要。
協同過濾又可分為評比(rating)或者羣體過濾(social filtering)協同過濾以其出色的速度和健壯性,在全球互聯網領域炙手可熱。
中文名
協同過濾
外文名
Collaborative Filtering
簡    介
電子商務推薦系統的一種主要算法
分    類
在線社交網絡分析術語
相    關
評比

協同過濾發展簡史

以下就“協同過濾”發展歷史上幾個重要的里程碑做相關闡述:
Tapestry(1992)
這是最早應用協同過濾系統的設計,主要是解決Xerox公司在Palo Alto的研究中心資訊過載的問題。這個研究中心的員工每天會收到非常多的電子郵件卻無從篩選分類,於是研究中心便發展這項實驗性的郵件系統來幫助員工解決這項問題。 其運作機制大致如下:
個人決定自己的感興趣的郵件類型;個人旋即隨機發出一項資訊需求,可預測的結果是會收到非常多相關的文件;從這些文件中個人選出至少三筆資料是其認為有用、會想要看的;系統便將之記錄起來成為個人郵件系統內的過濾器,從此以後經過過濾的文件會最先送達信箱;以上是協同過濾最早的應用,接下來的里程碑為GroupLens。
GroupLens(1994)
這個系統主要是應用在新聞的篩選上,幫助新聞的閲聽者過濾其感興趣的新聞內容,閲聽者看過內容後給一個評比的分數,系統會將分數記錄起來以備未來參考之用,假設前提是閲聽者以前感興趣的東西在未來也會有興趣閲聽,若閲聽者不願揭露自己的身分也可以匿名進行評分。 和Tapestry不同之處有兩點,首先,Tapestry專指一個點(如一個網站內、一個系統內)的過濾機制;GroupLens則是跨點跨系統的新聞過濾機制。再來,Tapestry不會將同一筆資料的評比總和起來;GroupLens會將同一筆資料從不同使用者得到的評比加總。
GroupLens具有以下特點:開放性:所有的新聞閲聽者皆可使用,雖然系統委託Better Bit Bureau設計給分的系統,但若有不同的評分機制也適用於GroupLens。方便性:給分並不是一件困難的事情且溝通上非常方便,評分結果容易詮釋。規模性:有可能發展成大規模的系統,一旦發展成大規模,儲存空間與計算成本問題顯得相當棘手。隱密性:如果使用者不想讓別人知道他是誰,別人就不會知道。由此可以看出,現今網絡各個推薦系統的雛形已然形成,在GroupLens之後還有性質相近的MovieLens,電影推薦系統;Ringo,音樂推薦系統;Video Recommender,影音推薦系統;以及Jster,笑話推薦系統等等。乃至於YouTube、aNobii皆是相似性值得網絡推薦平台,較不同的是經過時間推移,網絡越來越發達,使用者越來越多,系統也發展得越來越嚴密。
電子商務的推薦系統
最著名的電子商務推薦系統應屬亞馬遜網絡書店,顧客選擇一本自己感興趣的書籍,馬上會在底下看到一行“Customer Who Bought This Item Also Bought”,亞馬遜是在“對同樣一本書有興趣的讀者們興趣在某種程度上相近”的假設前提下提供這樣的推薦,此舉也成為亞馬遜網絡書店為人所津津樂道的一項服務,各網絡書店也跟進做這樣的推薦服務如台灣的博客來網絡書店。 另外一個著名的例子是Facebook的廣告,系統根據個人資料、周遭朋友感興趣的廣告等等對個人提供廣告推銷,也是一項協同過濾重要的里程碑,和前二者Tapestry、GroupLens不同的是在這裏雖然商業氣息濃厚同時還是帶給使用者很大的方便。 以上為三項協同過濾發展上重要的里程碑,從早期單一系統內的郵件、文件過濾,到跨系統的新聞、電影、音樂過濾,乃至於橫行互聯網的電子商務,雖然目的不太相同,但帶給使用者的方便是大家都不能否定的。

協同過濾優缺點

協同過濾優點

以用户的角度來推薦的協同過濾系統有下列優點:
能夠過濾機器難以自動內容分析的信息,如藝術品,音樂等。
共用其他人的經驗,避免了內容分析的不完全或不精確,並且能夠基於一些複雜的,難以表述的概念(如信息質量、個人品味)進行過濾。
有推薦新信息的能力。可以發現內容上完全不相似的信息,用户對推薦信息的內容事先是預料不到的。可以發現用户潛在的但自己尚未發現的興趣偏好。
推薦個性化、自動化程度高、能夠有效的利用其他相似用户的回饋信息、加快個性化學習的速度。

協同過濾缺點

雖然協同過濾作為一推薦機制有其相當的應用,但協同過濾仍有許多的問題需要解決。整體而言,最典型的問題有
新用户問題(New User Problem) 系統開始時推薦質量較差;
新項目問題(New Item Problem) 質量取決於歷史數據集;
稀疏性問題(Sparsity);
系統延伸性問題(Scalability) [1] 

協同過濾算法介紹

電子商務推薦系統的一種主要算法。
協同過濾推薦算法 協同過濾推薦算法
協同過濾推薦(Collaborative Filtering recommendation)是在信息過濾和信息系統中正迅速成為一項很受歡迎的技術。與傳統的基於內容過濾直接分析內容進行推薦不同,協同過濾分析用户興趣,在用户羣中找到指定用户的相似(興趣)用户,綜合這些相似用户對某一信息的評價,形成系統對該指定用户對此信息的喜好程度預測。
與傳統文本過濾相比,協同過濾有下列優點:
(1)能夠過濾難以進行機器自動基於內容分析的信息。如藝術品、音樂;
(2)能夠基於一些複雜的,難以表達的概念(信息質量、品位)進行過濾;
(3)推薦的新穎性。
正因為如此,協同過濾在商業應用上也取得了不錯的成績。Amazon,CDNow,MovieFinder,都採用了協同過濾的技術來提高服務質量。
缺點是:
(1)用户對商品的評價非常稀疏,這樣基於用户的評價所得到的用户間的相似性可能不準確(即稀疏性問題);
(2)隨着用户和商品的增多,系統的性能會越來越低;
(3)如果從來沒有用户對某一商品加以評價,則這個商品就不可能被推薦(即最初評價問題)。
因此,電子商務推薦系統都採用了幾種技術相結合的推薦技術。
案例: AMAZON個性化推薦系統先驅 (基於協同過濾)
AMAZON是一個虛擬的網上書店,它沒有自己的店面,而是在網上進行在線銷售。它提供了高質量的綜合節目數據庫和檢索系統,用户可以在網上查詢有關圖書的信息。如果用户需要購買的話,可以把選擇的書放在虛擬購書籃中,最後查看購書籃中的商品,選擇合適的服務方式並且提交訂單,這樣讀者所選購的書在幾天後就可以送到家。
AMAZON書店還提供先進的個性化推薦功能,能為不同興趣偏好的用户自動推薦儘量符合其興趣需要的書籍。 AMAZON使用推薦軟件對讀者曾經購買過的書以及該讀者對其他書的評價進行分析後,將向讀者推薦他可能喜歡的新書,只要鼠標點一下,就可以買到該書;AMAZON能對顧客購買過的東西進行自動分析,然後因人而異的提出合適的建議。讀者的信息將被再次保存,這樣顧客下次來時就能更容易的買到想要的書。此外,完善的售後服務也是AMAZON的優勢,讀者可以在拿到書籍的30天內,將完好無損的書和音樂光盤退回AMAZON,AMAZON將原價退款。當然AMAZON的成功還不止於此,如果一位顧客在AMAZON購買一本書,下次他再次訪問時,映入眼簾的首先是這位顧客的名字和歡迎的字樣

協同過濾算法細分

以用户為基礎(User-based)的協同過濾
用相似統計的方法得到具有相似愛好或者興趣的相鄰用户,所以稱之為以用户為基礎(User-based)的協同過濾或基於鄰居的協同過濾(Neighbor-based Collaborative Filtering)。 方法步驟:
1.收集用户信息
收集可以代表用户興趣的信息。一般的網站系統使用評分的方式或是給予評價,這種方式被稱為“主動評分”。另外一種是“被動評分”,是根據用户的行為模式由系統代替用户完成評價,不需要用户直接打分或輸入評價數據。電子商務網站在被動評分的數據獲取上有其優勢,用户購買的商品記錄是相當有用的數據
2.最近鄰搜索(Nearest neighbor search, NNS)
以用户為基礎(User-based)的協同過濾的出發點是與用户興趣愛好相同的另一組用户,就是計算兩個用户的相似度。例如:查找n個和A有相似興趣用户,把他們對M的評分作為A對M的評分預測。一般會根據數據的不同選擇不同的算法,較多使用的相似度算法有Pearson Correlation Coefficient、Cosine-based Similarity、Adjusted Cosine Similarity。
3.產生推薦結果
有了最近鄰集合,就可以對目標用户的興趣進行預測,產生推薦結果。依據推薦目的的不同進行不同形式的推薦,較常見的推薦結果有Top-N 推薦和關係推薦。Top-N 推薦是針對個體用户產生,對每個人產生不一樣的結果,例如:通過對A用户的最近鄰用户進行統計,選擇出現頻率高且在A用户的評分項目中不存在的,作為推薦結果。關係推薦是對最近鄰用户的記錄進行關係規則(association rules)挖掘
以項目為基礎(Item-based)的協同過濾
以用户為基礎的協同推薦算法隨着用户數量的增多,計算的時間就會變長,所以在2001年Sarwar提出了基於項目的協同過濾推薦算法(Item-based Collaborative Filtering Algorithms)。以項目為基礎的協同過濾方法有一個基本的假設“能夠引起用户興趣的項目,必定與其之前評分高的項目相似”,通過計算項目之間的相似性來代替用户之間的相似性。 方法步驟:
1.收集用户信息
同以用户為基礎(User-based)的協同過濾。
2.針對項目的最近鄰搜索
先計算已評價項目和待預測項目的相似度,並以相似度作為權重,加權各已評價項目的分數,得到待預測項目的預測值。例如:要對項目 A 和項目 B 進行相似性計算,要先找出同時對 A 和 B 打過分的組合,對這些組合進行相似度計算,常用的算法同以用户為基礎(User-based)的協同過濾。
3.產生推薦結果
以項目為基礎的協同過濾不用考慮用户間的差別,所以精度比較差。但是卻不需要用户的歷史數據,或是進行用户識別。對於項目來講,它們之間的相似性要穩定很多,因此可以離線完成工作量最大的相似性計算步驟,從而降低了在線計算量,提高推薦效率,尤其是在用户多於項目的情形下尤為顯著
以模型為基礎(Model- based)的協同過濾
以用户為基礎(User-based)的協同過濾和以項目為基礎(Item-based)的協同過濾統稱為以記憶為基礎(Memory based)的協同過濾技術,他們共有的缺點是數據稀疏,難以處理大數據量影響即時結果,因此發展出以模型為基礎的協同過濾技術。 以模型為基礎的協同過濾(Model-based Collaborative Filtering)是先用歷史數據得到一個模型,再用此模型進行預測。以模型為基礎的協同過濾廣泛使用的技術包括Latent Semantic Indexing、Bayesian Networks…等,根據對一個樣本的分析得到模型 [2] 

協同過濾未來發展

Item-based的推薦算法能解決User-based協同過濾的一些問題,但其仍有許多問題需要解決,最典型的有稀疏問題(Sparsity)和冷引導問題(Cold-start),冷引導時效果較差。此外還有新用户問題和算法健壯性等問題。協同過濾作為一種典型的推薦技術有相當的應用,很多技術都是圍繞協同過濾而展開研究的。在信息種類、表達方式越來越多的時代,舊式的信息分類過濾系統無法滿足的地方,期許未來能用協同過濾的方法來解決 [3] 
參考資料