:: Enseignements :: Master :: M2 :: 2009-2010 :: Traitement Automatique des Langues ::
[LOGO]

Regroupement de mots


Dans ce TD, nous verrons comment regrouper automatiquement les mots d'un texte par similarité sémantique.

Préliminaires

Pour cette séance, vous avez à disposition un corpus se trouvant dans le fichier /home/ens/mconstan/corpus/french/lm94.u8. Ce fichier contient un ensemble d'articles du journal Le Monde, mis bout à bout. Si vous souhaitez travailler sur l'anglais, vous pouvez aussi utiliser le corpus /home/ens/mconstan/corpus/english/nyt.u8 qui contient un ensemble d'articles du journal New York Times.

Attention: il n'est pas nécessaire de copier les textes dans votre répertoire courant. Vous pouvez travailler directement dessus.

Exercice 1 - Calcul des meilleurs cooccurrents

  • Pour chaque mot du texte, vous calculerez le nombre de paragraphes où il apparaît.
  • Pour chaque phrase du texte, gardez les mots qui apparaissent dans moins de n % des paragraphes (Critère C). La valeur n sera un paramètre de votre programme. Le découpage en phrases du texte pourra être "approximatif".
  • Une phrase est désormais considérée comme l'ensemble de ses mots qui satisfont le critère C. Pour chaque mot du texte, donner les m mots qui apparaissent le plus souvent avec lui dans une phrase. La valeur m sera un paramètre de votre programme.
  • Modifier le code précédent pour garder les m mots qui ont les meilleurs poids de cooccurrence (calculés avec la formule de Dice).
  • Stocker les informations dans un fichier : pour chaque mot satisfaisant le critère C, donner le nombre de paragraphes dans lequel il apparaît et l'ensemble de ses meilleurs cooccurrents.

Exercice 2 - Regroupement des mots d'un texte

  • Ecrire une fonction qui charge en mémoire le fichier contenant les informations calculées dans l'exercice précédent.
  • Calculer la similarité entre deux mots. On considèrera que la similarité entre deux mots est le nombre de meilleurs cooccurents qu'ils ont en commun.
  • Etant donné un texte, calculer le graphe de similarité entre ses différents mots. On ne gardera les arcs du graphe ayant une valeur de similarité supérieure à un seuil s passé en paramètre.
  • Trouver les composantes connexes de ce graphe.
  • Essayer sur plusieurs dépêches AFP. Qu'observez-vous?