Yhteistyösuodatus on suosittelumoottoreiden taustalla oleva ennakointiprosessi. Suosittelumoottorit analysoivat tietoja käyttäjistä, joilla on samankaltainen maku, arvioidakseen todennäköisyyttä, että kohdehenkilö nauttii jostakin, kuten videosta, kirjasta tai tuotteesta. Yhteistyösuodatus tunnetaan myös nimellä sosiaalinen suodatus.
Yhteistyösuodatus käyttää algoritmeja suodattamaan käyttäjien arvosteluista saatuja tietoja, jotta käyttäjille, joilla on samankaltaiset mieltymykset, voidaan tehdä henkilökohtaisia suosituksia. Yhteistyösuodatusta käytetään myös sisällön ja mainonnan valitsemiseen yksilöille sosiaalisessa mediassa.
Kolme suosittelujärjestelmissä yleisesti käytettyä yhteistoiminnallisen suodatuksen tyyppiä ovat naapuripohjainen, kohdekohtainen ja luokitteluun perustuva.
Naapuripohjaisessa suodatuksessa käyttäjät valitaan sen perusteella, kuinka samankaltaisia he ovat aktiivisen käyttäjän kanssa. Tämä samankaltaisuus määritetään vertailemalla käyttäjiä, jotka ovat lähettäneet samanlaisia arvosteluja. Aiemman samankaltaisuuden perusteella oletetaan, että myös tulevat tykkäykset ovat samankaltaisia. Ryhmän keskimääräisen arvostelun perusteella tehdään suosituksia aktiiviselle käyttäjälle.
Kohteiden välisessä suodatusprosessissa käytetään matriisia kohteiden parien samankaltaisuuden määrittämiseen. Item-to-item-prosessit vertaavat sitten nykyisen käyttäjän mieltymystä matriisissa oleviin kohteisiin löytääkseen samankaltaisuuksia, joihin suositukset perustuvat.
Luokitteluun perustuva yhteissuodatusjärjestelmä suosittelee asioita sen perusteella, kuinka samankaltaisista käyttäjistä käyttäjät pitivät kyseisestä luokituksesta tai genrestä. Oletetaan, että käyttäjät, jotka nauttivat tai eivät pidä samanlaisista kokemuksista luokituksen sisällä, nauttivat myös muista saman luokituksen sisällä.
Jotkut yhteissuodatusjärjestelmät ovat muistipohjaisia, kuten naapuri- ja kohdekohtaiset mallit, jotka vertaavat käyttäjien tai kohteiden samankaltaisuuksia. Toiset ovat mallipohjaisia, jotka käyttävät koneoppimista erilaisten kohteiden vertailuun. Mallipohjaiset järjestelmät voivat käyttää algoritmeja, kuten Markovin päätöksentekoprosessia, ennustamaan arvosanoja kohteille, joita ei ole vielä arvosteltu. Hybridijärjestelmät sisältävät sekä muistipohjaisen että mallipohjaisen suodatuksen piirteitä.
Suositusjärjestelmiä käytetään tarjoamaan ehdotuksia kaikenlaisista verkkosivustoista ja palveluista. Silti ne voivat kohdata useita vaikeuksia. Arvostelujen harvalukuisuus on yksi suurimmista esteistä kollaboratiivisen suodatuksen käyttökelpoisuudelle järjestelmissä, joissa on paljon kohteita. Myös uusia kohteita on yleensä vaikea suositella. Uusissa suosittelujärjestelmissä on vaikea antaa hyviä suosituksia, ennen kuin tarpeeksi moni käyttäjä on antanut arvosteluja. Samaan aikaan kuitenkin liian monet käyttäjien arvostelut voivat olla haastavia joillekin järjestelmille, koska ne muodostavat valtavia tietokokonaisuuksia.