ComeçarComece de graça

A função de recomendação

Neste exercício, vamos construir a função de recomendação get_recommendations(), como discutido na aula e no exercício anterior. Como sabemos, ela recebe um título, uma matriz de similaridade cosseno e um mapeamento de título para índice como argumentos, e retorna uma lista com 10 títulos mais semelhantes ao título original (excluindo o próprio título).

Você recebeu um conjunto de dados metadata que contém os títulos e as sinopses dos filmes. O cabeçalho desse conjunto foi impresso no console.

Este exercício faz parte do curso

Feature Engineering para NLP em Python

Ver curso

Instruções do exercício

  • Obtenha o índice do filme que corresponde ao título usando a chave title de indices.
  • Extraia os dez filmes mais semelhantes de sim_scores e armazene o resultado novamente em sim_scores.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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]
Editar e executar o código