Erstellen und Abfragen eines Korpus mit gensim
Es ist an der Zeit, die Methoden anzuwenden, die du im vorherigen Video gelernt hast, um dein erstes gensim
Wörterbuch und Korpus zu erstellen!
Du wirst diese Datenstrukturen verwenden, um Worttrends und potenziell interessante Themen in deinem Dokumentensatz zu untersuchen. Für den Anfang haben wir ein paar zusätzliche chaotische Artikel aus Wikipedia importiert, die vorverarbeitet wurden, indem alle Wörter kleingeschrieben, tokenisiert und Stoppwörter und Satzzeichen entfernt wurden. Diese wurden dann in einer Liste von Dokumenten-Tokens mit der Bezeichnung articles
gespeichert. Du musst einige leichte Vorverarbeitungen vornehmen und dann das gensim
Wörterbuch und den Korpus erstellen.
Diese Übung ist Teil des Kurses
Einführung in die natürliche Sprachverarbeitung in Python
Anleitung zur Übung
Importiere
Dictionary
vongensim.corpora.dictionary
.Initialisiere eine
gensim
Dictionary
mit den Token inarticles
.Bekomme die ID für
"computer"
vondictionary
. Dazu verwendest du die Methode.token2id
, die ids aus Text zurückgibt, und dann die Kette.get()
, die Token aus ids zurückgibt. Gib"computer"
als Argument für.get()
ein.Verwende ein Listenverständnis, in dem du über
articles
iterierst, um einegensim
MmCorpus
ausdictionary
zu erstellen.- Verwende im Ausgabeausdruck die Methode
.doc2bow()
aufdictionary
mitarticle
als Argument.
- Verwende im Ausgabeausdruck die Methode
Drucke die ersten 10 Wort-IDs mit ihrer Häufigkeit aus dem fünften Dokument. Das haben wir für dich getan, also klick auf "Antwort abschicken", um die Ergebnisse zu sehen!
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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])