LoslegenKostenlos loslegen

Textvektoren erkunden, Teil 1

Lass uns die Methode zur Erkundung von Textvektoren, die wir gerade gelernt haben, erweitern – mit den tf/idf-Vektoren der Spalte title aus dem volunteer-Datensatz. In diesem ersten Teil der Textvektor-Erkundung erweitern wir die Funktion, die wir in den Folien kennengelernt haben. Die Funktion gibt eine Liste von Zahlen zurück. In der nächsten Übung schreiben wir eine weitere Funktion, die die Top-Wörter über alle Dokumente sammelt, sie extrahiert und dann diese Liste nutzt, um unseren text_tfidf-Vektor zu filtern.

Diese Übung ist Teil des Kurses

Vorverarbeitung für Machine Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Füge Parameter namens original_vocab für tfidf_vec.vocabulary_ und top_n hinzu.
  • Rufe pd.Series() auf dem gezippten Dictionary auf. Das macht die Weiterverarbeitung einfacher.
  • Verwende die Funktion .sort_values(), um die Series zu sortieren, und slice den Index bis zu den top_n Wörtern.
  • Rufe die Funktion auf, setze original_vocab=tfidf_vec.vocabulary_, setze vector_index=8, um die 9. Zeile zu holen, und setze top_n=3, um die 3 höchstgewichteten Wörter zu erhalten.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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, ____, ____))
Code bearbeiten und ausführen