Créer et interroger un corpus avec gensim
Il est temps d’appliquer les méthodes vues dans la vidéo précédente pour créer votre premier dictionnaire et corpus gensim !
Vous utiliserez ces structures de données pour analyser les tendances des mots et repérer d’éventuels sujets intéressants dans votre ensemble de documents. Pour démarrer, nous avons importé quelques articles supplémentaires et « bruts » de Wikipédia, qui ont été prétraités en mettant tous les mots en minuscules, en les tokenisant, puis en supprimant les stop words et la ponctuation. Ils ont ensuite été stockés dans une liste de jetons de documents appelée articles. Vous devrez effectuer un léger prétraitement, puis générer le dictionnaire et le corpus gensim.
Cet exercice fait partie du cours
Introduction au Natural Language Processing (NLP) en Python
Instructions
- Importez
Dictionarydepuisgensim.corpora.dictionary. - Initialisez un
Dictionarygensimavec les jetons contenus dansarticles. - Obtenez l’identifiant de
"computer"à partir dedictionary. Pour cela, utilisez sa méthode.token2id, qui renvoie des identifiants à partir du texte, puis enchaînez avec.get(), qui renvoie les jetons à partir des identifiants. Passez"computer"en argument de.get(). - Utilisez une liste en compréhension dans laquelle vous itérez sur
articlespour créer unMmCorpusgensimà partir dedictionary.- Dans l’expression de sortie, utilisez la méthode
.doc2bow()surdictionaryavecarticlecomme argument.
- Dans l’expression de sortie, utilisez la méthode
- Affichez les 10 premiers identifiants de mots avec leur fréquence pour le cinquième document. Cela a été fait pour vous ; cliquez sur "Soumettre la réponse" pour voir le résultat !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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])