Projet informatique de licence (LI015), 2000-2001


Organisation

L'objectif du projet est la réalisation d'un programme informatique relevant du Traitement Automatique des Langues. Les projets se font par binômes ou trinômes.

Important : Aucune soutenance ne pourra avoir lieu si le groupe concerné ne m'a pas présenté au moins une fois ses travaux.
En plus de mes permanences habituelles (attention aux jours perdus du mois de mai. seules restent : les mardis 15/05, 29/05, 05/06 et vendredis 01/06 et 08/06), je réserve les plages horaires suivantes pour les groupes intéressés [prenez rendez-vous SVP] : mercredis 16/05, 23/05 & 30/05, de 10h00 à 12h00 ; jeudis 17/05 & 31/05, de 14h00 à 16h00.

Langage

Les projets peuvent être réalisés en Pascal ou en C, exceptionnellement dans un autre langage de programmation, après accord de l'enseignant, sur la machine de votre choix, à condition toutefois qu'il soit possible d'en faire une démonstration le jour de la soutenance dans la salle machine.

Rapport

Un rapport comprenant une vingtaine de pages est demandé. Il doit être non manuscrit et doit contenir :

  • une partie linguistique : description du champ d'étude, des données manipulées, des choix effectués, etc. ;
  • une partie informatique : description des algorithmes mis en oeuvre, des choix d'implémentation, des éventuels problèmes rencontrés et de leur solution, etc. ;
  • un « manuel utilisateur » : indications pratiques pour exécuter le programme, et description de son interface (choix, menus...)
  • en annexe (et seulement en annexe), listing du programme, éventuellement description exhaustive des données linguistiques, etc.

Soutenance

Les projets font l'objet d'une soutenance individuelle d'environ 15 mn, devant un jury d'un ou deux enseignants, au cours de laquelle l'étudiant proposera une démonstration du programme et répondra à quelques questions.

Sujets proposés

Le sujet peut être choisi parmi les sujets proposés suivants, ou il peut s'agir d'un sujet à votre initiative, auquel cas il faut en fournir une description rédigée d'une à deux pages, et obtenir l'accord de l'enseignant. Remerciements. Merci à Lionel Clément, Marcel Cori, Laurence Danlos, Eric Gaussier, et Thierry Poibeau pour leurs propositions et/ou relectures des sujets de projets.

Ressources

Calendrier

Session de Juin Session de Septembre
Début du projet : fév 99 fév 99
Remise du rapport : lu. 18 juin 00, 10:00 lu. 17 sept. 00, 10:00
Soutenances : 25-29 juin 00 24-28 sept. 00
Calendrier des soutenances


Projet n° 1 : Correcteur orthographique (approche graphémique)

On se propose de réaliser un correcteur orthographique (lexical), qui, disposant d'un dictionnaire de formes fléchies, détecte les mots mal orthographiés, et propose si possible une correction.

Le programme prend un texte (ASCII brut) en entrée, et pour chaque forme non présente dans le dictionnaire, propose à l'utilisateur :

Les remplaçants proposés par le programme (premier cas plus haut) seront des mots figurant dans le dictionnaire, et ayant une certaine proximité avec le mot fautif.

Pour la recherche des mots proches, on appliquera diverses heuristiques, basées sur la forme du mot :

Ces heuristiques, qui peuvent être plus nombreuses, seront étudiées linguistiquement afin de déterminer précisément leurs conditions d'application.

Projet n° 2 : Réaccentuation

Le programme est chargé de remettre les accents et autres signes diacritiques manquant dans un texte fourni en typographie dite pauvre.

On s'aidera d'un lexique de formes fléchies fourni. Bien sûr, certaines formes peuvent être réaccentuées directement, et d'autres sont ambigues. Une fois que l'algorithme principal sera établi, on envisagera des heuristiques pour lever les ambiguïtés. Exemple :

La ou le francais n'est pas accentue,
 il y a de la gene,
 mais quand le systeme m'accentue,
 je suis moins gene!
On pourra s'inspirer du programme « Reacc » développé par le RALI à l'Université de Montréal.

Projet n° 3 : Calcul de collocations

On veut réaliser un programme de calcul des collocations dans un corpus étiqueté et lemmatisé.

Le but est de repérer et de compter les blocs de 2 ou 3 mots juxtaposés qui se retrouvent au moins deux fois dans le corpus. On s'intéressera aussi aux groupes « N à N », « N de N », etc., dont on calculera aussi les fréquences.

La sortie du programme consiste donc en une liste, classée par fréquence, de toutes les collocations qui y apparaissent au moins deux fois.

On attachera un soin particulier au choix de la structure de données, et à l'algorithme, qui doit faire le calcul en un temps raisonnable.

Projet n° 4 : Extraction de sigles

L'objectif est d'être capable de construire, semi-automatiquement, la liste des sigles (acronymes) (par exemple EDF), et de leur forme développée (par exemple Electricité de France), utilisés dans un texte donné. Le programme aura deux fonctions :
  1. Création (extraction) de la liste (triée, normalisée) des sigles du texte donné. Attention aux formes diverses d'un même sigle (Inalf, I.N.A.L.F, INaLF).
  2. Proposition (interactive) de syntagmes candidats pour la forme développée, quand on en trouve dans le texte.
Le texte fourni est en ASCII brut.

Projet n° 5 : Justification et « hyphénation »

Il s'agit de réaliser un programme qui justifie (au sens des traitements de texte) un texte fourni en ASCII, sur un nombre de colonnes donné, en découpant les mots selon les règles en usage pour le français.

On supposera que tous les caractères ont la même dimension (« fonte proportionnelle »).

Pour le découpage (éventuel) des mots (hyphenation), on prendra bien garde de distinguer les règles, qui seront stockées dans un fichier, du programme lui-même. On s'autorisera à utiliser un dictionnaire d'exceptions.

Projet n° 6 : Enrichissement de requêtes

Il s'agit de se placer dans la problématique suivante : on formule des requêtes à un moteur de recherche, les requêtes pouvant contenir un ou plusieurs mots, voire un syntagme ou une phrase. Sachant que les taux de réussite de telles requêtes ne sont pas toujours satisfaisants, on se propose d'enrichir ces requêtes (en ajoutant des mots, ou en utilisant les opérateurs classiques de moteurs de recherche...) pour améliorer le résultat.

Cet enrichissement sera réalisé sur la bases d'information de nature lexicale ou terminologique, stockées dans un réseau sémantique approprié.

Le but du projet n'est pas de réaliser un tel réseau sémantique à grande couverture, mais de spécifier, pour un domaine conceptuel fixé, les heuristiques à utiliser et l'architecture du réseau correspondant. Le projet donnera lieu à la réalisation d'une maquette, au sens industriel du terme.


  Tue Jun 12, 2001 Ma maison-page