Creare e interrogare un corpus con gensim
È il momento di applicare i metodi che hai visto nel video precedente per creare il tuo primo dizionario e corpus gensim!
Userai queste strutture dati per analizzare le tendenze delle parole e individuare possibili argomenti interessanti nel tuo insieme di documenti. Per iniziare, abbiamo importato alcuni articoli "disordinati" da Wikipedia, preprocessati mettendo tutte le parole in minuscolo, tokenizzandole e rimuovendo stop word e punteggiatura. Sono stati poi salvati in una lista di token di documenti chiamata articles. Dovrai fare un leggero preprocessing e quindi generare il dizionario e il corpus gensim.
Questo esercizio fa parte del corso
Introduzione al Natural Language Processing in Python
Istruzioni dell'esercizio
- Importa
Dictionarydagensim.corpora.dictionary. - Inizializza un
Dictionarydigensimcon i token inarticles. - Ottieni l'id per
"computer"dadictionary. Per farlo, usa il suo metodo.token2id, che restituisce gli id dal testo, e poi concatena.get(), che restituisce i token dagli id. Passa"computer"come argomento a.get(). - Usa una list comprehension in cui iteri su
articlesper creare unMmCorpusdigensima partire dadictionary.- Nell'espressione di output, usa il metodo
.doc2bow()sudictionaryconarticlecome argomento.
- Nell'espressione di output, usa il metodo
- Stampa i primi 10 id delle parole con le rispettive frequenze dal quinto documento. Questo è già stato fatto per te, quindi clicca "Invia risposta" per vedere i risultati!
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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])