SlideShare une entreprise Scribd logo
1  sur  6
Université de
                                              Caen




Traitement Automatique des
Langues




Julien BANVILLE   	   	   Master 2 Informatique RADIS
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
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
Université de Caen




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




Traitement Automatique des Langues
                                                        3
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
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

Contenu connexe

En vedette

Informe sobre la evolución de los proyectos de la estrategia de cronicidad
Informe sobre  la evolución de  los proyectos  de la estrategia  de cronicidadInforme sobre  la evolución de  los proyectos  de la estrategia  de cronicidad
Informe sobre la evolución de los proyectos de la estrategia de cronicidadAlfredo Alday
 
Numérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspectiveNumérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspectiveCap'Com
 
Con las tic sembrando semillas, cosechando aprendizajes
Con las tic sembrando semillas, cosechando aprendizajesCon las tic sembrando semillas, cosechando aprendizajes
Con las tic sembrando semillas, cosechando aprendizajesMariluz Ascuntar
 
Presentación Emilce Joya
Presentación Emilce JoyaPresentación Emilce Joya
Presentación Emilce Joyaejoya
 
2011 sondage aupres de collectivites locales
2011 sondage aupres de collectivites locales2011 sondage aupres de collectivites locales
2011 sondage aupres de collectivites localesPrimoFrance
 
Diffuser ses travaux en Open access
Diffuser ses travaux en Open accessDiffuser ses travaux en Open access
Diffuser ses travaux en Open accessUniversité d'Angers
 
La veille de Red Guy du 11.12.13 - L'autodérision
La veille de Red Guy du 11.12.13 - L'autodérisionLa veille de Red Guy du 11.12.13 - L'autodérision
La veille de Red Guy du 11.12.13 - L'autodérisionRed Guy
 
La veille de red guy du 31.10.12 face à la crise.pptx
La veille de red guy du 31.10.12   face à la crise.pptxLa veille de red guy du 31.10.12   face à la crise.pptx
La veille de red guy du 31.10.12 face à la crise.pptxRed Guy
 

En vedette (19)

Ppt mcni - gooplan
Ppt   mcni - gooplanPpt   mcni - gooplan
Ppt mcni - gooplan
 
Informe sobre la evolución de los proyectos de la estrategia de cronicidad
Informe sobre  la evolución de  los proyectos  de la estrategia  de cronicidadInforme sobre  la evolución de  los proyectos  de la estrategia  de cronicidad
Informe sobre la evolución de los proyectos de la estrategia de cronicidad
 
Diapo bonnenouvelle
Diapo bonnenouvelleDiapo bonnenouvelle
Diapo bonnenouvelle
 
Informe de feria. Nautika 2014. Zagreb boat show 2014
Informe de feria. Nautika 2014. Zagreb boat show 2014Informe de feria. Nautika 2014. Zagreb boat show 2014
Informe de feria. Nautika 2014. Zagreb boat show 2014
 
Numérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspectiveNumérique et projets urbains mise en perspective
Numérique et projets urbains mise en perspective
 
Présentation Compufirst
Présentation CompufirstPrésentation Compufirst
Présentation Compufirst
 
Con las tic sembrando semillas, cosechando aprendizajes
Con las tic sembrando semillas, cosechando aprendizajesCon las tic sembrando semillas, cosechando aprendizajes
Con las tic sembrando semillas, cosechando aprendizajes
 
Presentación Emilce Joya
Presentación Emilce JoyaPresentación Emilce Joya
Presentación Emilce Joya
 
Jean-Charles Brisard
Jean-Charles BrisardJean-Charles Brisard
Jean-Charles Brisard
 
Ossuaire
OssuaireOssuaire
Ossuaire
 
Eméric ERNOULT de AFFINITIZ, L'Innovation Collaborative (PARIS 2.0, Sept 2009)
Eméric ERNOULT de AFFINITIZ, L'Innovation Collaborative (PARIS 2.0, Sept 2009)Eméric ERNOULT de AFFINITIZ, L'Innovation Collaborative (PARIS 2.0, Sept 2009)
Eméric ERNOULT de AFFINITIZ, L'Innovation Collaborative (PARIS 2.0, Sept 2009)
 
Ines2
Ines2Ines2
Ines2
 
La grande conversation mediatique : Partie 2
La grande conversation mediatique : Partie 2La grande conversation mediatique : Partie 2
La grande conversation mediatique : Partie 2
 
2011 sondage aupres de collectivites locales
2011 sondage aupres de collectivites locales2011 sondage aupres de collectivites locales
2011 sondage aupres de collectivites locales
 
Diffuser ses travaux en Open access
Diffuser ses travaux en Open accessDiffuser ses travaux en Open access
Diffuser ses travaux en Open access
 
Les Creatifs de l'ERE 3D
Les Creatifs de l'ERE 3DLes Creatifs de l'ERE 3D
Les Creatifs de l'ERE 3D
 
La veille de Red Guy du 11.12.13 - L'autodérision
La veille de Red Guy du 11.12.13 - L'autodérisionLa veille de Red Guy du 11.12.13 - L'autodérision
La veille de Red Guy du 11.12.13 - L'autodérision
 
La veille de red guy du 31.10.12 face à la crise.pptx
La veille de red guy du 31.10.12   face à la crise.pptxLa veille de red guy du 31.10.12   face à la crise.pptx
La veille de red guy du 31.10.12 face à la crise.pptx
 
Ines
InesInes
Ines
 

Similaire à Rapport Tal Master 1

Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimLaurent Broudoux
 
Séminaire Inria IST - Référentiels et interoperabilité (2)
Séminaire Inria IST - Référentiels et interoperabilité (2)Séminaire Inria IST - Référentiels et interoperabilité (2)
Séminaire Inria IST - Référentiels et interoperabilité (2)Antoine Isaac
 
Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...Desconnets Jean-Christophe
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebChristophe Rochefolle
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - KhawarizmiBachir Benyammi
 
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
 DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisantcluelessjoe
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfLarbaSAWADOGO2
 
03 Web Semantique
03  Web Semantique03  Web Semantique
03 Web Semantiquebadirh
 
Ateliers numériques du LabexMed : LaTeX appliqué aux SHS
Ateliers numériques du LabexMed : LaTeX appliqué aux SHSAteliers numériques du LabexMed : LaTeX appliqué aux SHS
Ateliers numériques du LabexMed : LaTeX appliqué aux SHSPhonothèque MMSH
 
Projet-RSSxml
Projet-RSSxmlProjet-RSSxml
Projet-RSSxmlBartoli
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresRobert Viseur
 
ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)
ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)
ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)Sylvie Dalbin
 

Similaire à Rapport Tal Master 1 (20)

Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
 
Séminaire Inria IST - Référentiels et interoperabilité (2)
Séminaire Inria IST - Référentiels et interoperabilité (2)Séminaire Inria IST - Référentiels et interoperabilité (2)
Séminaire Inria IST - Référentiels et interoperabilité (2)
 
Machine Translation
Machine TranslationMachine Translation
Machine Translation
 
Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...Apport des thésaurus pour le catalogage et la localisation des données enviro...
Apport des thésaurus pour le catalogage et la localisation des données enviro...
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - Khawarizmi
 
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
 DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
 
POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdf
 
Le framework-executor
Le framework-executorLe framework-executor
Le framework-executor
 
03 Web Semantique
03  Web Semantique03  Web Semantique
03 Web Semantique
 
Ateliers numériques du LabexMed : LaTeX appliqué aux SHS
Ateliers numériques du LabexMed : LaTeX appliqué aux SHSAteliers numériques du LabexMed : LaTeX appliqué aux SHS
Ateliers numériques du LabexMed : LaTeX appliqué aux SHS
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Projet-RSSxml
Projet-RSSxmlProjet-RSSxml
Projet-RSSxml
 
Presentation forum php 2010
Presentation forum php 2010Presentation forum php 2010
Presentation forum php 2010
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libres
 
ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)
ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)
ISO 25964 Thésaurus pour la recherche documentaire (éditeurs logiciels)
 

Plus de Banville Julien

Analyse statistique du jeu DOTA
Analyse statistique du jeu DOTAAnalyse statistique du jeu DOTA
Analyse statistique du jeu DOTABanville Julien
 
Analyse statistique sur DOTA
Analyse statistique sur DOTAAnalyse statistique sur DOTA
Analyse statistique sur DOTABanville Julien
 
Création d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distanceCréation d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distanceBanville Julien
 

Plus de Banville Julien (7)

Analyse statistique du jeu DOTA
Analyse statistique du jeu DOTAAnalyse statistique du jeu DOTA
Analyse statistique du jeu DOTA
 
Analyse statistique sur DOTA
Analyse statistique sur DOTAAnalyse statistique sur DOTA
Analyse statistique sur DOTA
 
Projet Music Brainz
Projet Music BrainzProjet Music Brainz
Projet Music Brainz
 
Music Brainz
Music BrainzMusic Brainz
Music Brainz
 
Recherche de citations
Recherche de citationsRecherche de citations
Recherche de citations
 
DOTA statistic analysis
DOTA statistic analysisDOTA statistic analysis
DOTA statistic analysis
 
Création d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distanceCréation d'une plate-forme ouverte à l'enseignement à distance
Création d'une plate-forme ouverte à l'enseignement à distance
 

Rapport Tal Master 1

  • 1. Université de Caen Traitement Automatique des Langues Julien BANVILLE Master 2 Informatique RADIS
  • 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. 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. Université de Caen Voici un diagramme présentant l’architecture du logiciel. Traitement Automatique des Langues 3
  • 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. 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