Aan de slagGa gratis aan de slag

Aanbevelingsengine voor plots

In deze oefening bouwen we een aanbevelingsengine die films voorstelt op basis van de overeenkomst tussen verhaallijnen. Je krijgt een functie get_recommendations() die de titel van een film, een similariteitsmatrix en een indices-reeks als argumenten neemt en een lijst met meest vergelijkbare films teruggeeft. indices is al voor je klaargezet.

Je krijgt ook een Series movie_plots met de verhaallijnen van verschillende films. Jouw taak is om een cosinus-similariteitsmatrix te genereren voor de tf-idf-vectoren van deze plots.

Vervolgens testen we de kracht van onze engine door aanbevelingen te genereren voor een van mijn favoriete films: The Dark Knight Rises.

Deze oefening maakt deel uit van de cursus

Feature Engineering voor NLP in Python

Cursus bekijken

Oefeninstructies

  • Initialiseer een TfidfVectorizer met Engelse stop_words. Noem hem tfidf.
  • Construeer tfidf_matrix door de filmplotgegevens te fitten en te transformeren met fit_transform().
  • Genereer de cosinus-similariteitsmatrix cosine_sim met tfidf_matrix. Gebruik geen cosine_similarity()!
  • Gebruik get_recommendations() om aanbevelingen te genereren voor 'The Dark Knight Rises'.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren