協同過濾

協同過濾

協同過濾簡單來說是利用某興趣相投、擁有共同經驗之群體的喜好來推薦用戶感興趣的信息,個人通過合作的機制給予信息相當程度的回應(如評分)並記錄下來以達到過濾的目的進而幫助別人篩選信息,回應不一定局限於特別感興趣的,特別不感興趣信息的紀錄也相當重要。

協同過濾又可分為評比(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)。

算法介紹

電子商務推薦系統的一種主要算法。
協同過濾推薦(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…等,根據對一個樣本的分析得到模型。

未來發展

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

相關詞條

熱門詞條

聯絡我們