Explorando vetores de texto, parte 2
Usando a função return_weights() que você escreveu no exercício anterior, você agora extrairá as principais palavras de cada documento no vetor de texto, retornará uma lista dos índices de palavras e usará essa lista para filtrar o vetor de texto até essas palavras principais.
Este exercício faz parte do curso
Pré-processamento para aprendizado de máquina em Python
Instruções do exercício
- Chame
return_weights()para retornar as palavras com maior peso para esse documento. - Ligue para
set()nofilter_listretornado para remover números duplicados. - Chame
words_to_filter, passando os seguintes parâmetros:vocabpara o parâmetrovocab,tfidf_vec.vocabulary_para o parâmetrooriginal_vocab,text_tfidfpara o parâmetrovectore3para obter astop_n3 palavras ponderadas de cada documento. - Por fim, passe esse conjunto
filtered_wordspara uma lista a ser usada como um filtro para o vetor de texto.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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(____)]