# 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).