:: Enseignements :: Master :: M2 :: 2009-2010 :: Traitement Automatique des Langues ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Textes, mots et statistiques |
Ce TP sera consacré à l'étude de la fréquence des mots dans un grand corpus.
Préliminaires
Pour cette séance, vous avez à disposition un répertoire comprenant une collection de dépêches
Reuters.
Elle se trouve à l'adresse suivante :
/home/ens/mconstan/tal/reuter-collection-tp.
Cette collection de textes bruts a été extraite automatiquement de la collection
Reuters-21578.
La liste des textes est donnée dans le fichier
collection.lst.
Attention: il n'est pas nécessaire de copier le répertoire dans votre répertoire courant.
Vous pouvez travailler directement dessus.
Vous pouvez utiliser le langage de programmation de votre choix.
A titre indicatif, nous vous conseillons Python ou Java.
Exercice 1 - Fréquence des mots dans un corpus
- Ecrire une fonction tokenize qui prend comme paramètre un nom de fichier et retourne la liste des token-mots de ce fichier.
Rappel: les tokens sont reconnus à l'aide d'expressions rationnelles!
- Ecrire une fonction count_words qui prend comme paramètre un nom de fichier qui contient une liste de textes (soit un corpus).
Elle retournera un dictionnaire (ou table de hachage) qui, pour chaque mot du corpus, associe son nombre d'occurrences.
- Ecrire une fonction sort_words qui prend comme paramètre un dictionnaire qui associe à des mots leur nombre d'occurrences dans un corpus.
Elle retournera la liste des mots de ce dictionnaire, triés dans l'ordre décroissant en fonction de leur fréquence.
Exercice 2 - TF.IDF
- Modifier vos programmes précédents pour calculer un dictionnaire associant à chaque mot le nombre de documents dans lequel il apparaît.
- Trier les mots selon cette valeur. Qu'observez-vous?
-
Ecrire une fonction qui prend en paramètre un fichier texte.
Elle calculera un dictionnaire qui pour chaque mot du texte associera sa mesure TF.IDF vue en cours.
Trier les mots triées selon le TF.IDF.
Tester avec des fichiers du répertoire 1 de la collection.
Exercice 3 - Bonus
Créer un fichier au format
gnuplot contenant un ensemble de points associant le rang d'un mot à sa frequence.
A l'aide de
gnuplot, construire le graphe dessinant la courbe décrivant la fréquence d'un mot en fonction de son rang.
Tester pour l'ensemble des mots de la collection
Reuters
© Université de Marne-la-Vallée