LoslegenKostenlos starten

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

<Kurs>Vorverarbeitung für Machine Learning in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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