# Capitolo 1: Introduzione ai sistemi di raccomandazione (Parte 1) ### What is a recommender system, and how does it differ from a regular information filtering system? Per sistema di raccomandazione si intende un sistema di *information filtering* il cui scopo è quello di predire il rating che un utente assegnerebbe a un certo *item*, mentre i classici sistemi di information filtering si limitano a ricercare le informazioni solo sulla base delle query degli utenti. Le principali differenze: - non è richiesta (sempre) una query esplicita - l'utente non sa cosa vuole e si aspetta che il sistema lo sappia per lui (non sa qual è il suo bisogno ma si aspetta che il sistema lo soddisfi) - serendipity: ci si aspetta che il sistema ti stupusca con qualcosa che non ti aspetti - ci si aspetta molta personalizzazione - ci si aspetta novelty (novità) Invece possono essere delle similitudini: - entrambe servono a filtrare (evitare il sovraccarico di informazioni) - entrambe devono gestire il problema della long tail (servire le nicchie e non solo le richieste più popolari) ### Provide examples of well-known companies that heavily rely on recommender systems for their business models. What are their revenue and subscriber/user statistics? - Netflix (222 milioni di utenti e 24.9 milioni $) - Amazon (terza compagnia al mondo per fatturato) - Spotify (422 milioni di utenti e fatturato triplicato in 5 anni) - ... ### Provide some areas of application for recommender systems. What are some of the benefits of using recommender systems in these areas? - E-commerce, - Product discovery: associare i gusti degli utenti su cataloghi molto ampi di prodotti, - Programmi di fedeltà più specifici in base alle azioni degli utenti aumentando così l'engagement, - Campagne email con particolare riferimento agli utenti inattivi, - Motori di ricerca: personalizzazione dell'ordine dei risultati, product discovery, ecc... ### What is the main challenge associated with information overload on the internet, and how do recommender systems help address this challenge? La quantità di informazioni presenti sul web è talmente elevata che effettuare anche semplici ricerche può portare a problemi di *information overload* (ossia quando vengono date all'utente più informazioni di quelle strettamente necessarie). In questo contesto i sistemi di raccomandazione hanno due importanti compiti: - filtrare le informazioni in base all'utente (user experience) - mitigare il fenomeno del long-tail (fornire le informazioni riguardanti anche e soprattutto gli item meno popolari) ### Differentiate between personalized and non-personalized recommender systems. Give an example scenario for each type. I sistemi di raccomandazione personalizzati sono quelli che prevedono la **registrazione** dell'utente per cui utilizzano sia i dati dell'utente stesso sia i dati collettivi per fornire le raccomandazioni. Esempio: Elmo accede a un sito di e-commerce a cui è registrato. Il sistema analizza tutti i dati relativi agli acquisti precedenti, tra cui è presente l'acquisto di un IPhone per cui il sistema mostrerà in alto nella pagina accessori per IPhone e farà lo stesso per gli utenti che considera più "simili" ad Elmo. I sistemi di raccomandazione non personalizzati sono quelli utilizzati in presenza di nuovi utenti in cui le raccomandazioni sono calcolati sulla base di preferenze collettive (es. best-sellers). ### Describe the collaborative filtering approach in recommender systems. How does it work, and what is the underlying assumption? I sistemi basati su *collaborative filtering* si basano sull'assuzione che persone che in passato erano d'accordo su qualcosa lo saranno anche in futuro su cose simili a quelle su cui erano già d'accordo. Il funzionamento consiste fondamentalmente nell'aggregare le informazioni alla ricerca di similarità tra gli utenti e generare le raccomandazioni sulla base dei confronti tra gli questi ultimi. ### Explain the content-based approach in recommender systems. How does it learn a user's interests and make recommendations? In questi sistemi ad ogni *item* è associato un insieme di *feature* che lo descrivono. Il sistema associa ai singoli utenti i loro interessi in base alle feature degli item a cui hanno fornito un feedback. Le raccomandazioni vengono generate associando gli interessi degli utenti alle feature più "simili" a questi interessi. ### What is a hybrid recommender system? Provide an example of how hybrid approaches combine different recommendation techniques. Come suggerisce il nome si tratta di sistemi che combinano l'approccio content-based con il collaborative filtering. Esempio: un servizio di streaming fornisce raccomandazioni sia comparando le visualizzazioni degli utenti (collaborative filtering) sia suggerendo film simili a quelli a cui l'utente ha fornito un feedback positivo (content-based).