Kom igångKom igång gratis

Rekommendationsfunktionen

I den här övningen bygger vi en rekommendationsfunktion get_recommendations(), som vi diskuterade i lektionen och den föregående övningen. Som du vet tar den emot en titel, en matris för cosinus-likhet samt en mappning mellan filmtitlar och index som argument, och returnerar en lista med de 10 titlar som liknar originaltiteln mest (exklusive titeln själv).

Du har fått tillgång till en datamängd metadata som innehåller filmtitlar och sammanfattningar. De första raderna i denna datamängd har skrivits ut i konsolen.

Den här övningen är en del av kursen

Funktionsutveckling för NLP i Python

Visa kurs

Övningsinstruktioner

  • Hämta index för den film som matchar titeln genom att använda nyckeln title i indices.
  • Extrahera de tio mest liknande filmerna från sim_scores och lagra resultatet tillbaka i sim_scores.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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]
Redigera och kör kod