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
Oefeninstructies
- Importeer
Dictionaryuitgensim.corpora.dictionary. - Initialiseer een
gensim-Dictionarymet de tokens inarticles. - Haal de id voor
"computer"op uitdictionary. 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
articlesitereert om eengensim-MmCorpuste maken op basis vandictionary.- Gebruik in de uitdrukking de
.doc2bow()-methode opdictionarymetarticleals argument.
- Gebruik in de uitdrukking de
- 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])