ÎncepețiÎncepe gratuit

Funcția de recomandare

În acest exercițiu, vom construi o funcție de recomandare get_recommendations(), așa cum a fost discutat în lecție și în exercițiul anterior. După cum știm, aceasta primește ca argumente un titlu, o matrice de similaritate cosinus și o mapare între titlurile filmelor și indecșii lor, și returnează o listă cu cele 10 titluri cele mai similare cu titlul original (excluzând titlul însuși).

Ai la dispoziție un set de date metadata care conține titlurile și rezumatele filmelor. Primele rânduri ale acestui set de date au fost afișate în consolă.

Acest exercițiu face parte din cursul

Ingineria caracteristicilor pentru NLP în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Obține indexul filmului care corespunde titlului, folosind cheia title din indices.
  • Extrage cele mai similare zece filme din sim_scores și stochează rezultatul înapoi în sim_scores.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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]
Editează și rulează codul