• Aucun résultat trouvé

WHISK R Ext : une extension de WHISK R

IRIES : un système interactif d’apprentissage de règles

7.3 Développement du système IRIES

7.3.2 WHISK R Ext : une extension de WHISK R

Le module d’apprentissage de règles d’EI contenu dans le système IRIES en-capsule l’algorithme WHISKRExt. WHISKRExt est, en effet, une extension de l’algo-rithme WHISKR avec lequel nous avons choisi de travailler. Nous développons cette extension pour deux raisons :

— étendre les règles de WHISKR pour prendre en compte les informations lin-guistiques attribuées aux Tokens ;

— modifier WHISKRpour tenir compte de certaines contraintes nécessaires pour la mise en place d’un système interactif.

Il est à noter que les modifications que nous apportons à l’algorithme WHISKR

peuvent être faites sur n’importe quel algorithme d’apprentissage de règles. D’ailleurs, on peut tout à fait créer une classe générique qui représente un algorithme d’appren-tissage de règles respectant les contraintes que doit satisfaire un système interactif de laquelle hérite n’importe quel algorithme d’apprentissage de règles utilisé (la classe

TextRulerBasicLearner par exemple dans le diagramme de la figure 7.6).

La figure 7.7 représente les classes de TextRuler que nous modifions pour obte-nir l’algorithme WHISKRExt. Les attributs et fonctions coloriés en rouge sont des

7.3. Développement du système IRIES 131

132

Chapitre 7. IRIES : un système interactif d’apprentissage de règles d’extraction d’information attributs et fonctions que nous modifions et ceux coloriés en vert sont des attributs et fonctions que nous ajoutons.

La version initiale de WHISKR souffre d’un inconvénient majeur : les règles qu’il apprend considèrent uniquement l’expression exacte des mots. Voici un exemple de règle inférée par cette version initiale de WHISKR :

Token{REGEXP("human")-->MARKONCE(BacteriaHabitat)};

Cette règle permet d’annoter chaque mot du texte dont l’expression est human avec le concept « Habitat de bactéries ». Elle n’est, cependant, pas capable d’iden-tifier les expressions humans, Human ou encore Humans qui devraient également être annotées.

Les règles apprises par la version initiale de WHISKR étant limitées aux expres-sions exactes des mots, nous étendons l’implémentation de l’algorithme de manière à rendre les règles capables de s’appuyer sur les étiquettes linguistiques des mots (lemmes et étiquettes morpho-syntaxiques) et donc d’exploiter la richesse du langage Ruta.

Nous appelons la version initiale de WHISKR WHISKMot puisqu’elle s’appuie uniquement sur l’expression exacte des mots et nous distinguons les versions sui-vantes de notre algorithme WHISKRExt.

— WHISKLem : il s’agit d’une version de WHISKR qui s’appuie sur les formes lemmatisées des mots

— WHISKPos: il s’agit d’une version de WHISKR qui s’appuie sur les étiquettes morpho-syntaxiques des mots

— WHISKMotLem : il s’agit d’une version de WHISKR qui s’appuie sur expres-sions exactes et les formes lemmatisées des mots

— WHISKMotPos : il s’agit d’une version de WHISKR qui s’appuie sur les ex-pressions exactes et les étiquettes morpho-syntaxiques des mots

— WHISKLemPos : il s’agit d’une version de WHISKR qui s’appuie sur les formes lemmatisées et les étiquettes morpho-syntaxiques des mots

— WHISKMotLemPos : il s’agit d’une version de WHISKR qui s’appuie sur les ex-pressions exactes, les formes lemmatisées et les étiquettes morpho-syntaxiques des mots.

Un étude expérimentale qui figure dans la section 8.2 permet d’évaluer et de comparer entre elles ces différentes versions étendues de WHISKR dans le but d’ex-pliciter l’effet d’un prétraitement linguistique sur les performances d’un algorithme d’apprentissage de règles d’EI et particulièrement l’algorithme WHISKMot.

Les attributs et les classes que nous ajoutons à l’implémentation de base sont les suivants.

— CONSIDERED_FEATURES dans la classe Whisk : cet attribut contient la liste des propriétés dont l’algorithme d’apprentissage doit tenir compte quand il parcourt les annotations. Dans notre cas, nous considérons les propriétés lemma et postag de l’annotation Token.

— hideFeature et activeFeature dans la classe WhiskRuleItem : ces attributs permettent de vérifier si une certaine propriété est activée (apparaît dans les expressions des règles) ou non activée.

7.3. Développement du système IRIES 133

134

Chapitre 7. IRIES : un système interactif d’apprentissage de règles d’extraction d’information — isHideFeature(), setHideFeature(), activateFeature() et deactivateFeature() dans

la classe WhiskRuleItem : ces fonctions permettent de récupérer ou de modi-fier l’état d’une propriété et d’activer ou désactiver une propriété.

— getActivatedFeatures() dans la classe WhiskRuleItem : cette fonction permet de récupérer la liste des propriétés qui peuvent apparaître dans l’expression des règles.

La prise en compte des informations linguistiques n’est pas la seule extension que nous apportons à l’algorithme WHISKR. Afin de ne pas discriminer les exemples non encore annotés par l’utilisateur à un stade donné de l’apprentissage interactif de règles, nous avons proposé dans la section 6.4 d’apprendre sur un corpus réduit composé uniquement des phrases annotées par l’utilisateur, ce qui a impliqué la réduction du contexte à examiner lors de l’apprentissage d’un exemple cible à la phrase. Afin de mettre en place ces stratégies, nous apportons d’autres modifica-tions sur la version initiale de WHISKR. Concernant les versions de WHISKRExtqui réduisent le contexte d’apprentissage à la phrase et qui apprennent sur un corpus réduit, nous adoptons respectivement les notations WHISK_P et WHISK_CR avec : _ œ {Mot, Lem, Pos, MotLem, MotPos, LemPos, MotLemPos} est la combi-naison d’étiquettes linguistiques utilisées.

Une étude expérimentale qui figure dans la section 8.3 permet d’évaluer le gain en temps d’apprentissage que réalisent ces nouvelles versions étendues de WHISKR

par rapport aux versions qui apprennent sur la totalité du corpus d’apprentissage sans pour autant dégrader les performances.

Le reste des attributs et fonctions coloriés en vert dans la figure 7.7 et qui ne concernent pas l’ajout des traits linguistiques sont des attributs et des fonctions que nous implémentons pour mettre en place ces stratégies d’apprentissage sur un corpus réduit et de modification de la taille de fenêtre de contexte d’apprentissage. La fonction createTrainCAS(), par exemple, permet de créer le CAS d’apprentissage qui est une version réduite du CAS correspondant aux phrases consultées par l’uti-lisateur. La fonction testRulesOnDocumentSetRestricted(), elle, permet de tester les règles construites dans l’espace de recherche de règles de l’algorithme d’apprentis-sage uniquement sur les phrases contenant des exemples annotés positivement par l’utilisateur.

Les attributs et les fonction coloriés en rouge dans la figure 7.7 sont des attributs et des fonctions que nous modifions pour prendre en compte les nouveaux attributs et fonctions ajoutés.