Die Empfehlungsfunktion
In dieser Übung bauen wir die Empfehlungsfunktion get_recommendations(), wie in der Lektion und der vorherigen Übung besprochen. Wie du weißt, nimmt sie einen Titel, eine Kosinus-Ähnlichkeitsmatrix sowie ein Mapping von Filmtiteln zu Indizes als Argumente und gibt eine Liste der 10 Titel aus, die dem ursprünglichen Titel am ähnlichsten sind (ohne den Titel selbst).
Du erhältst den Datensatz metadata, der aus Filmtiteln und Zusammenfassungen besteht. Der Anfang dieses Datensatzes wurde in der Konsole ausgegeben.
Diese Übung ist Teil des Kurses
<Kurs>Feature Engineering für NLP in Python</Kurs>Übungsanweisungen
- Hole den Index des Films, der zum Titel passt, indem du den
title-Schlüssel vonindicesverwendest. - Extrahiere die zehn ähnlichsten Filme aus
sim_scoresund speichere sie zurück insim_scores.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Generate mapping between titles and index
indices = pd.Series(metadata.index, index=metadata['title']).drop_duplicates()
def get_recommendations(title, cosine_sim, indices):
# Get index of movie that matches title
idx = ____[____]
# Sort the movies based on the similarity scores
sim_scores = list(enumerate(cosine_sim[idx]))
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
# Get the scores for 10 most similar movies
sim_scores = sim_scores[____]
# Get the movie indices
movie_indices = [i[0] for i in sim_scores]
# Return the top 10 most similar movies
return metadata['title'].iloc[movie_indices]