Aan de slagGa gratis aan de slag

Een corpus maken en bevragen met gensim

Tijd om de methoden uit de vorige video toe te passen en je eerste gensim-dictionary en -corpus te maken!

Je gebruikt deze datastructuren om woordtrends en mogelijke interessante topics in je documentenset te onderzoeken. Om te beginnen hebben we een paar extra rommelige Wikipedia-artikelen geïmporteerd, die zijn voorbewerkt door alle woorden lowercase te maken, te tokenizen en stopwoorden en interpunctie te verwijderen. Deze zijn vervolgens opgeslagen in een lijst met documenttokens genaamd articles. Je moet nog wat lichte preprocessing doen en daarna de gensim-dictionary en het -corpus genereren.

Deze oefening maakt deel uit van de cursus

Introductie tot Natural Language Processing in Python

Cursus bekijken

Oefeninstructies

  • Importeer Dictionary uit gensim.corpora.dictionary.
  • Initialiseer een gensim-Dictionary met de tokens in articles.
  • Haal de id voor "computer" op uit dictionary. Gebruik hiervoor de .token2id-methode, die ids uit tekst teruggeeft, en koppel daarna .get(), die tokens uit ids teruggeeft. Geef "computer" door als argument aan .get().
  • Gebruik een list comprehension waarin je over articles itereert om een gensim-MmCorpus te maken op basis van dictionary.
    • Gebruik in de uitdrukking de .doc2bow()-methode op dictionary met article als argument.
  • Print de eerste 10 woord-ids met hun frequentietellingen uit het vijfde document. Dit is al voor je gedaan, dus klik op 'Antwoord verzenden' om de resultaten te zien!

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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])
Code bewerken en uitvoeren