Université de
                                              Caen




Traitement Automatique des
Langues




Julien BANVILL...
Université de Caen




Table des matières

   Introduction
                      2

      Structure du lexique
           ...
Université de Caen

Introduction
Ce projet a pour objectif la mise en place d’une application capable de marquer un texte ...
Université de Caen




                               Voici un diagramme présentant l’architecture du logiciel.




Traite...
Université de Caen

Fonctionnement du logiciel
Le logiciel fonctionne en trois partie, la première étant la construction d...
Université de Caen

Efficacité et évolutivité
L’efficacité du programme est bonne, on peut la représenter via ce graphique p...
Prochain SlideShare
Chargement dans…5
×

Rapport Tal Master 1

793 vues

Publié le

Marquage d'articles du journal Le Monde

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
793
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rapport Tal Master 1

  1. 1. Université de Caen Traitement Automatique des Langues Julien BANVILLE Master 2 Informatique RADIS
  2. 2. Université de Caen Table des matières Introduction 2 Structure du lexique 2 Choix Technologiques 2 Fonctionnement du logiciel 4 Construction du dictionnaire 4 Analyse du texte 4 Extraction du texte 4 Efficacité et évolutivité 5 Mode d’emploi 5 Conclusion 5 Traitement Automatique des Langues 1
  3. 3. Université de Caen Introduction Ce projet a pour objectif la mise en place d’une application capable de marquer un texte à partir d’un lexique regroupant des informations grammaticales sur les mots de la langue française. On a donc une base de données de plusieurs milliers de mots, avec pour chacun d’eux des informations sur : • Les parties du discours, c’est à dire s’il s’agit d’un adverbe, nom, pronom,… • Les variables syntaxiques, avec le genre et le nombre, la personne (première, seconde, troisième), les temps et modes • Les sous catégories syntaxiques, qui affinent les informations pour certains types de mots. Structure du lexique Les informations contenues dans le lexique sont structurées afin de faciliter l’utilisation par des logiciels. Ils sont sous cette forme: Mot Partie du discours Genre et nombre Temps et modes Sous catégories Mot racine du mot (champ CS) (champ Acc) (champ CS) syntaxiques (ou égal si il n’y a (champ SCS) pas de racine) Le programme développé doit donc pouvoir traiter ces fichiers textes très lourds (la base fait 37 Mo après la décompression). Choix Technologiques Mes choix technologiques se sont portés sur une application seule, chargeant la base de données au démarrage et la conservant en mémoire vive durant toute l’utilisation. Cela doit permettre un traitement très rapide des fichiers, seul le chargement devrait être assez long, et la quantité de mémoire vive demandée assez importante. En terme de langages, j’ai choisi de tout développer en Java. L’extraction des résultats se fait en XHTML, avec un affichage des résultats avec une feuille de style CSS. Construction de Soumission d’un Extraction du texte marqué la base de données texte au Tagger sous forme de fichier XHTML Insertion de chaque • Extraction des mots du texte Extraction de chaque règle du lexique dans • Application de toutes les règles mot accompagné une structure de dic- possibles sur le mot des règles du lexique tionnaire • Suppression d’ambiguïtés via ap- restantes plication de règles Voici un diagramme présentant le fonctionnement du logiciel. Traitement Automatique des Langues 2
  4. 4. Université de Caen Voici un diagramme présentant l’architecture du logiciel. Traitement Automatique des Langues 3
  5. 5. Université de Caen Fonctionnement du logiciel Le logiciel fonctionne en trois partie, la première étant la construction du dictionnaire de règles, puis l’analyse du texte demandé, et enfin l’extraction. Construction du dictionnaire Il s’agit en fait de faire un parcours de tous les fichiers composant la base de données fournie, et de les ajouter dans une structure de type HashMap, chaque règle étant gérée par un objet Rule. On conserve les mêmes données que celles fournies dans la base, et avec un ensemble de booléens, on peut déterminer si un mot donné va correspondre à une règle donnée. Cette structure est lourde, puisqu’une fois en mémoire on obtient un programme qui fait environ 400 Mo, mais le chargement est rapide (compter une dizaine de secondes). La complexité d’une structure de type HashMap est bonne pour la recherche de données (θ (1) ), ce qui permet une recherche rapide au sein de notre dictionnaire. Analyse du texte L’analyse du texte se fait en deux parties. La première est l’extraction de chaque mot du texte, et pour chacun de ces mots, l’application de toutes les règles du lexiques applicables sur ce même mot. Chaque phrase est en fait un vecteur de mot, ce qui permet un parcours facile à base d’itérateurs (dans le sens de lecture que l’on souhaite). Ensuite, un traitement en boucle va analyser chaque mot et rechercher des règles grammaticales usuelles pour tenter de ne conserver qu’une seule règle pour un mot donné. On a un ensemble de règles grammaticales pour chaque type de mot possible (adverbe, nom, verbe,…). Ces règles se basent sur le mot précédent et le mot suivant, et déterminent (si au moins un des deux mots adjacents est déterminé) le type probable du mot courant, en supprimant ceux qui ne sont pas envisageables. La méthode se base donc sur le fait qu’on trouvera très souvent au sein d’un texte un mot déterminé dès le départ. Tant qu’il y a au moins un changement dans le texte en question, on fait tourner l’analyse sur tout le texte jusqu’à ce qu’on ne trouve plus une seule modification possible. A ce moment là, on considère qu’il n’y a plus de nouvelles solutions possibles pour le texte et on entame l’extraction. L’efficacité de l’implémentation est bien présente, puisque pour un texte d’environ 1300 mots, il ne faut que 2 à 3 secondes pour le marquer entièrement. Évidemment, plus on a de règles à appliquer sur le texte, et plus ce sera long. Mais cela permet d’avoir une plus grande précision des résultats. Extraction du texte Il s’agit d’une partie très rapide, puisqu’il s’agit tout simplement de sortir chaque mot du texte avec les règles du lexique restantes, et de les afficher dans une page en XHTML avec une feuille de style CSS afin de le mettre en forme. On peut, en survolant chaque mot, découvrir quelles sont les règles restantes. Traitement Automatique des Langues 4
  6. 6. Université de Caen Efficacité et évolutivité L’efficacité du programme est bonne, on peut la représenter via ce graphique pour un exemple avec un des textes donnés. Premier texte du corpus Le Monde 13 % 17 % 70 % Marqués Déterminés Non reconnus Un mot marqué est un mot déterminé mais dont plusieurs règles sont encore possibles. Un mot déterminé est un mot dont il ne reste qu’une seule règle. Un mot non reconnu est en général un nom propre, acronyme, ou un mot complexe et mal reconnu lors de l’extraction des mots. Évidemment, il était impossible de réimplémenter toutes les règles grammaticales usuelles par manque de temps. Mais il est tout à fait possible de rajouter facilement de nouvelles règles en faisant hériter la règle d’une classe abstraite Java et en l’insérant dans le Tagger, c’est donc rapide et simple. Mode d’emploi • Pour installer le logiciel, il suffit d’extraire l’archive dans un dossier en conservant bien le dossier database dans le dossier en question. • Pour démarrer le programme, lancer dans un terminal la commande suivante : java -jar -Xmx512M BANVILLE.jar, après s’être placé dans le dossier d’extraction. • L’argument Xmx512M permet d’allouer 512 Mo à la machine virtuelle Java, mémoire nécessaire pour faire fonctionner l’application. • Une fois l’application lancée et la barre de lancement remplie, il suffit de cliquer sur Fichier et Charger un fichier. Ensuite, il faut choisir un fichier (au format texte), puis un dossier d’extraction (le fichier de sortie s’appelle sortie.html). Conclusion Ce projet se termine de manière concluante puisque les résultats sont plutôt encourageants. Le projet en lui même était franchement intéressant car il permet de voir comment le traitement automatique des langues peut être utilisé dans un cas concret. Traitement Automatique des Langues 5

×