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 del ejercicio
- Llama a
return_weights()para que te devuelva las palabras más ponderadas de ese documento. - Llama a
set()en elfilter_listdevuelto para eliminar los números duplicados. - Llama a
words_to_filter, pasando los siguientes parámetros:vocabpara el parámetrovocab,tfidf_vec.vocabulary_para el parámetrooriginal_vocab,text_tfidfpara el parámetrovector, y3para coger lastop_n3 palabras ponderadas de cada documento. - Por último, pasa ese conjunto
filtered_wordsa una lista para utilizarlo como filtro del vector texto.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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(____)]