CommencezCommencez gratuitement

Explorer les vecteurs de texte, partie 2

En utilisant la fonction return_weights() que vous avez écrite dans l'exercice précédent, vous allez maintenant extraire les mots les plus importants de chaque document du vecteur de texte, retourner une liste des indices de mots, puis utiliser cette liste pour ne conserver que ces mots clés dans le vecteur de texte.

Cette activité fait partie du cours

Prétraitement pour le Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • Appelez return_weights() pour obtenir les mots les mieux pondérés de ce document.
  • Appelez set() sur le filter_list retourné pour enlever les doublons.
  • Appelez words_to_filter en passant les paramètres suivants : vocab pour le paramètre vocab, tfidf_vec.vocabulary_ pour le paramètre original_vocab, text_tfidf pour le paramètre vector, et 3 pour récupérer les 3 mots top_n les mieux pondérés de chaque document.
  • Enfin, passez cet ensemble filtered_words dans une liste à utiliser comme filtre pour le vecteur de texte.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

def words_to_filter(vocab, original_vocab, vector, top_n):
    filter_list = []
    for i in range(0, vector.shape[0]):
    
        # Call the return_weights function and extend filter_list
        filtered = ____(vocab, original_vocab, vector, i, top_n)
        filter_list.extend(filtered)
        
    # Return the list in a set, so we don't get duplicate word indices
    return ____(filter_list)

# Call the function to get the list of word indices
filtered_words = ____(____, ____, ____, ____)

# Filter the columns in text_tfidf to only those in filtered_words
filtered_text = text_tfidf[:, list(____)]
Modifier et exécuter le code