Projet informatique de licence (LI015), 1999-2000

Énoncés

Sommaire

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 : Correction d'étiquettes

Disposant d'un corpus étiqueté et lemmatisé (chaque mot du corpus est accompagné de son étiquette grammaticale et du lemme lui correspondant [cf. figure 1]), il s'agit d'écrire un programme permettant de corriger d'éventuelles erreurs d'étiquetage.
ce DETRMS ce
paragraphe SUBSMS paragraphe
résume VER3B résumer
les DETRMP les
problèmes SUBMP problème
qui PRELMP qui
doivent VERB6 devoir
être AUXE être
résolus PPASMP résoudre
pour PREP pour
exploiter VINF exploiter
des PDES des
liaisons SUBSFP liaison
de PDEA de
télécommunicatioSUBSFS télécommunication
par PREP par
satellite SUBSMS satellite
FIG 1. Exemple de phrase du corpus

À ce programme, l'utilisateur fournira des règles qui auront la forme suivante :

Alors, le programme appliquera ces règles sur le corpus, en montrant à l'utilisateur les cas où la règle s'applique, de façon à ce qu'il puisse vérifier si la règle est pertinente.

Exemple : au vu de l'étiquetage fautif
l l DETRMS
' ' x
usager usager SUBSMS
désire désirer VERB3
établir établir VINF
des des PDES
liaisons liaison SUBSFP

on pourra envisager une règle : L'étiquette PDES (=Y1) du mot des (=X) devient DETRMP (=Y2) si VERB3 (=Z1) et SUBSFP (=Z2) se trouvent dans le contexte du mot.

On envisagera la possibilité d'appliquer plusieurs règles lors d'une passe, et on choisira de préférence de stocker ces règles dans un fichier. On notera que l'ordre d'application des règles est important.

À titre d'exemple, vous proposerez un ensemble de règles qui permette de corriger les erreurs d'étiquetage sur ``des''.

On pourra envisager d'autres formes de règles.

Projet n° 4 : 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° 5 : 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° 6 : 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° 7 : Concordancier

Réalisation d'un « concordancier » : disposant d'un corpus étiqueté et lemmatisé (chaque mot du corpus est accompagné de son étiquette grammaticale et du lemme lui correspondant (cf. figure 1), il s'agit d'extraire les phrases de ce corpus comportant des séquences d'étiquettes et/ou de lemmes données.

Les séquences

Les séquences sont des suites d'étiquettes et/ou de lemmes, et comportant éventuellement des symbole ayant une interprétation particulière (cf. expressions rationnelles) :
*
signifie zéro ou plusieurs occurrences de l'entité (étiquette grammaticale ou lemme) précédente,
+
signifie une ou plusieurs occurrences de l'entité précédente.
Voici quelques exemples de séquences accompagnées de leur interprétation :
SUBS ADJ un substantif, suivi d'un adjectif
SUBS ADJ* PREP un substantif, suivi d'un nombre quelconque d'adjectifs, suivi d'une préposition
SUBS ADJ+ PREP un substantif, suivi d'au moins un adjectif, suivi d'une préposition.

Exemple de phrase à extraire

Considérons la phrase de la figure 1. Cette phrase doit être extraite si la séquence recherchée est VINF des SUBS mais ne doit pas l'être si la séquence recherchée est SUBS ADJ des SUBS.

Extraction des phrases

Le programme propose à l'utilisateur de saisir une séquence (on rappelle que cette séquence peut comprendre des étiquettes et des lemmes), extrait les phrases qui comprennent cette séquence, et les stocke dans un fichier (on envisagera aussi leur visualisation). À titre d'exemple, si l'on s'intéresse au lemme des, on pourra demander au programme d'extraire du corpus les phrases correspondant aux séquences suivantes :
  1. VINF des SUBS
  2. PREP VINF des ADJ* SUBS
  3. PREP des ADV* ADJ* SUBS
  4. SUBS ADJ+ des ADV* ADJ* SUBS

Remarques


  Wed Feb 16, 2000 Ma maison-page