Zacznij terazZacznij za darmo

Eksploracja wektorów tekstowych, część 1

Rozbudujemy teraz metodę eksploracji wektorów tekstowych, którą poznałeś wcześniej – tym razem na wektorach tf/idf kolumny title ze zbioru danych volunteer. W tej pierwszej części uzupełnimy funkcję omówioną na slajdach tak, aby zwracała listę liczb. W następnym ćwiczeniu napiszemy kolejną funkcję, która zbierze najważniejsze słowa ze wszystkich dokumentów, wyodrębni je, a następnie użyje tej listy do przefiltrowania wektora text_tfidf.

To ćwiczenie jest częścią kursu

Preprocessing w uczeniu maszynowym w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj parametry original_vocab dla tfidf_vec.vocabulary_ oraz top_n.
  • Wywołaj pd.Series() na spakowanym słowniku – ułatwi to dalsze operacje.
  • Użyj funkcji .sort_values(), aby posortować serię, a następnie ogranicz indeks do top_n słów.
  • Wywołaj funkcję, ustawiając original_vocab=tfidf_vec.vocabulary_, vector_index=8, aby pobrać 9. wiersz, oraz top_n=3, aby uzyskać 3 najwyżej ważone słowa.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Add in the rest of the arguments
def return_weights(vocab, ____, vector, vector_index, ____):
    zipped = dict(zip(vector[vector_index].indices, vector[vector_index].data))
    
    # Transform that zipped dict into a series
    zipped_series = ____({vocab[i]:zipped[i] for i in vector[vector_index].indices})
    
    # Sort the series to pull out the top n weighted words
    zipped_index = zipped_series.____(ascending=False)[:____].index
    return [original_vocab[i] for i in zipped_index]

# Print out the weighted words
print(return_weights(vocab, ____, text_tfidf, ____, ____))
Edytuj i uruchom kod