• Aucun résultat trouvé

2.2 Deux exemples d’outils d’extraction d’information

2.2.2 Insight Discoverer™ Extractor

L’outil Insight Discoverer™ Extractor (IDE) est commercialisé par la société Temis depuis juin 2002. C’est un serveur d’extraction d’information dédié à l’analyse de ressources textuelles capable de traiter 16 langues, principalement européennes. Il est spécialisé dans les domaines de la veille économique ou scientifique ainsi que dans le domaine pharmaceutique [GRI 01a]. Son approche est fondée sur l’acquisition de connaissances à partir d’un corpus selon un processus itératif. Elle exploite les complémentarités des différentes étapes de l’analyse linguistique (morphologique, syntaxique et

sémantique) à partir des étiquettes générées à chacune de ces étapes. L’IDE peut être employé pour une simple extraction d’éléments syntaxiques comme les noms, les verbes, etc. ou bien pour une extraction d’éléments sémantiques tels que des noms de sociétés, des noms de lieux, des dates, des prix,… et des relations sémantiques (fusion de X avec Y, achat de W par Z).

L’architecture de l’IDE repose sur le moteur XeLDA™ pour l’analyse morpho-syntaxique, quelle que soit la langue utilisée. Ce moteur XeLDA™ est un étiqueteur grammatical qui découpe chaque texte en unités lexicales puis lemmatise ces unités lexicales pour qu’elles soient reconnues indépendamment de leurs formes fléchies. Enfin, il assigne à ces unités lexicales une catégorie grammaticale (nom, adjectif, verbe…) assortie de traits morphosyntaxiques (genre, nombre). Pour réaliser cette analyse, le moteur XeLDA™ dispose de diverses ressources comme des dictionnaires, des règles morphologiques ainsi que des modèles statistiques (utilisation des chaînes de Markov) pour résoudre les ambiguïtés concernant l’affectation des catégories grammaticales. Ces sources ne peuvent être modifiées par l’utilisateur, elles sont identiques quel que soit le domaine concerné. La sortie de l’analyseur morphosyntaxique se compose donc de la forme fléchie de chaque unité textuelle, de son lemme, de sa catégorie grammaticale ainsi que de sa position dans le texte (point d’entrée plus longueur de la chaine de l’unité textuelle considérée).

Puis vient l’analyse sémantique pour laquelle les ingénieurs linguistes de la société définissent des cartouches linguistiques, les Skill Cartridges™, en fonction du domaine concerné et des attentes de l’application finale. D’après [GRI 01a], une Skill Cartridge™ est une hiérarchie de « composants de connaissance », appelés « Skill Units », décrivant l’information à extraire pour un métier, une activité, un domaine spécifique ou une thématique donnée. Un composant de connaissance peut avoir la forme d’un dictionnaire ou d’un ensemble de règles d’extraction qui décrivent l’information à extraire. Les dictionnaires peuvent exploiter des ressources existantes comme WordNet30 [FEL 98] pour l’anglais ou MemoData31 [DUT 03] pour le français. Les règles d’extraction se composent d’un ensemble de patrons d’extraction contextuels, combinant lemmes, étiquettes syntaxiques et étiquettes sémantiques (cf. Figure 23). Chaque règle associe ensuite une nouvelle étiquette, par exemple « actor_in_agribusiness » dans la figure ci-dessous, au fragment de texte repéré. Cette étiquette peut ensuite être utilisée dans de nouvelles règles, et ainsi de suite.

Figure 23. Exemple d’une expression régulière dans IDE, combinant étiquettes syntaxiques (« NOUN ») et étiquettes sémantiques (« brand_product »)

30 http://wordnet.princeton.edu/ 31

Les linguistes de Témis ont pour consigne de suivre les étapes de construction suivantes pour tout développement d’une nouvelle cartouche linguistique [GRI 01b] :

1) l’analyse morpho-syntaxique des textes qui constituent le corpus d’entraînement et la définition du vocabulaire pertinent relatif au secteur d’activité ou au domaine économique étudié (agroalimentaire, automobile, etc.) ;

2) le regroupement des termes ainsi définis sous des étiquettes sémantiques elles-mêmes organisées, selon les besoins, en une hiérarchie simple de 3 à 4 niveaux généralement ; 3) la définition des règles d’extraction d’information niveau par niveau hiérarchique afin d’aboutir

aux concepts visés : les acteurs du domaine d’activité étudié, leurs relations et toute information relative aux lieux, au temps ou à une donnée particulière, ou attribut, liée au domaine comme un montant financier par exemple ;

4) l’exécution interactive des règles d’extraction sur le corpus d’entraînement afin d’évaluer le résultat des extractions. Il est alors possible d’enrichir le vocabulaire, de modifier des règles d’extraction et d’en vérifier l’impact sur le corpus de travail.

Figure 24. La visualisation des informations extractions et annotées dans IDE

Cette méthodologie de construction des règles d’extraction basée sur la notion d’organisation des règles d’extraction par niveaux hiérarchiques permet de mieux contrôler leur exécution sur les corpus [GRI 01b]. IDE utilise la règle classique « le plus à gauche, le plus long » pour savoir quelle séquence de mots associer aux patrons candidats. Ainsi, pour chaque segment textuel, l’algorithme cherche parmi les patrons celui qui correspond le mieux. Mais les patrons n’étant pas tous de même niveau (du plus général au plus spécifique), ils ne s’appliquent pas tous au même moment. Une information extraite à un niveau hiérarchique donné encapsule les unités textuelles qui la composent, les rendant inaccessibles aux niveaux supérieurs. Par contre, un mot isolé qui ne participe pas à la construction

d’un patron reste disponible pour l’application d’un autre patron en changeant de niveau hiérarchique. L’algorithme utilisé par l’IDE est décrit plus en détail dans [GRI 01a]. L’ensemble des patrons d’extractrion sont compilés dans un transducteur [HOB 97], la cartouche linguistique, qui applique d’abord les patrons de reconnaissance des entités nommées, puis les patrons indépendants du domaine et qui s’appuient sur l’analyse morphosyntaxique et, enfin, les patrons spécifiques au domaine de l’application pour laquelle ils ont été conçus avec, notamment, le repérage des relations sémantiques entre les entités précédemment extraites.

Le serveur d’extraction d’IDE prend en charge les ressources documentaires aux formats tels que le texte simple (txt ou rtf), MS Word, pdf, html, xml, etc. Il applique automatiquement la cartouche linguistique définie pour l’application cible. A l’issue du traitement, il génère un objet Java, appelé « arbre conceptuel », représentant l’organisation hiérarchique des étiquettes sémantiques apposées en fonction de la structure de l’information extraite du texte analysé (cf. Figure 25). Si cet arbre conceptuel Java correspond à un format propriétaire à l’IDE, sa sérialisation dans un fichier XML en fait un objet tout à fait exploitable par d’autres applications.

Figure 25. Extrait d’un arbre conceptuel généré par IDE

En conclusion, GATE et IDE sont deux outils de conception différente. Le premier est plus orienté vers la communauté scientifique puisqu’il a pour objectif de fournir les ressources nécessaires à la construction d’une application d’extraction d’information pour un ingénieur linguiste. A contrario, IDE est conçu pour l’industrie puisqu’il est livré à des entreprises avec des applications clef en main en fonction de leur domaine d’activité et de leur métier. Ces applications sont développées par la propre équipe d’ingénieurs linguistes de Témis. Néanmoins, ils réalisent tout deux une analyse linguistique plus ou moins fine sur laquelle repose les patrons d’extraction construits manuellement. Au final, les informations sont extraites similairement et annotées par des étiquettes sémantiques constituant un

arbre conceptuel, même si GATE ne l’appelle pas ainsi. En effet, la sérialisation des annotations produites par GATE en fichier XML est équivalente à la représentation du texte sous la forme d’un arbre conceptuel. Par ailleurs, nous avons vu au §1.3.2 que le langage XML se trouve à la base de la pyramide des langages recommandés par le W3C. Or, en ce qui concerne l’annotation sémantique et le peuplement d’ontologie, nous cherchons à atteindre les niveaux supérieurs : RDF pour l’annotation et OWL pour le peuplement d’ontologie. Dans la section suivante, nous allons donc étudier plus en détail la structuration des arbres de concepts générés afin de comprendre comment ils peuvent être transformés en une représentation plus formelle du contenu.