Consiglia prodotti o contenuti simili basandoti sulla similarità tra le loro caratteristiche.
Un piccolo motore di raccomandazione che, dato un prodotto o un libro che piace all'utente, suggerisce gli elementi più simili nel catalogo — lo stesso principio (in forma semplificata) usato da piattaforme di e-commerce e streaming.
Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato del progetto al termine.
Passo 1 — Codice
import pandas as pd catalogo = pd.DataFrame({ "titolo": ["Il Signore degli Anelli", "Harry Potter", "Dune", "1984", "Il Nome della Rosa"], "descrizione": [ "Fantasy epico, viaggio, amicizia, magia", "Fantasy, magia, scuola, avventura giovanile", "Fantascienza, politica, deserto, potere", "Distopia, sorveglianza, politica, controllo", "Mistero, storia medievale, indagine, monastero" ] }) print(catalogo)
Passo 2 — Codice
from sentence_transformers import SentenceTransformer modello = SentenceTransformer("all-MiniLM-L6-v2") embeddings = modello.encode(catalogo["descrizione"].tolist()) print(embeddings.shape)
Passo 3 — Codice
from sklearn.metrics.pairwise import cosine_similarity matrice_similarita = cosine_similarity(embeddings) print(matrice_similarita.shape) # (5, 5) → similarità tra ogni coppia
Passo 4 — Codice
import numpy as np def raccomanda(titolo, n=2): idx = catalogo[catalogo["titolo"] == titolo].index[0] punteggi = list(enumerate(matrice_similarita[idx])) punteggi = sorted(punteggi, key=lambda x: x[1], reverse=True) simili = [i for i, punteggio in punteggi if i != idx][:n] return catalogo.iloc[simili]["titolo"].tolist()
Passo 5 — Codice
print(raccomanda("Il Signore degli Anelli")) # Ci si aspetta "Harry Potter" tra i risultati, per l'affinità fantasy
Espandi il catalogo a 20 elementi di categorie diverse (libri, film, prodotti) e verifica che il sistema continui a raccomandare in modo sensato.
Modifica raccomanda() per restituire anche il punteggio di similarità accanto a ogni titolo consigliato, non solo il nome.
Costruisci una piccola app Streamlit dove l'utente sceglie un titolo da un menu a tendina e vede subito i suggerimenti, usando quanto imparato nella guida sul Deployment.
Completa tutti i 5 passaggi per sbloccare il tuo attestato in PDF.