Ein Korpus mit gensim erstellen und abfragen
Zeit, die Methoden aus dem vorherigen Video anzuwenden und dein erstes gensim-Dictionary und deinen Korpus zu erstellen!
Diese Datenstrukturen nutzt du, um Worttrends und mögliche interessante Themen in deinem Dokumentendatensatz zu untersuchen. Zum Start haben wir ein paar zusätzliche, unaufgeräumte Wikipedia-Artikel importiert, die vorverarbeitet wurden, indem alle Wörter kleingeschrieben, tokenisiert und Stoppwörter sowie Satzzeichen entfernt wurden. Diese wurden dann in einer Liste von Dokument-Token namens articles gespeichert. Du musst noch eine kleine Vorverarbeitung vornehmen und anschließend das gensim-Dictionary und den Korpus erzeugen.
Diese Übung ist Teil des Kurses
Einführung in Natural Language Processing mit Python
Anleitung zur Übung
- Importiere
Dictionaryausgensim.corpora.dictionary. - Initialisiere ein
gensim-Dictionarymit den Token inarticles. - Ermittle die ID für
"computer"ausdictionary. Verwende dazu die Methode.token2id, die IDs aus Text zurückgibt, und hänge dann.get()an, welche Tokens aus IDs zurückgibt. Übergebe"computer"als Argument an.get(). - Verwende eine Listenabstraktion, in der du über
articlesiterierst, um ausdictionaryeinengensim-MmCorpuszu erstellen.- Nutze im Ausdruck die Methode
.doc2bow()aufdictionarymitarticleals Argument.
- Nutze im Ausdruck die Methode
- Gib die ersten zehn Wort-IDs mit ihren Häufigkeiten aus dem fünften Dokument aus. Das wurde bereits für dich vorbereitet – klicke auf "Antworten", um die Ergebnisse zu sehen!
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import Dictionary
____
# Create a Dictionary from the articles: dictionary
dictionary = ____(____)
# Select the id for "computer": computer_id
computer_id = ____.____.get("____")
# Use computer_id with the dictionary to print the word
print(dictionary.get(computer_id))
# Create a MmCorpus: corpus
corpus = [____.____(____) for article in articles]
# Print the first 10 word ids with their frequency counts from the fifth document
print(corpus[4][:10])