• Aucun résultat trouvé

Le système d’extraction et d’interprétation des informations temporelles que nous proposons repose avant tout sur la reconnaissance des expressions temporelles. Pour atteindre un résultat valable, il est nécessaire de construire de nombreuses et volumineuses ressources linguistiques. Ce type de développement n’est pas simple à mener car il implique la gestion de ces ressources au fil du temps et d’inévitables mises à jour. Il nous a donc semblé judicieux de définir une procédure pour encadrer le processus d’extraction, en ce compris la création de la ressource linguistique.

La méthodologie proposée, dont les points importants sont représentés à la figure 7.6, touche aussi bien la partie qui s’occupe de définir et décrire les expressions temporelles et leurs annotations, que la partie consacrée à l’interprétation de ces éléments. Elle s’apparente à un cycle de vie qui permet de créer un système et de le faire évoluer au cours du temps.

1. La première approche doit permettre de se faire une idée assez précise des expressions à an- noter dans les textes. Pour ce faire, il est possible de consulter des ouvrages de référence (par exemple Gross [1986] dans le cas des adverbes temporels), ou d’examiner un corpus de test. Une première génération de grammaires peut être construite afin de se faire une idée des possibilités de formalisation des expressions recherchées à l’aide de graphes. Ces premiers développements n’ont pas pour but d’atteindre une large couverture, mais bien d’identifier cer- tains critères importants, tant au niveau de la morphologie que du sens, qui pourront servir à organiser les unités à extraire. Suite à cette première analyse, une définition des catégories est réalisée.

2. Une fois les différentes catégories définies, une spécification plus détaillée des types d’ex- pressions contenus dans chaque catégorie peut être effectuée. Celle-ci s’attache à décrire les éléments constitutifs de ces expressions et les accompagne d’exemples.

3. Cette spécification constitue la référence qui doit être utilisée pour construire les grammaires d’extraction. Celles-ci transposeront la spécification vers un format qui pourra être appliqué aux textes. Il est important que la transposition soit la plus fidèle possible, c’est-à-dire que tous les cas prévus par la spécification soient couverts et que, dans le même temps, le bruit19 éventuellement apporté par les grammaires soit minimisé.

19

7.4 Méthodologie 181

4. Les exemples fournis dans la spécification servent ensuite de mini-corpus de test pour véri- fier que les grammaires atteignent bien la couverture espérée. Les grammaires sont d’abord validées sur ce corpus minimal, avant d’être testées sur des textes réels.

5. Un certain nombre d’itérations des étapes 2 à 4 peut être effectué dans le but d’augmenter la couverture des grammaires. Ce processus de construction de grammaire a été proposé à l’origine par Gross [1999] et est nommé bootstrap method.

6. L’application des grammaires sur un corpus peut fournir des statistiques concernant la fré- quence et la distribution des différents types d’expression (voir Annexe D). Au-delà de l’in- térêt scientifique que peuvent avoir de telles constatations, elles peuvent également permettre d’axer en priorité l’implémentation d’une application (étape 7) vers les cas les plus fréquent. 7. Le résultat de l’extraction doit ensuite être exploité. À ce stade, la spécification sert à nouveau

de base afin de déterminer avec précision quels sont les cas qui doivent être pris en charge par le logiciel. Cette étape est également l’occasion de vérifier l’exactitude de l’annotation réalisée par les grammaires. Le programme peut en effet rapporter facilement tout cas sortant de la

norme définie par la spécification.

Figure 7.6 : Vue globale des étapes de développement.

La spécification occupe donc une position centrale au cours du développement du système, ainsi que lors de son évolution. Un des éléments qui matérialisent le lien entre la spécification et les diffé- rentes autres parties est l’utilisation d’identifiants pour marquer les sous-catégories d’expressions. Ces identifiants, définis dans la spécification, se retrouvent dans les sorties des grammaires et donc également dans les annotations réalisées sur les textes par ces dernières. Cette pratique permet de réaliser des statistiques au niveau des sous-catégories, mais surtout de tracer les éventuels oublis ou erreurs. En effet, toute anomalie détectée lors des tests pourra facilement être localisée au niveau des grammaires, et faire l’objet d’une correction qui sera finalement répercutée dans la spécification.

Le travail de spécification qui a été effectué se trouve à la croisée des chemins entre certains tra- vaux de linguistique, tels que ceux de Borillo (voir section 4.2), et les guides d’annotation tels que proposés en extraction d’informations (voir section 6.5). La spécification ne doit cependant pas être

182 7 Implémentation d’un système d’extraction d’informations temporelles

vue comme une tentative de créer un document normatif. Elle s’impose plutôt comme une nécessité d’accompagner l’écriture des grammaires d’un guide, d’un référentiel, permettant de ne pas se perdre en cours de route. L’utilisation d’un format bien défini, et la spécification des expressions à l’aide de celui-ci, favorise le développement structuré de la ressource ainsi que la production d’une annotation cohérente. Elle contribue également à rendre compte de l’évolution de la couverture de l’extraction, et constitue une information de base pour l’étape d’interprétation20. À notre connaissance, en ce qui concerne l’extraction d’expressions temporelles, ce type de démarche ainsi que la spécification qui en résulte, n’ont pas fait l’objet de publications.

En ce qui concerne la création et l’évolution de la ressource linguistique principale – les grammaires – quelques remarques peuvent être émises. Tout d’abord, dès que le nombre de grammaires aug- mente, il est important d’adopter une certaine discipline en matière de nommage, et d’organisation en répertoires. Cette rigueur facilite l’accès à certains composants déjà développés et qui peuvent être réutilisés dans différentes grammaires. Cela permet aussi une meilleure vision des ressources disponibles lorsqu’il s’agit de modifier ou corriger tel ou tel élément. Pour faciliter leur gestion et leur partage, les grammaires locales peuvent être organisées à l’aide d’outils spécifiques, tels que celui proposé par Constant [2003].

Enfin, quelques outils pourraient être utiles lors de la phase de mise au point des grammaires avec Unitex. Par exemple, il arrive qu’une séquence puisse malencontreusement être reconnue par plu- sieurs chemins de la grammaire, qui lui attribuent ainsi plusieurs annotations potentielles. Lors de l’insertion des séquences de sortie dans le texte21, une seule annotation sera retenue, sans garantie que ce soit la plus approprié. Le même type de problème se pose lorsque deux séquences recon- nues se chevauchent. L’heuristique généralement utilisée, celle du plus long chemin, décidera alors de sacrifier une séquence au profit de l’autre. Ces deux comportements ne constituent pas un pro- blème en eux-mêmes, au contraire ils augmentent la robustesse du processus. Cependant, les cas de recouvrement total ou de chevauchement étant souvent révélateurs d’une erreur de conception des grammaires, ils pourraient être avantageusement détectés et signalés au développeur.

D’une manière générale, lorsque les projets d’élaboration de ressources dépassent une certaine taille, il serait certainement intéressant de disposer d’un véritable environnement de développement, tel qu’on en voit dans le domaine de la programmation de logiciels22. Ce type d’outil permet une vé- ritable gestion du projet : regroupement des fichiers concernés, intégration de librairies, gestion des dépendances entre grammaires, renommage à l’échelle du projet (refactoring), gestion de la do- cumentation, gestion des versions, etc. Tous ces éléments pourraient être utilement accessibles au travers d’une seule et unique interface.

20

Permet de savoir quel type d’information se retrouvera dans quel type d’expression, et de quelle manière cela sera annoté.

21

Ce problème ne se présente pas lors de l’affichage d’une concordance classique.

22