協同過濾(collaborative filtering)是一種推薦系統的推薦策略,此種方法會分析已在系統中的使用者間、商品之間的相依關係,以推論使用者、商品間的關聯,然而此方法需要基於已知的使用者、商品互動資訊方能進行,其推論結果相較內容過濾準確,但不利推論新商品或是新的使用者行為,對於冷啟動問題有一定的難度,在這方面是內容過濾方法略勝一籌。
協同過濾有兩種實現的方法:
Neighborhood Methods,此方法專注於商品(或使用者)之間的鄰近關係,因此當需要針對未知的商品進行評分,首先需要找到與該商品互動過的使用者,再依據使用者互動過的其他商品評分推論出來。反之針對使用者進行推薦商品,只需要找到該使用者過去看過的其他商品有哪些使用者也互動過,接著再找出該使用者未互動過的商品進行推薦即可。
Latent Factor Models,此方法嘗試找出使用者和商品互動中的潛在因素(latent factor),並將這些因素壓縮低維度於向量空間表示,其中會以自動化計算的方式取得以取代人工選取的特徵,明顯的特徵如電影中的演員、電影種類、導演、電影時間等和使用者的年齡、性別等,和其他影響力小,甚至是人不易察覺的特徵都會被向量所表達,向量的維度越高,其所能代表的潛在因素則越多。而最終所有的使用者和商品會由向量所代表,該向量每個維度一定程度量化了每一個潛在因素的多寡,因此在進行推薦時,只需要透過內積計算每一使用者、商品的相似度最後再由大至小進行排序,即可進行推薦。最常見的 Latent Factor Model 實作模型為 Matrix Factorization Model