SlideShare uma empresa Scribd logo
1 de 14
Rapport de Traitement Automatique des
               Langues:
        Recherche de citations.
           FONTAINE Fabrice
           CHATELUS Damien
            BANVILLE Julien

             Master 1 RADI
              6 mai 2008




                   1
Table des mati`res
              e
1 Introduction                                                                                                                 3

2 Pr´sentation du projet
     e                                                                                                                         4
  2.1 Liste des corpus de tests   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    4
  2.2 D´finition d’une citation
       e                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    5
  2.3 Organisation pr´vue . .
                      e           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    6
  2.4 Gestion de la langue . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    6

3 M´thodologie
     e                                                                                                                        7
  3.1 Pr´-traitement . . . . . . . . . . . . .
          e                                                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
       3.1.1 Choix du grain de recherches :                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
       3.1.2 Motifs recherch´s : . . . . . . .
                             e                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   7
       3.1.3 Repr´sentation : . . . . . . . .
                  e                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   8
       3.1.4 Explications additionnelles : . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   8
  3.2 Post-traitement . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   8

4 Contenu de l’Application                                                   10
  4.1 Base de donn´es en Sql . . . . . . . . . . . . . . . . . . . . . . . . 10
                    e
  4.2 Programmes et fonctions en Python . . . . . . . . . . . . . . . . 11
  4.3 Fenˆtre d’utilisation en Php . . . . . . . . . . . . . . . . . . . . . 12
         e

5 Resultats obtenus                                                           13
  5.1 Sur le corpus de test . . . . . . . . . . . . . . . . . . . . . . . . . 13
  5.2 Sur un corpus de presse . . . . . . . . . . . . . . . . . . . . . . . 13
  5.3 Sur un corpus quelconque . . . . . . . . . . . . . . . . . . . . . . 13

6 Conclusion                                                                                                                  14




                                              2
1    Introduction
    Les applications relatives au traitement automatique des langues sont nom-
breuses et pr´sentes dans un grand nombre de domaines, parmi lesquels la tra-
               e
duction automatique et la recherche de motifs dans un document (de langue
quelconque).
Avec l’essor d’Internet et la masse d’informations qu’il contient, il n’est dor´navant
                                                                               e
plus possible de classer ces renseignements manuellement, c’est pourquoi nous
devons impl´menter des m´thodes de traitement automatique sur ces donn´es.
              e              e                                                   e
L’internet ´tant un r´seau Mondial, les informations s’y trouvent dans de nom-
            e          e
breuses langues, il est par cons´quent n´cessaire de se d´tacher des langues
                                   e         e                   e
connues pour pouvoir g´rer et appliquer nos m´thodes quelle que soit la pro-
                          e                       e
venance ou la langue du document. C’est dans cet objectif que notre appli-
cation devra reconnaˆ et extraire les citations d’un corpus de documents de
                       ıtre
diff´rentes langues et les rendre rapidemment accessibles ` l’utilisateur. De plus,
    e                                                        a
il paraˆ utile et mˆme indispensable de lier chaque citation ` son auteur mais
       ıt           e                                              a
cette tˆche est tr`s d´licate.
       a          e e
En effet, ce type d’application est de plus en plus utilis´ par la presse qui d´sire
                                                           e                     e
retrouver les citations et les auteurs pour leurs articles.
Nous avons donc dˆ faire aussi bien un travail analytique que de programma-
                     u
tion afin d’arriver ` un r´sultat quant ` la reconnaissance, ` l’indexation et ` la
                    a      e             a                      a                 a
recherche de citation.
Nous allons donc commencer par une pr´sentation de notre projet ` travers les
                                           e                             a
corpus choisis, l’organisation et par la d´finition d’une citation. Pour ensuite
                                             e
d´tailler la m´thodologie utilis´e en pr´-traitement (r´cup´ration des citations)
  e             e                e       e               e     e
et en post-traitement (affichage des citations). Puis nous pr´senterons l’appli-
                                                                   e
cation que nous avons cr´´e ` travers les diff´rents modules qui la composent.
                            ee a                e
Et nous finirons par une analyse des r´sultats obtenus sur diff´rents corpus.
                                         e                           e




                                         3
2     Pr´sentation du projet
        e
   Avant toute chose, il nous a fallu regrouper une liste de corpus afin de cr´er
                                                                             e
nos applications. Puis, nous nous sommes pench´s sur les ´l´ments constituant
                                                 e          ee
d’une citation.


2.1     Liste des corpus de tests
    Nous avons commenc´ par cr´er un crawler afin de parcourir le web et de
                          e      e
t´l´charger une liste de documents pour composer notre corpus de tests. Nous
 ee
avons dˆ nettoyer le corpus de tout code html afin de ne garder que le contenu
        u
pertinent.

   Nous avons choisi de traiter 4 langues pour la premi`re version de notre
                                                       e
application :
    1. Fran¸ais : notre langue maternelle
           c
    2. Anglais : la langue la plus utilis´e sur internet.
                                         e
    3. Allemand : langue inconnue.
    4. Italien : langue inconnue.
L’Allemand et l’Italien ´tant pour nous des langues totalement opaques, et sur
                        e
lesquelles nous avons dˆ travailler sans les comprendre.
                       u

    Notre liste de corpus de tests se composait de 10 documents de chaque
langue, ce qui nous a permis d’´tudier pr´cis´ment les r´sultats de nos algo-
                                 e          e e             e
rithmes. Notre liste ´tendue de corpus de test se composait de 200 documents
                      e
par langue, il nous a offert un aper¸u des r´sultats sur un nombre de documents
                                   c       e
plus important.

     Nos corpus de tests sont issus de sites de presse, afin de s’assurer de la
pr´sence de citations.
   e
Nous avons r´alis´ un module responsable de la reconnaissance de la langue
               e e
selon la pr´sence et la fr´quence des petits mots courants.
           e              e
Cette m´thode permet d’automatiser la recherche de la langue, mais ne peut
         e
s’appliquer ` toutes les langues.
             a




                                          4
2.2    D´finition d’une citation
        e
    Nous avons dˆ nous pencher sur l’´nonc´ pour d´finir ce qu’est une citation
                 u                   e     e       e
et savoir ce que nous devons chercher et indexer.
En premier lieu, nous pouvons s´parer les discours d’un corpus entre :
                                e
  1. Les DA : Discours de l’auteur.
  2. Les DR : Discours rapport´s.
                              e
   Puis, nous pouvons s´parer les citations en deux cat´gories :
                       e                               e
  1. Les DRD : Discours Rapport´s Directs.
                               e
  2. Les DRI : Discours Rapport´s Indirects.
                               e
    Les discours rapport´s directs sont relativement faciles ` rep´rer dans un
                          e                                   a     e
document, par les ” (quotes) qui les caract´risent. Evidement, les marques de
                                               e
DRDs pourraient ˆtre diff´rentes selon les langues, mais cela ne limitera en
                     e       e
rien l’internationalisation de l’application. Une modification a d´j` ´t´ effectu´e
                                                                 eae e         e
pour le fran¸ais o` les quotes de DRDs peuvent ˆtre ” ou « », nous avons donc
             c     u                               e
internationalis´ les quotes et nous le ferons pour chaque nouvelle langue. La
                e
meilleure solution serait d’automatiser cette transformation par reconnaissance
d’un motif de DRDs et par la fr´quence moyenne de ceux-ci.
                                   e

    Les discours rapport´s indirects eux peuvent ˆtre reconnus ` certains mots
                         e                        e              a
caract´ristiques (verbes ou mots cl´s). Mais cela n´cessite de cr´er des diction-
      e                            e                e            e
naires de mots-cl´s (donc un par langue), ce qui limite l’utilisation de l’appli-
                  e
cation ` des langues qui ont ´t´ attendues. Cette op´ration aussi pourrait ˆtre
       a                     ee                       e                      e
automatis´e par la reconnaissance automatique de ces motifs.
          e

   Mais la plus grande difficult´ de notre travail n’est pas la reconnaissance
                               e
des citations en elles-mˆmes, mais les renseignements suppl´mentaires qui les
                        e                                  e
composent. Ainsi, nous pouvons ´noncer comme part d’une citation :
                                e
  1. La citation : rep´r´e par les patrons fournis juste avant.
                      ee
  2. L’auteur de la citation : rep´r´ par un premier mot commen¸ant par une
                                  ee                           c
     majuscule et peut-ˆtre un deuxi´me mot commen¸ant par une majuscule
                        e             e               c
     aussi.
  3. Le titre de l’auteur (sa fonction) : rep´r´ par une liste de mot-cl´s.
                                             ee                         e
  4. La date de la citation : rep´r´e par un format date ` proximit´ de la
                                 ee                      a         e
     citation.
    En plus des difficult´s apport´es par la recherches des ´l´ments suppl´mentaires
                       e         e                        ee            e
nomm´s ci-dessus, nous devons prendre en consid´ration que ces ´l´ments peuvent
       e                                          e              ee
ˆtre organis´s dans un ordre quelconque et sont donc difficiles ` rep´rer et ` dis-
e           e                                                  a     e     a
tinguer les uns des autres (dans certains cas). Nous savons aussi que les normes
que nous avons choisies peuvent ne pas ˆtre respect´es, mais la prise en compte
                                         e           e
de cette caract´ristique complexifierait grandement notre travail.
               e




                                       5
2.3    Organisation pr´vue
                      e
  Nous avons alors pr´vu un plan d’action, afin d’organiser notre travail pour
                       e
mener ` bien le projet. D´finir l’ordre des ´tudes et applications ` r´aliser.
      a                  e                 e                      a e

   Nous avons s´par´ notre temps de travail en 4 parties distinctes :
               e e
  1. Etude et d´duction : ´tude des corpus, et d´duction des formes g´n´rales
                e         e                     e                    e e
     des citations.
  2. D´veloppement des outils de r´cup´ration des citations (pr´-traitement).
      e                           e   e                        e
  3. D´veloppement des outils de recherche des citations (post-traitement).
      e
  4. Phase de tests : de nos outils sur des corpus diversifi´s.
                                                           e
    Chacune de ces parties ne pouvant commencer avant la fin de la pr´c´dente,
                                                                       e e
et n´cessitant une m´thodologie, des comp´tences (et des langages) diff´rents.
    e                e                      e                           e
Nous pouvons dire que notre travail a ´t´ pr´vu pour ˆtre r´parti ´quitablement
                                       ee e          e     e      e
entre la phase d’analyse linguistique et de programmation logicielle.


2.4    Gestion de la langue
   Nous avons dˆ choisir entre deux m´thodes de gestion des langues :
               u                     e
  1. Cr´er des m´thodes g´n´riques, applicables ` toutes les langues (ne pre-
       e          e        e e                    a
     nant pas en consid´ration la langue du document pour le traitement).
                        e
     La m´thode g´n´rique est plus adaptable et permet en th´orie de traiter
           e        e e                                         e
     toutes les langues, qu’elles soient ou non pr´vues lors du d´veloppement
                                                  e               e
     de l’application. Cependant, les r´sultats obtenus ne sont pas sens´s ˆtre
                                        e                               e e
     aussi bons que ceux issus de l’´tude de la langue trait´e.
                                     e                      e
  2. Cr´er des m´thodes d´pendantes de la langue du document (et donc d´finir
       e         e          e                                              e
     des m´thodes pour trouver la langue d’un document).
           e
     La m´thode d´pendante d’une langue est plus restrictive et mˆme si elle
          e         e                                                  e
     offre de meilleurs r´sultats, elle est limit´e par le nombre de langues
                           e                       e
     pr´vues ` l’origine. Notons qu’il n’est pas n´cessaire de connaˆ la langue
       e      a                                   e                 ıtre
     pour l’´tudier, mais il faut une langue connue de comparaison (donc des
            e
     corpus identiques sur le fond).

   Nous aurions pr´f´r´ ˆtre totalement ind´pendants de la langue du docu-
                     eee e                    e
ment, mais nous ne voyons pas comment nous en passer totalement (notamment
pour trouver le titre d’un auteur), nous avons alors opt´ pour une m´thode hy-
                                                        e            e
bride : La langue du document est recherch´e et trait´e avec les m´thodes les
                                             e         e            e
plus appropri´es, si elle est trouv´e. Sinon, nous appliquons les m´thodes les
              e                    e                                e
plus g´n´riques afin de fournir un r´sultat de moindre qualit´, mais permettant
      e e                           e                        e
de traiter toutes les langues.




                                       6
3       M´thodologie
         e
    Nous avons dˆ d´finir une m´thodologie avant de r´aliser le code de nos ap-
                  u e             e                      e
plications, ceci afin d’´viter de nous orienter dans de mauvaises directions et de
                       e
perdre du temps.
C’est pourquoi nous avons d´cid´ de d´couper le projet en deux parties dis-
                               e e        e
tinctes et ind´pendantes. A savoir, une partie pr´-traitement, responsable de
               e                                     e
la recherche et de l’indexation des citations. Et une partie post-traitement, qui
recherchera les citations (ou les auteurs) dans la liste con¸ue pr´c´demment.
                                                            c     e e


3.1     Pr´-traitement
          e
    Dans cette section, nous allons d´finir les moyens utilis´s pour la recherche
                                     e                       e
et l’indexation des citations mais aussi d´finir les relations entre les m´thodes
                                          e                              e
et la raison de leur cr´ation.
                       e


3.1.1    Choix du grain de recherches :
    Nous avons d´cid´ de d´couper les corpus en phrase afin de faire nos re-
                 e e         e
cherches.
    Nous avons longtemps h´sit´ ` utiliser le paragraphe comme grain lors de
                             e e a
la recherche afin de pouvoir r´cup´rer plus facilement les citations multiples
                                 e  e
d’un mˆme auteur (diss´min´ dans ce paragraphe), mais ´tant donn´ qu’un
       e                 e     e                              e         e
auteur peut ˆtre cit´ dans d’autres paragraphes, cette m´thode s’est montr´e
             e      e                                       e                 e
peu pertinente. De plus, l’utilisation d’un grain plus petit, tel que la phrase
permet d’extraire plus facilement les citations sur l’hypoth`se qu’une phrase ne
                                                            e
contient qu’un seul type de citation (DRD ou DRI). Quant ` la recherche des
                                                               a
auteurs, nous avons opt´ pour une m´morisation du nom et des initiales afin
                         e             e
de r´attribuer une citation ` son auteur mˆme si le nom de celui-ci n’est pas
    e                        a               e
pr´sent dans la phrase.
  e


3.1.2    Motifs recherch´s :
                        e
   Nous recherchons des auteurs, type d’auteurs et citations, ce que nous avons
not´ et appel´ atc.
   e         e


    Recherche d’Auteur :
Nous avons d´fini un auteur comme ´tant un ou plusieurs mots qui se suivent,
              e                      e
commen¸ant par une majuscule et pr´sent dans une phrase contenant une ci-
        c                              e
tation. Nous avons ensuite ´tendu notre d´finition aux sigles et initiales, qui
                             e              e
sont une suite de lettres en majuscule s´par´es par des points (optionnellement
                                         e e
identique ` un ´l´ment pr´sent dans notre table des initiales) et pr´sents dans
          a     ee         e                                         e
une phrase contenant une citation.




                                       7
Recherche des DRDs :
La recherche des DRDs se fait en plusieurs ´tapes :
                                           e
   – Nous commen¸ons par rechercher tous les types de guillemets existants.
                   c
   – Nous les transformons en marqueurs de d´but et de fin de citation.
                                              e
   – Nous transformons les points en marqueurs de phrases.
   – Pour chaque phrase nous recherchons des marqueurs de citation, si il y en
     a, nous recherchons les informations compl´mentaires (auteur, type...).
                                                e

   Recherche des DRIs :
Nous recherchons les DRIs de la mˆme mani`re que les DRDs, mais avec deux
                                    e         e
m´thodes diff´rentes :
 e           e
   – Par les verbes : On cherche un pattern de verbes de citation, en partant
     du principe que la citation se trouvera apr`s celui-ci. Selon les langues,
                                                    e
     nous rechercherons un pattern ou une comparaison par rapport ` une liste
                                                                       a
     de mots-cl´s. (Exemple : M. Truc a dit qu’il n’y avait pas de probl`me.)
               e                                                           e
   – Par les pr´positions : On cherche un pattern pr´position, en partant du
               e                                          e
     principe que la citation se trouvera avant celle-ci. Nous rechercherons dans
     ce cas un pattern d´pendant l` aussi de la langue. (Exemple : Il y a un
                          e           a
     probl´me selon M. Truc.)
          e

   Comme pour toutes les r´gles, il y a des exceptions et nous n’arrivons pas `
                          e                                                   a
obtenir 100% de r´ussite.
                 e


3.1.3   Repr´sentation :
            e
   – atc est une table de tuples (auteur, type, citation)
   – listeInitiale est un tableau regroupant les initiales des auteurs d´j` trouv´s
                                                                        ea       e
     dans le corpus (pour comparaison)
   – listeAuteur est un tableau regroupant tous les noms propres trouv´s dans
                                                                            e
     le document (et donc les auteurs possibles, mais dont les mots n’ont pas
     encore ´t´ cit´s).
             ee e
   – Nous avons aussi une listeVerbe (ou pattern verbe, selon la langue) et une
     listePreposition.


3.1.4   Explications additionnelles :
    Nos d´finitions des ´l´ments ne suivent pas la d´finition traditionnelle que
          e              ee                             e
l’on pourrait attendre, car nous avons essay´ de les adapter le plus possible `
                                                e                                 a
notre cas, la recherche de citation dans un document. Ainsi, garder une liste de
tous les auteurs, qu’ils soient a l’origine d’une citation ou juste acteurs dans le
                                `
document, nous permet d’attribuer des citations sans auteur ` la bonne per-
                                                                   a
sonne.


3.2     Post-traitement
    Nous expliquerons ici les choix que nous avons faits pour la recherche de
citation et les raisons de ces choix. Nous avons opt´ pour une interface simple,
                                                    e


                                        8
mais pouvant ˆtre accessible de n’importe quel ordinateur, n’importe ou et sans
               e
installation. Nous avons donc r´alis´ une application internet (en PHP) acc´dant
                               e e                                         e
a
` la mˆme base de donn´es que les modules de pr´-traitement.
       e                 e                          e

   Le module de recherche ne poss´de que peu de fonctionnalit´s pour l’instant,
                                  e                           e
mais elles peuvent ˆtre impl´ment´es facilement selon les besoins :
                   e        e     e
   – Recherche de toutes les citations d’un auteur.
   – Recherche de renseignement sur une citation (` partir de un ou tous les
                                                    a
     mots de la citation).
   – Recherche de citation par ann´e ou par langue.
                                    e

    L’application internet n’est qu’un moyen d’acc´der aux donn´es de la base
                                                     e             e
SQL, son am´lioration est donc d´pendante des informations contenues dans la
             e                    e
base de donn´es. Les recherches effectu´es sur cette base retournent ` la fois, le
              e                         e                              a
document original, et un document dont les auteurs, types et citations ont ´t´
                                                                             ee
colori´s, permettant ainsi de retrouver les citations plus facilement.
      e




                                       9
4     Contenu de l’Application
   Apr´s avoir d´cid´ de l’organisation, nous avons r´alis´ les diff´rents pro-
       e         e e                                 e e           e
grammes que nous avions pr´vus, nous en ferons ici une description succinte
                              e
avec une explication de leur fonctionnement.


4.1    Base de donn´es en Sql
                   e
    Nous avions plusieurs choix pour le stockage des donn´es, nous avons pens´
                                                          e                   e
a une base de donn´e SQL afin de profiter du syst´me de requˆte et d’optimiser
`                   e                             e            e
nos temps de traitement.
Elle est aussi responsable de la mise en relation du pr´-traitement et du post-
                                                       e
traitement.

    Voici une repr´sentation de la base de donn´es actuelle :
                  e                            e




                                       10
4.2    Programmes et fonctions en Python
   Nous avons r´alis´ plusieurs applications en python, car ce langage offre une
                e e
biblioth`que compl`te de fonctions de recherche de motifs dans un corpus.
        e         e

   Voici une liste des modules que nous avons estim´ n´cessaires ` l’extraction
                                                      e e            a
de citations :
   – traitementLangue : trouve la langue du document, applique les diction-
      naires et mot-cl´s selon la langue.
                      e
   – traitementFichier : ouvre et enregistre des fichiers, nettoie les fichiers du
      code html, recup`re les valeurs cl´s des fichiers (titre, date...).
                        e               e
   – traitementCitation : contient les m´thodes de recherche de citation, et le
                                           e
      programme d’application de ces m´thodes.
                                          e
   – insertionBD : organise les donn´es et fait les insertions dans la base de
                                       e
      donn´es.
           e
   – main : utilis´ comme programme principal, il ´num`re ` l’utilisateur les
                   e                                  e      e a
      actions en cours, pour un suivi facilit´.
                                             e

   Ainsi que les outils utilis´s pour la recherche de motifs dans un corpus :
                              e
   – Le pattern matching : biblioth´que regexp (compile, sub, match, findall,
                                       e
     group, groups).
     ==> Il est utilis´ pour sa polyvalence et sa rapidit´ de traitement
                       e                                   e
   – Les chaines de caract`res : biblioth´que string (split, equals, concatena-
                             e              e
     tion).
     ==> elle a ´t´ choisie pour les op´rations les plus simples, principalement
                 ee                      e
     la d´coupe du corpus apr`s application du pattern matching.
         e                       e

   Un exemple de d´roulement de l’application en python :
                  e




                                      11
4.3     Fenˆtre d’utilisation en Php
           e
    Nous avons choisi le PHP comme langage de programmation pour la re-
cherche de citation, car il permet de r´aliser une interface graphique simplement
                                       e
et poss`de de nombreuses fonctions d’acc`s ` une base de donn´es SQL.
        e                                   e a                    e
De plus, nous ne savions pas si nous aurions besoin de r´aliser des op´rations
                                                             e            e
sur les corpus en post-traitement, et PHP nous semblait dans ce cas la meilleure
solution.
Nous avons donc cr´´ une application web, ressemblant ` un moteur de re-
                      ee                                       a
cherche, afin d’afficher rapidement et simplement tous les renseignements rela-
tifs ` une citation.
     a
Les r´ponses de l’application sont des lignes comprenant les renseignements les
      e
plus importants sur une citation et des liens vers le document originel et vers le
document colori´ :e




   Grˆce aux options disponibles, on peut rechercher une citation, par :
     a

   –   Son auteur.
   –   Une partie de la citation.
   –   La date de l’article.
   –   La langue de l’article.




                                       12
5     Resultats obtenus
    Voici les r´sultats et les statistiques que nous avons obtenus au cours des
               e
tests sur divers types de corpus.


5.1     Sur le corpus de test
   Nous avons commenc´ par une s´rie de tests sur nos propres corpus, afin
                          e            e
de pouvoir v´rifier manuellement le bon fonctionnement de l’application. Bien
             e
que ce genre de tests ne soit pas repr´sentatif du fonctionnement r´el. Il permet
                                      e                            e
cependant de rep´rer les erreurs les plus ´videntes.
                 e                        e
Nos r´sultats sur notre corpus sont totalement acceptables, et nous ont surtout
     e
permis de remarquer les failles de notre raisonnement, mais aussi les limites de
notre traitement (comme par exemple, les documents mal format´s).  e


5.2     Sur un corpus de presse
    Nous avons alors r´alis´ des tests sur des corpus de presse, dans lesquels nous
                      e e
´tions sˆrs de trouver des citations.
e       u
Les r´sultats sont acceptables, mais cependant certaines citations sont mal re-
     e
connues ou pas enti`rement. Les titres des auteurs sont aussi difficiles ` rep´rer.
                    e                                                     a    e


5.3     Sur un corpus quelconque
    Enfin, nous avons r´alis´ une s´rie de tests sur des documents quelconques
                       e e        e
afin de v´rifier la robustesse de notre application.
         e
Les r´sultats sur des documents quelconques (particuli`rement sur des docu-
      e                                                  e
ments non-issus de sites journalistiques) donnent de tr`s mauvais r´sultats,
                                                           e         e
class´s en deux cat´gories majeures :
     e             e
    1. Nombre faible de citations trouv´es : car peu de citations, ou citations
                                       e
       difficiles ` reconnaˆ
                a        ıtre.
    2. Nombre important de citation trouv´es : car les titres, mots particuliers...
                                         e
       form´s comme des citations.
           e




                                        13
6    Conclusion
   Nous esp´rions obtenir un r´sultat plus automatique et ´loign´ de la m´thodologie
            e                  e                          e     e        e
manuelle, cependant nous n’avons pu impl´menter une telle m´thode. Nous
                                             e                     e
avons toutefois fourni une application fonctionnelle qui pourrait ˆtre utilis´e
                                                                     e        e
afin de rassembler et de rechercher efficacement des citations. Ce projet nous a
offert une vision des possibilit´s mais aussi des difficult´s du traitement auto-
                               e                        e
matique des langues et de leurs applications dans un cadre professionnel.




                                      14

Mais conteúdo relacionado

Destaque

Atelier - Comment renouveler la communication autour de la collecte ? - Delie...
Atelier - Comment renouveler la communication autour de la collecte ? - Delie...Atelier - Comment renouveler la communication autour de la collecte ? - Delie...
Atelier - Comment renouveler la communication autour de la collecte ? - Delie...Cap'Com
 
Fl003 definitiva adm_36003111__1507161214_6546750716015439510
Fl003 definitiva adm_36003111__1507161214_6546750716015439510Fl003 definitiva adm_36003111__1507161214_6546750716015439510
Fl003 definitiva adm_36003111__1507161214_6546750716015439510mariaabilleira
 
Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...
Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...
Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...Cap'Com
 
#CapCom14 : AT14 – Comment mutualiser ses achats de communication ?
 #CapCom14 : AT14 – Comment mutualiser ses achats de communication ?  #CapCom14 : AT14 – Comment mutualiser ses achats de communication ?
#CapCom14 : AT14 – Comment mutualiser ses achats de communication ? Cap'Com
 
A - Adopter l’agilité – Enjeux, bénéfices et plus
A - Adopter l’agilité – Enjeux, bénéfices et plusA - Adopter l’agilité – Enjeux, bénéfices et plus
A - Adopter l’agilité – Enjeux, bénéfices et plusXP Day CH
 
ORM. Online Reputation Management
ORM. Online Reputation ManagementORM. Online Reputation Management
ORM. Online Reputation ManagementSandra Gard
 
La veille de Red Guy du 20.11.13 - Le silence
La veille de Red Guy du 20.11.13 - Le silenceLa veille de Red Guy du 20.11.13 - Le silence
La veille de Red Guy du 20.11.13 - Le silenceRed Guy
 
Miley cyrus butterfly fly away-sheetzbox
Miley cyrus butterfly fly away-sheetzboxMiley cyrus butterfly fly away-sheetzbox
Miley cyrus butterfly fly away-sheetzboxMayisha Alamgir
 
Diseño curricular nacional
Diseño curricular nacionalDiseño curricular nacional
Diseño curricular nacionalvaniabenavides
 
Diapo cy twombly
Diapo cy twomblyDiapo cy twombly
Diapo cy twomblydedele70
 
La communication au service de la capacitation
La communication au service de la capacitationLa communication au service de la capacitation
La communication au service de la capacitationCap'Com
 
Atelier - Comment faire vivre une salle de presse sur son site internet ?
Atelier - Comment faire vivre une salle de presse sur son site internet ?Atelier - Comment faire vivre une salle de presse sur son site internet ?
Atelier - Comment faire vivre une salle de presse sur son site internet ?Cap'Com
 
Mediapost distribution
Mediapost distributionMediapost distribution
Mediapost distributionCap'Com
 
les pôles de compétitivité, supports d'une offre touristique
les pôles de compétitivité, supports d'une offre touristiqueles pôles de compétitivité, supports d'une offre touristique
les pôles de compétitivité, supports d'une offre touristiqueCap'Com
 

Destaque (18)

Atelier - Comment renouveler la communication autour de la collecte ? - Delie...
Atelier - Comment renouveler la communication autour de la collecte ? - Delie...Atelier - Comment renouveler la communication autour de la collecte ? - Delie...
Atelier - Comment renouveler la communication autour de la collecte ? - Delie...
 
Fl003 definitiva adm_36003111__1507161214_6546750716015439510
Fl003 definitiva adm_36003111__1507161214_6546750716015439510Fl003 definitiva adm_36003111__1507161214_6546750716015439510
Fl003 definitiva adm_36003111__1507161214_6546750716015439510
 
Catalogo Soldadura
Catalogo SoldaduraCatalogo Soldadura
Catalogo Soldadura
 
M2 issba 2015 2016 séances 1+2
M2 issba 2015 2016 séances 1+2M2 issba 2015 2016 séances 1+2
M2 issba 2015 2016 séances 1+2
 
Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...
Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...
Carrefour numérique - Open data : quelles réalités aujourd'hui, quelles oppor...
 
#CapCom14 : AT14 – Comment mutualiser ses achats de communication ?
 #CapCom14 : AT14 – Comment mutualiser ses achats de communication ?  #CapCom14 : AT14 – Comment mutualiser ses achats de communication ?
#CapCom14 : AT14 – Comment mutualiser ses achats de communication ?
 
A - Adopter l’agilité – Enjeux, bénéfices et plus
A - Adopter l’agilité – Enjeux, bénéfices et plusA - Adopter l’agilité – Enjeux, bénéfices et plus
A - Adopter l’agilité – Enjeux, bénéfices et plus
 
ORM. Online Reputation Management
ORM. Online Reputation ManagementORM. Online Reputation Management
ORM. Online Reputation Management
 
La veille de Red Guy du 20.11.13 - Le silence
La veille de Red Guy du 20.11.13 - Le silenceLa veille de Red Guy du 20.11.13 - Le silence
La veille de Red Guy du 20.11.13 - Le silence
 
Miley cyrus butterfly fly away-sheetzbox
Miley cyrus butterfly fly away-sheetzboxMiley cyrus butterfly fly away-sheetzbox
Miley cyrus butterfly fly away-sheetzbox
 
Diseño curricular nacional
Diseño curricular nacionalDiseño curricular nacional
Diseño curricular nacional
 
Diapo cy twombly
Diapo cy twomblyDiapo cy twombly
Diapo cy twombly
 
La communication au service de la capacitation
La communication au service de la capacitationLa communication au service de la capacitation
La communication au service de la capacitation
 
Adrexo
AdrexoAdrexo
Adrexo
 
Atelier - Comment faire vivre une salle de presse sur son site internet ?
Atelier - Comment faire vivre une salle de presse sur son site internet ?Atelier - Comment faire vivre une salle de presse sur son site internet ?
Atelier - Comment faire vivre une salle de presse sur son site internet ?
 
Conquistar
ConquistarConquistar
Conquistar
 
Mediapost distribution
Mediapost distributionMediapost distribution
Mediapost distribution
 
les pôles de compétitivité, supports d'une offre touristique
les pôles de compétitivité, supports d'une offre touristiqueles pôles de compétitivité, supports d'une offre touristique
les pôles de compétitivité, supports d'une offre touristique
 

Semelhante a Recherche de citations

Rôle de l’inférence temporel dans la reconnaissance de l’inférence textuelle
Rôle de l’inférence temporel dans la reconnaissance de l’inférence textuelleRôle de l’inférence temporel dans la reconnaissance de l’inférence textuelle
Rôle de l’inférence temporel dans la reconnaissance de l’inférence textuelleBouneffouf Djallel
 
Etude De Cas Vehicule Hybride
Etude De Cas Vehicule HybrideEtude De Cas Vehicule Hybride
Etude De Cas Vehicule HybridePascal Cottereau
 
Conception de modèles_simples
Conception de modèles_simplesConception de modèles_simples
Conception de modèles_simplesressmy
 
Génération automatique de distracteurs dans le cadre de QCM
Génération automatique de distracteurs dans le cadre de QCMGénération automatique de distracteurs dans le cadre de QCM
Génération automatique de distracteurs dans le cadre de QCMThibault André
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Mohamed Boubaya
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Emeric Tapachès
 
Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texteEstelle Delpech
 
Manuel du module Ventes d'OpenERP produit par Gestion-Ressources
Manuel du module Ventes d'OpenERP produit par Gestion-RessourcesManuel du module Ventes d'OpenERP produit par Gestion-Ressources
Manuel du module Ventes d'OpenERP produit par Gestion-RessourcesGestion-Ressources Inc.
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
extraire, représenter et traiter la social data avec r. seconde partie: appli...
extraire, représenter et traiter la social data avec r. seconde partie: appli...extraire, représenter et traiter la social data avec r. seconde partie: appli...
extraire, représenter et traiter la social data avec r. seconde partie: appli...Jean Jacques Gauguier
 
Numerique guide libre-association-version
Numerique guide libre-association-versionNumerique guide libre-association-version
Numerique guide libre-association-versionDominique Gayraud
 

Semelhante a Recherche de citations (20)

p1314558_NGUYEN-Thi-Tuong-Vy
p1314558_NGUYEN-Thi-Tuong-Vyp1314558_NGUYEN-Thi-Tuong-Vy
p1314558_NGUYEN-Thi-Tuong-Vy
 
R´evision d’ontologies fond´ee sur tableaux.doc
R´evision d’ontologies fond´ee sur tableaux.docR´evision d’ontologies fond´ee sur tableaux.doc
R´evision d’ontologies fond´ee sur tableaux.doc
 
Rapport IA
Rapport IARapport IA
Rapport IA
 
Rôle de l’inférence temporel dans la reconnaissance de l’inférence textuelle
Rôle de l’inférence temporel dans la reconnaissance de l’inférence textuelleRôle de l’inférence temporel dans la reconnaissance de l’inférence textuelle
Rôle de l’inférence temporel dans la reconnaissance de l’inférence textuelle
 
Poly
PolyPoly
Poly
 
Etude De Cas Vehicule Hybride
Etude De Cas Vehicule HybrideEtude De Cas Vehicule Hybride
Etude De Cas Vehicule Hybride
 
thesis
thesisthesis
thesis
 
Conception de modèles_simples
Conception de modèles_simplesConception de modèles_simples
Conception de modèles_simples
 
Génération automatique de distracteurs dans le cadre de QCM
Génération automatique de distracteurs dans le cadre de QCMGénération automatique de distracteurs dans le cadre de QCM
Génération automatique de distracteurs dans le cadre de QCM
 
Rapport
RapportRapport
Rapport
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
 
Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texte
 
Langage C++
Langage C++Langage C++
Langage C++
 
Manuel du module Ventes d'OpenERP produit par Gestion-Ressources
Manuel du module Ventes d'OpenERP produit par Gestion-RessourcesManuel du module Ventes d'OpenERP produit par Gestion-Ressources
Manuel du module Ventes d'OpenERP produit par Gestion-Ressources
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
extraire, représenter et traiter la social data avec r. seconde partie: appli...
extraire, représenter et traiter la social data avec r. seconde partie: appli...extraire, représenter et traiter la social data avec r. seconde partie: appli...
extraire, représenter et traiter la social data avec r. seconde partie: appli...
 
Logo
LogoLogo
Logo
 
Former aux métiers de la #e culture
Former aux métiers de la #e cultureFormer aux métiers de la #e culture
Former aux métiers de la #e culture
 
Numerique guide libre-association-version
Numerique guide libre-association-versionNumerique guide libre-association-version
Numerique guide libre-association-version
 

Mais 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
 

Mais de Banville Julien (7)

Analyse statistique du jeu DOTA
Analyse statistique du jeu DOTAAnalyse statistique du jeu DOTA
Analyse statistique du jeu DOTA
 
Rapport Tal Master 1
Rapport Tal Master 1Rapport Tal Master 1
Rapport Tal Master 1
 
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
 
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
 

Recherche de citations

  • 1. Rapport de Traitement Automatique des Langues: Recherche de citations. FONTAINE Fabrice CHATELUS Damien BANVILLE Julien Master 1 RADI 6 mai 2008 1
  • 2. Table des mati`res e 1 Introduction 3 2 Pr´sentation du projet e 4 2.1 Liste des corpus de tests . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 D´finition d’une citation e . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Organisation pr´vue . . e . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 Gestion de la langue . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 M´thodologie e 7 3.1 Pr´-traitement . . . . . . . . . . . . . e . . . . . . . . . . . . . . . 7 3.1.1 Choix du grain de recherches : . . . . . . . . . . . . . . . 7 3.1.2 Motifs recherch´s : . . . . . . . e . . . . . . . . . . . . . . . 7 3.1.3 Repr´sentation : . . . . . . . . e . . . . . . . . . . . . . . . 8 3.1.4 Explications additionnelles : . . . . . . . . . . . . . . . . . 8 3.2 Post-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4 Contenu de l’Application 10 4.1 Base de donn´es en Sql . . . . . . . . . . . . . . . . . . . . . . . . 10 e 4.2 Programmes et fonctions en Python . . . . . . . . . . . . . . . . 11 4.3 Fenˆtre d’utilisation en Php . . . . . . . . . . . . . . . . . . . . . 12 e 5 Resultats obtenus 13 5.1 Sur le corpus de test . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.2 Sur un corpus de presse . . . . . . . . . . . . . . . . . . . . . . . 13 5.3 Sur un corpus quelconque . . . . . . . . . . . . . . . . . . . . . . 13 6 Conclusion 14 2
  • 3. 1 Introduction Les applications relatives au traitement automatique des langues sont nom- breuses et pr´sentes dans un grand nombre de domaines, parmi lesquels la tra- e duction automatique et la recherche de motifs dans un document (de langue quelconque). Avec l’essor d’Internet et la masse d’informations qu’il contient, il n’est dor´navant e plus possible de classer ces renseignements manuellement, c’est pourquoi nous devons impl´menter des m´thodes de traitement automatique sur ces donn´es. e e e L’internet ´tant un r´seau Mondial, les informations s’y trouvent dans de nom- e e breuses langues, il est par cons´quent n´cessaire de se d´tacher des langues e e e connues pour pouvoir g´rer et appliquer nos m´thodes quelle que soit la pro- e e venance ou la langue du document. C’est dans cet objectif que notre appli- cation devra reconnaˆ et extraire les citations d’un corpus de documents de ıtre diff´rentes langues et les rendre rapidemment accessibles ` l’utilisateur. De plus, e a il paraˆ utile et mˆme indispensable de lier chaque citation ` son auteur mais ıt e a cette tˆche est tr`s d´licate. a e e En effet, ce type d’application est de plus en plus utilis´ par la presse qui d´sire e e retrouver les citations et les auteurs pour leurs articles. Nous avons donc dˆ faire aussi bien un travail analytique que de programma- u tion afin d’arriver ` un r´sultat quant ` la reconnaissance, ` l’indexation et ` la a e a a a recherche de citation. Nous allons donc commencer par une pr´sentation de notre projet ` travers les e a corpus choisis, l’organisation et par la d´finition d’une citation. Pour ensuite e d´tailler la m´thodologie utilis´e en pr´-traitement (r´cup´ration des citations) e e e e e e et en post-traitement (affichage des citations). Puis nous pr´senterons l’appli- e cation que nous avons cr´´e ` travers les diff´rents modules qui la composent. ee a e Et nous finirons par une analyse des r´sultats obtenus sur diff´rents corpus. e e 3
  • 4. 2 Pr´sentation du projet e Avant toute chose, il nous a fallu regrouper une liste de corpus afin de cr´er e nos applications. Puis, nous nous sommes pench´s sur les ´l´ments constituant e ee d’une citation. 2.1 Liste des corpus de tests Nous avons commenc´ par cr´er un crawler afin de parcourir le web et de e e t´l´charger une liste de documents pour composer notre corpus de tests. Nous ee avons dˆ nettoyer le corpus de tout code html afin de ne garder que le contenu u pertinent. Nous avons choisi de traiter 4 langues pour la premi`re version de notre e application : 1. Fran¸ais : notre langue maternelle c 2. Anglais : la langue la plus utilis´e sur internet. e 3. Allemand : langue inconnue. 4. Italien : langue inconnue. L’Allemand et l’Italien ´tant pour nous des langues totalement opaques, et sur e lesquelles nous avons dˆ travailler sans les comprendre. u Notre liste de corpus de tests se composait de 10 documents de chaque langue, ce qui nous a permis d’´tudier pr´cis´ment les r´sultats de nos algo- e e e e rithmes. Notre liste ´tendue de corpus de test se composait de 200 documents e par langue, il nous a offert un aper¸u des r´sultats sur un nombre de documents c e plus important. Nos corpus de tests sont issus de sites de presse, afin de s’assurer de la pr´sence de citations. e Nous avons r´alis´ un module responsable de la reconnaissance de la langue e e selon la pr´sence et la fr´quence des petits mots courants. e e Cette m´thode permet d’automatiser la recherche de la langue, mais ne peut e s’appliquer ` toutes les langues. a 4
  • 5. 2.2 D´finition d’une citation e Nous avons dˆ nous pencher sur l’´nonc´ pour d´finir ce qu’est une citation u e e e et savoir ce que nous devons chercher et indexer. En premier lieu, nous pouvons s´parer les discours d’un corpus entre : e 1. Les DA : Discours de l’auteur. 2. Les DR : Discours rapport´s. e Puis, nous pouvons s´parer les citations en deux cat´gories : e e 1. Les DRD : Discours Rapport´s Directs. e 2. Les DRI : Discours Rapport´s Indirects. e Les discours rapport´s directs sont relativement faciles ` rep´rer dans un e a e document, par les ” (quotes) qui les caract´risent. Evidement, les marques de e DRDs pourraient ˆtre diff´rentes selon les langues, mais cela ne limitera en e e rien l’internationalisation de l’application. Une modification a d´j` ´t´ effectu´e eae e e pour le fran¸ais o` les quotes de DRDs peuvent ˆtre ” ou « », nous avons donc c u e internationalis´ les quotes et nous le ferons pour chaque nouvelle langue. La e meilleure solution serait d’automatiser cette transformation par reconnaissance d’un motif de DRDs et par la fr´quence moyenne de ceux-ci. e Les discours rapport´s indirects eux peuvent ˆtre reconnus ` certains mots e e a caract´ristiques (verbes ou mots cl´s). Mais cela n´cessite de cr´er des diction- e e e e naires de mots-cl´s (donc un par langue), ce qui limite l’utilisation de l’appli- e cation ` des langues qui ont ´t´ attendues. Cette op´ration aussi pourrait ˆtre a ee e e automatis´e par la reconnaissance automatique de ces motifs. e Mais la plus grande difficult´ de notre travail n’est pas la reconnaissance e des citations en elles-mˆmes, mais les renseignements suppl´mentaires qui les e e composent. Ainsi, nous pouvons ´noncer comme part d’une citation : e 1. La citation : rep´r´e par les patrons fournis juste avant. ee 2. L’auteur de la citation : rep´r´ par un premier mot commen¸ant par une ee c majuscule et peut-ˆtre un deuxi´me mot commen¸ant par une majuscule e e c aussi. 3. Le titre de l’auteur (sa fonction) : rep´r´ par une liste de mot-cl´s. ee e 4. La date de la citation : rep´r´e par un format date ` proximit´ de la ee a e citation. En plus des difficult´s apport´es par la recherches des ´l´ments suppl´mentaires e e ee e nomm´s ci-dessus, nous devons prendre en consid´ration que ces ´l´ments peuvent e e ee ˆtre organis´s dans un ordre quelconque et sont donc difficiles ` rep´rer et ` dis- e e a e a tinguer les uns des autres (dans certains cas). Nous savons aussi que les normes que nous avons choisies peuvent ne pas ˆtre respect´es, mais la prise en compte e e de cette caract´ristique complexifierait grandement notre travail. e 5
  • 6. 2.3 Organisation pr´vue e Nous avons alors pr´vu un plan d’action, afin d’organiser notre travail pour e mener ` bien le projet. D´finir l’ordre des ´tudes et applications ` r´aliser. a e e a e Nous avons s´par´ notre temps de travail en 4 parties distinctes : e e 1. Etude et d´duction : ´tude des corpus, et d´duction des formes g´n´rales e e e e e des citations. 2. D´veloppement des outils de r´cup´ration des citations (pr´-traitement). e e e e 3. D´veloppement des outils de recherche des citations (post-traitement). e 4. Phase de tests : de nos outils sur des corpus diversifi´s. e Chacune de ces parties ne pouvant commencer avant la fin de la pr´c´dente, e e et n´cessitant une m´thodologie, des comp´tences (et des langages) diff´rents. e e e e Nous pouvons dire que notre travail a ´t´ pr´vu pour ˆtre r´parti ´quitablement ee e e e e entre la phase d’analyse linguistique et de programmation logicielle. 2.4 Gestion de la langue Nous avons dˆ choisir entre deux m´thodes de gestion des langues : u e 1. Cr´er des m´thodes g´n´riques, applicables ` toutes les langues (ne pre- e e e e a nant pas en consid´ration la langue du document pour le traitement). e La m´thode g´n´rique est plus adaptable et permet en th´orie de traiter e e e e toutes les langues, qu’elles soient ou non pr´vues lors du d´veloppement e e de l’application. Cependant, les r´sultats obtenus ne sont pas sens´s ˆtre e e e aussi bons que ceux issus de l’´tude de la langue trait´e. e e 2. Cr´er des m´thodes d´pendantes de la langue du document (et donc d´finir e e e e des m´thodes pour trouver la langue d’un document). e La m´thode d´pendante d’une langue est plus restrictive et mˆme si elle e e e offre de meilleurs r´sultats, elle est limit´e par le nombre de langues e e pr´vues ` l’origine. Notons qu’il n’est pas n´cessaire de connaˆ la langue e a e ıtre pour l’´tudier, mais il faut une langue connue de comparaison (donc des e corpus identiques sur le fond). Nous aurions pr´f´r´ ˆtre totalement ind´pendants de la langue du docu- eee e e ment, mais nous ne voyons pas comment nous en passer totalement (notamment pour trouver le titre d’un auteur), nous avons alors opt´ pour une m´thode hy- e e bride : La langue du document est recherch´e et trait´e avec les m´thodes les e e e plus appropri´es, si elle est trouv´e. Sinon, nous appliquons les m´thodes les e e e plus g´n´riques afin de fournir un r´sultat de moindre qualit´, mais permettant e e e e de traiter toutes les langues. 6
  • 7. 3 M´thodologie e Nous avons dˆ d´finir une m´thodologie avant de r´aliser le code de nos ap- u e e e plications, ceci afin d’´viter de nous orienter dans de mauvaises directions et de e perdre du temps. C’est pourquoi nous avons d´cid´ de d´couper le projet en deux parties dis- e e e tinctes et ind´pendantes. A savoir, une partie pr´-traitement, responsable de e e la recherche et de l’indexation des citations. Et une partie post-traitement, qui recherchera les citations (ou les auteurs) dans la liste con¸ue pr´c´demment. c e e 3.1 Pr´-traitement e Dans cette section, nous allons d´finir les moyens utilis´s pour la recherche e e et l’indexation des citations mais aussi d´finir les relations entre les m´thodes e e et la raison de leur cr´ation. e 3.1.1 Choix du grain de recherches : Nous avons d´cid´ de d´couper les corpus en phrase afin de faire nos re- e e e cherches. Nous avons longtemps h´sit´ ` utiliser le paragraphe comme grain lors de e e a la recherche afin de pouvoir r´cup´rer plus facilement les citations multiples e e d’un mˆme auteur (diss´min´ dans ce paragraphe), mais ´tant donn´ qu’un e e e e e auteur peut ˆtre cit´ dans d’autres paragraphes, cette m´thode s’est montr´e e e e e peu pertinente. De plus, l’utilisation d’un grain plus petit, tel que la phrase permet d’extraire plus facilement les citations sur l’hypoth`se qu’une phrase ne e contient qu’un seul type de citation (DRD ou DRI). Quant ` la recherche des a auteurs, nous avons opt´ pour une m´morisation du nom et des initiales afin e e de r´attribuer une citation ` son auteur mˆme si le nom de celui-ci n’est pas e a e pr´sent dans la phrase. e 3.1.2 Motifs recherch´s : e Nous recherchons des auteurs, type d’auteurs et citations, ce que nous avons not´ et appel´ atc. e e Recherche d’Auteur : Nous avons d´fini un auteur comme ´tant un ou plusieurs mots qui se suivent, e e commen¸ant par une majuscule et pr´sent dans une phrase contenant une ci- c e tation. Nous avons ensuite ´tendu notre d´finition aux sigles et initiales, qui e e sont une suite de lettres en majuscule s´par´es par des points (optionnellement e e identique ` un ´l´ment pr´sent dans notre table des initiales) et pr´sents dans a ee e e une phrase contenant une citation. 7
  • 8. Recherche des DRDs : La recherche des DRDs se fait en plusieurs ´tapes : e – Nous commen¸ons par rechercher tous les types de guillemets existants. c – Nous les transformons en marqueurs de d´but et de fin de citation. e – Nous transformons les points en marqueurs de phrases. – Pour chaque phrase nous recherchons des marqueurs de citation, si il y en a, nous recherchons les informations compl´mentaires (auteur, type...). e Recherche des DRIs : Nous recherchons les DRIs de la mˆme mani`re que les DRDs, mais avec deux e e m´thodes diff´rentes : e e – Par les verbes : On cherche un pattern de verbes de citation, en partant du principe que la citation se trouvera apr`s celui-ci. Selon les langues, e nous rechercherons un pattern ou une comparaison par rapport ` une liste a de mots-cl´s. (Exemple : M. Truc a dit qu’il n’y avait pas de probl`me.) e e – Par les pr´positions : On cherche un pattern pr´position, en partant du e e principe que la citation se trouvera avant celle-ci. Nous rechercherons dans ce cas un pattern d´pendant l` aussi de la langue. (Exemple : Il y a un e a probl´me selon M. Truc.) e Comme pour toutes les r´gles, il y a des exceptions et nous n’arrivons pas ` e a obtenir 100% de r´ussite. e 3.1.3 Repr´sentation : e – atc est une table de tuples (auteur, type, citation) – listeInitiale est un tableau regroupant les initiales des auteurs d´j` trouv´s ea e dans le corpus (pour comparaison) – listeAuteur est un tableau regroupant tous les noms propres trouv´s dans e le document (et donc les auteurs possibles, mais dont les mots n’ont pas encore ´t´ cit´s). ee e – Nous avons aussi une listeVerbe (ou pattern verbe, selon la langue) et une listePreposition. 3.1.4 Explications additionnelles : Nos d´finitions des ´l´ments ne suivent pas la d´finition traditionnelle que e ee e l’on pourrait attendre, car nous avons essay´ de les adapter le plus possible ` e a notre cas, la recherche de citation dans un document. Ainsi, garder une liste de tous les auteurs, qu’ils soient a l’origine d’une citation ou juste acteurs dans le ` document, nous permet d’attribuer des citations sans auteur ` la bonne per- a sonne. 3.2 Post-traitement Nous expliquerons ici les choix que nous avons faits pour la recherche de citation et les raisons de ces choix. Nous avons opt´ pour une interface simple, e 8
  • 9. mais pouvant ˆtre accessible de n’importe quel ordinateur, n’importe ou et sans e installation. Nous avons donc r´alis´ une application internet (en PHP) acc´dant e e e a ` la mˆme base de donn´es que les modules de pr´-traitement. e e e Le module de recherche ne poss´de que peu de fonctionnalit´s pour l’instant, e e mais elles peuvent ˆtre impl´ment´es facilement selon les besoins : e e e – Recherche de toutes les citations d’un auteur. – Recherche de renseignement sur une citation (` partir de un ou tous les a mots de la citation). – Recherche de citation par ann´e ou par langue. e L’application internet n’est qu’un moyen d’acc´der aux donn´es de la base e e SQL, son am´lioration est donc d´pendante des informations contenues dans la e e base de donn´es. Les recherches effectu´es sur cette base retournent ` la fois, le e e a document original, et un document dont les auteurs, types et citations ont ´t´ ee colori´s, permettant ainsi de retrouver les citations plus facilement. e 9
  • 10. 4 Contenu de l’Application Apr´s avoir d´cid´ de l’organisation, nous avons r´alis´ les diff´rents pro- e e e e e e grammes que nous avions pr´vus, nous en ferons ici une description succinte e avec une explication de leur fonctionnement. 4.1 Base de donn´es en Sql e Nous avions plusieurs choix pour le stockage des donn´es, nous avons pens´ e e a une base de donn´e SQL afin de profiter du syst´me de requˆte et d’optimiser ` e e e nos temps de traitement. Elle est aussi responsable de la mise en relation du pr´-traitement et du post- e traitement. Voici une repr´sentation de la base de donn´es actuelle : e e 10
  • 11. 4.2 Programmes et fonctions en Python Nous avons r´alis´ plusieurs applications en python, car ce langage offre une e e biblioth`que compl`te de fonctions de recherche de motifs dans un corpus. e e Voici une liste des modules que nous avons estim´ n´cessaires ` l’extraction e e a de citations : – traitementLangue : trouve la langue du document, applique les diction- naires et mot-cl´s selon la langue. e – traitementFichier : ouvre et enregistre des fichiers, nettoie les fichiers du code html, recup`re les valeurs cl´s des fichiers (titre, date...). e e – traitementCitation : contient les m´thodes de recherche de citation, et le e programme d’application de ces m´thodes. e – insertionBD : organise les donn´es et fait les insertions dans la base de e donn´es. e – main : utilis´ comme programme principal, il ´num`re ` l’utilisateur les e e e a actions en cours, pour un suivi facilit´. e Ainsi que les outils utilis´s pour la recherche de motifs dans un corpus : e – Le pattern matching : biblioth´que regexp (compile, sub, match, findall, e group, groups). ==> Il est utilis´ pour sa polyvalence et sa rapidit´ de traitement e e – Les chaines de caract`res : biblioth´que string (split, equals, concatena- e e tion). ==> elle a ´t´ choisie pour les op´rations les plus simples, principalement ee e la d´coupe du corpus apr`s application du pattern matching. e e Un exemple de d´roulement de l’application en python : e 11
  • 12. 4.3 Fenˆtre d’utilisation en Php e Nous avons choisi le PHP comme langage de programmation pour la re- cherche de citation, car il permet de r´aliser une interface graphique simplement e et poss`de de nombreuses fonctions d’acc`s ` une base de donn´es SQL. e e a e De plus, nous ne savions pas si nous aurions besoin de r´aliser des op´rations e e sur les corpus en post-traitement, et PHP nous semblait dans ce cas la meilleure solution. Nous avons donc cr´´ une application web, ressemblant ` un moteur de re- ee a cherche, afin d’afficher rapidement et simplement tous les renseignements rela- tifs ` une citation. a Les r´ponses de l’application sont des lignes comprenant les renseignements les e plus importants sur une citation et des liens vers le document originel et vers le document colori´ :e Grˆce aux options disponibles, on peut rechercher une citation, par : a – Son auteur. – Une partie de la citation. – La date de l’article. – La langue de l’article. 12
  • 13. 5 Resultats obtenus Voici les r´sultats et les statistiques que nous avons obtenus au cours des e tests sur divers types de corpus. 5.1 Sur le corpus de test Nous avons commenc´ par une s´rie de tests sur nos propres corpus, afin e e de pouvoir v´rifier manuellement le bon fonctionnement de l’application. Bien e que ce genre de tests ne soit pas repr´sentatif du fonctionnement r´el. Il permet e e cependant de rep´rer les erreurs les plus ´videntes. e e Nos r´sultats sur notre corpus sont totalement acceptables, et nous ont surtout e permis de remarquer les failles de notre raisonnement, mais aussi les limites de notre traitement (comme par exemple, les documents mal format´s). e 5.2 Sur un corpus de presse Nous avons alors r´alis´ des tests sur des corpus de presse, dans lesquels nous e e ´tions sˆrs de trouver des citations. e u Les r´sultats sont acceptables, mais cependant certaines citations sont mal re- e connues ou pas enti`rement. Les titres des auteurs sont aussi difficiles ` rep´rer. e a e 5.3 Sur un corpus quelconque Enfin, nous avons r´alis´ une s´rie de tests sur des documents quelconques e e e afin de v´rifier la robustesse de notre application. e Les r´sultats sur des documents quelconques (particuli`rement sur des docu- e e ments non-issus de sites journalistiques) donnent de tr`s mauvais r´sultats, e e class´s en deux cat´gories majeures : e e 1. Nombre faible de citations trouv´es : car peu de citations, ou citations e difficiles ` reconnaˆ a ıtre. 2. Nombre important de citation trouv´es : car les titres, mots particuliers... e form´s comme des citations. e 13
  • 14. 6 Conclusion Nous esp´rions obtenir un r´sultat plus automatique et ´loign´ de la m´thodologie e e e e e manuelle, cependant nous n’avons pu impl´menter une telle m´thode. Nous e e avons toutefois fourni une application fonctionnelle qui pourrait ˆtre utilis´e e e afin de rassembler et de rechercher efficacement des citations. Ce projet nous a offert une vision des possibilit´s mais aussi des difficult´s du traitement auto- e e matique des langues et de leurs applications dans un cadre professionnel. 14