:: Enseignements :: Master :: M2 :: 2007-2008 :: Traitement Automatique des Langues ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Introduction à Python et NLTK |
Cette séance est consacrée à la prise en main de Python et de NLTK (Natural Language ToolKit).
Exercice 1 - Listes
Etant donnée une liste de nombres, écrire un programme qui génère deux listes.
L'une contiendra seulement les nombres pairs de la liste initiale, et l'autre les nombres impairs.
Exercice 2 - Fonctions
Définir une fonction elementMax(liste,debut,fin) qui renvoie l'élément ayant la plus grande valeur dans la liste transmise.
Les deux arguments debut et fin indiqueront les indices entre lesquels doit s'exercer la recherche, et chacun d'eux pourra être omis.
Exercice 3 - Fichiers
Supposons que vous ayez à votre disposition un fichier texte contenant des phrases de différentes longueurs. Ecrire un script qui recherche et affiche la phrase la plus longue.
Ecrire un script qui recopie un fichier texte (dans un autre fichier) en triplant tous les espaces entre les mots.
Exercice 4 - Dictionnaires
Ecrire un script qui compte les occurrences de chacune des lettres de l'alphabet dans un fichier texte.
Modifier le script pour qu'il établisse une table des occurrences de chaque mot dans le texte.
Attention : les mots ne sont pas seulement séparés par des espaces, mais également par divers signes de ponctuation.
Pour simplifier le problème, remplacer tous les caractères non-alphabétiques par des espaces,
et convertir la chaîne résultante en une liste de mots à l'aide de la méthode split().
Ecrire un script qui analyse un fichier texte, et mémorise dans un dictionnaire l'emplacement exact de chacun des mots (compté en nombre de caractères à partir du début).
Lorsqu'un mot apparaît plusieurs fois, tous ses emplacements doivent être mémorisés : chaque valeur de votre dictionnaire doit donc être une liste d'emplacements.
Exercice 5 - Classes
Définir une classe Cercle. Les objets construits à partir de cette classe seront des cercles de tailles variées. En plus de la méthode constructeur, définir une méthode surface(), qui devra renvoyer la surface du cercle.
Définir une classe Cylindre dérivée de la précédente.
Le constructeur de cette nouvelle classe comportera les deux paramètres rayon et hauteur. Ajouter y une méthode volume() qui devra renvoyer le volume du cylindre.
(Rappel: Volume d'un cylindre = surface de section x hauteur)
Exercice 6 - Tokenisation
En vous aidant de la
documentation NLTK, écrire un script qui découpe en tokens un texte écrit en français.
© Université de Marne-la-Vallée