Moteur de recommandation basé sur le synopsis
Dans cet exercice, nous allons créer un moteur de recommandation qui suggère des films selon la similarité de leur synopsis. On vous fournit une fonction get_recommendations() qui prend en entrée le titre d'un film, une matrice de similarité et une série indices, et qui retourne une liste des films les plus similaires. La série indices vous est déjà fournie.
On vous fournit aussi une série movie_plots qui contient les synopsis de plusieurs films. Votre tâche consiste à générer une matrice de similarité cosinus pour les vecteurs tf-idf de ces synopsis.
Nous vérifierons ensuite l'efficacité de notre moteur en générant des recommandations pour l'un de mes films préférés, The Dark Knight Rises.
Cette activité fait partie du cours
Ingénierie des caractéristiques pour le NLP en Python
Instructions de l’exercice
- Initialisez un
TfidfVectorizeravec desstop_wordsanglais. Nommez-letfidf. - Construisez
tfidf_matrixen ajustant et transformant les données de synopsis de films à l'aide defit_transform(). - Générez la matrice de similarité cosinus
cosine_simà partir detfidf_matrix. N'utilisez pascosine_similarity()! - Utilisez
get_recommendations()pour générer des recommandations pour'The Dark Knight Rises'.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Initialize the TfidfVectorizer
tfidf = ____(____='english')
# Construct the TF-IDF matrix
tfidf_matrix = tfidf.____(movie_plots)
# Generate the cosine similarity matrix
cosine_sim = ____(tfidf_matrix, tfidf_matrix)
# Generate recommendations
print(get_recommendations(____, cosine_sim, indices))