„Opouštíme věk informací a vstupujeme do věku doporučení.“
Podobně jako mnoho jiných technik strojového učení vytváří doporučovací systém předpovědi na základě historického chování uživatelů. Konkrétně jde o předpovídání preferencí uživatele pro sadu položek na základě minulých zkušeností. K vytvoření doporučovacího systému jsou nejoblíbenější dva přístupy: přístup založený na obsahu a přístup založený na kolaborativním filtrování.
Přístup založený na obsahu vyžaduje dobré množství informací o vlastních vlastnostech položek, spíše než využití interakcí a zpětných vazeb uživatelů. Mohou to být například atributy filmů, jako je žánr, rok, režisér, herec atd. nebo textový obsah článků, který lze extrahovat použitím zpracování přirozeného jazyka. Kolaborativní filtrování naproti tomu nepotřebuje nic jiného než historické preference uživatelů na sadu položek. Protože je založeno na historických datech, základním předpokladem zde je, že uživatelé, kteří souhlasili v minulosti, mají tendenci souhlasit i v budoucnosti. Pokud jde o preference uživatelů, obvykle se vyjadřují dvěma kategoriemi. Explicitní hodnocení, je hodnocení, které uživatel uděluje položce na klouzavé stupnici, například 5 hvězdiček pro Titanic. Jedná se o nejpřímější zpětnou vazbu od uživatelů, která ukazuje, jak moc se jim položka líbí. Implicitní hodnocení, naznačuje preference uživatelů nepřímo, například zobrazení stránky, kliknutí, záznamy o nákupu, zda poslouchat či neposlouchat hudební skladbu atd. V tomto článku se blíže podívám na kolaborativní filtrování, které je tradičním a výkonným nástrojem doporučovacích systémů.
Standardní metoda kolaborativního filtrování je známá jako algoritmus nejbližšího okolí. Existuje CF založený na uživateli a CF založený na položkách. Podívejme se nejprve na CF založený na uživateli. Máme matici n × m hodnocení s uživatelem uᵢ, i = 1, …n a položkou pⱼ, j=1, …m. Nyní chceme předpovědět hodnocení rᵢⱼ, pokud cílový uživatel i nesledoval/nehodnotil položku j. Postup je takový, že vypočítáme podobnosti mezi cílovým uživatelem i a všemi ostatními uživateli, vybereme X nejpodobnějších uživatelů a jako váhy vezmeme vážený průměr hodnocení těchto X uživatelů s podobnostmi.
Různí lidé mohou mít při hodnocení různá východiska, někteří mají tendenci dávat obecně vysoké známky, někteří jsou dost přísní, i když jsou s položkami spokojeni. Abychom se vyhnuli tomuto zkreslení, můžeme při výpočtu váženého průměru odečíst průměrné hodnocení všech položek každého uživatele a pro cílového uživatele ho zpětně přičíst, jak je uvedeno níže.