Collaborative filtering är den prediktiva processen bakom rekommendationsmotorer. Rekommendationsmotorer analyserar information om användare med liknande smak för att bedöma sannolikheten för att en målindivid kommer att tycka om något, t.ex. en video, en bok eller en produkt. Kollaborativ filtrering kallas även social filtrering.
Kollaborativ filtrering använder algoritmer för att filtrera data från användarrecensioner för att göra personliga rekommendationer för användare med liknande preferenser. Kollaborativ filtrering används också för att välja innehåll och reklam för individer på sociala medier.
Tre typer av kollaborativ filtrering som vanligen används i rekommendationssystem är grannbaserad, objekt-till-objekt- och klassificeringsbaserad.
I grannbaserad filtrering väljs användarna ut på grund av deras likhet med den aktiva användaren. Denna likhet bestäms genom att matcha användare som har skrivit liknande recensioner. På grundval av den tidigare likheten antas det att framtida gillanden och ogillanden också kommer att vara likartade. Utifrån gruppens genomsnittliga betyg görs rekommendationer för den aktiva användaren.
En filtreringsprocess från objekt till objekt använder en matris för att bestämma likheten mellan par av objekt. Processen för objekt till objekt jämför sedan den aktuella användarens preferenser med objekten i matrisen för att hitta likheter som kan ligga till grund för rekommendationer.
Ett klassificeringsbaserat kollaborativt filtreringssystem rekommenderar saker baserat på hur likartade användarna tyckte om den klassificeringen eller genren. Det antas att användare som gillar eller inte gillar liknande upplevelser inom en klassificering också kommer att gilla andra inom den klassificeringen.
Vissa kollaborativa filtreringssystem är minnesbaserade, som grann- och objekt-till-objekt-modeller, som jämför likheter mellan användare eller objekt. Andra är modellbaserade och använder maskininlärning för att jämföra olika objekt. Modellbaserade system kan använda algoritmer som Markovs beslutsprocess för att förutsäga betyg för objekt som ännu inte har granskats. Hybridsystem innehåller funktioner från både minnesbaserad och modellbaserad filtrering.
Rekommendationssystem används för att ge förslag till alla typer av webbplatser och tjänster. Ändå kan de stöta på ett antal svårigheter. Den ringa mängden betyg är ett av de största hindren för att kollaborativ filtrering ska vara användbar i system med många objekt. Nya objekt tenderar också att vara svåra att ge rekommendationer för. I nya rekommendationssystem är det svårt att ge bra rekommendationer innan tillräckligt många användare har skrivit recensioner. Samtidigt kan dock alltför många användaromdömen vara en utmaning för vissa system eftersom de ger enorma datamängder.