Explorando los vectores de texto, parte 2
Utilizando la función return_weights()
que escribiste en el ejercicio anterior, ahora vas a extraer las palabras principales de cada documento en el vector de texto, devolver una lista de los índices de palabras y utilizar esa lista para filtrar el vector de texto hasta esas palabras principales.
Este ejercicio forma parte del curso
Preprocesamiento para machine learning en Python
Instrucciones de ejercicio
- Llama a
return_weights()
para que te devuelva las palabras más ponderadas de ese documento. - Llama a
set()
en elfilter_list
devuelto para eliminar los números duplicados. - Llama a
words_to_filter
, pasando los siguientes parámetros:vocab
para el parámetrovocab
,tfidf_vec.vocabulary_
para el parámetrooriginal_vocab
,text_tfidf
para el parámetrovector
, y3
para coger lastop_n
3 palabras ponderadas de cada documento. - Por último, pasa ese conjunto
filtered_words
a una lista para utilizarlo como filtro del vector texto.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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(____)]