Etude et Evaluation d’Approches Multiples d’Expansion
de Requêtes pour une Recherche d’Information
Intelligente en Santé
Lina Fatima Soualmia
To cite this version:
Lina Fatima Soualmia. Etude et Evaluation d’Approches Multiples d’Expansion de Requêtes pour
une Recherche d’Information Intelligente en Santé. Informatique [cs]. INSA de Rouen, 2004. Français.
tel-01371361
HAL Id: tel-01371361
https://tel.archives-ouvertes.fr/tel-01371361
Submitted on 25 Sep 2016
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
ECOLE DOCTORALE SPMI
THESE
DE
L’INSA DE ROUEN
Présentée en vue de l’obtention du
DOCTORAT ES SCIENCES
Discipline : INFORMATIQUE
PAR
SOUALMIA LINA FATIMA
INGENIEUR EN INFORMATIQUE
ETUDE ET EVALUATION D’APPROCHES MULTIPLES
D’EXPANSION DE REQUETES POUR UNE
RECHERCHE D’INFORMATION INTELLIGENTE :
APPLICATION AU DOMAINE DE LA SANTE SUR L’INTERNET
Soutenue publiquement le 14 Décembre 2004 devant le jury composé de :
M. H. ABDULRAB Professeur INSA de Rouen (Directeur)
M. B.BACHIMONT Directeur de Recherche INA (Rapporteur)
Mme C.BARRY
Maître de Conférences Université de Picardie (Examinateur)
M. SJ.DARMONI Professeur Université de Rouen (Directeur)
Mme C.GOLBREICH Professeur Université Rennes 1 (Examinateur)
Mme MC.JAULENT Directeur de Recherche INSERM (Rapporteur)
M. P.ZWEIGENBAUM Professeur associé INaLCO (Président)
Thèse préparée au sein :
du laboratoire PSI, INSA de Rouen, CNRS – FRE 2645
Place Emile Blondel, BP 08, 76131 Mt St Aignan Cedex
&
de la Direction de l’Informatique et des Réseaux du CHU de Rouen
1 rue de Germont, 76031 Rouen Cedex, tel 02 32 88 88 00.
TABLE DES MATIERES
1CHAPITRE
1
RECHERCHE D’INFORMATION :
DE LA REQUETE AUX DOCUMENTS
1.1 INTRODUCTION..................................................................................................................... 27
1.2 INTERNET ET LE WEB.......................................................................................................... 28
1.2.1 HISTORIQUE D’INTERNET .................................................................................................. 28
1.2.2 CARACTERISTIQUES DU WEB ............................................................................................ 29
1.2.3 LIMITES DES INFORMATIONS DU WEB .............................................................................. 30
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION ......................................................................31
1.3.1 LA RECHERCHE DOCUMENTAIRE ......................................................................................31
1.3.2 LES SYSTEMES DE RECHERCHE D’INFORMATION .............................................................. 32
1.3.3 LA TACHE DE NAVIGATION .............................................................................................. 33
1.3.4 LA TACHE DE RECHERCHE ...................................................................................................................34
1.3.5 L’INDEXATION.....................................................................................................................................34
1.3.5.1 L’ESPACE D’INDEXATION ........................................................................................... 36
1.3.5.2 LES ENTITES D’INDEXATION ..................................................................................................36
1.3.5.3 LES LANGAGES D'INDEXATION ............................................................................................... 37
1.3.5.3.1 Le Langage Libre................................................................................................ 37
1.3.5.3.2 Le Langage Contrôlé..........................................................................................38
1.3.5.4 LES TYPES D’INDEXATION ......................................................................................................39
1.3.5.4.1 Indexation Manuelle ..........................................................................................39
1.3.5.4.2 Indexation Automatique....................................................................................39
1.3.5.4.3 Indexation Semi-Automatique ......................................................................... 40
1.3.5.5 CAS DE L’INDEXATION AUTOMATIQUE ..................................................................................... 40
1.4
1.5
1.6
1.7
1.3.5.5.1 Extraction des Termes d’Indexation................................................ 40
1.3.5.5.2 Réduction du Langage d’Indexation ............................................... 43
1.3.5.5.3 Pondération des Termes d’Indexation ............................................ 44
MODELES DE RECHERCHE D’INFORMATION ET DE REPRESENTATION ................... 46
1.4.1 LE MODELE BOOLEEN ....................................................................................................... 46
1.4.2 LE MODELE VECTORIEL .................................................................................................... 47
1.4.3 LE MODELE PROBABILISTE ............................................................................................... 49
1.4.4 LE MODELE LOGIQUE ....................................................................................................... 50
ENVIRONNEMENTS DE RECHERCHE................................................................................ 50
EVALUATION DE LA RECHERCHE D’INFORMATION.......................................................51
LA RECHERCHE D’INFORMATION SUR LE WEB .............................................................. 53
1.7.1 CARACTERISTIQUES DE LA RECHERCHE D’INFORMATION SUR LE WEB ................................ 53
1.7.2 LES PROBLEMES DE LA RECHERCHE D’INFORMATION SUR LE WEB .................................... 54
1.7.3 PROBLEMES LIES AU PROCESSUS DE RECHERCHE SUR LE WEB .......................................... 55
1.7.4 APPROCHES EXISTANTES POUR L’AIDE A LA RECHERCHE D’INFORMATION SUR LE WEB ..... 56
1.7.4.1 LES FACTEURS HUMAINS .......................................................................................... 56
1.7.4.2 LE PROCESSUS DE RECHERCHE .................................................................................. 56
1.7.4.2.1 La Tâche de Navigation .................................................................. 57
1.7.4.2.2 La Tâche de Recherche ................................................................... 57
7
1.7.4.2.3 Les Méta-Moteurs de Recherche d’Information ............................ 60
1.7.4.3 LA VISUALISATION DES RESULTATS ................................................................................61
1.7.4.4 LES AGENTS ............................................................................................................. 62
1.7.4.4.1 Les Agents de Recherche.................................................................... 62
1.7.4.4.2 Les Agents de Recommandation....................................................... 62
1.7.4.4.3 Approches Multi-Agents.................................................................... 63
1.9 CONCLUSION............................................................................................................................ 64
CHAPITRE 2
RECHERCHE DE DOCUMENTS EN SANTE :
CAS DU CATALOGUE CISMEF
2.1 INTRODUCTION .................................................................................................................... 73
2.2 STRUCTURE DES DOCUMENTS .......................................................................................... 74
2.2.1 LES METADONNEES ......................................................................................................... 74
2.2.2 LE THESAURUS MESH .................................................................................................... 75
2.2.3 LA TERMINOLOGIE CISMEF............................................................................................ 76
2.2.3.1 LES TYPES DE RESSOURCES ....................................................................................... 76
2.2.3.2 LES METATERMES ...................................................................................................77
2.2.4 LE MODELE CISMEF POUR LA RECHERCHE D’INFORMATION ........................................... 78
2.3 LA METHODOLOGIE DE MISE A JOUR.............................................................................. 79
2.3.1 LE RECENSEMENT ........................................................................................................... 79
2.3.2 LA SELECTION .................................................................................................................80
2.3.3 LA DESCRIPTION .............................................................................................................80
2.4 RECHERCHE D’INFORMATION DANS LE CISMEF........................................................... 82
2.4.1 ACCES STATIQUE ............................................................................................................. 83
2.4.1.1 LES DEFINITIONS ..................................................................................................... 83
2.4.1.2 LES ‘VOIR AUSSI’ ..................................................................................................... 84
2.4.1.3 LES ARBORESCENCES ............................................................................................... 85
2.4.2 ACCES DYNAMIQUE ........................................................................................................ 86
2.4.2.1 LA NAVIGATION DYNAMIQUE .................................................................................... 86
2.4.2.2 LA RECHERCHE SIMPLE ........................................................................................... 87
2.4.2.3 LA RECHERCHE AVANCEE ........................................................................................88
2.4.2.4 LA RECHERCHE BOOLEENNE .................................................................................... 89
2.4.2.5 LA RECHERCHE PAS-A-PAS ...................................................................................... 90
2.4.2.6 OPTIONS DE RECHERCHE ......................................................................................... 90
2.4.2.6.1
2.4.2.6.2
2.4.2.6.3
2.4.2.6.4
Options par Défaut ......................................................................................... 90
Option Arborescence ...................................................................................... 91
Option Explosion ............................................................................................. 91
Option Majeur/Mineur ...................................................................................92
2.4.3 LES AFFILIATIONS .......................................................................................................... 93
2.4.3.1 AFFILIATION DE QUALIFICATIFS ................................................................................ 93
2.4.3.2 AFFILIATION DE TYPES DE RESSOURCES ..................................................................... 93
2.4.4 LES REQUETES PREFORMATEES ...................................................................................... 94
2.4.4.1 LES STRATEGIES DE RECHERCHE ............................................................................... 94
2.4.4.2 CISMEF-PATIENTS................................................................................................ 95
2.4.4.3 LE PROJET COGNI-CISMEF..................................................................................... 99
2.4.5 CATEGORISATION DES DOCUMENTS............................................................................... 100
2.5 QUELQUES PROBLEMES RENCONTRES ......................................................................... 102
2.5.1.1 AJOUT D’AUTRES TYPES DE SYNONYMES ..................................................................... 104
2.5.1.2 UTILISATION DE CONNAISSANCES................................................................................ 104
9
CHAPITRE 3
TRAITEMENTS LINGUISTIQUES :
DE LA CHAINE DE CARACTERES A LA REQUETE
3.1 INTRODUCTION .................................................................................................................. 109
3.2 PROBLEMES LIES AU TRAITEMENT DE LA LANGUE......................................................111
3.3 LE TRAITEMENT MORPHOLOGIQUE ............................................................................... 113
3.3.1 LE MODELE MORPHOLOGIQUE ....................................................................................... 114
3.3.2 APPLICATION DE LA MORPHOLOGIE A LA RECHERCHE D’INFORMATION ........................... 117
3.4 ACQUISITION DE RESSOURCES LINGUISTIQUES .......................................................... 118
3.4.1 LOGICIELS D’ACQUISITION DE TERMINOLOGIE ................................................................. 118
3.4.2 ACQUISITION DE CONNAISSANCES MORPHOLOGIQUES .................................................... 119
3.4.3 DOMAINE MEDICAL ....................................................................................................... 120
3.4.3.1 METHODE D’ACQUISITION DE RESSOURCES MORPHOLOGIQUES ....................................... 121
3.4.3.2 LE PROJET UMLF .................................................................................................122
3.5 ACQUISITION DE CONNAISSANCES MORPHOLOGIQUES POUR LE MESH FRANÇAIS
123
3.5.1 DESCRIPTION DE ‘LEXIQUE’ .............................................................................................123
3.5.2 CONSTITUTION ET EVALUATION DES FAMILLES EXTRAITES ..............................................124
3.6 TRAITEMENTS LINGUISTIQUES POUR LA RECHERCHE D’INFORMATION...............127
3.6.1 UTILISATION DE CONNAISSANCES MORPHOLOGIQUES ......................................................127
3.6.1.1 TRAVAUX INITIATEURS............................................................................................ 128
3.6.1.2 ETUDE DU VOCABULAIRE DES UTILISATEURS .............................................................. 128
3.6.1.3 EXPERIENCES AVEC DES RESSOURCES ADAPTEES AU VOCABULAIRE .................................. 130
3.6.2 RESULTATS .....................................................................................................................132
3.6.2.1 DESCRIPTION DES REQUETES ...................................................................................132
3.6.2.2 RESULTATS AVEC LES UNITERMES .............................................................................132
3.6.2.3 RESULTATS AVEC LES TERMES COMPOSES ...................................................................133
3.6.3 EXPERIENCES DE PHONEMISATION .................................................................................133
3.6.3.1 TRAVAUX ANTERIEURS : SOUNDEX / SOUNDEX 2 / PHONEX ..........................................134
3.6.3.2 PHONEMISATION DE TERMES MEDICAUX ...................................................................135
3.6.3.3 APPLICATION A LA RECONNAISSANCE DE TERMES ........................................................ 138
3.6.4 CORRECTION ORTHOGRAPHIQUE ...................................................................................139
3.6.4.1 ALGORITHME .......................................................................................................139
3.6.4.2 EVALUATION DES RESULTATS ................................................................................. 140
3.7 TRAITEMENTS EN LIGNE ................................................................................................... 141
3.7.1 APPARIEMENT A BASE DE CONNAISSANCES MORPHOLOGIQUES ........................................ 141
3.7.2 AUTRES TRAITEMENTS ...................................................................................................142
CHAPITRE 4
DECOUVERTE DE CONNAISSANCES
DES TEXTES AUX REGLES D’ASSOCIATION
4.1 INTRODUCTION ...................................................................................................................153
4.2 FOUILLE DE DONNEES.......................................................................................................154
4.2.1 FOUILLE DE DONNEES TRANSACTIONNELLES ...................................................................154
4.2.2 EXTRACTION D’ITEMSETS ................................................................................................158
4.2.3 EXTRACTION D’ITEMSETS FREQUENTS .............................................................................159
4.2.4 PROCESSUS D’EXTRACTION DE REGLES D’ASSOCIATION ...................................................162
4.2.4.1 PREPARATION DES DONNEES .....................................................................................163
4.2.4.2 EXTRACTION DES ENSEMBLES FREQUENTS D’ATTRIBUTS ................................................163
4.2.4.3 GENERATION DES REGLES D’ASSOCIATION ...................................................................163
4.2.4.4 INTERPRETATION DES RESULTATS ..............................................................................163
4.2.5 AUTRES METHODES .........................................................................................................164
4.2.5.1 DECOUVERTE DE PEPITES DE CONNAISSANCES ...............................................................164
4.2.5.2 EXTRACTION D’ITEMSETS FREQUENTS MAXIMAUX..........................................................165
4.2.5.3 CONTRAINTES SUR LES ITEMS .....................................................................................165
4.2.5.4 EXTRACTION D’ITEMSETS FERMES FREQUENTS ..............................................................165
4.2.6 ALGORITHMES CLOSE ET A-CLOSE ....................................................................................166
4.2.6.1 ALGORITHME CLOSE ................................................................................................167
4.2.6.2 ALGORITHME A-CLOSE ............................................................................................167
4.2.6.3 PROBLEME DE LA PERTINENCE ET DE L’UTILITE DES REGLES D’ASSOCIATION .......................172
4.2.7 BASES POUR LES REGLES D’ASSOCIATION ..........................................................................173
4.2.7.1 BASE GENERIQUE POUR LES REGLES D’ASSOCIATION EXACTES ..........................................174
4.2.7.2 BASE INFORMATIVE POUR LES REGLES D’ASSOCIATION APPROXIMATIVES............................176
4.3 AUTRES MESURES STATISTIQUES ...................................................................................179
4.4 FOUILLE DE TEXTES ET FOUILLE DU WEB ................................................................... 182
4.4.1 PRINCIPE DE LA FOUILLE DE TEXTES .............................................................................. 182
4.4.2 SIGNIFICATION DES REGLES D’ASSOCIATION .................................................................. 183
4.4.3 PROCESSUS D’EXTRACTION ............................................................................................ 184
4.4.4 SYSTEMES DE FOUILLE DE TEXTES ..................................................................................185
4.4.5 FOUILLE DU WEB ...........................................................................................................187
4.5 EVALUATION DES REGLES D’ASSOCIATION .................................................................. 188
4.6 EXPERIENCES D’EXTRACTION DE REGLES D’ASSOCIATION...................................... 189
4.6.1 FOUILLE DE DONNEES ................................................................................................... 189
4.6.1.1 MOTS CLES ........................................................................................................... 191
4.6.1.2 MOTS CLES OU QUALIFICATIFS ................................................................................. 191
4.6.1.3 ASSOCIATIONS MOT CLE/QUALIFICATIF .....................................................................192
4.6.2 FOUILLE DE DONNEES AVEC CATEGORISATION ...............................................................192
4.6.2.1 MOTS CLES ..........................................................................................................195
4.6.2.2 ASSOCIATION MOTS CLES/QUALIFICATIFS .................................................................195
4.6.3 FOUILLE DE TEXTES ......................................................................................................196
4.6.4 FOUILLE DE DONNEES PONDEREES ................................................................................197
4.6.4.1 MOTS CLES EN MAJEUR .........................................................................................197
4.6.4.2 ASSOCIATIONS MOTS CLES/QUALIFICATIFS EN MAJEUR .............................................. 198
11
4.6.5 EVALUATION DES REGLES D’ASSOCIATION ....................................................................200
4.7 EXPLOITATION POUR LA RECHERCHE D’INFORMATION........................................... 202
4.8 CREATION DE REGLES EXPERTES .................................................................................. 204
4.9 QUELQUES PERSPECTIVES...............................................................................................206
CHAPITRE 5
REPRESENTATION DES CONNAISSANCES :
DU MODELE AU FORMEL
5.1 INTRODUCTION ...................................................................................................................212
5.2 LES ONTOLOGIES POUR LA RECHERCHE D’INFORMATION........................................213
5.3 LES MODELES ET LANGAGES DE REPRESENTATION ...................................................215
5.3.1 LES RESEAUX SEMANTIQUES ...........................................................................................215
5.3.2 LES GRAPHES CONCEPTUELS ..........................................................................................216
5.3.3 LES LANGAGES DE FRAMES ............................................................................................ 218
5.3.4 LA REPRESENTATION DES CONNAISSANCES PAR OBJET ....................................................219
5.4 QUELQUES PROJETS DU WEB SEMANTIQUE ................................................................ 220
5.4.1 LE LANGAGE SHOE........................................................................................................221
5.4.2 ONTOSEEK .....................................................................................................................221
5.4.3 WEBKB ........................................................................................................................ 222
5.4.4 CWEB .......................................................................................................................... 223
5.4.5 OCML ......................................................................................................................... 224
5.5 LE CISMEF DANS L’INFRASTRUCTURE DU WEB SEMANTIQUE ................................. 226
5.5.1 REPRESENTATION DES METADONNEES ........................................................................... 226
5.5.2 LA TERMINOLOGIE CISMEF : ENTRE TERMINOLOGIE ET ONTOLOGIE ............................. 227
5.6 LES LOGIQUES DE DESCRIPTION .................................................................................... 229
5.6.1 LES FORMALISMES TERMINOLOGIQUES .......................................................................... 230
5.6.2 ASSERTIONS ET REGLES D’INFERENCE ............................................................................231
5.6.3 LE RAISONNEMENT TERMINOLOGIQUE .......................................................................... 232
5.6.3.1 LA RECONNAISSANCE D’INDIVIDUS ......................................................................................232
5.6.3.2 LE RAISONNEMENT SUR LES DESCRIPTIONS ........................................................................232
5.6.4 EXPRESSIVITE ET COMPLEXITE ...................................................................................... 233
5.6.4.1 LES PROCEDURES DE CALCUL COMPLETES ...........................................................................233
5.6.4.2 PROCEDURES DE CALCUL INCOMPLETES ..............................................................................233
5.6.4.3 COMPLETUDE ET EFFICACITE ..............................................................................................234
5.6.5 LES CONSTRUCTEURS .................................................................................................... 234
5.6.5.1
5.6.5.2
5.6.5.3
5.6.5.4
5.6.5.5
LES CONSTRUCTEURS DE CONCEPTS ....................................................................................234
LES CONSTRUCTEURS DE ROLES .........................................................................................235
LA SYNTAXE DES CONSTRUCTEURS......................................................................................235
LA SEMANTIQUE DES CONSTRUCTEURS...............................................................................236
EXEMPLE ...........................................................................................................................238
5.6.6 RAISONNEMENT TAXINOMIQUE POUR LA RECHERCHE D’INFORMATION ........................... 238
5.7 FORMALISATION DE LA TERMINOLOGIE ...................................................................... 239
5.7.1 EXPERIENCES AVEC TRIPLE .......................................................................................... 239
5.7.2 DE OIL A OWL ..............................................................................................................241
5.7.3 TRAVAUX DANS LE DOMAINE DE LA SANTE ..................................................................... 242
5.7.4 PRINCIPES DE MODELISATION ....................................................................................... 243
5.7.5 DES FICHIERS TEXTES A LA BASE DE DONNEES ............................................................... 244
5.7.6 DE LA BASE DE DONNEES A LA BASE DE CONNAISSANCES ................................................ 244
5.7.6.1 LES CLASSES OWL ................................................................................................ 245
5.7.6.2 LES PROPRIETES OWL .......................................................................................... 246
13
5.7.6.3 LA PROPRIETE PART-OF ........................................................................................ 246
5.7.6.4 LES RESTRICTIONS SUR LES DOMAINES DES PROPRIETES .............................................. 247
5.7.6.5 REPRESENTATION DES DOCUMENTS ......................................................................... 247
5.7.7 VERIFICATION DE LA CONSISTANCE ET CLASSIFICATION ................................................ 248
5.7.7.1 IMPORT SOUS PROTEGE-2000 ................................................................................. 248
5.7.7.2 VERIFICATION DE LA CONSISTANCE........................................................................... 248
5.7.7.3 LA CLASSIFICATION ............................................................................................... 250
5.7.7.4 AMELIORATIONS POSSIBLES .................................................................................... 252
5.8 VERS UNE ONTOLOGIE ? LE PROJET ATONANT ........................................................... 254
5.8.1 TERMINAE .................................................................................................................... 255
5.8.2 RESULTATS DANS LE CADRE DU PROJET ATONANT...................................................... 255
CONCLUSION GENERALE ......................................................................................265
15
16
RESUME
La problématique de nos travaux de recherche se place dans le contexte de la recherche
d'information textuelle sur le Web. Nous proposons en ce sens des méthodes de recherche
d’information basées sur l’exploitation de connaissances. Nos expérimentations sont réalisées
dans le cadre du projet CISMeF (Catalogue et Index de Sites Médicaux Francophones) qui
indexe un grand nombre de documents en fonction d’une terminologie structurée du domaine
médical. Nous avons développé le prototype KnowQuE (Knowledge-based Query Expansion)
pour corriger, préciser et enrichir les requêtes des utilisateurs. Ses modules utilisent les
traitements linguistiques, la fouille de données et les mécanismes de raisonnement associés aux
logiques de description.
Dans notre application, les connaissances disponibles concernent le vocabulaire du domaine,
les utilisateurs et les documents eux-mêmes. A ces connaissances nous avons ajouté, par
acquisition et extraction, des connaissances linguistiques mais également « découvert » de
nouvelles connaissances contenues dans les documents par un processus de fouille de données.
En effet, partant du constat que les requêtes des utilisateurs correspondent rarement à la
formulation exacte effectivement utilisée pour l'indexation, et que de récents travaux ont montré
la contribution du traitement morphologique des requêtes en langue française, le premier
module du KnowQuE que nous avons développé est composé d'une base de connaissances
morphologiques qui ont été acquises en fonction du vocabulaire de la terminologie. Les
connaissances linguistiques sont donc de type morphologique.
Le second module exploite des règles d'associations entre termes, extraites à partir du corpus
du CISMeF grâce à un algorithme de fouille de données fondé sur une analyse formelle de
treillis de concepts. Ces règles d'association sont validées par notre expert.
Toutes ces connaissances ont été modélisées puis formalisées en utilisant un langage formel
de représentation. En effet, la gestion et la représentation des connaissances sont à la base des
systèmes intelligents en général et du Web Sémantique en particulier et nous souhaitons par
cette démarche proposer une méthode qui exploite conjointement toutes les connaissances afin
de donner les moyens à la recherche d’information de devenir ‘intelligente’.
Le troisième module quant à lui, utilise le raisonnement terminologique. Il est composé
d'une base de connaissance terminologique formalisée automatiquement en OWL-DL, nouveau
langage standard du Web Sémantique. Les connaissances taxinomiques correspondent à la
terminologie et les documents sont considérés comme des instances de concepts de la
terminologie formelle. Les mécanismes de raisonnement sont exploités pour la classification
automatique, la vérification de la consistance et le processus de recherche d'information.
Une première série d’évaluations concernent des projections automatiques des requêtes et
elles sont quantitatives. Les évaluations des projections interactives (évaluation qualitative) avec
les utilisateurs sont réalisées grâce à un échantillon d'utilisateurs abonnés au site qui mesurent
l'utilité de chacune des trois approches. Nous pouvons conclure que les traitements basiques des
requêtes permettent de corriger les requêtes des utilisateurs qui ne connaissent pas les
spécificités du vocabulaire médical et évitent ainsi le silence du système. Les règles d'association
sont utiles lorsqu'il y a beaucoup trop de réponses et permettent de préciser les requêtes. Enfin
le raisonnement terminologique permet d'étendre les requêtes et contribue également à la
construction du Web Sémantique (du moins pour le domaine médical).
17
MOTS CLES :
Recherche d’information ; recherche documentaire ; Internet ; traitement du langage naturel ;
fouille de données ; fouille de textes ; représentation des connaissances ; raisonnement
terminologique ; ontologies ; métadonnées ; Web sémantique ; domaine médical.
18
INTRODUCTION GENERALE
Avec le développement des nouvelles technologies de l’information et de la communication,
de l’informatique et surtout de l’Internet, le volume d’information stockée électroniquement
ainsi que la profusion d’informations accessibles à tous, sont en perpétuelle augmentation et
n’ont de cesse de croître. Depuis les années 90, c’est le World Wide Web (également appelé Web
ou Toile) qui connaît le plus gros essor au niveau mondial. En effet, ce service de l’Internet met
à la disposition de tout Internaute tout type d’informations organisées sous la forme de pages
(ou documents) contenant des liens vers d’autres pages et permettant le passage d’une page à
une autre très facilement. Cependant, cette prolifération d’informations pose le problème de
leur localisation pour leur exploitation par l’utilisateur, chaque document étant noyé dans un
énorme fond documentaire (ou corpus) en constante évolution. La quantité d’information
accessible est elle-même une richesse mais elle devient très vite un handicap pour l’utilisateur.
En effet, il demeure difficile de retrouver de manière pertinente un ensemble d’informations
contenu dans un document et notamment de savoir où retrouver l’information recherchée, à
moins d’analyser chacun de ces documents. De nombreux outils de recherche ont été développés
pour faciliter l’accès à l’information, mais même l’utilisation d’un moteur de recherche ne
permet pas toujours de trouver ce dont on a besoin.
Le contexte de nos travaux s’insère dans cette problématique générale qu’est la Recherche
d’Information textuelle sur le Web. Nous distinguons le média texte des autres médias que sont
l’image, la vidéo et le son. Notre étude porte sur les moyens de récupérer un ensemble de
documents pertinents répondant à un besoin d’utilisateur explicité sous la forme d’une requête.
Nous considérons que l’utilisateur se charge de récupérer les informations au sein même des
documents qui lui sont retournés, tâche qu’il réalise souvent lorsqu’il utilise les outils de
recherche disponibles sur l’Internet, ou encore un Système de Recherche d’Information. Pour
cela nous étudions et proposons d’appliquer différentes méthodes afin d’aider l’utilisateur dans
sa démarche. Ces travaux1 de thèse ont été effectués en collaboration avec le CHU de Rouen,
notamment dans le cadre du projet CISMeF (Catalogue et Index des Sites Médicaux
Francophones), et le laboratoire PSI (Perception, Systèmes, Information, CNRS FRE 2645) de
l’INSA et de l’Université de Rouen. Ils ont pour origine un besoin du CISMeF de développer et
d’améliorer son outil de recherche Doc’CISMeF (Darmoni et al., 2001) dont les performances et
les résultats n’étaient alors pas satisfaisants.
1
Travaux financés par une bourse de la Région Haute-Normandie.
19
INTRODUCTION GENERALE
Le CISMeF est un catalogue indexant un grand nombre de documents relatifs au domaine de
la santé (n=13 850) en langue française, mais également un Système de Recherche
d’Information dans le sens où son but est de retrouver des documents en réponse à une requête
d’utilisateur, de manière à ce que les contenus des documents soient pertinents par rapport au
besoin initial d’information de l’utilisateur (Smeaton, 1989). Le CISMeF est un Système de
Recherche d’Information puisqu’il traite également de la représentation, du stockage, de
l’organisation et de l’accès aux éléments de l’information (Salton & Mc Gill, 1983). Il peut être
décomposé en plusieurs modules, d’une part par un module chargé du traitement, de
l’indexation et du stockage de l’information : le module indexation qui construit une structure
de données organisées de manière à permettre l’accès rapide à l’information. D’autre part, un
module permet d’interagir avec les utilisateurs, doté des mécanismes de sélection d’information
orientés par les requêtes des utilisateurs : le module interrogation où la recherche se fait par mot
clé. Un module d’appariement établit une association entre la requête de l’utilisateur et les
documents indexés. Enfin, un autre module permet de visualiser les données et naviguer au sein
de celles-ci.
Initialement le sujet traité consistait à étudier et améliorer le module interrogation,
dépendant en grande partie du module d’appariement, cela en étudiant des approches
linguistiques de traitement des requêtes, notamment par l’application des variations
terminologiques, sémantique en utilisant la synonymie, et statistique en utilisant les
cooccurrences entre informations contenues dans les documents. Les problèmes auxquels
doivent souvent répondre les modules d’interrogation des outils de recherche d’information sont
d’ordre syntaxique (orthographe de la requête) et d’ordre sémantique (la polysémie, un terme
pouvant avoir plusieurs sens, et la synonymie, plusieurs termes pouvant désigner un même
concept). Cependant ces approches ne sont pas seulement relatives à l’interrogation puisque le
traitement des documents pour obtenir les cooccurrences concerne le module indexation.
D’autre part, il nous est très vite apparu nécessaire de traiter les autres modules du point de vue
de leurs performances mais également du point de vue modélisation, gestion et représentation
des connaissances disponibles dans le CISMeF. En effet, notre objectif est de rendre l’accès aux
informations ‘intelligent’ dès lors que l’exploitation des connaissances est une technique
développée à cet effet.
Nous avons donc pour cela modélisé les différentes connaissances à notre disposition. Elles
sont de deux types : les connaissances concernant le domaine et les connaissances concernant
l’utilisateur. Les connaissances du domaine sont relatives au domaine d'étude en fonction d'un
point de vue partagé par une communauté d'utilisateurs. Dans notre contexte, le domaine
considéré est le domaine médical, et lesdites connaissances constituent le langage utilisé pour
l'indexation et la recherche d’information. Les connaissances relatives à l’utilisateur permettent
de prendre en compte la différence qui peut exister entre les différents types d’utilisateurs, et ce,
au-delà des différences du langage et des problèmes de multilinguisme qui en découlent. En
effet, les utilisateurs n’ont pas tous les mêmes besoins en information et ils peuvent être classés
en différentes catégories, une classification qui est fonction des connaissances que l’utilisateur a
plus ou moins du domaine. Les outils de recherche disponibles sur le Web ne tiennent pas
compte de ces différences entre utilisateurs. Pour la gestion et la représentation de ces
connaissances, nous les avons incluses dans un système à bases de connaissances. De plus, afin
d’améliorer le système du point de vue interrogation nous proposons d’inclure d’autres types de
connaissances : des connaissances linguistiques acquises à partir de ressources et des
connaissances extraites des documents eux-mêmes.
20
INTRODUCTION GENERALE
Nous souhaitons par cette démarche proposer une approche générale combinant
l’exploitation de connaissances au système de recherche d’information. Dans cette optique, nous
avons développé une méthode de recherche d’information fondée sur l’expansion des requêtes
des utilisateurs par leur enrichissement à l’aide d’éléments de connaissances. Cette méthode
permet à l’utilisateur de corriger, d’affiner et de préciser sa requête pour que le système réponde
au mieux à ses besoins informationnels. Aux connaissances déjà disponibles, nous ajoutons des
connaissances linguistiques acquises, relatives aux variations terminologiques du vocabulaire
utilisé pour l’indexation et l’interrogation. Par ailleurs, de nouvelles connaissances relatives au
domaine sont extraites des documents par un processus d’extraction des connaissances, en
particulier par un système de fouille de données. Un expert des données du domaine est en
charge d’évaluer et de valider ces connaissances acquises et extraites. Notre idée principale est
que toutes ces connaissances sont complémentaires lorsqu’elles sont exploitées conjointement
dans un système de recherche à base de connaissances.
Du point de vue architecture, le système que nous avons développé, KnowQuE (Knowledgebased Query Expansion), est composé de plusieurs modules de traitement des requêtes, chacun
reposant sur une base de connaissances. Le premier module utilise des connaissances sur les
variations terminologiques du vocabulaire du domaine. Nous sommes partis du constat que les
connaissances morphologiques, et plus particulièrement la flexion (par exemple la forme
plurielle d’un terme) et la dérivation (par exemple la forme adjectivale d’un terme), étaient utiles
pour la recherche d’information (Zweigenbaum et al., 2001). En effet, même si syntaxiquement
elles sont différentes, ces formes sont relatives au même terme, et de ce fait au même concept.
De plus, les requêtes des utilisateurs correspondent rarement à la formulation exacte utilisée
pour l'indexation. Ce module intervient donc à un niveau basique de traitement de la requête, à
savoir son aspect syntaxique. Par exemple, pour la requête "enfants asthmatiques" le module
retourne des documents traitant d'un "enfant ayant de l'asthme". Cependant, ces connaissances
morphologiques, plus généralement les ressources lexicales, ne sont pas disponibles pour le
vocabulaire français médical. Il a donc fallu les acquérir.
Le second module exploite des connaissances extraites à partir du contenu des ressources
par un processus de fouille de données (Agrawal & Srikant, 1994). Ces connaissances sont
exprimées à l’aide de règles d’association entre concepts et sont extraites à partir du corpus
indexé à l'aide d'un algorithme fondé sur une analyse formelle de treillis de concepts. Les règles
d'association extraites et validées par notre expert sont exploitées en recherche d'information.
L’idée principale est que ces règles d’association permettent de guider la recherche
d’information à partir des connaissances issues des données. Par exemple, la règle d'association
"prévention du cancer du sein → mammographie" est extraite car "prévention du cancer du
sein" et "mammographie" sont utilisés fréquemment ensemble dans l'indexation des
documents. En appliquant cette règle d'association pour la recherche d’information, une requête
sur le terme "mammographie" permet de proposer à l'utilisateur des documents traitant de la
"prévention du cancer du sein".
Le troisième module utilise le raisonnement sur les connaissances formelles. Parmi les
avantages d’une telle approche figurent un langage pour exprimer le contenu des documents,
une sémantique associée à ce langage et des moteurs d’inférences associés qui s’appuient sur
cette sémantique pour raisonner. Le raisonnement peut être utilisé pour la recherche
d’information. Ce troisième module est composé d'une base de connaissances terminologiques
représentées dans la logique OWL-DL (Ontology Web Language- Description Logics) (Horrocks
21
INTRODUCTION GENERALE
et al., 2003) nouveau standard du Web Sémantique (Berners-Lee et al., 2001) depuis Février
2004. Le Web Sémantique a pour but de proposer une nouvelle forme de contenu documentaire
manipulable par une machine qui spécifie des connaissances associées au document dans un
langage formel de représentation des connaissances, condition nécessaire pour permettre à la
machine de les reconnaître et ainsi de faciliter la tâche de recherche d’information intelligente.
L’indexation des documents s’avère de ce fait conceptuelle. Dans notre cas, les connaissances
taxinomiques correspondent aux connaissances du domaine (la terminologie). Elles sont
organisées de manière structurée selon une hiérarchie de concepts sur lesquels il est possible de
faire des calculs de spécialisation ou de généralisation notamment avec le moteur d’inférence
Racer (Haarslev & Möller, 2001). Nous considérons les documents comme étant des instances
de concepts de la terminologie formelle. La particularité réside ici dans la grande taille de notre
base de connaissances terminologiques, du fait de son nombre de concepts mais également de
son nombre d’instances. Par ailleurs elle doit régulièrement être mise à jour en fonction de
l’évolution du vocabulaire et des documents. Pour la recherche d’information, la requête
"hépatite", par exemple, permet de récupérer des documents plus spécifiques indexés à
"hépatite virale A" grâce au lien de subsomption qui existe entre "hépatite" et "hépatite virale
A".
Concernant l’évaluation du système KnowQuE (Soualmia et al., 2003), nous l’avons choisie
de deux types : quantitative et qualitative. L’évaluation quantitative se fait essentiellement par
une expansion automatique des requêtes sans l’intervention de l’utilisateur afin de mesurer le
silence du système. Néanmoins la précision des réponses est évaluée par notre expert. Mais au
final, comme c’est l’utilisateur qui doit être satisfait des résultats, l’évaluation de notre prototype
n’a pu se faire sans sa participation. Une expansion interactive des requêtes a donc été
développée, ainsi qu’un serveur d’évaluation des projections interactives.
Nos travaux de recherche concernent ainsi plusieurs aspects de la gestion des connaissances,
à savoir leur modélisation, leur acquisition, leur représentation, cela en vue de leur exploitation
dans le cadre de la recherche d’information. La gestion et la représentation des connaissances
sont à la base des recherches actuelles sur les systèmes intelligents en général et sur le Web
Sémantique en particulier.
B IBLIOGRAPH IE
(Agrawal & Srikant, 1994) AGRAWAL R. & SRIKANT R.(1994) Fast Algorithms for Mining Association Rules
in Large Databases. In Proceedings of the Very Large DataBases Conference 1994, pp.478-499.
(Berners-Lee, 2001) BERNERS-LEE T. (2001). The Semantic Web. Scientific American, 284(5):34-43.
(Darmoni et al., 2001) DARMONI SJ., THIRION B., LEROY JP. et al. (2001). A Search Tool Based on
‘Encapsulated’ MeSH Thesaurus to Retrieve Quality Health Resources on the Internet. Medical
Informatics & the Internet in Medicine, 26(3):165-178.
(Haarslev & Möller, 2001) HAARSLEV V. & MÖLLER R. (2001) Description of the RACER System and its
Applications. In International Workshop on Description Logics 2001.
(Horrocks et al., 2003) HORROCKS I., PATEL-SCHNEIDER PF., VAN HARMELEN F. (2003) From SHIQ and RDF
to OWL: the Making of a Web Ontology Language. Journal of Web Semantics, 1(1): 7–26.
(Salton & Mc Gill, 1983) SALTON G. & MC GILL MJ. (1983) Introduction to Modern Information Retrieval.
McGraw Hill International Book Company.
(Smeaton, 1989) SMEATON AF. (1989) Information Retrieval and Natural Language Processing. In
Proceedings of a Conference Jointly sponsored by ASLIB, p.2.
22
INTRODUCTION GENERALE
(Soualmia et al., 2003) SOUALMIA LF., BARRY C., DARMONI SJ. (2003). Knowledge-Based Query Expansion
over a Medical Terminology Oriented Ontology. Dojat, Keravnou, Barahona (Eds.), Lecture Notes in
Artificial Intelligence # 2780, Springer-Verlag, pp.209–213.
(Zweigenbaum et al., 2001) ZWEIGENBAUM P., DARMONI SJ., GRABAR N. (2001) The Contribution of
Morphological Knowledge to French MeSH Mapping for Information Retrieval. Journal of the American
Medical Informatics Association, 8:796–800.
23
ORGANISATION DU MEMOIRE
Le Chapitre 1 introduit la problématique de la recherche d’information textuelle sur le Web.
Les fondements ainsi que les caractéristiques du Web sont décrits afin de présenter le contexte
de nos travaux. Les notions de rappel, de précision et de pertinence, ainsi que les difficultés liées
au traitement des requêtes y sont évoquées.
Le Chapitre 2 est consacré à la présentation du catalogue CISMeF dans lequel nous réalisons
nos expérimentations. Il a été développé pour remédier au problème ‘appliqué’ de la recherche
d’information en santé. Nous modélisons les données que nous avons à notre disposition dans le
CISMeF, principalement une terminologie structurée, un ensemble de métadonnées et un
ensemble de documents. Cette modélisation prend en compte les spécificités du vocabulaire
d’indexation, le type d’utilisateur amené à interroger le système, mais également les
caractéristiques des documents indexés qui sont spécifiques aux documents en santé.
Dans le Chapitre 3, nous développons une analyse des apports du traitement linguistique des
requêtes, en décrivant plusieurs méthodes d’amélioration de la recherche d’information
existantes. Nos recherches se sont axées sur les variations terminologiques qui sont assimilables
des connaissances linguistiques. Le problème de l’indisponibilité des lexiques est abordé et les
différents moyens pour leur construction automatique sont présentés. Nous proposons
également des algorithmes qui interviennent au niveau syntaxique de la requête. Des
possibilités de phonémisation y sont évoquées pour la correction orthographique. Enfin
plusieurs séries d’expériences permettent d’évaluer les algorithmes présentés. Une correction
automatique des requêtes est mise en avant.
Le Chapitre 4 traite de la découverte de nouvelles connaissances par la fouille de données (ou
data mining) et la fouille de textes (ou text mining). Nous présentons l’algorithme d’extraction
de règles d’associations que nous avons implémenté. Nous montrons également comment nous
exploitons les résultats de cette fouille de données, à savoir l’ensemble de règles d’associations
obtenu, pour notre problématique de recherche d’information. Dans ce type de recherche par
l’exploitation de connaissances, nous privilégions une recherche d’information interactive avec
l’utilisateur.
Dans le Chapitre 5 nous abordons les notions d’ontologie et de Web Sémantique. Quelques
systèmes de recherche d’information utilisant une approche ontologique sont détaillés. Pour
représenter les connaissances que nous avons modélisées dans le Chapitre 2, notre choix s’est
orienté vers la logique OWL-DL devenue standard du W3C. Nous proposons également un
algorithme de traduction automatique de nos connaissances dans la syntaxe de ce langage. Le
but n’est pas d’obtenir une ontologie, travail de longue haleine, mais plutôt une base de
connaissances formalisée permettant de réaliser des inférences pendant le processus de
recherche d’information.
Nous concluons en dressant le bilan de l’utilisation des trois approches de recherche
d’information décrites dans les chapitres 3, 4 et 5. L’idée principale est que l’utilisation conjointe
des traitements linguistiques, de la fouille de données et du raisonnement terminologique,
malgré le fait que ce sont des approches issues de communautés différentes (Traitement du
Langage, Bases de Données et Ingénierie des Connaissances), permet de répondre aux
problèmes de la recherche d’information. Nous proposons enfin quelques perspectives de
recherche qui nous semblent intéressantes à explorer.
24
CHAPITRE 1
RECHERCHE D’INFORMATION :
DE LA REQUETE AUX DOCUMENTS
So m m aire
1.1 INTRODUCTION..................................................................................................................... 27
1.2 INTERNET ET LE WEB .......................................................................................................... 28
1.2.1 HISTORIQUE D’INTERNET ................................................................................................ 28
1.2.2 CARACTERISTIQUES DU WEB ................................................................................ 29
1.2.3 LIMITES DES INFORMATIONS DU WEB ............................................................... 30
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION ......................................................................31
1.3.1 LA RECHERCHE DOCUMENTAIRE...........................................................................31
1.3.2 LES SYSTEMES DE RECHERCHE D’INFORMATION .............................................. 32
1.3.3 LA TACHE DE NAVIGATION ...................................................................................... 33
1.3.4 LA TACHE DE RECHERCHE ............................................................................................... 34
1.3.5 L’INDEXATION ................................................................................................................. 34
1.3.5.1 L’ESPACE D’INDEXATION .................................................................................. 36
1.3.5.2 LES ENTITES D’INDEXATION ....................................................................................................36
1.3.5.3 LES LANGAGES D'INDEXATION ................................................................................................. 37
1.3.5.3.1 Le Langage Libre................................................................................................ 37
1.3.5.3.2 Le Langage Contrôlé .........................................................................................38
1.3.5.4 LES TYPES D’INDEXATION ......................................................................................................39
1.3.5.4.1 Indexation Manuelle ..........................................................................................39
1.3.5.4.2 Indexation Automatique ...................................................................................39
1.3.5.4.3 Indexation Semi-Automatique......................................................................... 40
1.3.5.5 CAS DE L’INDEXATION AUTOMATIQUE ..................................................................................... 40
1.4
1.5
1.6
1.7
1.3.5.5.1 Extraction des Termes d’Indexation................................................ 40
1.3.5.5.2 Réduction du Langage d’Indexation ............................................. 43
1.3.5.5.3 Pondération des Termes d’Indexation........................................... 44
MODELES DE RECHERCHE D’INFORMATION ET DE REPRESENTATION ................... 46
1.4.1 LE MODELE BOOLEEN ...................................................................................................... 46
1.4.2 LE MODELE VECTORIEL ................................................................................................... 47
1.4.3 LE MODELE PROBABILISTE .............................................................................................. 49
1.4.4 LE MODELE LOGIQUE ....................................................................................................... 50
ENVIRONNEMENTS DE RECHERCHE................................................................................ 50
EVALUATION DE LA RECHERCHE D’INFORMATION.......................................................51
LA RECHERCHE D’INFORMATION SUR LE WEB .............................................................. 53
25
CHAPITRE 1 : RECHERCHE D’INFORMATION
1.7.1
1.7.2
1.7.3
1.7.4
CARACTERISTIQUES DE LA RECHERCHE D’INFORMATION SUR LE WEB ................................ 53
LES PROBLEMES DE LA RECHERCHE D’INFORMATION SUR LE WEB ..................................... 54
PROBLEMES LIES AU PROCESSUS DE RECHERCHE SUR LE WEB ........................................... 55
APPROCHES EXISTANTES POUR L’AIDE A LA RECHERCHE D’INFORMATION SUR LE WEB ...... 56
1.7.4.1 LES FACTEURS HUMAINS ................................................................................ 56
1.7.4.2 LE PROCESSUS DE RECHERCHE ..................................................................... 56
1.7.4.2.1 La Tâche de Navigation.................................................................... 57
1.7.4.2.2 La Tâche de Recherche ..................................................................... 57
1.7.4.2.3 Les Méta-Moteurs de Recherche d’Information.............................. 60
1.7.4.3 LA VISUALISATION DES RESULTATS ..............................................................61
1.7.4.4 LES AGENTS ................................................................................................... 62
1.7.4.4.1 Les Agents de Recherche.................................................................... 62
1.7.4.4.2 Les Agents de Recommandation........................................................ 62
1.7.4.4.3 Approches Multi-Agents..................................................................... 63
1.9 CONCLUSION ............................................................................................................................ 64
26
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
Le but de ce Chapitre 1 est de faire une présentation d’Internet et plus
particulièrement du Web. Nous présentons les concepts de la Recherche
d’Information pour ensuite introduire les particularités et problèmes de la
Recherche d’Information textuelle sur le Web. Nous détaillons enfin les
différentes solutions qui ont été proposées dans la littérature afin de
remédier à ces problèmes, solutions principalement fondées sur le
traitement de la langue.
1.1 In tro d u ctio n
Avec le développement des nouvelles technologies de l’information et de la communication,
de l’informatique et surtout de l’Internet, le volume d’information stockée électroniquement
ainsi que la profusion d’informations accessibles à tous sont en perpétuelle augmentation et
n’ont de cesse de croître. Depuis les années 90, c’est le World Wide Web (également appelé Web
ou Toile) qui connaît le plus gros essor au niveau mondial. Le Web est devenu la source
d’informations privilégiée pour quiconque recherche des informations en relation avec ses
besoins. En effet, ce service de l’Internet met à la disposition de tout Internaute tout type
d’informations organisées sous la forme de pages (que nous appellerons ‘documents’ par abus
de langage) contenant des liens vers d’autres pages et permettant le passage d’une page à une
autre très facilement. Cependant, cette prolifération d’informations pose le problème de leur
localisation pour leur exploitation par l’utilisateur, chaque document étant noyé dans un
énorme fond documentaire (également appelé corpus) en constante évolution. La quantité
d’information accessible est elle-même une richesse mais elle devient très vite un handicap pour
l’utilisateur. En effet, il demeure difficile de retrouver de manière pertinente un ensemble
d’informations contenu dans un document et notamment de savoir où retrouver l’information
recherchée, à moins d’analyser chacun de ces documents.
Les Systèmes de Recherche d’Information (SRI) sont conçus à l’origine pour répondre aux
besoins d’automatiser la gestion de la documentation. Du fait de leur grand nombre, la
localisation des informations pertinentes est un problème. Avec l’avènement d’Internet, le
volume des documents et le nombre de personnes à gérer se sont accrus de manière importante:
le nombre de pages Web accessibles a augmenté de 320 millions en 1997 à plus de 4,3 milliards
en 20042. Le nombre d’utilisateurs est aujourd’hui évalué à des centaines de millions. De
nombreux outils de recherche ont été développés pour faciliter l’accès à l’information sur ce
média, mais même l’utilisation d’un moteur de recherche ne permet pas toujours de trouver ce
dont on a besoin. Les réponses sont souvent non pertinentes par rapport aux attentes et, en
suivant des liens à partir d’un document pertinent, l’utilisateur se rend compte qu’il en existe
d’autres qui n’étaient pas signalés ou qui étaient signalés après plusieurs centaines d’autres
documents non pertinents. L’utilisateur a du mal à se repérer, à identifier les documents
intéressants au sein de cette masse informationnelle qui évolue sans cesse. L’utilisateur navigue
d’un lien à l’autre et la conséquence directe est que la recherche est abandonnée (loi de Mooers
(Mooers, 1960)).
2
Google, 2004
27
CHAPITRE 1 : RECHERCHE D’INFORMATION
Le problème s’agit donc de disposer de systèmes de recherche les plus performants possibles
afin de satisfaire au mieux les attentes de l’utilisateur. Les SRI sont aujourd’hui confrontés à un
nouveau défi dû à la disparité et à la quantité des types de documents à gérer autant qu’à la
multiplicité des demandes des utilisateurs et les problèmes de RI et d’indexation restent
d’actualité. Outre le problème d’identifier l’information contenue dans un document, la
Recherche d’Information (RI) (Mooers, 1950) doit également permettre à l’utilisateur de
formuler sa demande, son besoin d’information, le plus exactement possible, sous la forme
d'une requête. Plusieurs recherches sont en cours de développement dans ce domaine, mais les
problèmes d’indexation automatique et de recherche d’information sont encore très actuels.
Nous présentons ci-après l’Internet et le Web ainsi que les fondements des SRI.
1.2 In te rn e t e t le W e b
Cette section présente un historique de l’Internet et du Web. Elle met également en évidence
les limites et les problèmes liés à ce média concernant la RI.
1.2 .1 H is to riqu e d ’In te rn e t
L’histoire d’Internet a débuté en pleine guerre froide. En 1957, les Soviétiques ont lancé leur
satellite Spoutnik et les Américains ont redouté une guerre nucléaire. Le ministère de la défense
américain créa alors une agence pour la recherche nommée ARPA. Son but visait à développer un
réseau de communication militaire pouvant fonctionner même avec une partie hors service. Une
première application du réseau ARPANET est le courrier électronique permettant aux militaires
de communiquer. Sa première expérimentation a eu lieu en 1969 aux Etats-Unis. Ce réseau fut
rebaptisé Internet (« Inter Networking ») en 1980.
Dès lors, l’Internet a connu une perpétuelle évolution en particulier au travers de
l’augmentation du nombre de machines connectées. En revanche, Internet n’était, à ses débuts,
destiné qu’à peu d’universitaires qui connaissaient son langage. C’est en Europe qu’a été
simplifié le langage d’Internet, avec la notion d’hypertexte, et développé le premier navigateur
permettant de visualiser les différents documents disponibles. Basé sur cette approche, le
premier navigateur « grand public » nommé Mosaic fut développé en 1993. Grâce à ce
navigateur, chaque utilisateur connecté pouvait accéder et parcourir simplement les documents
disponibles sur Internet. Cette fonctionnalité est toujours disponible aujourd’hui grâce aux
navigateurs actuels (Microsoft Internet Explorer, Netscape…). Cet attrait d’Internet peut être
expliqué par le fait qu’il permet de partager instantanément des informations entre toutes les
machines connectées.
Au début des années 1990, Internet a connu un véritable essor du fait de l’avènement du
service Web. Ce service a permis de simplifier la mise en oeuvre de services multimédia incitant
les particuliers ainsi que les entreprises à diffuser leurs informations. Cet essor peut s’expliquer
par le fait que le Web repose sur des notions peu complexes et qu’il permet d’interagir avec les
autres protocoles disponibles sur Internet. Le Web peut être vu comme une « interface » entre
les internautes et les différents services d’Internet tout en proposant un outil facile et puissant
d’utilisation pour le parcours des différents documents. Dans le cas du Web, la notion de
28
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
documents revêt un caractère particulier et on parle plus couramment de pages que de
documents. Nous donnons ci-après la définition de la notion de document :
D é fin itio n 1.1 (DOCUMENT) (Définition ISO).
Un document est l’ensemble d’un support d’information et des données
enregistrées sur celui-ci sous la forme en général permanente et lisible par
l’homme et la machine.
La technologie sur laquelle repose le Web a été développée au CERN (Centre Européen pour
la Recherche Nucléaire) en 1989 par Tim Berners-Lee (Berners-Lee et al., 1994). L’objectif était
la diffusion d’informations scientifiques entre les chercheurs. L’idée sur laquelle repose le Web
était d’organiser les informations sous forme de documents avec possibilités d’insérer des liens
vers d’autres documents autorisant le passage d’un document à un autre sans peine.
La norme HTML, développée par le World Wide Web Consortium (W3C3), permet à
l’utilisateur de décrire les documents qu’il souhaite mettre en ligne sous forme textuelle. Ce
langage hypertexte permet également à l’utilisateur d’insérer des liens (ancres) vers tout autre
document associé à une URL. Un document sous cette forme en HTML est communément
appelé une page web. Par extension, un site Web correspond à une arborescence de pages Web
ayant pour racine une page, dite d’accueil, et se trouvant sur un même serveur. Ce standard est
aujourd’hui remis en cause par des langages où la distinction entre contenu et présentation est
beaucoup plus nette comme XML (eXtensible Markup Langage) (Bray & Sperberg-Mc Queen,
1996). Ce langage de balisage permet de créer des documents en distinguant la structure logique
(pour le contenu sémantique) de la structure physique (pour la présentation des données).
1.2 .2 Caracté ris tiqu e s d u W e b
Les informations disponibles sur le Web peuvent être scindées en deux catégories par
rapport aux modes d’accès possibles : le Web caché et le Web visible. Le Web caché (Bergman,
2000) correspond à l’ensemble des documents accessibles par l’intermédiaire d’un serveur «
dédié » comme un serveur de base de données. Le seul moyen d’y accéder est d’interroger le
serveur grâce à une requête adéquate ou à un formulaire. Le Web visible correspond à
l’ensemble des documents directement accessibles sans avoir besoin de formuler une
quelconque requête ou de remplir un quelconque formulaire.
La grande différence entre ces deux modes d’accès réside dans le fait que les informations
accessibles par le Web caché sont plus nombreuses. De plus, les informations que contient le
Web caché sont plus « contrôlées » que celles du Web visible. Le Web visible est constitué de
plus de 4 milliards de documents Web et est en plein essor avec une évolution approximative de
plus de 7 millions de documents par jour (Murray & Moore, 2000).
3
http://www.w3c.org
29
CHAPITRE 1 : RECHERCHE D’INFORMATION
1.2 .3 Lim ite s d e s In fo rm atio n s d u W e b
L’utilisateur a donc facilement accès à un nombre important de documents contenant des
informations aussi diverses qu’abondantes. Cependant, outre le volume important
d’information disponible, le Web a des limites qui lui sont inhérentes. Ces limites sont (BaezaYates & Ribeiro-Neto, 1999) :
− la non-persistance de l’information : le Web possède une dynamique très importante et
l’information naît, évolue et disparaît rapidement. Un document visité à un moment t ne sera
pas forcément le même que celui consulté au moment (t+∆). Il a d’ailleurs été estimé que 40%
des informations disponibles sur le Web changent tous les mois (Kahle, 1996).
− l’instabilité de l’information : le Web repose sur une architecture informatique qui peut
connaître diverses pannes ou dysfonctionnements. De ce fait, l’information n’est pas accessible
de façon permanente et il se peut qu’à tout moment celle-ci ne soit plus accessible.
− le manque de qualité de l’information : le Web est un média ouvert, dans le sens où il n’y a
pas d’organisme contrôlant les contenus disponibles. De ce fait, les informations disponibles
sont souvent sujettes à des problèmes de véracité, de fautes de langages ou erreurs
typographiques. De plus, tout un chacun peut créer sa page Web et y insérer les informations
qu’il souhaite.
− la redondance d’information : une expérimentation (Shivakumar & Garcia-Molina, 1998)
réalisée à partir d’une collection de 24 millions de pages Web montre que plus de 30% de
l’information est redondante. Cette proportion peut être encore plus importante si l’on
considère une redondance sémantique ou partielle des informations.
− l’hétérogénéité de l’information : sur le Web cohabitent des informations dans des médias
différents (image, son…), des formats différents (jpeg, mp3…) et des langues différentes
(français, chinois…).
− le volume d’information disponible.
Ce dernier point qu’est le volume d’information implique que la couverture du Web par les
outils de recherche reste assez faible. La plupart de ces problèmes sont difficilement gérables de
façon automatique (stabilité, hétérogénéité de l’information). Certains d’entre eux sont relatifs à
la nature humaine (contenu inexact ou mal formé des documents par exemple). Du point de vue
de l’internaute, le problème principal du Web vient de son architecture. En effet, il n’existe
aucune organisation spécifique des informations, aucun index général référençant les
informations existantes. Les informations peuvent être situées n’importe où, voire dupliquées,
d’où le problème de la localisation de l’information. Ce problème est d’autant plus important
que le nombre de documents disponibles est grand. Cependant, ce problème n’est pas récent, il
était déjà d’actualité dès les débuts d’Internet avec les premiers outils de recherche tels que
‘Gopher’, mais il ne fait que s’accentuer avec le temps.
Nous détaillons dans la section suivante les fondements de la recherche d’information.
30
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
1.3 Fo n d e m e n ts d e la Re ch e rch e d ’In fo rm atio n
La RI traite de la représentation, du stockage, de l’organisation ainsi que de l’accès à
l’information. Un SRI est un ensemble de modèles et de processus permettant la sélection
d’informations pertinentes dans une ou plusieurs collections en réponse aux besoins d’un
utilisateur. Depuis toujours, la recherche documentaire est subordonnée à la RI. Dans la
majorité des cas, un utilisateur recherche une information plutôt qu’un document, mais il
accepte qu’un système lui renvoie une liste de documents dans lesquels il est supposé trouver
l’information dont il a besoin.
1.3 .1 La Re ch e rch e D o cu m e n taire
(de Loupy, 2000) et (Fayet-Scribe, 1997) dressent un historique des méthodes de classement
et de recherche documentaire de l’Antiquité à aujourd’hui. La recherche documentaire vise à
retrouver des documents textuels répondant à un besoin informationnel spécifié par une
requête. La RI cherche des documents répondant à un besoin informationnel ou sujet formulé
par une requête. Les documents sont au préalable indexés : chaque mot de chaque document est
répertorié dans une table inverse avec ou sans conservation des mots dans le texte d’origine.
L’appariement entre la requête et l’index va déterminer les documents qui sont considérés
comme répondant le mieux au besoin informationnel initial.
La recherche documentaire se compose de deux processus de base :
– L’indexation qui est un processus de représentation du contenu des textes (les textes
étant à la fois les documents et les requêtes),
–
La comparaison entre les représentations des textes issues de l’indexation.
Le but de l’indexation est de représenter les documents et les requêtes dans le même espace
de représentation à l'aide d’une structure de données. Cependant, les documents et les requêtes
peuvent avoir des caractéristiques bien différentes. Par exemple, une requête peut être
constituée de deux mots reliés par un opérateur booléen tandis qu’un document peut être un
article de vingt pages, paru dans une revue scientifique. Lorsque la différence structurelle entre
les documents et les requêtes est trop importante, le processus de représentation des textes est
décomposé en deux processus distincts : une fonction d'indexation traite des requêtes formulées
dans un langage d’interrogation et une fonction d'indexation traite les documents.
En recherche documentaire, la tâche consiste à retrouver les documents qui correspondent à
une requête, ce qui revient à classer tout le corpus en deux classes : les textes correspondant à la
requête d’une part, les autres d’autre part. Le principe de toute recherche documentaire repose
sur l’appariement d’une question (requête) avec des documents ou des informations contenues
dans une base (Lefèvre, 2000). (Lewis, 1992a) résume les étapes de la recherche documentaire
comme suit :
31
CHAPITRE 1 : RECHERCHE D’INFORMATION
1. L’indexation de textes : l’opération qui permet de représenter le texte afin qu’il soit
exploitable par le système de recherche documentaire.
2. La formulation d’une question, sous diverses formes de requêtes :
− un thème ou un descripteur.
− une requête, construite avec des mots du langage courant, et utilisant des opérateurs
booléens, de proximité, de troncature.
− une expression en langage naturel.
− un document entier, utilisé comme exemple du sujet sur lequel on veut obtenir d’autres
informations.
− un graphe de concepts. Les concepts, représentés par des termes, peuvent être liés par
différentes relations sémantiques.
3. La comparaison entre les requêtes et les documents. La comparaison se fait généralement
en utilisant une fonction de similarité.
4. Le Feedback : les résultats fournis par le système correspondent rarement aux besoins
exacts de l’utilisateur. L’utilisateur doit donc revoir la requête et la reformuler. Si le système de
recherche modifie ou reformule la requête on parle alors du relevance feedback (bouclage de
pertinence).
Le résultat est souvent imparfait à cause de l’ambiguïté et de la redondance de la langue
naturelle. L’ambiguïté se produit car un mot peut posséder plusieurs sens selon le contexte, et la
redondance car un même concept peut être exprimé par différents mots.
1.3 .2 Le s Sys tè m e s d e Re ch e rch e d ’In fo rm atio n
Il y a plusieurs définitions d’un SRI, qui sont plus ou moins proches.
D é fin itio n 1.2 (SYSTEME DE RECHERCHE D’INFORMATION)(Strzalkowski, 1993)
La tâche typique de la recherche d’information est de sélectionner des documents
dans une base de données, en réponse à une requête de l’usager, et leur rangement
par ordre de pertinence.
D é fin itio n 1.3 (SYSTEME DE RECHERCHE D’INFORMATION)(Smeaton, 1989)
L’objectif d’un système de recherche d’information est de trouver des documents
en réponse à une requête d’utilisateur tels que le contenu des documents soit
pertinent par rapport au besoin initial de l’utilisateur.
La RI intègre deux tâches bien spécifiques : la navigation et la recherche. La navigation
correspond à l’action de trouver des informations pertinentes au travers d’une base de
documents sans connaître, à priori, le contenu et le format des documents contenus dans la
base. La recherche correspond à l’action de rechercher des informations au travers d’une base de
documents à partir des besoins exprimés sous la forme d’une requête. Dans cette section, nous
détaillons ces deux tâches qui mettent en jeu des processus différents.
32
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
1.3 .3 La Tâch e d e N avigatio n
La tâche de navigation permet à l’utilisateur de parcourir l’espace des documents de la
collection sans devoir formuler ses besoins. Le principal intérêt de cette tâche est qu’elle permet
à l’utilisateur d’acquérir des informations sans nécessairement avoir à connaître, a priori, le
contenu, la structure des informations qu’il va rencontrer. Trois modèles ont été définis pour
caractériser une navigation :
− Le modèle plat : les documents sont présentés dans un plan ou une liste simple.
− Le modèle structuré : par analogie à un système de fichiers, les documents sont organisés
sous la forme d’une arborescence. Ce modèle permet de proposer à l’utilisateur les documents
en fonction des thèmes qu’ils abordent.
− Le modèle hypertexte : ce modèle est basé sur la notion d’hypertexte qui étend la notion
de fichier texte linéaire (ou séquentiel) en permettant une structuration en graphe (Julien,
1988).
Le modèle hypertexte a été développé pour permettre une consultation non linéaire des
documents. Les noeuds peuvent contenir du texte mais également des images (fixes ou animées)
et du son. Un lien hypertexte est un lien référentiel établissant des relations non hiérarchiques
de sémantique très diverses entre les noeuds. Ils sont généralement orientés et caractérisés par
un noeud d’origine et un noeud de destination. L’utilisateur peut ainsi, au travers des liens
hypertextes, atteindre une portion du document voire des portions d’autres documents. Les
liens sont soit insérés par l’auteur des documents afin de rapprocher les documents traitant du
même thème par exemple, ou automatiquement par un processus de classification (Agosti &
Melucci, 2000).
Dans le contexte du Web, ce sont les deux premiers modèles sont fréquemment utilisés tout
en servant de base à une navigation hypertexte, la navigation la plus courante sur le Web. Un
hypertexte local est un sous-ensemble de l’hypertexte centré sur le document visité. L’hypertexte
est composé de l’ensemble des documents Web et des liens entre eux. La notion de distance
correspond au nombre de liens qu’il existe, par transitivité, entre deux noeuds. La taille de
l’hypertexte local dépend de la distance maximale prise en compte par rapport au document
considéré. L’hypertexte local évolue donc au fur et à mesure de la navigation de l’utilisateur.
Malgré la facilité d’utilisation, il existe deux limites de la navigation hypertexte (Agosti, 1996),
(Baeza-Yates & Ribeiro-Neto, 1999) :
− La désorientation : l’utilisateur ne sait plus trop quel chemin suivre et il est «perdu dans
l’hypertexte». Pour pallier cet inconvénient, il existe des mécanismes de retour en arrière.
− La surcharge cognitive : l’utilisateur réalise un important effort cognitif pour construire
une carte mentale de l’hypertexte reflétant l’organisation de l’hypertexte local. Il se produit une
surcharge cognitive lorsque l’utilisateur n’arrive plus à mémoriser la structure de l’hypertexte
dans lequel il se trouve. Ainsi, de la conception de l’hypertexte (simplicité, organisation…)
dépend le bon déroulement de la navigation.
33
CHAPITRE 1 : RECHERCHE D’INFORMATION
1.3 .4 La Tâch e d e Re ch e rch e
La recherche vise à proposer à l’utilisateur des documents en adéquation avec ses besoins
appelés requêtes. Pour mesurer cet appariement, le SRI s’appuie sur une représentation
commune des besoins de l’utilisateur et du contenu des documents textuels. Ces représentations
reposent sur la caractérisation du contenu sémantique des documents et des besoins de
l’utilisateur. Ces représentations sont ensuite utilisées au travers d’un modèle de RI permettant
de mesurer leur appariement. Afin de construire des représentations comparables entre le
contenu sémantique des documents et des requêtes, le SRI applique une phase d’indexation.
1.3 .5 L’In d e xatio n
La phase d’indexation analyse le contenu textuel des unités documentaires en vue de
construire un ensemble de termes d’indexation (termes significatifs). Ces termes d’indexation
représentent le contenu sémantique de l’unité documentaire. L’ensemble de ces termes est
appelé langage d’indexation.
D é fin itio n 1.4 (INDEXATION)
L’indexation est l’identification de l’information contenue dans tout texte et sa
représentation au moyen d’un ensemble d’entités appelé index pour faciliter la
comparaison entre la représentation d’un document et d’une requête.
Le processus d’indexation consiste à transférer l’information contenue dans le texte vers un
autre espace de représentation exploitable par un système informatique. De manière générale,
l’indexation peut être considérée comme un processus de représentation des textes. En effet,
certains SRI acceptent comme requête un document entier. Dans certains cas, le meilleur
document retrouvé par une première requête est envoyé comme requête au SRI. Cette méthode
de modification de la requête par des documents préalablement jugés pertinents, fait partie de
l’approche de bouclage de pertinence (relevance feedback) (Salton & Buckley, 1990). On peut
considérer l’indexation comme le processus de traitement des textes qu’ils soient documents ou
requêtes.
L’espace d’indexation, ou espace de représentation de l’information, doit être défini en
choisissant les entités d’indexation. Elles correspondent à l’unité de base de l’espace
d’indexation. La « structure » assemblant les entités d’indexation permet de construire un
index.
D é fin itio n 1.4 (CONSTITUTION D’UN INDEX)(Fluhr, 1992)
Les documents sont lus par un documentaliste qui en déduit les thèmes principaux
et les traduit en une liste de mots, dit descripteurs du document. Cet ensemble de
mots constitue l'index du document et représente la description du contenu
sémantique de celui-ci.
34
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
La définition des techniques d’indexation permettent, à partir du texte, de détecter les entités
et de construire les structures d’indexation. Le processus de comparaison permet de choisir les
documents répondant au besoin d’information de l’utilisateur, en comparant la base des index
du corpus à la représentation de la requête dans le même espace grâce à une fonction de
comparaison. Cette phase vise à extraire des caractéristiques sur le contenu sémantique des
informations textuelles brutes. Pour cela, le SRI traite les informations textuelles sous la forme
d’unités documentaires. Une unité documentaire est le plus petit granule d’information
correspondant à un niveau de finesse d’étude du contenu informationnel. Ce granule peut
correspondre au contenu intégral d’un document ou encore à un paragraphe voire à une phrase
du document. A partir de ces unités documentaires, une phase indexation est réalisée afin
d’extraire les caractéristiques de leur contenu informationnel. L’indexation est une phase très
importante dans le processus de recherche car de sa qualité dépendra la qualité des réponses
lors de l’utilisation du SRI et donc de ses performances. En effet, en terme de performances,
l’utilisateur souhaite obtenir toutes les informations répondant à ses besoins (unités
documentaires pertinentes) et aucune n’y répondant pas (unités documentaires non
pertinentes).
Utilisateur
Possède
Besoin d ’Information:
bi
Porte un
jugement sur
Exprimé par
Une requête: q
Un document: d
D
Q
Iq Fonction d ’indexation
Id Fonction d ’indexation
Rd : représentation de d
C Fonction de comparaison
Rq : représentation de q
E
FIG.1.1−Schéma de la recherche documentaire. (Roussey, 2001).
35
CHAPITRE 1 : RECHERCHE D’INFORMATION
1.3 .5.1 L’Es p a ce d ’In d e xa t io n
L’indexation définit l’espace de représentation de l’information (E), et influence ainsi la
fonction de comparaison (C). En effet, pour pouvoir être comparés, il faut que la représentation
d’un document d (Rd) et la représentation d’une requête q (Rq) soient exprimées dans le même
espace d’indexation E. C’est pourquoi différents modèles de SRI ont été créés, définissant à
partir d’un nouvel espace d’indexation, toutes ses caractéristiques.
Si un utilisateur possède un besoin d’information bi, cet utilisateur doit exprimer bi dans le
langage d’interrogation du SRI pour former la requête q.
Soit :
− Q : l’espace des requêtes et q une requête telle que
q ∈Q .
− D : l’espace des documents et d un document tel que d ∈ D .
− E : l’espace d’indexation du SRI.
La phase d’indexation se décompose en deux fonctions d'indexations Iq et Id telles que :
– Iq est une application de Q dans E, qui à tout élément q de Q associe une image dans E
unique Iq(q)= Rq.
Iq : Q → E
q a I q (q )
– Id est une application de D dans E, qui à tout élément d de D associe une image dans E
unique Id(d)= Rd.
Id : D → E
d a I d (d )
La fonction de comparaison C est une application qui, à tout couple de E, associe une valeur
numérique comprise entre 0 et 1, telle que :
C : E × E → [0 , 1 ]
(R
q
, R d ) a C (R q , R d )
avec Rq = I q (q ) et Rd = I d (d ) .
L’indexation est le processus de représentation des textes, c’est-à-dire le passage d'un
document (ou d'une requête) à sa représentation manipulée par un système documentaire (Le
Loarer, 1994). Le type de représentation définit l’espace d’indexation et implique ainsi la
fonction de comparaison. Les composantes de l’espace d’indexation sont les entités d’indexation
et les index.
1.3 .5.2 Le s En t it é s d ’In d e xa t io n
Il existe au moins quatre entités d’indexation possibles : le groupe de caractères (les ngrammes (Halleb & Lelu, 1997), le mot, le terme et le concept. L’unité lexicale est un élément du
36
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
vocabulaire de la langue, auquel sont associées des règles syntaxiques de construction de phrase.
Un terme est une unité lexicale correspondant à une unité sémantique. Le terme dénote une
notion précise, il est la manifestation linguistique d’un concept dans un texte (Bourigault &
Condamines, 1998). Un terme est le label d’un concept dans un contexte précis. Un terme est
composé d’au moins un mot, mais il n’y a pas de limite sur son nombre de mots. Par exemple, le
terme « rupture d’anévrysme » se compose de trois mots, mais représente un seul concept. La
relation entre terme et concept est une relation ambiguë. En effet, un concept peut être
représenté par plusieurs termes et un même terme peut représenter, suivant le contexte, des
concepts différents.
TAB.1.1−Quelques relations liant les mots, les termes et les concepts.
Re latio n
Mo t
Homographie
Synonymie
Te rm e
Co n ce p t
Car : conjonction de coordination
introduit une explication
Car : nom masculin singulier
grand véhicule automobile de
transport collectif, routier ou
touristique
Car
Car
Car : nom masculin singulier
Autocar
Autocar : nom masculin singulier
grand véhicule automobile de
transport collectif, routier ou
touristique
quantité égale à deux fois une autre
Polysémie
Double
Double : nom masculin
reproduction, copie, duplicata,
obtenu au moyen d’un carbone.
Une entité d’indexation peut être également un ensemble de symboles (un nombre, une
icône) caractérisant un groupe de mots (ou un groupe de termes ou un groupe de concepts, etc.),
jugé valide pour représenter le contenu du document. Cet ensemble de symboles est appelé
terme d’indexation (ou descripteur lorsqu’il est utilisé pour indexer un document).
1.3 .5.3 Le s La n g a g e s d 'In d e xa t io n
L'ensemble des termes d'indexation constitue le vocabulaire du langage d'indexation. Ils
peuvent être de deux types (Abel, 1993) : libre ou contrôlé. (Jacquemin, 1998) définit les
langages documentaires comme une liste contrôlée de termes d’indexation ayant fait l’objet
d’une validation humaine. Le langage d’indexation peut être une combinaison d’un langage libre
et d’un langage contrôlé. Le choix d'un langage influence ainsi la manière dont sont choisis les
descripteurs.
1.3.5.3.1
Le Langage Libre
Les termes d’indexation d’un langage d’indexation libre sont extraits des textes et peuvent
donc inclure toute la variété du langage naturel. Ce langage d’indexation est construit lors de la
phase d’indexation. C’est un langage évolutif dont le vocabulaire est choisi à posteriori et n’est
pas limité par un contrôle. Il est composé de tous les descripteurs déterminés librement afin
37
CHAPITRE 1 : RECHERCHE D’INFORMATION
d’indexer les documents. L'indexation en texte intégral en est un exemple : tous les mots du
document sont extraits automatiquement pour constituer l'index du document. Par conséquent,
le vocabulaire évolue rapidement et peut contenir des termes synonymes, polysémiques,…etc.,
entraînant des incohérences et diminuant les performances du SRI. Des documents portant sur
le même sujet peuvent être indexés par des descripteurs différents. Inversement, des documents
de sujets différents peuvent être indexés par le même descripteur. De plus, ce qui est vrai pour
l'indexation des documents et aussi vrai pour l'indexation des requêtes. Ainsi un document sera
retrouvé pour une requête parce que son index contient les descripteurs de la requête alors qu'il
ne traite pas du sujet de la requête. Inversement, un document pertinent pour une requête ne
sera pas retrouvé car ses descripteurs sont différents de ceux de la requête.
1.3.5.3.2
Le Langage Contrôlé
Le langage contrôlé, ou langage documentaire, est un langage normalisé. Les termes
d’indexation utilisés sont prédéfinis et limités dans une liste pour éviter les problèmes de
polysémie et de synonymie du langage libre. Ce type de langage d’indexation est construit à
priori avant de commencer la phase d’indexation.
Cette liste, pour être efficace, ne doit pas contenir de termes polysémiques ou synonymiques.
Ainsi, un terme d'indexation ne possède qu'un seul sens. Inversement, un sens n'est associé qu'à
un seul terme d'indexation. Par conséquent, l'utilisation d'un langage contrôlé doit permettre de
limiter le nombre de représentations possibles du contenu du document, si l'on ne tient pas
compte de la subjectivité de l'interprétation des documents et des termes. Construit à priori, ce
langage doit être connu avant d’indexer un document et avant de construire une requête. Pour
faciliter le choix des descripteurs et appréhender rapidement le vocabulaire du langage contrôlé,
l'ensemble des termes d'indexation est organisé dans un thésaurus.
Le thésaurus contient le lexique de tous les termes normalisés (masculin singulier) du
langage documentaire. Les termes du thésaurus sont en relations sémantiques structurant le
domaine de connaissance. Ces relations, au nombre de trois, sont illustrées par des exemples
tirés du thésaurus anglais Global Legal Information Network :
− La relation d’équivalence regroupe les termes jugés équivalents. Le langage documentaire
ne différencie pas ces termes les uns des autres. Ces termes peuvent être synonymes ou très
proches sémantiquement. Un seul terme, appelé terme préféré, est choisi comme terme
d'indexation. Ce terme d'indexation représente le concept identifié par l'ensemble de termes en
relation d'équivalence. Par exemple, dans le thésaurus Global Legal Information Network,
Catastrophes, Natural Disasters et Disasters sont considérés comme synonymes et Disasters
est choisi comme terme d'indexation.
− La relation hiérarchique construit une hiérarchie entre les termes d'indexation, du
général au spécifique ou d'un tout à ses parties. Par exemple, Government organisation a quatre
termes spécifiques Diplomatic & consular service, Administrative agencies, Airports, Colonies.
− La relation d’association lie des termes d'indexation ayant des connotations entre eux.
Dans GLIN, Government organisation a pour termes relatifs Administratives laws,
Corporations, Government ; Criminal courts, Employees, Government.
L'organisation du thésaurus permet de trouver le terme d'indexation le plus approprié pour
représenter un concept. Ainsi, l'utilisateur d'un SRI peut utiliser un terme de son vocabulaire
38
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
comme entrée dans le thésaurus et, en suivant différentes relations, trouver le terme
d'indexation reconnu par le système pour composer sa requête.
Les termes du langage d’indexation peuvent être sélectionnés par une indexation manuelle,
semi-automatique ou automatique.
1.3 .5.4 Le s Ty p e s d ’In d e xa t io n
L'indexation automatique et l'indexation humaine, aussi appelée indexation manuelle, se
différencient par l'agent mettant en œuvre le processus d'indexation des documents :
− Dans le cas d'une indexation humaine, c'est le documentaliste qui effectue l'analyse du
document, pour identifier son contenu et en construire une représentation.
− Dans le cas d'une indexation automatique, c'est le SRI qui génère les index des
documents. L'indexation assistée revient, le plus souvent, à faire valider, ou corriger, par un
humain une représentation du document proposée par le système.
1.3.5.4.1
Indexation Manuelle
L’indexation manuelle est réalisée par des documentalistes. Ces experts ont pour tâche de
caractériser au mieux les idées contenues dans les unités documentaires. Cette indexation
requiert un important effort intellectuel et cognitif pour identifier et décrire l’essence des unités
documentaires. Ce type d’indexation permet d’obtenir une caractérisation performante mais
subjective car cette approche dépend fortement des connaissances du domaine des
documentalistes. L’indexation manuelle trouve ses limites pour de grandes bases de documents
qui nécessitent énormément de temps pour être traitées.
L'indexation manuelle est très souvent critiquée pour son coût. En effet, la personne chargée
de l'analyse des documents doit posséder les connaissances minimales à la compréhension des
centres d'intérêt du document, sous peine d'obtenir une indexation incorrecte. Une autre
caractéristique fréquemment soulignée de l'indexation humaine est sa variabilité. En effet,
même si l'indexation s'appuie sur un langage documentaire, des descripteurs différents peuvent
être proposés pour représenter un même document suivant l'interprétation faite du contenu du
document. Par conséquent, la variabilité entraîne une incohérence dans la base des index qui
diminue les performances du SRI. Cette variabilité a été repérée aussi bien dans des situations
où plusieurs personnes indexaient que dans des situations où une même personne indexait un
même document à deux moments différents (Le Loarer, 1994).
1.3.5.4.2
Indexation Automatique
Face à cette situation, l'indexation automatique présente l'avantage d'une régularité du
processus, car l'indexation automatique fournit toujours le même index pour le même
document. Ce qui constitue une qualité du système, mais qui est différente de la justesse de
l'indexation. En effet, l'indexation automatique ne peut pas interpréter un texte et s’adapter à de
nouveaux vocabulaires. Par exemple, si le système n'a aucune connaissance lui permettant de
39
CHAPITRE 1 : RECHERCHE D’INFORMATION
lever les ambiguïtés des termes, il génèrera des erreurs d'interprétation entraînant ici aussi des
incohérences dans la base des index.
1.3.5.4.3
Indexation Semi-Automatique
Ce type d’indexation combine les méthodes d’indexation manuelle et automatique en
privilégiant toutefois l’intervention humaine. Ainsi, les experts caractérisent les idées contenues
dans une unité documentaire sous la forme de méta-informations. Une indexation automatique
est ensuite réalisée pour l’unité documentaire en tenant compte de ces méta-informations.
1.3 .5.5
Ca s d e l’In d e xa t io n Au t o m a t iq u e
Pour de grandes bases, la tendance générale s’oriente vers un processus d’indexation
automatique permettant d’extraire rapidement les termes représentatifs des unités
documentaires. L’intérêt d’une telle indexation réside principalement dans sa rapidité
d’exécution qui est tout à fait adaptée à des volumes très importants mais également dans le fait
qu’elle permet de limiter la représentation des documents aux « entrées » utiles permettant de
retrouver les informations accessibles. Cette approche repose sur différentes phases
correspondant à :
− l’extraction des termes d’indexation,
− la réduction du langage d’indexation,
− la pondération des termes d’indexation.
1.3.5.5.1
Extraction des Termes d’Indexation
Afin de construire le langage d’indexation, le système parcourt le contenu du document pour
en extraire les termes d’indexation. Diverses approches pour cette extraction sont envisageables:
− une approche linguistique : elle fait appel à des techniques de traitement du langage
naturel pour analyser et comprendre le contenu de l’unité documentaire ou d’une requête. Elle
repose sur une recherche du sens même du contenu des unités documentaires.
− une approche morpho-syntaxique : elle repose sur une étude morpho-syntaxique du
contenu des diverses unités documentaires.
− une approche mixte : elle combine les deux approches précédentes.
Dans une unité documentaire, l’ensemble des termes d’indexation extraits peut être
important. Plus il y a de termes, plus les temps de calculs (notamment lors de l’appariement
entre la requête et le document) sont importants. Il est donc nécessaire de limiter le langage
d’indexation aux termes les plus représentatifs du contenu d’une unité documentaire.
40
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
a) Choix de termes
Dans la recherche documentaire, le document dj est transformé en un vecteur
dj=(w1j,w2j,...,w|T|j), où T est l’ensemble de termes (ou descripteurs) qui apparaissent au moins
une fois dans le corpus (ou la collection). Le poids wkj correspond à la contribution du termes tk
à la sémantique du document dj. Cependant, la représentation par un vecteur entraîne une perte
d’information notamment celle relative à la position de mots dans la phrase.
b) Représentation en « sac de mots »
La représentation de textes la plus simple a été introduite dans le cadre du modèle vectoriel
et porte le nom de « sac de mots ». Le principe consiste à transformer les textes en vecteurs dont
chaque composante représente un mot. Les mots ont l’avantage de posséder un sens explicite.
Cependant, plusieurs problèmes se posent. Il faut tout d’abord définir ce qu’est « un mot » pour
pouvoir le traiter automatiquement. On peut le considérer comme étant une suite de caractères
appartenant à un dictionnaire, ou bien, de façon plus pratique, comme étant une séquence de
caractères non-délimiteurs encadrés par des caractères délimiteurs (caractères de ponctuation)
(Gilli, 1988) ; il faut gérer les sigles, ainsi que les mots composés ce qui nécessite un prétraitement linguistique. On peut choisir de conserver les majuscules pour aider, par exemple, à
la reconnaissance de noms propres, mais se pose le problème des débuts de phrases. Les
composantes du vecteur sont fonction de l’occurrence des mots dans le texte. Cette
représentation des textes exclut toute analyse grammaticale et toute notion de distance entre les
mots : c’est pourquoi elle est appelée « sac de mots »; d’autres auteurs parlent d’« ensemble de
mots » lorsque les poids associés sont binaires. Un grand nombre d’auteurs comme (Lewis,
1992), (Apté et al., 1994), (Dumais et al., 1998), (Aas & Eikvil, 1999) utilisent les mots comme
termes (c’est à dire comme composantes du vecteur) pour représenter les textes.
c) Représentation des textes par des phrases
Malgré la simplicité de l’utilisation de mots comme unité de représentation, certains auteurs
proposent plutôt d’utiliser les phrases comme unité (Fuhr & Buckley, 1991) (Schütze et al., 1995)
(Tzeras & Hartmann, 1993). Les phrases sont plus informatives que les mots seuls : elles ont
l’avantage de conserver l’information relative à la position du mot dans la phrase. Logiquement,
une telle représentation doit obtenir de meilleurs résultats que ceux obtenus via les mots.
Cependant les expériences présentées ne sont pas concluantes : si les qualités sémantiques sont
conservées, les qualités statistiques sont largement dégradées : le grand nombre de
combinaisons possibles entraîne des fréquences faibles et trop aléatoires (Lewis, 1992).
Néanmoins, (Caropreso et al., 2001) proposent d’utiliser les phrases « statistiques » comme
unités de représentation en opposition aux phrases « grammaticales » et obtiennent de bons
résultats. Une phrase statistique est un ensemble de mots contigus (mais pas nécessairement
ordonnés) qui apparaissent ensembles mais qui ne respectent pas forcément les règles
grammaticales. Afin de déterminer les phrases statistiques, ils utilisent des prétraitements tels
que l’élimination des mots vides (stop words) et le stemming.
41
CHAPITRE 1 : RECHERCHE D’INFORMATION
d) Représentation des textes avec des racines lexicales et des lemmes
Dans le modèle précédent (représentation en « sac de mots »), chaque flexion de mot est
considérée comme un descripteur différent et donc une dimension de plus. Ainsi, les différentes
formes d’un verbe constituent autant de mots. Par exemple : les mots « déménageur,
déménageurs, déménagement, déménagements, déménager, déménage, déménagera, etc. » sont
considérés comme des descripteurs différents alors qu’il s’agit de la même racine « déménage ».
Les techniques de désuffixation (ou stemming), qui consistent à rechercher les racines lexicales,
et de lemmatisation cherchent à résoudre cette difficulté. Pour la recherche des racines
lexicales, plusieurs algorithmes ont été proposés. L’un des plus connus pour la langue anglaise
est l’algorithme de Porter (Porter, 1980). Une comparaison entre différents algorithmes de
recherche de racines lexicales a été menée dans (Hull, 1996). La lemmatisation consiste à
remplacer les verbes par leur forme infinitive, et les noms par leur forme au singulier. Un
algorithme efficace, nommé TreeTagger (Schmid, 1994), a été développé pour les langues
anglaise, française, allemande et italienne. L’extraction des stemmes repose, quant à elle, sur des
contraintes linguistiques bien moins fortes. Elle se base sur la morphologie flexionnelle mais
aussi dérivationnelle (de Loupy, 2001). De ce fait, les algorithmes sont beaucoup plus simplistes
et mécaniques que ceux permettant l’extraction des lemmes. Ils sont plus rapides, mais leur
précision et leur qualité sont naturellement inférieures.
e) Méthodes basées sur les n-grammes
Un n-gramme est une séquence de n caractères. Dans la littérature, ce terme désigne
quelquefois des séquences qui ne sont ni ordonnées ni consécutives. Par exemple un 2-gramme
peut être composé de la première lettre et de la troisième lettre d’un mot (Cavnar & Trenkle,
1994). (Caropreso et al., 2001) considèrent un n-grammes comme un ensemble non ordonné de
n mots après avoir effectué la désuffixation (ou stemming) et la suppression de mots vides.
Pour un document quelconque, l’ensemble des n-grammes est le résultat obtenu en
déplaçant une fenêtre de n cases sur le texte ; ce déplacement se fait par étapes de un caractère
pour constituer l’ensemble de tous les n-grammes du document. Le profil n-grammes d’un
document est la liste des n caractères les plus fréquents, par ordre décroissant de leur fréquence
d’apparition dans le document, ainsi que leurs fréquences elles-mêmes. Un document est
caractérisé par son profil n-grammes. Les profils s’obtiennent en temps linéaire grâce à des
tables de hachage. La notion de n-grammes a été introduite par (Shannon, 1948) qui
s’intéressait à la prédiction d’apparition de certains caractères en fonction des autres caractères.
Il y a plusieurs avantages à l’utilisation des n-grammes : ils capturent les connaissances des
mots les plus fréquents et opèrent indépendamment des langues, alors que les systèmes basés
sur les mots sont dépendants des langues. Par exemple, les traitements d’élimination des "mots
vides", de "recherche de racine" et de lemmatisation sont spécifiques à chaque langue. De
même, la plupart des techniques de n-grammes n’exigent pas une segmentation préalable du
texte en mots. Ils sont également tolérants aux déformations liées à l’utilisation de systèmes de
reconnaissance de caractères et tolérants aux fautes d’orthographe. Enfin, ces techniques n’ont
pas besoin de procéder à l’élimination ni des "mots vides", ni au "Stemming", ni à la
lemmatisation, qui améliorent la performance des systèmes basés sur les mots. Si un document
42
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
contient plusieurs mots de même racine, les fréquences des n-grammes correspondants
augmenteront sans avoir besoin d’aucun traitement linguistique préalable.
1.3.5.5.2
Réduction du Langage d’Indexation
Pour limiter le nombre de termes d’indexation, il est nécessaire de ne conserver que les
termes qui contribuent au mieux à la caractérisation de l’unité documentaire. Ainsi, dans un
premier temps, les mots qualifiés de «vides» sont supprimés. Ce processus correspond à la
suppression des termes d’indexation qui n’apportent pas de sens réel à l’unité documentaire.
Ces mots vides se trouvent généralement dans un anti-dictionnaire et sont des mots à
contribution purement syntaxique comme les pronoms «à» ou «de» par exemple pour le
français. De plus, les lois de Zipf (Zipf, 1949) et (Luhn, 1958) soulignent que :
− un terme d’indexation apparaissant trop fréquemment dans un texte ne joue qu'un rôle
syntaxique (mot vide) et ne doit pas être utilisé dans le langage d'indexation,
− un terme d’indexation présent dans l’ensemble des documents de la base n’apporte aucun
pouvoir discriminant à la recherche (le terme est considéré comme un mot vide),
− un terme d’indexation de fréquence intermédiaire est considéré comme significatif. Il
représente le contenu sémantique de l’unité documentaire et il appartient au langage
d’indexation.
Afin de mesurer un appariement graduel entre une unité documentaire et une requête, les
termes d’indexation sont pondérés afin de refléter leur degré d’importance ou de
représentativité dans l’unité documentaire.
a) Réduction de la dimension
Avec la représentation en sac de mots, chacun des mots d’un corpus est un descripteur
potentiel. Pour un corpus de taille moyenne, ce nombre peut être de plusieurs dizaines de
milliers. Les mots les plus fréquents peuvent être supprimés car ils n’apportent pas
d’information sur la catégorie d’un texte puisqu’ils sont présents partout. De même, les mots
très rares, qui n’apparaissent qu’une ou deux fois sur un corpus, sont supprimés (termes hapax).
Après la suppression de ces deux catégories de mots, le nombre de candidats reste encore élevé,
et il faut utiliser une méthode statistique pour choisir les descripteurs utiles. Les techniques de
réduction de dimension sont issues de la théorie de l’information et de l’algèbre linéaire
(Sebastiani, 2002).
43
CHAPITRE 1 : RECHERCHE D’INFORMATION
b) Réduction locale de dimension
Elle consiste à proposer, pour chaque catégorie ci un nouvel ensemble de terme T’i avec
|T’i|<<|Ti| (Apté et al., 1994), (Lewis & Ringuette, 1994), (Schütze et al., 1995), (Wiener et al.,
1995), (Ng et al., 1997), (Li & Jain, 1998), (Sable & Hatzivassiloglou, 2000). Ainsi, chaque
catégorie ci possède son propre ensemble de termes et chaque document dj sera représenté par
un ensemble de vecteurs dj différents selon la catégorie. Généralement, 10 ≤ T’i ≤ 50.
c) Réduction globale de dimension
Dans ce cas, le nouvel ensemble de termes T’ est choisi en fonction de toutes les catégories.
Ainsi, chaque document dj sera représenté par un seul vecteur dj quelque soit la catégorie (Yang
& Pedersen, 1997), (Mladeni´c & Grobelnik, 1998), (Caropreso et al., 2001), (Yang & Liu, 1999).
Les techniques de réduction de termes peuvent être appliquées soit localement soit globalement.
d) Sélection de termes
Les techniques de réduction de dimensions par la sélection de termes visent à proposer un
nouvel ensemble T’ avec |T’ |<<|T |. Parmi ces techniques figurent le calcul de l’information
mutuelle (Lewis, 1992b) (Moulinier, 1997) (Dumais et al., 1998), ou des méthodes plus simples
utilisant uniquement les fréquences d’apparitions (Wiener et al., 1995), (Yang & Pedersen,
1997). D’autres méthodes ont également été testées (Moulinier, 1996), (Sahami, 1999).
e) Extraction de termes
L’objectif des techniques d’extraction de termes est de proposer un sous-ensemble T’ avec
|T’|<<|T| mais, à la différence des techniques de sélection, le sous-ensemble T’ est une synthèse
(combinaison linéaire des descripteurs) qui devrait maximiser la performance. On recherche des
variables synthétiques pour éliminer les problèmes liés aux synonymies, polysémie et
homonymies en proposant des variables artificielles, jouant le rôle de nouveaux «termes». L’une
des approches est appelée le «Latent Semantic Indexing (LSI)», proposée par (Deerwester et al.,
1990). Le LSI est fondé sur l’hypothèse d’une structure latente des termes, identifiable par les
techniques factorielles. Il consiste en une décomposition en valeurs singulières de la matrice
dans laquelle chaque document est représenté par la colonne des occurrences des termes qui le
composent. D’autres approches sont également proposées et utilisées pour la réduction de
dimensions comme « term clustering ».
1.3.5.5.3
Pondération des Termes d’Indexation
Le calcul de la représentativité d’un terme d’indexation repose sur sa fréquence d’apparition
dans le texte en langage naturel (Salton, 1983), (Zipf, 1949). Afin de caractériser le pouvoir de
représentativité (poids) des termes d’indexation, différentes mesures ont été proposées. Elles
reposent sur des mesures statistiques dont les plus utilisées sont la fréquence relative d’un
44
1.3 FONDEMENTS DE LA RECHERCHE D’INFORMATION
terme d’indexation (TF). Il s’agit de la fréquence d’apparition du terme d’indexation dans l’unité
documentaire et la fréquence absolue d’un terme d’indexation dans la collection globale d’unités
documentaires (IDF). Il s’agit de la fréquence inverse d’apparition du terme d’indexation dans
l’ensemble des unités documentaires de la collection (Sparck Jones, 1972).
a) Codage des termes
Une fois choisies les composantes du vecteur représentant un texte j, il faut décider comment
coder chaque coordonnée de son vecteur dj. Il existe différentes méthodes pour calculer le poids
wkj . Ces méthodes sont basées sur les deux observations suivantes :
1. plus le terme tk est fréquent dans un document dj , plus il est en rapport avec le sujet de ce
document.
2. plus le terme tk est fréquent dans une collection, moins il sera utilisé comme discriminant
entre documents.
Soient #(tk, dj) le nombre d’occurrences du terme tk dans le texte dj, |Tr| le nombre de
documents du corpus et #Tr(tk) le nombre de documents de cet ensemble dans lesquels apparaît
au moins une fois le terme tk. Selon les deux observations précédentes, un terme tk se voit donc
attribuer un poids d’autant plus fort qu’il apparaît souvent dans le document et rarement dans le
corpus complet. La composante du vecteur est codée f(#(tk, dj)), où la fonction f reste à
déterminer. Deux approches triviales peuvent être utilisées. La première consiste à attribuer un
poids égal à la fréquence du terme dans le document :
wkj = #(tk, dj)
et la deuxième approche consiste à associer une valeur booléenne :
1 Si #(tk , dj) > 1
wkj =
0 Sinon
b) Codage TF × IDF
Les deux fonctions précédentes sont rarement utilisées car ces codages appauvrissent
l’information : la deuxième fonction ne prend pas en compte la fréquence d’apparition du terme
dans le texte, fréquence qui peut constituer un élément de décision important. La première
fonction ne prend pas en compte la fréquence du terme dans les autres textes.
Le codage TF × IDF a été introduit dans le cadre du modèle vectoriel (section 1.4.2) et utilise
une fonction de l’occurrence multipliée par une fonction de l’inverse du nombre de documents
différents dans lequel un terme apparaît. Ce sigle provient de l’anglais et signifie « ‘Term
Frequency’× ‘Inverse Document Frequency’ ». Les termes caractérisant une classe apparaissent
plusieurs fois dans les document de cette classe, et moins, ou pas du tout, dans les autres. C’est
pourquoi le codage TF × IDF (Sebastiani, 2002) est défini comme suit :
TF × IDF(tk, dj) = #(tk, dj) × log (|Tr|/#Tr(tk) )
c) Codage TFC
45
CHAPITRE 1 : RECHERCHE D’INFORMATION
Le codage TF × IDF ne corrige pas la longueur des documents. Pour ce faire, le codage TFC
est similaire à celui de TF×IDF mais il corrige les longueurs des textes par la normalisation en
cosinus, afin de ne pas favoriser les documents les plus longs. D’autres codages sont également
utilisés, comme par exemple le codage LTC (Buckley et al., 1994) qui tente de réduire les effets
des différences de fréquences, ou encore le codage à base d’entropie. (Dumais, 1991) affirme
obtenir de meilleurs résultats avec un codage basé sur l’entropie (Aas & Eikvil, 1999).
1.4
Mo d è le s d e Re ch e rch e
Re p ré s e n tatio n
d ’In fo rm atio n
et
de
L’indexation permet au SRI d’obtenir l’essence des unités documentaires par le biais d’un
langage d’indexation. Cependant, il est nécessaire d’utiliser un modèle unique de représentation
(modèle de recherche) pour la requête et pour les unités documentaires afin d’en apprécier
l’appariement. Ces modèles peuvent être divisés en deux catégories : les modèles dits « exacts »
qui ne retournent que des documents répondant exactement à la requête (modèle booléen) ou
les modèles dits « partiels » (probabiliste, vectoriel…) qui retournent des documents répondant
à tout ou partie de la requête. Ces derniers utilisent une valeur réelle (degré de pertinence
système) pour rendre compte du degré de l’appariement entre la requête et une unité
documentaire. Il est à noter que cette pertinence système est une valeur calculée et qu’elle peut
être différente de la pertinence réelle qui découle du jugement de pertinence réalisé par
l’utilisateur. L’indexation pondérée permet de donner à chaque descripteur un niveau
d’importance. Ainsi on peut connaître le sujet principal d’un texte et les thèmes secondaires
abordés. Un poids, affecté aux descripteurs, indique son niveau d’importance par rapport au
texte indexé. Ce poids est généralement calculé à l’aide d’une fonction statistique provenant d'un
SRI de type vectoriel ou de type probabiliste. Il correspond à la probabilité que le descripteur
soit pertinent pour le document. Une collection de textes peut être ainsi représentée par une
matrice dont les lignes sont les termes qui apparaissent au moins une fois et les colonnes sont
les documents de cette collection. L’entrée wkj est le poids du terme tk dans le document dj. On
distingue différents types de représentation (Le Loarer, 1994).
1.4 .1 Le Mo d è le Bo o lé e n
L’indexation dite à plat considère que les descripteurs ont tous le même statut vis-à-vis du
texte à indexer. La représentation du texte est une succession d’entités d’indexation : une liste
de descripteurs non ordonnée. Seuls les systèmes documentaires de type booléen manipulent ce
genre d'indexation.
Le modèle booléen tire son nom des opérateurs booléens utilisés pour formuler une requête.
En effet, une requête est une formule logique, combinant des descripteurs et les opérateurs ET,
OU, NON. Les documents sont représentés par une liste de descripteurs. Ces descripteurs peuvent
appartenir à un langage libre ou contrôlé. Ils peuvent être extraits automatiquement des
documents ou manuellement choisis par des documentalistes. Les index sont stockés dans un
46
1.4 MODELES DE RECHERCHE D’INFORMATIONN
fichier inverse où, à chaque descripteur correspond la liste des documents contenant ce
descripteur dans leur index. La fonction de comparaison retrouve les documents dont les index
valident la formule logique de la requête. Donc la base de documents est séparée en deux, les
documents qui correspondent à la requête et ceux qui n’y correspondent pas. L’inconvénient
majeur de ce modèle (Salton, 1988) est l’absence d’ordonnancement des documents résultats
par la fonction de comparaison.
1.4 .2 Le Mo d è le Ve cto rie l
Ce modèle représente un document ou une requête par un vecteur dans un espace
d'indexation construit à partir des entités d'indexation. Les coordonnées des vecteurs sont les
poids indiquant l’importance du descripteur par rapport au document. L’ensemble des
coordonnées des vecteurs est contenu dans une matrice. La fonction de comparaison évalue la
correspondance entre deux vecteurs (document et requête) ce qui permet de classer les
résultats. Le schéma suivant illustre cette méthode.
T
k
W13
est un des vecteurs de base de l’espace
de représentation.
Il représente l'entité d'indexation k.
D1
D i est le vecteur désignant le document i.
Wi ,k
est le poids de l'entité k dans le
document i.
(
Di = W
i ,1
,W
i,2
D2
T3
, W i ,3 ).
W 11
T2
T1
W12
FIG.1.2.−Représentation des documents dans un espace vectoriel intitulé espace des termes.
La matrice représentant ce corpus de deux documents s’appelle « matrice terme-document »
et s’écrit de la manière suivante :
TAB.1.2.−«Matrice terme-document» de l’espace des termes précédent.
D1
D2
W1, 1
W2, 1
T1
W1, 2
W2, 2
T2
W1, 3
W2, 3
T3
47
CHAPITRE 1 : RECHERCHE D’INFORMATION
Le modèle vectoriel permet à l’utilisateur de formuler sa requête en langage (pseudo) naturel.
Il permet de retrouver des unités documentaires plus ou moins pertinentes par rapport à la
requête et ainsi de restituer une liste ordonnée par pertinence système ou bien une liste limitée
aux k documents les plus pertinents. En revanche, l’inconvénient majeur de ce modèle vectoriel
est qu’il ne permet pas de modéliser les associations entre les termes d’indexation : chacun des
termes d’indexation est considéré comme indépendant des autres (variables indépendantes
dans l’espace du langage d’indexation).
Le système SMART développé par l’équipe de Salton (Salton et al., 1975) est l’un des premiers
SRI utilisant ce modèle. Les coordonnées des vecteurs sont calculées à partir de la fréquence des
mots dans les documents par la formule du TF×IDF. L'indexation est donc totalement
automatique.
La pondération des descripteurs tient compte de deux facteurs :
1. TF : la fréquence du terme dans le document.
2. IDF : l’importance du terme comme descripteur dans le corpus de documents, qui est une
fonction inverse du nombre de documents indexés par ce terme.
Le poids Wi ,m d’un descripteur MOTm pour un document Di est calculé de la manière
suivante :
TF = fréquence du MOTm dans Di
IDF m =
nb de documents
1
contenant
MOT m
.
Ainsi, un descripteur avec une forte pondération est un terme fréquent dans un document et
absent des autres documents. Par conséquent, les termes rares qui risquent d’être peu utilisés
pour la recherche sont privilégiés. Cette pondération amplifie considérablement l’importance
des termes étrangers, des noms propres et des mots mal orthographiés dans l’index.
Dans leur approche, (Salton et al., 1975) font l’hypothèse que les mots sont indépendants les
uns des autres. La fonction de comparaison, appelée fonction de similarité, se base sur le
cosinus de l’angle formé par les deux vecteurs à comparer. Plus l'angle est petit, plus les vecteurs
d
d
d
sont similaires. Pour un vecteur document d = W1 , W2 , W3
et un vecteur requête la
fonction de comparaison évaluera la similitude entre les deux vecteurs par la formule :
(
d
q
∑ (W j × W j )
3
Sim (d , q ) =
(
j =1
⎡ 3 (W d × W d )× 3 (W q × W q )⎤
∑ j
j
j
j ⎥
⎢⎣ ∑
j =1
j =1
⎦
q = W1q , W2q , W3q
)
48
)
1.4 MODELES DE RECHERCHE D’INFORMATIONN
1.4 .3 Le Mo d è le Pro babilis te
Ce type de modèle, basé sur la théorie des probabilités, considère la RI comme un espace
d’évènements possibles. Un évènement peut être le jugement de pertinence porté par
l’utilisateur sur un document par rapport à une requête ou l’association d’un descripteur à
document. La représentation des documents est généralement un index pondéré, les poids des
descripteurs correspondent à la probabilité que le descripteur soit pertinent pour le document,
aussi appelée degré de croyance. Dans le cas du modèle binaire indépendant, seule la
représentation de la requête est un index pondéré. Les documents y sont représentés par un
index à plat (Fuhr & Buckley, 1991).
La fonction de comparaison calcule la probabilité qu’un document D réponde à un besoin
d’information d’un utilisateur, formulée par une requête Q qui peut être interprétée par la
probabilité que l’événement pertinent R arrive sachant D et Q : P(R/D, Q). Les documents
résultats sont ordonnés. Pour calculer la probabilité de l’événement (R/D, Q), il doit être
décomposé en événements plus simples par la formule de Bayes, en tenant compte des
dépendances entre les différents évènements. Plusieurs paramètres sont pris en compte : les
documents, les requêtes, les représentations des documents, les termes d'indexation, etc. Afin
d’obtenait une formule de comparaison calculable, les modèles probabilistes font des
hypothèses restrictives, comme l’indépendance entre les mots. En revanche, le système INQUERY
(Turtle & Croft, 1991) tient compte des dépendances entre certains évènements pour calculer
P(R/D, Q) en parcourant un réseau d’inférence bayesienne.
L’avantage des modèles probabilistes est de tenir compte des imprécisions, en particulier
entre le document et sa représentation. Pour évaluer les différentes probabilités du système il
est nécessaire de disposer d’un jeu de données initiales. Ces systèmes fonctionnent en deux
étapes. Une première étape d'apprentissage calcule les probabilités des évènements à partir d'un
jeu de données et une seconde étape de test répond à une nouvelle requête. Les données
nécessaires au calcul des probabilités peuvent être :
− La fréquence du mot dans le document,
− Un ensemble de jugement de pertinence de documents par rapport à des requêtes,
généralement obtenues par retour de pertinence (relevance feedback) permettant de faire
évoluer le système au cours de son utilisation,
− Un corpus de documents préalablement indexés manuellement, un jeu de test contenant
des requêtes et leurs documents résultats, etc.
Ces systèmes sont utilisables autant pour l’indexation automatique que pour l'indexation
manuelle. En indexation automatique, la probabilité qu'un descripteur soit représentatif du
document est évaluée à partir d'un jeu de données. En indexation manuelle, l'événement
d'attribution d'un descripteur à un document est connu donc sa probabilité d'apparition n'a pas
besoin d'être évaluée. Dans ce cas, la représentation des documents est une indexation à plat.
Les systèmes de type probabiliste peuvent autant utiliser une indexation en langage contrôlé
qu’en langage libre, tout dépend du jeu de données utilisé au départ pour évaluer les
probabilités.
49
CHAPITRE 1 : RECHERCHE D’INFORMATION
1.4 .4 Le m o d è le Lo giqu e
(van Rijsbergen, 1986) modélise la pertinence d’un document répondant à une requête par
une implication logique. Soit χ(d) l’information contenue dans le document d et χ(q) le besoin
d’information formulée par la requête q, tous deux sont des formules logiques. Ce genre de
système cherche à évaluer l’ajout minimal d’information nécessaire pour obtenir l’implication
χ(d) → χ(q), permettant de classer les documents résultats. Cette approche améliore l'utilisation
des connaissances dans le SRI car les éléments d’information (et non plus les termes) sont les
descripteurs du document. Le problème majeur est d’extraire les éléments d’information
automatiquement. La proposition a été appliquée à plusieurs théories logiques pour déterminer
χ(d) → χ(q) (Bruza & Lalmas, 1995).
Une des théories, souvent utilisée est la théorie des situations. Les modèles logiques
développés à partir de la théorie des situations considèrent qu’un document est identifié à une
situation et que les éléments d’information sont des types. Un type possède la valeur vraie dans
une certaine situation, et fausse dans une autre situation. Ces valeurs sont déterminées dans la
phase d’indexation. Des contraintes sont définies entre ces types provenant, par exemple de
relations sémantiques trouvées dans un thésaurus. Ces contraintes définissent la nature du flot
d’information existant entre deux situations. La formule de comparaison évalue l’incertitude du
flot d’information circulant entre la situation du document et celle de la requête (Lalmas, 1995).
Les modèles logiques développés actuellement ont permis de mieux comprendre
fondamentalement la RI en donnant un cadre théorique pour la comparaison entre les modèles
existants. En revanche, l’implémentation de ces modèles semble difficile du fait de leur
complexité. Les systèmes développés à partir de ce modèle n’ont pas donné de résultats très
satisfaisants comparés aux autres systèmes (Lalmas, 1998).
Une étude comparative de ces modèles ainsi que des extensions possibles peuvent être
trouvées dans (Soulé-Dupuy, 2001).
1.5 En viro n n e m e n ts d e Re ch e rch e
La tâche de recherche peut être réalisée dans un environnement adhoc ou dans un
environnement dynamique qui conditionne le processus de recherche. Dans un environnement
ad hoc, l’outil de recherche repose sur une ou plusieurs collections de documents stables et des
besoins en informations momentanés et dynamiques. En revanche, dans un environnement
dynamique, l’outil de recherche repose sur un flux dynamique de documents. Les besoins de
l’utilisateur, contrairement à l’environnement ad hoc, sont relativement stables (profil de
filtrage).
La recherche dans un contexte ad hoc peut être résumée en deux étapes :
− d’une part, les unités documentaires devant servir de support à la RI sont traitées pour
être insérées dans la base d’indexation. L’ensemble des unités documentaires traitées par l’outil
de recherche constitue la base d’indexation,
− d’autre part, l’utilisateur formule ses besoins sous la forme d’une requête (généralement
sous la forme d’une liste de mots-clés).
50
1.7 LA RECHERCHE D’INFORMATION SUR LE WEB
L’outil de recherche identifie dans sa base d’indexation les unités documentaires pertinentes
pour les besoins de l’utilisateur. Les unités sont proposées à l’utilisateur pour qu’il puisse à son
tour les exploiter.
Le but d’un outil de filtrage est, à partir d’un flux d’unités documentaires, d’identifier celles
qui sont susceptibles d’être pertinentes pour un utilisateur par rapport à son profil et une
fonction de décision. Au début du processus, l’utilisateur définit ses besoins en information qui
sont traduits par le système en un profil utilisateur. Pour (Korfhage, 1997), un profil utilisateur
est un indicateur des besoins en information, durables ou récurrents, qui sont représentés
communément sous la forme d’une liste de mots-clés pondérés. A partir du flux de documents
entrants, le système apprécie l’appariement entre le profil utilisateur et les documents. Grâce à
une fonction de décision, le système est en mesure de décider, par rapport à l’appariement
mesuré, si un document est pertinent ou non pertinent.
Cette dualité entre les outils de recherche ad hoc et les outils de filtrage repose sur le fait que
(Belkin, 1992) :
− un outil de recherche ad hoc suppose l’existence d’une collection de documents alors
qu’un outil de filtrage repose sur un ensemble de profils utilisateurs,
− un outil de recherche ad hoc est utilisé de façon ponctuelle, le besoin en information est
de même unique et temporaire tandis qu’un outil de filtrage utilise des besoins à long terme,
− un outil de recherche ad hoc utilise et organise des informations tandis qu’un outil de
filtrage vise à les diffuser,
− un outil de recherche ad hoc repose sur une base d’indexation statique alors qu’un outil
de filtrage utilise des informations provenant d’un flux dynamique,
− un outil de recherche ad hoc permet de décider si un document est intéressant ou non
plutôt que d’aller chercher les documents intéressants,
− un outil de recherche ad hoc repose, comparativement, sur une interaction importante
avec l’utilisateur qui consulte les résultats de recherche, juge ces résultats… En revanche, un
outil de filtrage est peu interactif puisque l’utilisateur consulte les documents proposés par le
système de façon périodique,
− un outil de recherche ad hoc peut proposer à l’utilisateur la liste de tous les documents
ordonnés par pertinence système alors que l’outil de filtrage doit décider si un document est
pertinent ou non.
1.6 Evalu atio n d e la Re ch e rch e d ’In fo rm atio n
Afin d’évaluer les systèmes les uns par rapport aux autres, diverses plates-formes proposent
un cadre d’évaluation entre les différents systèmes. Parmi les plus importantes, la plate-forme
TREC (Text Retrieval Conference) (Voorhees & Harman, 2001) propose un cadre expérimental
afin d’évaluer différentes applications de la Recherche d’Information (filtrage, recherche ad
hoc…) et la plate-forme CLEF (Cross-Language Information Retrieval and Evaluation) (Peters,
2000) propose un cadre d’évaluation spécialisé dans la RI multilingue.
51
CHAPITRE 1 : RECHERCHE D’INFORMATION
Pour comparer les SRI entre eux, des mesures d’efficacité ont été introduites. Ces mesures
considèrent que la pertinence d’un document par rapport à une requête est binaire : un
document est pertinent ou non. L’évaluation des SRI se fait en fonction de leur capacité à
identifier l’ensemble des documents pertinents. Suite à une recherche, le corpus se sépare en
quatre ensembles de documents.
TAB.1.3.− Les quatre ensembles de documents résultats en RI.
d o cu m e n ts p e rtin e n ts
D o cu m e n ts
s é le ctio n n é s
documents trouvés
D o cu m e n ts n o n s é le ctio n n é s
documents oubliés :
s ile n ce
d o cu m e n ts n o n p e rtin e n ts
documents trouvés
documents hors contexte : bru it
documents non trouvés non
pertinents
La cardinalité de ces différents ensembles de documents est utilisée pour évaluer la
précision, le rappel et la précision moyenne (van Rijsbergen, 1979).
Certains documents retenus par le système peuvent ne pas correspondre à la demande de
l'utilisateur. La précision correspond au pourcentage de documents pertinents renvoyés par le
système qui répondent effectivement à la requête. On cherche à maximiser ce pourcentage.
précision =
documents trouvés
documents sélectionnés
On utilise aussi la notion de bruit qui présente le problème selon le point de vue opposé. Le
bruit est le pourcentage de textes non pertinents renvoyés par le système :
bruit= 1- précision
Le système peut considérer certains textes comme non pertinents alors qu'ils correspondent
à la requête de l'utilisateur. Le rappel désigne le pourcentage de documents pertinents rapportés
par le système par rapport au nombre total de documents pertinents qui se trouvent dans la
base documentaire. On cherche également à maximiser ce pourcentage.
rappel =
documents trouvés
documents pertinents
On utilise aussi la notion de silence qui est le point de vue opposé. Le silence est le
pourcentage de textes pertinents non renvoyés par le système :
silence = 1- rappel
L’évaluation de l’ordre d’un ensemble de documents est un peu plus complexe. On utilise la
précision moyenne. Tout d’abord, en partant du premier document de la liste, des ensembles de
documents sont construits ayant des niveaux de rappel prédéfinis par exemple (0,1 ; 0,3 ; 0,5 ;
0,7 ; 0,9). Ensuite, la précision est calculée pour chaque groupe de documents. Ce processus est
répété pour plusieurs requêtes et une précision moyenne est calculée pour chaque niveau de
rappel. La précision moyenne est en fait la moyenne de ces moyennes.
De nombreux facteurs entrent en jeu et cette évaluation ne peut qu’être relative, dépendante
de l’application visée, du type de recherche effectué, de la base textuelle interrogée, du juge
humain, etc. L’idéal est d’avoir un système dont la précision et le rappel sont toujours égaux à 1
52
1.7 LA RECHERCHE D’INFORMATION SUR LE WEB
(donc ni de bruit ni de silence), c’est à dire que tous les documents pertinents sont rapportés et
seulement ces documents. Mais il est impossible d'obtenir, sur tous les domaines, quel que soit
le corpus et quelle que soit la requête, un rappel et une précision de 100 %.
Après avoir décrit les concepts généraux de la RI, nous présentons dans cette section les
particularités de celle-ci appliquée au Web.
1.7 La Re ch e rch e d ’In fo rm atio n s u r le W e b
Deux types d’utilisateurs peuvent se distinguer sur le Web. Le premier est celui qui ne
connaît pas exactement ce qu'il cherche et tente d'explorer la masse de documents à sa
disposition. Dans ce cas, la navigation constitue l'outil le plus approprié. Le second type
d'utilisateur qui représente le grand nombre, est celui qui définit une requête correspondant à
son désir d'information et qui attend une liste, précise et pertinemment ordonnée, des
documents. Les modèles de recherche booléen, vectoriels ou probabilistes présentent différentes
solutions performantes, robustes et relativement simples à mettre en oeuvre. Sur le Web, les
outils de recherche ad hoc correspondent aux moteurs de recherche. Ils reposent sur une
méthode d’accès à l’information de type PULL. L’utilisateur suit une démarche active pour
retrouver des documents répondant à ses besoins. Il existe toute une panoplie de moteurs de
recherche sur le Web qui se différencient notamment par la taille de leur base d’indexation, leur
langage d’interrogation, le type d’indexation utilisée… Les outils de filtrage, quant à eux, sont
généralement nommés des outils PUSH. A l’instar des moteurs de recherche, les outils PUSH
proposent automatiquement des documents pertinents à un utilisateur passif ayant initialement
formulé ses besoins.
1.7.1 Caracté ris tiqu e s d e la Re ch e rch e d ’In fo rm atio n s u r le W e b
L’utilisateur est au centre du processus de RI. Il intervient à différents niveaux (formulation
de la requête, étude des résultats…) et de lui dépend en partie le résultat de la recherche.
Cependant, chaque utilisateur est différent et certaines aptitudes sont nécessaires pour le bon
achèvement de sa tâche de recherche. D’un point de vue général, (Shneiderman, 1998) souligne
l’impact de la diversité humaine sur l’utilisation d’une application informatique à-travers
différents aspects (physiques et lieu de travail ; cognitifs et sensoriels). Deux éléments
conditionnent une RI sur le Web : la connaissance pratique et la connaissance du domaine. Ces
deux connaissances jouent un rôle important dans l’apprentissage et les performances de
l’utilisateur. (Höschler & Strube, 2000) soulignent que les connaissances sont les
caractéristiques humaines essentielles de la RI sur le Web. La connaissance pratique représente
la connaissance du Web avec tout ce que cela comporte. Nous assimilons à cette catégorie la
maîtrise du navigateur, l’utilisation des liens hypertextes, des fonctionnalités offertes par les
outils de recherche... (GVU, 1998) souligne également le fait qu’il y a une grande différence
entre les utilisateurs novices et experts, qui est due à leur connaissance pratique. Cette étude
souligne que, plus un utilisateur est expert, plus il utilise la quantité d’outils mis à sa disposition
sur le Web. En revanche un utilisateur novice se limite souvent à un moteur de recherche.
53
CHAPITRE 1 : RECHERCHE D’INFORMATION
La connaissance du domaine correspond à la connaissance que possède un utilisateur sur les
thèmes relatifs à ses besoins. Elle permet une bonne formulation des requêtes (sélection des
termes les plus appropriés pour trouver des documents pertinents) ainsi qu’une meilleure
évaluation des documents visités (Pejtersen & Fidel, 1998). Par exemple, le passage des besoins
« mentaux » aux besoins « explicites » (sous forme de mots-clés) est un réel problème puisque
le vocabulaire utilisé influence directement les résultats de la recherche. Des termes trop
généraux risquent de générer un nombre de résultats trop important (probabilité d’obtenir un
fort bruit). A l’inverse, des termes trop spécifiques risquent de générer un nombre de résultats
faible voire nul (probabilité d’obtenir un fort silence). Par ailleurs, un vocabulaire en
inadéquation avec les besoins réels de l’utilisateur risque donc tout simplement de produire des
documents inadaptés aux besoins réels de l’utilisateur. (Pejtersen & Fidel, 1998) soulignent
également le fait que les utilisateurs n’ayant pas, ou peu, de connaissances dans un domaine, ont
du mal à définir les termes le caractérisant et à concevoir une stratégie de recherche. De plus,
cette étude montre que les usagers ont du mal à évaluer si un document correspond ou non au
thème recherché.
Concernant la recherche en elle-même, le nombre de documents est si important sur le Web
qu’il n’est pas envisageable de stocker le contenu de tous les documents. C’est pour cela que les
outils de recherche ad hoc sur le Web utilisent généralement une collection virtuelle de
documents (ils ne conservent qu’un minimum d’informations concernant les documents comme
son URL ou ses termes d’indexation). De plus, la structure hypertexte sur laquelle repose le Web
peut être intégrée au niveau du processus d’indexation (Li & Rafski, 1997) (Gery, 1999). Cette
indexation repose généralement sur une indexation automatique grâce à des robots d’indexation
nommés « crawlers » ou « spiders » qui parcourent le Web à la recherche de nouveaux
documents à indexer. Le modèle de recherche communément utilisé est le modèle vectoriel.
De ces caractéristiques découlent des problèmes de la RI sur le Web. Par exemple, le fait
d’utiliser une collection virtuelle implique que le moteur de recherche peut proposer des
documents qui n’existent plus ou qui ont été modifiés. D’autres problèmes sont détaillés ciaprès.
1.7.2 Le s Pro blè m e s d e la Re ch e rch e d ’In fo rm atio n s u r le W e b
Dans (GVU, 1998) les problèmes auxquels les utilisateurs peuvent être confrontés lorsqu’ils
utilisent le Web sont soulignés. Ils concernent :
− l’impossibilité de trouver des informations recherchées (1),
− l’impossibilité d’organiser efficacement les informations retrouvées (2),
− l’impossibilité de trouver une page dont on connaît l’existence (3),
− l’impossibilité de revenir à un document déjà visité (4),
− l’impossibilité de déterminer où l’utilisateur se situe (perdu dans l’hyper-espace) (5),
− l’impossibilité de visualiser où l’utilisateur est allé, où il peut aller (visualisation de
portions du site Web visité par exemple) (6),
− la rencontre de liens ne fonctionnant pas (liens morts) (7).
54
1.7 LA RECHERCHE D’INFORMATION SUR LE WEB
Cette étude montre qu’environ un quart des utilisateurs ne sont pas satisfaits de leur
recherche dans le sens où ils ne retrouvent pas les informations recherchées (situations 1 et 3).
De plus, l’utilisateur a du mal à organiser et à réutiliser les informations retrouvées (2). Quant
aux problèmes 5 et 6, ils sont principalement dus à la surcharge cognitive qu’implique une
navigation hypertexte. Le problème 7 provient directement de la structure du Web et surtout de
l’évolution rapide à laquelle sont soumis les documents sur ce média (les auteurs modifient le
contenu, déplacent les documents…). Cependant, cette étude ne permet pas d’identifier les réels
problèmes de la recherche d’information sur le Web. La connaissance du domaine de recherche,
le processus de recherche mais également la gestion des informations retrouvées met
l’utilisateur face à un grand nombre d’écueils qu’il est important d’éviter. La principale limite de
la RI correspond au facteur humain (connaissance pratique et connaissance du domaine) qui a
un fort impact sur les résultats d’une RI.
1.7.3 Pro blè m e s lié s au Pro ce s s u s d e Re ch e rch e s u r le W e b
Pour effectuer une recherche, l’utilisateur s’appuie sur une navigation hypertexte et sur une
recherche ad hoc utilisées de façon alternée. Les problèmes liés à la tâche de recherche sont les
suivants :
− la couverture du web. Les outils de recherche n’indexent qu’une partie limitée du Web
(Lawrence & Giles, 1999) (Sullivan, 2001) (Notess, 2002). Une première raison à cette
restriction provient du nombre très important de documents disponibles. Une seconde raison
est l’incapacité qu’ont les robots d’indexation à indexer les documents du Web caché. En effet,
ces documents ne sont accessibles généralement que par le biais de formulaires que le robot ne
peut pas automatiquement remplir (Seltzer, 1997). Les robots ne se concentrent donc que sur le
Web visible (portion limitée du Web global),
− le chevauchement des bases de documents des différents outils de recherche. Le
chevauchement entre les bases d’indexation des différents outils de recherche est relativement
faible (Notess, 2000), ce qui signifie que chacun des outils a préalablement indexé des
documents différents et que pour une même requête, il va retourner des documents différents
des autres outils.
− la mise à jour des bases d’indexation des outils de recherche. Un facteur important dont
pâtissent les outils de recherche est l’évolution rapide des documents. De ce fait, les outils de
recherche n’ont pas une base d’indexation à jour et ils proposent à l’utilisateur un grand nombre
d’URLs de documents déplacés, supprimés, voire obsolètes.
− la présentation des résultats à l’utilisateur. Même s’ils ne couvrent qu’une partie du Web,
les outils de recherche indexent plusieurs millions de documents. De ce fait, suite à une
recherche, l’utilisateur se retrouve souvent avec des milliers de documents pertinents (du point
de vue système) pour ses besoins. Or, les outils actuels utilisent communément des listes de
résultats pour présenter ces derniers. Ce mécanisme ne s’avère pas adapté à la compréhension
du résultat dans sa globalité car une liste de résultats ne présente que quelques dizaines de
résultats par page.
55
CHAPITRE 1 : RECHERCHE D’INFORMATION
1.7.4 Ap p ro ch e s Exis tan te s p o u r l’Aid e à la Re ch e rch e d ’In fo rm atio n
s u r le W e b
Outre ces difficultés de recherche liées à la technologie, d’autres difficultés d’ordre général
liées à la gestion et à l’organisation des résultats retrouvés ont une incidence sur la RI.
1.7.4 .1 Le s Fa ct e u r s H u m a in s
L’utilisateur doit posséder une bonne connaissance pratique et une bonne connaissance du
domaine afin de réaliser des recherches efficaces. La connaissance pratique peut être améliorée
au cours de formations, grâce à la lecture d’ouvrages spécifiques ou de sites Web. Contrairement
à la connaissance pratique, la connaissance du domaine est sujette à une forte évolution. En
effet, les centres d’intérêt de l’utilisateur évoluent au même titre que les informations qui s’y
référent. La solution idéale pour augmenter et affiner la connaissance d'un centre d’intérêt est
de faire régulièrement des recherches sur le Web pour être au courant des dernières évolutions
dans le domaine. Cependant, cette démarche demande de la part de l'utilisateur un lourd
investissement.
Une alternative pour réduire en partie cet investissement, consiste à utiliser des outils basés
sur le principe de PUSH ou autres agents intelligents. En effet, ces outils permettent de présenter
automatiquement et de manière permanente des documents répondant aux centres d'intérêt de
l’utilisateur. Par exemple, le méta-moteur de recherche ProFusion4 propose à l’utilisateur un
système d’alertes qui le prévient dès qu’une nouvelle information relative à ses centres d’intérêt
apparaît au sein des bases d’indexation des moteurs utilisés. Ces avertissements sont effectués
par courrier électronique.
1.7.4 .2 Le Pr o ce s s u s d e R e ch e r ch e
Plusieurs approches visent à améliorer la navigation au travers de :
− la réduction de l’effort cognitif nécessaire,
− l’aide à l’orientation.
D’autres approches sont liées à la recherche ad hoc au travers :
− des aides à la formulation des besoins,
− des aides à la sélection des outils de recherche,
− des méta-moteurs de recherche,
− des interfaces de visualisation des résultats de recherche,
− des agents de recherche et de recommandation.
4http://www.profusion.com/
56
1.7 LA RECHERCHE D’INFORMATION SUR LE WEB
1.7.4.2.1
La Tâche de Navigation
La navigation souffre essentiellement de problèmes provenant de l’architecture d’hypertexte
sur laquelle elle repose. Ces problèmes sont la surcharge cognitive et la désorientation. Afin de
limiter l'effort cognitif induit par l'hypertexte, divers outils ont été mis en œuvre pour garder
une trace et un cheminement des documents visités. Les principaux navigateurs proposent un
historique des différents documents visités lors de la navigation de l'utilisateur présenté sous
forme d’une liste organisée par site, par jour ou encore par ordre de visite. Ainsi, l’utilisateur
peut aisément revenir à un document précédemment visité dans l’hypertexte (Hascoët, 2000).
Une limite de la liste historique est qu'elle ne permet pas à l'utilisateur de s'affranchir
totalement de l'effort cognitif lié à la navigation. En effet, les différents documents sont
présentés de façon indépendante.
La visualisation de la navigation est une évolution des historiques. Elle permet de
représenter graphiquement les documents visités ainsi que les liens éventuels entre ces
documents (Dömel, 1994). Grâce à de tels outils, l’utilisateur peut visualiser non seulement les
documents qu’il a précédemment visités mais également l’organisation de ces documents. Pour
éviter que l’utilisateur perde le cheminement de sa navigation, une cartographie de l’hypertexte
local est proposée. Au lieu de ne présenter que les documents visités, ces cartographies visent à
présenter les documents visités au sein de leur hypertexte local. Ainsi, les documents visités
apparaissent avec les documents liés par des liens hypertextes afin que l'utilisateur puisse avoir
une vision globale de l'hypertexte « local » dans lequel il se trouve (Wood et al., 1995).
Grâce aux différentes approches proposées dans la littérature, la tâche de navigation peut
être réalisée dans de meilleures conditions. Mais la RI sur le Web fait également appel à une
tâche de recherche. La section suivante présente les approches visant à améliorer cette tâche.
1.7.4.2.2
La Tâche de Recherche
Même si la requête de l’utilisateur n’est pas optimale, diverses approches tentent de
l’améliorer. En effet, les performances d’un SRI dépendent des requêtes formulées par
l’utilisateur. Le plus souvent, il les formule en des termes qui lui sont propres, mais qui ne
correspondent pas forcément à ceux utilisés pour indexer les documents pertinents de la base
d’indexation du SRI. Pour sélectionner le maximum de documents pertinents en limitant le
bruit, il faudrait que l’utilisateur formule ses besoins à partir de termes pertinents directement
issus du langage d’indexation du système. Cette tâche s’avère difficile dans la mesure où, en
règle générale, sur de gros corpus, il est impossible de connaître le langage d’indexation utilisé.
Compte tenu des volumes croissants des bases d’informations, retrouver les informations
pertinentes en utilisant seulement la requête initiale est une opération quasi-impossible. En
conséquence, de nombreuses recherches passées et actuelles visent à concevoir des systèmes
capables de s’adapter aux besoins de l’utilisateur (via le concept de profil par exemple). Ces
systèmes sont capables de déterminer le but de la recherche afin de l’aider à cibler son besoin.
Le premier point à prendre donc en compte lors d’une RI, est la formulation des besoins sous
la forme d’une requête. En effet, quel que soit l’outil de recherche utilisé, quel que soit le
domaine, il est nécessaire pour l’utilisateur d’expliciter au mieux ses besoins pour obtenir des
57
CHAPITRE 1 : RECHERCHE D’INFORMATION
résultats pertinents. Une inadéquation entre les besoins réels et la requête peut être la cause
d’un grand nombre d’échecs par interrogation. De façon générale, la formulation de la requête
repose sur l’utilisation d’un langage pseudo-naturel. Ainsi, l’utilisateur utilise des mots simples
(mots-clés) visant à représenter ses besoins.
Les limites de cette formulation proviennent essentiellement du fait que :
− l’utilisateur n’a pas une bonne connaissance du domaine de recherche,
− l’utilisateur ne connaît pas le contenu a priori de la base d’indexation des outils de
recherche,
− l’utilisateur peut avoir du mal à traduire la représentation mentale de ses besoins en une
représentation sous la dorme d’une liste de mots-clés,
− l’utilisateur n’utilise que peu de termes pour représenter ses besoins. Différentes études
(Silverstein et al., 1998), (Jansen et al., 2000), (Spink et al., 2002) montrent qu’en moyenne
moins de trois mots-clés sont utilisés pour formuler la requête. Ce petit nombre de termes ne
suffit généralement pas pour représenter un besoin en information de l’utilisateur et les
méthodes utilisées pour l’indexation ne sont pas adaptées.
Une première approche est l’interrogation des outils de recherche par médiation. L’idée
réside dans le fait que plutôt que de demander à l’utilisateur de formuler ses besoins sous la
forme de mots-clés, celui-ci choisit dans un ensemble de classes de documents celles qui
correspondent à ses besoins. A partir des classes sélectionnées, le système génère
automatiquement la requête correspondante. Comme application de ce principe de médiation,
le système WebCluster (Mechkour et al., 1998) permet de générer une requête qu’il propose soit
directement à un outil de recherche, soit à l’utilisateur pour lui permettre de la modifier. Par ce
biais, l’utilisateur peut s’affranchir de la formulation d’une requête.
Tout outil de recherche propose généralement à la fois un service de recherche adhoc basé
sur une requête et une classification thématique des documents (par exemple Yahoo).
L’utilisateur peut ainsi trouver dans cette approche une alternative à la recherche via une
requête en parcourant les thèmes l’intéressant. Le système Cat-a-cone (Hearst & Karadi, 1997)
est un exemple d’application qui offre à l’utilisateur la possibilité, soit de formuler une requête à
l’aide d’un ensemble de mots-clés, soit de naviguer visuellement, à-travers d’une interface 3D,
dans une hiérarchie de thèmes décrivant les documents de la base d’indexation.
Une autre approche de l’aide à la formulation de requêtes est également proposée au travers
des outils de requêtes dynamiques par interaction. L’utilisateur peut interroger l’outil de
recherche par tâtonnement. A partir d’une requête, il peut modifier ses composantes et
visualiser immédiatement le résultat des modifications apportées.
On peut également citer la reformulation de requête. C’est un processus ayant pour objectif
de générer une nouvelle requête plus adéquate que celle initialement formulée par l’utilisateur.
Cette reformulation permet de coordonner le langage de recherche (utilisé par l’utilisateur dans
sa requête) et le langage d’indexation du système. Par conséquent, elle limite le bruit et le
silence dus à un mauvais choix des termes d’indexation dans l’expression de la requête d’une
part, et les lacunes du processus d’indexation d’autre part. Il existe deux approches de
reformulation de requêtes, (1) selon qu’elles utilisent les associations entre les termes, ou (2) la
pertinence et non-pertinence des documents restitués en réponse à une requête initiale. Les
deux principales techniques utilisées sont respectivement l’expansion de requête et la
réinjection de la pertinence.
58
1.7 LA RECHERCHE D’INFORMATION SUR LE WEB
L’expansion de requête se base sur le fait que la simple comparaison du contenu de la
requête et des documents de la base d’indexation ne permet pas d’avoir tous les documents
correspondant à la requête. Il reste toujours des documents pertinents non restitués par le
système. Des travaux de recherche ont proposé de reformuler la requête initiale par l’ajout des
termes sémantiquement proches. Ces derniers sont issus :
− soit d’études sur le langage naturel (variantes morphologiques…). Il est ainsi possible
d’ajouter à la requête des variantes morphologiques des différents termes employés par
l’utilisateur. Le but de ce mécanisme est d’assurer la restitution des documents indexés par des
variantes des termes composant la requête. Dans ce cadre, des algorithmes de racinisation et de
troncature sont utilisés,
− soit d’études statistiques et d’analyses sur les contenus des documents de la base. On peut
ainsi choisir d’ajouter un certain nombre de termes les plus pertinents des documents
sélectionnés, ou de n’en conserver qu’un nombre limité parmi les termes initiaux et rajoutés. On
peut également proposer d’ajouter des termes voisins ou des termes associés à ceux de la
requête. Il s’agit de chercher des associations inter-termes (corrélation entre les termes,
classification des termes…).
La reformulation de requêtes par la réinjection de la pertinence (ou « relevance feedback »
(Salton & McGill, 1983)) peut être utilisée lorsque les documents sont restitués en réponse à une
requête initiale formulée par un utilisateur. C’est un processus évolutif et interactif. Son principe
fondamental est d’utiliser la requête initiale pour amorcer la recherche, puis modifier celle-ci à
partir des jugements de pertinence et/ou non pertinence de l’utilisateur sur les documents
restitués, soit pour repondérer les termes de la requête initiale, soit pour y ajouter (resp.
supprimer) d’autres termes contenus dans les documents pertinents (resp. non pertinents). La
nouvelle requête, obtenue à chaque itération du feedback, permet de corriger la direction de la
recherche dans le sens des documents pertinents. Le processus de réinjection de pertinence peut
être adapté aux différents modèles de recherche comme le modèle vectoriel avec l’approche de
(Rocchio, 1971), le modèle connexionniste (Boughanem et al., 2000) mais peut également être
réalisé par l’approche des algorithmes génétiques (Tamine, 2000).
Après avoir pris conscience de la façon dont ses besoins peuvent être formulés, l’utilisateur a
la lourde tâche de sélectionner l’outil de recherche qu’il souhaite interroger. Les différents outils
de recherche (moteurs de recherche, annuaires) disposent, au sein de leur base d’indexation, des
mêmes documents. Ceci se traduit par un faible recouvrement des bases d’indexation. La
sélection de l’outil de recherche conditionne les résultats de la recherche : un outil de recherche
généraliste pour une requête dans un domaine spécifique donnera vraisemblablement des
résultats moins « bons » que la même requête posée sur un outil de recherche spécialisé dans le
domaine. L’utilisateur doit donc choisir au mieux l’outil qu’il va interroger. Cependant, quel que
soit l’outil de recherche interrogé, et du fait de cette faible couverture des bases d’indexation,
l’utilisateur ne peut se contenter d’interroger un seul outil de recherche.
Ainsi, un problème de la recherche ad hoc réside dans le fait de bien savoir choisir les outils
de recherche pour obtenir les meilleurs résultats puis de réaliser une synthèse des résultats
obtenus. Si elle est réalisée manuellement, cette tâche s’avère longue et fastidieuse surtout si
chacun des outils de recherche retourne des milliers de documents, ce qui est assez courant à
l’heure actuelle. Cette interrogation multiple est d’autant plus difficile à réaliser que chacun des
outils de recherche propose son propre langage de requête et qu’il est nécessaire d’intercaler
59
CHAPITRE 1 : RECHERCHE D’INFORMATION
manuellement les résultats fournis par chaque moteur. Pour l’aider dans cette tâche, l’utilisateur
peut faire appel à un méta-moteur de recherche d’information.
1.7.4.2.3
Les Méta-Moteurs de Recherche d’Information
Un méta-moteur de recherche d’information se présente à l’utilisateur comme un outil de
recherche « classique ». Cependant, à partir d’une requête, le système crée une multitude de
requêtes qu’il soumet en parallèle à un ensemble d’outils de recherche prédéfinis. Chacune
d’elles correspond à la traduction de la requête initiale dans le langage spécifique de l’outil
interrogé. Du point de vue du résultat obtenu au travers de ces outils, les méta-moteurs peuvent
être classés en diverses catégories (Andrieu, 1998) :
− les aides à la saisie. Ces outils proposent uniquement une traduction de la requête initiale
pour un ensemble d’outils de recherche prédéfinis. Cependant les différents outils de recherche
restent indépendants. L’utilisateur doit manuellement procéder à l’interrogation des outils de
recherche (par exemple MetaSearch5),
− les listes de résultats. Ces outils soumettent la requête originale parallèlement à un
ensemble d’outils de recherche. Les résultats sont présentés pour chaque outil de recherche
indépendamment (par exemple Internet Sleuth6),
− les listes synthétisées. Ces outils sont des listes de résultats qui fusionnent les résultats
issus des différents outils interrogés en une seule liste de résultats. Les résultats en double sont
supprimés et les résultats réorganisés. On peut citer l’outil Copernic7 ou encore le service en
ligne MetaCrawler8.
Les deux premières catégories de méta-moteurs tendent aujourd’hui à disparaître au profit
des listes synthétisées qui fournissent à l’utilisateur un résultat synthétique. Cependant, la
plupart des outils disponibles interrogent toutes les sources sélectionnées sans, à priori, vérifier
si ces sources sont pertinentes pour la requête. Certains problèmes liés à la RI persistent donc.
En effet, comment l’internaute réagit-il face à un nombre de résultats dépassant le millier voire
le million de documents? Ce cas est plus que fréquent sur Internet. Différentes études
(Silverstein et al., 1998), (Spink et al., 2002) montrent que l’utilisateur ne parcourt que les
premières pages de résultats (environ 30 documents) alors que des documents intéressants
peuvent se situer au-delà. Il est donc important de prendre en compte la présentation à
l’utilisateur des résultats de recherche (des millions de documents) dans le processus de la
Recherche d’Information pour optimiser et faciliter la tâche de l’internaute. En réponse à cela,
nous pouvons souligner l’intérêt des approches qui visent à étudier les résultats pour
personnaliser la réponse proposée à l’utilisateur.
Ainsi, le projet Profildoc (Lainé-Cruzel, 1999) permet de filtrer les documents retrouvés par
rapport au profil de l’utilisateur. Ce système repose sur un profil utilisateur contenant des
informations telles que le niveau éducationnel, le champ disciplinaire, le type de recherche. Ce
profil est utilisé afin d’identifier au sein des documents retrouvés ceux qui correspondent au
profil de l’utilisateur et ainsi réduire le nombre de documents en éliminant ceux qui ne seraient
pas pertinents pour l’utilisateur.
http://www.metasearch.com/
http://www.isleuth.com
7 http://www.copernic.com
8 http://www.metacrawler.com/index.html
5
6
60
1.7 LA RECHERCHE D’INFORMATION SUR LE WEB
Malgré tout, le nombre de résultat reste très important et il peut s’avérer intéressant de
présenter les résultats de façon globale au travers d’une interface de visualisation.
1.7.4 .3
La Vis u a lis a t io n d e s R é s u lt a t s
Les résultats issus d’un moteur ou encore d’un méta-moteur de recherche d’information sont
communément présentés sous la forme d’une liste. Cette liste présente les différents résultats au
travers:
− d’un numéro de classement ou une appréciation de la pertinence système,
− d’un nom ou d’une
d’accéder au document,
URL
associé à un lien hypertexte pour permettre à l’utilisateur
− d’un court descriptif présentant les premières lignes du document dans lesquelles
apparaissent les termes de la requête.
Cet affichage est facile à mettre en oeuvre et à utiliser mais n’est efficace que pour un nombre
réduit de résultats (< 20) (Cugini et al., 2000). Pour un nombre important, les listes de résultats
souffrent essentiellement des limites suivantes (Dubin, 1995), (Zamir, 1998) :
− la position d’un document dans la liste ne permet pas explicitement de déduire sa
similarité avec les autres documents de la liste,
− l’utilisateur peut avoir du mal à comprendre pourquoi le document a été inséré à cet
endroit dans la liste et quelle est la relation avec la requête sans avoir visualisé son contenu.
A cela s’ajoute le fait que les résultats soient affichés page par page, ce qui ne facilite pas la
vision globale du résultat. Pour obtenir une vision globale des résultats, l’utilisateur doit visiter
chacun des documents, un à un, pour en apprécier la réelle pertinence et identifier les liens
potentiels entre ceux-ci. De ce fait, il est compréhensible que l’utilisateur se contente en
moyenne des 30 premiers résultats en occultant le reste des résultats (éventuellement
pertinents) si le nombre de résultats est très important. Cependant, il occulte également un
ensemble de documents potentiellement pertinents pour ses besoins.
Pour remédier à cet état de fait, des travaux ont été réalisés dans le domaine des interfaces de
visualisation. (Zamir, 1998) dresse une classification des techniques de visualisation. Cette
classification met en évidence deux types de techniques selon leur but :
− les visualisations des attributs des documents (informations issues des documents). Il y a
trois sous-catégories de techniques.
o
la distribution des termes de la requête. Elle permet de savoir comment chaque
mot-clé utilisé dans la requête est réparti dans les documents,
o
les attributs prédéfinis. Elle permet de montrer la relation qu’a le document avec
des attributs tels que la taille, l’auteur, etc.,
o
les attributs formulés par l’utilisateur. Elle permet de montrer la relation qu’a le
document avec des critères choisis par l’utilisateur (requête par exemple…),
− les visualisations de similarité inter-documents. Il y a quatre sous-catégories.
o
les réseaux de documents. Les documents sont reliés entre eux selon leur
similarité,
61
CHAPITRE 1 : RECHERCHE D’INFORMATION
1.7.4 .4
o
« les affichages pondérés ». Les documents sont répartis visuellement selon des
forces qui les repoussent ou les rapprochent des autres par rapport à leur
similarité,
o
les « classifications ». Ces visualisations représentent les documents sous forme
de groupes de documents (par similarité de contenu, selon les liens
hypertextes…),
o
les cartes auto-organisatrices. Ces techniques permettent d’afficher sur une «
carte » 2D les documents par rapport à leur similarité de contenu.
Le s Ag e n t s
Les approches précédentes reposent généralement sur la méthode PULL. Or, cette méthode
d’accès à l’information nécessite une implication continue et importante de l’utilisateur.
Un agent est communément défini comme « une personne chargée des affaires et des
intérêts d’un individu » (Petit Robert). L’application informatique du concept d’agents respecte
cette définition et est caractérisée par plusieurs aspects (Caglayan & Harrison, 1998). Les
agents de recherche et les agents de recommandation interviennent dans le contexte de l’aide à
la RI sur le Web. Les systèmes multi-agents peuvent apporter de la valeur ajoutée dans l’aide à
la recherche.
1.7.4.4.1
Les Agents de Recherche
La catégorie des agents de recherche comprend les méta-moteurs de recherche d’information
de dernière génération (listes synthétisées) jusqu’aux outils de recherche off-line (Copernic par
exemple). Ces derniers permettent à l’utilisateur d’initier des recherches d’information qui
s’exécuteront même lorsque l’utilisateur ne sera plus connecté à Internet.
1.7.4.4.2
Les Agents de Recommandation
Les agents de recommandation visent à optimiser la RI de l’internaute en lui proposant
automatiquement de nouveaux documents au regard de ses besoins ou de ses actions. Ils
reposent essentiellement sur une approche PUSH proposant des informations à l’utilisateur et
une caractérisation des besoins au moyen d’un profil utilisateur. Les systèmes Letizia
(Lieberman, 1995), WebWatcher (Armstrong et al., 1995) ou encore BroadWay (Jaczynski &
Trousse, 1997) sont de bons représentants de cette catégorie. Certains agents peuvent également
prendre en considération l’environnement de recherche de l’utilisateur (ensemble des
applications) pour déduire ses besoins et lui recommander des documents qui ne sont pas
forcément reliés (par des liens hypertextes) aux documents visités.
62
1.8 APPLICATIONS
1.7.4.4.3
Approches Multi-Agents
Les systèmes multi-agents visent à faire coopérer une série d’agents afin d’obtenir un
résultat. Ainsi, dans le cadre de la RI, il peut être intéressant de faire coopérer les agents pour
répondre à des besoins précis en information d’un utilisateur. Par exemple, l’approche multiagents proposée au travers du projet Marvin9 permet de construire des collections thématiques
de documents. Chaque agent parcourt le Web à la recherche de documents pour un thème
donné. L’intérêt des approches multi-agents peut également être vu au travers du projet Abrose
(Carré et al., 1999) qui permet de construire et de maintenir un profil utilisateur pour le
commerce électronique mais qui pourrait être adaptée à la RI. Ce profil utilisateur contient
l’ensemble des préférences d’utilisation d’Internet d’un utilisateur qui peut être exploité pour
répondre à des requêtes de façon plus fine ou proposer à l’utilisateur de nouveaux documents ou
offres plus intéressantes.
1.8
Ap p licatio n s
Nous présentons, ici, les types d’utilisation principaux d’un système de gestion des
documents électroniques.
− La v e ille t e ch n o lo g iq u e : cherche à étudier l’information accessible afin de :
o
déterminer les secteurs en développement, ceux où la demande est la plus forte,
o
étudier l’évolution de la demande (marchés moins porteurs, problèmes
émergeants, etc.),
o
évolutions dans un domaine particulier (problèmes liés à un programme,
apparition de nouveaux virus, etc.).
Un outil de veille technologique automatique (autre qu’une simple vérification de la
modification de telle ou telle page) doit utiliser un moteur de recherche documentaire.
− Le r é s u m é a u t o m a t iq u e : même si on se limite à un domaine précis, la quantité
d’information disponible peut être trop importante pour être gérée manuellement. Il est alors
nécessaire de réduire cette information tout en en gardant la substance. Un module de résumé
automatique peut être utilisé dans tous les types de traitement de l’information afin d’aider
l’utilisateur dans sa tâche.
− Le filt r a g e d ’in fo r m a t io n : le filtrage permet, dans un flux d’information (comme les
communiqués de presse ou messages sur des forums), de ne garder que les documents traitant
d’un sujet très précis ou d’orienter chaque document vers un forum particulier. Le filtrage de
l’information consiste à évaluer la similarité entre un document et un certain besoin.
− R é p o n s e à u n e q u e s t io n : dans la majorité des cas, un utilisateur recherche une
information plutôt qu’un document, mais il accepte qu’un système lui renvoie une liste de
documents dans lesquels il est supposé trouver l’information dont il a besoin. Mais, étant donné
la taille des bases textuelles disponibles actuellement comme Internet, les utilisateurs peuvent
9
http://www.hon.ch/Project/Marvin_project.html
63
CHAPITRE 1 : RECHERCHE D’INFORMATION
préférer une réponse à leur question plutôt qu’une liste de documents. Par conséquent, les
systèmes de réponse à une question sont actuellement en pleine expansion et constituent une
évolution logique des services offerts par un système de gestion automatique de l’information
documentaire (Strzalkowski et al., 2000). Ils sont subordonnés à un système de recherche
documentaire qui trouve les documents pertinents par rapport à une question.
1.9
Co n clu s io n
Le développement d’Internet au niveau mondial a profondément transformé la gestion des
documents. Cette révolution technologique a engendré de nouvelles problématiques
documentaires pour la RI. Ce chapitre a permis de présenter un court historique de l’Internet et
du Web mais également des difficultés rencontrées par les utilisateurs lors de leur recherche
d’information sur ce média. La recherche documentaire et ses fondements ont été détaillés.
Nous avons vu ce que peut être un SRI. Nous avons rappelé ce qu’est l’indexation dans ces
systèmes, c’est-à-dire un processus de projection des documents ou requêtes dans un espace de
représentation. Après avoir donné une définition de l’espace de représentation et de ses
caractéristiques, nous avons présenté les différents modèles de SRI et leur type d’indexation
utilisé. La notion d’agent a également été abordée. En résumé, les moteurs de recherche
permettent d'accéder à un grand nombre de documents par une recherche basée principalement
sur les mots du texte, les annuaires eux proposent un nombre restreint de documents avec une
recherche axée sur la précision des indexations, le but n'étant pas de tout dire sur un document,
mais d'orienter la lecture du document.
Dans le Chapitre 2, nous présentons le catalogue de santé CISMeF qui est accessible sur le
Web. Nous y présentons les améliorations apportées au cours de ces dernières années en
matière d’intégration des éléments présentés dans ce Chapitre 1, le but étant de guider au mieux
l’utilisateur dans sa quête d’information dans le domaine de la santé.
B IBLIOGRAPH IE
(Aas & Eikvil, 1999) AAS K. & EIKVIL L. (1999). Text Categorization : a Survey. Technical report, Norwegian
Computing Center.
(Abel, 199 3) ABEL, Y. (1993). Indexation Automatique et Traitement du Langage Naturel. Rapport de DEA
Contrôle des Systèmes, Université de Compiègne.
(Agosti & Melucci, 2000) AGOSTI M. & MELUCCI M. (2000). Information Retrieval on the Web. Lecture
Notes in Information Retrieval. pp.243-285.
(Agosti & Smeaton, 1996) AGOSTI M. & SMEATON A. (1996). Information Retrieval and Hypertext, Kluwer
Academic Publisher.
(Andrieu, 1998) ANDRIEU O. (1998) Trouver l’Info sur Internet. Eyrolles.
(Apté et al., 1994) APTE C., DAMERAU F. J., WEISS S. M. (1994). Automated Learning of Decision Rules for
Text Categorization. ACM Transactions on Information Systems, 12(3):233–251.
(Armstrong et al., 1995) ARMSTRONG R., FREITAG D., JOACHIMS T. (1995). Webwatcher : Machine Learning
and Hypertext. Proceedings of the 1995 AAAI Spring Symposium on Information Gathering from
Heterogeneous, Distributed Environments.
(Baeza-Yates & Ribeiro-Neto, 1999) BAEZA-YATES R. & RIBEIRO-NETO B. (1999) Modern Information
retrieval. CM Press Books, Addison-Wesley.
64
REFERENCES BIBLIOGRAPHIQUES
(Belkin & Croft, 1992) BELKIN N. & CROFT B. (1992). Information Filtering and Information Retrieval: Two
sides of a Same Coin ? Communications of the ACM, 35(12) :29-38.
(Berckley et Al., 1994) BUCKLEY, C., SALTON, G., ALLAN, J., AND SINGHAL, A. (1994). Automatic Query
Expansion using SMART : TREC 3. In Text REtrieval Conference.
(Bergman, 2000) BERGMAN MK. (2000). The Deep Web: Surfacing the Hidden Value, BrightPlanet ed.
(Berners-lee et al., 1994) BERNERS-LEE T., CAILLIAU R., NIELSEN H.F., SECRET A. (1994). The World Wide
Web. Communications of the ACM, 37(8).
(Boughanem et al., 2000) BOUGHANEM M., CHRISMENT C., SOULÉ-DUPUY C., TAMINE L. (2000).
Connectionnist and Genetic Approaches to Achieve IR. Soft Computing in Information Retrieval
Techniques and Applications, F. Crestani & G. Pasi (ed.), pp 173-198.
(Bourigault & Condamines, 1998) BOURIGAULT D. & CONDAMINES A. (1998). Terminologies et Ingénierie des
Connaissances. In Bulletin de l’AFIA N°32. pp. 19-24.
(Bray & Sperberg-Mc Queen, 1996) BRAY T. & SPERBERG-MC QUEEN CM. (1996) Extensible Markup
Language (XML), W3C Working Draft, WD-xml-961114.
(Bruza & Lalmas, 1995) BRUZA, P.D. & LALMAS M. (1995). Logic-Based Information Retrieval: Is it really
worth it? Working Notes of Workshop on the treatment of Uncertainty in Logic-based Models of
Information Retrieval Systems.
(Caglayan & Harrison, 1998) CAGLAYAN A. & HARRISON C. (1998). Les Agents, InterEditions.
(Caropreso et al., 2001) CAROPRESO, M. F., MATWIN, S., AND SEBASTIANI, F. (2001). A Learner-Independent
Evaluation of the Usefulness of Statistical Phrases for Automated Text Categorization. Text Databases and
Document Management : Theory and Practice, pp. 78–102.
(Carré et al., 1999) CARRE J., MACHONIN A., GLIZE P. (1999). Un Système Multi-agents Auto-organisateur
pour l’Apprentissage d’un Profil Utilisateur. 7èmes journées francophones d’Intelligence Artificielle et
Systèmes Multi-Agents (JFIADSMA’99), pp 207-221.
(Cavnar & Trenkle, 1994) CAVNAR,W.B., TRENKLE, J. M. (1994) N-gram-based Text Categorization. In
Proceedings of SDAIR-94, 3rd Annual Symposium on Document Analysis and Information Retrieval,
pp.161–175.
(Chi, 2000) CHI ED. H. (2000) A Taxonomy of Visualization Techniques Using the Data State Reference
Model. INFOVIS’2000, pp 69-75.
(Cugini et al., 2000) CUGINI J.V., LASKOWSKI S., SEBRECHTS M. (2000) Design of 3-D Visualisation of Search
Results: Evolution and Evaluation », 12th International Symposium on Electronic Imaging: Visual Data
Exploration & Analysis (SPIE 2000), pp 198-210.
(De Loupy, 2000) DE LOUPY. (2000) Evaluation de l’Apport de Connaissances Linguistiques en
Désambiguïsation Sémantique et Recherche Documentaire. Thèse de l’Université d’Avignon et des Pays du
Vaucluse.
(De Loupy, 2001) DE LOUPY C. (2001) L’apport de Connaissances Linguistiques en Recherche
Documentaire. Actes conférence Traitement Automatique du Langage Naturel (TALN’01).
(Deerwester et al., 1990) DEERWESTER S., DUMAIS S., LANDAUER T., FURNAS G., HARSHMAN R. (1990).
Indexing by Latent Semantic Anlysis. Journal of the American Society of Information Science, 416(6)
:391–407.
(Dömel, 1994) DÖMEL P. (1994) Webmap - a Graphical Hypertext Navigation Tool, 2nd International World
Wide Web Conference (WWW’1994).
(Dubin, 1995) DUBIN D. (1995) Document Analysis for Visualization. 18th International ACM SIGIR
Conference on Research and Development in Information Retrieval, pp 199-204.
(Dumais et al., 1998) DUMAIS S., PLATT J., HECKERMAN D., SAHAMI M. (1998) Inductive Learning Algorithms
and Representations for Text Categorization. Proceedings of CIKM-98, 7th ACM International Conference
on Information and Knowledge Management, pp.148–155.
(Dumais, 1991) DUMAIS, S. (1991). Improving the Retrieval of Information from External Sources. Behavior
Research Methods, Instruments & Computers, 23(2) :229–236
65
CHAPITRE 1 : RECHERCHE D’INFORMATION
(Fayet-Scribe, 1997) FAYET-SCRIBE S. (1997) Chronologie des Supports, des Dispositifs et des Outils de
Repérage de l'Information; Le savoir et ses outils d'accès : repères historiques. Dossier Solaris, No. 4.
(Fluhr, 1992) FLUHR C. (1992) Le Traitement du Langage Naturel dans la Recherche d’Information. In
Interface intelligente dans l’information scientifique et technique (INRIA). pp.103-130.
(Fuhr & Buckley, 1991) FUHR, N., BUCKLEY, C. (1991) A probabilistic learning Approach for Document
indexing. In ACM Transactions on Information System. Vol. 9, N°3. pp.223-248
(Gery, 1999) GERY M. (1999) « Smartweb : recherche de zones de pertinence sur le world wide web », Actes
du 17ème Congrès INFORSID.pp 133-147.
(Gilli, 1988) GILLI Y. (1988) Texte et Fréquence. Université de Besançon, Paris.
(Grefenstette et al., 2000) GREFENSTETTE G., HULL D., ROUX C. (2000) Recherche d’Information en
Français et Traitement Automatique des Langues. TAL, 41(2):473-493.
(GVU, 1998) 10th WWW User Survey, Graphic, visualisation & usability center (GVU).
(Halleb & Lelu, 1997) HALLEB M. & LELU A. (1997) Hypertextualisation automatique multilingue à partir
des fréquences des n-grammes. Hypertextes et hypermédias. Vol. 1, N°2-3-4. pp.275-287.
(Hascoët & Beaudouin-Lafon, 2001) HASCOËT M. & BEAUDOUIN-LAFON M. (2001) Visualisation interactive
d’information, Revue Information-Interaction-Intelligence (I3).
(Hascoët, 2000) HASCOËT M. (2000) A user interface combining navigation aids. 11th International ACM
Hypertext Conference. pp.224-225.
(Hearst & Karadi, 1997) HEARST M.A. & KARADI C. (1997). Cat-a-cone: an interactive interface for
specifying searches and viewing retrieval results using a large category hierarchy. 20th International ACM
SIGIR Conference on Research and Development in Information Retrieval. pp.246-255.
(Höschler & Strube, 2000) HÖLSCHER C. & STRUBE G. (2000). Web search behavior of internet experts and
newbies. 9th International Conference on the World Wide Web.
(Hull, 1996) HULL D. A. (1996) Stemming algorithms : A case study for detailed evaluation. Journal of the
American Society of Information Science, 47(1) :70–84.
(Jacquemin C., 1998) Analyse et inférence de terminologie. In Revue d’Intelligence Artificielle, 1998, Vol.
12, N°2. pp. 163-205.
(Jaczynski & Trousse, 1997) JACZYNSKI M. & TROUSSE B. (1997) Broadway: a world wide web browsing
advisor reusing past navigations from a group of users. 3rd UK Case-Based Reasoning Workshop
(UKCBR’97).
(Jansen et al., 2000) JANSEN B.J., SPINK A., SARACEVIC T. (2000) Real life, real users, and real needs: a
study and analysis of user queries on the web. Information Processing and Management. Vol 36, pp.207227.
(Julien, 1988) JULIEN C. (1988) Bases d’informations généralisées : contribution à l’étude des mécanismes
de consultation d’objets multimédia. Thèse de Doctorat Toulouse III.
(Kahle , 1996) KAHLE B. (1996) Archiving the internet. Scientific American.
(Korfhage, 1997) KORFHAGE R.R. (1997) Information storage and retrieval. Wiley Computer Publishing.
(Lainé-Cruzel, 1999) LAINE-CRUZEL S. (1999) Profildoc – Filtrer une information exploitable. Bulletin des
Bibliothèques de France (BBF), 44(5), pp. 60-64.
(Lalmas, 1995) LALMAS, M. (1995) From a Qualitative towards a Quantitative Representation of
Uncertainty in a Situation Theory based model of an Information Retrieval System. Working Notes of the
Workshop on the treatment of Uncertainty in Logic-based Models of Information Retrieval Systems.
(Lalmas, 1998) LALMAS, M. (1998) Logical Models in Information Retrieval: Introduction and Overview. In
Information Processing and Management. Vol. 34, N°1. pp. 19-33 .
(Lawrence & Giles, 1999) LAWRENCE S., GILES L. (1999) Accessibility of information on the web », Revue
Nature. Vol. 400, pp. 107-109.
(Le Loarer, 1994) LE LOARER P. (1994) Indexation automatique, recherche d’information et évaluation. In
Cours INRIA Le traitement électronique du document. pp 149-201.
66
REFERENCES BIBLIOGRAPHIQUES
(Lefèvre, 2000) LEFEVRE, P. (2000). La recherche d’information - du texte intégral au thésaurus. Hermès
Science.
(Lewis & Ringuette, 1994) LEWIS DD. & RINGUETTE M. (1994). A comparison of two learning algorithms for
text categorization. SDAIR-94, 3rd Annual Symposium on Document Analysis and Information Retrieval,
pp.81–93.
(Lewis, 1992a) LEWIS, DD.(1992). An evaluation of phrasal and clustered representations on a text
categorization task. SIGIR-92, 15th ACM International Conference on Research and Development in
Information Retrieval, pp.37–50.
(Lewis, 1992b) LEWIS, DD. (1992). Representation and learning in information retrieval. PhD thesis,
Department of Computer Science, University of Massachusetts.
(Li & Jain, 1998) LI Y.H. & JAIN A. K. (1998). Classification of text documents. The Computer Journal,
41(8) :537–546
(Li & Rafski, 1997) LI Y. & RAFSKI L. (1997). Beyond relevance ranking: hyperlink vector voting”, 5th
International Conference on Computer Assisted Information Retrieval, RIAO’97, pp.648-651.
(Lieberman, 1995) LIEBERMAN H. (1995). Letizia: an agent that assists web browsing. International Joint
Conference on Artificial Intelligence (IJCAI’95).
(Luhn, 1958) LUHN HP. (1958). The automatic creation of literature abstracts », IBM Journal of Research
and Development, 2(2), pp.159-165.
(Mechkour et al., 1998) MECHKOUR M., HARPER D.J., MURESAN G. (1998). The webcluster project: using
clustering for mediating access to the world wide web. 21st International ACM SIGIR Conference on
Research and development in Information Retrieval, pp. 357-358.
(Miller et al., 1999) MILLER, E., SHEN, D., LIU, J., NICHOLAS C. (1999). Performance and Scalability of a
Large-Scale N-gram Based Information Retrieval System. Journal of Digital Information, 1(5).
(Mladenic & Grobelnik, 1998) MLADENIC D. & GROBELNIK M. (1998). Word sequences as features in textlearning. In Proceedings of ERK-98, the Seventh Electrotechnical and Computer Science Conference,
pp.145–148.
(Moeers, 1950) MOEERS C. (1950) The theory of digital handling of non-numerical information and its
applications to machine economics. Technical bulletin No. 48. Cambridge University.
(Mooers, 1960) MOOERS C. (1960) Mooers’ Law or, Why Some Retrieval Systems Are Used and Others Are
Not; American Documentation, 11(3).
(Moulinier, 1996) MOULINIER I (1996). Une approche de la catégorisation de textes par l’apprentissage
symbolique. Thèse de Doctorat, Université Paris 6.
(Moulinier, 1997) MOULINIER I (1996) Feature selection : a useful preprocessing step. BCSIRSG-97, the 19th
Annual Colloquium of the British Computer Society Information Retrieval Specialist Group.
(Murray & Moore, 2000) MURRAY BH. & MOORE A. (2000) Sizing the Internet: A white paper, Cyveillance
ed.
(Ng et al., 1997) NG H.T., GOH W.B., LOW K.L. (1997). Feature selection, perception learning, and a
usability case study for text categorization. SIGIR-97, 20th ACM International Conference on Research and
Development in Information Retrieval, pp.67–73.
(Notess, 2000) NOTESS G.R. (2000) Search engine statistics: database overlap. SearchEngineShowdown.
(Notess, 2002) NOTESS G.R. (2002) Search engine statistics: database total size estimates. Search Engine
Showdown.
(O’Neill et al., 1998) O’NEILL E., LAVOIE B., MCCLAIN P. (1998) Characterizing the web and web-accessible
information. Report of the Web characterization workshop, W3C web characterization group conference.
(Pejtersen & Fidel, 1998) PEJTERSEN A.M. & FIDEL R. (1998) A framework for centered evaluation and
design: a case study of information retrieval on the web. Working Paper for MIRA Workshop.
(Peters, 2000) PETERS C. (2000) Introduction. Workshop of the Cross-Language Evaluation Forum
(CLEF), Lecture Notes in Computer Science #2069. pp.1-6.
(Porter, 1980) PORTER M.F. (1980) An algorithm for suffix stripping. Program, Vol. 1(3), pp.130-137.
67
CHAPITRE 1 : RECHERCHE D’INFORMATION
(Rijsbergen, 1979) VAN RIJSBERGEN, CJ. (1979). Information Retrieval, 2nd edition. Dept. of Computer
Science, University of Glasgow.
( Rijsbergen, 1986) RIJSBERGEN , C.J. (1986) A new theorical framework for information retrieval . In
Proceedings of the 9th Annual International ACM SIGIR Conference on Research and Development
in Information Retrieval, pp.194-200
(Rocchio, 1971) ROCCHIO, J. (1971) Relevance feedback in information retrieval. The SMART Retrieval
System Experiments in Automatic Document Processing, pp.313–323.
(Roussey, 2001) ROUSSEY C. (2001) Une méthode d’indexation sémantique adaptée aux corpus
multilingues ; Thèse d’Informatique de l’INSA de Lyon.
(Rücker & Polanco, 1997) RÜCKER J. & POLANCO M.J. (1997) Siteseer: personalized navigation for the web.
Communications of the ACM, 40(3), pp.73-75.
(Sable & Hatzvassiloglou, 2000) SABLE C. L. & HATZIVASSILOGLOU V. (2000) Text-based approaches for
non-topical image categorization. International Journal of Digital Libraries, 3(3) :261–275.
(Sahami, 1999) SAHAMI M. (1999) Using Machine Learning to Improve Information Access. PhD thesis,
Computer Science Department, Stanford University.
(Salton & Buckley, 1990) SALTON G. & BUCKLEY C. (1990) Improving retrieval performance by relevance
feedback. Journal of the American Society for Information Science, Vol.41, n°4, pp.288-297.
(Salton & McGill, 1983) SALTON G. & MCGILL M. (1983). Introduction to Modern Information Retrieval.
McGraw-Hill, New York.
(Salton et al., 1975) SALTON G., WONG A., YANG C.S. (1975) A Vector Space Model for Automatic Indexing.
Communication of the ACM, Vol. 18, N°11. pp.613-620.
(Salton, 1988) SALTON, G. (1988) A Simple Blue Print for Automatic Boolean Query Processing.
Information Process Management, Vol. 24, N°3. pp.269-280.
(Schmid, 1994) SCHMID H. (1994) Probabilistic part-of-speech tagging using decision trees. In
International Conference on New Methods in Language Processing.
(Schütze et al., 1995) SCHÜTZE H., HULL D.A., PEDERSEN J.O. (1995) A comparison of classifiers and
document representations for the routing problem. Proceedings of SIGIR-95, 18th ACM International
Conference on Research and Development in Information Retrieval, pp.229–237.
(Sebastiani, 2002) SEBASTIANI, F. (2002). Machine learning in automated text categorization. ACM
Computing Surveys, 34(1) :1–47.
(Seltzer, 1997) SELTZER R. (1997) Altavista, Understanding the limits of accuracy. Internet Search
Advantage, Cobb group publishing, ZD Journal.
(Shannon, 1948) SHANNON C. (1948) The Mathematical Theory of communication. Bell System Technical
Journal, 27 :379–423 et 623–656.
(Shivakumar & Garcia-Molina, 1998) SHIVAKUMAR N. & GARCIA-MOLINA H. (1998) Finding near-replicas
of documents on the web, International workshop on the web and databases (WebDB).
(Shneiderman, 1998) SHNEIDERMAN B. (1998) Designing the user interface. Addison-Wesley.
(Silverstein et al., 1998) SILVERSTEIN C., HENZINGER M., MARAIS H., MORICZ M. (1998) Analysis of a very
large web search engine query log. SRC technical note #1998- 014.
(Smeaton, 1989) SMEATON AF. (1989) Information retrieval and natural language processing. In
proceedings of a conference jointly sponsored by ASLIB, University of York, pp.2.
(Soulé-Dupuy, 2001) SOULE-DUPUY C. (2001) Bases d’informations textuelles : des modèles aux
applications. Habilitation à Diriger des Recherches, Université Toulouse III.
(Spark Jones, 1972) SPARK-JONES K. (1972) A statistical interpretation of term specificity and its
application in retrieval. Journal of Documentation. Vol. 28(1), pp 11-20.
(Spink et al., 2002) SPINK A., JANSEN B.J., WOLFRAM D., SARACEVIC T. (2002) From e-sex to e-commerce:
web search changes. IEEE Computer. Vol. 35 (3), pp.107-109.
68
REFERENCES BIBLIOGRAPHIQUES
(Strzalkowski et al., 2000) STRZALKOWSKI T., STEIN G. C., WISE GB., BAGGA A. (2000) Towards the next
generation information retrieval. In 6eme Conférence de Recherche d’Information Assistée par Ordinateur
(RIAO’2000). pp.1196–1207.
(Strzalowski, 1993) STRZALKOWSKI T. (1993) Natural language processing in large-scale text retrieval tasks.
In Text REtrieval Conference (TREC-1), pp.173.
(Sullivan, 2001) SULLIVAN D. (2001) Search engines sizes. The search engine report.
(Tamine, 2000) TAMINE L. (2000) Optimisation de requêtes dans un système de recherche d’information.
Thèse de l’Université Paul Sabatier.
(Turtle & Croft, 1991) TURTLE H. & CROFT BW. (1991) Evaluation of an inference Network-Based Retrieval
Model. In ACM Transactions on Information System, Vol. 9, N°3. pp.187-222.
(Tzeras & Hartman, 1993) TZERAS K. & HARTMANN S. (1993) Automatic indexing based on Bayesian
inference networks. Proceedings of SIGIR-93, 16th ACM International Conference on Research and
Development in Information Retrieval, pp.22–34.
(Voohrees & Harman, 2001) VOOHREES EM. & HARMAN D. (2001) Overview of TREC 2001. 10th Text
REtrieval Conference (TREC-2001).
(Wiener et al., 1995) WIENER E.D., PEDERSEN J.O., WEIGEND A.S. (1995). A neural network approach to
topic spotting. In Proceedings of SDAIR-95, 4th Annual Symposium on Document Analysis and
Information Retrieval, pp. 317–332.
(Wood et al., 1995) WOOD A., DREW N., BEALE R., HENDLEY B. (1995) Hyperspace: web browsing with
visualization. 3rd International World Wide Web Conference (WWW’95).
(Yang & Liu, 1999) YANG Y. & LIU X. (1999). A re-examination of text categorization methods. SIGIR-99,
22nd ACM International Conference on Research and Development in Information Retrieval, pp.42–49.
(Yang & Pedersen, 1997) YANG Y. & PEDERSEN JO. (1997). A comparative study on feature selection in text
categorization. ICML-97, 14th International Conference on Machine Learning, pp.412–420.
(Zamir, 1998) ZAMIR, O. (1998) Visualisation of search results in document retrieval systems, General
Examination, University of Washington.
(Zipf, 1949) ZIPF GK. (1949) Human behavior and principles of feast effort, Addison Wesley ed.
69
70
CHAPITRE 2
RECHERCHE DE DOCUMENTS EN SANTE :
CAS DU CATALOGUE CISMeF
So m m aire
2.1 INTRODUCTION .................................................................................................................... 73
2.2 STRUCTURE DES DOCUMENTS .......................................................................................... 74
2.2.1 LES METADONNEES .......................................................................................................... 74
2.2.2 LE THESAURUS MESH ..................................................................................................... 75
2.2.3 LA TERMINOLOGIE CISMEF............................................................................................. 76
2.2.3.1 LES TYPES DE RESSOURCES .......................................................................... 76
2.2.3.2 LES METATERMES .........................................................................................77
2.2.4 LE MODELE CISMEF POUR LA RECHERCHE D’INFORMATION ........................................... 78
2.3 LA METHODOLOGIE DE MISE A JOUR.............................................................................. 79
2.3.1 LE RECENSEMENT ........................................................................................................... 79
2.3.2 LA SELECTION .................................................................................................................80
2.3.3 LA DESCRIPTION .............................................................................................................80
2.4 RECHERCHE D’INFORMATION DANS LE CISMEF........................................................... 82
2.4.1 ACCES STATIQUE ............................................................................................................. 83
2.4.1.1 LES DEFINITIONS .......................................................................................... 83
2.4.1.2 LES ‘VOIR AUSSI’ ............................................................................................ 84
2.4.1.3 LES ARBORESCENCES ................................................................................... 85
2.4.2 ACCES DYNAMIQUE ........................................................................................................ 86
2.4.2.1 LA NAVIGATION DYNAMIQUE ...................................................................... 86
2.4.2.2 LA RECHERCHE SIMPLE .............................................................................. 87
2.4.2.3 LA RECHERCHE AVANCEE ...........................................................................88
2.4.2.4 LA RECHERCHE BOOLEENNE ...................................................................... 89
2.4.2.5 LA RECHERCHE PAS-A-PAS .......................................................................... 90
2.4.2.6 OPTIONS DE RECHERCHE............................................................................. 90
2.4.2.6.1
2.4.2.6.2
2.4.2.6.3
2.4.2.6.4
Options par Défaut .......................................................................................... 90
Option Arborescence ....................................................................................... 91
Option Explosion .............................................................................................. 91
Option Majeur/Mineur ....................................................................................92
2.4.3 LES AFFILIATIONS .......................................................................................................... 93
2.4.3.1 AFFILIATION DE QUALIFICATIFS ............................................................... 93
2.4.3.2 AFFILIATION DE TYPES DE RESSOURCES .................................................. 93
71
2.4.4 LES REQUETES PREFORMATEES .................................................................................... 94
2.4.4.1 LES STRATEGIES DE RECHERCHE ............................................................. 94
2.4.4.2 CISMEF-PATIENTS ..................................................................................... 95
2.4.4.3 LE PROJET COGNI-CISMEF ........................................................................ 99
2.4.5 CATEGORISATION DES DOCUMENTS .............................................................................. 100
2.5 QUELQUES PROBLEMES RENCONTRES ......................................................................... 102
2.5.1.1 AJOUT D’AUTRES TYPES DE SYNONYMES....................................................... 104
2.5.1.2 UTILISATION DE CONNAISSANCES................................................................ 104S
72
Dans ce Chapitre 2, nous présentons le contexte dans lequel nous réalisons
nos expériences, à savoir le catalogue de santé CISMeF. La structure du
catalogue pour la description des documents se fonde sur un ensemble de
métadonnées et une terminologie du domaine médical qui a été adaptée à la
problématique de la recherche d’information. Nous détaillons les
améliorations entreprises au cours de ces 3 dernières années en terme de
recherche d’information et de navigation dans le catalogue.
2 .1
In tro d u ctio n
Avec l'explosion du Web et la prolifération des connaissances biomédicales, les utilisateurs
ont potentiellement accès à des informations de plus en plus nombreuses mais en réalité, ils
sont obligés de naviguer dans un vrai labyrinthe de pages. Les outils généralistes (tels que
Yahoo, Google, Altavista…) ne permettent pas d'obtenir une présentation claire et organisée de
l'information disponible en médecine. Leur utilisation est ainsi très vite limitée. A ce manque de
spécificité des outils de recherche généralistes, s'ajoute le problème de la prise en compte de la
qualité des informations disponibles. C'est dans ce contexte que le catalogue CISMeF (Catalogue
et Index de Sites Médicaux Francophones) (Darmoni et al., 2001) (Soualmia et al., 2002)
(Soualmia & Darmoni, 2003a) a été développé pour assister la recherche d’information en
santé sur le Web.
Un grand nombre de ressources (ou documents) francophones (n=13 850 en septembre
2004) sont sélectionnées en fonction de critères stricts par une équipe de documentalistes et
sont répertoriées selon une méthodologie de mise à jour. La description de ces ressources se fait
à l’aide de notices en se basant sur un ensemble de méta-données et une terminologie structurée
du domaine médical. Les notices et la terminologie sont stockées dans une base de données
relationnelle.
Le but initial était d'assister les professionnels de santé dans leur quête d'informations sur
l'Internet. D'autres catégories d'utilisateurs peuvent également être intéressées par un accès
facilité aux informations de santé, tels que les étudiants en médecine ou encore les patients ou le
grand public. Trois axes prioritaires ont ainsi été définis : le recensement des ressources (une
ressource correspond à un site ou un document) concernant l'enseignement, la médecine
factuelle (recommandations pour la bonne pratique clinique et conférences de consensus) et les
ressources spécialement destinées aux patients. Composé au départ d'une simple liste de signets
utiles aux professionnels de l'établissement (modèle à plat), ce service s'est progressivement
amélioré et développé, pour devenir un véritable catalogue, reposant sur une structure
complexe.
Nous détaillons dans les sections suivantes les différentes améliorations apportées au cours
de ces 3 dernières années. Les améliorations (aussi bien conceptuelles que techniques) visent
l’optimisation de la recherche d’information. La structure hiérarchisée du thésaurus MeSH et de
la terminologie CISMeF permet d'optimiser la recherche d'information en précisant ou en
étendant une requête par l’opération d'explosion des concepts en allant des concepts les plus
génériques aux plus spécifiques. La structure du thésaurus et sa composition basée sur la
possibilité d'affiliation de qualificatifs à des mots clés, permettent de mettre en place des options
73
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
de recherche permettant de préciser les requêtes. Enfin, le choix d'un thésaurus standardisé
et maintenu par un organisme professionnel reconnu permet une interopérabilité avec d'autres
catalogues en ligne utilisant le même outil. En fonction des besoins des utilisateurs, des
améliorations portent sur l'enrichissement du vocabulaire employé (traduction des définitions
des mots clés, création de synonymes …). Les besoins spécifiques de la recherche d'information
sur l'Internet, et notamment l'hétérogénéité du type des ressources accessibles, entraînent la
création de niveaux de concepts supplémentaires. Ainsi la terminologie CISMeF intègre deux
niveaux de concepts inexistants originellement au sein du thésaurus MeSH : les types de
ressources et les métatermes. Nous détaillons tous ces éléments dans les sections suivantes.
2 .2
Stru ctu re d e s D o cu m e n ts
Les documents répertoriés dans le CISMeF sont décrits à l’aide d’un ensemble de
métadonnées et d’un ensemble de termes issus de la terminologie CISMeF, construite à partir
du thésaurus MeSH.
2 .2 .1
Le s Mé tad o n n é e s
Les métadonnées (metadata en anglais) sont, au sens littéral du terme, des "données sur des
données", une "information sur une information". Elles constituent une information secondaire
au sujet d'une ressource primaire. Le but des métadonnées est de faciliter le travail des robots
d'exploration qui indexent automatiquement les pages Web, en leur proposant des données
descriptives normalisées. L'objectif final est de permettre aux moteurs de recherche de proposer
des résultats plus pertinents lors des requêtes des utilisateurs.
Pour déterminer les champs nécessaires à la description des ressources incluses dans
CISMeF, l’équipe s’est d'abord basée sur les travaux du projet Dublin Core10 (Baker, 2000) qui
propose un format pour l'écriture de métadonnées (Thirion et al., 2004). Il existe aujourd’hui
un groupe de travail DCMI (Dublin Core Metadata Initiative) pour la proposition d'une norme
internationale de description des ressources de l'Internet. Une sélection a été faite parmi les 15
champs proposés par le Dublin Core, et les champs suivants ont été retenus : "titre" et "soustitre", "auteur", "description", "site éditeur", "date", "identifiant" (URL), "format", "langue",
"mots clés", "types de ressources". Les champs sont répétitifs et non obligatoires.
Le format IEEE 1484 Learning Object Metadata (LOM)11 est un standard de description
spécifique aux données pédagogiques. Un des trois axes prioritaires de CISMeF est le
recensement des ressources pédagogiques. LOM permet de déterminer quelques champs pour
répondre aux besoins générés par le recensement des ressources de ce type. Il s'agit des champs
"cycle", "année", "numéro de question d'internat" et "intitulé de diplôme".
D'autres champs ont été créés pour répondre aux besoins spécifiques de description de
ressources électroniques propres à CISMeF : "accès" (réservé, partiellement réservé, libre),
"coût", "date de création de la notice descriptive", "date de consultation de la ressource",
10
11
http://www.dublincore.org
http://ltsc.ieee.org/
74
LE CATALOGUE CISMEF
"département", "institution", "ISBN", "ISSN", "parrainage", "pays", "public concerné", "source",
"ville".
Il a été également nécessaire de créer d'autres champs caractéristiques de certains types de
ressources dont le recensement est prioritaire selon la politique éditoriale de CISMeF. Ainsi, les
champs "indication du niveau de preuve" et "méthodologie suivie" ont été inclus pour répondre
aux besoins des professionnels recherchant des recommandations de bonne pratique clinique
(Darmoni et al., 2003a).
2 .2 .2
Le Th é s au ru s Me SH
Le thesaurus MeSH12 (Medical Subject Headings) est produit depuis 1960 par la bibliothèque
nationale américaine de médecine, la NLM (National Library of Medicine). L'organisation de
l'information dans CISMeF repose sur ce thésaurus qui est utilisé notamment pour la base de
données bibliographiques Medline, base de données la plus utilisée au monde en médecine. Il
est précis, rigoureux et mis à jour annuellement par des experts du domaine. Il comprend, dans
sa version 2004, 22 568 mots clés organisés selon 15 grandes catégories. Son adaptation
annuelle comprend en moyenne entre 800 et 1000 nouveaux termes. Son utilisation courante
par les professionnels de la santé a été un élément décisif dans le choix de cette terminologie
pour organiser l'information dans CISMeF. CISMeF utilise la version française13 du thesaurus
MeSH, réalisée depuis 1986 par le DISC (Département de l'Information Scientifique et de la
Communication) de l'INSERM (Institut National de la Santé et de la Recherche Médicale).
Les mots clés du thésaurus correspondent à des concepts médicaux. Ils sont organisés en 11
niveaux hiérarchiques allant du terme le plus général en haut de la hiérarchie, aux termes les
plus spécifiques en bas de la hiérarchie. Une arborescence décrit d'abord des notions générales
puis des notions très spécifiques en fonction du niveau. Par exemple, le mot clé aberration
chromosomique est plus général que le mot clé trisomie. Chaque terme MeSH est identifié par
un numéro : le "MeSH Tree Number" qui dépend de sa position dans l'arborescence. Un même
mot clé peut appartenir à plusieurs arborescences. A ce jour (septembre 2004), 10 416 mots clés
sont utilisés par CISMeF, soit près de 45% du thesaurus MeSH.
LT
UF
NT
NT
NT
NT
RT
RT
RT
=
=
=
=
=
=
=
=
=
POMPES IONIQUES
POMPES A IONS
ANTIPORTEURS
PROTEINES DE TRANSPORT ANIONS
PROTEINES DE TRANSPORT CATIONS
SYMPORTEURS
CANAL MEMBRANAIRE
TRANSPORT BIOLOGIQUE ACTIF
TRANSPORT IONIQUE
LT=
UF=
NT=
RT=
Terme principal
Synonyme
terme spécifique
Voir Aussi
FIG.2.1.−Fichier texte fourni par l'INSERM
Les fichiers MeSH sont traités automatiquement pour renseigner la terminologie CISMeF
afin qu’elle soit exploitable au niveau du site. La médecine étant un domaine qui évolue
12
13
http://www.nlm.nih.gov/mesh/MBrowser.html
http://disc.vjf.inserm.fr:2010/basismesh/mesh.html
75
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
constamment (nouvelles maladies, nouveaux traitements…etc.), ces fichiers sont mis à jour
chaque année (nouveaux mots clés, qualificatifs, nouvelles organisations dans les hiérarchies).
D’après l’exemple de définition de la Fig.2.2, le terme associé au concept ayant l’identifiant
unique D006521 est Hépatite Chronique. Le code cat.MeSH indique à quel niveau ce concept est
situé dans la hiérarchie. On peut en déduire que Hépatite Chronique (C06.552.380.350) est
subsumé par Hépatite (C06.552.380).
Des qualificatifs peuvent être affiliés aux mots clés pour en préciser le sens en limitant leur
étendue à certains aspects. Ils sont à utiliser contextuellement. Le thesaurus MeSH comprend
84 qualificatifs dans sa version 2004. Par exemple, l'association du qualificatif diagnostic au
mot clé lombalgie (notée lombalgie/diagnostic), permet de qualifier un aspect particulier de la
lombalgie, en l'occurrence le diagnostic. La ressource qui sera indexée avec ce couple
(mot clé/qualificatif) traite donc du diagnostic de la lombalgie. Les qualificatifs sont également
organisés de manière hiérarchique, tout comme les mots clés.
2 .2 .3
La Te rm in o lo gie CISMe F
Deux niveaux conceptuels ont été ajoutés à la terminologie CISMeF dans le but d’améliorer la
recherche d’information dans le catalogue : les types de ressources et les métatermes.
2 .2 .3 .1
Le s Ty p e s d e R e s s o u r ce s
Les types de ressources sont une généralisation des types de publication de Medline et
correspondent à la nature de l'information véhiculée par la ressource. Cette liste a été créée
selon les besoins spécifiques d'un catalogue de ressources Internet en santé et est alimentée
régulièrement. A ce jour, cette liste comprend 145 types de ressources. Il existe en effet
différents types de documents présents sur Internet dans le domaine médical recensés dans le
CISMeF. De ce fait, un simple texte est différencié d'une ligne directrice de pratique médicale,
d'un cours, d'un QCM (Question au Choix Multiple) ou d'un APP (Apprentissage par
Problèmes).
Les documents recensés dans le CISMeF peuvent correspondre soit à un site dans sa
globalité, soit à un ensemble de documents publiés sur un site, soit à un document particulier.
Le "type de ressource" (TR) se définit comme la nature de l'information véhiculée par le site ou
le document. Le type de ressource est à différencier des mots clés. Ainsi, un compte-rendu de
conférence de consensus sur l'hépatite C sera indexé avec le mot clé hépatite C et le type de
ressource conférence de consensus, tandis qu'un article traitant de la méthodologie des
conférences de consensus sera indexé avec le mot clé conférence de consensus et le type de
ressource article de périodique.
Certains types de ressources peuvent être un mot clé décrivant le sujet d'une ressource (par
exemple service cardiologie hôpital), ou encore un type de ressource donnant lieu à
l'élaboration d'un répertoire (ici le répertoire des services hospitaliers en cardiologie). Dans le
thésaurus MeSH, certains mots clés correspondent à des types de ressources mais cette liste
n'est pas suffisante et ne permet pas d'apposer un type de ressource à chaque ressource. La base
de données bibliographiques Medline possède sa propre liste de "types de publication"
spécifique aux articles de périodiques scientifiques. Pour répondre aux spécificités des
ressources recensées par CISMeF, une liste de types de ressources a été créée, incluant certains
76
LE CATALOGUE CISMEF
types de publication de Medline ainsi que les mots clés MeSH utilisables. Elle est adaptée en
permanence selon les nouveaux besoins qui émergent. Ainsi, par exemple, le type de ressource
association a été créé pour permettre d'indexer les sites web d'associations médicales.
Les types de ressources sont organisés en arborescences, contrairement aux types de
publication de Medline. Par exemple, le type de ressource association généralise des types de
ressources plus précis selon la hiérarchie suivante :
association
association patients
association professionnels santé
syndicat
L'introduction du concept de types de ressource permet d'inclure un niveau de hiérarchie
supplémentaire dans le modèle du CISMeF.
2 .2 .3 .2
Le s M é t a t e r m e s
Les mots clés ont été regroupés dans CISMeF en fonction de spécialités médicales (n=66)
intitulés métatermes (Par exemple : Cardiologie). Ce sont des super-concepts qui permettent
une vision plus globale concernant une spécialité en offrant un niveau supplémentaire
d’abstraction. Les métatermes permettent en effet de connaître l’ensemble des termes MeSH qui
sont répartis dans plusieurs arborescences mais qui concernent une même spécialité. Le
thésaurus MeSH, dans sa structure d'origine, ne permet pas d'obtenir de vision globale d'une
spécialité médicale.
En effet, il existe 15 catégories concernant des notions générales. Les têtes d'arborescences
("top terms") sont organisées à plat de la façon suivante :
A - ANATOMIE
B - ORGANISMES
C - MALADIES
D - PRODUITS CHIMIQUES, BIOLOGIQUES ET PHARMACEUTIQUES
E - ÉQUIPEMENTS ET TECHNIQUES ANALYTIQUES, DIAGNOSTIQUES ET THERAPEUTIQUES
F - PSYCHIATRIE ET PSYCHOLOGIE
G - SCIENCES BIOLOGIQUES
H - SCIENCES PHYSIQUES
I - ANTHROPOLOGIE
J - TECHNOLOGIE, ALIMENTS ET BOISSONS
K - ARTS ET SCIENCES HUMAINES
L - SCIENCES INFORMATION
M - INDIVIDUS
N - SANTE (ADMINISTRATION DES SOINS)
77
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
Z - EMPLACEMENTS GEOGRAPHIQUES
Cette organisation ne permet pas d'accéder facilement à tous les mots clés concernant une
spécialité médicale ou biologique particulière. Ainsi, pour retrouver tous les mots clés
concernant la neurologie par exemple, il faut d'abord consulter l'arborescence ANATOMIE pour
obtenir les mots clés concernant l'anatomie du système nerveux, puis l'arborescence MALADIES
pour les mots clés concernant les maladies du système nerveux, l'arborescence PRODUITS
CHIMIQUES ET PHARMACEUTIQUES pour les substances utilisées en neurologie, etc… C'est un
travail laborieux, qui nécessite une connaissance approfondie du thésaurus MeSH.
Pour simplifier cet accès, le concept de "métaterme" a été créé. Les métatermes permettent
de connaître l'ensemble des termes MeSH répartis dans plusieurs arborescences mais
concernant une même spécialité biologique ou médicale. Ces liens sémantiques concernent tous
les niveaux hiérarchiques du modèle de structuration de l'information de CISMeF, c'est-à-dire
non seulement les mots clés mais aussi les qualificatifs et les types de ressources.
Ainsi, le métaterme correspondant à la spécialité médicale cancérologie est lié, notamment,
mot clé cancérogènes de l'arborescence PRODUITS CHIMIQUES, BIOLOGIQUES ET
PHARMACEUTIQUES, au mot clé tumeurs de l'arborescences MALADIES, mais aussi au qualificatif
radiothérapie, ainsi qu'au type de ressource service oncologie hôpital.
au
2 .2 .4
Le Mo d è le CISMe F p o u r la Re ch e rch e d ’In fo rm atio n
L’introduction de deux niveaux conceptuels supplémentaires par rapport au MeSH, les
métatermes et les types de ressources, permet d’exprimer des requêtes complexes dans CISMeF
comme des ‘recommandations en cardiologie’ ou encore des ‘cours en virologie’ ce qui n’est pas
possible avec la structure du MeSH et sa seule utilisation. Chaque métaterme est en association
avec une ou plusieurs arborescences de mots clés, qualificatifs et types de ressources. Par
exemple le métaterme Chirurgie, est en association avec les mots clés : complications postopératoires, le qualificatif : transplantation, et le type de ressource : chirurgie hôpital. Chaque
terme peut avoir un ensemble de synonymes. Il peut appartenir à plusieurs arborescences. Par
exemple : le terme tumeur peau sera associé aux métatermes dermatologie et cancérologie. Les
« fils » d’un terme vont dépendre de l’arborescence dans laquelle il se trouve. Un même terme
peut figurer dans les hiérarchies des mots clés, des qualificatifs ou des types de ressources. Par
exemple le terme virologie est un mot clé et un qualificatif (et c’est également un métaterme).
Un terme appartenant à un des niveaux de concept de la terminologie CISMeF, c'est-à-dire
qui est soit un métaterme (ou un synonyme de métaterme), un mot clé américain ou français (ou
un synonyme américain ou français), un qualificatif (ou un synonyme de qualificatif), ou un type
de ressource (ou un synonyme de type de ressource), est appelé "terme réservé".
Ce modèle de structuration de l'information est utilisé dans le processus mis en place pour la
recherche d'information, mais également pour la catégorisation des ressources.
78
LE CATALOGUE CISMEF
FIG.2.3.− Structure de la terminologie CISMeF (Soualmia et al., 2002)
2 .3
La Me th o d o lo gie d e Mis e à Jo u r
Pour permettre le catalogage de nouvelles ressources, une méthodologie de mise à jour et de
maintenance a été mise en place. Le catalogage des ressources s'effectue selon quatre étapes
successives : le recensement des ressources, la sélection, la description et enfin l'indexation.
2 .3 .1
Le Re ce n s e m e n t
Le recensement des nouvelles ressources est en partie automatisé, grâce à un outil de veille
qui permet de repérer les changements apparus sur une sélection de pages Web. Une veille
quotidienne est effectuée sur des annuaires pluridisciplinaires francophones tels que Yahoo,
Nomade, Toile du Québec, etc… Une veille complémentaire hebdomadaire ou mensuelle est
réalisée sur des sites producteurs d'informations de santé (ministères, universités, agences
gouvernementales, sociétés savantes…). La découverte de nouveaux documents par la
consultation des rubriques "Liens" ou "Favoris" ou par la lecture de périodiques spécialisés vient
compléter cette démarche de veille. Cette première étape de recensement des ressources inclus
un aspect plus "passif", mettant en œuvre la méthode PUSH, par le biais d'abonnements à des
services d'envoi de nouveautés gérés par les sites producteurs d'informations, ainsi qu'à des
listes de diffusion spécialisées. Ce recensement peut également s'effectuer grâce au signalement
de nouvelles ressources par les webmasters eux-mêmes.
79
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
2 .3 .2
La Sé le ctio n
L'étape de sélection permet de filtrer les sites et documents recensés lors de l'étape
précédente. Une politique de sélection a été mise en place de façon à ce que CISMeF recense en
priorité les ressources émanant de sources institutionnelles ou officielles. Cette exigence par
rapport à la source des informations est primordiale et s'avère être le principal critère de
sélection des ressources, garant de la qualité des informations véhiculées. En effet, la validité de
l'information présente sur l'Internet doit être systématiquement remise en cause. Contrairement
à l'édition papier validée par des comités de lecture de revues scientifiques, l'information
disponible sur le réseau n'a pas été évaluée dans la grande majorité des cas. Pour ces raisons,
une politique rigoureuse de sélection des ressources a été mise en place.
Plusieurs travaux ont été réalisés pour déterminer un ensemble de critères de qualité
favorisant l'évaluation de sites et documents médicaux. Le CHU de Rouen a participé au groupe
de travail français Centrale Santé, fédéré par l'École Centrale de Paris et qui a réuni médecins,
bibliothécaires médicaux, ingénieurs et juristes. Ce groupe de travail a donné lieu à l'élaboration
de la grille du NetScoring14, référentiel regroupant les critères de qualité de l'information en
santé (Darmoni et al., 1999). Le NetScoring est une grille comprenant 49 critères de qualité
regroupés en 8 classes principales : la crédibilité, le contenu, la qualité des hyperliens
(notamment avec la mesure du Web Impact Factor (Soualmia et al., 2002b) (Soualmia et al.,
2002c)), le design, l’interactivité, les aspects quantitatifs, la déontologie et l’accessibilité.
Pour sélectionner les ressources à inclure, CISMeF utilise les principaux critères de cette
grille du NetScoring. Une attention particulière est portée à l'identité de l'auteur, à sa fiabilité et
à la date de mise à jour des informations. Certaines ressources sont rejetées parce qu'elles ne
respectent pas des critères de qualité essentiels, en particulier sur le plan déontologique. Cette
étape de sélection nécessite parfois la consultation d'un expert de la discipline.
2 .3 .3
La D e s crip tio n
Chaque ressource sélectionnée est ensuite décrite à l'aide d'un certain nombre de champs
inspirés de normes de description de métadonnées. Les ressources sont également indexées en
fonction de la terminologie CISMeF. Celle-ci a été construite à partir des concepts du thésaurus
MeSH. A chaque ressource d’information de santé est associée une notice ou fiche descriptive.
Ces notices sont similaires à des «annotations». Elles permettent d’indexer les ressources
sélectionnées. Ces notices sont créées par les membres de l’équipe qui se chargent de déterminer
le contenu des champs des métadonnées (auteur, titre, contenu…etc), d’indexer les ressources
avec les termes de la terminologie CISMeF, mais aussi de décrire le contenu informationnel de
la ressource à l’aide d’un résumé (le champ contenu). Aucune modification et annotation ne sont
effectuées sur la ressource elle-même.
La politique d'indexation mise en place par l’équipe consiste à indexer les ressources avec les
mots clés les plus fins concernant le sujet traité. Ainsi, une ressource concernant la grippe sera
indexée au mot clé grippe et non pas au mot clé maladies virales qui est un terme générique du
terme grippe. Il existe un certain nombre de descripteurs obligatoires15 (appelés aussi "check
14
15
http://www.chu-rouen.fr/netscoring
http://disc.vjf.inserm.fr:2010/basismesh/m2004_lst_chtags.html
80
LE CATALOGUE CISMEF
tags") correspondant à des notions que les indexeurs doivent prendre systématiquement en
compte dès qu'elles apparaissent dans le texte d'un document. Le descripteur obligatoire doit
apparaître dans la liste des mots clés. Par ailleurs, CISMeF n'utilise que les termes qui
concernent l'être humain.
Dans de rares cas, il arrive que des ressources ne puissent pas être parfaitement indexées
avec des termes du MeSH. Un « mapping » manuel est alors effectué pour retrouver le(s)
terme(s) MeSH qui décrivent au mieux la ressource considérée. Par exemple les ressources
traitant de dysmélie (n’existant pas dans la terminologie) ont été indexées avec le terme MeSH
ectromélie.
Le niveau de finesse de l’indexation dépend également du degré d'intérêt de la ressource en
question. Ainsi, une recommandation de pratique médicale, unique sur l'Internet,
particulièrement difficile d'accès, et essentielle pour les professionnels sera indexée de façon
beaucoup plus fine qu'une association de patients contre le cancer par exemple. En moyenne,
6,7 mots clés ou couples (mots clé/qualificatif) sont utilisés. Le nombre de mots clés peut varier
d'une ressource à une autre en fonction du niveau de finesse de l'indexation décidé au départ. Le
nombre maximal de mots clés utilisés pour l'indexation d'une seule et même ressource est de
301 à ce jour. Outre les mots clés et les qualificatifs, chaque ressource est indexée avec un ou
plusieurs "types de ressources".
La notion de « Major Topics » de Medline a été adaptée dans le CISMeF. Cela a permis de
redéfinir la politique d'indexation, dans le but d'améliorer les possibilités de recherche
d'information. En effet, l'indexation ne tenait compte que des thèmes traités de manière
importante dans les documents. Chaque mot clé choisi était de facto considéré comme étant
"majeur". L'intégration de la notion de pondération des mots clés permet, au moment de
l'indexation des ressources, de déterminer si les mots clés sont majeurs ou mineurs, c'est-à-dire
si les thèmes correspondants sont traités de façon importante tout au long du document, ou si
au contraire, ils sont abordés uniquement dans une petite partie du document. Cette notion de
pondération est représentée par une étoile (*) dans les notices des ressources.
Cette notion de pondération qui existe dans Medline pour les mots clés et les qualificatifs a
été étendue, dans le CISMeF, aux types de ressources. Ainsi, par exemple, un cours comprenant
une image sera indexé aux types de ressources *cours (en majeur) et illustration médicale (en
mineur).
Nous avons (Dahamna & Soualmia, 2002) réalisé une retro-ingénierie de la structure de la
base de données relationnelle (qui ne satisfaisant aucune contrainte d’intégrité) gérée à l’époque
avec Access, vers une base de données relationnelle sous Oracle permettant ainsi des
traitements de saisie, de génération des notices et de réponse aux requêtes des utilisateurs plus
performants. La saisie de tous les champs s'effectue sous Oracle, avec un écran de saisie de
présentation Access16. A partir de cette saisie sont générées automatiquement plusieurs
ensembles descriptifs. Des notices descriptives sont créées sous différents formats, plus ou
moins longs, et le format RDF (into HTML) est utilisé pour présenter les métadonnées. L’outil
de recherche Doc’CISMeF associé au catalogue, a également été amélioré au cours de ces
dernières années pour prendre en compte les différents besoins des utilisateurs et leur
permettre une vision globale de la terminologie du domaine.
16 L’architecture du système utilise le serveur Tomcat (sous NT) qui regroupe un serveur applicatif (entre autres la saisie
des informations des notices) et un serveur Web. Tomcat dispose d’un moteur de servlets. Tout le principe de
l’interrogation du catalogue (par Doc’CISMeF) est fondé sur l’appel de servlets Java en passant en paramètre la méthode
Get.
81
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
Titre : Comparaisons internationales sur la prévention sanitaire
Au te u r( s ) : Mme Jourdain-Menninger D ; Mme Lignot-Leloup M
Site é d ite u r : Documentation Française (La)
Co n te n u : de la prévention à la promotion de la santé, une démarche partagée par la Finlande, le
Québec et le Royaume-Uni (contexte commun aux pays développés, implication croissante des
organisations internationales dans les politiques nationales de promotion de santé), méthode :
stratégie élaborée au plan national et mise en œuvre locale (…) ; 171 pages
Lan gu e : français
Pays : France
Pu blié le : 01/01/2003
Mo ts -clé s : accident travail
administration santé publique
*alcoolisme/prévention et contrôle
Allemagne
*Angleterre
*appareil cardiovasculaire, maladies/prévention et contrôle
*causes décès
communication
comportement alimentaire
*contrôle social formel
*délivrance soins
délivrance soins/organisation et administration
(…)
troubles mentaux
tumeur sein/diagnostic
tumeur sein/prévention et contrôle
*tumeurs/diagnostic
*tumeurs/prévention et contrôle
Sp é cialité s : *médecine préventive
*environnement et santé publique
*thérapeutique
*psychiatrie
*virologie
*oncologie médicale
*toxicologie
(…)
pédiatrie
Typ e ( s ) :
étude comparative
rapport technique
Tarif :
gratuit
Accè s :
libre
Fo rm at( s ) : html ; pdf
Cré atio n d e la n o tice : 07/08/2003
Co n s u ltatio n d e la re s s o u rce : 07/08/2003
U RL( s ) : http://www.ladocumentationfrancaise.fr/brp/notices/034000473.shtml
FIG.2.4.−Exemple de notice. http://doccismef.chu-rouen.fr/html/nl/12/012081.html
2 .4
Re ch e rch e d ’In fo rm atio n d an s le CISMe F
La terminologie CISMeF est utilisée dans le processus de recherche d’information. Celle-ci
peut être statique, par l’utilisation d’un index alphabétique ou thématique (en fonction des
spécialités), ou dynamique par l’intermédiaire de l’outil Doc’CISMeF.
82
LE CATALOGUE CISMEF
2 .4 .1
Accè s Statiqu e
CISMeF contient un classement alphabétique qui utilise les termes MeSH de la traduction
française du thesaurus MeSH et indique également les termes d'origine américains. Ce
classement donne accès aux mots clés, ainsi qu'aux qualificatifs et aux types de ressources
utilisés dans CISMeF. A chaque terme correspond une page HTML présentant les
caractéristiques du terme en question.
Les pages des mots clés sont particulièrement développées et mentionnent notamment les
éléments suivants :
− la définition du mot clé,
− ses synonymes,
− des renvois d'orientation,
− les arborescences auxquelles le mot clé appartient,
− des requêtes pré formatées utilisant l'outil de recherche et proposant notamment un accès
aux ressources destinées aux professionnels, aux patients ou aux étudiants,
− les notices descriptives abrégées des ressources indexées avec ce mot clé. Ces notices sont
classées par qualificatifs puis par types de ressources.
Un classement thématique propose également un accès par grandes spécialités médicales et
biologiques.
2 .4 .1.1
Le s D é fin it io n s
La traduction française du thésaurus MeSH effectuée par l'INSERM porte uniquement sur
les descripteurs, tandis que les définitions (appelées "Scope Note" par la NLM) ne sont
disponibles qu'en anglais, ce qui entraîne une difficulté supplémentaire dans la manipulation du
thésaurus. Les définitions sont extrêmement utiles aussi bien pour les indexeurs que pour les
utilisateurs. Pour les indexeurs, les définitions permettent de s'assurer que les termes
d'indexation sont utilisés de façon normalisée, et donc en cohérence d'un indexeur à un autre.
Pour les utilisateurs recherchant de l'information, les définitions aident à cerner le sens d'un
mot clé, et donc à éviter des incompréhensions pour les mots clés dont le libellé peut parfois être
imprécis ou ambigu.
Entreprendre la traduction de ces définitions est une entreprise lourde mais cependant
nécessaire à l'amélioration de l'accès au thésaurus. A ce jour, l'équipe CISMeF a traduit 2 892
définitions qui apparaissent sur les pages statiques des mots clés dans CISMeF.
83
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
FIG.2.5.−Page du mot clé hépatite.
Cela permet à l’utilisateur, lors de la consultation de la page du mot clé abêtalipoprotéinémie
par exemple, et avant de consulter les ressources concernant ce mot clé, d’accéder à la définition
indiquent que c’est une "perturbation héréditaire du métabolisme". (abêtalipoprotéinémie :
perturbation héréditaire du métabolisme lipidique caractérisée par la quasi-absence
d'apolipoprotéines B et de bêtalipoprotéines dans le plasma. La protéine microsomale de
transfert des triglycérides est déficitaire ou absente dans les entérocytes. Les résultats
cliniques et de laboratoire incluent acanthocytose, hypocholestérolémie, neuropathie
périphérique, dégénération de colonne postérieure, ataxie et stéatorrhée. Les capacités
intellectuelles peuvent aussi être diminuées).
CISMeF est non seulement un catalogue de ressources mais aussi fournisseur d'information
primaire grâce à ce travail entrepris sur les définitions du thésaurus MeSH. En priorité, le travail
s'est d'abord axé sur les définitions des mots clés ayant un libellé imprécis ou ambigu et il se
poursuit par la traduction systématique des nouveaux mots clés introduits dans CISMeF. Les
définitions des mots clés concernant la virologie sont toutes traduites.
2 .4 .1.2
Le s ‘Vo ir Au s s i’
Toujours dans le but de faciliter la recherche d'information pour l'utilisateur, il a aussi été
nécessaire d'enrichir les relations de type voir aussi entre les termes du thésaurus MeSH. Ces
"voir aussi" facilitent la navigation des pages statiques. Ils renvoient l’utilisateur vers des mots
clés appartenant à une arborescence différente, ou vers des qualificatifs, des types de ressources
84
LE CATALOGUE CISMEF
ou encore des métatermes. Par exemple, la page du mot clé diarrhée nourrisson mentionne qu'il
est aussi possible de consulter les pages des mots clés antidiarrhéiques et solutions
réhydratation. La même démarche a été entreprise concernant la mise en place de relations
d'exclusion. Ainsi, de nombreux "ne pas confondre avec…" ont été introduits.
2 .4 .1.3
Le s Ar b o r e s ce n ce s
La structure hiérarchisée du thésaurus MeSH permet, de mener une recherche par
arborescences. Le principal avantage de cette hiérarchisation des termes est effectivement la
possibilité de "naviguer" à l'intérieur des ensembles d'arborescences. La possibilité de visualiser
les arborescences permet d'affiner ou au contraire d'élargir une recherche, voire même de la
rediriger vers des termes voisins en prenant connaissance des termes génériques et/ou
spécifiques. La structure arborescente du thésaurus permet de prendre connaissance des termes
représentant les concepts d'un domaine particulier. De plus, cela permet d'avoir une approche
visuelle de la structure du thésaurus, ce qui facilite la recherche d'information. Rechercher par
arborescence permet une navigation au sein du thésaurus sans avoir une connaissance
approfondie du vocabulaire employé. On peut ainsi savoir que le mot clé virémie fait partie de
l'arborescence maladies virales et en déduire que la virémie est une maladie virale. De même on
peut déduire que l’hépatite est une maladie de l’appareil digestif.
Chaque page concernant un mot clé du thésaurus MeSH propose un accès statique aux
arborescences auxquelles celui-ci appartient. Cet accès indique les termes génériques des
arborescences et permet de déployer la totalité de l'arborescence. Par exemple, pour le mot clé
migraine, la page du mot clé indique qu'il appartient aux arborescences appareil
cardiovasculaire, maladies et système nerveux, maladies. Un clic sur appareil
cardiovasculaire permet de visualiser la totalité des termes de l'arborescence. Il s'agit
néanmoins des seuls termes MeSH utilisés dans CISMeF et non de la totalité du thésaurus.
85
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
FIG.2.6.−Arborescence Appareil Digestif, Maladies à laquelle appartient le mot clé hépatite.
2 .4 .2
Accè s D yn am iqu e
2 .4 .2 .1
La N a v ig a t io n D y n a m iq u e
Le second type d'accès possible est une navigation dynamique dans les différentes
arborescences. Ce type de présentation permet de visualiser en une seule fois les différentes
positions du mot clé au sein de toutes les arborescences auxquelles il appartient. Il permet
également de naviguer dynamiquement dans les arborescences. Ainsi, cliquer sur un autre mot
clé permet de visualiser immédiatement ces différentes positions dans les arborescences. Pour
chaque mot clé, deux liens sont proposés : un lien vers le site de PubMed (base de données
Medline) et un lien vers la page statique du mot clé dans CISMeF. Cet accès par navigation
dynamique dans les arborescences présente la liste de tous les mots clés du thésaurus MeSH, et
non plus seulement les mots clés utilisés par CISMeF.
86
LE CATALOGUE CISMEF
FIG.2.7.−Navigation au sein des arborescences du mot clé hépatite B.
Une page17 récapitule tous les termes des têtes d'arborescences (Top Terms) afin d'offrir un
accès par thèmes du MeSH. Elle propose des liens vers le déploiement des arborescences ainsi
que vers les arborescences "dynamiques" permettant de visualiser les différentes positions du
terme dans les arborescences du MeSH.
Face au nombre croissant de nouvelles ressources intégrées au catalogue (50 environ par
semaine), de simples classements alphabétique et thématique ne permettent plus de répondre
aux besoins de formulation de requêtes de plus en plus précises. Depuis juin 2000, CISMeF
dispose d'un outil de recherche associé : Doc'CISMeF qui propose des possibilités de recherche
plus étendues et plus performantes. Différents types de recherche sont disponibles : une
recherche simple, une recherche avancée, une recherche booléenne et une recherche pas-à-pas.
2 .4 .2 .2
La R e ch e r ch e Sim p le
Ce type de recherche permet de saisir un terme unique (par exemple, le terme migraine) ou
une expression (par exemple, hépatite virale humaine). De façon générale, les termes saisis
peuvent l'être en minuscules, en majuscules, accentués ou non, en français ou en anglais.
17
http://www.chu-rouen.fr/ssf/arborescences.html
87
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
FIG.2.8.−Formulaire de recherche simple.
2 .4 .2 .3
La R e ch e r ch e Av a n cé e
Afin de pouvoir mener des recherches plus pointues, le formulaire de recherche avancée
permet d'utiliser des critères de recherches plus fins. La recherche peut porter sur les champs
suivants (qui correspondent aux principaux champs des métadonnées) : auteur, cible, date de
publication, spécialité médicale, mots clés, pays, qualificatif, résumé, site éditeur, source, titre,
type de ressource, URL et ville. Il est possible de combiner les critères de recherche en utilisant
les opérateurs Booléens ET, OU, SAUF. Ces opérateurs permettent des traitements ensemblistes
des requêtes, les ensembles considérés étant les ensembles de documents indexés par les termes
des requêtes.
Des listes sont disponibles pour aider à la recherche et permettent de prendre connaissance
des termes utilisés. La liste des auteurs permet, par exemple, de connaître tous les auteurs
référencés dans le CISMeF.
88
LE CATALOGUE CISMEF
FIG.2.9.−Formulaire de recherche avancée.
2 .4 .2 .4
La R e ch e r ch e Bo o lé e n n e
La recherche booléenne est une généralisation de la recherche avancée et permet de formuler
soi-même la requête à l'aide d'un langage particulier (codes des champs et opérateurs booléens).
Ce mode de recherche a été développé pour les professionnels de l'information et leur permet de
formuler des requêtes complexes. La requête [(lombalgie.mc ET diagnostic.qu) OU 2002.an]
permet d'obtenir les ressources concernant le diagnostic de la lombalgie ou bien toutes celles
datant de l'année 2002 (lombalgie en mot clé, diagnostic en qualificatif, et 2002 en année de
publication).
Cette recherche booléenne permet l'emploi de parenthèses, pour associer différents champs,
et des caractères de troncature. Le caractère (?) permet une troncature d'une seule lettre en
début, milieu ou fin de mot. Le caractère (*) permet d'inclure une troncature de une à plusieurs
lettres. Ainsi la requête an*ie.mc inclut les mots anémie, anatomie… La requête *sang* inclut
les termes cellule sanguine, sang, maladie, etc… La syntaxe [nonexpl] permet de désactiver
l'option «explosion», et [majeur] permet de restreindre la recherche aux mots clés majeurs.
89
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
FIG.2.10.−Formulaire de recherche booléenne.
2 .4 .2 .5
La R e ch e r ch e Pa s -à -Pa s
Ce mode de recherche assiste l'utilisateur à chacune des étapes de sa démarche et
s'apparente à une décomposition de la recherche avancée. Elle est destinée aux utilisateurs
néophytes et permet, en utilisant les index proposés, d'avancer étape par étape en les reliant
avec des opérateurs booléens. L'autre avantage de ce mode de recherche est d'obtenir ainsi un
historique des requêtes et de réaliser des combinaisons entre elles.
2 .4 .2 .6
2.4.2.6.1
Op t io n s d e R e ch e r ch e
Options par Défaut
Par défaut, les résultats se présentent sous la forme de notices descriptives abrégées
comprenant : le titre, l'URL, les mots clés, les qualificatifs, le(s) type(s) de ressource et un bref
résumé du contenu. Trois autres modes d'affichage des notices sont possibles (titre uniquement,
titre et URL, et enfin titre, mots clés, type et URL). Quel que soit le mode d'affichage choisi, un
90
LE CATALOGUE CISMEF
accès aux notices complètes des ressources est toujours proposé. Le nombre de notices par page
est également paramétrable : 10, 20, 50 (choix par défaut) et 100. Les notices peuvent aussi
apparaître triées par date de publication, par ordre alphabétique des titres, par type de ressource
ou par pays et ville.
2.4.2.6.2
Option Arborescence
Doc'CISMeF permet également un accès selon les arborescences (paramètre affichage). De
cette façon, les ressources sélectionnées ainsi que les différentes positions du mot clé demandé
dans ses différentes arborescences sont présentées. Les liens vers le site de PubMed et vers les
pages statiques des mots clés de CISMeF sont également présents. Doc'CISMeF indique
également, pour chaque mot clé, le nombre de ressources disponibles. Il est à noter que cet
affichage par arborescences présente la totalité des mots clés du thésaurus MeSH.
FIG.2.11.− Affichage par arborescence pour la requête sida.
2.4.2.6.3
Option Explosion
Le principal avantage de l'utilisation d'un thésaurus réside dans l'utilisation qui peut être
faite de sa structure en arborescence dans le processus de recherche d'information et la gestion
des relations hiérarchiques entre les termes. L’explosion permet dans le processus de recherche
d’information d’étendre la recherche. Si le terme saisi fait partie de la terminologie (terme
91
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
réservé), le résultat de la recherche comprend l'ensemble des ressources indexées au terme en
question, auxquelles sont ajoutées toutes les ressources indexées aux termes plus spécifiques
(avec des liens directs et des liens indirects) dans toutes les arborescences des différentes
hiérarchies. Par exemple, si le terme saisi est embolie, les résultats proposés par Doc'CISMeF
comprendront les ressources indexées au mot clé embolie mais aussi les ressources indexées
notamment aux mots clés embolie pulmonaire, thromboembolie, embolie paradoxale, etc… En
effet, le mot clé embolie a pour termes spécifiques les termes suivants selon l'arborescence cidessous :
embolie
embolie amniotique
embolie cholestérol
cyanose orteil, syndrome
embolie gazeuse
embolie graisseuse
embolie pulmonaire
thromboembolie
embolie et thrombose intracrânienne
embolie paradoxale
Si le terme appartient à plusieurs niveaux du modèle d'information, Doc'CISMeF unifie les
résultats des explosions de tous les niveaux. Par exemple, le terme virologie est un métaterme,
un mot clé et un qualificatif et les résultats comprendront les explosions de toutes ces
arborescences.
La politique d'indexation décidée au sein de l'équipe CISMeF consiste à indexer les
ressources avec les mots clés les plus fins concernant le sujet traité. Ainsi, une recherche sans
explosion sur un mot clé particulier engendrerait du silence dans les résultats. Par exemple, une
recherche "non explosée" sur le terme maladies virales exclut les ressources concernant des
maladies virales particulières pour ne renvoyer que les ressources concernant la notion
générique de "maladies virales". Il peut être intéressant pour l'utilisateur, lorsqu'il formule une
requête, d’obtenir toutes les ressources, incluant celles indexées avec les termes spécifiques.
Cependant, en cas d’un nombre de résultats trop important, la recherche peut être restreinte
en désactivant l'option "explosion" afin d'obtenir seulement les ressources indexées
spécifiquement au terme demandé.
2.4.2.6.4
Option Majeur/Mineur
Face au nombre parfois important de résultats pour une recherche, il est important de
préciser la pertinence des résultats. Dans la base de données bibliographiques Medline, la
notion de "MeSH Major Topic" permet de réduire une recherche aux références les plus
pertinentes. La pondération des mots clés et des types de ressources permet donc d'introduire
une finesse supplémentaire au cours de la recherche d'information. La pondération permet de
limiter une recherche aux ressources où le terme MeSH recherché est le sujet principal de la
92
LE CATALOGUE CISMEF
ressource. Par défaut, les recherches sont lancées sur tous les mots clés, qu'ils soient majeurs ou
mineurs. Si le nombre de résultats est trop important, il est alors possible de restreindre les
résultats aux thèmes traités de manière prépondérante dans le document, c'est-à-dire en
menant la recherche sur les termes (mots clés et types de ressources) majeurs. Cette démarche
permet de réduire d'un peu plus de 51 % le nombre de réponses obtenues.
2 .4 .3
Le s Affiliatio n s
2 .4 .3 .1
Affilia t io n d e Qu a lifica t ifs
Le thésaurus MeSH comprend des mots clés mais aussi 84 qualificatifs qu'il est possible
d'affilier à ces mots clés. Les qualificatifs permettent de préciser le sens d'un mot clé pour en
souligner un aspect spécifique. Ainsi, le qualificatif thérapeutique affilié au mot clé tumeurs
permet d'indexer une ressource traitant des différentes thérapeutiques concernant le cancer. La
syntaxe des couples (mot clé/qualificatif) se présente comme suit : tumeurs/thérapeutique.
L'exploitation de cette caractéristique d’affiliation des qualificatifs à des mots clés, permet
d'affiner les requêtes en ciblant précisément le thème recherché.
La hiérarchisation des qualificatifs permet d'inclure l'option d'explosion. Ainsi, le qualificatif
thérapeutique, avec l'option explosion, permet de retrouver les ressources indexées aux
qualificatifs chirurgie, chimiothérapie, diétothérapie, radiothérapie, etc…
Dans le processus de recherche, les qualificatifs n’étaient pas réellement affiliés, ils étaient
‘flottants’. En effet, le traitement des requêtes ne distinguait pas le qualificatif du mot clé. Par
exemple la requête hépatite/diagnostic était traduite en la requête booléenne (hépatite.mr ET
diagnostic.mr), avec mr mot réservé, sans faire de distinction entre le mot clé diagnostic et le
qualificatif diagnostic.
Aujourd’hui, (Soualmia & Darmoni, 2004a) (Douyère et al., 2004), la requête
hépatite/diagnostic est interprétée plus précisément. La réponse à la requête regroupe tous les
documents indexés au couple. La requête est traduite en requête booléenne (hepatite.mc ET
diagnostic.qu[affilié]) avec [affilié] la contrainte d’affiliation.
2 .4 .3 .2
Affilia t io n d e Ty p e s d e R e s s o u r ce s
Dans la terminologie CISMeF, outre les mots clés et les qualificatifs qui décrivent le sujet de
la ressource, les types de ressources concernent la nature des informations véhiculées. Ce
concept s'applique à la ressource dans sa globalité et il est impossible, jusqu'à présent,
d'appliquer un type de ressource à une partie de document. Il n'est pas possible d'utiliser les
types de ressources pour spécifier un aspect particulier d'un mot clé ou d'un couple (mot
clé/qualificatif). L'objectif de l’affiliation des types de ressources est de pouvoir faire une
recherche plus précise permettant de trouver, par exemple, des images d'une pathologie
particulière. Jusqu'à présent, la pathologie était représentée par une indexation par mots clés, et
le type de la ressource concernait la ressource dans sa globalité, en ne tenant pas compte de la
présence du type d'images dans le document (thèse de Filip Florea 2003-2006 concernant
l'indexation bimodale texte-image).
93
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
91 types de ressources correspondant à des images médicales ont d'abord été créés. Cette
liste est en partie dérivée de l'arborescence du mot clé MeSH diagnostic par imagerie, et elle a
été revue et mise à jour par un expert en imagerie médicale (Soualmia et al., 2004). L'utilisation
de cette nouvelle liste de types de ressources pour l'indexation de documents médicaux
contenant des images, permet de rendre le processus d'indexation plus précis. Ainsi, par
exemple, une ressource pédagogique concernant la lithiase cholédocienne et contenant des
images échographiques de cette pathologie sera indexée avec le mot clé lithiase cholédocienne et
les types de ressources échographie et matériel enseignement. Si elle contient un paragraphe
décrivant l'échographie de la lithiase cholédocienne, la ressource sera indexée avec le mot clé
lithiase cholédocienne auquel le qualificatif échographie sera affilié (soit le couple lithiase
cholédocienne / échographie) ainsi que le seul type de ressource matériel enseignement.
La lacune de ce système est que les types de ressources se trouvent toujours être "flottants"
comme l’étaient les qualificatifs avant qu’existe la contrainte d’affiliation : ils concernent
l'ensemble des mots clés sélectionnés pour l'indexation d'une ressource, un même document
pouvant concerner plusieurs pathologies différentes, et donc être indexé avec des mots clés très
divers. Par exemple, un cours est indexé aux mots clés cardiomyopathie hypertrophique,
cardiopathie congestive et cardiomyopathie restrictive et aux types de ressource radiographie
et matériel enseignement. Le type de ressource radiographie a été choisi parce que la ressource
contient une image concernant la cardiopathie hypertrophique. Lors d'une recherche, un
utilisateur peut vouloir trouver une ressource présentant une radiographie de la cardiopathie
congestive et formuler la requête cardiopathie congestive.mc ET radiographie.tr qui renverra
notre ressource précédemment décrite, alors que l'image contenue concerne la cardiopathie
hypertrophique.
Pour affiner la procédure d'indexation et de recherche d'information, l'idéal est de pouvoir
associer un type de ressource à un mot clé ou à un couple (mot clé/qualificatif), pour ainsi
composer un triplet [(mot clé/qualificatif)\type de ressource] (Soualmia et al., 2004). Ainsi,
une ressource contenant des images radiographiques de la cardiopathie congestive sera indexée
avec le couple cardiopathie congestive/diagnostic. Si l'image permet le diagnostic de la
cardiopathie congestive, la ressource sera indexée avec le triplet [(cardiopathie
congestive/diagnostic)\radiographie]. L’extension du couple (mot clé/qualificatif) au triplet
[(mot clé/qualificatif)\type de ressource] améliore le processus de recherche d'information, la
requête "(mot clé/qualificatif) ET type de ressource" étant moins pertinente que la requête "(mot
clé/ qualificatif)\type de ressource"18.
L'ambiguïté de certaines requêtes doit être gérée. Ainsi, si un utilisateur formule la requête
diagnostic de la lithiase cholédocienne par échographie, il est impossible de savoir si
l'utilisateur souhaite un texte expliquant l'échographie dans le but du diagnostic de la lithiase
cholédocienne, s’il recherche ou une image échographique permettant le diagnostic de la lithiase
cholédocienne. Dans le doute, pour l'instant, les résultats proposés englobent pour l'instant une
union des deux, à savoir les textes explicatifs sur la technique d'imagerie ainsi que les images
elles-mêmes.
2 .4 .4
Le s Re qu ê te s Pré fo rm até e s
2 .4 .4 .1
Le s St r a t é g ie s d e R e ch e r ch e
18
la gestion des affiliations des types de ressources a été mise en ligne début Octobre 2004
94
LE CATALOGUE CISMEF
Le thesaurus MeSH ne peut prétendre à l'exhaustivité. En effet, il peut arriver qu'une notion
ne soit pas représentée en tant que telle par un mot clé MeSH. Certains outils tels que Pubmed
procèdent, lors de la saisie d'un terme quelconque dans l'interface de recherche, à un
appariement d'un terme non-MeSH avec un terme MeSH à l’aide d’une table de
correspondance.
Dans le CISMeF, des "stratégies de recherche" (n=22) (Soualmia & Darmoni, 2004)
associent plusieurs termes pour représenter un concept médical. Par exemple, la notion de
chirurgie urologique n'a pas de mot clé MeSH qui lui correspond. Si un utilisateur saisit
l'expression "chirurgie urologique" dans l'interface de recherche Doc'CISMeF, la requête
suivante est automatiquement générée : [(intervention chirurgicale.mc OU chirurgie.qu) ET
urologie.mt] signifiant que nous recherchons les ressources indexées avec le mot clé
intervention chirurgicale ou le qualificatif chirurgie, et avec un terme (mot clé, qualificatif ou
type de ressource) appartenant au métaterme urologie.
2 .4 .4 .2
CISM e F-Pa t ie n t s
CISMeF-patients (Soualmia et al., 2002)(Soualmia et al., 2002d)(Soualmia et al., 2003b),
est un sous catalogue de CISMeF. Il a été crée pour répondre à un besoin de recherche
d’information de santé pour un utilisateur lambda, comme les patients, leur famille et le grand
public. Le modèle de CISMeF est difficile à comprendre pour les non professionnels de santé. De
ce fait la recherche d’information, via CISMeF, doit être simplifiée pour ce type d’utilisateurs.
CISMeF-patients est une vue particulière sur la terminologie : elle correspond au métaterme
patient. Ce métaterme possède ses propres arborescences de mots clés. Pour permettre une
navigation plus simple, certains termes de la terminologie CISMeF (métatermes, mots clés,
qualificatifs et types de ressources) ont été synonymisés avec des termes employés de manière
plus courante. Par exemple, manie est le synonyme courant de trouble bipolaire.
CISMeF-patients comporte un index thématique de spécialités médicales. Les arborescences
sont visualisées de manière simplifiée. Le sous catalogue est composé de ressources
d’information écrites à destination des patients par des professionnels de santé, des sociétés
savantes ou des institutions médicales.
95
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
FIG.2.12.−Interface simplifiée de CISMeF-patients
Pour la recherche de ressources, des requêtes pré formatées sur Doc’CISMeF sont générées
lorsqu’un utilisateur clique sur un des mots clés de CISMeF-patients. De ce fait, l’utilisateur
n’est ni obligé de connaître le mot clé MeSH ni le moteur Doc’CISMeF. La requête
correspondante qui est lancée est : (patient.mt ET [mot clé]). Il faut noter qu’il a été difficile pour
l’équipe de choisir la requête pré formatée : l’alternative était soit une requête avec le métaterme
patient, soit une requête plus précise limitée aux types de ressources patient. Le métaterme
patient est en association avec des mots clés MeSH (exemple : éducation patient, soutien
patient, malade…) et des types de ressources (exemple : association patients, information
patient…etc).
96
LE CATALOGUE CISMEF
FIG.2.13.−Simplification d’une arborescence.
Un autre accès est possible via les périodes de la vie19. Les périodes sont : naissance, enfance,
adolescence, age adulte et 3eme âge. L’accès est plus spécifique : il permet d’obtenir directement
les ressources correspondantes par génération automatique de requête sur Doc’CISMeF. Les
requêtes générées sont les suivantes :
nouveau-né : ((nouveau-ne.mc OU nourrisson.mc) ET patient.tr) ;
enfance : ((enfant.mc OU enfant age pre-scolaire.mc) ET patient.tr) ;
adolescence : (adolescence.mc ET patient.tr) ;
age adulte : (adulte.mc ET patient.tr)
3°age : (sujet age.mc ET patient.tr).
La principale majorité des ressources à destination des patients concerne la cancérologie.
Pour indexer des ressources de ce thème, un partenariat existe avec la Ligue Nationale Contre le
Cancer (LNCC)20, une des principales associations de patients en France. La collaboration a été
bénéfique pour les deux parties : d’une part l’indexation de ressources de la ligue, et d’autre part
la détermination des synonymes utilisés dans la langue courante.
19
20
à la manière des ‘life events’ de Healthinsite http://www.healthinsite.gv.au
http://www.ligue-cancer.asso.fr
97
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
Les évolutions de CISMeF-patients se sont inspirées de Medline-plus (développé en 1998)
qui est un catalogue anglophone similaire dédié aux patients, mis en place par la NLM. Il
référence des sites de qualité concernant les maladies les plus courantes. En priorité sont
recensées les ressources de la NLM et de la NIH (Nationale Institute of Health) et les ressources
nationales des Etats-Unis. La principale différence entre Medline-plus et CISMeF patient c’est la
structure de la terminologie. En effet, CISMeF et CISMeF-patients partagent la même structure
et le même outil de recherche, alors que pour Medline-plus, une autre terminologie a été
construite.
Pour toute requête de ce type, une recherche complémentaire sur le site de Medline-plus21 est
proposée. Elle permet aux utilisateurs d'élargir leur prospection aux sites non francophones.
L’intérêt d’une seule terminologie est de pouvoir modifier la requête en modifiant le type de
ressource : par exemple enseignement ou encore ligne directrice. Ainsi, dans la même optique,
lorsqu'une requête a pour but d'obtenir des recommandations destinées aux professionnels de
santé, une recherche complémentaire est proposée vers le site de la National Guideline Clearing
House22.
FIG.2.14.−Exemple de recherches complémentaires.
CISMeF ne proposant un accès qu'à des sites et documents francophones présents sur
l'Internet, l'utilisateur peut avoir besoin de prolonger ses investigations vers d'autres types de
sites-catalogues tout en gardant la même requête. L'avantage de l'utilisation du thésaurus MeSH
21
22
http://www.nlm.nih.gov/medlineplus/medlineplus.html
http://www.guideline.gov/
98
LE CATALOGUE CISMEF
est que les requêtes formulées dans CISMeF peuvent l'être dans d'autres catalogues utilisant
aussi le thésaurus MeSH. Ainsi, pour chaque requête formulée dans CISMeF et donnant lieu à
des résultats, Doc'CISMeF propose de lancer une requête identique sur la base de données
bibliographiques Medline via le site de Pubmed23, ainsi que sur le site de la NLM Gateway24, en
adoptant automatiquement la syntaxe utilisée sur ces sites, et en utilisant le terme MeSH
correspondant en anglais. L'utilisateur peut ainsi accéder aux résultats de sa recherche dans
Medline et sur les sites de la NLM. Par exemple la requête hépatite est traduite dans la syntaxe
de Medline par hepatitis [MeSH Terms] or hepatitis [subheadings] avec hepatitis le
correspondant en anglais du terme hépatite.
2 .4 .4 .3
Le Pr o je t Co g n i-CISM e F
L’analyse des requêtes des utilisateurs n’est pas contextualisée et aucune prise en compte de
l'utilisateur n'est effectuée pour comprendre son raisonnement, son cheminement de pensée, et
analyser sa démarche lors de la formulation de sa requête. L'interaction avec l'utilisateur est une
direction à étudier pour tenter d'améliorer la recherche d'information sur l'Internet en assistant
l'utilisateur dans sa quête d'information. Pour arriver à atteindre cet objectif une solution est de
comprendre les mécanismes cognitifs sous-jacents.
Le but du projet Cogni-CISMeF25 (2004-2007) est d'étudier les processus cognitifs mis en jeu
lors de la construction d'une requête dans Doc'CISMeF afin d'intégrer un module de dialogue
avec l'utilisateur qui l'amènera à préciser sa demande, dans le but d'identifier son intention et de
la traduire en une requête utilisant la terminologie CISMeF.
L'expérimentation consiste à enregistrer des conversations téléphoniques entre un utilisateur
(médecin ou patient) et un documentaliste (expert de la terminologie CISMeF) qui amène
l'utilisateur à préciser sa demande pour construire la requête à formuler pour interroger
CISMeF de façon pertinente. Le but est d'analyser la structure des conversations téléphoniques
ainsi obtenues et d'étudier un certain nombre d'indices discursifs (vocabulaire employé,
reformulations, commentaires, hésitations, expression implicite ou explicite des intentions des
utilisateurs, protocoles et enchaînements conversationnels…) en vue de construire un profilage
des utilisateurs. Cette analyse permettra à terme de proposer un ou plusieurs modèles
computationnels afin de les implanter dans le système de recherche d'information de CISMeF.
http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed
http://gateway.nlm.nih.gov/gw/Cmd
25 Projet en collaboration avec le laboratoire PSI et financé par le CNRS dans le cadre Programme Interdisciplinaire –
"Traitement des Connaissances, Apprentissage et NTIC"
23
24
99
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
Grâce à la modélisation des interactions avec l'utilisateur, l'objectif opérationnel de ce projet
est de créer la maquette d'un module de dialogue intégré dans CISMeF, qui sera mis à la
disposition des utilisateurs sur l'Internet, si les résultats de l'évaluation du système sont
satisfaisants.
FIG.2.15.−Interface du module de Cogni-CISMeF permettant d’enregistrer les sessions sous la
forme de fichiers XML qui seront étudiés pour construire le processus cognitif mis en jeu.
2 .4 .5
Caté go ris atio n d e s D o cu m e n ts
L'évolution de la politique d'indexation vers une indexation fine a pour conséquence
l'attachement d'un nombre parfois très important de mots clés à une ressource (jusqu'à 301
mots clés pour une seule et même ressource). Ces mots clés renvoient à des notions très
spécifiques et souvent pointues. Nous avons mis en place un algorithme permettant d'obtenir
une classification intuitive présentant la liste des domaines concernés dans un document par
ordre d'importance, le but étant de dégager les principaux thèmes abordés.
L’algorithme de catégorisation se fonde sur l’expertise des documentalistes. Il utilise tous les
liens sémantiques existants entre métatermes - mots clés - qualificatifs et types de ressources
afin de dériver la liste des spécialités auxquelles appartient un document donné. La liste est
ordonnée en allant de la spécialité la plus importante à la moins importante. Un document étant
indexé par plusieurs mots clés, qualificatifs et types de ressources, plusieurs métatermes seront
déduits. De plus, un terme peut être lié à plusieurs métatermes. Tous les métatermes sont
100
LE CATALOGUE CISMEF
retenus. Par exemple, le mot clé alcoolisme permettra de faire apparaître les spécialités
psychiatrie et toxicologie, tandis que le mot clé main fera apparaître la spécialité anatomie.
TAB.2.1.−Notations utilisées dans l’algorithme SPECIALITES-DOCUMENT
MC
Ensemble des mots clés du document D : MC=∪i=1..m Mci/ Mci ∈D ;
QU
Ensemble des qualificatifs du document D : QU=∪i=1..q Qui/ Qui ∈D ;
TR
Ensemble des types de ressource du document D :TR=∪i=1..t Tri/ Tri ∈D ;
1 si majeur
; ti ∈{ MC ∪QU ∪ TR}
Majeur (ti) =
0 sinon
Spécialités_Terme (ti) = liste des spécialités d’un terme ; ti ∈{ MC ∪QU ∪ TR}
Algo rith m e SPECIALITES-DOCUMENT
En tré e : Document D ; Ensembles MC, QU et TR ;
So rtie : Liste des spécialités S = ∪i=1..k Sk ;
Chaque spécialité Sk possède deux champs : Score_Majeur et Score_mineur.
D é bu t
Po u r (i←1 ; i ≤ m ; i++) faire S ← S ∪distinct Spécialités-Terme (Mci) ;
Po u r (i←1 ; i ≤ q ; i++) faire S ← S ∪ distinct Spécialités-Terme (Qui) ;
Po u r (i←1 ; i ≤ t ; i++) faire
S ← S ∪ distinct Spécialités-Terme (Tri) ;
Po u r chaque Sn ∈ S faire Sn.Score_Majeur ← 0 ; Sn.Score_mineur ← 0 ;
Po u r chaque spécialité Sn ∈ S faire
Po u r (i←1 ; i ≤ m ; i++) faire
Si Sn ∈ Spécialités_Terme (Mci)
Si Majeur (Mci) alo rs Sn.Score_Majeur ← Sn.Score_Majeur + 1 ;
Sin o n Sn.Score_mineur ← Sn.Score_mineur + 1 ;
Fin Si
Fin Po u r
Po u r (i←1 ; i ≤ q ; i++) faire
Si Sn ∈ Spécialités_Terme (Qui)
Si Majeur (Qui) alo rs Sn.Score_Majeur ← Sn.Score_Majeur + 1 ;
Sin o n Sn.Score_mineur ← Sn.Score_mineur + 1 ;
Fin Si
Fin Po u r
Po u r (i←1 ; i ≤ t ; i++) faire
Si Sn ∈ Spécialités_Terme (Tri)
Si Majeur (Tri) alo rs Sn.Score_Majeur ← Sn.Score_Majeur + 1 ;
Sin o n Sn.Score_mineur ← Sn.Score_mineur + 1 ;
Fin Si
Fin Po u r
Re to u rn e r S ;
Fin
Une évaluation a été menée (Névéol et al., 2004) pour établir une comparaison de la
classification proposée par l'algorithme avec une classification établie manuellement par un
101
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
documentaliste de l'équipe, concernant un échantillon de 123 ressources sélectionnées au
hasard dans le corpus de documents référencés par CISMeF. Les résultats de cette évaluation
montrent un taux de précision de 80.75 % et un taux de rappel de 93.41 % (donc un bruit de
19.25 % et un silence de 6.59 %).
L'analyse des résultats permet de dégager une liste de termes de la terminologie CISMeF
pour lesquels il est nécessaire d'instaurer des liens vers des métatermes existants voire même de
créer des métatermes adaptés à cet effet. Dix-huit métatermes ont été créés à la suite de
l'analyse des résultats. Ainsi, par exemple, les mots clés voyage et médecine tropicale ne sont
liés à aucun métaterme et ne permettent donc de faire apparaître aucune spécialité médicale
dans la classification de la ressource. La conséquence directe de l'analyse de ces résultats de
l'évaluation a donc été la création du métaterme médecine tropicale. Pour tenter de réduire le
silence de l'algorithme de classification, certains manques de la terminologie CISMeF ont été
comblés en étendant sa couverture par le biais de la création de métatermes et de
l'enrichissement de métatermes existants avec de nouvelles relations avec des termes MeSH ou
des types de ressources.
FIG.2.16.−Exemple de Notice avec la classification des spécialités.
2 .5
Qu e lqu e s Pro blè m e s Re n co n tré s
L'utilisation d'une terminologie telle que celle du CISMeF est problématique lorsque
l'utilisateur n'en a pas une connaissance approfondie. En effet, les utilisateurs potentiels de
102
LE CATALOGUE CISMEF
CISMeF sont les étudiants et les professionnels mais aussi le grand public (rappelons que 40 à
45% des utilisateurs consultent les pages de CISMeF via le moteur de recherche Google). Ce type
d'utilisateurs n'ont pas l'habitude de manipuler la terminologie MeSH, même si ce thésaurus est
un des plus utilisés dans le monde professionnel médical.
La ou les requêtes saisies par l'utilisateur correspondent rarement à la formulation exacte
effectivement utilisée pour l’indexation. Nous avons analysé les logs sur le moteur Doc’CISMeF
avec le type de requête employé ainsi que le nombre de réponses obtenu entre le 15/08/2002 et
le 06/02/2003. Le nombre de requêtes logiques est important vu que toutes les requêtes
simples sont transformées en requêtes logiques explicites depuis octobre 200326. Il en ressort
que 33.5% des requêtes n’ont pas de réponse. Nous n’analyserons que les requêtes logiques et
simples car elles seules emploient des interfaces de saisie des requêtes.
TAB.2.1.−Analyse des requêtes des utilisateurs du 15/08/2002 au 6/02/2003.
Re qu ê te s
Re qu ê te s N u lle s
Typ e d e Re qu ê te
N o m bre
Po u rce n tage
N o m bre
Po u rce n tage
Avan cé e
628 018
41,24 %
143 684
28,15 %
Lo giqu e
529 876
34,80 %
252 479
49,46 %
Sim p le
362 715
23,82 %
113 209
22,18 %
Au tre s
2 167
00,14 %
1 106
00,21 %
To tal
1 522 776
510 478
Une analyse plus fine des requêtes simples nous a permis de déduire que 12.01% des
réponses sont nulles non pas parce que ce sont des requêtes erronées, mais car aucune ressource
n’est rattachée au terme réservé et à ses fils directs et indirects.
TAB.2.2.−Répartition des requêtes simples à 0 réponse.
N o m bre
Po u rce n tage
Exp re s s io n re co n n u e
13 597
12,01 %
Exp re s s io n n o n re co n n u e
99 612
87,99%
To tal
113 209
C’est donc une difficulté réelle à faire correspondre des requêtes en langage naturel aux
exigences de la terminologie. Le but est donc d'optimiser le processus de recherche
d'information, notamment par le biais de l'amélioration du traitement des requêtes, dans le but
de leur adéquation à la terminologie. Une solution peut être l’emploi de synonymes.
Dans ce contexte, (Voorhees, 1994) (Mihalcea et al., 2000) (Baziz et al., 2003) ont utilisé
WordNet pour l'expansion des requêtes en ajoutant des termes reliés sémantiquement aux
termes des requêtes d'origine. La relation sémantique de base utilisée est la synonymie. Cette
26 En 2002, les statistiques d’utilisation de CISMeF, désignaient la recherche simple comme la technique
de recherche d’information la plus employée : simple 75%, avancée 15%, booléenne 7% et pas à pas 3%.
103
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
technique nécessite de désambiguïser les termes dans les requêtes initiales. Ces auteurs
s'accordent à dire que cette méthode peut être intéressante si la désambiguïsation s'avère
performante. (Guarino et al., 1999) ont montré le rôle positif des ontologies linguistiques dans
leur système OntoSeek, pour l'expansion de requêtes sur les catalogues de produits et les pages
jaunes, en sélectionnant (manuellement) les synsets de WordNet appropriés et leurs catégories.
(Gonzalo, 1998) a proposé une méthode d’indexation des documents s'appuyant sur les
concepts d'une base de données sémantique. Elle améliore la précision de 25 %.
2 .5.1.1
Ajo u t d ’a u t r e s Ty p e s d e Sy n o n y m e s
Le thésaurus MeSH étant un produit américain, les synonymes créés ne sont pas toujours
appropriés et adaptés au vocabulaire couramment employé en français. Ainsi, par exemple,
selon le thésaurus MeSH, le mot clé encéphalopathie bovine spongiforme a pour synonyme
MeSH uniquement encéphalopathie spongiforme bovine. Le synonyme CISMeF27 vache folle a
été ajouté à la terminologie. De même que daltonisme est le synonyme d’achromatopsie ou
encore fausse couche est le synonyme d’avortement spontané.
A ce jour, 1702 synonymes de mots clés ont été créés. Cette opération a été possible grâce à
l’analyse des requêtes fréquentes des utilisateurs qui restaient sans réponse. Un partenariat a
été mis en place avec l'INSERM pour prévoir l'introduction éventuelle de ses synonymes dans la
version française du thésaurus MeSH, dans le cadre du projet VUMeF (Vocabulaire Unifié
Médical Français), un projet initié dans le cadre du RNTS (Réseau National des Technologies
pour la Santé) (Darmoni et al., 2003b). Il existe également des synonymes pour les qualificatifs.
Par exemple, pour le qualificatif thérapeutique, le synonyme traitement a été créé. A ce jour, 6
synonymes de qualificatifs sont présents dans la terminologie CISMeF. Ces nouvelles relations
de synonymie permettent d'élargir les possibilités au niveau de la recherche d'information en
augmentant la pertinence des résultats lors de l'utilisation de l'interface de recherche de
Doc'CISMeF.
2 .5.1.2
U t ilis a t io n d e Co n n a is s a n ce s
Nous avons constaté dans des travaux récents (Soualmia & Darmoni, 2004b) (Soualmia &
Darmoni, 2004c) que l’utilisation conjointe de connaissances morphologiques et de
connaissances découvertes à partir des documents de la base de données du CISMeF permettent
de corriger mais également de préciser et d’étendre les requêtes des utilisateurs. Le détail de nos
approches fait l’objet des Chapitres 3 et 4.
B IBLIOGRAPH IE
(Baker, 2000) T. BAKER (2000). A Grammar of Dublin Core. Digital-Library Magazine, vol 6 n°10.
(Baziz et al., 2003) BAZIZ M., AUSSENAC-GILLES N., BOUGHANEM M. (2003) Exploitation des Liens
Sémantiques pour l’Expansion de Requêtes dans un Système de Recherche d'Information. Congrès
INFORSID 2003.
27
synonymes créés par l'équipe CISMeF et utilisables uniquement dans le catalogue
104
LE CATALOGUE CISMEF
(Dahamna & Soualmia, 2002) DAHAMNA B., SOUALMIA LF. (2002) Spécifications formelles du système
d’information de CISMeF. Rapport interne.
(Darmoni et al., 1999) DARMONI SJ., LEROUX V., THIRION B., SANTAMARIA P., GEA M. (1999) Netscoring :
critères de qualité de l'information de santé sur Internet. Les enjeux des industries du savoir, pp. 29-44.
(Darmoni et al., 2001) DARMONI, SJ., THIRION, B., LEROY, JP., DOUYERE, M., LACOSTE, B., GODARD, G.,
RIGOLLE I., BRISOU, M., VIDEAU, S., GOUPY, E., PIOT, J., QUERE, M., OUAZIR, S. AND ABDULRAB, H. (2001). A
Search Tool based on ‘Encapsulated’ MeSH Thesaurus to Retrieve Quality Health Resources on the
Internet. Medical Informatics & the Internet in Medicine, 26 (3) :165-178.
(Darmoni et al., 2003 a) DARMONI SJ., AMSALLEM E., HAUGH MC. LUKACS B., CHALHOUB C., LEROY JP.
(2003) Level of evidence as a future gold standard for the content quality of health resources on the
Internet. Methods of Information in Medicine, 2003, vol.42, n°3, pp.200-225.
(Darmoni et al., 2003 b) DARMONI SJ, JAROUSSE E, ZWEIGENBAUM P ET AL. (2003) VuMeF : extending the
French involvement in the UMLS Methathesaurus : AMIA 2003, pp.824.
(Douyère et al., 2004) DOUYÈRE M., SOUALMIA LF., NÉVÉOL A., ROGOZAN A., DAHAMNA B., LEROY JP.,
THIRION B., DARMONI SJ. (2004) Enhancing the MeSH thesaurus to retrieve French online health resources
in a quality-controlled gateway. Health Information and Libraries Journal 2004; in press.
(Gonzalo, 1998) GONZALO J., VERDEJO F., CHUGUR I., CIGARRAN J. (1998) Indexing with Wordnet synsets can
improve text retrieval. COLING/ACL '98 Workshop on Usage of WordNet for NLP, pp.38-44.
(Guarino et al., 1999) GUARINO N., MASOLO C., VETERE G. (1999) OntoSeek : content-based access to the
Web. IEEE Intelligent Systems.
(Moldovan & Mihalcea, 2000) MOLDOVAN DI., MIHALCEA R.(2000) Improving the search on the Internet
by using WordNet and lexical operators. IEEE Inter. Comp. 4(1) 34-43.
(Névéol et al., 2004) NÉVÉOL A., SOUALMIA LF., DOUYÈRE M., ROGOZAN A., THIRION B., DARMONI SJ. (2004)
Using CISMeF MeSH Encapsulated Terminology and a Categorization Algorithm for Health Resources.
International Journal of Medical Informatics, Volume 73 Issue 1. pp 57-64.
(Soualmia & Darmoni 2003 a) SOUALMIA LF., DARMONI SJ. (2003) Une Terminologie Orientée Ontologie
pour la Recherche d'Information sur la Toile. Journées Francophones de la Toile, pp. 185-194.
(Soualmia et al., 2003 b) SOUALMIA LF., DARMONI SJ., THIRION B., DOUYÈRE M. (2003 b) Modelisation of
Health Consumer Information in a Quality -Controlled Gateway. MIE, Medical Informatics Europe,
pp.701-706.
(Soualmia & Darmoni 2004 b) SOUALMIA LF., DARMONI SJ. (2004) Correcting and Refining Users Queries:
the Contribution of Morphological Knowledge and Association rules. Information Processing and
Management of Uncertainty in Knowledge-Based Systems, IPMU’2004, pp 2059-2066.
(Soualmia & Darmoni 2004 c) SOUALMIA LF., DARMONI SJ. (2004) Combining Knowledge-based Methods
to Refine and Expand Queries in Medicine. FQAS’2004, Flexible Query Answering Systems. Lectures
Notes in Artificial Intelligence # 3055 ; pp 243-255.
(Soualmia & Darmoni, 2004 a) SOUALMIA LF., DARMONI SJ. (2004 a) Coupling Different Standards and
Different Approaches for Health Information Retrieval in a Quality-Controlled Gateway. International
Journal of Medical Informatics ; à paraître.
(Soualmia et al., 2002 a) SOUALMIA LF., BARRY-GRÉBOVAL C., ABDULRAB H., DARMONI SJ. (2002 a)
Modélisation et représentation des connaissances dans un catalogue de santé. Journées Francophones
d'Ingénierie des Connaissances, pp 139-149.
(Soualmia et al., 2002 b) SOUALMIA LF., DARMONI SJ., LE DUFF F., DOUYÈRE M., THELWALL M. (2002 b) Web
Impact Factor: a bibliometric criterion applied to medical informatics societies Web sites. In: Proceedings
of the International Congress of the European Federation for Medical Informatics, Stud Health Technol
Inform. 90; pp 178-183
(Soualmia et al, 2002 c) DOUYERE M., SOUALMIA LF., LE DUFF F., THELWALL M., DARMONI SJ. (2002 c) Web
Impact Factor : un outil bibliométrique appliqué aux sites Web des facultés de médecine et des CHU
français. In : L'informatique de la santé dans les soins intégrés : connaissances, application, évaluation.
Actes des 9emes Journées Francophones d'Informatique Médicale, SoQibs, 2003(16); pp 496
105
CHAPITRE 2 : RECHERCHE DE DOCUMENTS EN SANTE
(Soualmia et al., 2002 d) SOUALMIA LF., DARMONI SJ., THIRION B., DOUYÈRE M. (2002 d) "Modelization of
Consumer Health Information in a Quality-Controlled Subject Gateway"; American Medical Informatics
Association Symposium. pp.1168
(Soualmia et al., 2004) SOUALMIA LF., FLOREA FI., NÉVÉOL A., ROGOZAN A., THIRION B., DACHER JN.,
DARMONI SJ. (2004) Affiliation of a resource type to a MeSH keyword in the CISMeF health Internet
gateway. Soumis à Journal of Medical Libraries Association.
(Thirion et al., 2004) THIRION B., DOUYÈRE M., SOUALMIA LF., DAHAMNA B., LEROY JP., DARMONI SJ. (2004)
Metadata element sets in the CISMeF Quality-Controlled Health Gateway. DC-2004, International
Conference on Dublin Core and Metadata Applications; in press.
(Voorhees, 1994) VOORHEES E. (1994) Query expansion using lexical-semantic relations. Proceedings of the
17th Annual International ACM/SIGIR Conference on Research and Development in Information
Retrieval, pp.61-69.
106
CHAPITRE 3
TRAITEMENTS LINGUISTIQUES :
DE LA CHAINE DE CARACTERES A LA REQUETE
So m m aire
3.1 INTRODUCTION
109
3.2 PROBLEMES LIES AU TRAITEMENT DE LA LANGUE......................................................111
3.3 LE TRAITEMENT MORPHOLOGIQUE ............................................................................... 113
3.3.1 LE MODELE MORPHOLOGIQUE ....................................................................................... 114
3.3.2 APPLICATION DE LA MORPHOLOGIE A LA RECHERCHE D’INFORMATION ........................... 117
3.4 ACQUISITION DE RESSOURCES LINGUISTIQUES .......................................................... 118
3.4.1 LOGICIELS D’ACQUISITION DE TERMINOLOGIE ................................................................. 118
3.4.2 ACQUISITION DE CONNAISSANCES MORPHOLOGIQUES .................................................... 119
3.4.3 DOMAINE MEDICAL ....................................................................................................... 120
3.4.3.1 METHODE D’ACQUISITION DE RESSOURCES MORPHOLOGIQUES....................................... 121
3.4.3.2 LE PROJET UMLF .................................................................................................122
3.5 ACQUISITION DE CONNAISSANCES MORPHOLOGIQUES POUR LE MESH FRANÇAIS
3.5.1 DESCRIPTION DE ‘LEXIQUE’.............................................................................................123
3.5.2 CONSTITUTION ET EVALUATION DES FAMILLES EXTRAITES ..............................................124
3.6 TRAITEMENTS LINGUISTIQUES POUR LA RECHERCHE D’INFORMATION...............127
3.6.1 UTILISATION DE CONNAISSANCES MORPHOLOGIQUES .....................................................127
3.6.1.1 TRAVAUX INITIATEURS ........................................................................................... 128
3.6.1.2 ETUDE DU VOCABULAIRE DES UTILISATEURS .............................................................. 128
3.6.1.3 EXPERIENCES AVEC DES RESSOURCES ADAPTEES AU VOCABULAIRE ................................. 130
3.6.2 RESULTATS ....................................................................................................................132
3.6.2.1 DESCRIPTION DES REQUETES ...................................................................................132
3.6.2.2 RESULTATS AVEC LES UNITERMES .............................................................................132
3.6.2.3 RESULTATS AVEC LES TERMES COMPOSES ...................................................................133
3.6.3 EXPERIENCES DE PHONEMISATION ................................................................................133
3.6.3.1 TRAVAUX ANTERIEURS : SOUNDEX / SOUNDEX 2 / PHONEX...........................................134
3.6.3.2 PHONEMISATION DE TERMES MEDICAUX ....................................................................135
3.6.3.3 APPLICATION A LA RECONNAISSANCE DE TERMES ........................................................ 138
3.6.4 CORRECTION ORTHOGRAPHIQUE ..................................................................................139
107
3.6.4.1 ALGORITHME ....................................................................................................139
3.6.4.2 EVALUATION DES RESULTATS .............................................................................. 140
3.7 TRAITEMENTS EN LIGNE ................................................................................................... 141
3.7.1 APPARIEMENT A BASE DE CONNAISSANCES MORPHOLOGIQUES ........................................ 141
3.7.2 AUTRES TRAITEMENTS ...................................................................................................142
108
Dans ce Chapitre 3 nous énumérons les problèmes liés au traitement
linguistique pour la recherche d’information. Nous expliquons pourquoi
nous avons choisi d’utiliser en premier lieu des connaissances sur les
variations terminologiques afin d’apparier et d’étendre des requêtes à un
vocabulaire contrôlé. Ce travail fait suite à de nombreuses
expérimentations qui ont montré que les connaissances morphologiques
étaient prépondérantes en matière de recherche d’information. Nous
décrivons quelques travaux récents connus en la matière pour l’acquisition
de telles connaissances et également pour la recherche d’information. Nous
détaillons enfin les différents traitements que nous proposons d’effectuer
afin de traduire la requête initiale d’un utilisateur, qui est assimilable à une
chaîne de caractères, en une requête finale exploitable par tout système de
recherche d’information.
3 .1
In tro d u ctio n
Le traitement automatique du langage naturel (TALN) est le domaine de l’ingénierie
linguistique et a comme objectif la conception de logiciels ou de programmes, capables de traiter
de façon automatique des données linguistiques. Ces données peuvent être des textes écrits ou
bien des dialogues oraux ou encore des unités linguistiques comme des phrases, des énoncés,
des groupes de mots ou simplement des mots. Il permet d’analyser et de représenter des
données textuelles à un ou plusieurs niveaux de compréhension (morphologique, syntaxique,
etc.). Nous donnons ci-après les définitions des notions que nous manipulons dans ce chapitre.
D é fin itio n 3 .1 (TERME)
C’est une unité signifiante constituée d’un mot (terme simple ou uni-terme) de
plusieurs mots (terme complexe ou terme composé) et qui désigne une notion de
façon univoque dans un domaine de connaissance donné.
D é fin itio n 3 .2 (MORPHEME)
C’est la plus petite unité supportant une signification. C’est un composant
indivisible d’un terme qui ne peut plus être réduit sans perdre sa signification. Un
morphème peut se trouver libre (racine) ou lié (affixe).
D é fin itio n 3 .3 (MOT VIDE)
Un mot vide est un mot ayant un faible ou pas de contenu informatif, comme les
déterminants.
Il existe six niveaux de compréhension de la langue pour l’analyse linguistique (Jouis, 1993)
(Arampatzis et al., 2000) (Amar, 2000) (De Saussure, 1972) :
109
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
– Le n iv e a u p h o n o lo g iq u e :
La phonétique est l’étude des sons du langage humain. Ce niveau fait référence à la façon dont
les mots sont prononcés. Il est important pour la compréhension du langage oral notamment et
dans les systèmes de reconnaissance vocale. A ce niveau, la plus petite unité de traitement est le
phonème.
– Le n iv e a u m o r p h o lo g iq u e :
L’analyse morphologique permet de traiter les variations des mots du texte en prenant en
compte leurs formes fléchies et leurs variations apparentes. La méthode consiste, soit à créer des
dictionnaires de mots avec leurs formes fléchies, soit à créer un ensemble de règles
morphologiques qui pourront dériver toutes les formes fléchies à partir des formes canoniques
des mots contenus dans un dictionnaire. L’unité minimale d’une forme signifiante est le
morphème.
– Le n iv e a u le xica l :
L’analyse lexicale permet de rechercher l’existence des mots et des expressions du texte dans
un dictionnaire linguistique. Elle permet également de confirmer ou d’infirmer l’existence des
morphèmes identifiés par l’analyse morphologique. Par opposition aux morphèmes, le lexème
désigne un mot canonisé et signifiant.
– Le n iv e a u s y n t a xiq u e :
Un analyseur syntaxique analyse dans un premier temps les groupes de mots des phrases qui
forment des unités fonctionnelles (principalement les syntagmes) et génère dans un deuxième
temps un arbre syntaxique de la phrase. Une des difficultés de l’analyse syntaxique est la
détection de syntagmes nominaux ou encore la désambiguïsation syntaxique d’un mot.
– Le n iv e a u s é m a n t iq u e :
L’analyse sémantique est l’étude du sens et son objectif est de déterminer le sens des mots et
des phrases.
– Le n iv e a u d is cu r s if :
Le niveau discursif exploite la structure documentaire des différents types de documents et
des requêtes en vue d’une extraction de thème(s).
– Le n iv e a u p r a g m a t iq u e :
L’analyse pragmatique permet d’utiliser les connaissances pragmatiques (par exemple les
connaissances communes d’un domaine) afin d’interpréter les situations du monde réel.
110
Le TALN peut être intégré à un ou plusieurs modules d’un SRI dans le but d’augmenter les
performances de ce dernier. Ces performances peuvent être quantitatives ou qualitatives. Les
performances quantitatives sont exprimées généralement par les mesures de rappel et de
précision (§ Chapitre 1). Les études qualitatives quant à elles s’expriment souvent par une
évaluation subjective qui est effectuée en parallèle de l’étude quantitative. Elle est généralement
réalisée manuellement par un linguiste ou par un expert du domaine considéré.
Parmi les traitements linguistiques qui nous intéressent, nous détaillerons les approches que
nous avons mises en œuvre et évaluées dans un système de recherche documentaire,
notamment l’utilisation de connaissances morphologiques (spécifiquement la dérivation et la
flexion), mais également l’utilisation d’une approche fondée sur les phonèmes qui permet
d’effectuer une correction orthographique pondérée des requêtes des utilisateurs. Nos travaux
font suite à (Zweigenbaum et al., 2001a) (Zweigenbaum et al., 2001b) que nous détaillerons en
section 2.6.1.1. Nous considérons dans toute cette étude que nous sommes dans un domaine
donné, notamment celui de la médecine et en particulier dans le contexte du système CISMeF
qui dispose d’un vocabulaire contrôlé fondé sur la version en français du thésaurus MeSH. Les
problèmes de polysémie ne seront pas abordés. L’approche que nous proposons ici peut en
revanche s’adapter à d’autres domaines.
3 .2
Pro blè m e s Lié s au Traite m e n t d e la Lan gu e
La plupart des SRI actuels se basent toujours sur l’hypothèse initiale qu’un document doit
partager les termes d’une requête pour être identifié comme pertinent (Gaussier et al, 2000).
De nombreux travaux ont été menés sur la variation terminologique. Elle consiste à identifier
des expressions différentes de notions identiques ou proches. Cette identification peut se faire à
l’aide de traitements au niveau des lettres (Lovis & Baud, 2000)(fautes de frappe, majuscules,
accents), au niveau des mots et de leurs variantes morphologiques (McCray, 1994) (Lovis et al.,
1998) (Jacquemin & Tzoukermann, 1999), au niveau de la syntaxe des expressions (Jacquemin
& Tzoukermann, 1999) ou en s’aidant de synonymes généraux (Hamon et al., 1998) ou
spécifiques à un domaine comme le domaine médical (Pouliquen et al., 2002), mais également
utiliser des méthodes de correction phonémiques visant à corriger un mot en conservant sa
prononciation.
Par ailleurs, dès l’origine, il a été proposé un minimum de traitements linguistiques simples
dans un SRI qui se limitent à la troncature des mots et à l’élimination des mots vides. Ces
traitements sont toujours appliqués car ils sont faciles à mettre en œuvre. Afin d’associer les
mots de la requête de l’utilisateur avec des mots différents mais de sens voisin présents dans les
textes, une méthode consiste à doter le système de recherche d’un réseau lexical de mots ou de
termes décrivant le domaine visé ou encore d’une base de connaissances. Le système peut
exploiter ce réseau pour préciser la requête de l’utilisateur quand celle-ci contient des mots
polysémiques ou pour l’étendre en cas de synonymie par l’ajout de termes jugés voisins vis-à-vis
du domaine de recherche. Les techniques employées pour la construction de ce type de réseau
reposent sur des mesures de cooccurrences statistiques dans les documents et n’exploitent
aucune information linguistique tels que la variation morphologique, lexicale, syntaxique ou
sémantique (Jacquemin, 1997a) (Chevallet & Haddad, 2001).
111
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
Les SRI doivent faire face à de nombreuses difficultés qui concernent le traitement de la
langue (De Loupy, 2000) :
– La g r a p h ie :
Un mot peut s'écrire de plusieurs façons ou comporter des fautes de frappe ou d'orthographe
ou s’écrire en majuscules. Cela diminue le rappel car si un mot est orthographié d’une certaine
façon dans la requête, la simple recherche de ce mot ne permet pas de retrouver les documents
qui le contiennent, ou bien qui sont indexés avec, mais sous une autre forme. La recherche
systématique des variantes d'un mot (en utilisant les techniques propres aux correcteurs
orthographiques, basées sur les phénomènes d’inversion, de répétition, de dédoublement, de
phonétique, etc.) peut dans certains cas diminuer la précision. En effet, ce n'est pas parce qu'un
mot inconnu est proche d'un autre mot, qu'il a forcément été mal orthographié.
– Le s v a r ia n t e s g r a m m a t ica le s :
Une même forme peut être un verbe ou un adjectif. Identifier le terme en tant qu’adjectif
dans une requête permet d'écarter les textes dans lesquels il apparaît en tant que verbe. Il y a
donc diminution du bruit et augmentation de la précision (Losee, 1996).
– Le s v a r ia t io n s m o r p h o lo g iq u e s :
Les pluriels, les conjugaisons diminuent le rappel. Par exemple, il faut pouvoir retrouver la
forme chevaux si la requête comporte le terme cheval. En revanche, la prise en compte des
variations morphologiques peut impliquer une légère baisse de la précision (Krovetz, 1993)
(Riloff, 1995).
– Le s e xp r e s s io n s co m p o s é e s :
Dans les domaines spécialisés comme celui de la médecine, l’information pertinente est
souvent contenue dans les groupes nominaux (par exemple accident cérébral, rupture
d’anévrysme). De plus, le nombre de mots composés, pour le français, est largement supérieur à
celui des mots simples (Royauté et al., 1992). Les termes composés permettent généralement de
limiter l’ambiguïté et d’augmenter la précision (Faraj et al, 1996).
– La s y n o n y m ie :
Par exemple globule rouge et hématie sont des termes synonymes. Lorsqu'une recherche est
faite sur un terme comme globule rouge, il faut pouvoir retrouver des textes utilisant ses
synonymes. Ce phénomène est également lié à la polysémie. En effet, il faut déterminer le sens
dans lequel le mot est employé avant de rechercher ses synonymes (à l’aide d’un thesaurus). Par
exemple, si l’on ne détermine pas le sens du terme circulation dans l’expression « circulation
sanguine », le risque est d’enrichir la requête avec des termes comme « trafic », synonyme de
« circulation », et donc d’augmenter considérablement le bruit.
112
– L’h y p o n y m ie ( r e la t io n p è r e / fils ) :
Cette relation d’hyponymie (par exemple entre cellule et cellule sanguine) peut s’avérer très
intéressante. En effet, si l’on recherche les textes concernant les cellules, il convient de savoir
qu’une cellule sanguine est une cellule.
– La p o ly s é m ie :
Un terme ou une expression peut avoir plusieurs sens en fonction des contextes dans
lesquels on le retrouve.
– La t e r m in o lo g ie :
Il est plus pertinent d’utiliser des connaissances spécifiques au domaine ciblé, plutôt que des
données généralistes. Cependant, cela suppose de disposer d'un lexique spécialisé pour le
domaine traité ou encore d’un thésaurus.
En résumé, les éléments présentés ici montrent qu’il est difficile de gérer la langue naturelle
dans un système automatique de recherche d’information. En effet, les utilisateurs peuvent
exprimer de multiples manières une même idée. Cependant, en l’absence d’une connaissance
approfondie de la collection de documents (situation relativement fréquente) l’utilisateur risque
de formuler sa requête en des termes proches mais non identiques à ceux employés dans un
document sur le même sujet.
3 .3
Le Traite m e n t Mo rp h o lo giqu e
Les connaissances morphologiques sont intrinsèquement liées au traitement du langage et à
la recherche d’information (Grabar, 2004). Un programme de morphologie permet en général
le découpage du mot en morphèmes et la génération de ses flexions à partir d'un mot lemmatisé.
On distingue traditionnellement trois types de variations morphologiques : la flexion, la
dérivation et la composition.
D é fin itio n 3 .4 (LA FLEXION)
La flexion permet de créer les différentes formes d’un même mot comme les
pluriels, les féminins ou encore les différentes formes d’un verbe en fonction de la
personne ou du temps. Par exemple : cœur/cœurs.
D é fin itio n 3 .5 (LA DERIVATION)
La dérivation ajoute des affixes (préfixes ou suffixes) autour d’une racine pour
obtenir par exemple la forme adjectivale d’un nom. Par exemple :
cœur/cardiaque.
113
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
D é fin itio n 2 .6 (COMPOSITION)
La composition permet de combiner plusieurs racines. Par exemple : cardiovasculaire.
Dans le cadre de la recherche documentaire, le courant le plus répandu et le plus simple à
mettre en oeuvre consiste à créer un lexique qui contient une grande liste de mots accompagnés
de toutes leurs flexions, sans associer les différents types d'informations linguistiques
(morphologiques, syntaxiques ou sémantiques). Cette approche nécessite néanmoins une mise
jour fastidieuse compte tenu de la masse d'informations concernée.
3 .3 .1
Le Mo d è le Mo rp h o lo giqu e
Un modèle morphologique permet d’effectuer les deux tâches d’analyse et de génération.
L’analyse consiste à identifier les différents morphèmes qui composent les mots. La génération
consiste à produire les formes correctes des mots à partir des différents morphèmes.
TAB.3.1.−Liste lexicale associant les formes des mots et leurs bases ainsi que les informations
morphosyntaxiques.
Fo rm e flé ch ie
Bas e
Caté go rie
Mo rp h .
Chiens
Chien
N
Mp
Portes
Porte
N
Fp
Cheval
N
Mp
Chevaux
Le traitement morphologique à l’aide de listes lexicales est très simple à mettre en oeuvre
mais il ne permet pas de créer automatiquement les formes fléchies de nouvelles entrées. Cette
organisation sous forme de tables est mal adaptée à la dérivation qui, contrairement à la flexion,
permet de créer un ensemble de formes quasi infini qu’il est difficile de lister de façon
exhaustive.
Un mot pouvant revêtir différentes formes au sein des différentes unités documentaires
(adjectif, verbe…), la lemmatisation tend à les regrouper sous un même radical (forme neutre
d’un mot). La racinisation vise à regrouper des mots de même famille afin de réduire la
variabilité des formes sous lesquelles peut apparaître une notion donnée. Les méthodes de
lemmatisation les plus courantes sont la troncature et l’extraction de radicaux par l’utilisation de
règles. Le principe de la troncature consiste à ne conserver qu’un nombre fixe de caractères des
termes. Une troncature à 7 caractères est communément effectuée pour le français (SouléDupuy, 1990). L’algorithme de Porter (Porter, 1980) qui fonctionne par règles est utilisé pour
l’anglais.
Un lexique peut être spécifié de manière statique par une liste explicite de formes fléchies et
de mots dérivés. Celle-ci peut être validée par des humains et peut permettre un temps de
traitement plus rapide (accès direct dans une table). La spécification dynamique d’un lexique se
fait par des règles et des outils de décomposition de mots. Les règles appliquées dynamiquement
par des outils d’analyse morphologique peuvent traiter des mots inconnus et réduire les besoins
en mémoire. Il existe des méthodes utilisant des règles générales complétées par des listes
114
d’exceptions (Mc Cray et al., 1994) (Namer, 2000). La compilation de listes de mots sous forme
d’automates (Silberztein, 1993) (Lovis et al., 1998) est une autre méthode générale.
/aux(nom) → /al(nom)
/e(verbe_1) → /er(verbe)
/eait(verbe_1) → /er(verbe)
FIG.3.1−Exemple de règles.
(Gaussier, 1999) construit une procédure de racinisation qui permet de regrouper des
variantes dérivationnelles (de plusieurs langues). Cette procédure ne fournit pas une racine pour
chaque mot mais un représentant choisi de façon arbitraire de la famille à laquelle appartient un
mot. Ainsi l’ensemble des mots produit, produire, production, producteur, productif,
productivité, productivisme, productible se trouve dans la même famille avec pour représentant
produit.
La méthode à base de règles consiste à définir un ensemble de règles qui décrivent la
morphologie flexionnelle du langage. La régularité de la structure interne des mots y est décrite
à l'aide d’automates à états finis, qui définissent les chaînes acceptables de morphèmes ou de
segments du langage étudié. Un automate à états finis est un système qui possède un nombre
fini d’états avec des règles de transition pour passer d’un état à un autre. Pour le décrire, il peut
être représenté à l’aide d’un graphe étiqueté où les états correspondent aux nœuds du graphe,
les transitions aux arcs qui relient ces nœuds et les évènements qui déclenchent ces transitions à
des étiquettes placées sur les arcs.
Les automates à états finis ont prouvé leur utilité dans une large variété d’applications en
informatique linguistique entre autres pour la représentation compacte des dictionnaires
électroniques (Revuz, 1991). Ils sont à la base d’algorithmes efficaces à toutes les étapes du
traitement des langues naturelles, de l’analyse phonologique et la reconnaissance de la parole
(Mohri, 1997) jusqu’à l’analyse syntaxique de texte (Roche & Schabes, 1997). Les logiciels
INTEX (Silberztein, 1993) et Unitex (Paumier, 2003), et les bibliothèques de manipulation
d’expressions régulières et d’automates finis de Xerox (Karttunen et al., 1997) et AT&T (Mohri
et al., 2000) sont fondés sur des automates à états finis. Les corpus de texte sont représentés par
des automates, ou treillis de mots, dans lesquels chaque chemin correspond à une analyse
lexicale. Les grammaires locales (Nakamura, 2003), qui sont un moyen naturel de représenter
des phénomènes linguistiques complexes, sont traduites en automates finis afin d’être aisément
confrontées avec les corpus de texte.
Dans le cas de la morphologie, à chaque transition correspond un segment de mots et des
algorithmes permettent de générer les chaînes du langage, en commençant par l'état initial et en
concaténant au fur et à mesure les segments qui figurent sur les transitions.
115
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
FIG.3.2.−Machine à états finis pour un exemple de la morphologie anglaise : hospital+ize+ation.
L'automate peut être utilisé en génération pour énumérer toutes les formes possibles ou bien
en reconnaissance pour accepter les formes qui font partie du lexique et rejeter les autres
formes. Certains états sont optionnellement finaux. L'automate peut être augmenté
d'informations morphologiques de façon à servir pour les traitements nécessaires en analyse et
en génération. L'automate peut également être généré à partir d’une la table lexicale. Cette
équivalence est vraie que dans la mesure où l'automate ne comporte pas de boucles, sinon le
nombre de chemins devient infini et cette même information ne peut plus être représentée dans
une table. Ce gain d'expressivité peut être exploité pour traiter la dérivation qui, contrairement à
la flexion, qui ne permet que des combinaisons limitées, elle se caractérise par la possibilité de
combiner préfixes et suffixes de façon très libre et non limitée.
La morphologie à états finis décrite ne permet pas de représenter les phénomènes morphophonologiques qui interviennent lors de la concaténation de morphèmes. Par exemple le pluriel
de cheval est chevaux et nécessite la transformation du l en u. Le formalisme morphologique à
deux niveaux (Koskenniemi, 1983) a été développé pour représenter ces modifications
systématiques.
Les modèles de linguistique computationnelle comme la morphologie à deux niveaux a formé
la base pour des descriptions du langage général majoritairement acquis manuellement.
FIG.3.3.− Un transducteur à états finis qui accepte: x:x +:e s:s
Le premier symbole correspond au niveau lexical composé de morphèmes mis bout à bout et
le second correspond au niveau de surface composé de la forme orthographique finale du mot. Il
y a une distinction entre les mots de surface, tels qu'ils apparaissent dans les textes et les mots
lexicaux, qui proviennent de la concaténation des segments contenus dans le dictionnaire. Si le
dictionnaire contient par exemple les deux morphèmes fox et +s, foxes est une forme de surface,
tandis que fox+x est une forme lexicale qui provient de la concaténation des deux morphèmes
fox et +s (FIG.3.3). L'automate permet de faire le lien entre le niveau lexical et celui de surface.
Lors de son parcours, deux symboles sont vérifiés en même temps. Avec ce type d'automate, le
traitement des modifications phonétiques est moins contraignant et il est possible de rendre
compte des différentes modifications comme les substitutions et les suppressions.
116
3 .3 .2
Ap p licatio n d e la Mo rp h o lo gie à la Re ch e rch e d ’In fo rm atio n
Le regroupement par lemmatisation ou racinisation, permet de retrouver des unités
documentaires même si les termes de la requête n’ont pas la même forme que dans les unités
documentaires. En effet, comme une requête peut employer des mots proches mais non
nécessairement identiques à ceux des documents, la prise en compte de proximités
morphologiques entre mots peut permettre d’obtenir de meilleurs résultats. En recherche
d’information (Tzoukermann et al., 1997) (Gaussier et al., 2000) (Zweigenbaum et al., 2001a)
(Zweigenbaum et al., 2001b), le but est de pouvoir étendre une requête à d’autres termes que
celui fourni par l’utilisateur : les membres de sa famille dérivationnelle sont une piste possible, à
condition qu’ils en soient suffisamment « proches » sémantiquement. Cela peut également se
faire par extension de requête en ajoutant des formes fléchies ou des formes dérivées aux mots
de la requête. Par exemple, la notion de produire peut se retrouver sous les formes produisons,
produira, produisent…etc. Cette notion peut également apparaître sous la forme de production.
Le premier ensemble de formes relève de la morphologie flexionnelle et concerne directement la
lemmatisation. Le deuxième ensemble relève de la morphologie dérivationnelle et requiert des
traitements spécifiques. (Hull, 1996)(Gaussier et al., 2000) ont évalué l’influence de la
racinisation sur les performances d’un système de recherche d’information et ont abouti à la
conclusion que la racinisation ne fournissait pas d’amélioration substantielle des résultats. Par
ailleurs, l’apport de traitements morphologiques en recherche d’information en langue française
a été mis en évidence dans plusieurs travaux récents (Grabar et al., 2003) (Zweigenbaum et al.,
2002)(Gaussier et al., 2000) (Savoy, 2002). L’observation générale est que la lemmatisation
apporte une amélioration statistiquement significative et que la racinisation apporte une
contribution supplémentaire, mais non significative.
L’étude de la similarité des distributions statistiques de mots en corpus peut aider à identifier
des mots de sens proche. La base de données morphologiques CELEX (Burnage, 1990) a été
utilisée avec succès en recherche d’information (Jing & Tzoukerman, 1999). La méthode
détermine une équivalence sémantique entre termes en recherche d’information. Elle intègre la
racinisation et la recherche fondée sur la sémantique. L’algorithme proposé est constitué des
étapes suivantes :
1.
Construction de bases de données morphologiques en utilisant CELEX,
2. Pour chacun des mots du document calculer un vecteur de contexte,
3. Pour chaque couple de mots du corpus calculer leur cooccurrence lexicale dans le corpus
et leur pertinence dans le corpus,
4. Indexation du corpus,
5. Pour chaque requête et chaque document :
a.
Calculer la distance moyenne en contexte entre le vecteur contexte d’un mot de
la requête et les vecteurs de ses variantes morphologiques dans le document. Si
cette distance moyenne est supérieure à un seuil donné : considérer les deux
mots comme le même terme. Sinon, les deux mots sont des termes différents.
b. Calculer la similarité entre la requête et le document.
L’utilisation de cette technique a montré des améliorations en recherche d’information sur le
corpus TREC-4.
117
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
Les ressources de langue générale demeurent peu nombreuses pour le français et difficiles à
acquérir.
3 .4
Acqu is itio n d e Re s s o u rce s Lin gu is tiqu e s
Les outils de gestion de l’information ont besoin de ressources terminologiques. Les termes
représentant les concepts principaux d’un domaine technique ou scientifique, ils facilitent la
gestion et la représentation de la connaissance en fournissant une description abrégée des
documents (Daille & Jacquemin, 1998).
Les ressources terminologiques sont construites pour un domaine donné et pour une
application identifiée. Les ressources terminologiques sont nécessaires pour garantir l’efficacité
du système de recherche d’information l’acquisition de ressources terminologiqiues exploite le
corpus de documents disponibles pour l’application. Alors que les recherches d’associations
entre mots avaient surtout été appliquées à la construction automatique de thésaurus pour la
recherche d’information, elles ont été étendues à l’acquisition de données lexicales ou de
familles morphologiques (Xu & Croft, 1998).
Des outils d’analyse existent avec la connaissance flexionnelle correspondante (INTEX
(Silberztein, 1993), FLEMM (Namer, 2000)). En revanche, aucune description de la
morphologie dérivationnelle et compositionnelle du français n’est disponible. Des méthodes
automatisées pour l’apprentissage des variantes morphologiques ont été développées afin
conçues pour rassembler des ressources pour la recherche d’information ou pour les systèmes
de traitement du langage naturel. Des ressources dérivationnelles commencent à être
constituées (Jacquemin, 1997b) (Xu & Croft, 1998) (Dal et al., 1999) (Gaussier, 1999) (Daille,
1999) (Grabar & Zweigenbaum, 2000) (Hathout, 2001) (Hathout et al., 2001) (Hathout et al.,
2002) (Tanguy & Hathout, 2002) (Namer, 2002).
L’acquisition de ressources linguistiques peut se faire à partir de corpus ou à base de
connaissances.
3 .4 .1
Lo gicie ls d ’Acqu is itio n d e Te rm in o lo gie
L’acquisition et la construction de ressources terminologiques ont certaines caractéristiques.
La tâche d’analyse terminologique vise à construire une description des structures lexicales à
l’œuvre dans une corpus textuel de référence. Cette tâche est réalisée par un expert du domaine
et un analyste. La constitution du corpus de référence se fait par la collection d’un ensemble de
textes jugés pertinents vis-à-vis du domaine de l’application. Grâce au développement du Web,
l’accessibilité à des corpus spécialisés est plus grande et facilite ainsi l’acquisition de
terminologie.
TERMINO (David & Plante, 1990a) (David & Plante, 1990b) est un des premiers progiciels
d’acquisition de terminologie. Il effectue une analyse morpho-syntaxique du corpus fourni en
entrée et repère des candidats termes (des mots ou des des séquences de mots) qui sont
susceptibles d’être retenus comme termes par l’expert.
118
Les logiciels d’acquisition ANA, ACABIT et LEXTER sont relatifs à la langue française. ANA
(Enguehard, 1992) (Enguehard & Pantera, 1995) a été développé pour l’enrichissement de
réseaux lexicaux exploités par un système de gestion des connaissances. ANA extrait les
candidats termes sans effectuer d’analyse linguistique. Les termes sont reconnus au moyen
d’égalités approximatives entre mots et d’une observation de répétitions de patrons syntaxiques.
ACABIT (Daille, 1999) a été développé pour la construction de lexiques terminologiques
multilingues. ACABIT extrait des candidats termes à partir d’un corpus préalablement étiqueté et
désambiguïsé. Il combine des traitements linguistiques et statistiques. L’exploitation des liens
formes adjectivales et formes nominales permet d’augmenter les variantes prises en compte par
ACABIT et d’améliorer le regroupement des termes en utilisant des liens morphologiques.
LEXTER extrait également des candidats termes à partir d’un corpus préalablement étiqueté et
désambiguïsé (Bourigault, 1994) (Bourigault & Jacquemin, 1996). Il effectue une analyse
syntaxique de surface dédiée au repérage et à l’analyse des syntagmes nominaux et organise
l’ensemble des candidats termes extraits sous la forme d’un réseau.
On peut également citer l’outil FASTR qui est un analyseur syntaxique dédié à la
reconnaissance en corpus de termes appartenant à une liste contrôlée fournie au système
(Jacquemin, 1997b) (Jacquemin, 1999). Les termes n’ayant pas toujours en corpus la même
forme linguistique, l’idée est de pouvoir identifier leurs variantes. FASTR est doté d’un ensemble
élaboré de méta-règles qui lui permettent de répérer différents types de variation : les variantes
syntaxiques, les variantes morpho-syntaxiques et sémantico-syntaxiques.
3 .4 .2
Acqu is itio n d e Co n n ais s an ce s Mo rp h o lo giqu e s
Il existe deux approches pour le traitement automatique de la dérivation : les traitements
basés sur dictionnaires et les traitements basés sur règles. Les traitements à base de
connaissances ont pour objectif principal la recherche d’information. (Savoy, 1993) décrit un
système complet qui propose une racine et effectue l’analyse flexionnelle et dérivationnelle de
mots non étiquetés reçus en entrée. L’approche est basée sur la consultation d’un dictionnaire et
les opérations de lemmatisation et de racinisation sont réalisées en une seule étape.
Les modèles à base de règles se fondent sur le modèle de la morphologie à deux niveaux
(Sproat, 1992), (Fradin, 1994). (Clémenceau, 1992) implémente des automates à états finis
(Roche & Schabes, 1997). (Clavier, 1996) utilise des grammaires régulières pour analyser
récursivement des mots suffixés à l’aide d’un lexique fortement structuré. Les méthodes à base
de connaissances (Lovis et al., 1998) (Namer, 2000) supposent disponibles des connaissances à
priori et les appliquent à une source donnée. Par exemple, le lemmatiseur FLEMM représente des
connaissances linguistiques sur le calcul du lemme (forme non fléchie, e.g., abdominal) d’une
forme fléchie d’un mot (e.g., féminin pluriel abdominales).
Par ailleurs, les méthodes de découverte comme celles de (Xu & Croft, 1998) (Jacquemin,
1997a) supposent que peu de connaissances sont disponibles, et mettent en jeu des processus
d’apprentissage. Par exemple, (Zweigenbaum & Grabar, 1999) détectent des mots dérivés en
relation avec des mots de base (par exemple l’adjectif abdominal avec le nom abdomen).
L’objectif du projet FRANLEX (Dal et al, 1999) est de construire semi-automatiquement une
base de données morphologiques associant à chaque unité lexicale construite du français une
description structurelle. Dans ce travail, sont examinés les mots construits par les suffixations
par -able et -ité du français. Ce travail met en œuvre deux approches pour le traitement
119
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
automatique de la morphologie : des traitements à base de corpus avec l’analyseur DéCor et des
traitements à base de connaissances avec l’analyseur DériF.
Le programme DériF effectue l’analyse dérivationnelle d’un mot étiqueté, au moyen d’un
ensemble de règles, d’une liste d’exceptions non productives et du lexique TLFnome, qui est
également utilisé comme corpus d’entrée. Les règles (i) découpent le mot selon sa suffixation
(préfixation), (ii) représentent, dans un format crocheté la portée de l’affixe analysé sur le reste
du mot, et (iii) rassemblent, au fur et à mesure de l’analyse du mot, les unités calculées en une
famille. Dans sa version actuelle, DériF analyse les suffixes -able, -ité, -et(te), ainsi que quelques
allomorphes du préfixe in-. Le programme analyse récursivement un mot jusqu’à l’obtention
d’une unité lexicale indivisible.
DéCor permet de construire à partir du lexique TLFnome un graphe orienté et valué dont les
noeuds sont des lemmes, et dont les arcs relient les dérivés à leur base. Chaque arc porte deux
valeurs : les règles de préfixation et de suffixation qui ont permis de produire le dérivé à partir
de sa base. Les règles ont été apprises à partir des corpus de mots et le lexique est construit de
façon semi-automatique. L'option retenue consiste à dissocier totalement l'analyse des dérivés
et la validation manuelle des résultats qui peut ainsi être réalisée de façon autonome. De ce fait,
seuls les mots attestés dans le lexique de référence sont pris en compte.
L’objectif du projet MorTAL (Hathout et al., 2002) est de construire de manière automatique
une base morphologique pour le français général. La méthode permet d’extraire
automatiquement un lexique à partir d’un dictionnaire de synonymes et de construire
automatiquement des liens morphologiques. Aucune connaissance linguistique n’est mise en
œuvre, et elle est indépendante des langues. Elle est également indépendante des dictionnaires
particuliers. (Hamon et al. 1999) se servent des renvois synonymiques du Robert pour enrichir
la structure d’un thésaurus. Le système développé par (Zweigenbaum & Grabar, 1999)
fonctionne par suppression/ajout de suffixes puis apprentissage, en vue de la construction d’une
base de données morphologiques à partir de la nomenclature médicale SNOMED.
Les travaux de (Klavans et al., 1997) (Woods, 2000) sont destinés à l’extension de requêtes
en Recherche d’Information à l’aide de variantes morphologiques de termes complexes. Aucune
information linguistique n’est mise en oeuvre. (Jacquemin, 1997a) utilise une liste de termes et
un corpus pour déterminer des variantes morphologiques pour les termes complexes de la liste.
L’hypothèse initiale est que lorsque deux termes co-occurrents d’un corpus sont similaires (en
partageant en commun un suffixe) aux mots d’un terme de référence, ils peuvent être
morphologiquement et sémantiquement reliés. Cette méthode permet de trouver par exemple la
relation entre ‘expression de gène’ et ‘expression génique’ où ‘gène’ et ‘génique’ sont reliés.
(Xu & Croft, 1998) recherchent des mots co-occurrents dans un corpus. Les auteurs se basent
sur des statistiques d’information mutuelle afin de sélectionner les mots morphologiquement
similaires qui pourraient être des variantes morphologiques. La méthode fonctionne sans
terminologie ni règles a priori. Elle approxime la notion de continuité thématique à l’aide d’une
fenêtre glissante de N mots. Les mots du corpus sont réduits par le raciniseur de (Porter, 1980).
Deux mots racinisés à la même forme réduite et qui co-occurrent significativement (variante de
l’information mutuelle) sont considérés comme faisant partie de la même classe d’équivalence
morphologique.
3 .4 .3
D o m ain e Mé d ical
120
Relier les formes fléchies et les mots dérivés à leurs mots de base (abdominaux – abdominal,
diabétique – diabète), accroît la puissance et la souplesse de l’appariement de termes (Grabar,
2004). Cela peut également améliorer la recherche d’information, en particulier pour les
langues morphologiquement riches comme le français.
3 .4 .3 .1
M é t h o d e d ’Acq u is it io n d e R e s s o u r ce s M o r p h o lo g iq u e s
Le « Specialist Lexicon » de l’UMLS fournit des données et des outils pour la morphologie
flexionnelle et dérivationnelle de l’anglais médical (McCray et al., 1994).
Le but de (Zweigenbaum & Grabar, 1999) est de construire une base de connaissances
morphologiques à partir du microglossaire médical SNODEM (Côté, 1996) et de la Classification
Internationale des Maladies CIM-10 (OMS, 1993) dans l’objectif d’étendre des requêtes par mots
clés. Ces ressources sont structurées et comportent des indications sémantiques comme la
relation de synonymie. La flexion, la composition ou la dérivation ne sont pas distinguées. Le
principe fondateur de la méthode est de (i) repérer des mots proches par la graphie et qui (ii)
possèdent des liens sémantiques. La méthode de (Xu & Croft, 1998) procède de même, en
raffinant le premier critère grâce au raciniseur de (Porter, 1980). Dans une terminologie
structurée, ce principe a été adapté en repérant (i) des mots qui partagent la même chaîne de
caractères initiale et qui (ii) figurent dans des termes reliés par des liens sémantiques.
Les familles sont dérivées à partir de couples de synonymes qui ont en commun la même
chaîne de caractères initiale de 3 caractères afin d’avoir moins de risques de trouver des couples
de termes qui ne soient pas sémantiquement reliés. A partir des familles, des règles de
génération sont déduites (566 règles à partir des 755 familles). Ces règles ont été ensuite
appliquées à la CIM-10 et 1 304 nouvelles familles ont été obtenues. Ces familles ont été
appliquées à 220 requêtes et ils ont observé une augmentation du rappel de 12% et une
diminution de la précision de 2.5%. Les principaux problèmes remarqués sont dus aux suffixes
présents. Par ailleurs, ce même travail a permis de découvrir 92% des formes fléchies et 79% des
formes dérivées existantes dans l’UMLS pour l’anglais.
La taille nécessairement finie des terminologies disponibles limite le vocabulaire et la
variation morphologique qui y sont effectivement présents. Le même travail a été réalisé à partir
de la CIM-10 et de la SNOMED Internationale dans (Grabar & Zweigenbaum, 2000). Cette
extraction automatique repose sur les relations sémantiques entre termes comme la synonymie
mais ici la notion de lien hiérarchique est également employée. Par exemple, la nomenclature
SNOMED indique que sinusite est une sorte de maladie du sinus paranasal les mots {sinus,
sinusite} sont alors en relation morphologique et la règle de substitution de suffixes -/ite est
déduite et peut s’appliquer sur d’autres couples de mots attestés du domaine. Appliquée à ces
terminologies, cette méthode génère très peu de bruit (3 à 5 %). Le même type de données a été
obtenu sous forme lemmatisée (par FLEMM (Namer, 2000)) et étiquetée : 2 906 couples
correspondant à 1 224 lemmes différents et à 4 125 formes en tout. Pour les ressources
dérivationnelles, les 1 910 couples lemmatisés et étiquetés minimaux obtenus dans (Grabar &
Zweigenbaum, 2000) ont été filtrés et lemmatisés (2 988 lemmes différents). Pour séparer
dérivation et composition ces couples ont été divisés en deux ensembles selon les deux
catégories syntaxiques en présence : catégories différentes (plutôt dérivation) vs catégories
identiques (plutôt composition savante). Cette division a été ajustée manuellement et 1024
121
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
couples dérivationnels (794 familles) relatifs à 1 759 lemmes ont été collectés. L’union des
couples flexionnels et dérivationnels constitue 1 600 familles et 5 462 formes.
3 .4 .3 .2
Le Pr o je t U M LF
Pour le français, des ressources lexicales existent, mais sont incomplètes et dispersées dans
plusieurs équipes. Par exemple, des lexiques français ont été préparés pour divers projets de
traitement automatique de la langue médicale (Baud et al., 1992) (Menelas, 1994) (Lovis et al.,
1998) (Bodenreider & Mc Cray, 1998) (Zweigenbaum, 2001) et incluent des ressources
morphosyntaxiques. Des méthodes ont été conçues pour apprendre des ressources lexicales à
partir de terminologies (Baud et al., 1997) (Grabar & Zweigenbaum, 2000), et à partir de
corpus (Zweigenbaum et al., 2003) (Zweigenbaum & Grabar, 2003). L’objectif du travail
(Zweigenbaum et al., 2004) est de rassembler et d’unifier ces ressources sous la forme d’une
Union de Lexiques Médicaux Francophones (UMLF)28 et des corpus diversifiés représentant des
spécialités médicales, en compilant des vocabulaires médicaux contrôlés tels que les thésaurus
et les classifications comme la CIM-10.
Une entrée dans le lexique associe des informations à un mot (lexème). Les termes
complexes peuvent également être des entrées. Deux types d’entrées supplémentaires sont
cconsidérés : des affixes (-al, -ique, de-, in, hyper-, trans-, brady-) et des éléments de
composition « liés » (adéno-, myo-, -carde), qui ne peuvent apparaître seuls, mais constituent
des éléments de base dans la formation de mots. Le lexique UMLF vise à associer à chaque mot
des informations catégorielles (nom, adjectif, etc.) et morphosyntaxiques (genre, nombre, etc.).
Chaque forme fléchie sera liée à sa ou ses formes canoniques et chaque mot dérivé à son mot de
base.
L’étape initiale dans la compilation d’un lexique consiste à collecter des listes de mots à
partir d’échantillons représentatifs de langue médicale. A partir des terminologies et des corpus
médicaux on obtient des formes (potentiellement fléchies) de mots plutôt que des lemmes non
fléchis. La collecte de 2 338 pages web indexées par CISMeF sous le terme MeSH « Signes et
symptômes, états pathologiques », complétées par leurs voisins immédiats sur le Web (les
pages situées un lien en dessous de chaque page), au total 9 787 pages ont été converties en texte
brut. Le corpus a été étiqueté avec TreeTagger (Schmid, 1994) et le lemmatiseur FLEMM
(Namer, 2000) donnant 5 204 901 occurrences de mots (180 000 formes différentes et 142 000
lemmes différents). Les mots pleins sont au nombre de 2 055 419. Après filtrage des mots
contenant des caractères non-alphanumériques il reste 2 041 627 occurrences (54 324 lemmes
différents).
Afin de relier deux termes en corpus, les liens sémantiques vont s’appuyer sur la notion de
continuité thématique du texte. Cette continuité se traduit généralement par des liens
thématiques lexicaux (redondance lexicale). Ces liens thématiques peuvent être instanciés par
des mots d’une même famille morphologique. La proximité morphologique entre deux mots leur
est donnée par le raciniseur de (Porter, 1980). La méthode de (Xu & Croft, 1998) est également
reprise ici avec une réduction aux 4 premiers caractères du mot. Les mots qui partagent la
même chaîne de caractères initiale de longueur > 5 et qui se trouvent souvent dans une même
fenêtre de M mots sont recensés.
Projet subventionné par le ministère français pour la Recherche et l’Enseignement Supérieur (ACI UMLF,
subvention #02C0163, 2002–2004). CISMeF est fournisseur de corpus.
28
122
La deuxième étape consiste à repérer les couples (nom, adjectif) dérivés par suffixation. Pour
ce faire, des tests sont réalisés sur les couples. La dérivation ajoute un suffixe. Le système
élimine un dérivé qui dépasse de plus de 5 lettres le mot de base. Un autre critère est appliqué
ensuite : si plusieurs adjectifs sont proposés pour le même nom, celui correspondant à la règle
d’application la plus fréquente est conservé. La force d’association est prise en considération
pour départager deux couples produits par des règles de fréquence identique, mais également
pour conserver les couples produits par une règle de faible fréquence mais ayant une forte
association (seuil=50).
La méthode proposée repère un grand nombre de couples en relations morphologique, dont
une part importante est correcte. Sur un échantillon de noms d’anatomie, dans une tâche de
recherche d’adjectifs dérivés la précision est de 85 à 91 %. La proportion de noms pour lesquels
un adjectif dérivé est trouvé est de 32 à 34 %.
3 .5
Acqu is itio n d e Co n n ais s an ce s Mo rp h o lo giqu e s p o u r
le Me SH fran çais
Dans le système CISMeF, le vocabulaire utilisé est le MeSH français. Les familles obtenues
dans (Grabar & Zweigenbaum, 2000) permettent de couvrir 707 unitermes (894 couples) du
vocabulaire CISMeF avec une précision de 100%. Afin de construire une base de connaissances
morphologiques relatives au CISMeF, nous avons utilisé un lexique du domaine général
Lexique29 (New et al., 2001) (New et al., 2005).
3 .5.1
D e s crip tio n d e ‘Le xiqu e ’
Le but de Lexique est de fournir une base de données lexicale avec des estimations de
fréquences et comprenant des formes fléchies. Sa construction a été initiée suite aux travaux de
(Content et al., 1990) qui ont développé Brulex, une base de données informatisée regroupant
les 35 746 entrées lexicales du Petit Robert et leurs fréquences selon le Trésor de la Langue
Française (Imbs, 1971). Les fréquences de Brulex sont estimées sur un corpus de textes
littéraires datant de 1919 à 1964 et comprenant 26 millions de mots mais des formes fléchies
telles que les verbes conjugués ou certaines formes écrites plurielles ou féminines y sont
absentes. NOVLEX, une base de données plus récente (Lambert & Chesnet, 2001), fournit les
formes fléchies mais se fonde sur un corpus spécialisé de textes pour enfants de 417 000 mots.
La base initiale des mots de Lexique a été constituée de textes publiés entre 1950 et
2000 sélectionnés dans la base Frantext30, développée par l'ATILF31. Une liste de 246 000 items
distincts (termes simples) ainsi que leur fréquence ont été extraits. Après filtrage des signes de
ponctuation, des abréviations des mots étrangers et des noms propres, une liste de 130 000
items ayant des formes orthographiques distinctes.
Les fréquences sont calculées en fonction du corpus initial de Frantext, et en fonction du
nombre exact de pages Web françaises contenant un mot donné, calculé à partir du moteur de
http://www.lexique.org
Cette base regroupe 3 200 textes représentatifs du français des XIXe et XXe siècles
31 http://www.atilf.fr/
29
30
123
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
recherche FastSearch32. Pour obtenir la catégorie grammaticale, le genre, le nombre et le lemme
des mots qui représentent toute une famille de formes apparentées les deux lemmatiseurs Tree
Tagger (Schmid, 1994) et Flemm 2.0 (Namer, 2000) ont été utilisés.
Etant donné le grand nombre d'informations disponibles, la base est divisée en trois tables
principales. Celle qui nous intéresse est Lemmes : une base organisée à partir des lemmes qui
comprend environ 54 000 entrées (la forme "infinitif" pour les verbes ; la forme "masculin
singulier" pour les participes passés, adjectifs et noms). Celle-ci est triée par ordre alphabétique
et les différentes formes fléchies sont séparées par des ‘ ;’.
3 .5.2
Co n s titu tio n e t Eva lu atio n d e s Fam ille s Extraite s
Afin de constituer des familles relatives au vocabulaire que nous avons à notre disposition, la
première étape a consisté à rassembler les différents lemmes qui peuvent faire partie de la
même famille morphologique d’un radical. Nous considérons que les termes font partie de la
même famille si un même terme est une forme fléchie de deux lemmes différents. Les autres
conditions sont que ces lemmes partagent la même chaîne de caractères initiale de 5 caractères
et qu’ils sont à un niveau +/- 2 avant ou après le terme dans la table Lemme. Toutes les formes
fléchies ainsi que leurs lemmes sont récupérés pour former une même famille. Cela nous a
également permis par effet de bord de récupérer les formes adjectivales des lemmes. Par
exemple, abdominale est une forme fléchie d’abdominal mais en même temps une dérivation
d’abdomen.
Afin d’associer les différentes familles aux termes de notre terminologie, nous avons d’abord
considéré les unitermes. Nous n’avons traité que les termes qui ont en commun au moins 5
caractères en début de chaîne. De ce fait nous excluons de notre étude tous les termes de moins
de 5 caractères du vocabulaire de CISMeF comme par exemple sang, os, nez, sida, mais
également toutes les abréviations bcg, hiv, irm… (96 unitermes soit 0,95% du total).
Pour faciliter l’accès aux données qui seront exploitées pendant le processus de recherche
d’information, nous avons créé une table avec un enregistrement pour chaque couple (mot du
vocabulaire ; mot dérivé) avec mot dérivé désignant un terme de la famille précédemment
constituée. Les termes du vocabulaire peuvent se trouver initialement dans une forme fléchie :
par exemple accidents est un terme du vocabulaire. Le représentant de la famille est le terme du
vocabulaire qu’il soit ou non sous sa forme fléchie ou dérivée. De ce fait, parmi les couples
répertoriés, nous trouverons de « vrais » dérivés, mais également des mots d’une même famille
morphologique (articulation/articulaire).
Par ailleurs, une liste de mots vides a pu être constituée à partir de Lexique. Les mots vides
considérés sont tous les adjectifs possessifs (mon), les conjonctions (mais), les déterminants
(du), les interjections (diantre), les prépositions (durant), les pronoms personnels (il), les
pronoms possessifs (leur) et les pronoms relationnels (auquel) ainsi que les symboles et les
locutions (ainsi). Nous avons déterminé ainsi une liste de 1 422 mots vides. Ce nombre est élevé
vu que des termes comme boum, bye, bravo ou encore sniff sont considérés comme vides.
La première étape de génération des familles (Soualmia & Darmoni, 2003a) (Soualmia &
Darmoni 2003b) d’unitermes nous a permis de constituer 2 883 familles (sur 3 485) soit
82.73% du total.
32
http://www.alltheweb.com
124
Afin de compléter nos données, nous avons considéré dans une seconde étape tous les termes
complexes. Notre méthode consiste à traiter séparément chaque segment d’un terme composé et
de retrouver les familles de chaque segment (Soualmia & Darmoni, 2004a) (Soualmia &
Darmoni, 2004b).
TAB.3.2.− Couverture du vocabulaire.
N o m bre
To tal
%
1-m o t
2 883
3 485
82,73%
2 -m o ts
4 160
4 242
98,07%
3 -m o ts
1 540
1 573
97,90%
4 -m o ts
477
480
99,38%
5-m o ts
134
134
100%
6 -m o ts e t + ( 12 )
48
48
100%
9 242
9 962
92,77%
To tal
Couverture du vocabulaire
4500
4000
3500
3000
2500
2000
1500
1000
500
0
1-mot
2-mots
3-mots
4-mots
5-mots
6 et +
FIG.3.4.− Couverture du vocabulaire CISMeF en fonction de la structure des termes.
La qualité des termes dérivés extraits automatiquement peut être évaluée en utilisant les
deux mesures classiques que sont la Précision et le Rappel.
Pr écision =
Mots − Correctement − Fléchis − et − Dérivés
Mots − Fléchis − et − Dérivés
125
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
Rappel =
Mots − Correctement − Fléchis − et − Dérivés
Mots − à − Dériver − et − à − Fléchir
Les résultats obtenus avec ces deux mesures peuvent être visualisés à l’aide de deux types de
courbes : les courbes d’élévation pour la précision et les courbes ROC (Reciever Operating
Characteristic) pour le rappel. Les courbes d’élévation consistent à donner la variation de la
précision en fonction du nombre de termes trouvés par notre méthode. Les courbes ROC
introduites permettent de visualiser le rappel des termes corrects relativement au rapport des
termes incorrects. Le pourcentage de termes négatifs ou incorrects identifiés par le système est
indiqué en abscisse et l’axe des ordonnées correspond au pourcentage de termes corrects
(rappel).
Pour évaluer la qualité des familles de termes extraites, nous n’avons utilisé que la précision.
Ce choix est contraint par le fait que notre approche est non supervisée et il est impossible
d’avoir la liste des termes dérivés et fléchis de manière exhaustive. De plus, étant donné le
nombre élevé de familles à évaluer, nous avons choisi d’évaluer un échantillon de chaque type de
famille (uniterme, 2-mots, …etc.) avec un intervalle de confiance de 95,5%.
Pour un échantillon de taille N, l’intervalle de confiance IC à 95.5% est défini par :
IC = ±2
p×q
N
Avec : p pourcentage de la caractéristique au sein de l’échantillon et q = 100 – p.
Dans notre cas p correspond au nombre de familles de l’échantillon qui sont correctes. Nous
ne calculons pas la précision moyenne. En effet, dans une même famille, il peut y avoir des mots
qui sont de vrais dérivés ou flexions et des faux dérivés ou flexions. On considère qu’une famille
est correcte si tous les mots qu’elle contient sont de vraies flexions ou de vraies dérivations. Les
résultats obtenus sont dans le tableau suivant :
TAB.3.4.− Evaluation de la précision des familles de termes obtenues.
Ech an tillo n
Co rre ct
Pré cis io n ± IC
1-m o t
282
262
0,93 ± 0,03
2 -m o ts
326
267
0,82 ± 0,04
3 -m o ts
150
112
0,75 ± 0,07
4 -m o ts
50
46
0,92 ± 0,07
5-m o ts
50
48
0,95 ± 0,05
6 -m o ts e t + ( 12 )
48*
47
0,98
* ici la taille de l’échantillon est la même que celle de l’ensemble
Cette méthode nous permet par exemple d’obtenir les familles suivantes :
Famille (Accidents) = {accident, accidenté, accidentées, accidentel, accidentels, accidentelle,
accidentelles, accidentellement, accidenter…}
Famille (Abdomen) = {abdominal, abdominale, abdominales, abdominaux}
126
Famille (Genou) ={genou, genoux, genouillère, genouillères}
Famille (Albinisme Oculaire) = {albinisme, albinismes, albinos, oculaire, oculaires}
Famille (Accident Circulation) = Famille (Accident) + {circulant, circulants, circulantes,
circulations, circulatoire, circulatoires, circuler…}
Famille (Infection Chirurgicale) = {infecte, infectant, infectes, infectants, infecter, infectant,
infectantes, infections, infectieux, infectieuse, infectieuses} + {chirurgicale, chirurgicales,
chirurgical, chirurgicaux, chirurgien, chirurgiens, chirurgie, chirurgies…}
P réc isio n d e s F am ille s M o rp h o lo g iq u es
1
0,9
0,8
0,7
P récision
P récision M in
P récision M ax
0,6
0,5
0,4
0,3
0,2
0,1
0
1-m ot
2-m ots
3-m ots
4-m ots
5-m ots
6 et +
FIG.3.5.−Précision des familles du vocabulaire.
3 .6
3 .6 .1
Traite m e n ts
Lin gu is tiqu e s
d ’In fo rm atio n
po ur
la
Re ch e rch e
U tilis atio n d e Co n n ais s an ce s Mo rp h o lo giqu e s
L’influence de connaissances morphologiques (flexion, dérivation) est étudiée sur les
résultats d’une tâche spécifique de recherche d’information dans le cadre du CISMeF. Cette
influence est étudiée à l’aide d’une liste de requêtes réelles des utilisateurs. Les traitements
appliqués à l’origine au CISMeF (Novembre 2001) consistaient à comparer la requête de
l’utilisateur avec le vocabulaire. Si aucun terme du vocabulaire ne correspond exactement à la
requête, une troncature (droite et gauche) est effectuée sur la chaîne en entrée.
Le principe est que les deux formes d’un couple (lemme,variation) sont substituables en
recherche d’information. Ainsi, si une forme fléchie est employée pour une requête, elle pourra
être remplacée par la forme d’origine utilisée pour l’indexation (et inversement, quand c’est la
forme fléchie qui est utilisée pour l’indexation). Comme dans tous les serveurs Web, les requêtes
sont courtes. Ici, le fait que les «termes» cible aussi bien que les requêtes ne soient pas
127
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
nécessairement syntaxiquement bien formés réduit l’intérêt d’approches syntaxiques
(Grefenstette, 1997).
3 .6 .1.1
Tr a v a u x In it ia t e u r s
L’appariement visé dans (Zweigenbaum et al., 2001a) repose sur la disponibilité de
ressources morphologiques. Les ressources utilisées sont celles obtenues automatiquement dans
(Grabar & Zweigenbaum, 2000). L’expérimentation concerne les 6 469 requêtes différentes
recueillies pour septembre 2000. Les termes cible sont pré-indexés : chaque terme est mis en
minuscules, segmenté en mots et considéré comme un ensemble de mots (l’ordre n’y plus
pertinent). La forme désaccentuée de ces termes est segmentée et indexée. Chaque requête est
mise en minuscules et segmentée en mots, et les mots vides sont supprimés. Le principe de base
de l’appariement est de proposer les termes qui contiennent le maximum de mots de la requête,
sans tenir compte de leur position. Plusieurs termes cible peuvent être nécessaires pour «
couvrir » les différents mots d’une requête. Tour à tour le terme cible couvrant le maximum des
mots restants de la requête (méthode du sac de mots) est sélectionné. L’appariement est testé
sur les mots, éventuellement augmentés de : (i) leur forme désaccentuée ; (ii) leurs formes
fléchies ; (iii) leurs mots dérivés (et leurs formes fléchies). Les expériences pratiquées, comme
dans (Gaussier et al., 2000), consistent à ne réaliser qu’une partie des étapes pour étudier les
différences de résultats.
Sur les 6 469 requêtes, 182 sont exactement des termes cible ; 1 315 sont identiques à des
termes cible une fois mises en minuscules et segmentées ; 1 364 lorsqu’on les considère comme
des sacs de mots ; et 1 679 une fois désaccentuées (26 %). 971 requêtes sur 6469 (15,0 %) ont
des résultats différents une fois désaccentuées. La flexion permet de reconnaître 429 requêtes
sur 6 469 (6,6 %). voient leur résultat changer. 199 séries différentes de formes fléchies ont été
employées ainsi que des règles pour les féminins et les pluriels (403 occurrences ; 123
applications différentes du suffixe -s, et 48 du -e). Les quelques autres cas de flexion appliqués
concernent des féminins : if/ive. L’apport supplémentaire de la dérivation concerne un nombre
de 128 (2,0 %) requêtes. Les mots dérivés proposés sont uniquement ceux présents dans la base
de (Grabar & Zweigenbaum, 2000).
Une évaluation manuelle a été réalisée par les documentalistes de l’équipe CISMeF sur les
résultats de 58 requêtes contenant au moins 2 mots, qui n’étaient pas exactement des termes
cible et qui ne comportaient pas de faute d’orthographe. Chaque résultat a été noté de 0 (très
mauvais) à 3 (très bon). La note moyenne a été de 1,7. Les requêtes dont les résultats ont changé
avec l’apport de connaissances morphologiques ont été examinées. Une évaluation a porté sur
un petit échantillon de 20 requêtes sur les 429 modifiées par la flexion. Leur note moyenne a
augmenté de 0,53 à 1,07. Pour la dérivation, l’évaluation a porté sur 64 des 128 requêtes
concernées. La note moyenne obtenue a augmenté de 1,14 à 1,91.
3 .6 .1.2
Et u d e d u Vo ca b u la ir e d e s U t ilis a t e u r s
Dans (Grabar et al., 2002) (Grabar et al., 2003) nous avons réalisé des comparaisons mot à
mot des requêtes et du vocabulaire. Les vocabulaires des requêtes et d’indexation ont été
comparés sous leur forme initiale, puis sous une forme normalisée. Les normalisations
128
appliquées concernent des opérations au niveau des caractères : casse (majuscules/minuscules)
et accentuation. Elles concernent également des opérations fondées sur des connaissances
morpholexicales : lemmatisation (réduction des pluriels et des féminins) et racinisation
(réduction d’un mot dérivé à un mot initial dont il est dérivé, directement ou indirectement). Les
mots vides sont éliminés à l’étape initiale de la comparaison des deux vocabulaires.
L’étude réalisée traite les unitermes présents dans les requêtes et dans les termes du CISMeF
pour un appariement mot simple à mot simple. La période de septembre 2000 à janvier 2001
correspond à 108 660 requêtes (29 092 requêtes différentes). Le vocabulaire cible est constitué
de 29 035 termes différents.
La méthode de comparaison successive consiste à segmenter en mots les termes des requêtes
et du vocabulaire et à les comparer après des normalisations successives. La segmentation en
mots se fait en coupant la chaîne initiale aux espaces, ponctuations et autres caractères non
alphanumériques. Les normalisations au niveau des caractères ont été conditionnées par la
nature du MeSH (mots en majuscules non accentuées, hormis les termes en minuscules ajoutés
par l’équipe CISMeF), de même que par la nature non prévisible des mots employés dans les
requêtes par les utilisateurs de CISMeF (mots en minuscules ou en majuscules, accentués ou
non). Il y a deux types de traitement pour la normalisation : la minusculisation et la
désaccentuation.
Trois méthodes de lemmatisation sont utilisées. Une liste de 308 847 couples {lemme,
forme} a été obtenue à partir de (Grabar & Zweigenbaum, 2000) et ont été compilées à partir
de dictionnaires généraux (lexique de l’ABU33) et de différents corpus médicaux étiquetés
(corpus MENELAS, parties du corpus CLEF). Une heuristique de suppression de la marque du
pluriel qui est utilisée en recherche d’information avec de bons résultats (Savoy, 2002) consiste
à supprimer les finales en -s, à réduire les -aux en -al et à supprimer les –x. La troisième
méthode consiste à combiner les deux approches.
Suite à la lemmatisation, les mots qui ne sont pas reconnus subissent une racinisation. La
racinisation est appliquée sur les mots du vocabulaire cible et sur les listes de mots qui sont
toujours « inconnus » à la sortie des trois méthodes de lemmatisation. 1 041 couples pour la
racinisation ont été générés à partir de terminologies (Grabar & Zweigenbaum, 2000). Une
correction orthographique sur les mots inconnus restants de longueur supérieure à 5 caractères
est en fin réalisée avec l’outil ispell d’Unix, avec le vocabulaire comme dictionnaire de référence.
Les requêtes contiennent 29 092 termes différents. La segmentation permet d’en reconnaître
3 438 (11.82%). La normalisation permet de reconnaître 5 650 mots (2 437 par minusculisation
et 3 213 par désaccentuation). Les mots vides sont au nombre de 85. Des traitements
morpholexicaux permettent de reconnaître de 11,3 à 12,4 % des occurrences restantes selon la
méthode de lemmatisation, plus moins de 1 % pour la racinisation. Il reste 9176 mots non
reconnus. Enfin, la correction propose de corriger de l’ordre de 6,5 % des mots restants.
Néanmoins, de nombreuses propositions sont erronées. La lemmatisation n’a pas été réalisée en
fonction de la terminologie et la correction orthographique n’est qu’une proposition. La
contribution totale des connaissances morphologiques est plus faible, comparable à celle de la
désaccentuation (gain relatif de l’ordre de 9 %), alors qu’elle demande davantage de ressources
initiales. Au final, 65,5 % des mots peuvent être mis en rapport avec des mots du CISMeF.
33
abu.cnam.fr/DICO
129
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
3 .6 .1.3
Exp é r ie n ce s a v e c d e s R e s s o u r ce s a d a p t é e s a u Vo ca b u la ir e
Les travaux précédents ont montré que des traitements linguistiques de base étaient
nécessaires. Afin d’intégrer les méthodes présentées à Doc’CISMeF, nous avons développé des
servlets Java interrogeant la base de données qui contient le vocabulaire du CISMeF. Avec les
connaissances de (Grabar & Zweigenbaum, 2000) nous avons pu obtenir 894 couples de mots
pour 707 unitermes du vocabulaire. Soit en moyenne 1,26 termes par famille morphologique.
Cela représente 7,13% du vocabulaire total. Avec un lexique général on arrive à couvrir près de
93% du vocabulaire avec une bonne précision des familles (entre 75 et 100%).
Cette expérience concerne un appariement mot à mot mais avec les connaissances
morphologiques adaptées au vocabulaire du CISMeF. La seconde étude quant à elle concerne les
requêtes elles-mêmes.
Nous détaillons les étapes que nous avons appliquées aux requêtes.
Se g m e n t a t io n : la requête est segmentée en mots à l’aide d’une liste de caractères de
séparation et de string tokenizers. Cette liste de séparateurs a été constituée essentiellement
avec tous les caractères qui ne sont pas alpha-numériques (par exemple : * $,!§;|@).
Fo n ctio n SEGMENTATION
En tré e : Chaîne de caractères C
k
So rtie : Liste de mots C _ Liste = U mot i
i =1
D é bu t
StringTokenizer sTokens = new StringTokenizer(C," '\"*+()#~{}[]@<>=+°.;,:!§$£µ%?&¨^-_\\", false);
Tan t Qu e (sTokens.hasMoreTokens())
C_Liste ← C_Liste ∪ {Tokens.nextToken().trim()};
Fin Tan tQu e
Re to u rn e r (C_Liste) ;
Fin
N o r m a lis a t io n : la normalisation se fait au niveau des caractères. Nous appliquons ici deux
types de normalisation. Les termes du MeSH sont en majuscules non accentuées. Néanmoins,
les termes employés dans CISMeF ont été mis en casse mixte (minuscules avec emploi
« normal » des majuscules) et réaccentués. (Zweigenbaum & Grabar, 2002) ont travaillé sur
l’accentuation du MeSH et ont obtenu de bons résultats.
( 1) M in u s cu lis a t io n : tout caractère en majuscule est converti en son correspondant
minuscule (par exemple le caractère “A” est remplacé par “a”). Cette étape est nécessaire car le
vocabulaire contrôlé que nous avons à notre disposition est entièrement en minuscules.
( 2 ) D é s a cce n t u a t io n : tous les caractères accentués sont remplacés par leur version non
accentuée (par exemple les caractères “éèêë” sont remplacés par “e”). Le vocabulaire que nous
avons à notre disposition est accentué mais cette étape est néanmoins nécessaire car elle permet
de gérer les éventuelles erreurs orthographiques au niveau des accents contenus dans les mots
des requêtes (par exemple “hè patite” au lieu de “hé patite”).
130
Fo n ctio n NORMALISATION
En tré e : Mot M
So rtie : Mot mot_normalisé
D é bu t
M← Lower (M);
mot_normalisé ← translate(M, 'éèêëàâäïîûüùñôöç','eeeeaaaiiuuunooc') ";
Re to u rn e r (mot_normalisé) ;
Fin
M o t s Vid e s : tous les mots vides composant la requête initiale sont éliminés. Nous utilisons la
liste constituée précédemment (1 422 mots vides).
(Riloff, 1995) a montré que la forme exacte des termes avait une importance pour la recherche
d’information et la classification de textes. Nous avons ajouté l’étape intermédiaire suivante
(Soualmia & Darmoni, 2004a) :
M o t e xa ct : nous utilisons ici des expressions régulières afin d’apparier l’expression exacte de
chaque mot de la requête. Cette étape est nécessaire car elle permet de prendre en compte les
termes complexes du vocabulaire mais également d’éviter le bruit généré par des troncatures.
Nous n’utilisons plus les troncatures des chaînes en entrée afin d’éviter le bruit qu’elles génèrent
au détriment de certaines flexions et dérivations. Par exemple le mot “a ccid e n t ” sera apparié
avec le terme “circulation a ccid e n t ” mais pas avec les termes “a ccid e n t s” et “chute
a ccid e n t elle”. En revanche, De même le mot “s id a ” sera apparié avec les termes “lymphome lié
s id a ” et “s id a atteinte neurologique” mais pas avec les termes “glucos id a ses”, “agras id a e” ou
encore “bêta galactos id a se”.
Fo n ctio n MOT_EXACT
En tré e : Mot M ; Terminologie TB_vocabulaire ;
l
So rtie : Liste de mots ME _ Liste = U mot _ exact i
i =1
D é bu t
ME_Liste = SELECT TB_Vocabulaire.libelle FROM TB_vocabulaire
WHERE libelle LIKE ('%M%') AND RE.get_match (libelle, '\<M\>') is not null
Re to u rn e r (ME_Liste) ;
Fin
Co n n a is s a n ce s M o r p h o lo g iq u e s : nous remplaçons chaque mot de la requête par la
racine de sa famille morphologique. La racine est généralement le mot de base qui a subi les
différentes modifications, c’est à dire la forme simple du mot. Dans notre cas le mot de base est
celui du vocabulaire même s’il n’est pas sous sa forme simple. Par exemple, le mot “abdominal”
sera remplacé par “abdomen”, de même que le mot “accident” sera remplacé par “accidents”.
Contrairement à (Grabar et al., 2003) nous n’utilisons pas de règles de racinisation. Cette étape
concerne donc la lemmatisation.
131
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
Fo n ctio n MOT_MORPHO
En tré e : Mot M ; Base de Connaissances Morphologiques TB_BCM ;
m
So rtie : Liste de mots MM _ Liste = U mot _ morphoi
i =1
D é bu t
MM_Liste= SELECT TB_vocabulaire.libelle FROM TB_vocabulaire, TB_BCM
WHERE TB_BCM.mot_derive LIKE ('%M%')
AND
RE.get_match(TB_BCM.mot_derive, '\<M\>') is not null
AND
TB_BCM.num_terme=TB_vocabulaire.num_terme
Re to u rn e r (MM_Liste) ;
Fin
3 .6 .2
Ré s u ltats
3 .6 .2 .1
D e s cr ip t io n d e s R e q u ê t e s
Nous avons testé les différentes étapes sur un ensemble de 77 382 requêtes n’ayant aucune
réponse. Elles correspondent à 48 255 requêtes distinctes. 12 974 requêtes (26,89%) sont
composées d’un seul mot ; 16 347 (33,88%) de 2 mots ; 10 972 (22,74%) de 3 mots ; 4 360
(9,03%) de 4 mots et 3 602 sont composées de plus de 4 mots (7,46%).
Le vocabulaire cible contient les différents termes du vocabulaire auxquels on a ajouté les
différents synonymes et les termes anglais.
3 .6 .2 .2
R é s u lt a t s a v e c le s U n it e r m e s
TAB.3.4.−Reconnaissance des mots des requêtes.
Te rm e s
%
Re co n n u s
Se gm e n tatio n
12 579
10,31%
N o rm alis atio n
20 447
16,77%
Mo ts Vid e s
21 022
17,24%
Mo t Exact
28 837
23,64%
Co n n ais s a n ce s Mo rp h o lo giqu e s ( 1)
10 002
8,20%
TOTAL
92 887
76 ,16 %
Les 48 255 requêtes n’ayant pas de réponse ont été segmentées en 121 958 mots. En
appliquant les différentes étapes de traitement, un total de 92 887 (76,16%) mots ont été
mappés avec la terminologie et la base morphologique. Cependant, 29 071 (23,84%) mots
restent inconnus des vocabulaires. La plupart des mots inconnus sont des erreurs d’orthographe
132
ou encore des termes n’existant pas dans la base. Cependant, comme souligné dans le Chapitre
2, les connaissances sémantiques doivent être complètes.
3 .6 .2 .3
R é s u lt a t s a v e c le s Te r m e s Co m p o s é s
Comme souligné dans (Zweigenbaum et al., 2001a) (Zweigenbaum et al., 2001b)
l’appariement des termes complexes est plus exigeant.
TAB.3.5.−Reconnaissance des mots des requêtes.
Te rm e s
%
Re co n n u s
Co n n ais s a n ce s Mo rp h o lo giqu e s ( 1)
10 002
8,20%
Co n n ais s a n ce s Mo rp h o lo giqu e s ( 2 )
8 014
6,57%
10 0 9 0 1
8 2 ,73 %
TOTAL
Reconnaissance par étapes successives
140000
120000
100000
80000
60000
40000
20000
&
(2
og
ol
M
or
ph
&
M
or
ph
ol
&
og
M
iq
u
ot
iq
u
es
es
Ex
(1
)
)
t
ac
es
Vi
d
ot
s
M
&
N
or
m
&
Se
gm
en
al
is
ta
tio
at
io
n
n
0
FIG.3.6.−Reconnaissance des mots des requêtes.
Nous avons utilisé ici la base de connaissances morphologique complétée avec les termes
composés.
3 .6 .3
Exp é rie n ce s d e Ph o n é m is atio n
Une correction orthographique est en revanche un facteur d’amélioration important (Grabar
et al., 2003). Nous souhaitons ici réaliser des expériences de phonémisation afin de pouvoir
corriger les requêtes des utilisateurs lorsqu’elles ont une mauvaise orthographe mais la bonne
133
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
sonorité. La fonction que nous proposons s’inspire de fonctions déjà existantes pour le français.
Elle nous permet par exemple de retrouver « alzheimer » pour la requête « alzaymer ».
3 .6 .3 .1
Tr a v a u x An t é r ie u r s : So u n d e x / So u n d e x 2 / Ph o n e x
Le terme SOUNDEX remonte à 1918. Le premier algorithme de ce type a été inventé par
Margaret O’Dell et Robert C. Russell, lors des problèmes liés au recensement américain. En
effet, de par leur constitution, les États Unis d’Amérique sont tenus à recenser leur population
tous les 10 ans. A la fin du siècle dernier, le problème du recensement était devenu un casse tête
majeur. Le fait de traiter des informations concernant une population de plusieurs dizaines de
millions d’américains à la main demande un travail phénoménal. Le but du Soundex est de
codifier les noms propres en éliminant les lettres non prononcées, par exemple le ‘h’.
Le principe est le suivant :
Algo rith m e SOUNDEX
1. transformer en majuscule
2. conserver la première lettre du mot
3. supprimer les lettres non prononcées (‘h’ et ‘w’) et les voyelles
4. transcrire les lettres d’un mot en un code selon le tableau 2.11
5. suppression de lettres identiques limitrophes
Par exemple : SOUNDEX (MARTIN)= M635
TAB.3.6.−Correspondance des codes.
Le ttre
Co d e
BFPV
1
CGJKQSXZ
2
DT
3
L
4
MN
5
R
6
Cet algorithme a été conçu à l’origine pour les mots à consonance anglo-saxonne et s’adapte
difficilement au français. Le principe de Soundex2 développé par Brouard en 1995) est
quasiment le même avec des codes supplémentaires pour certaines combinaisons de lettres. Par
exemple : Soundex2 (MARTIN) = MRTN
Le PHONEX développé en 1999 (Brouard, 2004) est un algorithme plus perfectionné que les
Soundex car il permet de traiter plusieurs sons formés par des combinaisons de lettres et il est
conçu pour la langue française. Le principe du Phonex est le suivant :
134
Algo rith m e PHONEX
1. ‘y' = ‘i’
2. Supprimer les ‘h’ qui ne sont pas précédés de ‘c’, de ‘s’ ou de ‘p’
3. ‘ph’= f’
4. gan= kan; gam = kam; gain = kain; gaim= kaim
5. ain = yn; ein= yn; aim= yn; eim= yn ; si elles sont suivies par une lettre ‘a’, ‘e’, ‘i’, ‘o’, ‘u’
6. eau=o ; oua=2 ; ein=4 ; ain=4 ; eim=4 ; aim=4
7. é/è/ ê/ai/ei =y ; er=yr ; ess=yss ; et=yt
8. an/am/en/em=1 ; in=4 ; sauf s’ils sont suivis par une lettre ‘a’, ‘e’, ‘i’, ‘o’, ‘u’ ou un son ‘1’ à ‘4’
9. ‘s’ = ‘z’ s’ils sont suivis et précédés des lettres ‘a’, ‘e’, ‘i’, ‘o’, ‘u’ ou d’un son ‘1’ à ‘4’
10. oe/eu=e ; au=o ;oi/oy=2 ; ou=3 ;
11. ch/sch/sh=5 ; ss/sc=s
12. ‘c’=‘s’ s’il est suivi d’un ‘e’ ou d’un ‘i’
13. c/q/qu/gu=k ; ga=ka ;go=ko ;gy=ky
14. a=o ;d/p=t ;j=g ;b/v=f ;m=n
15. Suppression des lettres dupliquées
16. Suppression des terminaisons suivantes : ‘t’, ‘x’
17. Affectation à chaque lettre du code numérique correspondant en partant de la dernière lettre : o=1 ;
1=2 ; 2= 3 ; 3=4 ; 4=5 ; 5=e ; 6=f ; 7=g ; 8=h ; 9=i ; 10=k ;11=l ; 12=n ; 13=o ; 14=r ; 15=s ; 16= t; 17= u;
18=w; 19=x ; 20= y; 21=z.
18. Conversion des codes numériques ainsi obtenus en un nombre de base 22 exprimé en virgule flottante.
3 .6 .3 .2
Ph o n é m is a t io n d e Te r m e s M é d ica u x
L’avantage de PHONEX est qu’il est très performant sur les noms propres français et qu’il code
selon le type de consonance. Les termes médicaux ont des prononciations très différentes des
mots « classiques » et le fait de regrouper des lettres selon leur type de prononciation risque de
provoquer des confusions entre deux mots ayant presque la même prononciation (mais ayant
deux sens bien différents). Par exemple les mots « androstènes » et « androstenols » ont tous
les deux le code 0,082050249 or ils ont deux sons et deux sens bien distincts.
De ce fait nous avons développé une fonction de phonémisation dans le but de retrouver un
mot même s’il est écrit avec la mauvaise orthographe mais avec la bonne sonorité. Par exemple
pour l’orthographe erronée « kollestérraulle » (à la place de « cholestérol ») la fonction renvoie
la phonémisation « kolesterol » pour les deux orthographes. Cette fonction PHONEMISATION34 ne
gère qu’un seul mot en entrée et code les sons selon la table suivante.
34
Algorithme implémenté en PL/SQL par N.Chmiel au cours de son stage de BTS.
135
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
TAB.3.7.−Correspondance des sons.
Co d e
So n [ p h o n é tiqu e ]
Exe m p le
1
"un" [œ]
Commu n
2
"oi" [wa]
Fo i e
3
"ou" [u]
Geno u
4
"en" [ã]
Scie n ce
5
"ch" [¸ſ]
Bronch e
6
"ill" [j]
Oreill e
7
"gn" [Л]
Soign er
8
"é" [e] "è" [ε] "e" [ø]
Pré lè ve ment
0
"oin" [wœ]
So in
L’ordre des opérations suit celui de la prononciation française. Si celui-ci n’est pas respecté,
la prononciation est faussée et de ce fait, la probabilité de retomber sur la bonne orthographe est
fortement réduite.
Nous avons également constitué manuellement une liste de mots MOTS_ER qui se
prononcent "é" mais dont la terminaison est "er" ou "ed" et ce afin de les différencier des termes
comme "cancer". (Exemples : pied ; gaucher ; manger ; traiter ; informer ; accréditer… ).
Algo rith m e PHONEMISATION
1. Suppression des accents
2. ed/er = 8 si le mot est dans la liste MOTS_ER (mots qui se prononcent é)
3. ç=ss ;ill=i6.
4. Suppression des ‘h’ en début de mot (ils ne sont jamais prononcés)
5. ees/ets/eds/ers/ez/et/ee/ed/ = 8 ; ier/iers=i8.
6. y=ii ;ph=f ;
7. ‘c’ = ‘ss’ lorsqu’il est suivi de ‘e’, ‘i’, ou ‘8’.
8. eau=o ; oua=2.
9. Modifications selon les conditions du tableau 13
10. Remplacement du ‘s’ s’il est suivi d’une voyelle sinon la lettre est doublée
11. ‘œ’ = ‘e’
12. remplacements selon le tableau 14.
13. er/ere/erss/eress =8r. Le ‘s’ a été doublé lors de la 12ème étape ce qui explique la suppression des deux
dernières terminaisons.
14. ‘eu’ = ‘e’.
15. Suppression des lettres dupliquées
16. ess/tss/t/kss/ss/e=8r.
17. Retour définitif du résultat
136
TAB.3.8.−Tableau de modifications.
Co m bin ais o n
Caracté ris tiqu e
Co n d itio n s
Pré cé d e n te s
Mo d if
Su ivan te s
Ii
‘a','e','o','u','1','2','3','4','8','0'
6
An
'a','e','i','o','u','n','1','2','3','4','6','8','0'
4
Am
'a','e','i','o','u','n','m','1','2','3','4','6','7','8','0'
4
Ein
'a','e','i','o','u','n','1','2','3','4','6','8','0'
1
Ain
'a','e','i','o','u','n','1','2','3','4','6','8','0'
1
Eim
'a','e','i','o','u','m','1','2','3','4','6','8','0'
1
Aim
'a','e','i','o','u','m','1','2','3','4','6','8','0'
1
En
'a','e','i','o','u','n','1','2','3','4','6','8','0'
4
Em
'a','e','i','o','u','m','1','2','3','4','6','8','0'
4
Oin
'a','e','i','o','u','n','1','2','3','4','6','8','0'
0
In
'o','e','a'
'a','e','i','o','u','n','1','2','3','4','6','8','0'
1
Im
'o','e','a'
'a','e','i','o','u','m','1','2','3','4','6','8','0'
1
Un
'a','e','i','o','u','n','1','2','3','4','6','8','0'
1
Ni
'a','e','o','u','1','2','3','4','6','7','8','0'
7
Ge
'a','o','2','3','4','0'
g
Gu
'e','i','1','2','4','6','8','0'
g
L’étape 9 permet de faire des modifications sur le mot mais avec certaines conditions qui
sont fonction des lettres qui suivent ou qui précèdent le groupe de lettres caractéristique. Par
exemple dans le mot "insomnie" le groupe de lettre caractéristique ‘in’ sera remplacé par ‘1’
donnant le mot "1somnie". En revanche dans le mot "inosine" on retrouve aussi la même
combinaison de lettre ‘in’ mais comme la lettre suivante est une voyelle, il n’y a pas de
modifications sur le mot.
TAB.3.9.−Tableau de remplacements.
Co m bin ais o n
Mo d ificatio n
Co m bin ais o n
Mo d ificatio n
sch
5
l1
l8n
Ch
5
74
71
Sh
5
r0
ro1
Ai
8
omac
oma
Xs
ks
8mm
am
o6
26
si5
sik
oeu
8
gn
7
5r
kr
tion
sion
137
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
Co m bin ais o n
Mo d ificatio n
Co m bin ais o n
Mo d ificatio n
5t
kt
ptio
psio
5l
kl
ati4
assi4
5o
ko
c
k
U
o
qu
k
Oz1
os1
q
k
irop
iro
j
g
irops
iro
s
ss
thm
m
h
Ø
stme
sm
31
0
Am7
ami
ei
8
Dom1
dom8n
oi
2
Dans beaucoup de cas des lettres voire même des combinaisons de lettres ne sont pas
prononcées et souvent en fin de mot. Le tableau 3.9 permet de traiter des cas comme ‘sirop’,
‘estomac’…
TAB.3.10.−Correspondance des sons.
Ph o n é m is atio n
Co rre ctio n
Orth o grap h e
Akuponktur
Akup1ktur
Acupuncture
Tabak
Taba
Tabac
vi6
Vil
Ville
s4g
S4
Sang
Tout comme l’indexation et la représentation des documents et des requêtes, l’espace de
représentation phonétique doit être le même. De ce fait, afin de pouvoir comparer le son de deux
chaînes et proposer la bonne orthographe nous avons créé un dictionnaire de référence
Vocabulaire. Chaque mot du vocabulaire est une entrée de ce dictionnaire. La fonction
Phonémisation que nous avons développée ne prend en entrée qu’un seul mot. De ce fait, nous
ne pouvons pas considérer chaque terme du vocabulaire comme entrée de ce dictionnaire
phonémisé. Tous les termes du vocabulaire d’origine sont segmentés puis minusculisés et
phonémisés, en évitant les doublons. Ce dictionnaire permet de mapper la requête phonémisée
et le mot phonémisé. Cette segmentation est également nécessaire dans les cas où par exemple
un utilisateur formule la requête « cretzvelt » à la place de du terme « creutzfeldt-jakob,
maladie ».
3 .6 .3 .3
Ap p lica t io n à la R e co n n a is s a n ce d e Te r m e s
La phonémisation avant l’étape de lemmatisation permet de reconnaître 11 453 termes (soit
9.4%). Après l’étape de lemmatisation des termes simples et des termes composés cette
138
phonémisation permet de mapper 4 421 mots supplémentaires, réduisant ainsi le nombre de
mots inconnus à 16 603 (soit 13.61% du total).
TAB.3.11.− Appariement exact (même sonorité entre la requête et le vocabulaire).
Te rm e s
%
Re co n n u s
Ph o n é m is atio n
TOTAL
4 421
3,63%
10 5 3 55
8 6 ,3 6 %
Reconnaissance par étapes successives
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
39073
21057
16636
92887
100901
105322
67910
88932
109379
82885
54048
33026
es
gi
qu
ol
o
or
M
&
&
M
or
ph
ph
&
ol
o
M
gi
qu
ot
es
Ex
(1
(2
)
)
t
ac
Vi
de
s
M
ot
s
or
N
&
&
m
en
ta
al
is
at
tio
n
io
n
12579
m
Se
g
29071
FIG.3.7.− Reconnaissance des mots par étapes successives (+ phonémisation).
3 .6 .4
Co rre ctio n Orth o grap h iqu e
La correction orthographique des termes saisis par les utilisateurs, en fonction de la
terminologie CISMeF, nous paraît une étape indispensable, surtout dans le domaine médical, où
l'utilisation de termes parfois compliqués et de noms propres (comme pour les noms de
syndromes par exemple) y est courante.
3 .6 .4 .1
Alg o r it h m e
Dans le cas où il y a des erreurs de frappe le code final est complètement modifié et il devient
quasiment impossible de retrouver la bonne orthographe du mot. Le but de la fonction
CORRECTION est de rechercher l’orthographe la plus proche. Cette recherche est fondée sur un
139
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
système de scores et le mot qui a le meilleur score est retourné à l’utilisateur. Comme il est
impossible à la machine de reconnaître automatiquement s’il y a une faute de frappe ou bien une
inversion entre deux lettres ou encore un oubli ou un rajout d’une lettre, cette fonction doit
traiter tous ces cas. Nous gérons ainsi plusieurs cas d’erreurs : inversion dans la chaîne, absence
d’une lettre en début de chaîne, lettre en trop en début de chaîne, première lettre fausse, et
seconde lettre fausse.
Tous les mots qui se rapprochent le plus du mot en paramètre sont sélectionnés du
dictionnaire. Les critères de sélection sont la longueur de la chaîne ainsi que deux lettres
communes de la phonémisation des mots du dictionnaire et de la requête. A chaque mot est
associé un score afin de sélectionner le mot du vocabulaire qui se rapproche le plus du mot entré
en paramètre. Cela permet également de diminuer les scores des mots dont la longueur diffère
beaucoup du mot recherché.
Fo n ctio n CORRECTION (MOT DE LONGUEUR MAX 6 CARACTERES)
D é bu t
Phonémiser (mot) ;
Enregistrer les permutations de lettres entre la 3ème et la 4ème, la 4ème et la 5ème et la 5ème et la 6ème.
score= 100/2Length(mot)
open c1(var, indexe_ph, length(ch_temp))
var : sous chaîne de deux lettres de la phonémisation du mot rentré en paramètre (mot)
indexe_ph : index des mots dans le vocabulaire (i)
length(ch_temp) : longueur de la chaîne phonémisée (longueur)
SELECT Phonem
FROM TB_vocabulaire
WHERE Substr(Phonem, i, 2) like mot AND length(Phonem) BETWEEN longueur-2 and longueur+2
score := score_initial - abs(length(Phonem) - length(ch_temp)) * 21;
Poids = 20 lorsque qu’il n’y a aucune erreur sur la chaîne ou lorsqu’il y a les inversions entre la 4ème, la
5ème et la 6ème lettre.
Poids = 22 lorsque qu’il manque une lettre au début de la chaîne
Poids = 16 dans tous les autres cas
Si la combinaison de lettres appartenant à la phonémisation de mot appartient à un mot du
dictionnaire à la bonne place alo rs le score = score + poids
Si la combinaison est décalée d’une lettre vers la droite ou la gauche alo rs le score = score + poids / 2
Si la combinaison n’est pas retrouvée dans le mot du dictionnaire alo rs le score reste inchangé.
Si la combinaison n’est pas retrouvée et la combinaison dépasse le 6ème caractère de mot alo rs score =
score - 5
Le mot du vocabulaire possédant le plus grand score est proposé à l’utilisateur.
3 .6 .4 .2
Ev a lu a t io n d e s R é s u lt a t s
Sur un échantillon de 100 requêtes, la correction orthographique opère avec une précision de
73,43%. En effet, certains termes se rapprochent du vocabulaire mais n’en font pas partie. (Par
exemple ‘colle’ se rapproche du mot clé réservé en anglais ‘cold’).
Comme souligné dans (Zweigenbaum et al., 2001a), on entre dans un schéma classique dans
la résolution de problèmes : au-delà d’un certain point, les efforts nécessaires pour améliorer les
résultats sont de plus en plus importants pour un gain qui va en diminuant. Les mesures
140
effectuées concernent le recouvrement des mots individuels. La plupart des requêtes et des
termes MeSH comprennent plusieurs mots, et leur appariement demande des conditions et des
traitements supplémentaires.
3 .7
Traite m e n ts e n Lign e
Nous présentons ici les traitements qui ont été implémentées pour le traitement des requêtes
dans le CISMeF. Les résultats obtenus grâce aux données morphologiques et à la phonémisation
sont très encourageants. En revanche, les traitements étant plus exigeants, ils ne sont
disponibles que sur un serveur en Intranet. D’autres traitements ont été mis en ligne et utilisent
la technique du sac de mots ainsi que la notion d’adjacence.
3 .7.1
Ap p arie m e n t à Bas e d e Co n n ais s an ce s Mo rp h o lo giqu e s
L’algorithme consiste à segmenter les requêtes et à remplacer chaque mot par l’union des
termes de sa famille morphologique. Il peut être testé sur l’Intranet du CHU.
Algo rith m e APPARIEMENT DE REQUETES A L’AIDE DE CONNAISSANCES MORPHOLOGIQUES
En tré e : Requête R ; Liste de Mots Vides MV ; Connaissances Morphologiques BCM ; Terminologie T ;
So rtie : Requête Booléenne R_finale ;
D é bu t
liste_mot ← Segmentation(R) ;
Po u r (x ← 1 ; x ≤ k ; x++) faire
mot_normalisé ← Normalisation(R)
Si mot_normalisé ∈ MV alo rs liste_mot ← liste_mot – {mot_normalisé} ;
Sin o n
Si mot_normalisé ∈ T alo rs R_final← R_final ET mot_normalisé
Sin o n
Si Mot_Exact (mot_normalisé)<>Ø alo rs
Po u r (y ← 1 ; y ≤ l ;y++) faire R_exact← R_exact OU mot_exacty ;
R_final ← R_final ET R_exact;
Sin o n
Si Mot_Morpho (mot_normalisé)<>Ø alo rs
Po u r (z ← 1 ; z ≤ m ; z++) faire R_morpho← R_morpho OU mot_morphoz ;
R_final ← R_final ET R_morpho ;
Fin Si
Fin Si
Fin Si
FSi
Fin Po u r
Re to u rn e r (R_final);
Fin
Cet algorithme permet, par exemple, de remplacer la requête complications de la
prématurité (ne donnant aucune réponse sur Doc’CIMSeF) par la requête booléenne :
141
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
(complications OU complications post-opératoires OU complications pré-opératoires OU
complication grossesse OU accouchement compliqué OU grossesse compliquée) ET (prématuré
OU prématuré maladies OU accouchement prématuré)
Le nombre de réponses passe de 0 à 18 avec une précision de 100%.
3 .7.2
Au tre s Traite m e n ts
Les traitements actuellement mis en ligne concernent la méthode des sacs de mots ainsi que des
tests sur l’adjacence des termes des requêtes en texte intégral. L’implémentation de la méthode
des sacs de mots consiste à des listes linéaires chaînées. Nous donnons ci-après le pseudo
algorithme correspondant qui consiste à segmenter, à éliminer les mots vides, à phonémiser et à
classer par ordre alphabétique les mots des requtêtes. Le même traitement a été réalisé pour les
termes du vocabulaire. Le terme du vocabulaire qui a en commun le maximum de mots en
commun avec la requête est retourné. Le traitement est réalisé au fur et à mesure, jusqu’à ce que
la requête soit appariée au maximum. Ces traitements donnent lieu à une requête booléenne.
D’autres traitements sont réalisés pour les mots qui n’ont pas été reconnus dans la requête.
Algo rith m e IDENTIFICATION DE MOTS RESERVES (SAC DE MOTS)
En tré e : Requête R ; Liste de Mots Vides MV ; Terminologie T.
So rtie : Requête booléenne R_finale ;
D é bu t
Tan t Qu e (¬ FinChaine(R))
mot ← R.next ;
Si mot ∉ MV alo rs liste_mot ← liste_mot + (PHONEMISATION(mot)) ;
Fin Tan tQu e
liste_mot.Trier() ;
Tan t Qu e (¬ liste_mot.MotsNonTraites().EstVide())
sous_liste_mot ← liste_mot.MotsNonTraites() ;
Tan t Qu e (liste_mot_connue.EstVide() e t ¬FinListe())
Si sous_liste_mot () ∈ T alo rs liste_mot_connue ← sous_liste_mot ;
sous_liste_mot ← liste_mot – {Element(i) };
Fin Tan tQu e
Si (¬ liste_mot_connue.EstVide()) alo rs
R_final ← R_final ET liste_mot_connue
liste_mot.MarquerCommeTraite (liste_mot_connue )
Sin o n
Si (liste_mot.MotsNonTraites().NbMots() = 1) alo rs
liste_mot.MarquerCommeTraite (mot_inconnu )
Fin Si
Fin Tan tQu e
Re to u rn e r (R_final) ;
Fin
L’appariement de termes à plusieurs mots est plus exigeant. La politique de l’équipe CISMeF
concerant le traitement des requêtes consiste à limiter le silence de Doc’CISMeF au maximum.
142
Le processus de traitement des requêtes actuellement mis en place consiste à reconnaître si
l'expression saisie est un terme réservé ou non. Si l'expression n'est pas un terme réservé, un
découpage des termes est effectué pour rechercher si l'expression contient un ou plusieurs
termes réservés. Par exemple, la requête enfant asthme est traduite par (enfant.mr ET
asthme.mr), où enfant et asthme sont des termes réservés (mr).
Les termes réservés sont reconnus, quel que soit l'ordre des mots saisis grâce à la méthode
des sacs de mots. Cela est utile si l'utilisateur n'a pas une connaissance approfondie de la
terminologie. Ainsi, par exemple, si l'utilisateur saisit l'expression aspergillose allergique
bronchopulmonaire, l'expression est reconnue automatiquement comme le terme réservé
aspergillose bronchopulmonaire allergique.
Dans le cas où aucun résultat ne serait retourné, la recherche est lancée sur différents
champs. Le champ titre des documents est considéré comme prioritaire. Les mots vides sont
supprimés et la recherche est effectuée sur l'union des termes, incluant une troncature à droite,
dans le champ titre (ti), selon la requête terme1*.ti ET terme2*.ti ET terme3*.ti.
Si aucun résultat n'est retourné, le système de traitement des requêtes recherche si certains
termes sont des termes réservés et lance la recherche pour les autres termes sur le champ titre.
Ainsi, par exemple, la saisie d’allergie infantile aboutit à la formulation de la requête suivante :
allergie.mr ET infantile.ti.
Si cette requête n'aboutit pas, la recherche est lancée sur tous les champs (tc) des documents
pour les termes non reconnus comme étant des termes réservés et également avec l'expression
complète dans tous les champs avec une adjacence à at mots (at = 5 × (nb mots – 1)). Par
exemple, la requête les problèmes respiratoires des enfants est remplacée par la requête
booléenne (enfant.mr ET problemes.tc ET respiratoires.tc ) OU (problemes respiratoires
enfant.at). Dans cette requête, enfant est reconnu comme un terme réservé car il a la même
sonorité que enfants, problèmes et respiratoires sont recherchés dans le contenu de tous les
champs, et l'expression problèmes respiratoires enfants est recherché dans tous les champs
avec une adjacence de 10 (ces 3 mots ne doivent pas se trouver éloignés de plus de 10 mots).
Si cette dernière étape n'aboutit à aucun résultat, la recherche est lancée sur le texte intégral
des ressources avec une adjacence de ap mots (ap = 10 × (nb mots –1). Par exemple, le
traitement de la requête bronchite asthmatiforme permettra de lancer la recherche selon la
requête bronchite asthmatiforme.ap où les termes bronchite et asthmatiforme ne devront pas
être éloignés de plus de 10 mots dans les textes intégraux.
Enfin, la dernière étape du processus de traitement utilise le texte intégral des ressources
lorsque le ou les terme(s) saisis ne font pas partie de la terminologie, ce qui permet de réduire
considérablement le silence des résultats, mais en diminuant à priori la précision qui reste à
évaluer.
Dans le but d'informer les utilisateurs du traitement qui a été effectué sur leurs requêtes, un
système de score (de 1 à 5) intuitif révèle la pertinence de la requête transformée en fonction des
traitements réalisés.
143
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
TAB.3.12.− Pertinence des requêtes.
Sco re
In te rp ré tatio n d e la re qu ê te
requête composée de mots réservés
Exe m p le
asthme enfant
requête présente dans le titre de certaines ressources
enfant asthmatique
Requête composée de mots réservés et de mots présents dans
le titre de certaines ressources
allergie infantile
requête composée de mots réservés et/ou de mots présents (et
proches les uns des autres) dans la description de certaines
ressources
problèmes respiratoires
enfant
requête composée de mots présents (et proches les uns des
autres) dans le contenu de certaines ressources
bronchite asthmatiforme
Un échantillon de requêtes a été lancé automatiquement à l’aide de Servlets sur le serveur en
intranet et le serveur en ligne. Les résultats ont été récupérés au niveau de fichier XML pour être
analysés (selon le même principe de Cogni-CISMeF § Chapitre 2)
Des expérimentations il en ressort que la combinaison des traitements morphologiques et la
méthode du sac de mots obtiennent les meilleurs résultats en terme de précision des documents
retournés. Les autres traitements (adjacence et recherche sur les autres champs) permettent de
réduire le silence du système en revanche la précision des documents retournés diminue de près
de 30%.
Nous avons montré dans ce Chapitre que grâce à plusieurs séries d’expériences, que des
traitements linguistiques de base, mais également à base de connaissances, permettent
d’apparier au maximum les requêtes des utilisateurs avec le vocabulaire utilisé pour
l’indexation. Dans le Chapitre 4 nous considérons que les requêtes ne comprennent aucune
erreur d’orthographe. Nous y proposons d’enrichir les requêtes des utilisateurs
(intéractivement) par termes qui sont en relation d’association. Ces relations d’association sont
générées par un processus de fouille de données.
B IBLIOGRAPH IE
(Amar, 2000) M. AMAR. (2000) Les Fondements théoriques de l’indexation une approche linguistique.
ADBS éditions, Paris.
(Arampatzis et al., 2000) ARAMPATZIS TH., VAN DER WEIDE P., KOSTER C., VAN BOMMEL P. (2000)
Linguistically-motivated information retrieval. In Encyclopedia of Library and Information Science.
(Baud et al., 1992) BAUD R, RASSINOUX AM., SCHERRER JR. (1992) Natural language processing and
semantical representation of medical texts. Methods Inf Med 31:117–25.
(Baud et al., 1997) BAUD R, LOVIS C, RASSINOUX AM, MICHEL PA, SCHERRER JR. (1997) Extracting linguistic
knowledge from an international classification. Proceedings of Medical Informatics Europe’97.
(Bodenreider & Mccray, 1998) BODENREIDER O, MCCRAY AT. (1998) From French vocabulary to the Unified
Medical Language System: A preliminary study. Proc 9th World Congress on Medical Informatics.
(Bourigault & Jacquemin, 1999) BOURIGAULT D, JACQUEMIN C. (1999) Term extraction + term clustering :
an integrated platform for computer-aided terminology. Actes conference of the european association for
computational linguistics EACL’99, pp. 15-22.
144
(Bourigault, 1994) BOURIGAULT D. (1994) Lexter un logiciel d’extraction de terminologie application à
l’extraction de connaissances à partir de textes. Thèse de Doctorat, Paris.
(Brouard,
2004)
BROUARD
F.
(2004)
http://sqlpro.developpez.com/cours/soundex/
L’art
des
Soundex.
En
ligne :
(Burnage, 1990) BURNAGE G. (1990) CELEX - A Guide for Users. Nijmegen: Centre for Lexical
Information, University of Nijmegen.
(Chevallet & Haddad, 2001) J.P. CHEVALLET, M. H. HADDAD. (2001) Proposition d’un modèle relationnel
d’indexation syntagmatique : mise en oeuvre dans le système iota. In Congrès Informatique des
Organisations et Systèmes d’Information et de Décision (INFORSID’2001), pp.465–483.
(Clavier, 1996) CLAVIER V. (1996) Modélisation de la suffixation pour le traitement automatique du
français. Application à la recherche d’information. Thèse de Doctorat, Grenoble.
(Clémenceau, 1992) CLEMENCEAU D. (1992) Structuration du lexique et reconnaissance des mots dérivés.
Thèse de doctorat, Université Paris 7.
(Content et al.,1990) CONTENT A, MOUTSY P, RADEAU M. (1990) BRULEX une base de données lexicales
informatisée pour le français écrit et parlé . L’Année psychologique, pp.551-556
(Daille & Jacquemin, 1998) DAILLE, B. ET JACQUEMIN, C. (1998) Lexical Database and Information Access:
A Fruitful Association. In Proceedings of the First International Conference on Language Resources and
Evaluation, pp. 669–673.
(Daille, 1999) DAILLE B. (1999) Identification des adjectifs relationnels en corpus. TALN 1999 (Traitement
automatique des langues naturelles), pp. 105–114.
(Daille, 1999) DAILLE B. (1999) Identification des adjectifs relationnels en corpus. Actes TALN 1999.
(Dal et al., 1999) DAL G., NAMER F., HATHOUT N. (1999) Construire un lexique dérivationnel : théorie et
réalisations. Actes de TALN 1999
(David & Plante, 1990) DAVID S., PLANTE P. (1992) De la nécessité d’une approche morpho-syntaxique
dans l’analyse des textes. Intelligence artificielle et sciences cognitives au Québec, 3(3) : 140-154
(David & Plante, 1990) DAVID S., PLANTE P. (1992) Le progiciel Termino : de la nécessité d’une analyse
morphosyntaxique pour le dépouillement terminologique des textes. Actes du colloque international sur
les industries de la langue : perspectives des années 1990. pp.71-88.
(De Loupy, 2000) DE LOUPY C (2000) Evaluation de l’apport de connaissances linguistiques en
désambiguïsation sémantique et recherche d’information, Thèse Doctorat, Université d’Avignon et des
Pays de Vaucluse.
(De Saussure, 1972) F. DE SAUSSURE. (1972) Cours de linguistique générale. Ed. Critique de Tullio de
Mauro.
(Enguehard & Pantera, 1995) ENGUEHARD C., PANTERA L . (1995) Automatic natural acquisition of a
terminology . Journal of quantitative linguistics 2(1) :27-32
(Enguehard, 1992) ENGUEHARD C. (1992) Acquisition naturelle automatique d’un réseau sémantique.
Thèse de doctorat, Université de Compiègne.
(Faraj et al., 1996) FARAJ N., GODIN R., MISSAOUI R., DAVID S., PLANTE P. (1996) Analyse d’une méthode
d’indexation automatique basée sur une analyse syntaxique de textes. Canadian journal of information
and library science. Revue information et bibliothéconomie 21(1):1-21
(Fradin, 1994) FRADIN B. (1994) L’approche à deux niveaux en morphologie computationnelle et les
développements récents de la morphologie, T.A.L. 35-2, pp.9-48.
(Gaussier et al., 2000) GAUSSIER E., GREFENSTETTE G., HULL D. & ROUX C. (2000) Recherche d’information
en français et traitement automatique des langues. Traitement automatique des langues, 41(2) : 473–493.
(Gaussier, 1999) GAUSSIER E. (1999). Unsupervised learning of derivational morphology from inflectional
lexicons. ACL workshop on Unsupervised Methods in Natural Language Learning.
(Grabar & Zweigenbaum, 2000) GRABAR N., ZWEIGENBAUM P. (2000) Automatic acquisition of domainspecific morphological resources from thesauri. In Proceedings of RIAO 2000 : Content-Based Multimedia
Information Access, pp. 765–784.
145
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
(Grabar et al., 2002) GRABAR N., ZWEIGENBAUM P., SOUALMIA LF., DARMONI SJ. (2002) Les utilisateurs de
Doc'CISMeF peuvent-ils trouver ce qu'ils cherchent ? Une étude de l'adéquation du vocabulaire des
requêtes des utilisateurs du MeSH; Journées Francophones d'Informatique Médicale, pp.158-169.
(Grabar et al., 2003) GRABAR N., ZWEIGENBAUM P., SOUALMIA LF., DARMONI SJ. (2003) Matching Controlled
Vocabulary; Medical Informatics Europe, pp.445-450.
(Grabar & Zweigenbaum, 2000) GRABAR N., ZWEIGENBAUM P. (2000) A general method for sifting
linguistic knowledge from structured terminologies. J Am Med Inform Assoc; 7(suppl):310–4.
(Grabar, 2004) GRABAR. (2004) Terminologie médicale et morphologie : acquisition de ressources
morphologiques et leur utilisation pour le traitement de la variation terminologique. Thèse de Doctorat,
Paris 6.
(Grefenstette, 1997) GREFENSTETTE G. (1997) Short query linguistic expansion techniques : palliating oneword queries by providing intermediate structure to texts. Lecture Notes in Computer Science # 1299
pp.97-114
(Hamon et al., 1998) THIERRY HAMON, ADELINE NAZARENKO, AND CÉCILE GROS. (1998) A step towards the
detection of semantic variants of terms in technical documents. Proceedings of the 17th COLING, pp.498–
504.
(Hamon et al., 1999) HAMON, T., GARCIA, D., ET NAZARENKO, A. (1999) Détection de liens de synonymie :
complémentarité des ressources générales et spécialisées. In Actes de Terminologie et Intelligence
Artificielle TIA’99, pp.45–58.
(Hathout et al., 2002) HATHOUT N, NAMER F, DAL G. (2002) An experimental constructional database: the
MorTAL project. In: Boucher P Ed., Many morphologies. pp.178–209.
(Hathout, 2001) HATHOUT N. (2001) Analogies morpho-synonymiques. Actes de TALN 2001.
(Hull, 1996) HULL, D. A. (1996) Stemming algorithms : A case study for detailed evaluation. Journal of the
American Society of Information Science, 47(1) :70–84.
(Imbs, 1971) Imbs. (1971) Etudes statistiques sur le vocabulaire français. dictionnaire des fréquences
vocabulaire littéraire des XIX et XX siècles, centre de la recherche pour un trésor de la langue française
(CNRS) Nancy
(INSERM, 2000) INSERM (2000). Thésaurus Biomédical Français/Anglais. Institut National de la Santé
et de la Recherche Médicale, Paris.
(Jacquemin & Tzoukermann, 1999) JACQUEMIN C., TZOUKERMANN E. (1999) NLP for term variant
extraction: A synergy of morphology, lexicon, and syntax.
(Jacquemin, 1997 a) JACQUEMIN CH. (1997) « Guessing morphology from terms and corpora »,
Proceedings, 20th Annual International ACM SIGIR Conference on Research and Development in
Information Retrieval (SIGIR'97).
(Jacquemin, 1997 b) JACQUEMIN C. (1997b) Variation terminologique : Reconnaissance et acquisition
automatique de termes et de leurs variantes en corpus. Mémoire d’habilitation à diriger des recherches,
Université de Nantes.
(Jacquemin, 1999) JACQUEMIN C. (1999) Syntagmatic and pragmatic representations of term variation. 37
eme annual meeting of the association for computational linguistics (ACL’99) pp.341-348.
(Jing & Tzoukerman, 1999) JING, H. & TZOUKERMAN, E. (1999) Information Retrieval based on Context
Distance and Morphology. In Proceedings of 22th Annual International ACM SIGIR Conference on
Research and Development in Information Retrieval (SIGIR’99), pp.90–96.
(Jouis, 1993) C. JOUIS. (1993) Contributions à la conceptualisation et à la modélisation des connaissances
à partir d’une analyse linguistique de textes. réalisation d’un prototype : le système Seek. Thèse de
Doctorat, EHESS, Paris.
(Karttunen et al., 1997) KARTTUNEN L., GAÁL T., KEMPE A. (1997) Xerox Finite-State Tool. Technical
Report. Xerox Research Centre Europe, Grenoble.
(Klavans et al., 1997) KLAVANS, J.L. JACQUEMIN, C. & TZOUKERMANN, E. (1997) A Natural Language
Approach to Multi-Word Term Conflation. In Proceedings, DELOS Workshop on Cross-Language
Information Retrieval.
146
(Koskenniemi, 1983) KOSKENNIEMI, K. (1983) Two-level model for Morphological Analysis, 8th IJCAI
Conference.
(Krovetz, 1993) R. KROVETZ. (1993) Viewing Morphology as an Inference Process. Annual International
ACM SIGIR Conference on Research and Development in Information Retrieval; pp.191-203.
(Lambert & Chesnet. , 2001) LAMBERT E, CHESNET D. (2001) Novlex : une base de données lexicale pour les
élèves de primaire, L’Année psychologique 01,pp.277-288.
(Losee, 1996) R. M. LOSEE. (1996) How part-of-speech tags affect text retrieval and filtering performance.
(Lovis & Baud, 2000) LOVIS, C., BAUD, R. (2000) Fast Exact String Pattern-Matching Algorithms Adapted
to the Characteristics of the Medical Language. JAMIA, 7(4):378–391.
(Lovis et al., 1998) LOVIS C, BAUD R, RASSINOUX AM, MICHEL PA, AND SCHERRER JR. (1998) Medical
dictionaries for patient encoding systems: a methodology. Artif Intell Med. 14:201–14.
(Mc Cray et al., 1994) MC CRAY AT, SRINIVASAN S, AND BROWNE AC. (1994) Lexical methods for managing
variation in biomedical terminologies. In Proc 18th Annu Symp Comput Appl Med Care, pp.235–239.
(Mohri et al., 2000) MOHRI M., PEREIRA F., RILEY M. (2000) The design principles of a weighted finite-state
transducer library. Theoretical Computer Science, 231:17-32.
(Mooers, 1950) MOOERS C. (1950) The theory of digital handling of non-numerical information and
applications to machine economics; Technical bulletin No. 48 ; Cambridge, MA, USA.
(Nakamura, 2003) NAKAMURA T. (2003) Analysing texts in a specific domain with local grammars: The
case of stock exchange market reports, In Proceedings of the First International Conference on Linguistic
Informatics.
(Namer, 2000) NAMER F. (2000) FLEMM : un analyseur flexionnel du français à base de règles.
Traitement Automatique des Langues 2000; 41(2):523–47.
(Namer, 2002) NAMER F. (2002) Acquisition automatique de sens à partir d’opérations morphologiques
en français : études de cas. Actes de TALN 2002.
(New et al., 2001) NEW, B., PALLIER, C., FERRAND, L. AND MATOS R. (2001) Une Base de Données Lexicales
du Français Contemporain sur Internet: lexique, L'Année psychologique, 447-462.
(New et al., 2005) NEW B, PALLIER C, BRYSBAERT M, FERRAND L. (2004) Lexique 2 a new French lexical
database. Behavior, research methods instruments and computers. (in press)
(OMS, 1993) ORGANISATION MONDIALE DE LA SANTE. (1993) Classification statistique internationale des
maladies et des problèmes de santé connexes — Dixième révision, Genève.
(Paumier, 2003) PAUMIER S. (2001). Some remarks on the application of a lexicon-grammar, Lingvisticæ
Investigationes XXIV:2, Amsterdam/Philadelphia, John Benjamins, pp. 245-256.
(Porter, 1980) M.F. PORTER. (1980) An algorithm for suffix stripping; Program 14 (3) ; pp. 130-137.
(Pouliquen et al., 2002) POULIQUEN B, DELAMARRE D, ET LE BEUX P. (2002) Indexation de textes médicaux
par extraction de concepts, et ses utilisations. In: Actes de JADT, 2002.
(Revuz, 1991) REVUZ D. (1991) Dictionnaires et lexiques : méthodes et algorithmes. Thèse de Doctorat en
Informatique, Paris 7.
(Riloff, 1995) E. RILOFF. (1995) Little words can make big difference for text classification; Actes de 18th
Annual International ACM SIGIR Conference on Research and Development in Information Retrieval ;
pp.130-136.
(Roche & Schabes, 1997) ROCHE E., SCHABES Y. (Eds.) (1997) Finite-State Language Processing, MIT Press.
(Royauté et al., 1992) ROYAUTE J., SCHMIDT L., OLIVETAN E. (1992) Les expériences d'indexation à l'INIST;
COLING-92 ; pp. 1058-1063.
(Savoy, 1993) SAVOY J. (1993) Stemming of French Words Based on Grammatical Categories, JASIS:
Journal of the American Society for Information Sciences, Vol. 44 :1, pp. 1-9.
(Savoy, 2002) SAVOY J. (2002) Morphologie et recherche d’information. Cahier de recherche en
informatique CR-I-2002-01, Université de Neuchatel, Division économique et sociale, Faculté de Droit et
des Sciences Économiques.
147
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
(Schmid, 1994) SCHMID H. (1994) Probabilistic part-of-speech tagging using decision trees. In:
Proceedings of the International Conference on New Methods in Language Processing, pp.44–49.
(Silberztein, 1993) SILBERZTEIN M. (1993) Dictionnaires électroniques et analyse automatique de textes : le
système INTEX. Masson, Paris.
(Snomed, 1996) SNOMED (1996) Côté RA. Répertoire d’anatomopathologie de la SNOMED internationale,
v3.4. Université de Sherbrooke, Sherbrooke, Québec.
(Soualmia & Darmoni, 2003 a) SOUALMIA LF., DARMONI SJ. (2003 a) Une Terminologie Orientée Ontologie
pour la Recherche d'Information sur la Toile; Journées Francophones de la Toile, pp.185-194.
(Soualmia & Darmoni, 2003 b) SOUALMIA LF., DARMONI SJ. (2003 b) Projection de Requêtes pour une
Recherche d'Information Intelligente sur le Web. Rencontres Jeunes Chercheurs en Intelligence Artificielle
(Soualmia & Darmoni, 2004 a) SOUALMIA LF., DARMONI SJ. (2004 a) Combining Knowledge-based
Methods to Refine and Expand Queries in Medicine; FQAS, Flexible Query Answering Systems Lectures
Notes in Artificial Intelligence # 3055 .pp 243-255
(Soualmia & Darmoni, 2004 b) SOUALMIA LF., DARMONI SJ. (2004 b) Correcting and Refining Users
Queries: the Contribution of Morphological Knowledge and Association rules; IPMU, Information
Processing and Management of Uncertainty in Knowledge-Based Systems, pp. 2059-2066.
(Soulé-Dupuy, 1990) SOULE-DUPUY C. (1990) Systèmes de recherche d’informations : mécanismes
d’indexation et d’interrogation. Thèse de Doctorat, Université Toulouse III.
(Sproat, 1992) SPROAT, R.W. (1992) Morphology and Computation. Cambridge: MIT Press.
(Tanguy & Hathout, 2002) TANGUY L. & HATHOUT N. (2002) Webaffix : un outil d’acquisition
morphologique dérivationnelle à partir du Web. Actes de TALN 2002, pp.245–254.
(Woods, 2000) WOODS, W.A. (2000). Aggressive Morphology for Robust lexical Coverage. Sixth Applied
Natural Language Processing Conference, pp.218-223.
(Xu & Croft, 1998) XU J.,CROFT BW. (1998) Corpus-based stemming using co-occurrence of word variants.
ACM Transactions on Information Systems; 16(1):61–81.
(Zweigenbaum & Grabar, 1999) ZWEIGENBAUM, GRABAR (1999) A contribution of medical terminology to
medical language processing resources: experiments in morphological knowledge acquisition from
thesauri. In working group 6 of IMIA pp. 155-167
(Zweigenbaum & Grabar, 2002) ZWEIGENBAUM, GRABAR. (2002) Restoring accents in unknown
biomedical words: application to the French mesh thesaurus. International Journal of Medical
Informatics pp.113-126.
(Zweigenbaum & Grabar, 2003) ZWEIGENBAUM P., GRABAR N. (2003) Corpus based associations provide
additional morphological variants to medical terminologies. American Medical Informatics Association
pp.768-772
(Zweigenbaum & Menelas, 1994) ZWEIGENBAUM P, CONSORTIUM MENELAS. (1994) Menelas: an access
system for medical records using natural language. Comput Methods Programs Biomed 45:117–20.
(Zweigenbaum et al., 2001 a) ZWEIGENBAUM P, GRABAR N DARMONI SJ (2001 a) L’apport de connaissances
morphologiques pour la projection de requêtes sur une terminologie normalisée. Traitement Automatique
du Langage Naturel 2001, pp.403-408
(Zweigenbaum et al., 2001 b) ZWEIGENBAUM P, DARMONI SJ, ET GRABAR N. (2001 b) The contribution of
morphological knowledge to French MeSH mapping for information retrieval. Journal of the American
Medical Informatics Association; 8(suppl):796–800.
(Zweigenbaum et al., 2003) ZWEIGENBAUM P., HADOUCHE F., GRABAR N. (2003) Apprentissage de relations
morphologiques en corpus. TALN 2003
(Zweigenbaum et al., 2004) ZWEIGENBAUM P, BAUD R BURGUN A NAMER F JARROUSSE E GRABAR N RUCH P
LE DUFF F FORGET JF DOUYERE M DARMONI SJ. (2004) UMLF a unifed medical lexicon for French
International Jounal of Medical Informatics. In press.
(Zweigenbaum & Courtois, 1998) ZWEIGENBAUM P, COURTOIS P. (1998) Acquisition of lexical resources
from SNOMED for medical language processing. Proc 9th World Congress on Medical Informatics,
pp.586–90.
148
(Zweigenbaum, 2001) ZWEIGENBAUM P. (2001) Ressources pour le domaine médical : terminologies,
lexiques et corpus médicaux. Lettre de l’ELRA 6(4):8–11.
149
CHAPITRE 3 : TRAITEMENTS LINGUISTIQUES
150
CHAPITRE 4
DECOUVERTE DE CONNAISSANCES
DES TEXTES AUX REGLES D’ASSOCIATION
SOMMAIRE
4.1 INTRODUCTION ...................................................................................................................153
4.2 FOUILLE DE DONNEES.......................................................................................................154
4.2.1 FOUILLE DE DONNEES TRANSACTIONNELLES ...................................................................154
4.2.2 EXTRACTION D’ITEMSETS ...............................................................................................158
4.2.3 EXTRACTION D’ITEMSETS FREQUENTS ............................................................................159
4.2.4 PROCESSUS D’EXTRACTION DE REGLES D’ASSOCIATION ...................................................162
4.2.4.1 PREPARATION DES DONNEES ....................................................................................163
4.2.4.2 EXTRACTION DES ENSEMBLES FREQUENTS D’ATTRIBUTS ...............................................163
4.2.4.3 GENERATION DES REGLES D’ASSOCIATION ..................................................................163
4.2.4.4 INTERPRETATION DES RESULTATS.............................................................................163
4.2.5 AUTRES METHODES .......................................................................................................164
4.2.5.1 DECOUVERTE DE PEPITES DE CONNAISSANCES .............................................................164
4.2.5.2 EXTRACTION D’ITEMSETS FREQUENTS MAXIMAUX .......................................................165
4.2.5.3 CONTRAINTES SUR LES ITEMS ...................................................................................165
4.2.5.4 EXTRACTION D’ITEMSETS FERMES FREQUENTS ............................................................165
4.2.6 ALGORITHMES CLOSE ET A-CLOSE ..................................................................................166
4.2.6.1 ALGORITHME CLOSE...............................................................................................167
4.2.6.2 ALGORITHME A-CLOSE ...........................................................................................167
4.2.6.3 PROBLEME DE LA PERTINENCE ET DE L’UTILITE DES REGLES D’ASSOCIATION .....................172
4.2.7 BASES POUR LES REGLES D’ASSOCIATION ........................................................................173
4.2.7.1 BASE GENERIQUE POUR LES REGLES D’ASSOCIATION EXACTES ........................................174
4.2.7.2 BASE INFORMATIVE POUR LES REGLES D’ASSOCIATION APPROXIMATIVES .........................176
4.3 AUTRES MESURES STATISTIQUES ...................................................................................179
4.4 FOUILLE DE TEXTES ET FOUILLE DU WEB ................................................................... 182
4.4.1 PRINCIPE DE LA FOUILLE DE TEXTES .............................................................................. 182
4.4.2 SIGNIFICATION DES REGLES D’ASSOCIATION .................................................................. 183
4.4.3 PROCESSUS D’EXTRACTION ............................................................................................ 184
4.4.4 SYSTEMES DE FOUILLE DE TEXTES ..................................................................................185
4.4.5 FOUILLE DU WEB ...........................................................................................................187
151
4.5 EVALUATION DES REGLES D’ASSOCIATION .................................................................. 188
4.6 EXPERIENCES D’EXTRACTION DE REGLES D’ASSOCIATION...................................... 189
4.6.1 FOUILLE DE DONNEES ................................................................................................... 189
4.6.1.1 MOTS CLES ............................................................................................................ 191
4.6.1.2 MOTS CLES OU QUALIFICATIFS .................................................................................. 191
4.6.1.3 ASSOCIATIONS MOT CLE/QUALIFICATIF ......................................................................192
4.6.2 FOUILLE DE DONNEES AVEC CATEGORISATION ................................................................192
4.6.2.1 MOTS CLES...........................................................................................................195
4.6.2.2 ASSOCIATION MOTS CLES/QUALIFICATIFS ..................................................................195
4.6.3 FOUILLE DE TEXTES ......................................................................................................196
4.6.4 FOUILLE DE DONNEES PONDEREES ................................................................................197
4.6.4.1 MOTS CLES EN MAJEUR .........................................................................................197
4.6.4.2 ASSOCIATIONS MOTS CLES/QUALIFICATIFS EN MAJEUR .............................................. 198
4.6.5 EVALUATION DES REGLES D’ASSOCIATION .....................................................................200
4.7 EXPLOITATION POUR LA RECHERCHE D’INFORMATION........................................... 202
4.8 CREATION DE REGLES EXPERTES .................................................................................. 204
C
4.9 QUELQUES PERSPECTIVES.......................................................................................... 206
152
Dans ce Chapitre 4, nous proposons d’adopter une nouvelle approche pour
la recherche d’information, à savoir l’exploitation de règles d’association
déduites à partir du contenu des documents. Pour cela, nous utilisons un
processus d’extraction de connaissances ‘enfouies’ dans les données. Nous
détaillons les algorithmes que nous avons appliqués. Ils se fondent sur une
analyse formelle de treillis de concepts. Nous décrivons enfin comment ces
règles d’association peuvent être exploitées dans la recherche
d’information.
4 .1
In tro d u ctio n
L’extraction de connaissances ou encore fouille de données dans des bases de données est
une activité qui consiste à analyser un ensemble de données brutes de façon à en extraire des
connaissances exploitables. Ces nouvelles connaissances sont initialement sous la forme de
motifs intéressants (non triviaux, implicites, précédemment inconnus et potentiellement utiles).
Les connaissances extraites peuvent être utilisées pour faire des prédictions à propos de
données nouvelles ou pour expliquer des données existantes. Un système d’extraction de
connaissances à partir de bases de données peut s'appuyer sur des connaissances du domaine
lors du processus d’extraction. Les applications de l’extraction de connaissances à partir de
données vont de l’analyse de marché (problématique de l’analyse du « panier de la ménagère »)
à la fouille de texte et du Web, en passant par la gestion des risques et l’analyse de données
scientifiques. La finalité du processus d’extraction, outre la découverte de nouvelles
connaissances, est la génération de règles d’association, la classification, l’estimation, la
prédiction, le clustering…etc.
Un système de fouille de données peut générer plusieurs milliers voire des millions de motifs
fréquents dont seulement quelques-uns sont intéressants pour un utilisateur donné. Un motif
est intéressant s’il est facilement compréhensible par les utilisateurs, valide sur de nouvelles
données avec un degré de certitude, potentiellement utile, nouveau, ou s’il confirme une
hypothèse. Il existe des mesures d’intérêt objectives : basées sur des statistiques (support,
confiance…etc.) et des mesures d’intérêt subjectives : basées sur les connaissances des
utilisateurs à propos des données (motifs inattendus).
Dans notre étude nous nous intéressons à l’extraction de règles d’association. Les règles
d'association ont été utilisées avec succès dans de nombreux domaines, parmi lesquels l'aide à la
planification commerciale, l'aide au diagnostic et en recherche médicale, l'amélioration des
processus de télécommunications, l'organisation et l'accès aux sites Internet, et l'analyse
d'images, de données spatiales, de données géographiques et de données statistiques. Nous
proposons ici de les exploiter dans un processus de recherche d’information afin d’enrichir les
requêtes des utilisateurs avec de nouvelles connaissances issues des documents eux-mêmes.
Pour nos expérimentations nous utilisons la base de données relationnelle du CISMeF. Nous
adaptons ensuite le processus de fouille de données à la fouille de textes avec en entrée les textes
intégraux du catalogue. L’extraction peut être vue comme le processus alimentant un système à
base de connaissances : les connaissances extraites sont stockées dans la base pour être
réutilisées lors du traitement des requêtes.
153
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
C’est souvent un expert du domaine relatif aux données « l'analyste » qui est chargé de
diriger l’extraction en fonction de ses objectifs. Dans notre cas, l’expert interviendra en fin de
processus, dans la phase d’évaluation des règles d’association extraites.
4 .2
Fo u ille d e D o n n é e s
Un exemple de règle d'association extraite d'une base de données de ventes de supermarché
est : « céréales, sucre → lait (support 7%, confiance 50%)». Cette règle indique que les clients
qui achètent des céréales et du sucre ont également tendance à acheter du lait. La mesure de
support définit la portée de la règle, c’est à dire la proportion de clients qui ont acheté les trois
articles, et la mesure de confiance définit la précision de la règle, c’est à dire la proportion de
clients qui ont acheté du lait parmi ceux qui ont acheté des céréales et du sucre. L’extraction de
règles d'association consiste à extraire les règles dont le support et la confiance sont au moins
égaux à des seuils minimaux de support et de confiance définis par l'utilisateur.
4 .2 .1
Fo u ille d e D o n n é e s Tran s actio n n e lle s
Une base de données transactionnelles est composée d’un ensemble d’enregistrements.
Chaque enregistrement est décrit par un ensemble d’attributs. Chaque attribut est à valeur
booléenne ou discrète. Les exemples classiques de données transactionnelles sont les tickets de
caisse d’un supermarché, les résultats des recensements, les réponses à un sondage
d’opinions…etc.
TAB.4.1.− Exemples de transactions.
Id e n tifian t
Tran s actio n
1
Beurre, Fruits, Lait, Pain
2
Fruits, Lait, Pain
3
Beurre, Fromage, Pain, Pâtes, Viande, Soda
4
Fromage, Fruits, Lait, Légumes, Pain, Pâtes, Poisson
5
Beurre, Fruits, Lait, Légumes, Pain, Pâtes, Poisson, Viande
6
Beurre, Fromage, Légumes, Pain, Pâtes, Viande, Soda
7
Beurre, Fromage, Lait, Légumes, Pain, Pâtes, Viande, Soda
8
Fruits, Légumes, Poisson
9
Beurre, Fromage, Lait, Pain, Pâtes, Viande, Soda
10
Beurre, Fromage, Fruits, Lait, Légumes, Pain, Poisson, Viande
Le tableau 4.1 présente un exemple de données transactionnelles. La première mesure
importante en fouille de données est le support (ou fréquence) des attributs. Sur l’exemple du
tableau, le support de l’attribut lait est de 7/10 cad que 70% des transactions (enregistrements)
154
contiennent l’attribut lait. Le support d’un ensemble d’attributs peut également être exprimé : le
support de l’ensemble des attributs {pain, lait, fromage} est de 4/10.
L’extraction de connaissances à partir de ces données peut prendre différentes formes :
− La recherche des attributs les plus fréquemment présents dans les transactions (pour
l’exemple donné et par ordre décroissant de support nous obtenons pain, lait beurre,
pâtes…etc.)
− Recherche des transactions contenant un ou plusieurs attributs donnés.
− Recherche de relations entre attributs permettant d’expliquer le comportement des
acheteurs. Par exemple, tous les clients qui achètent du fromage achètent également du pain.
Chacune des formes d’analyse des données est pertinente. Le choix du type de connaissances
recherchées est lié à l’utilisation que l’on souhaite en faire.
Nous nous sommes focalisés sur l’extraction de relations entre attributs dans le but d’essayer
de trouver des lois permettant de mieux comprendre les données étudiées. Ces relations sont
appelées règles d’association et peuvent s’exprimer sous la forme suivante :
attribut1, attribut4 → attribut10
Cette règle est composée d’une prémisse, {attribut1, attribut4} et d’une conclusion attribut10.
La règle nous indique que lorsqu’une transaction contient les attributs attribut1 et attribut4,
alors l’attribut10 est souvent rencontré. Une nouvelle mesure, la confiance, nous permet
d’apprécier la qualité de la règle trouvée. La confiance indique le pourcentage de transactions
contenant la prémisse et la conclusion parmi celles contenant la prémisse. Une règle est toujours
fournie avec les deux mesures de support et de confiance.
Le tableau 4.2 présente quelques-unes des 8 555 règles trouvées à partir de la base du
magasin et vérifiant les contraintes de support ≥ 10% et de confiance ≥ 80%.
TAB.4.2.− Exemple de règles d’association.
Rè gle d ’As s o ciatio n
Su p p o rt
Co n fia n ce
Beurre → Pain
70%
100%
Pain → Beurre
70%
77.7%
Soda → Beurre
40%
100%
Poisson, Viande → Lait
20%
100%
Fromage, Pâtes → Soda
40%
80%
Les données transactionnelles peuvent être représentées sous la forme d’un tableau
d’incidence (ou d’existence) à double entrée de dimension (n × p) croisant un ensemble
O={oi|1≤ i ≤ n} de n objets avec un ensemble A = {aj| 1 ≤ j ≤ p} de p attributs booléens. Nous
noterons αij=aj(oi), 1 ≤ i ≤ n, 1 ≤ j ≤p.
155
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
A
a1
O
a2
aj
o1
.
o2
.
.
.
ap
oi . . . . . . . . . . . . . . αij
.
on
FIG.4.1.− Tableau d’incidence.
La figure 4.1 illustre les notations retenues pour les données manipulées. Les tableaux 3.3 et
3.4 présentent la correspondance entre la représentation transactionnelle d’une base B
composée de 6 objets décrits par 5 attributs booléens et la représentation matricielle de cette
même base. On peut supposer, sans restreindre la généralité, que la valeur Vrai d’un attribut est
sémantiquement plus signifiante que la valeur Faux de cet attribut. Cela se traduit
statistiquement par le fait que le nombre d’objets où l’attribut est à Vrai est inférieur au nombre
d’objets où l’attribut est à Faux.
Pour éviter la surcharge d’indices les éléments de A sont désignés par des lettres capitales A,
B, C qui sont couramment utilisées dans le domaine de la fouille de données (Agrawal et al.,
1993) (Guillaume, 2000) (Lehn, 2000) (Bastide et al., 2002). Les transactions sont classées par
ordre alphabétique.
TAB.4.3.− Exemple de base de données transactionnelles B
O
Tran s actio n
O1
ABCDE
O2
ABCE
O3
C
O4
BC
O5
ABCD
O6
ABC
156
TAB.4.4.− Représentation matricielle de la base de données B
A
B
C
D
E
O1
1
1
1
1
1
O2
1
1
1
0
1
O3
0
0
1
0
0
O4
0
1
1
0
0
O5
1
1
1
1
0
O6
1
1
1
0
0
Notre principal objectif est la détection de relations entre les objets de O. Chaque objet étant
décrit par un sous-ensemble des attributs booléens de A, nous nous sommes intéressés aux
relations pouvant exister entre les attributs de A et étant vérifiées par les objets de O.
D é fin itio n 4 .1 (REGLE D’ASSOCIATION)
La relation A → B est appelée règle d’association entre A et B (A≠ B) avec A⊆ A, B
⊆ A et A I B = ∅. A est la prémisse de la règle et B la conclusion. Une règle est
caractérisée par son support et sa confiance.
Notons nA= card (O (A)) (resp. (nB)) le nombre d’objets de O où A (resp. B) est à Vrai.
Notons nAB= card (O ( A I B )) le nombre d’objets de O où A et B sont tous les deux à Vrai.
Cette valeur est appelée indice brut d’association entre A et B. Notons Ā la négation de A. Nous
avons O(A) ∪ O(Ā)= O. O(Ā) représente l’ensemble des objets de O où A est à Faux.
D é fin itio n 4 .2 (SUPPORT)
Le support ou taux de couverture d’une règle d’association A → B est défini par :
Support (A → B)= nAB . Cette mesure peut être exprimée en fonction du nombre
total d’objets n.
D é fin itio n 4 .3 (CONFIANCE)
La confiance d’une règle d’association A → B est définie par :
Confiance (A → B )= nAB/nA ≃ P(B|A).
Cette mesure représente le pourcentage d’objets vérifiant la conclusion de la règle
parmi celles qui vérifient la prémisse. P(B|A) représente la probabilité
conditionnelle qu’une transaction contienne l’attribut B sachant qu’elle contient
l’attribut A.
Deux types de règles d'association sont distingués :
157
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
• Les règles d'association exactes dont la confiance est égale à 100% qui sont vérifiées dans
tous les objets du contexte.
• Les règles d'association approximatives dont la confiance est inférieure à 1 qui sont vérifiées
dans une proportion d'objets du contexte égale à leur confiance.
Les deux mesures de support et de confiance, initialement utilisées par (Agrawal et al.,
1993) dans un contexte d’extraction de règles d’association avaient déjà été introduites par
(Hajek et al., 1966) (Hajek, 2001) dans un cadre de génération automatique d’hypothèses à
partir de données. Les mesures de support et de confiance permettent retenir seulement les
règles d’association vérifiant les conditions imposées par l’utilisateur. Ces conditions
garantissent que chaque règle trouvée possède un support et une confiance supérieurs aux seuils
minsupport et minconfiance fixés par l’utilisateur avant l’utilisation de l’algorithme d’extraction
des règles.
4 .2 .2
Extractio n d ’Ite m s e ts
Il existe plusieurs méthodes permettant de trouver toutes les règles d’association contenues
dans une base de données transactionnelles. La plus simple d’entre elles consiste à énumérer
tous les ensembles d’attributs appelés itemsets puis à partir de ces itemsets, de calculer toutes
les règles d’association possibles. Le nombre total d’itemsets pour une base de données
contenant n attributs booléens 2n. Cette méthode très naïve est bien évidemment inapplicable
aux données réelles car le nombre d’itemsets candidats devient très rapidement supérieur aux
capacités de traitement d’un ordinateur.
Par exemple pour la base commerciale, le nombre total d’itemsets pouvant être obtenu est de
210=1 024. Dans un centre commercial, le nombre d’articles mis en rayon se rapproche plus de
1000 que de 10 et dans ce cas, le nombre d’itemsets pouvant être obtenu est proche de 10300.
Les règles d’association recherchées sont obtenues à partir des itemsets fréquents trouvés.
Pour un itemset de taille k appelé k-itemset le nombre possible de règles est ∑ki=2 C ki . Ainsi pour
un itemset de taille 6 cad un panier contenant seulement 6 articles, le nombre de règles possible
est 57. Ce nombre de règles peut paraître faible mais le problème est que le nombre d’itemsets
de taille 6 est de 1018.
Les itemsets forment un treillis dont la représentation sous forme de diagramme de Hasse
pour le contexte B.
En résumé, cette première méthode est donc inexploitable pour des données
transactionnelles réalistes. Un des défauts de cette méthode est lié au fait que de nombreux
itemsets sont calculés pour finalement ne pas conduire à des règles intéressantes (support ou
confiance inférieurs aux seuils choisis).
158
4 .2 .3
Extractio n d ’Ite m s e ts Fré qu e n ts
Une méthode beaucoup moins naïve et nettement plus efficace consiste à calculer les
itemsets ayant un support supérieur à un seuil fixé au départ par l’utilisateur. Ces itemsets sont
appelés itemsets fréquents. Les temps de réponse de l’extraction des règles d'association
dépendent principalement des temps d’extraction des itemsets fréquents car plusieurs balayages
du contexte doivent être réalisés en comptant pour chaque itemset fréquent potentiel le nombre
d'objets du contexte dans lesquels il est contenu. Le nombre d'itemsets à considérer et la taille
des jeux de données (contexte d’extraction) étant importants (de plusieurs dizaines de milliers à
plusieurs millions d'objets et de plusieurs centaines à plusieurs milliers d'items) des algorithmes
permettant de minimiser le nombre d'itemsets candidats (itemsets potentiellement fréquents)
considérés et le nombre de balayages du contexte ont été proposés.
Les algorithmes d’extraction des itemsets fréquents par niveaux considèrent un ensemble
d'itemsets d'une taille donnée lors de chaque itération, c’est à dire un ensemble d'itemsets d'un
« niveau » du treillis des itemsets. Ces algorithmes se basent sur les propriétés suivantes afin de
limiter le nombre d'itemsets candidats considérés, en les générant à partir des itemsets
fréquents de l'itération précédente : tous les sur-ensembles d'un itemset infréquents sont
infréquents et tous les sous-ensembles d'un itemset fréquent sont fréquents (Agrawal &
Srikant, 1994) (Mannita et al., 1994). Nous pouvons citer les algorithmes APRIORI (Agrawal &
Srikant, 1994) et OCD (Mannita et al., 1994) qui réalisent un nombre de balayages du contexte
égal à la taille des plus longs itemsets fréquents. L'algorithme PARTITION (Savasere et al., 1995)
autorise la parallélisation du processus d’extraction. L'algorithme DIC (Brin et al., 1997a) réduit
le nombre de balayages du contexte en considérant les itemsets de plusieurs tailles différentes
lors de chaque itération. Les algorithmes PARTITION et DIC entraînent un coût supplémentaire
en temps par rapport aux algorithmes Apriori et OCD dû à l'augmentation du nombre d'itemsets
candidats testés.
La classification fondée sur les treillis peut être considérée comme une technique symbolique
de fouille de données qui peut être exploitée pour extraire, à partir d’une base de données, ou
d’un ensemble de données régulières, un ensemble de concepts organisés en une hiérarchie (un
ordre partiel), des itemsets fréquents (des ensembles de propriétés qui cooccurent ensemble
avec une certaine fréquence). La classification basée sur des treillis repose sur l’analyse de tables
booléennes qui relient un ensemble d’individus avec un ensemble de propriétés (ou de
caractéristiques) où la valeur Vrai est utilisée pour indiquer que l’individu i possède la propriété
j. Les relations entre les individus et les propriétés peuvent être lues comme suit : l’individu i
possède ou ne possède pas la propriété j. Le treillis peut être construit en fonction de la
correspondance de Galois, classifiant en un concept formel un ensemble d’individus (l’extension
du concept) qui partagent un même ensemble de propriétés.
De manière parallèle, l’extension d’itemsets fréquents consiste en l’extraction de tables
booléennes des ensembles de propriétés qui co-occurrent avec un support ou une fréquence
supérieure à un seuil donné cad le nombre d’individus partageant les mêmes propriétés. A partir
des itemsets fréquents, il est possible de générer des règles d’association de la forme A → B
reliant le sous-ensemble de propriétés A avec le sous-ensemble de propriétés B et qui peut être
interprétée comme suit : les individus incluant A incluent également B avec un certain support
et une certaine confiance. Le nombre de règles qui peut être extrait est très grand et il y a donc
159
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
un besoin d’élaguer les ensembles de règles extraites pour mieux les interpréter (le plus souvent
l’analyste est en charge d’interpréter les résultats du processus d’extraction de règles).
L’algorithme APRIORI (Agrawal & Srikant, 1994) est l’algorithme de référence en la matière.
Il existe de nombreuses améliorations de cet algorithme mais leur principe général est le même
et est fondé sur la génération des itemsets par niveaux :
− calcul des 1-itemset fréquents
− utilisation des (n-1)-itemsets fréquents pour calculer les n-itemsets fréquents candidats.
La réduction significative du nombre d’itemsets engendrés (par rapport à la méthode naïve)
est due à la propriété mathématique d’anti-monotonie du support qui assure que si un itemset
de taille k n’est pas fréquent alors tous les ensembles de taille k+1 pouvant être obtenus à partir
de cet itemset ne sont pas fréquents. Il n’est donc pas nécessaire d’engendrer les itemsets de
taille n si ceux de taille n-1 ne sont pas fréquents. Cette approche reste complète cad que tous les
itemsets vérifiant la contrainte du support minimal sont trouvés.
Le pseudo-code d’ APRIORI est donné dans l’algorithme 1. les notations utilisées sont définies
dans le tableau 4.5.
TAB.4.5.− Notations utilisées dans l’algorithme APRIORI
Sym bo le
Sign ificatio n
Ck
Ensemble des k- itemsets candidats
Lk
Ensemble des k-itemsets fréquents
Apriori-Gen
Fonction qui génère les itemsets candidats
Fo n ctio n Apriori-Gen
En tré e : Ck itemsets de taille k
So rtie : Ck+1 itemsets de taille k+1
D é bu t
INSERT INTO Ck+1
SELECT p[1], p[2], …, p[k], q[k]
FROM Ck p, Ck q
WHERE p[1] = q[1] AND … AND p[k-1] = q[k-1] AND p[k] < q[k]
Fin
La première phase de la procédure applique la phase de jointure de la procédure Apriori-Gen
aux (k-1)-itemsets de Lk-1 afin d’initialiser les (k)-itemsets candidats de Ck.
160
Algo rith m e APRIORI
En tré e : une base de données transactionnelle B ; seuil de fréquence minsupport.
So rtie : Uk Lk l’ensemble de tous les items fréquents de B.
D é bu t
L1 ← {1-itemsets fréquents}
Po u r (k ← 2 ; Lk-1 ≠ ∅ ; k++) faire
-----------/Apriori-Gen calcule les itemsets candidats de taille k à partir de ceux de taille k-1/--------Ck ← Apriori-Gen (Lk-1) ;
Po u r to u t ( t ∈B) faire
------------/Sélection des itemsets de Ck contenus dans la transaction t /----------------------------Ct ← Subset (Ck, t) ;
Po u r to u t (c ∈ Ct) faire support(c) ← support (c) +1 ;
Fin Po u r
---------------/ Sélection des itemsets vérifiant la contrainte de support /----------Lk ← {c ∈ Ck |support(c) ≤ minsupport} ;
Fin Po u r
Re to u rn e r Uk Lk ;
Fin
TAB.4.6.− Exemple de base de données transactionnelle
Id e n tifian t
Tran s actio n
1
ABCDE
2
ABCE
3
C
4
BC
5
ABCD
6
ABC
Considérons la base de données B présentée dans le tableau 4.6. La recherche des itemsets
fréquents sur ces données, avec l’algorithme APRIORI (seuil minimal de support fixé à 2/6)
fournit 23 itemsets fréquents. Le nombre d’itemsets non calculés est égal à 7. A partir de ces
itemsets fréquents, nous pouvons obtenir 32 règles d’association ayant une confiance supérieure
ou égale à 80%.
161
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
TAB.4.7.− Règles d’association obtenues à partir de la base B
Rè gle
Su p p o rt
Co n fia n ce
Rè gle
Su p p o rt
Co n fia n ce
D→A
33.3 %
100 %
DC → B
33.3 %
100 %
D→B
33.3 %
100 %
EA → B
33.3 %
100 %
D→C
33.3 %
100 %
EB → A
33.3 %
100 %
E→A
33.3 %
100 %
EA → C
33.3 %
100 %
E →B
33.3 %
100 %
EC → A
33.3 %
100 %
E→C
33.3 %
100 %
EB → C
33.3 %
100 %
A→B
66.7 %
100 %
EC → B
33.3 %
100 %
B→A
66.7 %
80 %
AB → C
66.7 %
100 %
A→C
66.7 %
100 %
AC → B
66.7 %
100 %
B→C
83.3 %
100 %
BC → A
66.7 %
80 %
C→B
83.3 %
83.3 %
DAB → C
33.3 %
100 %
DA → B
33.3 %
100 %
DAC → B
33.3 %
100 %
DB → A
33.3 %
100 %
DBC → A
33.3 %
100 %
DA → C
33.3 %
100 %
EAB → C
33.3 %
100 %
DC → A
33.3 %
100 %
EAC → B
33.3 %
100 %
DB → C
33.3 %
100 %
EBC → A
33.3 %
100 %
4 .2 .4
Pro ce s s u s d ’Extractio n d e Rè gle s d ’As s o ciatio n
L’extraction de règles d'association est un processus itératif et interactif constitué de
plusieurs phases, allant de la sélection et la préparation des données jusqu'à l'interprétation des
résultats, en passant par la phase de recherche des connaissances (Fayyad et al., 1996).
Sélection et
préparation des
données
Algorithme
de Data
Mining
Visualisation et
Interprétation
des résultats
Résultats
Base de
données
Données
préparées
TAB.4.3.− Processus d’extraction de connaissances et de règles d’association.
162
Le processus d’extraction s’effectue en plusieurs étapes :
− Pré-traitement : sélection et préparation des données, mise en forme pour l’extraction.
− Fouille de données : exécution de l’algorithme choisi.
− Visualisation : présentation des résultats à l’utilisateur pour leur interprétation.
4 .2 .4 .1
Pr é p a r a t io n d e s D o n n é e s
La phase de préparation des données consiste à sélectionner les données (attributs et objets)
de la base de données utiles à l’extraction des règles d'association et transformer ces données en
un contexte d’extraction. Ce contexte ou jeu de données, est un triplet B=(O, I, R) dans lequel
O est un ensemble d'objets, I est un ensemble d'attributs, également appelés items, et R est une
relation binaire entre O et I. Cette phase est nécessaire afin qu'il soit possible d'appliquer les
algorithmes d’extraction des règles d'association sur des données de natures différentes
provenant de sources différentes, de concentrer la recherche sur les données utiles pour
l'application et de minimiser les temps d’extraction.
4 .2 .4 .2
Ext r a ct io n d e s En s e m b le s Fr é q u e n t s d ’At t r ib u t s
La phase d’extraction des ensembles fréquents d’attributs consiste à extraire du contexte tous
les ensembles d'attributs binaires l ⊆ I appelés itemsets, qui sont fréquents dans le contexte B.
Un itemset l est fréquent si son support, qui correspond au nombre d'objets du contexte qui
«contiennent» l, est supérieur ou égal au seuil minimal de support minsupport défini par
l'utilisateur. L’ensemble des itemsets fréquents dans le contexte est noté F. Le problème de
l’extraction des itemsets fréquents est de complexité exponentielle dans la taille n de l’ensemble
d’items puisque le nombre d'itemsets fréquents potentiels est 2n. Ces itemsets forment un
treillis. De plus, des balayages du contexte doivent être réalisés lors de cette phase, et il est donc
nécessaire de développer des méthodes efficaces d’exploration de cet espace de recherche
exponentiel.
4 .2 .4 .3
Gé n é r a t io n d e s R è g le s d ’As s o cia t io n
Durant la phase de génération des règles d’association, les itemsets fréquents extraits durant
la phase précédente sont utilisés afin de générer les règles, qui sont des implications entre deux
itemsets fréquents I1, I2 ⊆ F tels que I1 ⊆ I2, de la forme r :I1→(I2\I1). Afin de limiter
l’extraction aux règles d'association les plus informatives, seules celles qui possèdent une
confiance supérieure ou égale au seuil minimal minconfiance défini par l'utilisateur sont
générées. La confiance d'une règle r : I1→(I2\I1) est définie comme la proportion d'objets
contenant la conséquence (I2\I1) de r parmi ceux qui contiennent l'antécédent I1 de r. Cette
valeur est égale au rapport entre le support de l'itemset I2 et le support de l'itemset I1.
4 .2 .4 .4
In t e r p r é t a t io n d e s R é s u lt a t s
163
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
La phase d’interprétation des résultats consiste en la visualisation par l'utilisateur des règles
d'association extraites du contexte et leur interprétation afin d’en déduire des connaissances
utiles pour l'amélioration de l'activité concernée. Dans notre cas, l’activité concernée est la
recherche d’information. Le nombre important de règles d'association extraites en général
impose le développement d'outils de classification des règles, de sélection par l'utilisateur de
sous-ensembles de règles, et de leur visualisation sous une forme intelligible. De tels outils ont
été proposés dans le système Rule Visualizer (Klemettinen et al., 1994), qui utilise des templates
de sélection des règles et permet de les visualiser sous forme textuelle ou bien sous forme de
graphes orientés.
Les connaissances de l'utilisateur final, en l’occurrence l’expert, concernant le domaine
d'application sont nécessaires lors des phases de pré-traitement, afin d'assister la sélection et la
préparation des données, et de post-traitement, pour l'interprétation et l'évaluation des règles
extraites. En fonction de l'évaluation des règles extraites, les paramètres utilisés lors des
précédentes phases (critères de sélection et préparation des données et seuils minimaux de
support et de confiance) peuvent être modifiés avant d’effectuer à nouveau l’extraction des
règles d'association, ceci afin d'améliorer la qualité du résultat.
4 .2 .5
Au tre s Mé th o d e s
4 .2 .5.1
D é co u v e r t e d e Pé p it e s d e Co n n a is s a n ce s
L’objectif principal de (Azé, 2003) est de découvrir des pépites de connaissance dans les
données. Une pépite de connaissance est caractérisée par rapport à un ensemble de règles et est
définie simplement comme étant potentiellement utile et nouvelle pour l’expert. Il a choisi de
minimiser l’interaction avec l’expert dans le processus d’extraction des pépites de connaissance.
Ce choix est motivé par le fait que bien souvent l’expert peut difficilement fournir au système les
informations nécessaires pour effectuer l’extraction des règles. Ces informations sont souvent
réduites à la définition de bornes inférieures (ou supérieures) pour le support, la confiance et
autres mesures de qualité.
(Azé, 2003) utilise d’autres propriétés que la contrainte de support pour limiter le nombre de
règles obtenues qui augmente très vite dès que le support minimal diminue. Il utilise pour cela
l’indice de moindre contradiction pour évaluer l’intérêt des règles et extraire des pépites de
connaissance. L’algorithme proposé est indépendant de la mesure de qualité utilisée mais il faut
qu’elle soit bornée. Il est difficile de rechercher de manière exhaustive l’intégralité des règles
d’association les moins contradictoires. Cette contrainte l’a amené à réduire l’ensemble des
règles recherchées en se limitant aux règles d’association ayant les propriétés suivantes :
–
Les règles se distinguant le plus des autres règles.
– Les règles être telles que leurs prémisses ne contiennent pas plus de Kmax attributs et
telles que la conclusion soit réduite à un seul attribut.
Ces règles appelées pépites de connaissance sont souvent inconnues de l’expert et sont soit
indétectables par les systèmes classiques soit difficilement détectables dans l’ensemble des
innombrables règles souvent trouvées par les systèmes classiques. Les expérimentations
réalisées montrent que les pépites de connaissances obtenues sont effectivement peu
nombreuses et qu’elles représentent relativement souvent des connaissances intéressantes. Il
164
prend cependant le risque de détecter des connaissances ayant un faible support donc non
généralisables aux autres objets du contexte.
4 .2 .5.2
Ext r a ct io n d ’It e m s e t s Fr é q u e n t s M a xim a u x
Les algorithmes d’extraction d’itemsets fréquents maximaux sont basés sur la propriété que
les itemsets dont tous les sur-ensembles sont infréquents, forment une bordure en dessous de
laquelle tous les itemsets sont fréquents. Leur extraction est réalisée par une exploration
itérative du treillis des itemsets fréquents, en progressant d’un niveau allant du bas vers le haut
et de un ou plusieurs niveaux du haut vers le bas lors de chaque itération. À partir des itemsets
fréquents maximaux, tous les itemsets fréquents sont dérivés et leurs supports sont déterminés
en réalisant un balayage du contexte. Quatre algorithmes basés sur cette approche ont été
proposés, ce sont les algorithmes Pincer-Search (Link & Kedem, 1998), MaxClique et MaxEclat
(Zaki et al., 1997), et Max-Miner (Bayardo, 1998). Ces algorithmes permettent de réduire le
nombre d'itérations, et donc de diminuer le nombre de balayages du contexte et d'opérations,
réalisés.
4 .2 .5.3
Co n t r a in t e s s u r le s It e m s
Les contraintes sur les items (Bayardo et al., 1999) (Ng et al., 1998) (Srikant et al., 1997)
sont les expressions portant sur l'antécédent et la conséquence des règles, définies par
l'utilisateur, qui spécifient la forme des règles d'association à extraire. Ces contraintes sont
utilisées lors de la phase d’extraction des itemsets fréquents afin de limiter l’espace de recherche
de cette phase aux itemsets permettant de générer les règles vérifiant les contraintes. Elles sont
prises en compte lors de la génération des itemsets candidats afin de considérer seulement les
candidats permettant de générer des règles satisfaisant les contraintes. En revanche cette
approche ne permet pas d'éliminer les règles redondantes et ne fournit qu'un résultat partiel,
tous les items du contexte n'étant pas considérés.
4 .2 .5.4
Ext r a ct io n d ’It e m s e t s Fe r m é s Fr é q u e n t s
Les itemsets fermés fréquents (Pasquier et al., 1998) (Pasquier, 2000) (Pasquier et al.,
2004) sont définis en utilisant la fermeture de la connexion de Galois d'une relation binaire finie
(Davey & Priestley, 1994) (Ganter & Wille, 1999). Ces itemsets sont les itemsets fréquents qui
sont fermés selon l'opérateur de fermeture γ de la connexion de Galois qui est la composition de
l'application φ, qui associe à un ensemble O ⊆ O les items communs à tous les objets o ∈ O, et
de l'application ψ, qui associe à un itemset l ⊆ I les objets en relation avec tous les items i ∈ l.
φ(O) : O → I
{
ψ(O) : I → O
}
{
φ(O)= i ∀o, o ∈ O → (o, i ) ∈ R
}
ψ(O)= o ∀i , i ∈ l → (o, i ) ∈ R
L'opérateur γ = φ o ψ associe à un itemset l l’ensemble maximal d'items communs à tous les
objets contenant l, c’est-à-dire l'intersection de ces objets.
165
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
Par exemple, dans le contexte B, l'itemset {A, B, C} est un itemset fermé. Il est l’ensemble
maximal d'items communs aux objets {1, 2, 5, 6}. L'itemset {A, B} n’est pas un itemset fermé car
il n’est pas un ensemble maximal d'items communs à certains objets : tous les objets contenant
les items A et C (les objets 1, 2, 5 et 6) contiennent également l'item C. Dans le cas d’une base de
données de ventes, cela signifie que les clients achètent au plus les articles A, B et C, et que tous
les clients qui achètent les articles A et B achètent également l'article C. Les itemsets fermés
fréquents, selon cet opérateur de fermeture, constituent un ensemble générateur non redondant
minimal pour tous les itemsets fréquents et leurs supports. Tous les itemsets fréquents et leurs
supports, et donc toutes les règles d'association ainsi que leurs supports et leurs confiances,
peuvent donc être déduits efficacement, sans accéder au jeu de données, à partir des itemsets
fermés fréquents et leurs supports. Cette propriété découle du fait que le support d'un itemset
fréquent est égal au support de sa fermeture et que les itemsets fréquents maximaux sont des
itemsets fermés fréquents maximaux (Pasquier et al., 2004). Les itemsets fermés fréquents
forment un treillis dont la taille est bornée par la taille du treillis des itemsets fréquents.
Toutefois, en pratique, la taille de ce treillis est en moyenne bien inférieure à la taille du treillis
des itemsets (Godin & Missaoui, 1994).
Dans (Pasquier, 2000) (Pasquier et al., 2004), les générateurs des itemsets fermés sont
définis : les générateurs d'un itemset fermé f sont les itemsets minimaux g dont la fermeture est
égale à f : γ(g) = f. Les algorithmes CLOSE et A-CLOSE sont des algorithmes d’extraction des
itemsets fermés fréquents par niveaux : ils considèrent un ensemble de générateurs candidats
d'une taille donnée, et déterminent leurs supports et leurs fermetures en réalisant un balayage
du contexte lors de chaque itération. Les fermetures (fréquentes) des générateurs fréquents sont
les itemsets fermés fréquents extraits lors de l'itération. Les générateurs candidats sont
construits en combinant les générateurs fréquents extraits durant l'itération précédente.
4 .2 .6
Algo rith m e s Clo s e e t A-Clo s e
Dans cette partie nous présentons les algorithmes CLOSE et A-CLOSE (Pasquier, 2000)
(Pasquier et al., 2004) qui utilisent la sémantique basée sur la fermeture de la connexion de
Galois. Les itemsets fermés fréquents et leurs générateurs ainsi que la base générique pour les
règles d'association exactes et la réduction transitive de la base informative pour les règles
d'association approximatives sont extraits. L'union de ces bases fournit un ensemble générateur
non redondant pour toutes les règles d'association valides, leurs supports et leurs confiances.
Elle est constituée des règles d'association non redondantes minimales (d'antécédent minimal et
de conséquence maximale) et ne représente aucune perte d'information du point de vue de
l'utilisateur : ce sont les règles d'association les plus utiles et les plus pertinentes. Toutes les
informations véhiculées par l’ensemble des règles d'association valides sont également
véhiculées par l'union de ces deux bases.
Nous nous attardons sur la description de l’algorithme A-CLOSE que nous avons implémenté
et testé dans notre processus de découverte de connaissances à partir de la base de données
CISMeF.
166
4 .2 .6 .1
Alg o r it h m e Clo s e
L'algorithme CLOSE est un algorithme itératif d’extraction des itemsets fermés fréquents qui
parcourt l’ensemble des générateurs des itemsets fermés fréquents par niveaux. Durant chaque
itération k de l'algorithme, un ensemble FFCk de k-générateurs candidats est considéré. Chaque
élément de cet ensemble est constitué de trois éléments : le k-générateur candidat, sa fermeture,
qui est un itemset fermé candidat, et le support. À la fin de l'itération k, l'algorithme stocke un
ensemble FFk contenant les k-générateurs fréquents, leurs fermetures, qui sont des itemsets
fermés fréquents, et leurs supports.
L'algorithme commence par initialiser l’ensemble FFC1 des 1-générateurs avec la liste des 1itemsets du contexte et exécute ensuite un ensemble d'itérations. Durant chaque itération k :
• La fermeture de tous les k-générateurs ainsi que leur support sont calculés. La
détermination des fermetures des générateurs est basée sur la propriété que la fermeture d'un
itemset l est égale à l'intersection de tous les objets du contexte contenant l dont le décompte
fournit le support du générateur qui est identique au support de sa fermeture. Un seul balayage
du contexte est donc nécessaire pour déterminer les fermetures et les supports de tous les kgénérateurs.
• Tous les k-générateurs fréquents, dont le support est supérieur ou égal au seuil minimal de
support minsupport, ainsi que leur fermeture et leur support, sont insérés dans l’ensemble FFk
des itemsets fermés fréquents identifiés durant l'itération k.
• L’ensemble des (k+1)-générateurs candidats (utilisés durant l'itération suivante) est
construit, en joignant les k-générateurs fréquents de l'ensemble FFk.
Les itérations cessent lorsque aucun nouveau générateur candidat ne peut être créé et
l'algorithme s'arrête alors.
L'algorithme A-CLOSE, développé pour améliorer l’algorithme ne calcule pas les fermetures
des générateurs candidats durant les itérations, mais lors d'un ultime balayage réalisé après la
fin de ces itérations.
4 .2 .6 .2
Alg o r it h m e A-Clo s e
L’algorithme A-CLOSE est un algorithme d’extraction des itemsets fermés fréquents utilisant
les propriétés des supports des générateurs des itemsets fermés fréquents. Il génère
itérativement les k-générateurs des k-groupes fréquents des ensembles FFk. L’ensemble de 1générateurs fréquents est initialisé avec les 1-itemsets fréquents du contexte et ensuite, durant
une itération k :
• un ensemble de (k+1)-générateurs candidats est créé à partir des k-générateurs fréquents
• le support de tous les (k +1)-générateurs candidats est déterminé
• les (k+1)-générateurs candidats g dont le support est égal au support d’un k-générateur qui
est un sous-ensemble de g sont supprimés.
167
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
Durant chaque itération, un balayage du contexte est réalisé afin de calculer le support des
(k+1)-générateurs candidats. Lorsque tous les générateurs fréquents sont déterminés, la
fermeture de chacun d’eux est calculée en réalisant un balayage du contexte.
TAB.4.8.− Notations utilisées dans l’algorithme
Sym bo le
Sign ificatio n
FFk
k-groupes fréquents des k-générateurs, Chaque élément de cet ensemble possède
trois champs : générateur, fermé et support.
AC-Generator Procédure qui détermine pour un ensemble de k-groupes fréquents retourne les
(k+1)-générateurs fréquents.
AC-Closure
Procédure qui détermine pour un ensemble de groupes fréquents la fermeture de
chaque générateur
Algo rith m e A-CLOSE.
En tré e : Contexte B ; seuil minimum de support minsupport;
So rtie : Ensemble FFk des k-groupes fréquents;
D é bu t
FF1.générateurs ← {1-itemsets} ;
Support-Count (B, FF1.générateurs)
Po u r ch aqu e générateur g.générateur ∈ FF1 faire
Si (g.support < minsupport ) alo rs FF1 ← FF1 - {g}
Fin p o u r
Po u r (k ← 1 ; FFk.générateurs ≠ ∅ ; k++) faire FFk+1 ←AC-Generator (FFk)
AC-Closure ( U FFk );
Re to u rn e r ( Uk FFk ) ;
Fin
Durant la première itération, l’ensemble des 1-générateurs de FF1 est initialisé avec la liste
des 1-itemsets du contexte. La procédure Support-Count est ensuite appliquée afin de
déterminer les supports de ces 1-itemsets générateurs en réalisant un balayage du contexte et les
1-générateurs infréquents sont supprimés de FF1. Durant chaque itération k suivante, les (k+1)générateurs de l’ensemble FFk+1 sont créés en utilisant les k-générateurs de l’ensemble FFk et
leurs supports respectifs. La procédure AC-Generator est pour cela appliquée à l’ensemble FFk.
Ces itérations cessent lorsque aucun nouvel itemset générateur ne peut être créé. Tous les
générateurs des ensembles FFk ont alors été créés et la procédure AC-Closure est appliquée à
l’ensemble de ces générateurs afin de déterminer leurs fermetures qui constituent les itemsets
fermés fréquents. L’algorithme retourne finalement la collection des ensembles FFk qui
contiennent chacun tous les k-générateurs et leurs fermetures.
168
Algo rith m e AC-GENERATOR.
En tré e : Ensemble FFk de k-groupes des k-générateurs fréquents;
So rtie : Ensemble FFCk+1 avec les champs générateur des (k+1)-groupes candidats initialisés;
D é bu t
---------------------Phase 1--------------------------------------------------------INSERT INTO FFk+1.générateur
SELECT p[1], p[2], …, p[k], q[k]
FROM FFk.générateurs p, FFk.générateurs q
WHERE p[1] = q[1], …, p[k-1] = q[k-1], p[k] < q[k]
---------------------Phase 2---------------------------------------------------------Po u r ch aqu e générateur g.générateur ∈ FFCk+1 faire
Po u r ch aqu e k-sous-ensemble s ∈ g.générateur faire
Si s ∈ FFk.générateurs a lo r s FFCk+1 ← FFCk+1 - {g}
Fin Po u r
Fin Po u r
----------------------Phase 3---------------------------------------------------------Support-Count (B, FF1.générateurs)
Po u r ch aqu e générateur g.générateur ∈ FFCk+1 faire
Si (g.support < minsupport ) alo rs FFk+1 ← FFk+1 - {g}
Sin o n faire
Po u r ch aqu e k-sous-ensemble s.générateur ∈ FFCk de g faire
Si (s.support = g.support ) alo rs FFCk+1 ← FFCk+1 - {g}
Fin Po u r
Fin Si
Fin Po u r
Re to u rn e r FFCk+1
Fin
La procédure AC-Generator reçoit un ensemble FFk de k-groupes fréquents contenant les kgénérateurs fréquents en paramètre. Elle retourne l’ensemble FFk+1 de (k+1)-groupes fréquents
contenant les (k+1)-groupes fréquents contenant les (k+1)-générateurs fréquents.
La procédure AC-Generator est constituée de trois phases. Durant la première phase, les kgénérateurs fréquents de FFk sont combinés afin de créer les (k+1)-générateurs potentiels dans
FFk+1. La seconde phase supprime les (k+1)-générateurs potentiels infréquents ou qui ne sont
pas minimaux. La troisième phase supprime les (k+1)-générateurs potentiels restants dont un
sous-ensemble est un générateur du même itemset fermé fréquent.
La première phase de la procédure applique la phase de jointure de la procédure Apriori-Gen
aux k générateurs FFk afin d’initialiser les (k+1)-générateurs potentiels de FFk+1. La seconde
phase vérifie la présence dans FFk de tous les k-générateurs qui sont des sous-ensembles de
chaque (k+1)-générateurs potentiels dans FFk+1. Durant la troisième phase, un balayage du
contexte est réalisé afin de déterminer le support de chaque (k+1)-générateurs potentiels
restants dans FFk+1 et tous les (k+1)-générateurs de FFk+1 sont examinés. Si un (k+1)-générateur
g est infréquent, il est supprimé de FFk+1. Sinon, s’il existe un générateur s de l’ensemble FFk qui
est un sous-ensemble de g et qui possède le même support que g, alors g est supprimé de FFk+1.
169
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
Algo rith m e AC-CLOSURE.
En tré e : Ensembles FFk des k-groupes des k-générateurs fréquents; contexte B ;
So rtie : Champs fermé des groupes de FFk mis à jour ;
D é bu t
Po u r ch aqu e objet o ∈ B FFCk+1 faire
Go ← Subset (FFk.générateurs, φ({o})) ;
Po u r ch aqu e générateur g.générateur ∈ Go faire
Si (g.fermé = ∅ ) alo rs g.fermé ← φ({o}) ;
Sin o n g.fermé ← g.fermé ∩ φ({o}) ;
Fin Po u r
Fin Po u r
Re to u rn e r U { g ∈ FFk } ;
Fin
La procédure AC-Closure reçoit un ensemble FF= U FFk de groupes fréquents contenant
tous les générateurs fréquents en argument. Elle détermine la fermeture de chaque générateur
dans le champ fermé du groupe fréquent en réalisant un balayage du contexte. La méthode
utilisée est identique à celle de la procédure Gen-Closure.
La procédure AC-Closure traite chaque objet du contexte successivement et crée pour chaque
objet o un ensemble Go contenant tous les générateurs de FF qui sont des sous-ensembles de
l’itemset φ({o}). Ensuite pour chaque générateur g.générateur dans Go la fermeture g.fermé est
mise à jour. Lorsque tous les objets du contexte ont été considérés, la procédure retourne
l’ensemble FFk dans lequel les champs fermé qui sont les fermetures de générateurs fréquents
sont mis à jour.
Exemple avec le contexte B et minsupport=2/6 :
Id e n tifian t
Tran s actio n
1
ABCDE
2
ABCE
3
C
4
BC
5
ABCD
6
ABC
L’ensemble FF1 est initialisé avec la liste des 1-itemsets du contexte et la procédure SupportCount détermine le support de chacun d’eux en réalisant un balayage du contexte. Les groupes
candidats de FF1 qui sont infréquents sont supprimés.
170
FF1
Gé n é rate u r
Fe rm é
Su p p o rt
{A}
4/6
{B}
5/6
{C}
6/6
{D}
2/6
{E}
2/6
Balayage du Contexte
La procédure AC-Generator aux générateurs de l’ensemble FF1 génère des 2-générateurs
potentiels qui sont insérés dans FF2.
FF2
Gé n é rate u r
Balayage du Contexte
Fe rm é
Su p p o rt
{ A, B }
4/6
{ A, C }
4/6
{ A, D }
2/6
{ A, E }
2/6
{ B, C }
5/6
{ B, D }
2/6
{ B, E }
2/6
{ C, D }
2/6
{ C, E }
2/6
{ D, E }
1/6
Tous les générateurs sont supprimés : l’itemset {D, E} est infréquent et tous les autres sont
inutiles. En effet, le générateur {A, B} est supprimé car il a le même support que {A} et donc
γ({A,C}) = γ ({A}). De même, {C, D} est supprimé car il a le même support que {D}.
FF2
Suppression des
générateurs inutiles et
infréquents
Gé n é rate u r
Fe rm é
171
Su p p o rt
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
Le processus s’arrête. Aucun 3-itemset ne peut être généré car FF2 = ∅. Un dernier balayage
du contexte est réalisé par la procédure AC-Close afin de calculer les fermetures des générateurs
créés dans FF1 qui sont les itemsets fermés fréquents du contexte.
Calcul des Fermés
Gé n é rate u r
Fe rm é
Su p p o rt
{A}
{A, B, C}
4/6
{B}
{A, B, C}
5/6
{C}
{C}
6/6
{D}
{A, B, C, D}
2/6
{E}
{A, B, C, E}
2/6
Le même principe d’extraction d’itemsets fréquents en utilisant l’opérateur de fermeture de
la connexion de Galois a également été récemment proposé par (Cherif-Latiri et al., 2003).
4 .2 .6 .3
Pr o b lè m e d e la Pe r t in e n ce e t d e l’U t ilit é d e s R è g le s d ’As s o cia t io n
Le problème de la pertinence et de l'utilité des règles d’association est lié au nombre de règles
d'association extraites qui est en général très important et à la présence d'une forte proportion
de règles redondantes, qui véhiculent la même information, parmi celles-ci. Si le problème de la
visualisation d'un nombre relativement important de règles peut être simplifié par l'utilisation
de systèmes de visualisation tels que le système Rule Visualizer proposé par (Klemettinen et al.,
1994), le problème de la suppression des règles d'association redondantes nécessite d'autres
solutions. De plus, les règles d'association redondantes représentant pour certains type de
données la majorité des règles extraites, leur suppression permet de réduire considérablement le
nombre de règles à gérer lors de la visualisation.
Par exemple ces règles, extraites du tableau 4.7., possèdent un support et une confiance
identiques :
1) E → A (sup : 33.3%; conf : 100%)
5) EA → C (sup : 33.3%; conf : 100%)
2) E → C (sup : 33.3%; conf : 100%)
6) EB → C (sup : 33.3%; conf : 100%)
3) EB → A (sup : 33.3%; conf : 100%)
7) EBC → A (sup : 33.3%; conf : 100%)
4) EC → A (sup : 33.3%; conf : 100%)
8) EAB → C (sup : 33.3%; conf : 100%)
Les règles 1, 3 et 4 sont redondantes par rapport à la règle 7. De même les règles 2, 5 et 6 sont
redondantes avec la 8. En effet les règles redondantes n’apportent aucune information
supplémentaire par rapport à la règle 7 (resp.8) qui est la plus générale. De ce fait, afin
d’améliorer la pertinence et l’utilité des règles extraites, il est plus intéressant d’extraire cette
règle et de la présenter à l’utilisateur.
La solution proposée par (Bastide et al., 2002) consiste à générer des bases, également
appelées couvertures réduites, pour les règles d'association qui sont des ensembles de taille
réduite ne contenant aucune règle redondante. Le but est de limiter l’extraction aux règles
d'association les plus informatives, c’est-à-dire les plus générales et, éventuellement, dont les
172
mesures de précision sont les plus élevées parmi toutes les règles valides, du point de vue de
l'utilisateur.
Utilisant la sémantique pour le problème de l'extraction de règles d'association basée sur la
fermeture de la connexion de Galois, des bases pour les règles d'association sont caractérisées.
Ces bases, qui sont la base générique pour les règles d'association exactes et la base informative
pour les règles d'association approximatives, sont définies à partir des itemsets fermés fréquents
et leurs générateurs. Ce sont des ensembles de taille réduite qui minimisent le nombre de règles
d'association générées tout en maximisant la quantité et la qualité des informations véhiculées.
Elles permettent :
• La génération des règles d'association non redondantes les plus informatives seulement, c’est à
dire des règles les plus utiles et pertinentes : celles qui ont un antécédent (partie gauche)
minimal et une conséquence (partie droite) maximale.
• La présentation à l'utilisateur d'un ensemble de règles couvrant tous les attributs de la base de
données, c'est-à-dire contenant des règles dont l'union des conséquences est égale à l'union des
conséquences de toutes les règles d'association valides dans le contexte. En effet, il est
nécessaire de ne pas limiter la recherche à un seul sous-ensemble des attributs de la base de
données car les règles « surprenantes » pour l'utilisateur constituent des informations utiles
qu'il est nécessaire de considérer.
• L’extraction d'un ensemble de règles ne représentant aucune perte d'information, c’est à dire
véhiculant toutes les informations convoyées par l’ensemble des règles d'association valides.
Il est possible de déduire de manière efficace, sans accès au jeu de données, toutes les règles
d'association valides ainsi que leurs supports et leurs confiances à partir des règles d'association
de ces bases.
4 .2 .7
Bas e s p o u r le s Rè gle s d ’As s o ciatio n
La définition de bases pour les règles d'implication entre deux ensembles d'attributs binaires
a été étudiée essentiellement dans les domaines de l'analyse de données et de l'analyse formelle
de concepts. L'adaptation de la base de (Duquenne & Guigues, 1986) (Ganter & Wille, 1999)
pour les implications totales, et la base de (Luxenburger, 1991) pour les implications partielles
dans le cadre de l’extraction de règles d'association exactes et approximatives est présentée dans
(Pasquier et al., 1999) (Pasquier et al., 2004). Les bases obtenues sont des réductions de
l’ensemble des règles d'association qui minimisent autant que possible le nombre de règles
générées, sans tenir compte du support des règles. Cela signifie que les antécédents et les
conséquences de toutes les règles d'association peuvent être déduits de l'union de ces bases,
mais pas leurs supports. Le support et la confiance indiquent l'utilité et la pertinence de la règle
et doivent être pris en considération lors de la définition des règles d'association redondantes.
Une règle d'association r : l1 → l2 de support s et de confiance c est notée r (s,c): l1 → l2.
D é fin itio n 4 .4 (REGLES D'ASSOCIATION REDONDANTES)
Soit un ensemble E de règles d'association. Une règle d'association r∈ E est
redondante si la règle r peut être déduite ainsi que son support s et sa confiance c de
l’ensemble E \ r.
173
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
Il faut que seules les règles d'association non redondantes minimales, qui sont les règles les
plus utiles et les plus pertinentes, soient extraites et présentées à l'utilisateur. Une règle
d'association est redondante si elle véhicule la même information ou une information moins
générale que l'information véhiculée par une autre règle de même utilité et de même pertinence.
Une règle d'association r est non redondante minimale s'il n’existe pas une autre règle
d'association r' possédant le même support et la même confiance, dont l'antécédent est un sousensemble de l'antécédent de r et la conséquence est un sur-ensemble de la conséquence de r.
D é fin itio n 4 .5 (REGLES D'ASSOCIATION NON REDONDANTES MINIMALES)
Soit l’ensemble AR des règles d'association extraites du contexte. Une règle
d'association r : l1 → l2 ∈ AR est non redondante minimale s'il n’existe pas de règle
d'association r' : l’1 → l’2 ∈ AR telle que support(r)=support(r'), confiance(r)=
confiance(r'), l'1 ⊆ l1 et l2 ⊆ l'2.
À partir de cette définition, les règles d'association exactes non redondantes minimales sont
définies ainsi que les règles d'association approximatives non redondantes minimales. Ces
règles constituent la base générique pour les règles d'association exactes et la base informative
pour les règles d'association approximatives respectivement, et sont générées à partir des
itemsets fermés fréquents et leurs générateurs.
4 .2 .7.1
Ba s e Gé n é r iq u e p o u r le s R è g le s d ’As s o cia t io n Exa ct e s
Les règles d'association exactes, de la forme r : l1 → (l2\l1), sont des règles entre deux itemsets
fréquents l1 et l2 dont les fermetures sont identiques (γ(l1) = γ(l2)). En effet, de γ(l1) = γ(l2) on
peut déduire que l1 ⊂ l2 et support(l1) = support(l2), et donc confiance(r) = 1. Puisque l'itemset
maximal parmi ces itemsets (qui possèdent le même support) est l'itemset γ(l2), tous les surensembles stricts de l1 qui sont des sous-ensembles de γ(l2) possèdent le même support, et les
règles entre deux de ces itemsets sont des règles exactes.
Soit l’ensemble Gγ(l2) des générateurs de l'itemset fermé fréquent γ(l2). Par définition, les
itemsets minimaux qui sont des sur-ensembles stricts de l1 et des sous-ensembles de γ(l2) sont
les générateurs g ∈ Gγ(l2). Nous en concluons que les règles de la forme g → (γ(l2) \ g) entre les
générateurs g ∈ Gγ(l2) et l'itemset fermé fréquent γ(l2) sont les règles d'antécédents minimaux et
de conséquences maximales parmi les règles entre les sur-ensembles stricts de l1 et les sousensembles de γ(l2). La généralisation de cette propriété à l’ensemble des itemsets fermés
fréquents définit la base générique constituée de toutes les règles d'association exactes non
redondantes d'antécédents minimaux et de conséquences maximales.
D é fin itio n 4 .6 (BASE GENERIQUE POUR LES REGLES D'ASSOCIATION EXACTES)
Soit l’ensemble FF des itemsets fermés fréquents extraits du contexte et pour
chaque itemset fermé fréquent f l’ensemble Gf des générateurs de f. La base
générique pour les règles d'association exactes est :
BG = {r : g → (f \ g) | f∈ FF ∧ g ∈ Gf ∧ g ≠ f}.
174
La condition g ≠ f est nécessaire car les règles entre un générateur g d'un itemset fermé
fréquent f tel que g = f sont de la forme g → ∅ et n'appartiennent pas à l’ensemble des règles
d'association valides (règles non informatives).
Le pseudo-code de l'algorithme Gen-BG (Pasquier, 2000) de construction de la base
générique pour les règles d'association exactes à partir de l'ensemble des itemsets fermés
fréquents et de leurs générateurs est présenté dans l'Algorithme suivant. Les notations utilisées
sont présentées dans le tableau 4.9.
TAB.4.9.− Notations utilisées dans Gen-BG
Sym bo le
Sign ificatio n
FFk
k-groupes fréquents des k-générateurs, Chaque élément de cet ensemble possède trois
champs : générateur, fermé et support.
BG
Ensemble des règles d'association exactes de la base générique
Algo rith m e GEN-BG.
En tré e Ensembles FFk des k-groupes fréquents des k-générateurs;
So rtie : Ensemble BG des règles d'association exactes de la base de générique;
D é bu t
BG ← ∅;
Po u r ch aqu e ensemble FFk faire
Po u r ch aqu e k-générateur g∈FFk
Si g ≠ γ(g) faire BG ← BG ∪ {(r : g → (γ(g)\ g), γ(g).support)};
Fin Po u r
Fin Po u r
Re to u rn e r BG;
Fin
L'algorithme commence par initialiser l’ensemble BG avec l’ensemble vide. Chaque ensemble
FFk de k-groupes fréquents est ensuite examiné successivement. Pour chaque k-générateur g∈
FFk de l'itemset fermé fréquent γ(g) pour lequel g est différent de sa fermeture γ(g), la règle r : g
→ (γ(g) \ g), dont le support est égal au support de g et γ(g), est insérée dans BG. L'algorithme
retourne finalement l’ensemble BG qui contient toutes les règles exactes informatives entre un
générateur et sa fermeture.
La base générique pour les règles d'association exactes extraite du contexte B pour
minsupport = 2/6 est présentée dans le tableau 4.10. Cette base ne représente aucune perte
d'information : toutes les règles d'association exactes valides dans le contexte peuvent être
déduites ainsi que leurs supports (et leurs confiances qui sont égales à 1) à partir des règles de la
base générique.
175
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
TAB.4.10.− Base générique extraite du contexte B
Gé n é rate u r
Fe rm é
Rè gle Exacte
Su p p o rt
{A}
{A, B, C}
A→ BC
4/6
{B}
{A, B, C}
B→ AC
5/6
{C}
{C}
{D}
{A, B, C, D}
D→ ABC
2/6
{E}
{A, B, C, E}
E→ ABC
2/6
Le générateur étant {A} et son fermé {A, B, C}, la règle exacte extraite est A→ BC.
4 .2 .7.2
Ba s e In fo r m a t iv e p o u r le s R è g le s d ’As s o cia t io n Ap p r o xim a t iv e s
Les règles d'association approximatives, de la forme r : l1 → (l2\ l1), sont des règles entre deux
itemsets fréquents l1 et l2 tel que la fermeture de l1 est un sous-ensemble de la fermeture de l2
(γ(l1) ⊂ γ(l2)). Les règles d'association approximatives non redondantes d'antécédent l1 minimal
et de conséquence (l2\l1) maximale sont déduites de cette caractérisation. Soit l'itemset fermé
fréquent f1 qui est la fermeture de l1 et le générateur unique g1 de f1 tels que g1 ⊆ l1 ⊆ f1. Soit
l'itemset fermé fréquent f2 qui est la fermeture de l2 et le générateur unique g2 de f2 tels que
g2⊆l2 ⊆ f2. La règle g1 → (f2 \ g1) entre le générateur g1 et l'itemset fermé fréquent f2 est la règle
non redondante d'antécédent minimal et de conséquence maximale parmi les règles entre un
itemset de l'intervalle [g1, f1] et un itemset de l'intervalle [g2, f2]. En effet, le générateur g1 est
l'itemset minimal dont la fermeture est f1, ce qui signifie que l'antécédent g1 de cette règle est
minimal, et la conséquence (f2 \ g1) est maximale puisque f2 est l'itemset maximal de l'intervalle
[g2, f2]. En généralisant cette propriété à l’ensemble des règles entre deux itemsets l1 et l2 on peut
définir la base informative constituée de toutes les règles d'association approximatives non
redondantes d'antécédents minimaux et de conséquences maximales.
D é fin itio n 4 .7 (BASE INFORMATIVE POUR LES REGLES APPROXIMATIVES)
Soit l’ensemble FF des itemsets fermés fréquents et l’ensemble G de leurs
générateurs extraits du contexte. La base informative pour les règles d'association
approximatives est : BI = {r : g → (f \ g) | f ∈ FF ∧ g ∈ G ∧ γ(g) ⊂ f}.
La base informative ne représente aucune perte d'information car toutes les règles
d'association approximatives valides dans le contexte peuvent être déduites ainsi que leurs
supports et leurs confiances à partir des règles qui la constituent.
De la définition de la base informative il est possible de déduire la réduction transitive de
celle-ci qui constitue également une base pour les règles d'association approximatives. Les
règles transitives de la base informative sont de la forme r : g → (f \ g) pour un itemset fermé
fréquent f et un générateur fréquent g tels que γ(g) ⊂ f et γ(g) n’est pas un prédécesseur
immédiat de f : ∃ f'∈ FF tel que γ(g) ⊂ f' ⊂ f, noté γ(g) 〈/ f.
176
D é fin itio n 4 .8 (REDUCTION TRANSITIVE DE LA BASE INFORMATIVE)
Soit l’ensemble FF des itemsets fermés fréquents et l’ensemble G de leurs
générateurs extraits du contexte. La réduction transitive de la base informative
pour les règles d'association approximatives est :
RI = {r : g → (f \ g) | f ∈ FF ∧ g ∈ G ∧ γ(g)
f}.
Il est possible de déduire toutes les règles d'association de la base informative ainsi que leurs
supports et leurs confiances, et donc toutes les règles approximatives valides, à partir des règles
de la réduction transitive. Cette réduction permet de diminuer le nombre de règles extraites en
conservant les règles dont la confiance est la plus élevée puisque les règles transitives possèdent
par construction des confiances inférieures aux règles non transitives.
Le pseudo-code de l'algorithme Gen-RI (Pasquier, 2000) de construction de la réduction
transitive de la base informative pour les règles d'association approximatives à partir de
l'ensemble des itemsets fermés fréquents et de leurs générateurs est présenté ci-après. Les
notations utilisées sont présentées dans le tableau 4.11.
TAB.4.11.− Notations utilisées dans l’algorithme Gen-RI
Sym bo le
Sign ificatio n
FFk
k-groupes fréquents des k-générateurs, Chaque élément de cet ensemble possède trois
champs : générateur, fermé et support.
Succg
Ensemble des itemsets fermés fréquents qui sont des successeurs immédiats de la
fermeture du générateur g considéré.
RI
Ensemble des règles d'association approximatives de la réduction transitive de la base
informative.
177
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
Algo rith m e Gen-RI.
En tré e : Ensembles FFk des k-groupes fréquents des k-générateurs;
Seuil minimal de confiance minconfiance;
So rtie : Ensemble RI des règles d'association approximatives de la réduction transitive de la base
informative;
D é bu t
RI ← ∅;
Po u r (k ← 1; k ≤ µ-1; k++) faire
Po u r ch aqu e k-générateur g ∈ FFk faire
Succg ← ∅;
Po u r (j = |γ(g)|; j ≤ µ; j++) faire
Sj ← {f ∈ FF | f ⊃ γ(g) ∧ | f | = j};
Fin Po u r
Po u r (j = |γ(g)|; j ≤ µ; j++) faire
Po u r ch aqu e itemset fermé fréquent f ∈ Sj faire
Si ( ∃/ s ∈ Succg | s ⊂ f ) alo rs
Succg ← Succg ∪ f;
r.confiance ← f.support / g.support;
Si r.confiance ≥ minconfiance alo rs RI←RI ∪ {(r:g→(f\g), r.confiance, g.support};
Fin Si
Fin Po u r
Fin Po u r
Fin Po u r
Fin Po u r
Re to u rn e r RI;
Fin
L'algorithme commence par initialiser l’ensemble RI avec l’ensemble vide. Chaque ensemble
FFk de k-groupes fréquents est ensuite examiné successivement dans l'ordre des valeurs de k
croissantes. Pour chaque k-générateur g ∈ FFk de l'itemset fermé fréquent γ(g), l’ensemble
Succg des successeurs de la fermeture de γ(g) est initialisé avec l'ensemble vide et les ensembles
Sj des j-itemsets fermés fréquents qui sont des sur-ensembles de γ(g) pour |γ(g)| < j ≤ µ sont
construits. Les ensembles Sj sont ensuite considérés dans l'ordre croissant des valeurs de j. Pour
chaque itemset f∈Sj dont aucun successeur immédiat de γ(g) dans Succg n’est un sousensemble, f est inséré dans Succg et la confiance de la règle r : g → (f \ g) est calculée. Si la
confiance de r est supérieure ou égale au seuil minimal de confiance minconfiance, la règle r est
insérée dans RI. Lorsque tous les générateurs de taille inférieure à µ ont été considérés,
l'algorithme retourne l’ensemble RI.
178
TAB.4.12.− La réduction transitive de la base informative extraite du contexte
minsupport = 2/6 et minconfiance = 2/6 :
Gé n é rate u r
Fe rm é
Su r-e n s e m ble
Fe rm é
{A}
{A, B, C}
{A, B, C, D}
A → BCD
4/6
2/4
{A}
{A, B, C}
{A, B, C, E}
A → BCE
4/6
2/4
{B}
{A, B, C}
{A, B, C, D}
B → ACD
5/6
2/5
{B}
{A, B, C}
{A, B, C, E}
B → ACE
5/6
2/5
{C}
{C}
{A, B, C }
C → AB
6/6
4/6
{C}
{C}
{A, B, C, D}
{C}
{C}
{A, B, C, E}
{D}
{A, B, C, D}
{E}
{A ,B, C, E}
B
pour
Rè gle
Su p p o rt Co n fia n ce
Ap p ro xim ative
Les bases générées présentent un fort intérêt pour la visualisation des règles extraites car le
nombre réduit de règles dans ces bases ainsi que la distinction des règles exactes et des règles
approximatives facilitent la présentation des règles à l'utilisateur. De plus, l'absence de règles
redondantes dans les bases et la génération des règles non redondantes minimales seulement
présentent un intérêt important du point de vue de l'utilisateur.
4 .3
Au tre s Me s u re s Statis tiqu e s
L’utilisation de mesures de qualité permet de proposer à l’utilisateur des règles d’association
les mieux adaptées à sa recherche. La condition nécessaire pour pouvoir ordonner et/ou filtrer
les règles ne correspondant pas aux attentes de l’utilisateur, est de comprendre et de savoir ce
que l’utilisateur recherche dans les données.
D é fin itio n 4 .9 (EXEMPLE/CONTRE-EXEMPLE)
Etant donnée une règle d’association A → B, les exemples de cette règle sont les
transactions vérifiant A et B et les contre-exemples sont les transactions vérifiant
A et B .
Etant donnée une règle d’association A → B les observations dont nous disposons sont
présentées ci-dessous.
TAB.4.13.− Données associées à une règle A → B
A
A
Σ
B
nAB
n AB
nB
B
nAB
n AB
nB
Σ
nA
nA
n
179
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
A
A
Σ
B
P(AB)
P ( AB )
P(B)
B
P ( A B)
P ( AB)
P( B)
Σ
P(A)
P ( A)
1
A partir de ces observations on peut créer de nombreuses mesures de qualité permettant
d’évaluer un ensemble de règles d’association. L’utilisation de ces mesures permet de proposer à
l’utilisateur des règles d’association les mieux adaptées à sa recherche. La condition nécessaire
pour pouvoir ordonner et/ou filtrer les règles ne correspondant pas aux attentes de l’utilisateur,
est de comprendre et de savoir ce que l’utilisateur recherche dans les données.
Le support peut également être exprimé en fonction du nombre total d’objets du contexte.
Cette mesure correspond alors à la probabilité d’apparition des objets correspondant à l’itemset
A et l’itemset B.
P ( A, B ) =
Support ( A → B )
∈ [0,1] avec n le nombre d’objet du contexte B.
n
La confiance mesure le degré de validité d’une règle, c’est à dire lorsqu’il existe des contreexemples d’objets qui vérifient A mais pas nécessairement tous les items de B.
Confiance( A → B) =
Support ( A → B)
= P(B|A) ∈ [0,1]
Support ( B )
Lorsque A et B sont indépendants, P(A, B)= P(A) × P(B). Une règle d’association générée
entre deux itemsets indépendants indique seulement que A et B existent ensemble dans
beaucoup d’objets. L’indice de dépendance est classiquement utilisé en probabilités et permet de
calculer l’apport de A dans la règle.
L’indice de dépendance renforce une règle en mesurant le fait que A et B soient indépendants
ou pas :
Dépendance( A → B) = P(B | A) - P(B)
Les items très fréquents dans le contexte n’apportent pas d’information supplémentaire alors
que les items rares, qui sont peut-être porteurs de connaissances, apparaissent dans des règles à
faible support auxquelles on ne s’intéresse pas en premier lieu.
L’intérêt (ou lift) (IBM, 1996) mesure la dépendance entre A et B. Cet indice privilégie les
items rares aux dépens d’items trop répandus dans le contexte. Il mesure la déviation du
support de la règle par rapport au cas d'indépendance.
Intérêt ( A → B ) =
P ( A, B )
P ( A) × P ( B )
Cet indice dénote une indépendance de A et B s'il est = 1. Plus A et B sont incompatibles, plus
P(A, B) tend vers 0, et donc l'intérêt est proche de 0. Plus A et B sont dépendants, plus l'intérêt
se rapproche de 1. L’intérêt a un comportement symétrique pour A et B mais il ne reflète pas
l’association A→B. En effet, Intérêt ( A → B ) = Intérêt ( B → A)
180
La mesure de conviction a été introduite par (Brin et al., 1997b). Elle permet de mesurer
pour chaque règle la déviation de la dépendance entre la probabilité d'occurrence de
l'antécédent et la probabilité de non-occurrence de la conséquence dans les objets. Elle mesure
donc la dépendance mais pour les contre-exemples A B .
Conviction( A → B) =
P ( A) × P ( B )
P A, B
( )
Cet indice n’est calculable que pour les règles approximatives. En effet, si la règle est exacte,
P A, B = 0 .
( )
Toujours pour les règles approximatives, l’indice d’étonnement (également appelé moindre
contradiction) a été introduit par (Azé, 2003). Cet indice est défini pour mesurer l’affirmation :
c’est à dire la différence entre la confirmation P(AB) et l’infirmation P(A B ) d’une règle. Moins
B est répandu, plus il est étonnant de trouver une bonne affirmation de la règle.
Etonnement ( A → B) =
P ( A, B ) − P ( A, B )
P ( B)
La mesure du χ² spécifie le degré de dépendance entre les items d'un itemset en comparant
la distribution réelle de leur occurrence avec la distribution attendue de leur occurrence sous
l'assomption d'une complète indépendance et d'une distribution normale.
La confiance centrée (Lallich & Teytaud, 2004) permet de prendre en considération la taille
de la conclusion de la règle A → B. L’introduction de P(B) dans cette mesure permet de la rendre
sensible à la taille des données.
Confiance Centrée (A → B) = P(B|A) – P(B)
Lorsque la taille des données augmente et si les marges nA, nB et nAB restent constantes, la
confiance centrée de la règle A → B augmente et tend vers la confiance de la règle.
Les mesures de déviation sont des mesures de distance entre règles d'association définies en
fonction de leurs supports et leurs confiances. Ces mesures peuvent être utilisées afin
d'identifier les règles d'association fortement semblables, caractérisées par une faible distance
entre elles, et ensuite regrouper ou supprimer certaines de ces règles (Bayardo et al., 1999)
(Toivonnet et al., 1995). Cette méthode entraîne une perte d'information et nécessite des
traitements supplémentaires de comparaison des règles extraites deux à deux. Une autre
utilisation consiste à identifier les règles d'association inattendues pour l'utilisateur qui
apportent donc une connaissance importante car nouvelle (Heckermann, 1996) (PiatetskyShapiro & Matheus, 1994) (Silberschatz & Tuzhilin, 1996). Les connaissances de l'utilisateur
sont représentées en utilisant des modèles probabilistes auxquels sont confrontées les règles
d'association extraites. La déviation d'une règle correspond à la différence entre la valeur
attendue pour la règle dans le modèle probabiliste et la valeur réelle pour la règle dans le
contexte. Cette méthode nécessite la définition par l'utilisateur de ces connaissances, ce qui dans
de nombreux cas se révèle très complexe. Les temps des calculs des mesures de déviation sont
très importants car ils requièrent de très nombreuses opérations.
Les templates (Klemettinen et al., 1994) sont des expressions booléennes permettant de
sélectionner un sous-ensemble de l'ensemble des règles d'association valides. Ce sous-ensemble
est construit en conservant les règles d'association valides qui vérifient les critères spécifiés par
les templates parmi cet ensemble. Un template spécifie des contraintes d'occurrence ou de non
occurrence des items dans l'antécédent et la conséquence des règles. Cette méthode de
181
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
traitement a posteriori des règles extraites ne permet pas de supprimer les règles redondantes,
mais peut faciliter la visualisation de l'ensemble des règles extraites en visualisant les règles par
groupes, chaque groupe correspondant à un ensemble de templates.
Nous présentons d'autres indices, dont une synthèse se trouve dans (Lavrac et al., 1999), qui
permettent différents classements des règles d’association.
TAB.4.14.− Autres mesures de qualité pour une règle A → B
Me s u re
Exp re s s io n
Nouveauté
P(A,B) – P(A) × P(B)
Satisfaction
P ( B ) − P ( B A)
P( B)
Spécificité
P( A B)
Fiabilité Négative
P ( B A)
L'utilisation de toutes ces mesures entraîne cependant des problèmes de performances car le
calcul de leurs valeurs nécessite des temps d’exécution importants.
4 .4
4 .4 .1
Fo u ille d e Te xte s e t Fo u ille d u W e b
Prin cip e d e la Fo u ille d e Te xte s
L’extraction de connaissances à partir d’un corpus de textes peut prendre plusieurs formes :
extraction de la terminologie asssociée au domaine, construction automatique d’une ontologie
reliant les concepts découverts dans le corpus, découverte de formes syntaxiques spécifiques au
domaine, extraction de règles d’association entre les concepts du domaine. La fouille de texte
aide à acquérir la connaissance latente (cachée) à partir du contenu des documents telles que
des relations d’association entre les termes d’un corpus. Cette fouille agit sur des textes
individuels, des parties de textes ou des corpus.
Il n’existe pas à notre connaissance des travaux pour l’extraction de règles d’association à
partir de textes en français. Dans la communauté francophone, (Cherfi et al., 2003) (Azé &
Roche, 2003) travaillent sur des corpus de résumés de textes en anglais. Les règles d’association
décrivent d’une façon symbolique les différentes corrélations entre mots dans les documents en
se basant sur la notion d’ensemble fréquent qui sous-entend tout ensemble de mots
apparaissant dans une base de documents avec une fréquence supérieure à un seuil fixé a priori.
C’est donc le même principe que la fouille de données mais appliquée aux textes ou à des corpus
de textes dans le but de trouver dans un grand ensemble de textes de nouvelles connaissances.
La différence réside dans le fait que l’information traitée, les textes, sont écrits en langage
naturel ce qui rend le processus de découverte plus complexe. En effet, le problème avec la
langue naturelle est qu’elle n’est pas conçue pour être traitée par les ordinateurs, à la différence
des données stockées dans des bases de données et l’information disponible à l’état brut est
faiblement exploitable. Elle n’est pas explicite mais implicite, enterrée dans le texte.
182
D é fin itio n 4 .10 . (DECOUVERTE DE CONNAISSANCES A PARTIR DE TEXTES)
La Découverte de Connaissances à partir de Textes est le processus de découverte
de modèles intéressants et utiles dans des corpus textuels son objectif est d’obtenir
des connaissances précédemment inconnues et enfouies dans les textes.
4 .4 .2
Sign ificatio n d e s Rè gle s d ’As s o ciatio n
Les mesures destinées à calculer les dépendances entre les termes (Information mutuelle,
Coefficient de Dice, Coefficient de cohérence, etc.) prennent en compte les liaisons entre deux
termes sans tenir compte du reste des termes dans le corpus. C’est généralement la fréquence
des termes qui est utilisée pour calculer la dépendance. Ces mesures ne tiennent pas compte de
la proportion que peut avoir cette dépendance par rapport à toutes les dépendances pouvant
exister dans le corpus. En effet, l’objectif de la plupart de ces mesures est plutôt d’extraire des
collocations ou des catégorisations des termes dans des ensembles homogènes alors que
l’objectif des règles d’association est de trouver un lien implicite entre des termes sans se soucier
de classer ces derniers ni chercher des collocations. La sémantique d’une règle d’association est
alors différente de la sémantique d’une simple dépendance dans le sens où :
− elle exprime une probabilité de l’existence d’un terme par rapport à un autre.
− elle tient compte de l’ensemble des implications possibles dans le corpus. Un classement
de toutes les implications possibles dans le corpus prend en compte la dispersion de
l’antécédent et du conséquent dans le corpus mais aussi de la dispersion des autres termes.
D é fin itio n 4 .11. (REGLE D’ASSOCIATION ENTRE TERMES)
Une règle d’association R entre termes ti est du type :
R : t 1 ∧ t 2 ∧ ... ∧ t j → t j +1 ∧ ... ∧ t n
La partie gauche et la partie droite de la règle R sont constituées de conjonctions
de termes. L’explication intuitive de la règle est que si des documents possèdent les
termes {t1,…, tj} alors ils possèdent également les termes {tj+1,…, tn}.
Les mesures de support et de confiance se traduisent ainsi :
D é fin itio n 4 .12 . (SUPPORT D’UNE REGLE D’ASSOCIATION ENTRE TERMES)
Le support de la règle d’association R est l’ensemble des documents qui participent
à sa génération. Cette mesure correspond au nombre de documents qui sont
décrits par les termes {t1, …, tn}
D é fin itio n 4 .13 . (CONFIANCE D’UNE REGLE D’ASSOCIATION ENTRE TERMES)
La confiance mesure le degré de validité de la règle c’est à dire lorsqu’il existe des
contre-exemples de documents qui contiennent les termes {t1,…, tj} mais pas
nécessairement les termes {tj+1,…, tn}.
183
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
4 .4 .3
Pro ce s s u s d ’Extractio n
Des systèmes appliquent l’analyse en texte intégral à des collections de documents. Deux
types d’analyse sont possibles : l’analyse à but descriptif (fonctionnant en mode non-supervisé :
l’outil analyse les documents sans référence à une classification prédéfinie) et l’analyse à but
décisionnel (fonctionnant en mode supervisé : l’outil affecte automatiquement les documents
selon une classification prédéfinie). Dans les deux cas, le couplage de techniques linguistiques
(une analyse linguistique rudimentaire du texte qui consiste à distinguer les catégories
grammaticales des termes et enlever les mots vides) et statistiques (une analyse statistique des
données qui va permettre de corréler les données entre elles pour en saisir les invariants et les
règles qui les régissent) est utilisé.
La fouille de textes commence par la sélection des textes et la représentation de leur contenu.
La représentation doit refléter la sémantique. Cette représentation peut reposer sur un réseau
terminologique et sur la liste de termes extraits à partir de textes.
Une architecture générale d’un système de fouille de données textuelles peut être la
suivante :
– Sélection/Recherche : à partir d’une base de données textuelles, des informations sont
sélectionnées suivant certains critères en fonction des besoins des utilisateurs.
– Prétraitement : un prétraitement suivant les objectifs du système est appliqué aux
données sélectionnées (élimination de mots vides, sélections de mots-clés, etc.).
– Découverte de connaissances : il s’agit d’appliquer une des techniques de fouille : en
l’occurrence l’extraction de règles associations…etc.
– Interprétation/Evaluation : il s’agit d’interpréter les connaissances découvertes et de
représenter les résultats à l’utilisateur à travers dans une interface bien adaptée.
Pour éviter la dispersion de l’information dans le processus de fouille de textes les ambiguïtés
du vocabulaire spécialisé doivent être prises en compte, par exemple en utilisant une
terminologie. Lorsque celle-ci n’existe pas, les premières étapes de la fouille sont dédiées à
l’acquisition de connaissances linguistiques : lexique, terminologie…etc.
On peut alors classer les techniques de fouille de données textuelles en deux catégories :
– Les techniques utilisant les mots-clés : les processus de découverte de connaissances
sont appliqués à des mots-clés associés à des documents. Des thèmes sont établis a priori et
chacun de ces thèmes est représenté par un ensemble de mots-clés. Selon les mots-clés qu’il
contient, un document appartient à un thème donné.
Les techniques utilisant tout le texte : un document est représenté par tous les mots qu’il
contient. L’application des processus de la fouille de données textuelles permet de découvrir des
patrons de bas niveau c’est à dire au niveau des termes tels que les mots composés.
En fonction du type des transactions étudiées, on peut supposer les éléments suivants :
– Cas de la phrase : Dans le cas où une transaction est une phrase, les règles d’association
permettent de découvrir des relations du niveau local (niveau de la phrase et de la construction
de la phrase). Cela revient à redécouvrir la structure syntagmatique de la phrase c’est-à-dire des
relations entre des constituants des syntagmes mais avec beaucoup moins de qualité que
l’application de patrons syntaxiques.
184
– Cas du paragraphe : Un paragraphe peut être constitué d’une ou plusieurs phrases. Dans
ce cas, nous retrouvons les règles d’association découvertes dans le cas de la phrase ainsi que
des relations d’association interphrases. La plupart des relations d’association découvertes
restent du niveau local mais on ne trouve pas les relations entre des termes appartenant à des
paragraphes différents.
– Cas du document : D’autres cas sont aussi envisageables telle que une fenêtre de n
termes ou une fenêtre de m phrases où m est déterminé par rapport à la taille du document
et/ou la moyenne des tailles des documents dans le corpus. Dans le cas où la fenêtre est le
document, le nombre des règles d’association découvertes est plus important que dans le cas de
la fenêtre ou le paragraphe.
L’ensemble des règles d’association découvertes avec la phrase comme fenêtre est inclus dans
l’ensemble des règles d’association découvertes avec le document comme fenêtre. De ce fait,
toutes les règles d’association dans le cas de la phrase, seront également découvertes dans le cas
du document. Souvent, dans le cas de la phrase, la plupart des associations découvertes sont des
groupes nominaux ou des multi-termes (associations du niveau local). Ces associations du
niveau local ne sont pas d’un apport du point de vue connaissances, puisque l’utilisation de la
syntaxe pour extraire les groupes nominaux donnerait une connaissance plus intéressante.
Les conditions nécessaires pour l’extraction de règles d’association à partir de textes sont que :
–
L’ensemble des textes doit refléter un contenu cohérent et homogène dans un domaine.
– Chaque texte doit être caractérisé par une forte densité de termes. Plus il y a de termes
dans un texte plus le réseau sémantique reflétant le contenu du texte sera complet.
L’extraction de connaissances à partir de textes est très sensible à la phase d’indexation. En
effet, si un terme est absent de l’indexation, aucune règle d’association contenant ce terme
oublié ne sera extraite.
En terme d’utilisation des règles d’association ou des connaissances découvertes, de même
que pour la fouille de données, l’application des techniques de fouille aux textes peut par
exemple aider à explorer le contenu des corpus dans une tâche de recherche d’information.
Dans ce qui suit, nous présentons quelques systèmes de fouille de données textuelles.
4 .4 .4
Sys tè m e s d e Fo u ille d e Te xte s
Le système d’extraction des textes décrit dans (Lent et al., 1997) traite le problème de
l’identification de phrases (séquence de termes) comme un modèle séquentiel dans le but de
découvrir des tendances dans des bases de données textuelles. Les auteurs définissent une
tendance comme étant une sous-séquence d’une phrase. La méthodologie de cette approche
consiste à identifier des phrases fréquentes à l’aide d’une mesure de support. La fenêtre de
traitement est fixée à un paragraphe mais elle peut être plus petite pour préciser la distance
entre les termes. La structure des documents est exploitée pour identifier les différentes
sections.
La notion d’épisode et règle d’épisode est décrite par (Ahonen et al., 1997). Elles sont
inspirées de la notion des règles d’association mais qui sont appliquées aux données
séquentielles (où un certain ordre des données est pris en compte). Dans le cas du texte, les
185
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
auteurs précisent que les épisodes sont des vecteurs composés de caractéristiques (sous la forme
d’un ensemble de caractéristiques ordonnées) et un index (qui contient la position d’un mot
dans la séquence). Une caractéristique peut être un mot, une expression, un signe de
ponctuation ou une étiquette (par exemple un tag SGML). Un épisode est une séquence de texte
qui apparaît dans une fenêtre donnée avec un ensemble de caractéristiques et l’apparition de ces
caractéristiques dans la séquence selon un certain ordre. La taille d’une fenêtre est mesurée en
nombre de mots non vides. Les auteurs soulignent l’importance de la phase de prétraitement
des informations textuelles avant l’application des techniques de fouille. Ce prétraitement
consiste à ne sélectionner que certaines catégories grammaticales (substantifs) ou à éliminer
d’autres (préposition, articles, etc.) ou bien encore à lemmatiser les mots et il leur permet
d’alléger le processus de traitement. Cette approche a été expérimentée sur 14 documents et non
dans des corpus volumineux. Dans une deuxième expérience, les auteurs se sont orientés vers la
découverte des dépendances structurelles en ne traitant que les Tag SGML des documents.
Fact est un système qui est basé sur les cooccurrences des mots dans les documents
(Feldman & Hirsh, 1996). La fouille de données textuelles est réalisée sur les mot-clés associés
aux documents par les auteurs. Dans la collection utilisée, les mots-clés représentent 5 classes :
les pays, les sujets des dépêches, les marchés, les personnes et les organisations. Le but du
système est de trouver des règles d’association entre les termes, par exemple entre un pays et les
organisations auxquelles il appartient. Les règles d’association extraites indiquent que la
présence du terme (ou d’un ensemble de termes) X dans un document implique la présence du
terme (ou d’un ensemble de termes) Y, avec deux probabilités calculées sur l’ensemble des
documents du corpus.
(Roche et al., 2004) proposent une méthodologie de fouille de données textuelles selon les
étapes suivantes :
1.
Collecte d’un corpus homogène sur un thème donné : cette étape constitue la brique de
base de l’ensemble du processus de fouille de textes. Le succès du processus est fonction
de la qualité et de l’homogénéité du corpus collecté. La constitution du corpus est donc
confiée explicitement à un expert.
2. Réaliser une détection des traces de concepts spécifique au corpus : La détection des
concepts permet de réécrire le corpus de manière plus compacte. En effet chaque
instance de concept détectée dans les textes est remplacée par le concept lui-même.
a.
Recherche de termes dans les textes : La recherche des termes consiste à isoler
des collocations pour le domaine étudié. Cette première étape est réalisée de
manière automatique.
b. Utilisation des termes pour détecter les traces de concepts : La liste des termes
obtenue permet à l’expert d’associer les termes à des concepts, c’est à dire des
regroupements de termes ayant la même sémantique.
3. Extraire et valider les règles d’association à partir de corpus.
a.
Extraction des connaissances
b. Validation
Un certain parallèle peut être fait avec les travaux de (Cherfi et al., 2003) qui présentent une
méthodologie de fouille de textes scientifiques en anglais. La première étape, le prétraitement,
186
est chargée d’extraire dans les textes les parties textuelles intéressantes, en l’occurrence le titre
et le résumé, et de les annoter pour que des outils des TAL puissent être mis en oeuvre dans la
seconde étape. Chaque résumé est modélisé par l’ensemble des termes qu'il possède grâce à une
indexation contrôlée à partir d’une liste de termes attestée. Cette seconde étape doit représenter
le texte dans un système formel sur lequel les outils de fouille de données pourront être
appliqués. Les règles d’association sont ensuite extraites et classées en fonction de plusieurs
mesures de qualité et présentées à l’expert.
4 .4 .5
Fo u ille d u W e b
Une nouvelle tendance dans le domaine de recherche sur le Web est connue sous le nom de
découverte de connaissances du Web (Web mining). Le Web mining est l’application des
techniques de fouille de données sur les ressources du Web.
D é fin itio n 4 .14 (DECOUVERTE DE CONNAISSANCES A PARTIR DU WEB) (Cooley et al., 1997)
La Découverte de Connaissances à partir du Web est le processus de découverte et
d’analyse d’informations intéressantes sur le Web incluant la recherche
automatique de ressources d’information en ligne (la découverte de connaissances
véhiculées par le contenu) et la découverte de modèles d’accès des utilisateur à
partir des serveurs Web (la découverte de connaissances sur l’usage).
La découverte de connaissances véhiculées par le contenu est le processus de découverte de
connaissances dans le contenu des documents et des textes ou la découverte de leurs
descriptions. La découverte de connaissances sur l’usage est le processus d’extraction de modèle
ou de patrons intéressants dans les Web access logs (Masseglia et al., 1999) (Masseglia, 2002).
Les Web access logs sont les fichiers contenant l’activité des utilisateurs d’un siteWeb. Dans le
cadre du CISMeF, ils nous ont permis d’analyser par exemple la structure des requêtes des
utilisateurs, ou encore le nombre d’utilisateurs connectés par jour …etc.
La découverte de connaissances sur la structure du Web est un processus d’inférence de
connaissances à partir de l’organisation du Web et des liens entre les référents et les référencés
sur le Web. Les travaux sur la découverte de connaissance dans le contenu des pages Web sont
généralement basés sur les agents logiciels. Plusieurs de ces travaux ont employé des techniques
de clustering afin de filtrer, rechercher et classer des documents disponibles sur le Web par
catégories. (Theilmann & Rothermel, 1998) proposent une approche appelée domain expert. Un
domaine est un domaine de connaissances contenant des informations sémantiquement reliées.
Un agent de filtrage mobile qui visite des sites spécifiques et examine la pertinence des
documents qu’il contient par rapport au domaine. L’agent mobile utilise un ensemble de
connaissances établies a priori et extraites des URL collectés par des moteurs de recherche
existants. Les auteurs ont utilisé uniquement des connaissances qui décrivent les documents :
mots-clés, métamots-clés, URL, date de modification, auteurs. Cette connaissance est
représentée par des facettes.
Dans le cadre du CISMeF nous avons développé un veilleur automatique qui analyse
périodiquement (quotidiennement, mensuellement ou par semaine) le contenu des sites Web
producteurs de documents à indexer. Il se fonde sur l’analyse des liens à une profondeur
187
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
paramétrable et ce afin d’y sélectionner d’éventuels nouveaux documents intéressants d’
indexer.
4 .5
Evalu atio n d e s Rè gle s d ’As s o ciatio n
Que ce soit pour la fouille de données ou la fouille de textes, (Sahar, 1999) présente une
méthode de filtrage de règles d’association fondée sur une interaction avec l’utilisateur. Cette
méthode utilise un algorithme d’extraction de règles d’association classique tel que APRIORI pour
obtenir un ensemble E des règles d’association vérifiant les contraintes de support et de
confiance. Cet ensemble est souvent très volumineux et ne peut donc pas être proposé
intégralement à l’expert. (Sahar, 1999) propose de présenter les règles une par une à l’expert
selon un ordre particulier. Le travail de l’expert consiste alors à analyser la règle et à la valider
selon des critères. Les informations obtenues sur la règle analysée permettent d’élaguer
efficacement l’ensemble des règles restantes.
Lorsqu’une règle est proposée à l’expert, deux informations lui sont demandées :
–
La règle est-elle vraie (V) ou fausse (F) ?
–
La règle est-elle intéressante (I) ou inintéressante (NI) ?
Etant données ces deux informations, une règle appartient à l’une des quatre catégories
suivantes :
– VI : règle considérée comme vraie et intéressante par l’expert. Ces règles ne permettent
pas d’élaguer l’ensemble des règles
–
FI : règle considérée comme fausse et intéressante par l’expert.
– VNI : règle considérée comme vraie et non intéressante par l’expert. Ce type de règles
permet d’élaguer efficacement l’ensemble E.
– FNI : règle considérée comme fausse et non intéressante par l’expert. Les règles
appartenant à cette catégorie sont proches de celles appartenant à la catégorie FI. La différence
majeure entre ces deux catégories est liée à la définition de l’intérêt de l’expert. L’élagage réalisé
grâce à ce type de règles est identique à celui obtenu pour la catégorie VNI.
L’une des règles est associée à l’une de ces quatre catégories, le système proposé réalise deux
opérations :
– Construction d’une base de connaissances : toutes les règles considérées comme vraies
par l’expert sont ajoutées dans la base de connaissance.
– Filtrage des règles : les règles appartenant aux catégories VNI, FI et FNI participent à
l’élagage de l’ensemble des règles.
Etant donné une règle R = a → b associée aux catégories VNI ou FNI. L’élagage consiste à
éliminer de E toutes les règles appartenant à la famille(R|E) avec :
famille (R|E)={ A → B | A → B ∈ E, a ∈ A, b ∈ B}
188
L’élagage réalisé pour les règles étiquetées FI est légèrement différent du précédent. Etant
donné une règle R = a → b étiquetée FI, seules les règles R’ = a → B avec b ∈ B peuvent être
supprimées car ces règles seront toutes fausses puisqu’elles possèdent exactement la même
prémisse que la règle étiquetée FI.
En revanche, les règles appartenant à { A → B | a ∈ A, b ∈ B, A - {a} ≠ ∅, B - {b} ≠ ∅ } sont
potentiellement intéressantes.
L’intérêt de cette méthode réside dans l’interaction mise en place avec l’expert pour élaguer
un ensemble de règles d’association. Le temps de l’expert étant précieux, il convient d’optimiser
l’interaction mise en place. (Sahar, 1999) propose également de sélectionner les règles pour
lesquelles l’élagage sera maximal si l’expert les classe dans les catégories adaptées.
Ainsi pour chaque règle R = a → b le système calcule sR = card(famille (R|E)) et les règles
sont proposées à l’utilisateur par valeurs décroissantes de sR. A chaque itération de l’algorithme,
ces valeurs sont remises à jour en fonction de l’élagage effectué. Lorsque les valeurs de sR
deviennent inférieures à un seuil prédéfini pendant deux itérations consécutives, l’expert est
informé qu’il peut arrêter l’évaluation des règles s’il le désire car le gain potentiel (en terme de
règles élaguées) devient minime. Il suffit en moyenne de cinq interventions de l’expert pour
diviser par deux la taille de E. Cette approche permet de rapidement diminuer le volume de
règles à analyser et sollicitant peu l’expert.
4 .6
Exp é rie n ce s d ’Extractio n d e Rè gle s d ’As s o ciatio n
Nos expérimentations portent sur la base de données CISMeF, et en particulier sur les
documents indexés du catalogue. Nous étudions pour cela différents contextes d’extraction de
règles d’association en adaptant et en appliquant l’algorithme A-Close d’extraction d’itemsets
fermés fréquents et les algorithmes de déduction de règles d’association exactes (ou totales) et
des règles d’association approximatives. Pour cela nous distinguons deux cas de fouille :
–
La technique fondée sur une indexation conceptuelle des documents.
– La technique utilisant le texte intégral, un document étant représenté par tous les termes
qu’il contient.
Les approches s’appuient sur une description booléenne (présence vs absence) des items
dans les objets, en l’occurrence la présence de concepts ou de termes.
4 .6 .1
Fo u ille d e D o n n é e s
En fonction de l’indexation utilisée dans le CISMeF, nous avons considéré différents
contextes B=(O, I, R). Nous considérons que l’ensemble O des objets du contexte d’extraction
sont les notices (ou fiches) décrivant les documents. Chaque notice a un identifiant unique. A
chaque notice est associé un ensemble de descripteurs. La relation R entre les objets et les
items est la relation d’indexation. Différents cas d’ensembles I d’items sont considérés. Il y a en
moyenne 6,5 descripteurs par document avec au minimum 1 descripteur et au maximum 300
descripteurs.
189
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
Cette contrainte sur le nombre de descripteurs (items) a dû être résolue pendant la phase
d’implémentation de l’algorithme A-Close. En effet, dans les structures de données proposées
dans (Bastide, 2000), cette contrainte sur la taille des transactions n’est pas prise en compte.
Les évaluations des algorithmes portent plutôt sur le temps d’extraction des règles d’association
pour de grandes bases de données test, utilisées notamment dans les conférences Fast Itemset
Mining Implementations. Ces bases de données sont des données de ventes et de recensements.
Les données des bases de test contiennent en moyenne 20 items par objet et 10 000 objets. En
revanche le nombre minimum d’items différents au total pour les différentes bases est de 127
items et le nombre maximum est de 2 178. Dans le cas du CISMeF, si l’on considère le nombre
d’items différents possibles dans le cas où le descripteur est un mot clé, ce facteur est
pratiquement de 4.
Base de Règles
Exactes
Base de
Données
CISMeF
Fiche
A-Close
Indexée
Base de Règles
Approximatives
FIG.4.5.− Processus d’extraction de règles d’association du corpus indexé
Notre implémentation de l’algorithme A-Close reçoit en entrée un fichier généré (en
PL/SQL) à partir de la base de données. Le fichier en entrée contient les différentes
transactions. Les valeurs du support minimum et de la confiance minimum sont paramétrables
en entrée de l’algorithme. Chaque transaction a un identifiant (le numéro unique de la notice)
qui est suivi des différents items qui la composent, séparés par des tabulations. Les items sont
classés par ordre alphabétique. En sortie de l’algorithme, les règles d’association peuvent au
choix, soit être visualisées par l’utilisateur dans un fichier en sortie, soit être automatiquement
ajoutées à la base de données CISMeF dans une table relationnelle créée à cet effet, afin d’être
exploitées dans le processus de recherche d’information. Dans le cas de la visualisation, les
règles d’association en sortie sont ordonnées en fonction de la taille de l'antécédent du support
le plus élevé au moins élevé.
Un tuple de la table TB_KNOWQE_REGLES_ASSOC contenant les règles d’association extraites
d’un contexte correspond a une règle d’association. Il possède les attributs suivants :
– L’attribut CONTEXTE : indique le nom du contexte qui a été utilisé pour extraire les règles
d’association.
– L’attribut ANTECEDANTS : contient la liste des libellés des items antécédents de la règle
séparés par une tabulation (la virgule ou le point virgule pouvant exister dans les libellés des
items).
–
L’attribut CONSEQUENTS : contient la liste des libellés des items conséquents de la règle
190
– L’attribut SUPPORT : indique la valeur du support de la règle (nombre entier) en
l’occurrence le nombre de documents.
–
L’attribut CONFIANCE : indique la valeur de la confiance de la règle (décimal).
Les autres indices de qualité présentés n’ont pas été considérés dans notre processus de fouille.
Une seconde condition, autre que les contraintes de support et de confiance, a été ajoutée
dans l’implémentation de l’algorithme pour éviter des temps de génération trop longs : la taille
maximum des générateurs d’itemsets fermés candidats a été fixée à 300 items. Cette valeur
correspond au nombre maximum de descripteurs pour les notices existant dans la base de
données CISMeF. En effet, la taille maximum d’items étant de 300, les itemsets fréquents
maximaux potentiels ont une taille de 300.
4 .6 .1.1
M o t s Clé s
Dans ce premier cas, l’ensemble I correspond à l’ensemble des mots clés utilisés pour
l’indexation des documents. Deux expérimentations ont été réalisées et les résultats obtenus
sont résumés dans le tableau. Les notices sont sélectionnées de manière aléatoire. Nous avons
fixé le support minimum à 20 documents et la confiance à 70% pour les règles approximatives.
TAB.4.15.− Nombre de règles extraites pour minsup=20 et minconf=70% et I={MC}
N o m bre d e
N o m bre d e
N o m bre d e Rè gle s
D o cu m e n ts Rè gle s Exacte s
Ap p ro xim ative s
To tal
9 811
2 906
12 149
15 055
11 373
2 438
9 381
11 819
Les règles sont trop nombreuses pour être analysées manuellement par l’expert (notre
bibliothécaire médical en chef). En effet, comme l’ont indiqué (Gras et al., 2001) le nombre de
règles calculé peut être très élevé et les tâches de dépouillement, d'interprétation et de synthèse
des résultats peuvent devenir complexes, voire inextricables, pour l'utilisateur.
4 .6 .1.2
M o t s Clé s o u Qu a lifica t ifs
Dans ce cas, l’ensemble I correspond à l’ensemble des mots clés et des qualificatifs utilisés
pour l’indexation des documents.
TAB.4.16.− Nombre de règles extraites pour minsup=20 et minconf=70% et I={MC}∪{Qu}
N o m bre d e
N o m bre d e
N o m bre d e Rè gle s
D o cu m e n ts Rè gle s Exacte s
Ap p ro xim ative s
11 373
5 241
11 738
191
To tal
16 979
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
4 .6 .1.3
As s o cia t io n s M o t Clé / Qu a lifica t if
Dans ce troisième cas, l’ensemble I correspond à l’ensemble des associations (mots
clés/qualificatifs) utilisés pour l’indexation des documents. Ceci nous permet d’obtenir des
règles d’association entre couples de (Mot Clé/Qualificatif) plus fines que de simples
associations entre mots clés ou entre mots clés et qualificatifs. Les mots clés qui ne sont associés
à aucun qualificatif sont également considérés.
TAB.4.17.− Nombre de règles extraites pour minsup=20 et minconf=70% et I={(MC/Qu)}
N o m bre d e
N o m bre d e
N o m bre d e Rè gle s N o m bre d e
D o cu m e n ts Rè gle s Exacte s
Ap p ro xim ative s
Rè gle s
11 373
648
1917
2 565
On peut remarquer que pour ce contexte, avec les mêmes seuils de support et de confiance, le
nombre de règles réduit considérablement. On passe de 11 819 règles à 2 565. En revanche cette
réduction est profitable à la qualité des règles. En effet, on passe de simples règles d’association
entre mots clés à des règles d’association plus précises et plus fines, les mots clés étant qualifiés.
4 .6 .2
Fo u ille d e D o n n é e s ave c Ca té go ris atio n
Les règles extraites des expérimentations sont certes relatives au domaine de la santé, mais
afin d’obtenir des règles plus précises, nous avons réalisé des expérimentations sur les notices
catégorisées en fonction de spécialités, le domaine de la santé étant très large. Dans cette
seconde série d’expériences nous avons catégorisé les différentes fiches en fonction de
spécialités afin de comparer l’ensemble des règles d’association générées précédemment avec
celles obtenues après catégorisation. Le but étant d’étudier l’influence de la catégorisation sur la
génération des règles d’association.
Nous avons pour cela appliqué l’algorithme de catégorisation au corpus initial de 11 373
notices. Nous n’avons conservé que les spécialités considérées comme « majeures » en fonction
de la pondération adoptée. La seconde condition pour la sélection des spécialités, est que le
nombre de notices par spécialité soit supérieur à 500, cela sachant qu’une même notice peut
être catégorisée par plusieurs spécialités, dont plusieurs en « majeur ». Les mesures de support
et de confiance sont les mêmes que précédemment.
192
Base de Règles
Exactes S 1
Notice
Base de Règles
Approximatives S 1
S1
Notice
A-Close
Catégoriseur
Base de Règles
Exactes S k
Notice
Sk
Base de Règles
Approximatives
Sk
FIG.4.6.− Catégorisation de documents et extraction de règles d’association
193
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
FIG.4.7.− Exemple de fichier en sortie de KnowQue-Dataminer
194
"KNOWLEDGE-BASED QUERY EXPANSION SYSTEM"
**** EXACTS RULES ****
tumeur sein/radiographie -> mammographie (Sup,Conf:16.0,1.0);
France AND tumeur sein/diagnostic -> tumeur sein/prevention et controle (Sup,Conf:17.0,1.0);
mammographie AND tumeur sein/epidemiologie -> tumeur sein/prevention et controle (Sup,Conf:11.0,1.0);
oncologie medicale/enseignement et education AND suivi soins patient -> signes et symptomes (Sup,Conf: 14.0,1.0);
tumeur sein/diagnostic AND tumeur sein/epidemiologie -> tumeur sein/prevention et controle (Sup,Conf: 10.0,1.0);
tumeur sein/diagnostic AND depistage systematique -> tumeur sein/prevention et controle (Sup,Conf: 26.0,1.0);
tumeur sein/prevention et controle AND tumeur sein/radiographie -> mammographie (Sup,Conf: 11.0,1.0);
France AND mammographie AND tumeur sein/diagnostic -> tumeur sein/prevention et controle (Sup,Conf : 10.0,1.0);
France AND tumeur sein/diagnostic AND depistage systematique -> tumeur sein/prevention et controle (Sup,Conf: 13.0,1.0);
**** APPROX RULES ****
metastase tumeur/prevention et controle -> recidive tumorale locale/prevention et controle (Sup,Conf: 18.0,0.9);
tumeur col uterus/prevention et controle -> tumeur col uterus/diagnostic (Sup,Conf: 10.0,0.83);
tumeur colorectale/prevention et controle -> tumeur colorectale/diagnostic (Sup, Conf: 11.0,0.85);
tumeur prostate/therapeutique -> tumeur prostate/diagnostic (Sup,Conf: 14.0,0.82);
tumeur sein/diagnostic -> tumeur sein/prevention et controle (Sup,Conf: 43.0,0.83);
tumeur sein/prevention et controle -> tumeur sein/diagnostic (Sup,Conf: 43.0,0.83);
tumeur sein/therapeutique -> tumeur sein/diagnostic (Sup,Conf: 11.0,0.85);
diagnostic differentiel -> signes et symptomes (Sup,Conf: 37.0,0.77);
adolescent -> enfant (Sup,Conf: 21.0,0.88);
4 .6 .2 .1
M o t s Clé s
TAB.4.18.− Nombre de règles extraites pour minsup=20 et minconf=70% et I={MC}
Sp é cialité
N o m bre d e
N o m bre d e
D o cu m e n ts Rè gle s Exacte s
N o m bre d e Rè gle s
To tal
Ap p ro xim ative s
Allergologie
509
101
231
332
Cardiologie
558
251
542
793
Oncologie
644
154
329
483
Psychiatrie
515
76
337
413
Gastroentérologie
501
85
300
385
Neurologie
1 137
169
520
689
Environnement
1 254
257
924
1 181
Diagnostic
883
465
1 218
1 683
Thérapeutique
782
555
2 010
2 565
Pédiatrie
906
1 116
5 629
6 745
3 229
12 0 4 0
15 2 6 9
To tal
Le nombre de règles au total est sensiblement le même qu’avant catégorisation. En revanche,
ce ne sont pas les mêmes règles. Elles n’ont pas les mêmes support et confiance.
4 .6 .2 .2
As s o cia t io n M o t s Clé s / Qu a lifica t ifs
TAB.4.19.− Nombre de règles extraites pour minsup=20 et minconf=70% et I={(MC/Qu)}
Sp é cialité
N o m bre d e
N o m bre d e
D o cu m e n ts Rè gle s Exacte s
N o m bre d e Rè gle s
To tal
Ap p ro xim ative s
Allergologie
509
93
206
299
Cardiologie
558
151
332
483
Oncologie
644
119
358
477
Psychiatrie
515
57
155
212
Gastroentérologie
501
96
248
344
Neurologie
1 137
83
285
368
Environnement
1 254
148
584
732
Diagnostic
883
112
312
424
Thérapeutique
782
206
562
768
Pédiatrie
906
205
634
839
1 2 70
3 6 76
4 946
To tal
En qualifiant les mots clés, les règles d’association sont plus précises et donc moins
nombreuses.
195
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
4 .6 .3
Fo u ille d e Te xte s
Dans ce type de fouille, nous appliquons la technique de fouille de données aux textes. On
suppose que deux termes qui apparaissent dans le même document sont sémantiquement liés. Il
peut être intéressant de découvrir des règles d’association entre termes « réservés » du domaine
et termes « libres » n’appartenant pas à la terminologie. En effet les utilisateurs peuvent utiliser
dans leur requête un terme sémantiquement équivalent à un terme réservé mais n’existant pas
dans la terminologie. Nous nous basons sur l’hypothèse qu’un document représente un
ensemble de termes sémantiquement cohérent et que tous les termes participent à la
signification globale du document. Chaque terme a une signification dans le contexte où il est
utilisé dans le document. Les termes sont alors des indicateurs d’une certaine connaissance qui
révèle le contexte de l’utilisation des termes dans les documents.
L'indexation automatique est réalisée à partir du texte brut en utilisant comme identifiant les
différentes URLs.
Les techniques traditionnelles supposent que l’extraction doit se faire sur des bases de
données relationnelles structurées. Nos données brutes (textes intégraux) sont traitées par
InterMediaText d’Oracle®. Cet outil permet d’indexer tout document ou contenu textuel pour
améliorer la recherche d’information dans les applications du Web en évitant de stocker le
contenu des pages Web. Les types indexés sont html, xml, pdf, doc, txt…etc. Une ressource peut
avoir plusieurs URLs et plusieurs formats.
L’index est construit à l’aide de mesures de pertinence (ou score) en fonction de la fréquence
d’apparition d’un terme. Nous y avons intégré notre liste de mots vides (§ Chapitre 3). Le corpus
de documents non structurés est transformé en une base de données relationnelle disposant
d’un index. Les objets sont les documents et les attributs sont les termes trouvés par
InterMediaText. Le score d’un terme est converti en entier et est compris entre 0 et 100. Score =
3 f (1+log(N/n))
f est la fréquence du terme dans le document, N est le nombre total de lignes d’un document
et n est le nombre de lignes qui contiennent le terme.
Nous pouvons retenir, grâce à un script PL/SQL, tous les termes contenus dans un document
à partir de l’index et dont le score est supérieur à 50. Un document est composé de 190 termes
de score supérieur à 50, avec au minimum 73 termes par document et au maximum 693 termes
différents ce qui est un nombre important.
Nous avons gardé les mêmes mesures de support et de confiance que précédemment
(minsup=20 ; minconf=70%). Le processus d’indexation, de sélection des termes et d’extraction
des règles d’association est assez long. Le tableau décrit les différents formats de document en
entrée et le nombre de règles d'association extraites. Un document peut avoir plusieurs formats.
TAB.4.20.− Résultats pour la fouille de textes
Format
Html
Pdf
5 128 Documents 4 647 1 689
Doc
99
Nombre de Règles
Zip Autres
172
196
135
Exactes Approximatives
1 250
3 836
TAB.4.21.− Fouille de textes à partir des documents catégorisés
Sp é cialité
N o m bre d e
N o m bre d e
N o m bre d e Rè gle s
D o cu m e n ts Rè gle s Exacte s
Ap p ro xim ative s
To tal
Neurologie
1 137
1 354
105 202
106 556
Environnement
1 254
2 815
397 073
399 888
Le nombre de règles obtenues est très important. Elles ne peuvent donc pas être évaluées par
l’expert mais elles peuvent néanmoins être stockées dans la base de données et être exploitées
dans la recherche d’information. L’expansion des requêtes dans ce cas précis sera interactive
avec l’utilisateur qui pourra décider des autres termes à inclure dans sa nouvelle requête.
Le processus de fouille de textes est sensible à la phase d'indexation. Si un terme est absent de
l'indexation d'un seul texte (i.e. silence), cela peut entraîner la disparition d'une règle du fait du
seuil minimum du support.
4 .6 .4
Fo u ille d e D o n n é e s Po n d é ré e s
Dans les différentes expérimentations, nous avons exploré les relations item-objet classiques.
Les seuls degrés figurant dans cette relation sont de type 0 ou 1 traduisant la présence ou
l’absence d’un item dans un objet du contexte.
Dans le cadre de CISMeF, nous disposons de la notion de poids d’un descripteur dans un
document indexé. Cette information peut être intéressante d’intégrer dans le processus de
découverte de règles d’association entre descripteurs. Cependant le poids d’un descripteur n’est
pas représenté par des valeurs décimales, mais représenté à l’aide des indicateurs « majeur » et
« mineur ». Le poids « majeur » a un facteur de 2 par rapport au poids « mineur ». Nous avons
extrait les règles entre descripteurs majeurs.
4 .6 .4 .1
M o t s Clé s e n M a je u r
197
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
TAB.4.22.− Nombre de règles extraites pour minsup=20 et minconf=70% et I={MC*}
Sp é cialité
N o m bre d e
N o m bre d e
N o m bre d e Rè gle s
D o cu m e n ts Rè gle s Exacte s
Ap p ro xim ative s
To tal
Allergologie
509
4
12
16
Cardiologie
558
7
37
44
Cancérologie
644
2
13
15
Psychiatrie
515
1
8
9
Gastroentérologie
501
4
34
38
Neurologie
1 137
4
34
38
Environnement
1 254
6
85
91
Diagnostic
883
7
36
43
Thérapeutique
782
2
32
34
Pédiatrie
906
6
90
96
43
38 1
424
To tal
4 .6 .4 .2
As s o cia t io n s M o t s Clé s / Qu a lifica t ifs e n M a je u r
TAB.4.23.− Nombre de règles extraites pour minsup=20 et minconf=70% et I={(MC/Qu)*}
Sp é cialité
N o m bre d e
N o m bre d e Rè gle s
N o m bre d e
D o cu m e n ts Rè gle s Exacte s
Ap p ro xim ative s
To tal
Allergologie
509
2
12
14
Cardiologie
558
5
31
36
Oncologie
644
0
20
20
Psychiatrie
515
0
3
3
Gastroentérologie
501
2
12
14
Neurologie
1 137
0
25
25
Environnement
1 254
5
53
58
Diagnostic
883
4
36
40
Thérapeutique
782
2
18
20
Pédiatrie
906
4
61
65
24
2 71
295
To tal
198
Les règles d’association obtenues sont relatives exclusivement la spécialité concernée. Ces
mêmes spécialités sont déduites à partir des couples (MC/Qu) et (MC) en majeur.
Règles d'Association
RE
RA
14000
12000
10000
8000
6000
4000
2000
0
Contexte
MC
MC/Q
MC*
MC*/Q*
FIG.4.8.−Nombre de règles d’associations en fonction du contexte
Règles d'Association (Corpus Environnement)
RE
RA
1000000
100000
10000
1000
100
10
1
Contexte
MC
MC/Q
MC*
MC*/Q*
Texte
FIG.4.9.− Nombre de règles de la spécialité Environnement
199
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
4 .6 .5
Evalu atio n d e s Rè gle s d ’As s o ciatio n
Les mesures de support et de confiance permettent une évaluation objective des règles
d’association. L’évaluation des règles d’association par l’expert en revanche est une évaluation
subjective qui est fonction de ses connaissances du domaine. L’évaluation a porté sur les règles
extraites du dernier contexte, en l’occurrence, les 295 règles d’association entre couples (Mot
clé/ qualificatif) indexant les documents en « majeur » (Soualmia & Darmoni, 2004a)
(Soualmia & Darmoni, 2004b) (Soualmia & Darmoni, 2004c). Le but d’une telle évaluation est
de déterminer si une règle d’association est intéressante ou pas. Une règle d’association est
intéressante si elle confirme une hypothèse ou si elle établit une nouvelle hypothèse.
Dans le cas du CISMeF, nous avons distingué différents cas de règles intéressantes en
fonction des relations qui peuvent exister entre les termes de la terminologie. Une règle
d’association intéressante peut associer :
–
Un fils (in)direct et son père : relation Père-Fils.
Exemple : hépatite A → hépatite. hépatite A est fils direct de hépatite.
– Deux termes appartenant à la même hiérarchie. Ils ont le même père direct ou indirect :
relation Frère.
Exemple : tumeur/prévention et contrôle → tumeur/diagnostic. diagnostic et prévention
et contrôle appartiennent à la même hiérarchie.
–
Deux termes reliés par la relation Voir Aussi.
Exemple : analgésiques → douleur. douleur est un Voir Aussi de analgésiques.
– Deux termes par une nouvelle relation intéressante non formalisée dans la terminologie:
relation Nouvelle. Par exemple : tumeur sein/diagnostic → mammographie. Cette règle
indique une nouvelle association n’existant pas au préalable dans la terminologie. On peut
interpréter qu’un diagnostic de tumeur sein peut se faire par une mammographie.
200
TAB.4.24.− Evaluation des règles d’association par l’expert
Sp é cialité
N o m bre
N o m bre
N o m bre
N o m bre N o m bre
N o u ve lle Vo ir Au s s i Mê m e Arbo Pè re Fils Au tre s
Allergologie
12
1
0
1
0
Cardiologie
26
3
2
1
4
Oncologie
17
1
1
0
1
Psychiatrie
0
1
0
0
2
Gastroentérologie
5
1
0
0
8
Neurologie
8
4
1
0
12
Environnement
18
4
7
5
24
Diagnostic
32
3
0
1
3
Thérapeutique
3
3
3
1
10
Pédiatrie
5
3
3
2
52
To tal
12 6
24
17
11
116
Les règles décrivant des associations existantes dans la terminologie sont automatiquement
classées. Au total plus que 242 règles à analyser sont proposées à l’expert. Les proportions des
différentes règles intéressantes sont les suivantes :
–
Nouvelles règles : 70,78 % (42,71% du total)
–
Relation Voir Aussi : 13,48 % ( 08,13% du total)
–
Relation Même Arborescence : 09,55 % ( 05,76% du total)
–
Relation Père-Fils : 06,18% ( 03,73% du total)
Répartition des règles intéressantes
Même
Frère
Arborescence 6%
10%
Relation Voir
Aussi
13%
Nouvelles règles
Relation Voir Aussi
Même Arborescence
Frère
Nouvelles règles
71%
201
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
FIG.4.11.− Analyse des règles intéressantes
L’indexation étant réalisée par des experts, connaissant parfaitement la terminologie, on
aurait pu penser que des termes qui ont une relation hiérarchique ne seraient pas utilisés
conjointement pour indexer une ressource, l’indexation se faisant à l’aide du terme le plus
spécifique. Cependant l’analyse des ressources indexées a montré qu’il en était tout autre : 1 466
ressources comportent des mots clés qui sont en relation hiérarchique. Par exemple, une
ressource est indexée à l’aide des mots clés aberration chromosomique et trisomie alors que
trisomie est fils d’aberration chromosomique. 478 ressources sont indexées en utilisant des
qualificatifs qui ont une relation hiérarchique et qui sont associés à un même mot clé. Par
exemple les associations nez/anatomie et histoire et nez/anatomie pathologique sont
contenues dans la même ressource alors qu’anatomie pathologique est fils d’anatomie et
histoire et enfin 106 ressources sont indexées avec des types de ressources qui sont reliés
hiérarchiquement (exemple : matériel enseignement et cours). Cela se retrouve dans l’analyse
des règles intéressantes avec une proportion de 29,22%.
4 .7
Exp lo itatio n p o u r la Re ch e rch e d ’In fo rm atio n
Les outils de cooccurrence développés dans le domaine de la recherche d’information
rapprochent des termes qui apparaissent fréquemment dans les mêmes documents et qui
possèdent donc sans doute une certaine proximité sémantique. La technique de recherche de
cooccurrents est déjà très ancienne puisqu’elle a été promue très tôt en informatique
documentaire pour permettre l’expansion de requêtes.
Les règles d’association peuvent être exploitées dans le système de recherche d’information
en réalisant des expansions interactives des requêtes des utilisateurs. Une expansion interactive
des requêtes (IQE) peut aider l’utilisateur à formuler sa requête (Magennis & van Rijsbergen,
1997) à l’image du module Refine d’AltaVista (Bourdoncle, 1997), en utilisant le résultat d’une
requête pour la reformuler, la filtrer et la réorienter en exploitant les termes liés aux termes de
sa requête. En effet, l’utilisateur peut sélectionner des ensembles des termes ou des termes,
suggérés, pour les ajouter à sa requête. Dans le cas d’un besoin d’information non précis c’est à
dire que l’utilisateur a une idée vague de son besoin d’information, les contextes des termes de
sa requête peuvent être suggérés et l’utilisateur choisit les termes à ajouter à sa requête. Dans le
cas où le besoin d’information serait précis alors l’utilisateur peut choisir les termes d’un
ensemble correspondant à son besoin d’information.
L’expansion d’une requête peut être vue comme un traitement pour élargir le champ de
recherche pour cette requête. Une requête étendue va contenir plus de termes reliés. En utilisant
le modèle vectoriel, par exemple, plus de documents seront repérés. Ainsi, ce traitement est un
moyen d’augmenter le taux de rappel (Bruandet & Chevallet, 2003).
L’expansion de requête peut être effectuée à l’aide des règles d’association extraites. Pour
chaque terme d’une requête, son profil relationnel dans le corpus est ajouté dans la requête
d’origine. Même si les liens ne sont pas typés, ils permettent de pouvoir préciser son besoin
d’information en examinant le contexte d’utilisation des termes qu’il emploie. Le contexte d’un
terme est une indication sur la définition possible d’un terme ou de son environnement d’usage.
En utilisant la base de connaissances constituée par les différentes règles d’association
extraites l’expansion des requêtes peut être interactive ou automatique. Une expansion
interactive, contrairement à l’expansion automatique, nécessite une implication de l’utilisateur
202
dans la phase d’expansion. Ce dernier, selon sa compréhension de la requête, ajoute un certain
nombre de termes à la requête d’origine. Pour cela, un module d’expansion interactive a été
développé. Les utilisateurs peuvent ajouter d’autres termes, extraits de la base de connaissances,
à la requête originale.
Les relations Père-Fils entre les termes sont utilisées dans le processus de recherche
d’information. En revanche, les autres types d’association sont proposés à l’utilisateur pour
étendre sa requête. La figure est un exemple de propositions de couples (mot clé/qualificatifs)
pour la requête mammographie. Cette requête peut être étendue en ajoutant par exemple le
couple tumeur sein/prévention et contrôle. La requête initiale est alors transformée en requête
booléenne :
Mammographie OU (tumeur sein/prévention et contrôle)
FIG.4.12.− Interface d’expansion de requêtes à l’aide de règles d’association
Au vu des différentes règles d’associations extraites à partir de la base de données, par un
processus de fouille de données, les documentalistes ont jugé intéressant de formaliser et
d’insérer dans la base de règles des associations entre couples (Mot Clé/Qualificatif) à l’aide de
règles appelées règles expertes. Par exemple la règle découverte dans le contexte (Mot
Clé/Qualificatif) : hépatite B/prévention et contrôle → vaccins anti-hépatite B a permis
d’insérer les nouvelles règles suivantes par l’expert :
grippe/prévention et contrôle → vaccins anti-grippe ;
tuberculose/prevention et contrôle → vaccin BCG ;
oreillons/prévention et contrôle ET rougeole/prévention et contrôle ET rubéole/prévention
et contrôle → vaccins antimorbilleux, antiourlien, antirubéoleux.
203
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
dysenterie bacillaire/prévention et contrôle → vaccins anti-shigella
Aujourd’hui cette table de règles expertes comporte 380 règles différentes.
4 .8
Cré atio n d e Rè gle s Exp e rte s
En plus d’une aide à la recherche d’information, ces règles peuvent être exploitées par les
documentalistes pour une aide à l’indexation manuelle ou semi-automatique. Différents cas sont
possibles et ont été modélisés (Octobre 2004) :
−−
– La règle MC1/Q1 ⎯⎯→
MC2 indique qu’il convient de remplacer l’association MC1/Q1 par
−−
le mot clé MC2. Par exemple, la règle abdomen/radiographie ⎯⎯→
radiographie abdominale
indique que le couple (abdomen/radiographie) doit être remplacé par le mot clé radiographie
abdominale.
++
– La règle MC1/Q1 ⎯⎯→
MC2/Q2 indique qu’il convient d’ajouter la paire MC2/Q2 à
l’indexation d’une ressource déjà indexée avec la paire MC1/Q1. Par exemple, la règle
++
appendicectomie ⎯⎯→
appendicite/chirurgie indique que le couple (appendicite/chirurgie)
peut être ajouté aux descripteurs d’une ressource indexée avec le mot clé appendicectomie.
Différentes catégories de descripteurs ont été définies pour ces règles :
–
La catégorie MALADIE : elle comporte tous les concepts des arborescences C et F03.
– La catégorie ACTION (pour
de l’arborescence D 27.505.
ACTION PHARMACOLOGIQUE)
: elle comporte tous les concepts
– La catégorie SUBSTANCE : elle comporte tous les concepts de l’arborescence D sauf les
sous-arborescences D 05, D 12, D 13, D 25, D 27.505.
–
La catégorie TECHNIQUE : elle comporte tous les concepts de l’arborescence E.
–
La catégorie ORGANE : elle comporte tous les concepts de l’arborescence A.
–
La catégorie VACCIN : elle comporte tous les concepts de l’arboresence D24.310.894.
Des règles générales ont été modélisées. Elles prennent en compte les termes contenus dans
les requêtes ou dans les textes. Quelques-unes sont présentées dans le tableau suivant :
TAB.4.25.− Quelques règles expertes
Caté go rie d e
Co n te n u d e
D e s crip te u rs
la re qu ê te o u d u te xte
Pro p o s itio n s
Lutter contre la maladie
MALADIE
Vaccin anti-maladie
Maladie/prévention et contrôle
Immunisation contre maladie
ACTION
SUBSTANCE
Traitement avec action
Action/usage thérapeutique
Indiqué pour la substance
Substance/usage thérapeutique
204
Caté go rie d e
Co n te n u d e
D e s crip te u rs
la re qu ê te o u d u te xte
TECHNIQUE
Pro p o s itio n s
Indication de technique
Technique/utilisation
Biopsie et maladie
Maladie/anatomie pathologique
Complications de la maladie
Maladie/complications
SUBSTANCE
Pharmacovigilence de la substance
Substance/effets indésirables
SUBSTANCE
la substance est contre-indiquée
Substance/contre-indications
TECHNIQUE
Contre-indications de la technique
Technique/contre-indications
TECHNIQUE
Complications de la technique
Technique/effets indésirables
MALADIE (C 04)
MALADIE
Substance/contre-indications
SUBSTANCE
Sécurité d’emploi de la substance
ET Substance/effets indésirables
ET interaction médicamenteuse
ET évaluation risque
SUBSTANCE
Analyse chimique de la substance
Substance/analyse
synthèse chimique de la SUBSTANCE
structure chimique de la SUBSTANCE
SUBSTANCE
propriété chimique de la SUBSTANCE
Substance/composition chimique
contenu chimique de la SUBSTANCE
caractérisation chimique de la
SUBSTANCE
composition chimique de la SUBSTANCE"
MALADIE
MALADIE due a une SUBSTANCE
maladie/induit chimiquement
ORGANE
effet de la SUBSTANCE sur un ORGANE
organe/action des produits
chimiques
métabolisme de la SUBSTANCE
mécanisme d'action de la SUBSTANCE
SUBSTANCE
mode d'action de la SUBSTANCE
Substance/pharmacologie
action pharmacologique de la SUBSTANCE
durée d'action de la SUBSTANCE
ORGANE
Métabolisme de l’organe
organe/métabolisme
MALADIE
Métabolisme de la maladie
Maladie/métabolisme
VACCIN
SUBSTANCE
Vaccination
Toxicité pharmacologique
Substance/induit chimiquement
Substance/effets indésirables
TECHNIQUE (E 02)
Efficacité de la technique
Evaluation résultat traitement
TECHNIQUE (sauf E
02)
Efficacité de la technique
Etude technologie biomédicale
Maladie chronique
Maladie et maladie chronique
MALADIE
Il existe également des cas plus complexes. Par exemple si le texte ou la requête comporte
« traitement de la maladie » ou « traiter la maladie », il y a plusieurs cas possibles :
205
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
– S’il est également question d’une action et d’une substance, les couples
(maladie/traitement) et (action/usage thérapeutique) et (substance/usage thérapeutique) sont
proposés.
– S’il est également question dans la requête ou dans le document d’une action mais pas
d’une substance, les couples (maladie/traitement) et (action/usage thérapeutique) sont
proposés.
– S’il n’est question ni d’une action ni d’une substance, l’un des couples suivants peut être
utilisé :
– (maladie/thérapeutique) par défaut, si aucune précision n’est donnée sur le type de
thérapie.
– (maladie/chirurgie) s’il s’agit d’un « traitement chirurgical » ou autre type
d’intervention de l’arborescence E4.
–
4 .9
(maladie/radiothérapie) s’il s’agit d’un « traitement par rayons ».
Qu e lqu e s Pe rs p e ctive s
La fouille de données que nous avons réalisé passe par une indexation conceptuelle de
documents qui consiste à les indexer par des structures conceptuelles extraites des documents
eux-mêmes. Même si les documents sont indexés par des descripteurs que nous appelons mot
clé, ce type d’indexation dépasse la simple indexation au niveau du terme. En effet, les
descripteurs utilisés sont des structures conceptuelles représentées par des concepts organisés
en une hiérarchie sur lesquels il est possible de faire des calculs de spécialisation ou de
généralisation. Cette hiérarchie peut être exploitée afin de générer automatiquement des règles
d’associations généralisées en déterminant pour l’antécédent ou le conséquent de la règle, le
concept généralisant dans la hiérarchie.
InterMediaText permet d'intégrer des dictionnaires et des thésaurus. On peut envisager
d’intégrer le vocabulaire contrôlé du CISMeF afin d’indexer automatiquement les documents (vs
indexation manuelle actuelle) et en extraire des règles d’association par un processus de fouille
de textes. En déterminant les degrés d’appartenance des termes dans un document du corpus,
calcul possible grâce à la fonction score de InterMediaText, on peut générer des règles
d’association entre termes pondérés avec des poids compris entre [0,1], les règles d’association
devenant floues.
Toujours concernant l’indexation, les règles d’association et les règles expertes proposées par
l’expert, peuvent être traduites sous la forme d’automates ou de grammaires locales et intégrées
à des outils comme INTEX, pour proposer une indexation automatique des documents.
Un seuil minimal de support a été fixé au préalable pour éliminer les règles très rares. On
peut également envisager de fixer un seuil maximum de support afin d’éviter de générer des
règles d’association très fréquentes qui ne sont pas utiles. En effet, si la mesure de support est
très élevée cela veut dire que les deux ensembles d’items co-occurrent trop souvent ensemble
dans les entités textuelles de la collection. Cette connaissance est donc explicite (elle n’est pas
206
nouvelle) et il n’est pas intéressant de l’extraire. On peut également envisager d’utiliser d’autres
indices statistiques.
B IBLIOGRAPH IE
(Agrawal & Srikant, 1994) AGRAWAL R. & SRIKANT R (1994) Fast algorithms for mining association rules in
large databases. Proc. VLDB. pp 478−499.
(Agrawal et al., 1993) AGRAWAL R., IMIELINSKI T., SWAMI A.N. (1993) Mining association rules between sets
of items in large databases. Proceedings of the 1993 ACM SIGMOD International conference on
management of data, pp. 207-216
(Ahonen et al., 1997) AHONEN H., HEINONEN O., KLEMETTINEN M. , A. VERKAMO. (1997) Applying data
mining techniques in text analysis. Technical report, Department of Computer Science, University of
Helsinki.
(Azé, 2003) AZE J. (2003) Extraction de connaissances à partir de données numériques et textuelles. Thèse
de doctorat Paris XI.
(Azé. & Roche, 2003) AZE J. & ROCHE M. (2003) Une application de la fouille de textes : l’extraction des
règles d'association à partir d'un corpus spécialisé. In Proc. of Extraction et Gestion des Connaissances
(EGC'03), volume 17 of RSTI/RIA-ECA, pp. 283-294.
(Bastide et al., 2002) BASTIDE Y, TAOUIL R, PASQUIER N, STUMME G, LAKHAL L (2002) Pascal un algorithme
d’extraction des motifs fréquents. Techniques et sciences Informatiques 21(1) :65-85.
(Bastide, 2000) BASTIDE Y. (2000) Algorithmique de data mining : techniques d'implémentation et
négation. Thèse de doctorat, Université de Clermont-Ferrand II.
(Bayardo et al., 1999) BAYARDO RJ., AGRAWAL R., GUNOPULOS D.. (1999) Constraint-based rule mining in
large, dense databases. Proceedings of the ICDE conference, pp 188−197.
(Bayardo, 1998) BAYARDO RJ. (1998) Efficiently mining long patterns from databases. Proceedings of the
SIGMOD conference, pp 85−93
(Bourdoncle, 1997) BOURDONCLE F.(1997) Livetopics: Recherche visuelle d’information sur l’internet. La
Documentation Française, (74):36–38.
(Brin et al., 1997) BRIN S., MOTWANI R., ULLMAN JD., TSUR S. (1997) Dynamic itemset counting and
implication rules for market basket data. Proceedings of the SIGMOD conference, pp 255−264.
(Brin et al., 1997) BRIN S., MOTWANI R., SILVERSTEIN (1997) Beyond market baskets: generalizing
association rules to correlations. Proceedings of the ACM SIGMOD’97 pp.265-276.
(Bruandet & Chevallet, 2003) BRUANDET MF & CHEVALLET JP. (2003) Utilisation et construction de Bases
de connaissances pour la recherche d’information. Assistance Intelligente à la recherche d’information,
pp.85-118.
(Cherfi et al., 2003) CHERFI H, NAPOLI A, TOUSSAINT Y (2003) Vers une méthodologie de fouille de textes
s'appuyant sur l’extraction de motifs fréquents et de règles d'association. Conférence CAP’2003
(Cherif-Latiri et al., 2003) CHERIF-LATIRI C., BENYAHIA S., MINEAU G., JAOUA A. (2003) Découverte de
Règles Associatives non Redondantes : Application aux corpus textuels. Revue Intelligence Artificielle, Vol
(17) N° 1, pp.131-144.
(Cooley at al., 1997) R. COOLEY, B. MOBASHER, AND J. SRIVASTAVA. (1997) Web mining: Information and
pattern discovery on the world wide web. IEEE International Conference on Tools with Artificial
Intelligence (ICTAI’97), pp.558–567.
(Davey & Priestley, 1994) DAVEY BA. & HA. PRIESTLEY. (1994) Introduction to lattices and order.
Cambridge University Press, Fourth edition.
(Duquenne & Guigues, 1986) DUQUENNE V., GUIGUES JL. (1986) Famille minimale d'implications
informatives résultant d'un tableau de données binaires. Mathématiques et Sciences Humaines,
24(95):5−18.
(Fayyad et al., 1996) UM. FAYYAD, G. PIATETSKY-SHAPIRO, P. SMYTH, R. UTHURUSAMY (1996) Advances in
Knowledge Discovery and Data Mining. American Association of Artificial Intelligence Press.
207
CHAPITRE 4 : DECOUVERTE DE CONNAISSANCES
(Feldman & Hirsh, 1996) R. FELDMAN & H. HIRSH. (1996) Mining associations in text in the presence of
background knowledge. 2nd International Conference on Knowledge Discovery (KDD-96), pp. 343–346.
(Ganter & R. Wille, 1999) B. GANTER & R. WILLE. (1999) Formal Concept Analysis : Mathematical
foundations. Springer 1999.
(Godin & Missaoui, 1994) R. GODIN & R. MISSAOUI. (1994) An incremental concept formation approach for
learning from databases. Theoretical Computer Science: Special issue on formal methods in databases
and software engineering, 133(2):387−419.
(Gras et al., 2001) GRAS R, KUNTZ P, BRIAND H. (2001) Les fondements de l’analyse statistique implicative
et quelques prolongements pour la fouille de données. Revue Mathématiques et Sciences humaines 154155 :9-29
(Guillaume, 2000) GUILLAUME S. (2000) Traitement des données volumineuses : mesures et algorithmes
d’extraction de règles d’association et règles ordinales. Thèse Université de Nantes.
(Hajek et al., 1966) HAJEK P, HAVEL I, CHYTIL M (1966). The GUHA method for Automatic hypotheses
determination. Computing 1 : 293-308
(Hajek, 2001) HAJEK P. (2001) The GUHA method and mining association rules. Computational
Intelligence: Method and Applications pp.533-539.
(Heckerman, 1996) D. HECKERMAN. (1996) Bayesian networks for knowledge discovery. Advances in
Knowledge Discovery and Data Mining, pp 273−305.
(IBM, 1996) IBM intelligent Miner User’s Guide Version 1 Release 1.
(Klemettinen et al., 1994) M. KLEMETTINEN, H. MANNILA, P. RONKAINEN, H. TOIVONEN, A. I. VERKAMO.
(1994) Finding interesting rules from large sets of discovered association rules. CIKM conf., pp 401−407.
(Lallich & teytaud, 2004) LALLICH S. &
d’association. Journée GafoDonnées.
TEYTAUD
(2004) Evaluation et validation de l’intérêt des règles
(Lavrac et al., 1999) LAVRAC N., FLACH P., ZUPAN B. (1999) Rule evaluation measures : a unifying view.
Dzeroski &Flach (Eds) Lecture Notes in Artificial Intelligence # 1634. pp.174-185.
(Lehn, 2000) LEHN R (2000) Un système interactif de visualisation et de fouille de règles pour l’extraction
de connaissances dans les bases de données. Thèse Université de Nantes.
(Lent et al., 1997) B. LENT, R. AGRAWAL, AND R. SRIKANT. (1997) Discovering trends in text databases.
Conference on Knowledge Discovery in Databases and Data Mining (KDD’1997), pp. 227–230.
(Lin & Kedem, 1998) D. LIN & Z. M. KEDEM. (1998) Pincer-Search : A new algorithm for discovering the
maximum frequent set. EBDT conf., Lecture Notes in Computer Science #1377, pp. 105−119.
(Luxenburger, 1991) M. LUXENBURGER. (1991) Implications partielles dans un contexte. Mathématiques,
Informatique et Sciences Humaines, 29(113):35−55.
(Magennis & Rijsbergen, 1997) M. MAGENNIS & CJ. VAN RIJSBERGEN. (1997) The potential and actual
effectiveness of interactive query expansion. In International Conference on Research and Development in
Information Retrieval (SIGIR’97) pp.324–332.
(Mannila et al., 1994) H. MANNILA, H. TOIVONEN, A.I. VERKAMO. (1994) Efficient algorithms for discovering
association rules. AAAI KDD workshop, pp 181−192.
(Masseglia et al., 1999) F. MASSEGLIA, P. PONCELET, R. CLICHETTI. (1999) Analyse du comportement des
utilisateurs sur le web. Congrès Informatique des Organisations et Systèmes d’Information et de Décision
(INFORSID’1999), pp.393–412.
(Masseglia, 2002) F. MASSEGLIA. (2002) Algorithmes et applications pour l’extraction de motifs
séquentiels dans le domaine de la fouille de données : de l’incrémental au temps réel. Thèse de doctorat,
Université de Montpellier.
(Ng et al., 1998) RT. NG, VS. LAKSHMANAN, J. HAN, A. PANG. (1998) Exploratory mining and pruning
optimizations of constrained association rules. Proceedings of the SIGMOD conference, pp 13−24.
(Pasquier et al., 1998) N. PASQUIER, Y. BASTIDE, R. TAOUIL, L. LAKHAL. (1998) Pruning closed itemset
lattices for association rules. Bases de Données Avancées, pp.177−196.
208
(Pasquier et al., 1999) N. PASQUIER, Y. BASTIDE, R. TAOUIL, L. LAKHAL. (1999) Closed set based discovery of
small covers for association rules. Bases de Données Avancées, pp.361−381.
(Pasquier et al., 2004) PASQUIER N, TAOUIL R, BASTIDE Y, STUMME G, LAKHAL L. (2004) Generating a
condensed representation of association rules, Journal of intelligent information systems, Kluwer
Academic Publisher, à paraître.
(Pasquier, 2000) N. PASQUIER. (2000) Data mining : algorithmes d'extraction et de réduction des règles
d'association dans les bases de données. Thèse de Doctorat, Université de Clermont-Ferrand II.
(Piatetsky-Shapiro & Matheus, 1994) G. PIATETSKY-SHAPIRO & CJ. MATHEUS. (1994) The interestingness of
deviations. AAAI Knowledge Data Discovery workshop, pp 25−36.
(Roche et al., 2004) ROCHE M, AZÉ J, MATTE-TAILLIEZ O, KODRATOFF Y. (2004) Mining texts by association
rules discovery in technical corpus. Proceedings of Intelligent Information Processing and Web Mining
2004, pp.89-98.
(Sahar, 1999) SAHAR S (1999) Interestingness via what is not interesting. Knowledge discovery and
datamining. pp.332-336.
(Savasere et al., 1995) A. SAVASERE, E. OMIECINSKI, S. NAVATHE. (1995) An efficient algorithm for mining
association rules in large databases. Proc. Very Large Data Bases conference, pp 432−444.
(Silberschatz & Tuzhilin, 1996) A. SILBERSCHATZ & A. TUZHILIN. (1996) What makes patterns interesting in
knowledge discovery systems. IEEE Transactions on Knowledge and Data Engineering, 8(6):970−974.
(Soualmia & Darmoni, 2004 a) SOUALMIA LF.& DARMONI SJ. (2004) Correcting and Refining Users
Queries: the Contribution of Morphological Knowledge and Association rules. IPMU, Information
Processing and Management of Uncertainty in Knowledge-Based Systems, pp. 2059-2066
(Soualmia & Darmoni, 2004 b) SOUALMIA LF. & DARMONI SJ. (2004) Combining Knowledge-based
Methods to Refine and Expand Queries in Medicine. FQAS, Flexible Query Answering Systems 2004,
Lectures Notes in Artificial Intelligence # 3055, pp.243-255.
(Theilmann & Rothermel , 1998) W. Theilmann & K. Rothermel. (1998) Domain experts for information
retrieval. in the world wide web. Lecture Notes in Artificial Intelligence # 1435, pp.216–227.
(Toivonen et al., 1995) H. TOIVONEN, M. KLEMETTINEN, P. RONKAINEN, K. HATONEN, H. MANNILA. (1995)
Pruning and grouping discovered association rules. ECML MLnet workshop, pp 47−52.
(Zaki et al., 1997) MJ. ZAKI, S. PARTHASARATHY, M. OGIHARA, W. LI. (1997) New algorithms for fast
discovery of association rules. Proc. Knowledge Data Discovery conference, pp.283−286.
209
CHAPITRE 5
REPRESENTATION DES CONNAISSANCES :
DU MODELE AU FORMEL
So m m aire
5.1 INTRODUCTION ...................................................................................................................212
5.2 LES ONTOLOGIES POUR LA RECHERCHE D’INFORMATION........................................213
5.3 LES MODELES ET LANGAGES DE REPRESENTATION ...................................................215
5.3.1 LES RESEAUX SEMANTIQUES .........................................................................................215
5.3.2 LES GRAPHES CONCEPTUELS .........................................................................................216
5.3.3 LES LANGAGES DE FRAMES .......................................................................................... 218
5.3.4 LA REPRESENTATION DES CONNAISSANCES PAR OBJET ..................................................219
5.4 QUELQUES PROJETS DU WEB SEMANTIQUE ................................................................ 220
5.4.1 LE LANGAGE SHOE......................................................................................................221
5.4.2 ONTOSEEK ...................................................................................................................221
5.4.3 WEBKB ...................................................................................................................... 222
5.4.4 CWEB ......................................................................................................................... 223
5.4.5 OCML ........................................................................................................................ 224
5.5 LE CISMEF DANS L’INFRASTRUCTURE DU WEB SEMANTIQUE ................................. 226
5.5.1 REPRESENTATION DES METADONNEES ........................................................................ 226
5.5.2 LA TERMINOLOGIE CISMEF : ENTRE TERMINOLOGIE ET ONTOLOGIE ......................... 227
5.6 LES LOGIQUES DE DESCRIPTION .................................................................................... 229
5.6.1 LES FORMALISMES TERMINOLOGIQUES ...................................................................... 230
5.6.2 ASSERTIONS ET REGLES D’INFERENCE .........................................................................231
5.6.3 LE RAISONNEMENT TERMINOLOGIQUE....................................................................... 232
5.6.3.1 LA RECONNAISSANCE D’INDIVIDUS ..................................................................................232
5.6.3.2 LE RAISONNEMENT SUR LES DESCRIPTIONS .....................................................................232
5.6.4 EXPRESSIVITE ET COMPLEXITE .................................................................................. 233
5.6.4.1 LES PROCEDURES DE CALCUL COMPLETES .......................................................................233
5.6.4.2 PROCEDURES DE CALCUL INCOMPLETES ..........................................................................233
5.6.4.3 COMPLETUDE ET EFFICACITE ..........................................................................................234
5.6.5 LES CONSTRUCTEURS ................................................................................................ 234
5.6.5.1
5.6.5.2
5.6.5.3
5.6.5.4
LES CONSTRUCTEURS DE CONCEPTS ................................................................................234
LES CONSTRUCTEURS DE ROLES .....................................................................................235
LA SYNTAXE DES CONSTRUCTEURS .................................................................................235
LA SEMANTIQUE DES CONSTRUCTEURS ..........................................................................236
210
5.6.5.5 EXEMPLE .......................................................................................................................238
5.6.6 RAISONNEMENT TAXINOMIQUE POUR LA RECHERCHE D’INFORMATION .......................... 238
5.7 FORMALISATION DE LA TERMINOLOGIE ...................................................................... 239
5.7.1 EXPERIENCES AVEC TRIPLE .......................................................................................... 239
5.7.2 DE OIL A OWL ..............................................................................................................241
5.7.3 TRAVAUX DANS LE DOMAINE DE LA SANTE ..................................................................... 242
5.7.4 PRINCIPES DE MODELISATION ....................................................................................... 243
5.7.5 DES FICHIERS TEXTES A LA BASE DE DONNEES ............................................................... 244
5.7.6 DE LA BASE DE DONNEES A LA BASE DE CONNAISSANCES ................................................ 244
5.7.6.1 LES CLASSES OWL ................................................................................................ 245
5.7.6.2 LES PROPRIETES OWL .......................................................................................... 246
5.7.6.3 LA PROPRIETE PART-OF ........................................................................................ 246
5.7.6.4 LES RESTRICTIONS SUR LES DOMAINES DES PROPRIETES .............................................. 247
5.7.6.5 REPRESENTATION DES DOCUMENTS ......................................................................... 247
5.7.7 VERIFICATION DE LA CONSISTANCE ET CLASSIFICATION .................................................. 248
5.7.7.1 IMPORT SOUS PROTEGE-2000 ................................................................................. 248
5.7.7.2 VERIFICATION DE LA CONSISTANCE........................................................................... 248
5.7.7.3 LA CLASSIFICATION ............................................................................................... 250
5.7.7.4 AMELIORATIONS POSSIBLES .................................................................................... 252
5.8 VERS UNE ONTOLOGIE ? LE PROJET ATONANT ........................................................... 254
5.8.1 TERMINAE .................................................................................................................... 255
5.8.2 RESULTATS DANS LE CADRE DU PROJET ATONANT...................................................... 255
211
Dans ce Chapitre 5, nous abordons la notion de Web Sémantique en général
ainsi que les systèmes intelligents pour la recherche d’information. Ces
systèmes ou bases de connaissances utilisent des langages formels de
représentation des connaissances. Nous nous intéressons particulièrement
aux logiques de description. Nous proposons une méthode de modélisation
et de représentation automatique de la terminologie CISMeF en OWL-DL
afin de pouvoir réaliser des inférences pendant la phase de recherche
d’information.
5.1 In tro d u ctio n
Une des préoccupations actuelles est de favoriser un accès intelligent aux données du Web en
exploitant des connaissances relatives au domaine des données traitées. Dans ce cadre est
proposée une approche générale qui couple l’exploitation de connaissances à un système de
recherche d’information. En effet, la problématique qui se pose est celle d’une recherche
d’information intelligente sur le Web. L’ambition du Web Sémantique (Berners-Lee et al.,
2001) est qu’il soit exploité en priorité par des machines qui traitent des problèmes posés par
des utilisateurs et qui délivrent les résultats. Une machine pourra fournir une aide aux
utilisateurs si on la dote d’une certaine intelligence. Le Web Sémantique est un espace
d’échange qui reste à construire. Un de ses intérêts est d’une part d’apporter suffisamment de
renseignements sur les documents, en ajoutant des annotations sous la forme de méta-données
et d’autre part, de décrire leur contenu de manière à la fois formelle et signifiante à l’aide d’une
ontologie ou d’un système à base de connaissances (Laublet et al., 2002).
Les systèmes à base de connaissances sont à la base des systèmes intelligents et du Web
Sémantique. En effet, un système à base de connaissances repose sur une base de connaissances
et un module de raisonnement. Les unités de connaissance sont représentées dans un
formalisme de représentation des connaissances où ils ont une syntaxe et une sémantique
associée. L’inférence peut être réalisée à partir des connaissances disponibles afin d’en dériver
de nouvelles en s’appuyant sur la sémantique du formalisme de représentation et à l’aide de
mécanismes de raisonnement.
En décrivant le contenu des documents à l’aide de connaissances dans un langage formel,
cela permet à la machine de les reconnaître. De plus, ce genre de représentation documentaire à
l’aide de connaissances a ouvert de nouvelles perspectives pour la recherche d'information sur le
Web. En effet, les connaissances vont permettre d'organiser la masse d'information disponible
et par conséquent en faciliter l'accès. Se pose alors la nécessité de disposer de langages pour
exprimer le contenu des documents, d’une sémantique associée à ces langages et de moteurs
d’inférences associés qui s’appuient sur cette sémantique pour raisonner. Cette nécessité est
donc en relation avec les problématiques de représentation des connaissances. Les plus
anciennes applications du Web Sémantique travaillent avec des documents HTML, le langage de
balisage utilisé pour mettre en forme l'information mise à disposition sur le Web. Dès lors, les
langages ont évolué en fonction des besoins.
Les ontologies et les méta-données sont deux éléments principaux pour la construction de
l’infrastructure du Web Sémantique (Laublet et al., 2002). Une ontologie est une modélisation
partagée d’un domaine pour améliorer la communication et éliminer les ambiguïtés entre
212
personnes, entre personnes et applications ou entre applications. Elle est composée d’une
hiérarchie de concepts, de relations entre concepts et d’un ensemble de règles ou de contraintes.
Les méta-données font référence à une information descriptive des ressources du Web. Leur
première utilité est la recherche d’information.
Nous décrivons dans ce chapitre des projets qui sont à la base du Web Sémantique, ainsi que
quelques langages de représentation des connaissances. Nous nous attardons sur les logiques de
description (Baader et al., 2003) qui sont des langages dotés de mécanismes de raisonnement
puissants. Vu sa structure, le CISMeF se place à cheval entre le Web informel actuel et le Web
Sémantique. En effet, il manque à la terminologie une dimension formelle. Nous proposons une
méthode totalement automatique de formalisation de la terminologie à l’aide du langage OWLDL (Horrocks et al., 2003). Le but n’est pas d’obtenir une ontologie du domaine médical (tout
ce qui est formel n’est pas forcément une ontologie…), mais de pouvoir utiliser les nouvelles
technologies disponibles afin de les exploiter dans le processus de recherche d’information.
Nous étudions en fin de chapitre quelques possibilités d’obtenir une ontologie au vrai sens du
terme, notamment dans le cadre du projet Atonant en cours (2004-2005)
5.2 Le s On to lo gie s p o u r la Re ch e rch e d ’In fo rm atio n
D'après la définition35 des connaissances du dictionnaire informatique Foldoc36, les
connaissances sont des informations sur lesquelles on peut raisonner. Dans le cadre d'un
système de recherche d'information, le fait de caractériser les connaissances associées au
document et de travailler sur des connaissances permet aux systèmes d'en inférer de nouvelles
pour établir la correspondance entre un besoin d'information et un document.
L'ensemble des connaissances nécessaires aux raisonnements est relativement figé. Les
composants (concepts, relations, individus etc.) du domaine sont identifiés par une terminologie
fixée par un expert et partagée par l'ensemble des utilisateurs du système. De plus, pour pouvoir
être manipulés par la machine, ces composants sont définis dans un langage formel. L'ensemble
de ces composants et leur définition constituent ce que les chercheurs en IA appellent une
ontologie, dont la définition la plus communément admise est une explicite spécification d'une
conceptualisation (Gruber, 1983) ou plus sommaire, l'expression d'un point de vue sur les
composants d'un monde restreint. Cette ontologie est connue et comprise par les utilisateurs du
système. Les ontologies peuvent être définies par une commune compréhension des centres
d'intérêt d'un domaine : "shared understanding of some domain of interest" (Uschold &
Gruninger, 1996). Il existe différentes sortes d'ontologies suivant le degré de formalisation
utilisé pour définir les connaissances. A titre d'exemple, un thésaurus peut être considéré
comme une ontologie non formelle.
En recherche d’information, une ontologie peut être utilisée par un moteur de recherche
pour accéder à des documents. D’après (Aussenac & Condamines, 2004) l’apport de l’ontologie
peut être appréhendé à trois niveaux dans un système de recherche d’information. Au niveau du
processus d’indexation des documents : (1) en s’associant à des techniques de traitement
automatique du langage naturel, les documents sont résumés puis reliés à des concepts de
l’ontologie ; (2) Au niveau du processus de filtrage d’information ; (3) Au niveau de la
35
36
“knowledge:…if information is data plus meaning then knowledge is information plus processing…"
http://foldoc.doc.ic.ac.uk/foldoc/index.html
213
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
reformulation des requêtes, pour améliorer les requêtes utilisateurs. L’utilisation des ontologies
pour l’expansion des requêtes utilisateurs peut être une solution (Guarino et al., 1999) (Gandon
et al., 2002). En effet, les ontologies fournissent les ressources généralement sous forme de
relations sémantiques permettant de mieux identifier le sens des mots dans la requête et de la
traiter pour élargir le champ de recherche. D'autre part, elles constituent un cadre partagé (un
vocabulaire commun) que les différents acteurs peuvent mobiliser (Bachimon, 2000) (Gandon,
2002) pour rapprocher le langage des requêtes de celui dont les documents sont exprimés.
Le but du projet OntoBroker (Fensel et al., 1998) est de représenter de manière formelle la
connaissance contenue dans des documents HTML en en fonction d’une ontologie de domaine
qui définit le vocabulaire commun de la communauté des chercheurs en acquisition des
connaissances. La finalité est de faciliter l'échange de publications, ces chercheurs se sont
regroupés sous un projet commun "the (KA)2 initiative" pour créer leur propre ontologie de leur
domaine de recherche (Benjamins & Fensel, 1998). La figure présente une partie de cette
ontologie.
Object
Relation de
spécialisation
Person
Organization
Enterprise
ResearchGroup
Student
Employee
University
Department
Institut
AdministrativeStaff
AcademicStaff
Researcher
Lecturer
Secretary
PhDStudent
TechnicalStaff
PhDStudent
FIG.5.1.− Une partie de l’ontologie (KA)² initiative
D’autres projets plus ou moins récents se basent sur l’utilisation d’une ontologie pour décrire
formellement des ensembles de documents ou de ressources. SHOE (Heflin et al., 1999) est l’un
des précurseurs du Web Sémantique. Des ontologies et un langage basé sur HTML sont utilisés
pour annoter sémantiquement des pages Web. Les outils de WebKB (Martin & Eklund, 2001)
permettent aux utilisateurs de stocker organiser et retrouver la connaissance qui est contenue
dans un ensemble de documents et formalisée dans un graphe conceptuel. OntoSeek (Guarino
et al., 1999) est un moteur de recherche de pages Web qui utilise l’ontologie terminologique
WordNet. Les documents et les requêtes sont représentés à l’aide de graphes conceptuels. Dans
CoMMA (Gandon et al., 2002) des annotations sous forme de fichiers RDF (Lassila & Swick,
1999) sont associées à des documents d’entreprise en fonction des concepts d’une ontologie
(O'CoMMA). Dans tous ces projets une ontologie formelle sert de pivot.
214
5.3 Le s Mo d è le s e t Lan gage s d e Re p ré s e n tatio n
Même si les ontologies sont un premier pas vers la standardisation des structures
d'indexation des pages Web du fait qu’elles définissent un vocabulaire standard, aucun standard
sur la structuration à employer pour décrire des pages Web n'est communément admis. De
nombreux systèmes de recherche sur le Web utilisent des connaissances pour décrire le contenu
des documents et chacun de ces systèmes a sa propre structure d'indexation. Nous avons
sélectionné certains projets du Web Sémantique qui se fondent sur différents langages et
modèles de représentation des connaissances.
Deux grands courants ont fortement marqué le domaine de la représentation des
connaissances : les réseaux sémantiques et les frames de Minsky. Dans ce paragraphe, nous
présentons les modèles de représentation de connaissances les plus connus. Une étude
comparative de ces modèles est le but du projet Escrire ou encore l’objet des travaux de (Barry
et al., 2001).
5.3 .1 Le s Ré s e au x Sé m an tiqu e s
Les réseaux sémantiques sont le premier modèle à héritage utilisé en représentation des
connaissances. Issus des travaux de psychologie cognitive sur l'organisation de la mémoire, ils
ont donné lieu à de nombreux modèles de représentation des connaissances. On peut citer,
entre autres, les réseaux sémantiques partitionnés (Hendrix, 1978), les graphes conceptuels
(Sowa, 1984), le langage KL-ONE (Brachman & Schmolze, 1985). En IA, on attribue souvent à
(Quillian, 1968) l'origine de ce mode de représentation. Il fut le premier à formaliser les réseaux
sémantiques, afin de représenter la signification des mots du langage sous forme de mémoire
associative. Plus tard, (Woods, 1975) et (Brachman, 1977) en donnèrent un modèle rigoureux.
Un réseau sémantique est un graphe orienté et étiqueté ou plus précisément un multigraphe
car deux nœuds du graphe peuvent être reliés par plusieurs arcs. Il est constitué d'un ensemble
de nœuds typés, dénotant des concepts du domaine modélisé, et d'arcs orientés étiquetés
représentant les relations sémantiques entre les concepts. Ainsi un concept est décrit par les
autres concepts du réseau en lien avec lui. Certains nœuds correspondent intuitivement plus à
des classes d'objets qu'à des individus. Représenter l'appartenance à une classe nécessite une
relation d'appartenance. Les réseaux possèdent un nom réservé d'étiquette pour cette relation,
parfois nommé "sorte de"37. Cette relation d'appartenance à une classe suppose que l'on sait
différencier les nœuds qui représentent des classes de ceux qui dénotent des individus. De
nombreux formalismes de représentation des connaissances dérivés des réseaux sémantiques
imposent de noter différemment les deux types de nœuds (par exemple KL-ONE (Brachman &
Schmolze, 1985). La relation d'appartenance à une classe permet de reporter les connaissances
de la classe sur un individu. Cette opération est appelée inférence par héritage.
37
cette relation d'appartenance correspond à la relation d'instanciation des langages orienté objet.
215
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
Siège
est-un
accessoire
Repose pied
Fauteuil
partie
accessoire
Lit
Coussin
FIG.5.2.− Un exemple de réseau sémantique décrivant un mobilier
Le filtrage est un mécanisme de recherche de tous les sous-graphes du graphe qui ont une
structure commune avec un graphe cible. Dans le cadre d'un système de recherche
d'information, la requête est modélisée sous forme d'un réseau sémantique dans lequel les
connaissances inconnues sont exprimées par des variables. Le système met en correspondance
ce réseau requête et une partie du réseau contenant l'ensemble des connaissances afin de
déduire les valeurs de ces variables. Il peut faire appel à l'héritage pour récupérer des
informations des concepts généraux et les utiliser dans les nœuds plus spécifiques.
5.3 .2 Le s Grap h e s Co n ce p tu e ls
Les deux familles de représentation par réseaux qui sont les plus utilisées à l'heure actuelle
en IA sont les Graphes Conceptuels (CG), initialement proposés par (Sowa, 1984) et les
nombreux dérivés de KL-ONE.
Pour présenter les graphes conceptuels, nous nous basons sur les détails donnés dans (Chein
& Mugnier, 1992). Le support gère l'ensemble des graphes conceptuels portant sur un même
domaine de connaissance. Un support se compose :
− D'une hiérarchie Tc de types de concepts organisés par une relation de spécialisation
notée p , dans un treillis. Un exemple de treillis de types de concepts peut contenir le type
'Automobile' qui spécialise le type 'Véhicule' et inversement 'Véhicule' généralise 'Automobile'
('Automobile' p 'Véhicule'). Un treillis possède un plus grand élément appelé le type
universel, noté Τ et un plus petit élément, le type absurde, noté ⊥.
− D'un ensemble Tr de types de relations composé de plusieurs hiérarchies de types de
relations de même arité (ayant le même nombre d'arguments). Chaque hiérarchie est
organisée en treillis par la relation de spécialisation p . Les arguments de chaque type de
relations ri de Tr sont numérotés et obéissent à des contraintes de typages représentées dans
la signature de ri.
− D'un ensemble M de marqueurs. Un marqueur identifie un individu de la base de
connaissances. On dispose également d'un marqueur générique noté * qui représente un
individu non spécifié.
− D'une relation de conformité entre les marqueurs et la hiérarchie des concepts. Tout
marqueur est conforme au type universel et aucun au type absurde. Si un marqueur est
216
conforme à un type t, il est aussi conforme à tous les types généralisant t. Si un marqueur est
conforme à deux types t et t', il est aussi conforme au type spécialisant t et t' (t ∩ t').
Un graphe conceptuel est un multigraphe, composé de deux sortes de nœuds : les nœuds
concepts, aussi appelés sommets concepts ou plus sommairement concepts, et les nœuds
relations ou relations. Chacun de ces nœuds a une étiquette. Un nœud concept est étiqueté par
un type correspondant à une classe sémantique, et un marqueur précisant une instance
particulière de la classe. Par exemple, le nœud concept étiqueté par 'Automobile : *' représente
une automobile en général. Ce genre de nœud est qualifié de concept générique. Le nœud
concept étiqueté par 'Automobile : 6793 SY 69' représente une voiture particulière dont le
numéro d’immatriculation est 6793 SY 69. Ce nœud est qualifié de concept individuel. Les
relations spécifient les rapports entre les concepts. Dans les graphes conceptuels, un concept est
appelé un argument de la relation. Les nœuds relations sont aussi étiquetés par un type.
U n n œ u d re la tio n
é tiq u e té p a r u n ty p e d e
re la tio n
L e n u m é ro d e l ’a rg u m e n t.
L e n œ u d c o n c e p t e st le
p re m ie r a rg u m e n t d e la
re la tio n
A u to m o b ile : 6 7 9 3 S Y 6 9
1
C o m p o sa n t
2
U n n œ u d c o n c e p t g é n é riq u e
é tiq u e té p a r u n ty p e d e c o n c e p t
e t u n m a rq u e u r g é n é riq u e
M o te u r: *
U n n œ u d c o n c e p t in d iv id u e l
é tiq u e té p a r u n ty p e d e c o n c e p t
e t u n m a rq u e u r in d iv id u e l
FIG.5.3.− Un graphe conceptuel décrivant une automobile
Développement: *
1
But
2
H
Carburant: *
Relation de
spécialisation
G
Développement: *
1
But
2
Diesel: *
2
Composant
1
Moteur mono cylindre: *
FIG.5.4.− Exemple de projection
Pour la recherche d'information, la relation de spécialisation présente un intérêt majeur car
elle contribue à la comparaison de graphes. En effet, pour les comparer, Sowa a proposé un
opérateur de projection qui s'appuie sur l'existence d'une relation de spécialisation entre deux
graphes. Il existe une projection d'un graphe H dans un graphe G si le graphe G reprend de
manière plus spécifique l'ensemble des concepts présents dans le graphe H. Dans ce cas, G est
dit une spécialisation de H, G p H.
De plus, Sowa a défini un opérateur φ qui permet de transformer un graphe conceptuel en
une formule logique du premier ordre et il a montré que l'existence d'une projection d'un graphe
H dans un graphe G était conditionnée par l'implication de leurs formules logiques associées :
217
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
G p H ⇒ φ(G)→ φ(H). Cette implication fait des graphes de Sowa un modèle adapté pour
construire des systèmes de recherche d'information (Chevallet, 1992). En effet, s'il existe une
projection d'un graphe H dans un graphe G représentant respectivement une requête et l'index
d'un document, elle se traduira par l'implication φ(G)→φ(H) qui rend le document pertinent
pour la requête.
5.3 .3 Le s Lan gage s d e Fram e s
Dans les langages de frames, les connaissances sont regroupées en paquets. Ainsi les
relations d'un concept du domaine avec les autres concepts font partie de la description de ce
concept. Dans les réseaux sémantiques, il existe une unité sémantique dénotant un concept (le
représentant), et un graphe composé d'autres unités sémantiques décrit la définition de ce
concept. Dans un frame, l'unité sémantique, dénotant le concept, est confondue avec sa
description, c'est à dire qu'une seule unité sémantique contient toute la description du concept
et est aussi utilisée pour représenter ce concept.
Le premier formalisme informatique a été proposé par (Minsky, 1975). Le frame correspond
à une structure dynamique représentant des situations prototypiques. (Schank & Abelson, 1977),
qui s'intéressent à la représentation de séquence d'évènements et la compréhension d'histoires,
aboutissent au même résultat avec la théorie des scripts.
Un frame est un objet typique d'une famille, représentant idéalement cette famille. Le frame
contient donc des informations générales valides pour tous les membres de la famille, ainsi que
des informations spécifiques à certains membres. Un frame est composé d'un ensemble
d'attributs (ou slots) correspondant aux différentes propriétés du prototype. Un attribut est
décrit par un certain nombre de facettes ou rôles possédant des valeurs. Par exemple, une
facette définit le type de l'attribut, une autre la valeur courante ou par défaut de cet attribut. Les
facettes procédurales permettent d'associer aux attributs des procédures appelées réflexes (par
exemple une procédure peut être déclenchée pour calculer la valeur d'un attribut). Une des
notions centrales des langages de frame est la notion de spécialisation, car elle permet non
seulement l'ordonnancement de ces frames dans une hiérarchie mais aussi l'héritage des
attributs et de leurs valeurs. Ainsi la description d'un frame peut être incomplète, les couples
attribut-valeur hérités ne sont pas recopiés dans le frame. Un frame peut être spécialisé par
enrichissement, en le dotant de nouveaux couples attributs valeurs, ou par substitution, en
masquant certaines facettes des couples attribut-valeur hérités.
Une évolution des frames de Minsky a permis de distinguer deux types de frames : les frames
classes et les frames instances. Les frames classes représentent les catégories d'objets du monde
modélisé alors que les frames instances représentent des individus particuliers. La hiérarchie
structurant les frames classes les uns par rapport aux autres, par la relation de spécialisation, est
appelée une taxinomie. En plus de cette relation de spécialisation, des systèmes de frames
proposent implicitement ou explicitement la relation d'instanciation (intitulée est-un dans le cas
où elle existerait de façon explicite), qui relie une instance à sa classe d'appartenance, comme le
montre la figure suivante :
218
Artiste sorte-de Personne
nom $ une chaîne
âge $ un entier
œuvres $ liste-de Oeuvres
Peintre sorte-de Artiste
Peintre#12 est-un Peintre
œuvres $ liste-de Peintures
nom $ valeur « Picasso »
œuvres $ valeur (tableau#17,
dessin#21, tableau#23)
FIG.5.5.− Exemple de spécialisation de frames
Un système de frame sert à comparer des objets que l'on veut reconnaître ou classer. Deux
mécanismes de raisonnement sont disponibles :
− Le filtrage consiste à rechercher, parmi un ensemble de frames ceux qui correspondent
à des critères donnés. Il repose sur des mécanismes d'héritage et d'appariement.
− La classification consiste à intégrer un nouveau frame dans une hiérarchie établie. Le
réajustement correspond à la modification de la position d'un frame mal placé.
Dans le cadre de la recherche d'information, un document est représenté par un frame, qui
contient aussi une description de son contenu. La requête spécifie certaines caractéristiques que
doit remplir le frame document. La fonction de comparaison effectue donc un filtrage sur
l'ensemble des frames pour identifier tous les frames documents correspondant aux critères de
la requête.
5.3 .4 La Re p ré s e n tatio n d e s Co n n ais s an ce s p ar Obje t
Dans le cadre de la représentation des connaissances par objets (RCO), la fonction d’un
système de RCO est de stocker et d’organiser les connaissances autour de la notion d’objet et de
fournir des services inférentiels destinés à compléter l’information disponible. Un système de
RCO s’appuie sur une hiérarchie de classes liées entre elles par une relation de spécialisation.
Une classe a une identité, un état et un comportement à la manière d’un type abstrait de
données. Elle regroupe un ensemble d’instances qui ont chacune une identité et un état propres
et un comportement décrit par la classe. La hiérarchie des classes est exploitée pour résoudre
des problèmes par l’intermédiaire de procédures ou de mécanismes de raisonnement comme la
classification de classes ou la classification d’instances (approche déclarative). La classification
de classes consiste à placer une nouvelle classe dans une hiérarchie tandis que la classification
d’instances cherche à déterminer les classes dont un objet donné peut être une instance. La
classification s’appuie sur le texte de spécialisation qui consiste à vérifier qu’une classe donnée
est plus générale qu’une autre classe.
Le processus de classification opère sur la hiérarchie de classes et cherche à mettre en
évidence les dépendances implicites qui y existent. Le raisonnement par classification
s’appréhende comme une procédure de déduction opérant sur cette hiérarchie en s’appuyant sur
219
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
les trois étapes d’initialisation de l’objet à classer, classification et exploitation de la
classification.
Les systèmes de RCO partagent de nombreuses caractéristiques avec les logiques de
description. Ces logiques s’appuient sur les notions de concepts (ils correspondent aux classes
d’individus) de rôles (relations entre concepts) et d’individus (instances des concepts). Les
concepts possèdent une syntaxe et une sémantique et sont organisés une hiérarchie par
l’intermédiaire d’une relation de subsomption. La classification d’instances et la classification de
classes sont à la base du raisonnement terminologique.
5.4 Qu e lqu e s Pro je ts d u W e b Sé m a n tiqu e
Les applications du Web sémantique se basent toujours sur un langage de représentation de
connaissances pour manipuler les connaissances associées au document. Mais de manière
générale, les chercheurs préfèrent souvent développer de nouveaux langages plus directement
adaptés à leurs besoins, plutôt que d'utiliser des formalismes déjà existants mais qui ne
correspondent pas exactement à leurs aspirations. Dans cette section nous en présentons
quelques-uns. Une des caractéristiques de ces nouveaux langages est que leurs expressions
puissent être directement intégrées à l'intérieur des documents du Web.
Les différentes approches du Web sémantique consistent à organiser le Web en domaines
d'intérêts. Chacun de ces domaines est caractérisé par une ontologie qui permet de spécifier le
vocabulaire de ce domaine. Les ontologies prennent différentes formes : de la base lexicale
Wordnet (Miller, 1990) utilisée dans Ontoseek (Guarino et al., 1999) à une modélisation
formelle du domaine comme dans WebKB (Martin & Eklund, 2000). L'ontologie est utilisée par
la communauté de personnes se reconnaissant du domaine d'intérêt pour échanger des
connaissances et des documents.
Les approches du Web sémantique se différencient par :
− Le niveau de formalisation du langage de représentation des connaissances. Le
langage peut être plus ou moins complet. RDF par exemple n'oblige pas à différencier une
classe d'une instance. SHOE (Heflin et al., 1999) a la possibilité de décrire des règles
d'inférences sous forme de clauses de Horn. L'inconvénient majeur des langages dits formels
réside dans la complexité de l'interface à mettre en place pour composer une requête.
− La différenciation entre le symbole et la notion représentée par le symbole. Ontoseek
(Guarino et al., 1999) indexe les documents par des synsets et non par des termes pour lever
les ambiguïtés terminologiques.
− La déclaration des connaissances : les connaissances sont déclarées dans les
documents (Heflin et al., 1999) (Fensel et al., 1998) ou dans des fichiers externes aux
documents (Michard, 2001) (Buckingham et al., 2000).
− L'objectif du système à base de connaissances : s'agit-il de déterminer des
connaissances (Martin & Eklund, 2000) (Fensel et al., 1998) ou de rechercher des documents
(Guarino et al., 1999) (Heflin et al., 1999) (Buckingham et al., 2000).
− L'utilisation des connaissances : les connaissances expriment le contenu du document
ou donnent un point de vue de lecture différent sur le document comme dans ScholOnto
(Buckingham et al., 2000).
220
− La prise en compte de l'existence de plusieurs ontologies pour un même domaine et la
mise en place d'une solution pour interagir entre les différentes ontologies (Heflin et al.,
1999).
5.4 .1 Le Lan gage SH OE
SHOE (Simple HTML Ontological Extensions) (Heflin et al., 1999), un des projets
précurseurs du Web sémantique, est une extension du langage HTML pour inclure des
connaissances à l'intérieur des documents. SHOE contient deux types de balises, les balises
définissant les ontologies et celles qui déclarent les instances. Une ontologie définit les éléments
valides pour décrire les instances. Ces éléments sont :
−
Les catégories organisées en hiérarchie par la relation de spécialisation.
− Les relations qui peuvent exister entre instances ou qui décrivent les propriétés d'une
instance.
−
Les règles permettant de renommer des éléments empruntés à d'autres ontologies.
−
Les règles d'inférences définissant des inférences sous forme de clauses de Horn.
−
Les constantes.
−
Les types de données.
Pour SHOE, une page Web est considérée comme une instance. Afin de spécifier les relations
entre instances contenues dans une page, chaque page Web est associée à une ontologie
préalablement définie. Les pages Web définissent en fait des croyances et non des connaissances
absolues ; par conséquent, un utilisateur peut spécifier son degré de confiance pour une source
information.
Plusieurs technologies ont été mises en œuvre pour démontrer l'efficacité de ce langage :
− Un outil d'annotation permet aux auteurs de documents HTML d'enrichir leurs pages
en incluant des connaissances exprimées à l'aide du langage SHOE.
− Un robot intitulé Exposé cherche sur le Web des pages annotées en langage SHOE.
Ensuite, Exposé analyse les pages Web pour identifier les connaissances contenues dans les
pages web. Ces connaissances, qui peuvent être des ontologies ou des instances, sont
enregistrées dans un système à base de frames, intitulé PARKA (Evett et al., 1993).
− Un outil interrogant la base de connaissances construite par Exposé et visualisant les
pages Web résultats. Les requêtes spécifient les attributs ou propriétés que doit avoir un
frame instance. La page Web identifiant le frame résultat est ensuite affiché.
SHOE fournit un mécanisme permettant de modifier des ontologies déjà existantes en
spécialisant par exemple sa hiérarchie, ce qui veut dire que des parties des ontologies sont
dispersées sur le web. Cette dispersion peut aussi bien entraîner une redondance qu’une absence
d'information. Plusieurs applications ont été construites dont une ontologie modélisant le
domaine des départements d’informatique dans les universités. Elle est cependant très simple.
5.4 .2 On to s e e k
Ontoseek (Guarino et al., 1999) est un système de recherche de pages Web utilisant le
modèle des graphes conceptuels de Sowa. Le contenu des pages Web et les requêtes est
221
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
représentés sous forme de graphes conceptuels. La fonction de comparaison est basée sur
l'opérateur de projection de Sowa et recherche les spécialisations des nœuds de la requête.
Ontoseek exploite la base lexicale Wordnet (Miller, 1990) pour lever les ambiguïtés des termes
utilisés comme étiquette des nœuds des graphes. Ainsi, les étiquettes des nœuds ne sont plus
des termes mais des synsets donnant lieu au modèle des Graphes Conceptuels Lexicaux (GCL).
Une des applications de ce système a été de travailler sur l'annuaire des pages jaunes et pour
l’expansion de requêtes sur des catalogues de produits. Les graphes indexant ces pages Web
ainsi que les requêtes sont construits manuellement. L'utilisateur peut choisir les composants de
son graphe en naviguant dans l'ontologie ou, à partir d'un terme, Ontoseek lui présente
différents synsets et l'utilisateur sélectionne celui qui correspondant à son besoin. Des
heuristiques sont utilisées pour valider la cohérence des relations. Cependant, Wordnet est une
base lexicale et non une base de connaissances. Ce projet a montré l'intérêt d'utiliser une base
lexicale pour lever les ambiguïtés terminologiques et ainsi améliorer la précision et le rappel du
système de recherche. Cette méthode d’indexation des documents s’appuyant sur les concepts
d’une base de données sémantique améliore la précision de 25% lors de la recherche.
5.4 .3 W e bKB
L'ensemble des outils de WebKB (WebKB set of tools) permet à ses utilisateurs de stocker,
d'organiser et de retrouver des connaissances formalisées à l'aide du modèle des Graphes
Conceptuels (Martin & Eklund, 2001). Ces outils ne sont pas dédiés à la recherche
documentaire car leur but n'est pas de retrouver des documents mais de retrouver à partir d'une
requête l'ensemble des connaissances répondant à cette requête, stockées dans une base de
connaissances. WebKB propose une série d'outils pour l'acquisition de connaissances, dont le
but est de créer une base de connaissances illustrée par une documentation (l'ensemble des
textes au format HTML) qui ont permis de valider les connaissances de la base. Les
connaissances et les parties de documents associées sont toutes les deux représentées sous
forme d'Elément de Document (ED). Un ED doit être accessible par le Web, en utilisant par
exemple son URL. De plus, un ED est caractérisé par un contexte, constitué par son créateur et
sa date de création. Les ED sont liés les uns aux autres par différents liens :
− Un lien hypertexte permet d'indexer une ED documentation à une ED connaissance
représentant les connaissances déduites de l'ED documentation.
− Des liens sémantiques entre ED contenant des connaissances formelles (par exemple des
liens de spécialisation entre deux graphes conceptuels).
WebKB comprend :
− Un outil de recherche sur la base de connaissances. Ainsi à partir d'une requête sous
forme de graphe conceptuel sont retrouvés tous les graphes de la base répondant en partie à
cette requête. Le graphe réponse peut être une spécialisation ou une généralisation d'un sousgraphe du graphe requête. D'autres relations sémantiques entre types sont prises en compte
pour établir la pertinence d'un graphe par rapport à la requête (par exemple la relation "partie
de"). Plusieurs contraintes sur la recherche peuvent être spécifiées, entre autres l'affichage des
ED documentations associés aux ED connaissances retrouvés.
− Un outil d'indexation des ED permet d'indexer des ED documentation par des ED
connaissance et d'associer des ED connaissances par des liens sémantiques qui expriment la
relation de subsomption "sorte de" ou la relation d'appartenance "partie de".
222
− Un éditeur de connaissances permet de créer des graphes conceptuels. Ces graphes
peuvent être représentés à l'aide de plusieurs langages : le langage défini par Sowa, un langage
proche du langage naturel, le langage Frame-CG qui permet une représentation des graphes
sous forme de frames. WebKB a pour but de représenter le plus précisément possible les
connaissances, c'est pourquoi le langage de Sowa a été amélioré par l'ajout de plusieurs
quantificateurs (tout, un, quelque, 96%, etc.)
− Un navigateur de hiérarchie permet de rechercher différentes catégories. Une catégorie
peut être un type de concepts, un type de relations, un marqueur. Ainsi une différence est faite
entre le niveau lexical (terminologique) et le niveau conceptuel. WebKB, afin de guider le
cogniticien dans sa phase de modélisation du domaine, propose plusieurs hiérarchies de base
(hiérarchie de concept, de relation) construites à partir de la base lexicale Wordnet.
Ces outils intègrent dans des documents HTML des commandes permettant de construire des
connaissances mais non destinés à la recherche documentaire sur le Web, car les requêtes
portent sur des connaissances précises et non sur le contenu global des documents.
5.4 .4 CW e b
Dans le cadre du Web sémantique, le Consortium du World Wide Web (W3C) chargé de
développer des technologies pour le Web, a validé une application du format XML [XML] pour
la description du contenu sémantique, appelé RDF pour Ressource Description Framework
(Lassila & Swick, 1999). RDF est un formalisme basé sur un modèle de graphes étiquetés
orientés. RDF décrit le graphe sous la forme d'un ensemble de triplet {Propriété, Ressource,
Valeur}. Les ressources sont des entités d'informations pouvant être référencées par un nom
symbolique ou un identifiant, par exemple un URI (Unique Ressource Identifier) (Berners-Lee
et al., 1998). Les Propriétés sont les étiquettes des arcs orientés reliant un premier nœud
étiqueté par une Ressource à un second qui peut être soit une valeur atomique soit une autre
ressource.
Par exemple, considérons les triplets suivants :
ftp://foo.bar.com/srdf.XML → dc:Creator → "John Smith"
ftp://foo.bar.com/srdf.XML → dc:Date → "1998-06-18"
ftp://foo.bar.com/srdf.XML → ExempleOf → [http://loc/xmlex23.RDF]
Cet ensemble de triplets peut être spécifié dans un même élément descriptif RDF :
<rdf:Description about="ftp://foo.bar.com/srdf.XML" >
<dc:Creator> John Smith </dc:Creator>
<dc:Date > 1998-06-18</dc:Date>
< ExempleOf resource=" http://loc/xmlex23.RDF "/>
</rdf:Description>
RDF définit uniquement une syntaxe particulière pour représenter un graphe. Par
conséquent, différents vocabulaires peuvent être associés à cette syntaxe pour définir des
langages de description de pages web. De ce fait, un vocabulaire comprend l'ensemble des
propriétés, ressources ou valeurs qui peuvent être utilisés pour décrire le contenu des
documents. Par exemple, le Dublin Core (Baker, 2000) a proposé un ensemble de 15 propriétés
( Title, Creator etc.) permettant de décrire les documents accessibles sur le Web par des
métadonnées. Le vocabulaire d'un domaine spécifique est décrit à l'aide d'un Schéma RDF
223
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
[RDFS]. Entre autres, RDFS permet aussi de différencier les ressources représentant les classes
de celles représentant les individus.
Plusieurs projets de recherche documentaire sur le Web utilisant le formalisme RDF/RDFS
pour décrire le contenu du document. Le projet européen Community-Webs38 propose une
architecture pour interroger des ressources distribuées et hétérogènes décrites dans une base
indépendante de documents RDF. La description d'un document XML en RDF peut tout aussi
bien être incluse dans le document que contenue dans un autre document XML. Cette base RDF
est interrogée à l'aide du langage de requête RDF Query Language (RQL) (Michard, 2001)
proche de SQL. Par conséquent, les inférences sur les connaissances sont totalement décrites
dans la requête RQL, donc la personne chargée d'interroger la base doit au préalable connaître
le modèle des connaissances sous jacent à la base RDF pour composer des requêtes valides.
5.4 .5 OCML
Les travaux de (Motta et al., 2000) concernent la gestion des connaissances. Le but est
d'améliorer la recherche d'information en modélisant formellement un point de vue sur le
domaine considéré partagé par les intervenants dans ce domaine. Les connaissances permettent
de : définir le contexte dans lequel les documents ont été écrits (projet PlanetOnto (Domingue &
Motta, 2000)), vérifier la complétude des informations décrites dans des documents médicaux
(projet PatMan (Motta et al., 2000)), ou établir des liens non explicites entre différents
documents (projet ScholOnto (Buckingham et al., 2000). Le but n'est pas d'exprimer le contenu
des documents mais de localiser les points d'intérêt du document dans un modèle de
connaissances représentant un point de vue partagé sur le domaine. Le modèle est indépendant
de la base documentaire et les connaissances ne sont pas incluses dans des documents. Leur
interprétation n'est pas figée et dépend du modèle de connaissances considéré.
Le point de vue d'un domaine d'étude est formalisé dans une ontologie. Cette ontologie est
instanciée pour construire un modèle conceptuel du domaine et la recherche documentaire
s'effectuera en interrogeant ce modèle.
Plusieurs technologies ont été développées pour la mise en œuvre d'un système complet.
− Un langage de modélisation des connaissances intitulé OCML a été défini (Motta,
1998). C’est un langage de frames qui permet de spécifier des relations, des fonctions, des
classes, des instances, des règles de contrôle sur les structures de représentation. Il permet
d'évaluer ou d'inférer des connaissances.
− WebOnto est un outil d'édition et de gestion, à partir du Web, des ontologies et des
modèles conceptuels basés sur OCML. WebOnto permet une gestion collaborative des
modèles conceptuels.
− Lois est une interface d'interrogation des modèles conceptuels basée sur les
formulaires. Lois s'adapte au modèle et permet de parcourir les connaissances décrites dans
chaque modèle pour établir une requête.
− Knote est un outil permettant d'instancier les connaissances du modèle pour
enregistrer un document, mais aussi pour compléter le modèle conceptuel avec de nouvelles
classes. Knote présente, sous forme de formulaire, les classes à instancier.
38
http://cweb.inria.fr/
224
5.4 .6 SyD OM
Il est à noter que tous les projets décrits se sont concentrés sur la prise en compte des
connaissances pour améliorer la recherche sur le Web mais ils ne se sont pas encore intéressés à
l'aspect multilingue du Web (Roussey et al., 2001). Ils prennent en considération la présence de
plusieurs langues sur le Web, en séparant le niveau terminologique du niveau sémantique dans
un langage de représentation des connaissances. Ils proposent un nouveau langage de
représentation des connaissances, intitulé Graphe Sémantique (GS), pour mettre en oeuvre cette
différenciation dans le modèle des Graphes Conceptuels.
Les Graphes Sémantiques sont utilisés pour représenter les connaissances indexant les
documents. Pour faciliter la maintenance de leur base de connaissances et sa cohérence avec la
base documentaire, les connaissances sont intégrées aux documents. Les connaissances,
incluses dans un document, peuvent être relatives à son contenu ou bien exprimer un point de
vue sur ce document.
Le but des systèmes basés sur leur méthode d'indexation est de rechercher des documents
appartenant à un corpus multilingue. C'est pourquoi ils proposent également un nouveau
modèle d'ontologie intitulé thésaurus sémantique, permettant à des utilisateurs de langues
différentes d'appréhender la même conceptualisation du domaine. Dans le but d'améliorer la
qualité de leur thésaurus sémantique, leur méthode d'indexation met à jour le vocabulaire du
thésaurus, à partir du vocabulaire du corpus de recherche. L’indexation est cependant manuelle.
5.4 .7 D e On to bro ke r à OIL
Le système Ontobroker (Fensel et al., 1998) pour objectif de représenter formellement les
connaissances contenues dans les documents HTML afin de les interroger de manière précise.
Dans cette approche, le Web est considéré comme une base de connaissances distribuée, non
structurée, et non exprimée car implicite. Leur but est de réutiliser et partager ces
connaissances. Tout d'abord, un groupe d'utilisateurs, appelé ontogroup, voulant mettre en
commun leurs connaissances et leurs informations s'accorde sur la définition d'une ontologie.
L'ontologie définit non seulement leur vocabulaire commun mais stocke et organise les
connaissances à l'aide du langage Frame Logic (Kifer et al., 1995) sous la forme de frames (les
classes = [classe, attribut, type de valeurs] et les instances = [instance, attribut, valeur]) et de
règles.
Dans ce système, les documents sont considérés comme des instances de classe. Les
connaissances sont explicitement représentées dans les pages HTML. Ainsi, à une partie de
texte, est ajoutée la description formelle de sa sémantique. Les connaissances exprimées sont les
valeurs des attributs de l'instance considérée (la page Web). Le texte des documents ou les liens
peuvent être réutilisés comme valeur d'un attribut. L'explicitation de ces connaissances peut
être faite automatiquement dans le cas de document HTML fortement structuré à l'aide d'un
wrapper, un médiateur entre la structure du document et l'ontologie ; ou manuellement en
annotant le document. Un langage d'annotation a été défini. Il s'agit d'une extension des ancres
HTML définissant un nouvel attribut, intitulé onto. Le fait d'expliciter les connaissances près de
leur source d'information dans le document lui-même, permet de faciliter la maintenance de la
base de connaissances, seule la mise à jour du document est nécessaire.
225
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
Ontobroker se décompose en trois éléments :
− Un outil d'interrogation de la base de connaissances. Les requêtes sont des expressions
du langage Frame Logic. Les requêtes sont une conjonction d'expressions du type : une
instance O d'une classe C a pour attribut A, la valeur V. Les variables O, C, A, V peuvent être
remplacées par des constantes ou des expressions. Une interface sous forme de frame a été
développée pour générer des requêtes de manière plus conviviale. Le résultat de ces
requêtes sont des valeurs qui ne sont pas forcement des références à des documents.
− Un moteur d'inférence. Ce moteur traduit les expressions Frame Logique en formule
logique du premier ordre pour pouvoir faire des inférences. Les inférences permettent
d'améliorer la cohérence de l'ontologie.
− Un webcrawler parcourant le Web pour intégrer de nouvelles connaissances. Celles-ci
étant stockées dans la même base.
Pour rendre le système Ontobroker compatible avec de nouvelles approches, un traducteur
RDF a été développé pour représenter les connaissances liées au document sous forme d'une
description RDF.
Ontobroker est à la base de deux projets : Knowledge Acquisition initiative (KA)2 (Benjamins
& Fensel, 1998) et Ontoknowledge39. Le projet (KA)2 développe une ontologie propre aux
chercheurs de la communauté de l'acquisition des connaissances. Cette ontologie est utilisée
pour stocker toutes les connaissances relatives aux laboratoires, projets, chercheurs,
publications du domaine. Elle est utilisée en exemple dans Ontobroker. Ontoknowledge est un
projet soutenu par la commission européenne visant à regrouper des chercheurs travaillant sur
le Web sémantique. Un des objectifs de ce projet consiste à définir un nouveau langage de
représentation des ontologies Ontology Interchange Layer (OIL) (Fensel et al., 2000) basé sur
les schémas RDF.
Ontobroker n'est pas un outil de recherche documentaire, mais un outil de recherche de
connaissances. Son but n'est pas de représenter le contenu des documents pour améliorer la
recherche de document, mais de représenter les connaissances décrites dans les documents
pour améliorer la recherche de connaissances.
5.5 Le CISMe F d an s l’In fras tru ctu re d u W e b Sé m an tiqu e
5.5.1 Re p ré s e n tatio n d e s Mé tad o n n é e s
Certaines ontologies, dites ontologies de représentation (Schreiber et al., 1997) et constituant
des métadonnées c’est-à-dire des données sur les données, tendent déjà à devenir des standards
pour la description de documents. Le concept de métadonnées est apparu bien avant
l’avènement de l’Internet et son intérêt a augmenté avec le nombre de documents électroniques.
L’utilisation de métadonnées est d’ailleurs une solution recommandée par le W3C pour la
description et la publication des documents sur le Web. Parmi les standards utilisés, le Dublin
Core, constitué de quinze éléments de description de ressources en ligne, et l’IEEE LOM, qui
reprend quelques primitives de description proches de celles du Dublin Core mais qui vise la
description explicite de documents pédagogiques.
39
http://www.ontoknowledge.org/
226
Dans le cadre du CISMeF, l’approche ontologique est utilisée pour définir l’ensemble des
informations relatives aux documents : informations sur le type du document, sur son auteur,
sur ses conditions d’usage, sur l’intérêt de sa consultation, sur le contexte dans lequel il peut être
employé, mais également sur sa qualité, s’il provient d’un site producteur agréé…etc. Pour ce
faire, plusieurs ensembles de métadonnées sont utilisés, l’amélioration de la recherche
d’information étant visée. Les documents répertoriés dans CISMeF sont décrites par onze des
éléments du Dublin Core (auteur, date, description, format, identifiant, langage, éditeur, type
de ressource, droits, sujet et titre) ainsi que huit autres éléments spécifiques à CISMeF
(institution, ville, province ou département, pays, public ciblé, type d’accès, coût et parrainage
de la ressource). (§Chapitre 2)
Le type d’utilisateur est également pris en compte. Pour les ressources destinées aux
professionnels de la santé (les lignes directrices et consensus de bonne pratique clinique) deux
champs supplémentaires sont définis par CISMeF : indication du niveau de preuve40 et la
méthode utilisée pour le déterminer. Pour les ressources pédagogiques ce sont onze éléments de
la catégorie « Educational » du standard IEEE 1484 qui sont rajoutés. Le format de ces métadonnées est passé du langage HTML en 1995 à XML en 2000 pour des soucis d’interopérabilité
dans la plateforme Archimède dans le cadre du projet UMVF (Université Médicale Virtuelle
Francophone) et depuis décembre 2002 à RDF dans le cadre du projet européen MedCIRCLE
(Mayer et al., 2003). Ce projet a été initié afin de qualifier la qualité de l’information de santé, et
de guider les utilisateurs vers des sites d’information en santé de confiance. Le vocabulaire des
méta-données HIDDEL41 est contenu dans une ontologie (représentée à l’aide du langage RDFS)
et les documents sont décrits en RDF à partir des concepts de l’ontologie HIDDEL. Par exemple
l’item Infoprovider_feedback_email_technical désigne l’email du fournisseur de l’information
pour les questions techniques et l’item Infoprovider_feedback_email_content pour les
questions de contenu.
5.5.2 La Te rm in o lo gie CISMe F : e n tre Te rm in o lo gie e t On to lo gie
La terminologie CISMeF a été construite à partir des concepts du thésaurus MeSH et de sa
traduction en français fournie par l’INSERM. Le MeSH dans sa version 2004 est composé
d’environ 22,000 mots clés et 84 qualificatifs regroupés sous la forme d’arborescences. Les
mots clés correspondent à des concepts médicaux et sont organisés sous la forme de hiérarchie à
11 niveaux allant du terme le plus général en haut de la hiérarchie aux termes les plus
spécifiques en bas de la hiérarchie. Les qualificatifs, organisés également en hiérarchie,
permettent de préciser le sens des mots clés en limitant leur étendue à certains aspects. Les
fichiers MeSH sont traités automatiquement (Dahamna & Soualmia, 2002) pour renseigner la
terminologie CISMeF afin qu’elle soit exploitable au niveau du site.
Bien qu’il existe des ontologies médicales générales, comme GALEN (Rodrigues et al. 1998),
ou spécifiques à un domaine comme MENELAS (Bouaud et al., 1995), c’est le MeSH qui a été
choisi car il correspond aux attentes des documentalistes et il est connu des professionnels de
santé. Les mots clés ont été regroupés dans CISMeF en fonction de spécialités médicales
intitulés métatermes. Ce sont des super-concepts qui permettent une vision plus globale
concernant une spécialité. Les métatermes permettent de connaître l’ensemble des termes
Les Guides de bonne pratique, l’evidence based medicine (medecine factuelle) consistent à baser des décisions
cliniques sur les connaissances théoriques mais également des preuves scientifiques déduites par des recherches
cliniques qui fournissent des résultats valides.
41 High Information Description Disclosure Evaluation Language, http://www.medcircle.org
40
227
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
MeSH qui sont répartis dans plusieurs arborescences mais qui concernent une même spécialité.
Une hiérarchie de types de ressources a été modélisée et elle permet de décrire la nature de la
ressource.
FIG.5.6.− Métadonnées CISMeF sous le format RDF
La terminologie CISMeF a une structure semblable une ontologie terminologique (Sowa,
2000) (Desmontils & Jaquin, 2002) :
− Le vocabulaire est bien connu des documentalistes et des professionnels de la santé et
il correspond à celui du domaine médical.
− Chaque concept a :
− un terme préférentiel (Descripteur) pour l’exprimer en langue naturelle
− un ensemble de propriétés
− une définition en langage naturel pour quelquefois le différencier des concepts le
subsumant et de ceux qu’il subsume (principe de (Bachimon, 2000))
− un ensemble de synonymes
− un ensemble de règles et de contraintes
Les concepts sont organisés selon une relation de subsomption allant du concept le plus
général au plus spécifique.
La Figure 5.7 est un exemple de contraintes sous la forme de règles à appliquer sur les
concepts. Par exemple l’association hépatite/induit chimiquement est équivalente (=) au
228
concept hépatite, toxique. En revanche, ces informations ne sont pas exploitées car elles ne sont
pas disponibles sur un support électronique.
Hepatitis : C06.552.380+
Viral Hepatitis = Hepatitis, Viral Human and Hepatitis, Viral Animal
/chemically induced = Hepatitis, Toxic
/veterinary = Hepatitis, Animal or Hepatitis, Viral, Animal
hepatitis parenterally transmitted= Hepatitis C
hepatitis enterally transmitted = Hepatitis E
not specified as parenteral or enteral = probably Hepatitis, Viral, Human
Non-A, Non-B hepatitis = probably Hepatitis C
FIG.5.7.− Exemple de règles et de contraintes
Il manque à cette terminologie une dimension formelle. En effet, des thésaurus comme le
MeSH et l’UMLS (Lindberg et al., 1993) ont été développés pour la recherche d’information
mais leur numérisation ainsi que la disponibilité de ressources documentaires a fait naître de
nouveaux besoins en recherche d’information avec des requêtes plus complexes demandant des
inférences plus complexes. De ce fait, on envisage le remplacement de ces thésaurus par des
ontologies ou des bases de connaissances formelles, les seules permettant de supporter des
inférences (Charlet, 2002).
Nous avons choisi de travailler sur les logiques de description, d’une part du fait du bon
compromis entre le pouvoir d'expressivité (sa capacité à représenter les connaissances) et son
efficacité. Par ailleurs, nous les avons déjà utilisées pour des applications comme la découverte
de schéma dans des bases de données semi-structurées (Hacid et al., 2000) et les données XML,
mais également pour le catalogage automatique de produits dans le cadre du commerce
électronique (Soualmia, 2001a) (Soualmia, 2001b).
Notre ambition n’est pas de construire une ontologie du domaine médical mais en revanche
de formaliser la terminologie à notre disposition à des fins de recherche d’information. En effet,
étant donné un domaine d'activité, il n'y a pas une terminologie, mais autant de ressources
terminologiques ou ontologiques que d'applications qui les utilisent (Aussenac-Gilles &
Condamines, 2004). Un récapitulatif des ressources disponibles pour le domaine médical est
dressé dans (Charlet, 2003).
5.6 Le s Lo giqu e s d e D e s crip tio n
Les logiques de description, issues des recherches sur la représentation des connaissances,
tiennent leur origine du langage KL-ONE. L’approche terminologique est caractérisée par la
distinction entre les descriptions en intension et celles en extension. En effet, un système
terminologique comporte au moins deux composants. Le premier appelé TBox, supporte le
formalisme terminologique qui est utilisé pour décrire l’univers du discours en intension. Le
deuxième composant, appelé ABox, relève du niveau factuel. Il permet de spécifier l’univers du
discours à l’aide d’un ensemble d’assertions. Certains systèmes terminologiques supportent un
troisième composant appelé IBox, qui est constitué d’un ensemble de règles d’inférences
simples.
Au niveau intensionnel, l’univers du discours est décrit à l’aide d’un ensemble de termes et de
restrictions sur ces termes. Un terme est une description structurée qui dénote un ensemble
d’individus partageant des propriétés communes, ou des relations entre les individus. Dans le
229
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
premier cas, il est appelé concept et dans le deuxième cas rôle. Les restrictions sur les termes
sont définies à l’aide de différents types de constructeurs. La description d’un univers de
discours à l’aide d’un formalisme terminologique est appelée une terminologie.
Dans une terminologie, les concepts sont ordonnés selon une relation d’implication, appelée
subsomption. Dans une relation de subsomption entre deux concepts, on appelle subsumant
(super-concept ou super-rôle) le concept le plus général et subsumé (sous-concept ou sous-rôle)
le concept le plus spécifique. Les logiques terminologiques disposent de deux types particuliers
de concepts, le concept universel (Top) et le concept inconsistant (Bottom). De manière
analogue, les rôles peuvent être organisés selon la relation de subsomption dans une hiérarchie
de rôles délimitée par le rôle universel et le rôle inconsistant.
La structure hiérarchique des terminologies constitue la base des raisonnements disponibles
dans les systèmes terminologiques. L’insertion par exemple d’un nouveau terme dans la
hiérarchie des concepts ou des rôles, de manière à ce qu’il soit placé au-dessus de tous les
termes qu’il subsume et en dessous de ceux qui le subsument est appelé classification. Ce type
de raisonnement est spécifique aux systèmes terminologiques, d’où l’utilisation de l’appellation
classifieurs pour les désigner (Schmolze & Lipkis, 1983).
5.6 .1 Le s Fo rm alis m e s Te rm in o lo giqu e s
Les formalismes terminologiques sont utilisés pour construire les expressions qui décrivent
les termes de l’univers du discours. Ces expressions apparaissent sous la forme d’équations dans
lesquelles les noms des termes apparaissent en partie gauche et des descriptions complexes,
formées à l’aide de constructeurs de termes, apparaissent en partie droite. De telles équations
constituent les axiomes terminologiques de la TBox.
Deux types de termes sont distingués : les termes atomiques et les termes composés. Les
premiers ne possèdent pas de description propre et apparaissent uniquement en partie droite
des axiomes terminologiques. Les seconds sont associés à des descriptions conceptuelles
définies à l’aide des constructeurs de termes. Ils apparaissent au moins une fois en partie gauche
d’un axiome terminologique.
L’association des noms de termes aux descriptions peut être réalisée de deux manières telles
que présentées ci-dessous :
& , indiquent
− Les spécifications primitives introduites à l’aide de l’opérateur p
uniquement les conditions nécessaires d’appartenance aux extensions des termes : toute
instance d’un terme doit vérifier la description de ce terme, en revanche, tout individu (ou
couple d’individus) qui vérifie la description du terme considéré n’est pas obligatoirement
instance de ce terme. Les termes ainsi introduits sont appelés termes primitifs.
− Les définitions introduites à l’aide de l’opérateur =& permettent de spécifier les
conditions nécessaires et suffisantes d’appartenance aux extensions des termes : chaque
individu ou couple d’individus qui satisfait à la description du terme est une instance de ce
terme. Les termes ainsi introduits sont appelés termes définis.
230
Par exemple : soit deux concepts Enseignant et Moniteur décrits à l’aide du constructeur de
conjonction de concepts (noté ∧ )
& Mâle ∧ Universitaire
Enseignant p
Moniteur =& Etudiant ∧ Enseignant
Le premier axiome spécifie que tout Enseignant doit être un Universitaire de sexe Masculin.
Cependant tout individu qui vérifie cette condition n’est par obligatoirement un enseignant.
Dans le deuxième axiome, le concept Moniteur est défini comme étant exactement l’ensemble
des individus qui sont à la fois des étudiants et des enseignants. Cette condition est donc
suffisante pour rattacher un individu donné à l’extension du concept Moniteur.
Les systèmes terminologiques supportent des formalismes terminologiques qui varient selon
le domaine d’application et les objectifs assignés à ces systèmes.
Le développement des procédures de raisonnement dans les systèmes terminologiques exige
l’assignation d’une sémantique formelle aux logiques terminologiques. La sémantique
dénotationnelle est la plus utilisée dans ce domaine. Etant donné un ensemble d’objets
(individus) dit univers du discours, les concepts sont alors interprétés comme des sousensembles de l’univers du discours et les rôles comme des relations entre ces sous-ensembles.
Les ensembles ainsi définis constituent les extensions des concepts et des rôles respectivement.
Les extensions sont assignées aux termes à l’aide d’une fonction d’interprétation qui fait
correspondre à chaque terme son extension.
5.6 .2 As s e rtio n s e t Rè gle s d ’In fé re n ce
Les connaissances factuelles sont exprimées dans la ABox du système terminologique à l’aide
d’un ensemble d’axiomes appelés assertions. Elles sont introduites à l’aide d’un langage
assertionnel. Ce type de langage permet par exemple de spécifier qu’un individu donné est une
instance d’un concept ou que deux individus donnés sont reliés par un rôle. On appelle cette
opération l’instanciation d’un concept ou d’un rôle.
Certains systèmes terminologiques utilisent la IBox pour exprimer des liens entre les
concepts à l’aide de règles d’implication qui sont de la forme : antécédent ⇒ conséquent.
Généralement, l’antécédent et le conséquent sont constitués de descriptions quelconques de
concepts, comme illustré par l’exemple :
Moniteur ∧ Féminin ⇒ Etudiante
La règle précédente considère tous les moniteurs de sexe féminin comme étant des instances
du concept étudiante.
La IBox est complémentaire de la TBox dans le sens où elle permet d’exprimer des
informations qui ne peuvent pas être représentées dans cette dernière. En effet, les informations
représentées dans une IBox n’expriment pas des liens de définitions entre les concepts qui
apparaissent dans les deux parties d’une règle : le concept conséquent ne contribue pas à la
définition du concept antécédent. Dans l’exemple précédent, être moniteur et féminin ne
constitue pas une condition obligatoire (nécessaire) pour l’appartenance à l’extension du
concept étudiante.
231
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
5.6 .3 Le Rais o n n e m e n t Te rm in o lo giqu e
Généralement, une grande partie des connaissances d’une base de connaissances est
implicite : elle n’a pas été explicitement introduite dans la TBox ou dans la ABox. D’où la
nécessité pour un système terminologique de fournir pour un système terminologique de fournir
des mécanismes de raisonnement qui permettent d’inférer (expliciter) ces connaissances.
Deux types de raisonnements sont disponibles dans les systèmes terminologiques : la
reconnaissance d’individu et le raisonnement sur les descriptions.
5.6 .3 .1 La R e co n n a is s a n ce d ’In d iv id u s
Il s’agit de vérifier si un individu donné est une instance d’un concept donné. Cette opération
constitue la base du processus de réalisation qui consiste à retrouver pour chaque individu le
concept le plus spécifique auquel il se rattache. La reconnaissance d’individus est un
raisonnement hybride qui implique une interaction entre la TBox et la ABox.
5.6 .3 .2 Le R a is o n n e m e n t s u r le s D e s cr ip t io n s
Il s’agit de détecter les différentes relations, telle que la subsomption qui existent entre
terme. Deux types de raisonnements sont fondamentaux pour la construction et l’utilisation des
terminologies :
− La subsomption qui consiste à vérifier si un terme est plus spécifique qu’un autre
terme.
− La satisfiabilité d’un terme qui consiste à vérifier si la description d’un terme donné ne
contient pas d’informations contradictoires.
Le test de subsomption est à la base du processus de classification qui consiste à déterminer
automatiquement la position d’un concept (d’un rôle), dans la hiérarchie des concepts (des
rôles). La classification revient à répondre à la question suivante : étant donné un nouveau
terme introduit dans une terminologie quels sont les subsumant et ses subsumés les plus
immédiats ? Elle permet donc de calculer toutes les relations de subsomption induites par
l’introduction d’un nouveau terme dans une terminologie.
L’efficacité des procédures de raisonnement a été une des préoccupations majeures des
travaux de recherche concernant les logiques terminologiques. Cet axe de recherche a été initié
par Brachman et Levesque qui se sont intéressés à la complexité du calcul de la subsomption
entre des expressions formées uniquement de concepts. Ce type d’inférence, connu sous le nom
de subsomption pure est fondamental dans la majorité des systèmes terminologiques.
Brachman et Levesque ont montré qu’il existe des algorithmes efficaces (polynomial en temps)
pour vérifier le test de subsomption pure pour des formalismes simples. Ces algorithmes
deviennent vite très coûteux (exponentiel en temps) pour de faibles extensions de ces
formalismes.
Un résultat important a été la mise en évidence du rapport entre l’expressivité des
formalismes terminologiques et la complexité des procédures de raisonnement : plus un
formalisme terminologique est riche plus le raisonnement est complexe. De nombreux travaux
sont venus confirmer ce résultat.
232
Indépendamment de la logique terminologique utilisée, (Nebel, 1990) a montré qu’il existe
une autre source de complexité qui est inhérente à toutes les terminologies : l’opération
d’expansion d’une terminologie, qui consiste à remplacer dans une description donnée les noms
des termes composés par leurs descriptions ne peut pas être réalisée de manière efficace. Cette
complexité est cependant purement théorique car les définitions qui peuvent augmenter la
complexité du raisonnement apparaissent que très rarement dans des cas pratiques.
5.6 .4 Exp re s s ivité e t Co m p le xité
Généralement, un compromis entre la puissance d’expression du formalisme et la complexité
des mécanismes de raisonnement est recherché. Les résultats des travaux concernant la
complexité de la subsomption sont établis par rapport à des familles de formalismes qui sont
caractérisées par un formalisme de base constituant le noyau de la famille, par exemple le
formalisme AL. Le noyau consiste en un ensemble réduit de constructeurs choisis parmi ceux
qui sont les plus utilisés dans le domaine des logiques terminologiques. Les formalismes
appartenant à la famille considérée sont ensuite obtenus en étendant le formalisme de base par
d’autres constructeurs (par exemple les langages ALC, ALCN, ALCNR). La complexité de
subsomption est étudiée pour chaque formalisme de la famille considérée. Cette approche
permet d’analyser le rapport entre le coût de la subsomption et le pouvoir d’expression du
formalisme.
Les résultats issus des travaux sur la complexité des procédures de calcul ont fait émerger
deux familles de systèmes terminologiques.
5.6 .4 .1 Le s Pr o cé d u r e s d e Ca lcu l Co m p lè t e s
Cette approche s’appuie sur le principe que le raisonnement dans un système terminologique
doit être efficace et complet (retrouve l’ensemble des inférences valides). Pour atteindre ces
objectifs, des systèmes terminologiques au pouvoir d’expression limité ont été développés,
comme Classic (Brachman et al., 1999). Dans cette approche, l’écart entre ce qui peut être
exprimé par le système et ce qui doit être exprimé est comblé par l’utilisation de règles
d’inférences, quand ces dernières sont supportées par le système terminologique.
5.6 .4 .2 Pr o cé d u r e s d e Ca lcu l In co m p lè t e s
Les systèmes se réclamant de cette approche comme Loom (Mc Gregor, 1988) supportent
des logiques terminologiques au pouvoir d’expression élevé et utilisent des procédures de calcul
efficaces mais incomplètes. Ils s’appuient sur l’idée que n’importe quelle logique terminologique
ayant une puissance d’expression raisonnable implique un coût de raisonnement élevé. Les
limites pratiques de l’expérience de KLONE ont favorisé le développement de ce type d’approche.
En effet, la faible puissance d’expression de ce formalisme l’a rendu peu utilisable dans des cas
réels. Cette expérience a eu pour effet de mettre l’accent sur la nécessité des systèmes
supportant des formalismes puissants pour être utilisables en pratique. Dans cette approche
également, les règles d’inférence peuvent s’avérer utiles pour compléter le comportement du
système terminologique par rapport aux informations qu’il contient.
233
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
Notons enfin qu’un troisième type d’approche a été proposé par Patel- Schneider. Elle
consiste à abandonner la sémantique standard des logiques terminologiques au profit d’une
sémantique plus faible basée sur une logique à quatre valeurs. Il a montré qu’il existe dans cette
sémantique un algorithme de calcul de la subsomption complet et efficace pour un formalisme
puissant. Cependant, dans cette sémantique les seules relations de subsomption valides sont des
relations simples. Par conséquent, de nombreuses relations de subsomption qui sont valides
dans la sémantique standard ne peuvent pas être détectées bien qu’elles soient parfois très
intuitives comme les inférences basées sur la règle du modus ponens.
5.6 .4 .3 Co m p lé t u d e e t Effica cit é
Les deux premières approches présentent l’inconvénient d’avoir recours à l’utilisateur pour
combler les spécifications manquantes dans la première approche et pallier l’incomplétude du
raisonnement dans la deuxième. Cependant, d’un point de vue pragmatique, la deuxième
approche s’avère la plus intéressante. En effet, dans les expériences pratiques réalisées avec
cette approche, les inférences non effectuées par le système terminologique ne semblent pas
avoir posé de problèmes particuliers. Ces inférences sont en général loin d’être intuitives
contrairement à celles qui sont perdues lors de l’utilisation d’une sémantique faible.
5.6 .5 Le s Co n s tru cte u rs
5.6 .5.1 Le s Co n s t r u ct e u r s d e Co n ce p t s
Ils permettent de construire les expressions complexes qui constituent les descriptions
associées aux noms de concepts.
− La conjonction de concepts : spécifiée à l’aide de l’opérateur ( ∧ ). Par exemple l’axiome
terminologique : Etudiante =& Etudiant ∧ Féminin définit le concept étudiante comme étant
l’ensemble des individus qui sont à la fois des femmes et qui ont un statut d’étudiant.
− Les restrictions sur les nombres de valeurs pour un rôle appelées restrictions nr, sont
introduites à l’aide des deux opérateurs ATLEAST et ATMOST. Ils définissent respectivement le
nombre minimal et maximal de valeurs autorisées pour un rôle donné.
Par exemple : soit l’axiome terminologique suivant :
Enseignant =& personne ∧
ATLEAST (1,
enseigne) ∧
ATMOST (1,
rattaché-à)
Si les rôles (enseigne) et (rattaché-à) ont pour domaines de valeurs les concepts (cours) et
(département) respectivement, le concept enseignant représente alors toutes les personnes qui
enseignent au moins un cours et qui sont au plus rattachés à un seul département.
La restriction EXACTLY(n, R) peut être utilisée pour imposer un nombre de valeurs exact pour
un rôle (EXACTLY (n,R) = ALEAST (n, R) ∧ ATMOST (n, R)).
− La disjonction entre concepts est spécifiée à l’aide du constructeur not. Elle indique
que deux concepts donnés ne peuvent pas avoir d’instances en commun. La description
234
étudiant =& personne ∧ not(enseignant) indique qu’un étudiant est une personne qui ne
peut pas être enseignant.
− L’union entre concepts est spécifiée à l’aide du constructeur ∨ .
5.6 .5.2 Le s Co n s t r u ct e u r s d e R ô le s
Introduisons les constructeurs qui permettent de spécifier les descriptions des rôles.
− Les restrictions sur les domaines des rôles sont définies à l’aide des constructeurs
de concept) et RANGE(nom de concept). Ils permettent respectivement de
restreindre le domaine de définition et le domaine de valeurs d’un rôle. Par exemple la
déclaration : travailler =& DOMAIN(employé) indique que le rôle travailler est défini
uniquement pour les instances du concept employé.
DOMAIN(nom
− La conjonction de rôles également spécifiée à l’aide du constructeur ∧ . par exemple la
déclaration : enseigner =& travailler ∧ RANGE(université) indique que le rôle enseigner est
un rôle travailler particulier qui prend obligatoirement ses valeurs parmi les instances du
concept université.
− Les rôles inverses sont définis à l’aide du constructeur inv(nom de rôle).
5.6 .5.3 La Sy n t a xe d e s Co n s t r u ct e u r s
Nous nous limitons dans cette section à introduire les règles syntaxiques qui indiquent la
manière dont les concepts et les rôles sont spécifiés en utilisant les constructeurs précédents.
Les concepts (notés C, D) sont construits autour des concepts atomiques (notés A) et des
rôles (notés R, R’) selon la règle suivante :
C , D → Top A C ∧ D C ∨ D not (C ) atleast (n, R) atmost (n, R) exactly(n, R) Bottom
Les expressions des rôles sont spécifiées selon la règle suivante.
R, R' → Domain(C ) Range(C ) R ∧ R' inv( R) ∃R.C ∀R.C
Le raisonnement sur les descriptions est basé sur la comparaison des descriptions de termes.
Cette comparaison est possible grâce à une hypothèse importante qui sous-tend tous les travaux
concernant les logiques terminologiques : la sémantique d’un terme est dérivée de manière
complète à partir de ses composants et de la manière dont il est construit. En conséquence, les
deux conditions suivantes sont généralement requises lors de la définition d’une terminologie :
− Chaque terme doit apparaître une seule fois comme premier argument d’un axiome.
− Les introductions des termes sont acycliques
235
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
5.6 .5.4 La Sé m a n t iq u e d e s Co n s t r u ct e u r s
La sémantique associée au formalisme est définie par une fonction d’interprétation qui
associe à chaque description dans une terminologie un ensemble d’individus ou de couples
d’individus de l’univers du discours. Il est possible d’associer la terminologie et les éléments de
l’univers du discours de plusieurs manières ; chacune de ces correspondances constitue une
interprétation de la terminologie.
D é fin itio n 5.1 : (INTERPRETATION)
Une interprétation i = ( ∆i ,⋅i ) consiste en :
− un ensemble ∆i (le domaine de l’interprétation i )
− une fonction ( ⋅i ) appelée fonction d’interprétation qui associe à chaque concept C un
sous-ensemble de ∆i et à chaque rôle R un sous-ensemble de ∆i × ∆i , de manière à ce que
dénote la cardinalité d’un ensemble
les équations suivantes dans lesquelles le symbole
soient satisfaites :
Top i = ∆i
Bottom i = ∅
(C ∧ D )i = C i I D i
(C ∨ D )i = C i U D i
{
{b ∈ ∆ (a,b) ∈ R
(atmost (n, R)) = {a ∈ ∆ {b ∈ ∆ (a, b) ∈ R
(exactly(n, R)) = {a ∈ ∆ {b ∈ ∆ (a, b) ∈ R
(inv( R)) = {(a, a' ) (a' , b) ∈ R }
(atleast (n, R))i = a ∈ ∆i
i
i
i
i
i
i
i
i
i
i
} ≥ n}
} ≤ n}
} = n}
i
i
(not (C ))i = ∆i \ C i
( R ∧ R' )i = R i I R' i
{
(∀R.C )i = a ∈ ∆i ∀b,(a, b) ∈ R i ⇒ b ∈ C i
{
(∃R.C ) = a ∈ ∆ ∃b,(a, b) ∈ R
i
i
i
}
}
( Domain(C )) = C × ∆
i
i
i
( Range(C ))i = ∆i × C i
L’interprétation d’un terme quelconque du formalisme est déterminée de manière unique en
appliquant les équations précédentes. La sémantique des axiomes terminologiques est définie
ci-dessous.
D é fin itio n 5.2 : (SEMANTIQUE DES AXIOMES TERMINOLOGIQUES)
Soient tn un nom de terme et t’ une description quelconque dans une terminologie
L. Une interprétation i de la terminologie L satisfait l’axiome terminologique
suivant :
& t’ si et seulement si t ni ⊆ t 'i
tn p
tn =& t’ si et seulement si t ni = t 'i
236
D é fin itio n 5.3 : (INTERPRETATION VALIDE)
Soit L une terminologie. i = ( ∆i ,⋅i ) est une interprétation valide de la terminologie
L si et seulement si la fonction ( ⋅i ) satisfait tous les axiomes terminologiques de L.
Une interprétation valide d’une terminologie est appelée modèle de cette terminologie.
D é fin itio n 5.4 (SUBSOMPTION)
Soient t et t’ deux termes d’une terminologie L. Le terme t’ subsume le terme t si et
seulement si toute interprétation de t est incluse dans toute interprétation de t’ :
t’ subsume t ⇔ t ni ⊆ t 'i pour toute interprétation valide i de L.
D é fin itio n 5.5 (SATISFIABILITE D’UN TERME) :
Une interprétation i = ( ∆i ,⋅i ) est un modèle d’un terme t si t i ≠ ∅. Un terme est
satisfiable s’il a un modèle, il est insatisfiable sinon. Un terme insatisfiable est un
terme incohérent.
La notion de satisfiabilité est étendue aux terminologies par la définition ci-dessous :
D é fin itio n 5.6 (SATISFIABILITE (CONSISTANCE) D’UNE TERMINOLOGIE)
Une terminologie est dite satisfiable (consistante) si elle ne contient pas de concept
incohérent. Elle est dite insatisfiable (inconsistante) sinon.
Cette définition réduit la satisfiabilité d’une base de connaissances à la satisfiabilité des
concepts qui la composent. Ceci est possible en remplaçant dans les descriptions des concepts
les noms de rôles par leurs descriptions.
Généralement, la réalisation d’un seul des tests de subsomption ou de satisfiabilité est
suffisante car la subsomption peut être réduite à la satisfiabilité et inversement. Ceci est exprimé
par les deux règles d’équivalence suivantes :
− Tester la subsomption entre deux concepts C et C’ équivaut à tester la satisfiabilité du
concept C’
C’ subsume C ⇔ C ∧ not(C’) est insatisfiable
− Le test de satisfiabilité d’un concept C peut se réduire à un test de subsomption entre
le concept C et le concept vide.
C est insatisfiable ⇔ Bottom subsume C.
De manière générale le test de subsomption constitue le mécanisme raisonnement de base des
systèmes terminologiques existants.
237
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
5.6 .5.5 Exe m p le
Soit la terminologie suivante :
& Mammifère
Humain p
& Humain
Femme p
Employé =& Humain ∧ atleast (1, Travaille-dans)
Directrice =& Femme ∧ atleast (1, Supervise)
& Travaille-dans
Supervise p
Cette terminologie contient deux termes atomiques, le concept mammifère et le rôle
travaille-dans (ils apparaissent uniquement en partie droite des axiomes terminologiques).
Nous ne disposons pas des définitions complètes des concepts Humain, Femme et du rôle
Supervise : ils sont donc introduits en tant que concepts primitifs. En revanche, les concepts
Employé et Directrice sont définis exactement comme étant respectivement des humains qui
travaillent et des femmes qui exercent au moins un rôle de supervision.
Lors du processus de classification, la position d’un terme primitif dans la hiérarchie de
termes est donnée de manière explicite dans sa description, par exemple le concept Femme est
directement placé sous le concept Humain. En revanche la position d’un terme défini est inférée
à partir de sa définition. Les trois cas suivants peuvent se présenter :
1- La relation de subsomption est spécifiée explicitement dans la description du terme
défini. Par exemple la relation de subsomption entre le concept Employé et le concept
Humain apparaît de manière explicite dans la description du premier concept.
2- La subsomption est spécifiée indirectement. Dans l’exemple précédent, la propriété de
transitivité de la relation de subsomption permet de déduire que le concept Femme est
sous-concept de Mammifère.
3- Certaines relations de subsomption, inférées par le système terminologique, ne se
déduisent pas par transitivité. Dans l’exemple précédent, le concept Directrice est défini
comme étant une Femme, donc par transitivité un Humain, qui a au moins un rôle de
supervision. Etant donné que le rôle supervise est une spécialisation du rôle travailledans, une Directrice est également un Humain qui travaille, donc un Employé. Par
conséquent, lors de la classification du concept Directrice, le système terminologique
explicite une relation de subsomption entre ce concept et le concept Employé.
5.6 .6 Rais o n n e m e n t Taxin o m iqu e p o u r la Re ch e rch e d ’In fo rm atio n
Une des applications les plus importantes du raisonnement taxinomique concerne le
traitement des requêtes et l’indexation. En effet, l’expression des connaissances dans un
formalisme formel permet un traitement uniforme des classes, des requêtes ou encore des vues
sur la terminologie. Les requêtes sont considérées comme des nouveaux concepts à intégrer
dans la taxinomie et le mécanisme de classification permet de positionner automatiquement la
requête cette taxinomie. La combinaison de ces deux possibilités offre un moyen puissant pour
le traitement des requêtes en exploitant les connaissances disponibles (Meghini et al,
238
1997)(Horrocks & Tessaris, 2000)(Andreasen et al., 2004). Cette technique est à la base des
travaux concernant l’optimisation sémantique des requêtes dans les bases de données ou dans
les ontologies. Dans cette approche, l’évaluation d’une requête consiste à récupérer toutes les
instances de ses sous-concepts et à filtrer parmi les instances de ses sous-concepts directs celles
qui vérifient les conditions de la requête. En particulier dans les systèmes de recherche
d’information, si la requête est exprimée à l’aide du concept Q on recherche les instances D du
concept Q, telles que la requête Q subsume le concept décrivant le document D. Ainsi les
documents jugés pertinents par le système correspondent aux instances du concept
représentant la requête et de ses subsumés. Cette phase peut être améliorée en utilisant la
technique d’indexation sémantique qui consiste à définir des index conformément à
l’organisation de la terminologie (utiliser les concepts comme des index et stocker la relation
entre chaque concept et ses instances).
Le raisonnement taxinomique, notamment la vérification de la consistance, peut être
également utilisé dans les tâches de maintenance des bases de connaissances, par la découverte
de cycles dans la taxinomie. Dans le processus de recherche d’information, si une requête est
considérée comme une description de concept, celui-ci peut être comparé au concept
inconsistant. S’il l’est, la requête de l’utilisateur est fausse et ne renverra aucune réponse. Par
rapport aux systèmes actuels qui ne renvoient pas de réponses, une explication pourra être
donnée à l’utilisateur, à savoir que la requête est sémantiquement incohérente.
5.7 Fo rm a lis atio n d e la Te rm in o lo gie
5.7.1 Exp é rie n ce s ave c TRIPLE
Dans cette première expérience (Soualmia et al., 2003)(Soualmia & Darmoni, 2003a)
(Soualmia & Darmoni, 2003), nous avons défini une base de connaissances reposant sur un
schéma RDFS qui définit les concepts (classes) qui sont les mots clés et types de ressources, les
rôles (relations entre concepts) qui sont les qualificatifs et une relation de subsomption pour
organiser les classes en hiérarchie. Les ressources seront annotées en fonction des concepts et
des rôles de l’ontologie sous le format RDF. Nous avons ajouté à cela 50 règles métier définies
par un médecin généraliste (A.Soualmia) concernant essentiellement les complications des
maladies. Les règles métier ne sont pas utilisées pour annoter les ressources et elles ne
contribuent pas à la définition de concepts. Elles ont été traduites sous la forme de règles
d’inférence et utilisées pour un raisonnement sur le contenu des ressources dans le processus de
recherche d’information.
RDFS permet de définir des hiérarchies de classes et des propriétés mais il n’intègre pas de
capacités de raisonnement, comme ceux qu’offrent les systèmes basés sur des langages formels
comme les Logiques de Description. L’écriture des règles d’inférence n’étant pas possible en
RDFS, nous utilisons les fonctionnalités de l’outil TRIPLE (Sintek & Decker, 2001) qui a été
développé pour une recherche information intelligente basée sur les connaissances. Il permet de
réaliser des raisonnements complexes sur des ressources RDF instances de concepts en
traduisant RDF en Horn-Logic mais aussi en DAML+OIL42. Un accès à des éléments externes
42
http://www.daml.org/2001/03/daml+oil-index.html.
239
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
comme le classifieur RACER (Haarslev & Möller, 2001) (basé sur les Logiques de Description)
offre la possibilité de bénéficier de ses mécanismes de raisonnement. Pour la recherche de
ressources c’est particulièrement utile. Par exemple si une ressource a est instance du concept
C :=∃ Hepatite.Complications et qu’un utilisateur recherche des ressources associées à
Cirrhose, c’est à dire instances du concept Cirrhose, le système déduira que la ressource a est
également une réponse à la requête grâce à la règle d’inférence ∃Hepatite.Complications⇒
Cirrhose.
// collection of resources
@cismef:resources {
cismef:doc1[
meta:title->"Document 1 is related to Hepatitis and Aids";
meta:author->"Lina Soualmia";
meta:keyword->HEPATITIS;
meta:keyword->AIDS;
meta:qualifier->COMPLICATIONS].
cismef:doc2[
meta:title->"Document 2 is related to abdomen";
meta:author->"Doctor D in Gastrology";
meta:keyword->ABDOMEN;
meta:qualifier->COMPLICATIONS;
meta:qualifier->RADIOGRAPHY].
cismef:doc3[
meta:title->"Document 3 is related to Accidents";
meta:author->"Doctor E in Risks";
meta:keyword->ACCIDENT;
meta:qualifier->RISKS].
cismef:doc4[
meta:title->"Document 4 is related to Cirrhosis";
meta:author->"SJ Darmoni";
meta:keyword->LIVERCIRRHOSIS].
}
// domain ontology
@cismefOntology {
HEPATITIS[subClassOf -> LIVERDISEASES].
LIVERCIRRHOSIS[subClassOf -> LIVERDISEASES].
HEPATITIS[Complications->LIVERCIRRHOSIS].
// ...
}
// query : all the resources and their author related to
LIVERCIRRHOSIS//
FORALL Resource, Author <search(Resource,LIVERCIRRHOSIS)@search(cismef:resources,
cismefOntology) AND Resource[meta:author -> Author].
FIG.5.8.− Exemple de déclaration de connaissances, métadonnées règle d’inférence et requête
sous TRIPLE
compiling cismef.triple
running cismef.triple
***
Resource = cismef:doc1, Author = 'Lina Soualmia'
Resource = cismef:doc4, Author = 'SJ Darmoni'
done.
FIG.5.9.− Fichier résultat
240
L’outil TRIPLE peut être utilisé pour un ensemble restreint de déclarations de concepts et de
documents, et au-delà d’un certain nombre les capacités de calcul sont très longues. De ce fait,
pour une terminologie de la taille de celle du CISMeF, mais également vu le nombre important
de documents indexés, nous avons ensuite opté pour le langage de représentation OWL-DL
(Horrocks et al., 2003), en laissant de côté le règles d’inférence. Ce langage est un nouveau
standard du W3C mais également car il se fonde sur une logique de description avec ce que cela
comporte comme capacités de raisonnement et d’inférences. Des systèmes de raisonnement
comme Racer existent et peuvent être utilisés pour vérifier et interroger des bases de
connaissances terminologiques. Nous utilisons Racer (Haarslev & Möller, 2003) plutôt que Fact
(Horrocks, 1998) en raison de la possibilité de raisonnement sur les individus (ABox) alors que
Fact ne permet que le raisonnement sur la TBox. La disponibilité d’éditeurs comme Protégé2000 (Noy et al., 2001) a également orienté notre choix.
Nous présentons tout d’abord les caractéristiques du langage OWL puis une solution de
modélisation que nous avons retenue.
5.7.2 D e OIL à OW L
Le projet Ontobroker a proposé le langage OIL (Fensel et al., 2000)qui combine les frames
pour la modélisation et les logiques de description pour le raisonnement. Le langage permet la
distinction entre les concepts définis et les concepts primitifs. Les propriétés sont des rôles
organisés sous la forme d’une taxinomie. Ils possèdent les propriétés de négation, symétrie ou
transitivité. Les descriptions de concepts sont des expressions booléennes faisant référence à
d’autres concepts avec ou sans rôles.
Par ailleurs, le programme Daml (DARPA Agent Markup Language) a proposé les langages
Daml-Ont et Daml-Logic (Hendler & Mc Guiness, 2000). Le premier langage permet d’exprimer
des ontologies et le Daml-Logic permet d’ajouter des règles d’inférence. La fusion de Daml-Ont
et OIL a donné lieu au langage Daml+Oil qui est équivalent à la logique SHIQ qui est très
expressive.
Daml+oil a ensuite donné lieu en 2001 au langage OWL (Ontology Web Language) par le
groupe de travail du W3C sur le Web Sémantique. Le but d’un tel langage est son utilisation
dans les cas où les informations contenues dans les documents doivent être traitées par des
applications logicielles. La sémantique de OWL se fonde sur un domaine d’interprétation ouvert
permettant aux systèmes d’effectuer des raisonnements même s’il n’y a pas une connaissance
complète du monde.
Le langage OWL fournit trois sous-langages : OWL-Lite, OWL-DL et OWL-Full :
− OWL-Lite est une extension du langage RDFS permettant la modélisation d’ontologies
simples. Il est d’une complexité peu élevée (Horrocks & Patel-Schneider, 2003).
− Le langage OWL-DL contient des constructeurs supplémentaires et le langage est plus
expressif mais décidable.
− Le langage OWL-Full est caractérisé par les mêmes constructeurs que OWL-DL. En
revanche l’interprétation des concepts est plus large et de ce fait, le langage n’est pas décidable.
241
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
FIG.5.10.−. Liste des Constructeurs de OWL-DL (Horrocks et al, 2003)
5.7.3 Travau x d an s le D o m ain e d e la San té
Des travaux récents se sont intéressés à la représentation de l’UMLS et de son Réseau
Sémantique à l’aide d’un langage formel. On peut citer le travail de (Schulz & Hahn, 2001) qui
ont traduit en langage Classic les concepts de l’UMLS étant en relation ‘Part-of’, le travail de
(Cornet & Abu-Hanna, 2002) qui ont proposé de représenter l’UMLS avec la logique ALC, ou
encore le travail de (Kashyap & Bordiga, 2003) qui proposent de représenter le Réseau
Sémantique de l’UMLS en utilisant OWL.
(Wroe et al., 2003) proposent une méthodologie pour traduire la Gene Ontology en
DAML+Oil. Par ailleurs, le thésaurus du National Cancer Institute (NCI) a été traduit dans le
langage OWL-Lite (Golbeck et al., 2003). L’ontologie qui en découle est fondée sur l’UMLS et
elle sera exploitée pour l’indexation et la recherche de données relatives au NCI. D’autres
travaux concernent la modélisation d’ontologies comme (Hu et al., 2003)(Horrocks & Rector,
1997)(Aitken et al, 2004).
En revanche, à notre connaissance il n’existe pas de travaux sur la ‘formalisation’ du MeSH.
Le MeSH souffre en effet de sa taille mais également de ses ambiguïtés. Par exemple ‘diagnostic’
242
est défini comme une spécialité médicale mais également comme qualificatif, de même que
‘virologie’ est un mot clé, une spécialité et un qualificatif. Ces aspects ont été traités dans la
modélisation de la terminologie CISMeF par l’introduction de nouveaux concepts comme les
métatermes, mais cela ne nous apparaît pas être suffisant puisque l’ambiguïté persiste,
notamment à cause des liens (spécialité-mot clé) et (spécialité-qualificatif). L’avantage d’utiliser
une logique de description est de bénéficier de mécanismes de raisonnement qui leur sont
associés (satisfiabilité, subsumption, classification, vérification de consistance, instanciation,
réalisation et recherche de concepts), permettant entre autres de maintenir un système
terminologique et d’améliorer les résultats de requêtes grâce aux inférences.
Cette partie décrit la première étape de formalisation du MeSH et de la terminologie CISMeF
(Soualmia et al., 2004a) (Soualmia et al., 2004b).
FIG.5.11.− .Syntaxe de construction des descriptions de concepts (Horrocks et al., 2003)
5.7.4 Prin cip e s d e Mo d é lis atio n
243
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
Le premier principe de modélisation consiste à "nettoyer" la taxinomie du MeSH en
distinguant les relations ‘pat-of’ et ‘is-a’. Pour ce faire, les arborescences Anatomie, Sciences
Biologiques et Régions Géographiques sont traitées séparément.
Le second principe consiste à distinguer clairement entre les différentes notions (les
spécialités, les mots clés et les qualificatifs). Par exemple, la spécialité "diagnostic" est
distinguée du qualificatif "diagnostic" car ils désignent des notions différentes (il en est de
même pour "virologie").
Les contraintes sur les qualificatifs ont été définies pour vérifier si l’association d’un
qualificatif à un mot clé est valide. Ces contraintes ont été définies comme étant des restrictions
du domaine des qualificatifs, chaque domaine étant un ensemble de mots clés. Par exemple, le
qualificatif "diagnostic" peut être associé au mot clé "maladies" (et de ce fait il peut être associé
à tous les descendants de "maladies"). En revanche, il ne peut pas être associé aux mots clés de
l’arborescence "régions géographiques".
Enfin, l’ensemble des concepts utilisés pour l’indexation d’un document constitue une
nouvelle description de concept à ajouter dans la terminologie. Cette nouvelle description
correspond à la conjonction des concepts utilisés pour l’indexation. Cette description est
nécessaire pour la définition des individus de la base de connaissances terminologique.
5.7.5 D e s Fich ie rs Te xte s à la Bas e d e D o n n é e s
Les fichiers textes du MeSH sont traités automatiquement depuis 2002 avec un script a sur
une plateforme Unix afin de renseigner la table TB_MeSH dans la base de données CISMeF
avec les attributs suivants : Descripteur Français, Code Cat MeSH et NLM. Les autres champs
des fichiers MeSH ne sont pas pris en compte (par exemple le champ MeSH definition) car ils
sont en anglais. En pratique, une jointure sur les deux tables TB_MeSH et TB_MC, qui contient
tous les descripteurs utilisés dans le catalogue (n = 9 861 en Mars 2004), afin de mettre à jour la
terminologie mais également de calculer tous les liens qui existent entre les descripteurs et les
niveaux dans les hiérarchies.
5.7.6 D e la Bas e d e D o n n é e s à la Bas e d e Co n n ais s an ce s
Le langage OWL-DL possède les caractéristiques d’une logique de description. Comme décrit
plus haut (en 5.6) les logiques de description structurent les connaissances du domaine en deux,
voire trois niveaux: un niveau terminologique (la TBox ou l’ontologie) dans lequel se trouvent
les classes des objets du domaine (concepts), avec leurs propriétés (rôles) et un niveau
d’assertions (ABox), dans lequel se trouvent les individus (instances) et enfin un niveau de
règles d’inférences (IBox) venant compléter la TBox. Dans notre cas, nous considérons que la
TBox contient la terminologie (les spécialités, les mots clés, les qualificatifs et les types de
ressources) en OWL-DL et que les instances sont les documents indexés (à inclure dans la
ABox). Une requête peut être alors considérée comme une description de concept et grâce au
processus de classification, les instances (les documents) correspondant à ce concept sont
récupérées car elles satisfont la requête (Horrocks & Tessaris, 2000) (Stuckenschmidt & van
Harmelen, 2002) (Andreasen et al., 2004).
La terminologie, stockée dans une base de données relationnelle est automatiquement
représentée en OWL-DL grâce à un algorithme en Java couplé avec des requêtes SQL (§). La
244
construction est descendante (Top-Down), allant du concept Top (Thing en OWL) aux
spécialités et ensuite des têtes d’arborescence aux mots clés et aux types de ressources. La
hiérarchie de qualificatifs est gérée séparément. L’objectif est d’automatiser au maximum tout le
processus.
D’un point de vue syntaxique, comme dans (Golbeck et al., 2003), tous les caractères illégaux
(-:,&) et les espaces contenus dans les noms des descripteurs sont remplacés par des
underscores. Tous les caractères accentués (“éèêë”) sont désaccentués (“e”). Les libellés des
descripteurs qui commencent avec un caractère numérique sont préfixés par des underscores.
Le libellé "11-hydroxycorticostéroïdes" est remplacé par "_11_hydroxycorticosteroides".
D’un point de vue modélisation, les choix retenus sont décrits dans la section suivante.
5.7.6 .1 Le s Cla s s e s OW L
Les mots clés, les spécialités et les types de ressources sont représentés par des concepts
primitifs. Lorsque deux concepts ont le même libellé mais désignent deux notions distinctes,
leur nom en OWL est préfixé par mt_, lorsque c’est une spécialité, et par tr_ lorsque c’est un
type de ressources.
Les spécialités sont décrites comme des concepts primitifs. Ils n’ont pas de description
associée. Toutes les spécialités sont stockées dans une même table, de ce fait, pour chaque
spécialité une description est ajoutée simplement dans le fichier OWL en sortie de l’algorithme.
Par exemple, nous représentons la spécialité cardiologie de la manière suivante en OWL:
<owl:ClassOf rdf:ID="mt_cardiologie">
</owl:Class>
Les relations ‘is-a’ entre concepts sont déclarées en OWL comme étant des relations de
subsomption. En premier lieu, seuls les mots clés et les types de ressources qui sont des fils
directs des spécialités sont décrits. Ensuite leurs descendants sont ajoutés niveau par niveau
(nous considérons un concept et son super-concept qui ont une différence de niveau égale à 1).
Par exemple ‘accident domestique’ est un sous-concept de ‘accident’, nous l’exprimons en OWL
par :
<owl:Class rdf:ID="accident_domestique">
<rdfs:subClassOf>
<owl:Class rdf:about="#accidents" />
</rdfs:subClassOf>
</owl:Class>
245
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
Si un concept possède plus d’un super-concept (héritage multiple), nous le représentons
comme un concept primitif est spécifié par l’intersection de ses super-concepts. Par exemple,
hépatite C chronique est à la fois une hépatite C et une hépatite chronique. La syntaxe
correspondante en OWL est la suivante :
<owl:Class rdf:ID="hepatite_C_chronique">
<rdfs:subClassOf>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#hepatite_C" />
<owl:Class rdf:about="#hepatite_chronique" />
</owl:intersectionOf>
</owl:Class>
</rdfs:subClassOf>
</owl:Class>
5.7.6 .2 Le s Pr o p r ié t é s OW L
Les qualificatifs sont organisés en une relation hiérarchique. Nous les représentons par des
rôles. Tous les qualificatifs sont regroupés dans une table dans la base de données CISMeF. Afin
de les représenter en OWL, nous préfixons leur libellé par qu_ . Chaque qualificatif possède un
domaine que nous désignons par domain_qu_. En revanche nous n’avons pas d’information
pour l’instant concernant le range des rôles.
<owl:ObjectProperty rdf:ID="qu_contre_indication">
<rdfs:domain rdf:resource="#domain_qu_contre_indication" />
<rdfs:subPropertyOf>
<intersectionOf rdf:parseType="Collection">
<owl:ObjectProperty rdf:about="#qu_action_pharmacologique" />
<owl:ObjectProperty rdf:about="#qu_usage_therapeutique" />
</intersectionOf>
</rdfs:subPropertyOf>
</owl:ObjectProperty>
5.7.6 .3 La Pr o p r ié t é Pa r t -Of
Les mots clés des arborescences Anatomie, Sciences Biologiques et Régions Géographiques
sont organisés selon la relation part-of. Nous les traitons séparément. Le rôle partOf est défini
en OWL par :
<owl:ObjectProperty rdf:ID="partOf">
</owl:ObjectProperty>
246
Dans la terminologie, le mot clé "doigt" est positionné sous le mot clé "main" dans
l’arborescence Anatomie. Comme cette relation hiérarchique correspond en fait à la relation
“partOf", nous définissons le concept "main" en OWL par :
<owl:Class rdf:ID="doigt">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#partOf" />
<owl:hasValue rdf:resource="#main" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
5.7.6 .4 Le s R e s t r ict io n s s u r le s D o m a in e s d e s Pr o p r ié t é s
Un qualificatif peut être associé et appliqué à plusieurs arborescences de mots clés. Nous
spécifions les domaines des qualificatifs par des unions de concepts. Cette information est
disponible sous forme de chaîne de caractères dans la table des qualificatifs au niveau de
l’attribut Restriction. Les têtes d’arborescence sont séparées par des virgules. Cette information
a été renseignée manuellement par le bibliothécaire médical. Par exemple, la restriction “C01C05, D, G” indique en fait que le qualificatif concerné ne peut être appliqué qu’aux mots clés qui
appartiennent aux arborescences C01 à C05, D01 à D27, et G01 à G14. La difficulté que nous
avons rencontrée est de traiter chaque restriction (au nombre de 83) afin de déterminer toutes
les têtes d’arborescence les mots clés correspondants. En OWL nous définissons le domaine de
"qu_contre_indication" par :
<owl:Class rdf:ID="domain_qu_contre_indication">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#anesthesie_et_analgesie" />
<owl:Class rdf:about="#intervention_chirurgicale" />
<owl:Class rdf:about="#produits_chimiques_inorganiques" />
…
</owl:unionOf>
</owl:Class>
5.7.6 .5 R e p r é s e n t a t io n d e s D o cu m e n t s
Les concepts représentant les documents (leurs instances au nombre de 13 198) doivent
également être inclus. Les documents sont traités comme étant des définitions de concept. Pour
chaque document, un nouveau concept est créé. Par exemple, le document 112, qui traite du
247
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
diagnostic de l’hépatite et de ses complications est indexé avec ‘hepatite/diagnostic’ et
‘hepatite/complications’. Nous considérons ce document comme étant une instance du concept
défini
R_112 =& ∃ diagnostic.hepatite ∧ ∃ complications.hepatite. Cette description en OWL est
décrite par :
<owl:Class rdf:ID="R_112">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="#qu_diagnostic" />
<owl:someValuesFrom rdf:resource="#hepatite" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#qu_complications" />
<owl:someValuesFrom rdf:resource="#hepatite" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
5.7.7 Vé rificatio n d e la Co n s is tan ce e t Clas s ificatio n
5.7.7.1 Im p o r t s o u s Pr o t é g é -2 0 0 0
La TBox obtenue est de grande taille (23 420 concepts (9 861 mots clés ; 104 spécialités; 144
types de ressources; 84 domaines; 13 227 concepts représentant les documents) et 85 relations
(84 qualificatifs et 1 relation partOf). Nous avons essayé d’importer le fichier OWL résultant
(20,75 MB) sous l’éditeur d’ontologies Protégé-2000 grâce à son plug-in OWL, mais la mémoire
de la machine virtuelle Java est arrivée très vite à saturation à cause de la taille du fichier. Nous
avons choisi de réduire le nombre de concepts relatifs aux documents pour n’en garder que 3
000 (sélectionnés aléatoirement). Le fichier a pu être traité avec succès en ~ 30 minutes dans la
version bêta 2.0 (traitement réduit à 5 min dans la version actuelle). Le langage a été validé par
Protégé comme étant le langage OWL-DL.
5.7.7.2 Vé r ifica t io n d e la Co n s is t a n ce
La vérification, à l’aide du classifieur Racer, de la consistance de la terminologie augmentée de
3 000 concepts décrivant les documents prend environ 3 heures de temps (Protégé 2.0 bêta et le
plug-in OWL 119). Aucune description inconsistante n’est trouvée. Cela peut s’expliquer par
différentes raisons :
-
Le prétraitement des fichiers MeSH en une base de données structurée
La distinction entre les différentes notions permet d’éviter les cycles dans la
terminologie (entre spécialités, mots clés, qualificatifs et types de ressources)
248
-
L’utilisation de l’opérateur d’intersection lorsqu’un concept (ou un rôle) appartient à
plusieurs super-concepts (super-rôle)
-
Tous les concepts, mis à a part ceux décrivant les documents et ceux relatifs aux
contraintes sur les domaines des qualificatifs, n’ont pas de propriétés
-
Les concepts décrivant les documents ont des propriétés, mais du fait qu’ils ont été
indexés manuellement par l’équipe des documentalistes, leurs descriptions ne peuvent pas
être inconsistantes.
Le test de consistance peut en revanche être utilisé pour vérifier la validité des requêtes, ou
encore vérifier qu’une indexation automatique est consistante.
FIG.5.12. − Fichier OWL-DL en sortie du processus
249
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
5.7.7.3 La Cla s s ifica t io n
Le processus de classification prend également beaucoup de temps. En effet, le processus de
classification fait appel à la vérification de consistance. Une nouvelle hiérarchie est inférée et
tous les domaines et les concepts décrivant les documents sont classés en fonction de leur
description. En revanche, il n’existe pas d’utilitaire dans Protégé 2000 qui permette de stocker
cette nouvelle hiérarchie. En exemple, le concept domain_qu_biosynthese qui décrit le domaine
du rôle qu_biosynthese, a comme description:
<owl:Class rdf:ID="domain_qu_biosynthese">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#hormones_substituts_hormones" />
<owl:Class rdf:about="#enzymes__coenzymes__anti_enzymes" />
<owl:Class rdf:about="#glucides_et_hypoglycemiants" />
<owl:Class rdf:about="#acides_amines__peptides_et_proteines" />
<owl:Class rdf:about="#nucleosides_et_nucleotides" />
<owl:Class rdf:about="#substances_biologiques_immunologiques" />
</owl:unionOf>
</owl:Class>
Par sa description, le concept domain_qu_biosynthese est classé sous le concept
domain_qu_analyse car il est plus spécifique. En gras on retrouve la description de
domain_qu_biosynthese incluse dans celle de domain_qu_analyse.
<owl:Class rdf:ID="domain_qu_analyse">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#produits_chimiques_inorganiques" />
<owl:Class rdf:about="#composes_chimiques_organiques" />
<owl:Class rdf:about="#composes_heterocycliques" />
<owl:Class rdf:about="#hydrocarbures_polycycliques" />
<owl:Class rdf:about="#hormones__substituts_hormones" />
<owl:Class rdf:about="#agents_regulateurs_reproduction" />
<owl:Class rdf:about="#enzymes__coenzymes__anti_enzymes" />
<owl:Class rdf:about="#glucides_et_hypoglycemiants" />
<owl:Class rdf:about="#lipides_et_hypolipemiants" />
<owl:Class rdf:about="#acides_amines__peptides_et_proteines" />
<owl:Class rdf:about="#nucleosides_et_nucleotides" />
<owl:Class rdf:about="#agents_systeme_nerveux_central" />
<owl:Class rdf:about="#agents_systeme_nerveux_peripherique" />
<owl:Class rdf:about="#agents_cardiovasculaires" />
<owl:Class rdf:about="#antiinfectieux" />
<owl:Class rdf:about="#antineoplasiques_et_immunodepresseurs" />
<owl:Class rdf:about="#produits_dermatologiques" />
<owl:Class rdf:about="#substances_biologiques_immunologiques" />
<owl:Class rdf:about="#materiaux_biomedicaux_et_dentaires" />
<owl:Class rdf:about="#drogues_et_agents_divers" />
<owl:Class rdf:about="#actions_chimiques_et_utilisations" />
</owl:unionOf>
</owl:Class>
Le service de classification peut être utilisé lors de la mise à jour de la terminologie et des
documents du catalogue.
250
FIG.5.13. − Import sous Protégé : Hiérarchie de concepts
FIG.5.14. − Import sous Protégé : Hiérarchie de Rôles
251
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
FIG.5.15. − Vérification de la Consistance
5.7.7.4 Am é lio r a t io n s Po s s ib le s
Les principales contributions à la traduction de la terminologie en une base de connaissances
est la distinction entre les relations is-a et part-of ainsi qu’entre les concepts qui correspondent
à des notions différentes. Cela permet d’éviter les ambiguïtés et les cycles dans la terminologie,
notamment lorsqu’un même libellé est utilisé pour deux notions différentes.
Des améliorations sont possibles au niveau de la base de connaissances obtenue
automatiquement. Par exemple, toutes les relations dans l’arborescence Anatomie sont
considérées des relations "part of". Cependant, les sous-arborescences A11 (cellules), A12
(liquides et sécrétions biologiques) et A15 (Systèmes sanguins et immunitaires) correspondent
en fait à des hiérarchies is-a. Par exemple une “cellule sanguine” [A11.118] est une “cellule”
[A11]. Ces améliorations doivent se faire au cas par cas manuellement…
Un autre problème provient des hiérarchies en elles-mêmes qui ne correspondent pas à de
vraies hiérarchies is-a. Par exemple, erreur_de_diagnostic est défini dans le MeSH, et donc
dans notre base de connaissances comme un sous-concept de diagnostic et de erreur_médicale
ce qui sémantiquement n’est pas correct. Le concept erreur_de_diagnostic devrait être défini
& erreur_medicale ∧
comme une erreur_médicale due à un diagnostic (erreur_de_diagnostic p
∀origine.diagnostic).
252
FIG.5.16. − Classification de concepts (seuls les concepts définis peuvent être classés)
D’autres propriétés, notamment les concepts décrivant l’ontologie des métadonnées relatives
aux documents médicaux peuvent être ajoutés aux descriptions de concepts décrivant les
documents. La description conceptuelle des documents se ferait alors à deux niveaux comme
dans (Troncy, 2004).
Concernant les concepts issus du MeSH, d’autres propriétés comme par exemple l’ID
(numéro unique d’identification) peuvent être ajoutés aux descriptions. Nous envisageons
également d’exploiter le réseau sémantique de l’UMLS. Le réseau sémantique en anglais est
composé de 134 relations. Elles sont de la forme is_complicated_by (Hepatitis, Cirrhosis)
indiquant que le concept Hepatitis est relié au concept Cirrhosis par la relation
is_complicated_by. En analysant de plus près ces relations on remarque qu’elles correspondent
aux qualificatifs du MeSH et que les concepts peuvent être mappés aux concepts du MeSH. Par
exemple, la relation is_complicated_by correspond au qualificatif complications et la relation
is_treated_by correspond au qualificatif traitement. La seule information qui est disponible
dans notre base de connaissances est que les concepts Cirrhose et Hépatite sont tous deux
subsumés par le concept Maladies du Foie. Les descriptions des concepts de l’arborescence
Maladies pourront ainsi être complétées.
La base de connaissances peut être également exploitée dans d’autres applications que le
CISMeF, notamment dans les catalogues de santé et Medline qui utilisent le MeSH (Hersh et al.,
1996) (Boyer et al., 1997) (Norman et al., 1998) (Deacon et al., 2001).
253
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
5.8 Ve rs u n e On to lo gie ? le p ro je t ATON AN T
Il existe plusieurs méthodologies de construction d’ontologies que nous décrivons dans
(Soualmia, 2001a), notamment (Noy & Hafner, 1997) (Uschold & Gruninger, 1996)(FernanezLòpez, 1997). Une méthode consiste à construire des ressources ontologiques à partir de textes
(Assadi, 1998)(Maedche & Staab, 2000)(Aussenac-Gilles et al., 2000). Cette dernière a été
notamment utilisée dans le projet MENELAS à partir de comptes rendus d’hospitalisation et
dans (Le Moigno et al., 2002) pour la réanimation chirurgicale ou encore dans (Lame, 2002)
pour une ontologie du droit. Dans le cadre du projet ATONANT (2004-2005)43, une ontologie
est une spécification partagée d’une conceptualisation. L’ontologie d’un domaine organise
hiérarchiquement les concepts d’un domaine pour une application. Elle est construite en
fonction d’une application finale dans laquelle elle sera utilisée. Le but final d’une ontologie est
de construire un objet formel qui pourra être utilisé par un système informatique. L’objectif du
projet est de fédérer au sein d’une plate-forme modulaire un ensemble de systèmes d’extraction
et de fouille de textes associés à des fonctions d’exploration de ces données lexicales puis de
modélisation et de structuration conceptuelle. Le projet s’appuie sur un certain nombre de
travaux, outils et méthodes existants :
• TERMINAE, (Biébow & Szulman, 2000)(Szulman et al., 2002) un environnement de
construction d’ontologie
• La méthode OntoSpec (Kassel, 2002) qui consiste à introduire une ontologie
conceptuelle spécifiée dans une langue naturelle contrôlée et fortement structurée.
FIG.5.17. −Architecture générale de la plateforme ATONNANT
43
Les partenaires de ce projet sont EADS, le LIPN, le LaRIA, le LIP6 et le CEA
254
5.8 .1 Te rm in ae
TERMINAE est une plateforme pour l’aide à la construction d’ontologies à partir de textes.
L’outil permet d'exploiter des résultats d'outils de TAL pour élaborer au fur et à mesure des
ressources terminologiques, allant de fiches terminologiques à une ontologie formelle.
La méthode TERMINAE se réalise en quatre étapes principales :
•
La constitution du corpus,
• L’étude linguistique consiste à identifier des termes et des relations lexicales en utilisant
des outils TAL comme SYNTEX
• La normalisation sémantique conduit à définir des concepts et des relations
sémantiques dans un langage formel
• La formalisation permet de préciser complètement et valider le modèle. Le langage de
formalisation est de la famille ALC des logiques de description. Un module d’import
d’ontologies en OWL est en cours de construction (Szulman & Biébow, 2004).
5.8 .2 Ré s u ltats d an s le Cad re d u Pro je t ATON AN T
Un module d’aspiration et de normalisation des documents a été mis en place en amont de
l’analyse de contenu afin de permettre une mise en forme des informations textuelles. Nous
avons aspiré les textes intégraux relatifs à l’arborescence B04 (Virologie). Le corpus est de taille
considérable. Nos choix se sont ensuite orientés vers les textes des définitions des concepts de
l’arborescence virologie. En effet, B04 est la seule arborescence disposant de définitions en
français. De plus les traductions ont été réalisées par la même personne, une virologue.
Nous avons donc généré un fichier XML à partir de la base de données en sélectionnant les
attributs (arborescence+terme+définition). Ce fichier a été transformé par S.Szulman afin d’être
chargeable dans Terminae.
255
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
FIG.5.18. −Fichier XML généré pour l’arborescence B04 et Fichier pour Terminae
256
Le test de la plateforme va finalement être réalisé sur une dizaine de concepts et relations vu
que l’intervention humaine va être importante pour valider l’organisation des concepts. Cette
méthode suppose que l’expert connaît le domaine et qu’il peut organiser les concepts entre eux.
Dans un domaine aussi vaste que la médecine, ou même d’une spécialité médicale, cela nous
semble être un travail fastidieux. De plus, l’expérience montre que l’hypothèse selon laquelle
l’expert d’un domaine serait le dépositaire d’un système conceptuel est restrictive. Les experts
ne sont pas en mesure de verbaliser explicitement et complètement un ensemble de termes qui
seraient la traduction verbale d’un système explicite de concepts. Nous avons donc réduit le
nombre de concepts à 10. Le test sur une dizaine de concepts est très contraigant mais il devrait
permettre de valider cette méthodologie de construction à partir des définitions de concepts.
FIG.5.19. −Concepts de l’arborescence sous Terminae
257
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
FIG.5.20. −Rôles générés
B IBLIOGRAPH IE
(Aitken et al., 2004) AITKEN JS., WEBBER BL., BARD JBL. (2004) Part-of relations in anatomy ontologies: a
proposal for RDFS and OWL formalizations Pacific Symposium on Bioinformatics pp. 166-177.
(Andreasen et al., 2004) ANDREASEN T, JENSEN PA, J FISCHER NILSSON, PAGGIO P, SANDFORD PEDERSEN B,
ERDMAN THOMSEN H. (2004) Content-based text querying with ontological descriptors, Data & Knowledge
Engineering 48:199-219.
(Assadi, 1998) ASSADI H. (1998) Construction d’ontologies à partir de textes techniques- application aux
systèmes documentaires. Thèse Université Paris 6.
(Aussenac-Gilles & Condamines, 2004) AUSSENAC-GILLES N., CONDAMINES A. (2004) Documents
électroniques et constitution de ressources terminologiques ou ontologiques. Information-InteractionIntelligence, Vol. 4, n°1, p.75-93.
(Aussenac–Gilles et al., 2000) AUSSENAC–GILLES N., BIEBOW B., SZULMAN S. (2000) Revisiting ontology
design a methodology based on corpus analysis EKAW 2000, Lecture Notes in AI # 1937 pp. 172-188
(Baader et al., 2003) BAADER F, CALVANESE D., MCGUINNESS D., et al (2003) The Description Logic
Handbook: Theory, Implementation and Applications. Cambridge University Press.
(Bachimont, 2000) BACHIMONT B. (2000) Engagement sémantique et engagement ontologique :
conception et réalisation d’ontologies en ingénierie des connaissances. Ingénierie des connaissances. pp.
305-323.
(Baker, 2000) BAKER T. (2000) A Grammar of Dublin Core. Digital-Library Magazine, vol 6 n°10.
(Barry et al., 2001) BARRY C., CORMIER C., KASSEL G., NOBECOURT J. (2001) Evaluation de langages
opérationnels de représentation des connaissances, IC’ 2001 pp.309-327.
(Benjamins & Fensel, 1998) BENJAMINS V.R., FENSEL, D. (1998) The Ontological Engineering Initiative
(KA)2. In Frontiers in Artificial Intelligence and Applications, Vol 46. p. 287-301.
258
(Berners-Lee et al., 1998) BERNERS-LEE T, FIELDING R, MASINTER. (1998) Uniform Resource Identifiers
URI generic Syntax internet draft standard RFC 2398.
(Berners-Lee et al., 2001) BERNERS-LEE T., HEUDLER J., LASSILA O. (2001) The Semantic Web. Scientific
American, 284(5):34-43.
(Biebow & Szulman, 2000) BIEBOW B., SZULMAN S. (2000) Terminae une approche terminologique pour la
construction d’ontologies du domaine à partir de textes. RFIA reconnaissance des formes et intelligence
artificielle vol II P 81- 90.
(Bouaud et al., 1995) BOUAUD J., BACHIMONT B., CHARLET J. AND ZWEIGENBAUM P. (1995) Methodological
Principles for Structuring an « Ontology ». Proceedings of IJCAI conference.
(Boyer et al., 1997) BOYER C., BAUJARD O., BAUJARD V., et al. (1997) Health On the Net automated database
of Health and medical information. IJMI 47(1-2):27-9.
(Brachman & Schmolze, 1985) BRACHMAN R. J, SCHMOLZE J. G. (1985) An Overview of the KL-ONE
Representation System. In Cognitive Science, Vol. 9. p 171-216.
(Brachman et al., 1999) BRACHMAN RJ., BORGIDA A., MC GUINESS DL., PATEL-SCHNEIDER PF. (1999)
Reducing Classic to Practice : Knowledge Representation Theory Meets Reality. Artificial Intelligence
114(1-2) pp 203-237
(Brachman, 1977) BRACHMAN, R. J. (1977) What's in Concept: Structural Foundations for Semantic
Networks. In International Journal of Man-Machine Studies, Vol . 9. p 127-152.
(Buckingham et al., 2000) BUCKINGHAM SHUM, S., MOTTA, E., DOMINGUE, J. (2000) ScholOnto: an
ontology-based digital library server for research documents and discourse. In International. Journal on
Digital Libraries, Vol. 3, N°3. p 237-248.
(Charlet, 2003) CHARLET J. (2003) L’ingénierie des connaissances, développements, résultats, et
perspectives pour la gestion des connaissances médicales. HDR 2003.
(Chein & Mugnier, 1992) CHEIN M., MUGNIER M-L. (1992) Conceptual Graphs: Fundamental Notions. In
Revue d'Intelligence Artificielle, 1992, Vol. 6-4. p 365-406.
(Chevallet, 1992) CHEVALLET JP. (1992) Un modèle logique de recherche d'informations appliqué au
formalisme des graphes conceptuels - Le prototype ELEN et son expérimentation sur un corpus de
composants logiciels. Thèse de doctorat : Université Joseph Fourier.
(Cornet & Abu-Hanna, 2002) CORNET R., ABU-HANNA A. (2002) Usability of Expressive Description Logics
– A Case Study in UMLS. AMIA 2002, 180-184.
(Deacon et al., 2001) DEACON P., SMITH JB., TOW S. (2001) Using metadata to create navigation paths in
the HealthInsite Internet gateway. Health Info Libr J. 18 (1) pp: 20-9.
(Desmontils & Jacquin, 2002) DESMONTILS E., JACQUIN C. (2002) Indexing a Web Site with a Terminology
Oriented Ontology, In The Emerging Semantic Web, I.F. Cruz, S. Decker, J. Euzenat and D. L. McGuinness
(Ed.), IOS Press, pp.181-197.
(Domingue & Motta, 2000) DOMINGUE J.B. , MOTTA E. (2000) Planet-Onto: From News Publishing to
Integrated Knowledge Management Support. In IEEE Intelligent Systems, Vol. 15, N°3. pp.26-32.
(Evett et al., 1993) EVETT M.P., ANDERSEN W.A., HENDLER J.A. (1993) Massively Parallel Support for
efficient Knowledge Representation. In Proceeding of the 13th International Joint Conference on Artificial
Intelligence, pp. 1325-1331.
(Fensel et al., 1998) FENSEL, D., DECKER, S., ERDMANN, M., STUDER, R. (1998) Ontobroker: The Very High
Idea. In Proceedings of the 11th International Flairs Conference (FLAIRS-98).
(Fensel et al., 2000) FENSEL D., HORROCKS I., VAN HARMELEN F. (2000) OIL in a Nutshell. In Proceedings
of the 12th European Knowledge Acquisition Workshop, (EKAW 2000), pp 1-16.
(Fernàndez-Lòpez et al., 1997) FERNÀNDEZ-LÒPEZ M., GÒMEZ-PÉREZ, JURISTO M. (1997) Methontology :
from Ontological Arts Towards Ontological Engineering. Workshop on Ontological Engineering, AAAI
Spring Symposium p 33-40.
(Gandon et al., 2002) GANDON F., DIENG-KUNTZ R., CORBY O. & GIBOIN A. (2002) Web Sémantique et
Approche Multi-Agents pour la Gestion d’une Mémoire Organisationnelle Distribuée. Journées Ingénierie
des Connaissances, p.15-26.
259
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
(Gandon, 2002) GANDON F. (2002) Distributed artificial intelligence and knowledge management:
ontologies and multi-agent systems for a corporate semantic web. Phd Université de Nice.
(Golbeck et al., 2003) GOLBECK J., FRAGOSO G., HARTEL F., et al. (2003) The National Cancer Institute's
Thesaurus and Ontology. Journal of Web Semantics.
(Gruber, 1993) GRUBER TR. (1993) A Translation Approach to Portable Ontology Specifications. In
Knowledge Acquisition, Vol. 5, N° 2. p199-220.
(Guarino et al., 1999) GUARINO N., MASOLO, C., VETERE, G. (1999) Ontoseek: content-Based Access to the
Web. In IEEE Intelligent Systems, Vol. 14, N° 3. p 70-80.
(Haarslev & Möller, 2001) HAARSLEV V., MÖLLER R. (2001) Description of the RACER System and its
Applications. In International Workshop on Description Logics 2001 (DL2001).
(Haarslev & Möller, 2003) HAARSLEV V., MÖLLER R.(2003) Racer a core inference engine for the semantic
web, International Semantic Web Conference, pp.27-36
(Hacid et al., 2000) HACID MS., SOUALMIA LF., TOUMANI F. (2000) Schema Extraction for Semi structured
Data. International Workshop on Description Logics. pp 133-142.
(Heflin et al., 1999) HEFLIN, J., HENDLER, J., LUKE, S. (1999) Applying Ontology to the Web: A Case
Study. International Work-Conference on Artificial and Natural Neural Networks (IWANN'99). p 715724.
(Hendler & Mc Guiness, ) HENDLER J.,
Intelligent Systems 15(6): 67-73
MC
GUINESS DL the DARPA Agent Markup Language: IEEE
(Hendrix, 1978) HENDRIX, G. (1978) The Representation of Semantic Knowledge. In Understanding
Spoken Language. Edited by D.E. Walker, p 121-226.
(Hersh et al., 1996) HERSH WR., BROWN KE., DONOHOE LC., et al.(1996) CliniWeb: managing clinical
information on the World Wide Web. JAMIA, 3(4):273-80.
(Horrocks & Tessaris, 2000) HORROCKS I, TESSARIS S. (2000)
description logic ABoxes. AAAI/IAAI p 399-404
A conjunctive query language for
(Horrocks & Rector, 1997) HORROCKS I., RECTOR A. (1997) Experience Building a Large, Re-usable Medical
Ontology using a Description Logic with Transitivity and Concept Inclusions. Workshop on Ontological
Engineering AAA Spring Symposium.
(Horrocks &Patel-Schneider, 2003) HORROCKS, PATEL-SCHNEIDER (2003) Reducing OWL entailment to
description logic satisfiability. ISWC’ Lecture Notes in Computer Science# 2870 pp.17-29
(Horrocks et al., 2003) HORROCKS I., PATEL-SCHNEIDER PF., VAN HARMELEN F. (2003) From SHIQ and RDF
to OWL: The making of a web ontology language. Journal of Web Semantics. 1(1):7-26.
(Horrocks, 1998) HORROCKS I. (1998) Using expressive description logic : fact or fiction. Principles of
knowledge representation and reasoning. KR’98 pp.636-649
(Hu et al., 2003) HU B., DASMAHAPATRA S., SHABOT N. (2003) From Lexicon to mammographic Ontology :
experiences and lessons. International Workshop on Description Logics.
(Kashyap & Borgida, 2003) KASHYAP V., BORGIDA A. (2003) Representing the UMLS Semantic Network
using OWL. International Semantic Web Conference.
(Kifer et al., 1995) KIFER M., LAUSEN G., WU J. (1995) Logical Foundations of Object-Oriented and Frame
Based Languages. In Journal of the ACM, Vol. 42, N°4. pp.741-843.
(Lame, 2002) LAME G. (2002) Construction d’ontologies à partir de textes : une ontologie du droit dédiée à
la recherché d’information. Thèse Doctorat Ecole des Mines Paris.
(Lassila & Swick, 1999) LASSILA O., SWICK R. (1999) Resource Description Framework (RDF) Model and
Syntax Specification. W3C Candidate Recommandation.
(Laublet et al., 2002) LAUBLET P., REYNAUD C., CHARLET J. (2002). Sur Quelques Aspects du Web
Sémantique. Actes des deuxièmes assises nationales du GdRI3, p.59-78.
(Le Moigno et al., 2002) LE MOIGNO S., CHARLET J., BOURIGAULT D., DEGLOUET P., JAULENT MC. (2002)
Terminology extraction from texts to build an ontology in surgical intensive care. Annual symposium of the
American Informatics Association AMIA p.430-434.
260
(Lindberg Dab et al., 1993) LINDBERG DAB, HUMPHREYS BL, MCCRAY AT. (1993) The Unified Medical
Language System. Meth Inform Med, 32(4): 281-91
(Macgregor, 1988) MACGREGOR R. M. (1988) A Deductive Pattern Matcher. In Proceedings of the 7th
National Conference on Artificial Intelligence, St. Paul, MN. p 403-408.
(Maedche & Staab, 2000) MAEDCHE A, STAAB S. (2000) Mining ontologies from texts. Proceedings of the
international conference EKAW 2000 .
(Martin & Eklund, 2000) MARTIN, P., EKLUND P. (2000) Knowledge Indexation and Retrieval and the
Word Wide Web. In IEEE Intelligent Systems, special issue "Knowledge Management and Knowledge
Distribution over the Internet"
(Mayer et al., 2003) MAYER MA., DARMONI SJ., FIENE M., KÖHLER C., & AL. (2003) MedCIRCLE - Modeling
a Collaboration for Internet Rating, Certification, Labelling and Evaluation of Health Information on the
Semantic World-Wide-Web. Medical Informatics Europe p.667-672.
(Meghini et al., 1997) MEGHINI C, SEBASTIANI F, STRACCIA U. (1997) Modelling the retrieval of structured
documents containing texts and images. Lecture Notes in Computer Science # 1324 pp 325-344
(Michard, 2001) MICHARD, A. (2001) Web mining : Des portails coopératifs au Web sémantique : les
applications de RDF. In Tutorial du XIXème Congrès Informatique des Organisations et Systèmes
d'Information et de Décision (INFORSID).
(Miller, 1990) MILLER GA. (1990) Nouns in WordNet: a lexical inheritance system. In International
Journal of Lexicography, Vol. 3, N°4. p 245 - 264.
(Minsky, 1975) MINSKY, M. (1975) A Framework for Representing Knowledge. In The Psychology of
Computer Vision, pp 211-281.
(Motta et al., 2000) MOTTA E., BUCKINGHAM-SHUM, S. AND DOMINGUE, J. (2000) Ontology-Driven
Document Enrichment: Principles, Tools and Applications. In International Journal of Human-Computer
Studies, Vol. 52. pp.1071-1109.
(Motta, 1998) MOTTA E. (1998) Reusable Components for Knowledge Models. PhD Thesis : The Open
University (UK).
(Nebel, 1990) NEBEL B. (1990) Reasoning and revision in hybrid representation systems Lecture Notes in
Artificial Intelligence#422.
(Norman, 1998) NORMAN F. (1998) Organising Medical Networks' information. Med. Inf. 23:43-51.
(Noy & Hafner, 1997) NOY NF, HAFNER CD. (1997) The State of the Art in Ontology Design: a Survey and
Comparative Review. AI Magazine 18(3):53-74.
(Noy et al., 2001) NOY NF., SINTEK M., DECKER S., et al. (2001) Creating Semantic Web Contents with
Protege-2000. IEEE Intelligent Systems 16(2):60-71.
(Quillian, 1968) QUILLIAN, M.R.. Semantic Memory. In Semantic Information Processing, Edited by M.
Minsky. Cambridge: MIT Press. pp. 227-270.
(Rodrigues et al., 1998) RODRIGUES JM., TROMBERT-PAVIOT B., BAUD R., WAGNER J., MEUSINET-CARRIOT F.
(1998) GALEN-In-Use : using Artificial Intelligence Terminology Tools to Improve the Linguistic
Coherence of a National Coding System for Surgical Procedures. Cesnik et al. (eds). MedInfo’1998.
(Roussey et al., 2001) ROUSSEY C., CALABRETTO S., PINON J-M. (2001) A new Conceptual Graph
Formalism Adapted for Multilingual Information Retrieval Purposes. In Proceedings of the 12th
International Conference on Database and Expert Systems Applications (DEXA'2001); pp.92-101.
(Schank & Abelson, 1977) SCHANK RC., ABELSON RP. (1977) Scripts, Plans, Goals and Understanding: an
Inquiry into Human Knowledge Structures. Hillsdale NJ : Erlbaum.
(Schmolze & Lipkis, 1983) SCHMOLZE JG., LIPKIS T. (1983) Classification in the KL-ONE Knowledge
Representation System. 8th International Joint Conference on Artificial Intelligence, pp.330-332.
(Schreiber et al., 1997) SCHREIBER ATH., VAN HEIJST G., WIELINGA BJ. (1997) Using explicit ontologies in
KBS development, International Journal of Human-Computer Studies, 45, pp. 183-292.
261
CHAPITRE 5 :REPRESENTATION DES CONNAISSANCES
(Schulz & Hahn, 2001) SCHULZ S. HAHN U. (2001) Medical Knowledge Re-engineering – converting major
portions of the UMLS into a terminological knowledge base. International Journal in Medical
Informatics, 64(2-3):207-221.
(Sintek & Decker, 2001) SINTEK M., DECKER S. (2001) TRIPLE- An RDF Query, Inference and
Transformation Language. Proceedings of Deductive Databases and Knowledge Management Workshop.
(Soualmia & Darmoni, 2003 a) SOUALMIA LF., DARMONI SJ. (2003 a) Une Terminologie Orientée Ontologie
pour la Recherche d'Information sur la Toile. Journées Francophones de la Toile. pp. 185-194.
(Soualmia & Darmoni, 2003 b) SOUALMIA LF., DARMONI SJ. (2003 b) Projection de Requêtes pour une
Recherche d'Information Intelligente sur le Web; Rencontres Jeunes Chercheurs en Intelligence
Artificielle.
(Soualmia et al., 2003) SOUALMIA LF., BARRY C., DARMONI SJ. (2003) "Knowledge-Based Query Expansion
over a Medical Terminology Oriented Ontology"; Lecture Notes in Artificial Intelligence# 2780; pp 209213.
(Soualmia et al., 2004) SOUALMIA LF., DAHAMNA B., DARMONI SJ. (2004) Représentation du thésaurus
MeSH et de la terminologie CISMeF en OWL; Journée Web Sémantique Médical 2004.
(Soualmia et al., 2004) SOUALMIA LF., GOLBREICH C., DARMONI SJ. (2004) Representing the MeSH in OWL:
Towards a Semi-Automatic Migration; KR-MED, International Workshop on Formal Biomedical
Knowledge Representation, pp 72- 80.
(Soualmia, 2001 a) SOUALMIA LF. (2001 a) "Description Logics : a Modelling Support for Automatic
Cataloguing in E-Commerce"; In Proceedings of the 8th Research Symposium on Emerging Electronic
Markets, RSEEM'01. pp 73-86.
(Soualmia, 2001 b) SOUALMIA LF. (2001 b) Les Logiques de Description et le Commerce Electronique.
Actes de la Conférence Internationale des Nouvelles Technologies de l’Information et de la
Communication, NîmesTIC’2001.
(Sowa, 1984) SOWA, J. (1984) Conceptual Structures: information processing in mind and machine. In The
System Programming Series, Reading: Addison Wesley publishing Company.
(Sowa, 2000) SOWA JF. (2000) Ontology, Metadata and Semiotics. B.Ganter, G.W.Mineau (Eds),
Conceptual Structures: Logical, Linguistic, and Computational Issues, Lecture Notes in AI #1867, pp.55-81.
(Stuckenschmidt & Van Harmelen et al., 2002) STUCKENSCHMIDT H., VAN HARMELEN F. (2002)
Approximating terminological queries. Proceeding of FQAS’2002,Flexible query answering systems.
(Szulman et al., 2002) SZULMAN S., BIEBOW B., AUSSENAC GILLES N. (2002) Structuration de terminologies
à l’aide d’outils TAL avec Terminae. TAL vol 43 n°1/pp.103-128.
(Troncy, 2004) TRONCY (2004) Formalisation des connaissances documentaires et des connaissances
conceptuelles à l’aide d’ontologies : application à la description de documents audiovisuels. Thèse de
l’université de Grenoble.
(Uschold & Gruninger, 1996) USCHOLD, M., GRUNINGER, M. (1996) Ontologies: Principles, Methods and
Applications. In Knowledge Engineering Review, Vol. 11, N° 2. pp.93-155.
(Woods, 1975) [WOOD75] WOODS, W. A. (1975) What's in a Link: Foundation for Semantic Networks. In
Representation and Understanding: Studies in Cognitive Science, Edited by D. Bobrow, A. Collins. New
York: Academic Press, pp.35-82.
(Wroe, 2003) WROE C.J., STEVENS R., GOBLE C.A., ASHBURNER M. (2003) A Methodology To Migrate The
Gene Ontology To A Description Logic Environment Using DAML+OIL. Proceedings of the 8th Pacific
Symposium on Biocomputing (PSB).624-635
[RDFS] Resource Description Framework
http://www.w3.org/TR/WD-rdf-schema
[XML] eXtensible Markup Language
http://www.w3.org/TR/REC-XML
(RDF)
(XML)
Schema
1.0.
262
W3C
Specification.W3C
Working
Draft.
Recommendation
15
1998.
june
263
264
CONCLUSION GENERALE
Nous nous sommes intéressés dans le cadre de cette thèse à la recherche d’information sur le
Web. Nous avons présenté les différents modèles de recherche d’information, les différentes
mesures d’évaluation d’un système de recherche d’information ainsi que principaux problèmes
relatifs à la recherche d’information. Nous travaillons dans le contexte ‘appliqué’ de la recherche
de documents en santé. Nous avons proposé une recherche d’information fondée sur
l’exploitation conjointe de différents types de connaissances.
Le premier type de connaissances est relatif à la morphologie, le second type à la fouille de
données et enfin le troisième type de connaissances est relatif au raisonnement terminologique.
Nous avons pour cela construit automatiquement les bases de connaissances en fonction des
données disponibles dans le catalogue CISMeF, contexte de nos expérimentations.
La base de connaissances morphologiques a été construite à partir du vocabulaire de la
terminologie CISMeF et d’un lexique général du français. Nous avons montré que cette méthode
permettait de couvrir le vocabulaire à 92,77% avec une très bonne précision. L’utilisation de
liens de synonymie, ou de hiérarchie, au sein même de la terminologie est une autre méthode de
construction de lexique. Dans notre contexte ces liens sont exploités dans le processus de
recherche d’information et ce lexique n’apporterait pas d’information supplémentaire.
Cette base de connaissances morphologiques a permis d’améliorer le processus de recherche
d’information avec des résultats très encourageants. Ces connaissances ont été complétées par
des traitements de phonémisation des requêtes des utilisateurs afin de les apparier au mieux
avec notre vocabulaire, dans le cas de requêtes mal orthographiées.
La base de règles d’associations à été construite à l’aide d’un processus de fouille de données,
fondé sur une analyse formelle de treillis de concepts. Nous avons montré comment il était
possible d’extraire différents types de règles d’associations à partir des documents de la base en
fonction de contextes divers, dépendant essentiellement des unités de connaissances à extraire.
Nous avons pour cela adapté l’algorithme A-Close d’extraction de règles d’association à partir du
treillis des itemsets fermés fréquents à nos données. Nous avons également introduit un
nouveau paramètre afin de gérer la taille maximale des générateurs. Les règles d’association
extraites sont plus précises que simples associations entre termes puisqu’elles peuvent être
qualifiées et pondérées (avec la notion de majeur/mineur). L’évaluation d’un ensemble de règles
d’association par un expert a montré que cette méthode permet de générer de nouvelles
connaissances intéressantes, et a permis à l’expert de modéliser d’autres règles, dites règles
expertes.
265
CONCLUSION GENERALE
Leur exploitation dans un processus de recherche d’information interactif avec l’utilisateur
permet de préciser leurs requêtes. Les propositions de termes à ajouter aux requêtes à partir des
règles d’association ont été jugées utiles par 29,2% et très utiles par 62,5% des utilisateurs
(Annexes). Ces règles peuvent également être utilisées dans un processus d’indexation
automatique.
Enfin, nous avons proposé une méthode permettant de modéliser et de formaliser
automatiquement les connaissances terminologiques du CISMeF à l’aide du langage OWL-DL,
standard du Web Sémantique, mais également logique de description. Le but est de pouvoir
exploiter des unités de connaissances formelles dans le processus de recherche d’information à
l’aide de raisonnement et d’inférences, mais également de pouvoir vérifier la consistance de la
terminologie, et de ce fait la consistance des requêtes des utilisateurs avec une explication quant
à la cause d’une éventuelle inconsistance. Notre modélisation a permis de corriger les
descriptions susceptibles de contenir des cycles en levant les ambiguïtés qui y étaient présentes,
notamment par la distinction entre les notions.
Cette base de connaissances peut être complétée par les connaissances extraites par le
processus de fouille de données en les représentant sous la forme de règles d’inférence. Cette
formalisation peut être exploitée par d’autres portails utilisant le MeSH comme référence,
conduisant ainsi vers un Web Sémantique médical.
Ces approches à base de connaissances se complètent dans le but d’une recherche
d’information intelligente dans le contexte du Web Sémantique. En effet, dans la mesure où les
connaissances morphologiques et les autres traitements linguistiques favorisent des traitements
de base sur les requêtes elles-mêmes. Sans eux, les autres traitements à base de connaissances
extraites ou d’inférences ne peuvent pas être réalisés. De même, l’extraction de connaissances
permet de compléter la base de connaissances terminologiques à l’aide de règles d’inférence.
En termes de perspectives de ces travaux, les connaissances morphologiques pourront être
complétées à l’aide du lexique UMLF dès qu’il sera exploitable. Ce lexique a été généré à partir
d’une partie du corpus de CISMeF pour une spécialité donnée. On peut envisager de phonémiser
également la base de connaissances morphologiques pour corriger les requêtes employant des
dérivations et flexions n’étant pas orthographiées correctement. Toutes ces bases seront
exploitables pour l’aide à l’indexation automatique.
Concernant la fouille de données, on peut utiliser d’autres indices statistiques pour la
sélection de règles d’associations de qualité. En terme de recherche d’information interactive,
l’affichage doit évoluer vers une navigation dans le contexte, au lieu d’une simple liste de
concepts à sélectionner pour compléter les requêtes. On peut envisager de générer des règles
d’association généralisées en exploitant les hiérarchies de concepts. L’extraction de règles
d’associations floues entre les concepts en mesurant le degré d’appartenance d’un concept à un
document, est encore une autre perspective.
Concernant la représentation des connaissances, outre l’attente des résultats du projet
Atonant, on peut compléter les descriptions des concepts en exploitant le réseau sémantique de
l’UMLS, ou encore à l’aide des règles d’association extraites. Celles-ci pourront être incluses
dans une IBox ou bien représentées à l’aide du nouveau langage ORL (OWL Rule Language)44
s’il devient un standard. En effet, les règles métier associent un concept à un autre peuvent être
44
Horrocks I, Patel-Schneider PF, A proposal for an OWL Rules Language, WWW Conference 2004.
266
CONCLUSION GENERALE
comparées à des règles de Horn (implémentées notamment dans le système PICSEL).
Cependant, les règles d’association générées ne peuvent pas être assimilables à ces règles de
Horn. En effet, l’antécédent et le conséquent sont composés de conjonctions de descriptions de
concepts, d’où l’intérêt d’un nouveau langage pour exprimer des règles dans l’infrastructure du
Web Sémantique. Dès lors que toutes ces conditions seront réunies, nous espérons que des
inférences complexes, au-delà de l’utilisation de la simple relation de subsomption, pour être
réalisables.
267
ANNEXES
268
ANNEXES
Lis te d e s critè re s d e qu alité d e l'in fo rm atio n d e s an té s u r l'In te rn e t s e lo n le N e t
Sco rin g.
1 Crédibilité
(sur 99 points)
1.1 Source
1.1a Nom, logo et références de l'institution sur chaque document du site
(critère essentiel)
1.1b Nom et titres de l'auteur sur chaque document du site (critère
essentiel)
1.2. Révélation
1.2a Contexte : source de financement, indépendance de l'auteur (critère
essentiel)
1.2b Conflit d'intérêt (critère important)
1.2c Influence, biais (critère important)
1.3 Mise à jour : actualisation des documents du site avec date de création, date de
dernière mise à jour et éventuellement date de dernière révision (critère essentiel)
1.4 Pertinence / utilité (critère essentiel)
1.5 Existence d’un comité éditorial (critère essentiel)
1.5a Existence d'un administrateur de site ou maître-toile (critère
important)
1.5b Existence d'un comité scientifique (critère important)
2 Contenu
(sur 87 points)
1.6. Cible du site Internet ; accès au site (libre, réservé, tarifé) (critère important)
1.7. Qualité de la langue (orthographe et grammaire) et/ou de la traduction (critère
important)
1.8. Méta-données (critère essentiel)
2.1 Exactitude (critère essentiel)
2.2 Hiérarchie d’évidence et indication du niveau de preuve (critère essentiel)
2.3 Citations des sources originales (critère essentiel)
2.4 Dénégation (critère important)
2.5 Organisation logique (navigabilité) (critère essentiel)
2.6 Facilité de déplacement dans le site
2.6a Qualité du moteur interne de recherche (critère important)
2.6b Index général (critère important)
2.6c Rubrique "quoi de neuf " (critère important)
2.6d Page d'aide (critère mineur)
2.6e Plan du site (critère mineur)
3 Hyper-liens
(sur 45 points)
4 Design
(sur 21 points)
2.7 Exclusions et omissions notées (critère essentiel)
2.8 Rapidité de chargement du site et de ses différentes pages (critère important)
2.9 Affichage clair des catégories d’informations disponibles (informations
factuelles, résumés, documents en texte intégral, répertoires, banque de données
structurées) (critère important)
3.1 Sélection (critère essentiel)
3.2 Architecture (critère important)
3.3 Contenu (critère essentiel)
3.4 Liens arrière (back-links) (critère important)
3.5 Vérification régulière de l'opérationnalité des hyper-liens (critère important)
3.6 En cas de modification de structure d'un site, lien entre les anciens documents
HTML et les nouveaux (critère important)
3.7 Distinction hyper-liens internes et externes (critère mineur)
4.1 Design du site (critère essentiel)
4.2 Lisibilité du texte et des images fixes et animées (critère important)
269
ANNEXES
4.3 Qualité de l’impression (critère important)
5.1 Mécanisme pour la rétroaction, commentaires optionnels : courriel de l’auteur
de chaque document du site (critère essentiel)
5.2 Forums, chat ("causette") (critère mineur)
5.3 Traçabilité : informations des utilisateurs de l’utilisation de tout dispositif
permettant de récupérer automatiquement des informations (nominatives ou non)
sur leur poste de travail (cookies,...) (critère important)
6.1 Nombre de machines visitant le site et nombre de documents visualisés (critère
6 Aspects
important)
quantitatifs
(sur 12 points) 6.2 Nombre de citations de presse (critère mineur)
6.3 Nombre de productions scientifiques issues du site, avec indices
bibliométriques (critère mineur)
7.1 Responsabilité du lecteur (critère essentiel)
7 Aspects
déontologiques 7.2 Secret médical (critère essentiel)
(sur 18 points) Le non-respect des règles déontologiques est un élément disqualifiant d’un site
8 Accessibilité
8.1 Présence dans les principaux répertoires et moteurs de recherche (critère
(sur 12 points)
important)
8.2 Adresse intuitive du site (critère important)
Soit 312 points au maximum
5 Interactivité
(sur 18 points)
270
ANNEXES
Extrait d 'arbo re s ce n ce d u th e s au ru s Me SH ( arbo re s ce n ce ca r d io p a t h ie s – C14 28 0 ).
cardiopathies
arrêt cardiaque
mort subite origine cardiaque
cardiomégalie
cardiomyopathie congestive
hypertrophie ventricule gauche
cardiomyopathie
cardiomyopathie congestive
cardiomyopathie éthylique
cardiomyopathie hypertrophique
cardiomyopathie hypertrophique familiale
cardiomyopathie restrictive
fibrose endomyocardique
Kearns et Sayre, syndrome
lésion reperfusion myocardique
cardiomyopathie carcinoïde
cardiomyopathies congénitales
anomalie vaisseau coronaire
atrésie tricuspidienne
canal artériel, persistance
coarctation aortique
cœur crisscross
cœur triatial
Communication intercavitaires cardiaques
complexe Eisenmenger
dextrocardie
Kartagener, syndrome
dysplasie ventriculaire droite arythmogène
Enstein, maladie
hypoplasie cœur gauche, syndrome
Marfan, syndrome
persistance tronc artériel commun
tétralogie Fallot
271
ANNEXES
Lis te d e s qu alificatifs h ié rarch is é s u tilis é s p o u r l'in d e xatio n d e s re s s o u rce s
analyse (AN)
isolement & purification (IP)
liquide céphalorachidien (CF)
sang (BL)
urine (UR)
anatomie et histologie (AH)
cytologie (CY)
anatomie pathologique (PA)
ultrastructure (UL)
embryologie (EM)
malformations (AB)
innervation (IR)
vascularisation (BS)
chirurgie (SU)
transplantation (TR)
complications (CO)
secondaire (SC)
composition chimique (CH)
agonistes (AG)
analogues et dérivés (AA)
antagonistes et inhibiteurs (AI)
synthèse chimique (CS)
cytologie (CY)
anatomie pathologique (PA)
ultrastructure (UL)
diagnostic (DI)
anatomie pathologique (PA)
échographie (US)
radiographie (RA)
scintigraphie (RI)
effets indésirables (AE)
intoxication (PO)
toxicité (TO)
embryologie (EM)
malformations (AB)
épidémiologie (EP)
ethnologie (EH)
mortalité (MO)
étiologie (ET)
complications (CO)
secondaire (SC)
congénital (CN)
embryologie (EM)
génétique (GE)
immunologie (IM)
induit chimiquement (CI)
microbiologie (MI)
virologie (VI)
parasitologie (PS)
transmission (TM)
métabolisme (ME)
biosynthèse (BI)
déficit (DF)
enzymologie (EN)
liquide céphalorachidien (CF)
272
ANNEXES
pharmacocinétique (PK)
sang (BL)
urine (UR)
microbiologie (MI)
virologie (VI)
organisation et administration (OG)
économie (EC)
législation et jurisprudence (LJ)
main d'œuvre (MA)
normes (ST)
ressources et distribution (SD)
tendances (TD)
utilisation (UT)
pharmacologie (PD)
administration et posologie (AD)
agonistes (AG)
antagonistes et inhibiteurs (AI)
contre-indications (CT)
effets indésirables (AE)
intoxication (PO)
toxicité (TO)
pharmacocinétique (PK)
usage diagnostique (DU)
physiologie (PH)
croissance et développement (GD)
génétique (GE)
immunologie (IM)
métabolisme (ME)
biosynthèse (BI)
déficit (DF)
enzymologie (EM)
liquide céphalorachidien (CF)
pharmacocinétique (PK)
sang (BL)
urine (UR)
physiopathologie (PP)
sécrétion (SE)
statistiques et données numériques (SN)
épidémiologie (EP)
ethnologie (EH)
mortalité (MO)
ressources et distribution (SD)
utilisation (UT)
thérapeutique (TH)
diétothérapie (DH)
chimiothérapie (DT)
chirurgie (SU)
transplantation (TR)
prévention et contrôle (PC)
soins infirmiers (NU)
radiothérapie (RT)
rééducation et réadaptation (RH)
usage thérapeutique (TU)
administration et posologie (AD)
contre-indications (CT)
effets indésirables (AE)
intoxication (PO)
273
ANNEXES
Lis te h ié rarch is é e d e s typ e s d e re s s o u rce s u tilis é s
[MH] mot clé MeSH ; [TP] type de publication Medline.
association (association)
association patients (association of patients)
association professionnels santé (association of health professionals)
syndicat (labor unions) [MH]
base de données (database) [TP]
banque d'images (image database)
base de données bibliographiques (database, bibliographic) [MH]
bibliothèque médicale (libraries, medical) [MH]
dessin architecture (architectural drawings) [TP]
éditeur (publisher)
enseignement et éducation (education) [MH]
formation (training)
matériel enseignement (teaching material) [MH]
cours (lectures) [TP]
question d'internat (French pre-residency program examination)
lecture critique d'articles (critical appraisal)
manuel enseignement (textbooks) [TP]
matériel d'enseignement audio-visuel (audiovisual aids) [MH]
film éducatif (instruction) [TP]
problèmes et exercices (problems and exercises) [TP]
apprentissage du raisonnement clinique (clinical reasoning learning)
apprentissage par problème (problem-based learning) [MH]
cas clinique (case report)
corrigé d'annales (correct version of the examination)
lecture critique d'articles (critical appraisal)
questions réponses (examination questions) [TP]
questions à choix multiple (MCQ multiple choice quiz)
questions à réponses ouvertes et courtes (open and closed
questions)
travaux dirigés (tutorials)
travaux pratiques(practicals)
structure enseignement (teaching structure)
centre hospitalier universitaire (hospitals,teaching) [MH]
établissement enseignement médical ou apparenté (schools, health occupations)
école d'infirmiers (schools, nursing) [MH]
école dentaire (schools, dental) [MH]
école santé publique (schools, public health) [MH]
école vétérinaire (schools, veterinary) [MH]
faculté de médecine (schools, medicine) [MH]
faculté de pharmacie (schools, pharmacy) [MH]
établissement santé (health facilities)
hôpital (hospital) [MH]
centre hospitalier universitaire (hospitals, teaching) [MH]
centre rééducation et réadaptation (rehabilitation centers) [MH]
centre traitement toxicomanie (substance abuse treatment centers) [MH]
hôpital spécialisé (hospitals, special) [MH]
hôpital enfant (hospitals, pediatric) [MH]
hôpital militaire (hospitals, military) [MH]
hôpital psychiatrique (hospitals, psychiatric) [MH]
maison convalescence (hospitals, convalescent) [MH]
maternité (hôpital) (hospitals, maternity) [MH]
service soins cardiologie (cardiac care facilities) [MH]
service hospitalier (hospital departments) [MH]
aumônerie hôpital (chaplaincy service, hospital) [MH]
département anesthésie hôpital (anesthesia department, hospital) [MH]
274
ANNEXES
département médecine nucléaire hôpital (nuclear medicine department,
hospital) [MH]
pharmacie hôpital (pharmacy service, hospital) [MH]
service anatomopathologie hôpital (pathology department, hospital)
service cardiologie hôpital (cardiology service, hospital) [MH]
service chirurgie hôpital (surgery department, hospital) [MH]
service gynécologie et obstétrique hôpital (obstetrics and gynecology
department, hospital) [MH]
service médical urgence (emergency medical services) [MH]
service oncologie hôpital (oncology service, hospital) [MH]
service psychiatrique hôpital (psychiatric department, hospital) [MH]
service radiologie hôpital (radiology department, hospital) [MH]
service rhumatologie hôpital (rheumatology service, hospital)
service urologie hôpital (urology department, hospital) [MH]
unité soins intensifs (intensive care units) [MH]
maison médicalisée personnes âgées (homes for the aged) [MH]
maison repos (nursing home) [MH]
services santé (health services) [MH]
centre anti-poison (poison control centers)[MH]
consultation médicale (office visits) [MH]
dispensaire hygiène mentale (community mental health services) [MH]
service diagnostic (diagnostic services) [MH]
service hygiène scolaire (school health services)[MH]
service médecine préventive (preventive health services) [MH]
service santé universitaire (student health services) [MH]
service soins domicile (home care services) [MH]
services de gériatrie (health services for the aged) [MH]
unité itinérante santé (mobile health units) [MH]
services soins ambulatoires (ambulatory care facilities) [MH]
centre public santé (community health centers) [MH]
centre public santé mentale (community mental health centers) [MH]
exposition (exhibits) [MH]
fondation (foundation) [MH]
forum et liste de diffusion (forum and mailing list)
forum et liste de diffusion patients (forum and mailing list for patients)
guide ressources (resource guides) [TP]
institution (establishment, institution, organization)
agence gouvernementale (governmental agency)
agence régionale (regional agency)
lettre d'information (newsletter)
liste de diffusion
logiciel (software)
matériel audio-visuel (audiovisual aids) [MH]
carte géographique (maps) [TP]
enregistrement vidéo (video recording) [MH]
film éducatif (instruction) [TP]
illustration médicale (medical illustration) [MH]
son (acoustique) (sound) [MH]
musées (museum) [MH]
ouvrage d'orientation (reference books) [MH]
atlas (atlases) [TP]
dictionnaire médical (dictionaries, medical) [MH]
encyclopédie (encyclopedias) [TP]
répertoire (directories) [MH]
annuaire (annual directory)
catalogue (catalogs) [TP]
patient
assistance par téléphone (hotlines) [MH]
association patients (association of patients)
275
ANNEXES
forum et liste de diffusion patients (newsgroup and discussion list for patients)
information patient et grand public (popular works) [TP]
brochure information patient (patient education handout) [TP]
recommandation patients (patients guideline)
site personnel patient (patient personal Web site)
périodique (periodicals) [TP]
registre (registries) [MH]
réseaux coordonnés (community networks) [MH]
site personnel (personal Web site)
site personnel patient (patient personal Web site)
site personnel professionnel santé (health professional personal Web site)
société savante (scientific society)
structure recherche (research structure)
texte (text)
actes de congrès (congresses) [TP]
article de périodique (journal article) [TP]
bibliographie (bibliography) [TP]
biographie (biography) [TP]
biobibliographie (biobibliography) [MH]
cahier de laboratoire (laboratory manuals) [TP]
cours (lectures) [TP]
question d'internat (French pre-residency program examination)
dictionnaire médical (dictionaries, medical) [MH]
encyclopédie (encyclopedias) [TP]
étude comparative (comparative study) [MH]
étude évaluation (evaluation studies) [TP]
étude d'évaluation des pratiques professionnelles
étude d'évaluation économique
étude d'évaluation en santé publique
étude d'évaluation technologique
guide (guide). Voir aussi recommandation.
information patient et grand public (popular works)
brochure information patient (patient education handout
ligne directrice
manuel enseignement (textbooks) [TP]
méta-analyse (meta-analysis) [TP]
monographie (monograph) [TP]
problèmes et exercices (problems and exercises) [TP]
publication officielle (government publications) [TP]
recommandation (guidelines). Voir aussi guide.
recommandation patients (patients guideline)
recommandation pour la politique de santé (health policy guidelines)
recommandation professionnelle (practice guidelines)
conférence de consensus (consensus development conferences)
consensus formalisé d'experts (formal expert consensus)
recommandation pour la pratique clinique (clinical practice guidelines)
référence médicale (medical reference?)
recommandation de santé publique (public health guidelines)
rapport technique (technical report) [TP]
texte législatif (legislation) [TP]
thèse ou mémoire (dissertations, academic) [MH]
276
ANNEXES
Co d e d e Gé n é ratio n d e s co n te xte s p o u r l’algo rith m e A-Clo s e
----------------------------------------------------------------------------------------- Processus : GenereItemSets.sql
-- Date : 09/05/2003
--- Description : Script PL/SQL de generation de fichier en entree de DataMiner.java
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Pour le lancement sous SQLPlus :
---------------------------------------------------------------------------------------- @C:\A\GenereItemSets.sql
Set serveroutput on size 1000000
spool C:\Lina\cismef\Output\GenereItemSets.txt
----------------------------------------------------------------------------------------- BLOC DECLARATIF
---------------------------------------------------------------------------------------DECLARE
----------------------------------------------------------------------------------------- Parcours des Numeros de Fiches
---------------------------------------------------------------------------------------cursor C_FICHES is
select distinct
NUM_FICHE
from
TB_MOTCLEFS_FICHE
where NUM_FICHE < 15000
order by NUM_FICHE;
----------------------------------------------------------------------------------------- Ou Parcours des Numeros de Fiches pour une specialite
---------------------------------------------------------------------------------------cursor C_FICHES is
select distinct
NUM_FICHE
from
TB_MOTCLEFS_FICHE, TB_NMT
where
TB_NMT.NUM_META_PERE =13
and TB_NMT.NUM_MOTCLEF_DES = TB_MOTCLEFS_FICHE.NUM_MOTCLEF
and TB_MOTCLEFS_FICHE.MAJEUR = 'O'
and NUM_FICHE < 15000
order by NUM_FICHE;
---------------------------------------------------------------------------------------- CONTEXTE 1 : Parcours des Motclefs attaches a la Fiche
---------------------------------------------------------------------------------------/* cursor C_ELEMENTS(P_FICHE varchar2) is
select distinct
TB_MOTCLEFS.MOTCLEF_SA ELEMENT
from
TB_MOTCLEFS_FICHE, TB_MOTCLEFS
where
TB_MOTCLEFS_FICHE.NUM_MOTCLEF = TB_MOTCLEFS.NUM_MOTCLEF
and NUM_FICHE = P_FICHE
order by 1;
*/
---------------------------------------------------------------------------------------- CONTEXTE 2 : Parcours des Motclef OU Qualifs attaches a la Fiche
---------------------------------------------------------------------------------------/* cursor C_ELEMENTS(P_FICHE varchar2) is
select distinct
TB_MOTCLEFS.MOTCLEF_SA ELEMENT
from
TB_MOTCLEFS_FICHE, TB_MOTCLEFS
where
TB_MOTCLEFS_FICHE.NUM_MOTCLEF = TB_MOTCLEFS.NUM_MOTCLEF
and NUM_FICHE = P_FICHE
UNION
select distinct
277
ANNEXES
decode(TB_QUALIFICATIF.NUM_QUALIFICATIF,83,'',
TB_QUALIFICATIF.QUALIFICATIF_SA)
ELEMENT
from
TB_MOTCLEFS_FICHE, TB_QUALIFICATIF
where
TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF = TB_QUALIFICATIF.NUM_QUALIFICATIF
and NUM_FICHE = P_FICHE
order by 1;
*/
----------------------------------------------------------------------------------------- CONTEXTE 3 : Parcours des couples {Motclef/Qualifs} attaches a la Fiche
--------------------------------------------------------------------------------------/*
cursor C_ELEMENTS(P_FICHE varchar2) is
select distinct
TB_MOTCLEFS.MOTCLEF_SA || decode(TB_QUALIFICATIF.NUM_QUALIFICATIF,83,'','/' ||
TB_QUALIFICATIF.QUALIFICATIF_SA) ELEMENT
from
TB_MOTCLEFS_FICHE, TB_MOTCLEFS, TB_QUALIFICATIF
where
TB_MOTCLEFS_FICHE.NUM_MOTCLEF = TB_MOTCLEFS.NUM_MOTCLEF
and TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF = TB_QUALIFICATIF.NUM_QUALIFICATIF
and NUM_FICHE = P_FICHE
order by 1;
*/
----------------------------------------------------------------------------------------- CONTEXTE 4 : Parcours des Motclef OU Qualifs OU Type_Ress OU Metatermes attaches a la
Fiche
---------------------------------------------------------------------------------------/*
-- Motclefs
cursor C_ELEMENTS(P_FICHE varchar2) is
select distinct
TB_MOTCLEFS.MOTCLEF_SA ELEMENT
from
TB_MOTCLEFS_FICHE, TB_MOTCLEFS
where
TB_MOTCLEFS_FICHE.NUM_MOTCLEF = TB_MOTCLEFS.NUM_MOTCLEF
and NUM_FICHE = P_FICHE
-- Qualificatifs
UNION
select distinct
decode(TB_QUALIFICATIF.NUM_QUALIFICATIF,83,'',
TB_QUALIFICATIF.QUALIFICATIF_SA)
ELEMENT
from
TB_MOTCLEFS_FICHE, TB_QUALIFICATIF
where
TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF = TB_QUALIFICATIF.NUM_QUALIFICATIF
and NUM_FICHE = P_FICHE
UNION
-- Types de ressources
select distinct
TB_TYPE_RESS.TYPE_RESSOURCE_FRA_SA ELEMENT
from
TB_TYPE_RESS_FICHE, TB_TYPE_RESS
where
TB_TYPE_RESS_FICHE.NUM_TYPE_RESS = TB_TYPE_RESS.NUM_TYPE_RESS
and NUM_FICHE = P_FICHE
UNION
-- Metatermes
select distinct
TB_META.META_SA ELEMENT
from
TB_NMT, TB_META, TB_MOTCLEFS_FICHE
where
TB_NMT.NUM_META_PERE = TB_META.NUM_META
and TB_NMT.NUM_MOTCLEF_DES = TB_MOTCLEFS_FICHE.NUM_MOTCLEF
and NUM_FICHE = P_FICHE
order by 1;
*/
---------------------------------------------------------------------------------------- CONTEXTE 5 : Parcours des couples (Motclef/Qualifs) OU Type_Ress attaches a la Fiche
---------------------------------------------------------------------------------------/*
278
ANNEXES
-- Motclefs
cursor C_ELEMENTS(P_FICHE varchar2) is
-- Couples (Motclefs/Qualifs)
select distinct
TB_MOTCLEFS.MOTCLEF_SA || decode(TB_QUALIFICATIF.NUM_QUALIFICATIF,83,'','/' ||
TB_QUALIFICATIF.QUALIFICATIF_SA) ELEMENT
from
TB_MOTCLEFS_FICHE, TB_MOTCLEFS, TB_QUALIFICATIF
where
TB_MOTCLEFS_FICHE.NUM_MOTCLEF = TB_MOTCLEFS.NUM_MOTCLEF
and TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF = TB_QUALIFICATIF.NUM_QUALIFICATIF
and NUM_FICHE = P_FICHE
UNION
-- Types de ressources
select distinct
TB_TYPE_RESS.TYPE_RESSOURCE_FRA_SA ELEMENT
from
TB_TYPE_RESS_FICHE, TB_TYPE_RESS
where
TB_TYPE_RESS_FICHE.NUM_TYPE_RESS = TB_TYPE_RESS.NUM_TYPE_RESS
and NUM_FICHE = P_FICHE
order by 1;
*/
----------------------------------------------------------------------------------------- CONTEXTE 6 : Parcours des {Motclef/Qualifs} OU Type_Ress OU Metatermes attaches a la
Fiche
----------------------------------------------------------------------------------------- Motclefs
cursor C_ELEMENTS(P_FICHE varchar2) is
select distinct
TB_MOTCLEFS.MOTCLEF_SA || decode(TB_QUALIFICATIF.NUM_QUALIFICATIF,83,'','/' ||
TB_QUALIFICATIF.QUALIFICATIF_SA) ELEMENT
from
TB_MOTCLEFS_FICHE, TB_MOTCLEFS, TB_QUALIFICATIF
where
TB_MOTCLEFS_FICHE.NUM_MOTCLEF = TB_MOTCLEFS.NUM_MOTCLEF
and TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF = TB_QUALIFICATIF.NUM_QUALIFICATIF
and NUM_FICHE = P_FICHE
/* UNION
-- Types de ressources
select distinct
TB_TYPE_RESS.TYPE_RESSOURCE_FRA_SA ELEMENT
from
TB_TYPE_RESS_FICHE, TB_TYPE_RESS
where
TB_TYPE_RESS_FICHE.NUM_TYPE_RESS = TB_TYPE_RESS.NUM_TYPE_RESS
and NUM_FICHE = P_FICHE */
UNION
-- Metatermes
select distinct
TB_META.META_SA ELEMENT
from
TB_NMT, TB_META, TB_MOTCLEFS_FICHE
where
TB_NMT.NUM_META_PERE = TB_META.NUM_META
and TB_NMT.NUM_MOTCLEF_DES = TB_MOTCLEFS_FICHE.NUM_MOTCLEF
and NUM_FICHE = P_FICHE
order by 1;
----------------------------------------------------------------------------------------- VARIABLES
---------------------------------------------------------------------------------------C_FICHES_REC C_FICHES%rowtype;
C_ELEMENTS_REC C_ELEMENTS%rowtype;
V_BUFF VARCHAR2(4000);
----------------------------------------------------------------------------------------- BLOC EXECUTIF
--------------------------------------------------------------------------------------BEGIN
----------------------------------------------------------------------------------------- Parcours des Fiches
---------------------------------------------------------------------------------------for C_FICHES_REC in C_FICHES
loop
279
ANNEXES
begin
V_BUFF := C_FICHES_REC.NUM_FICHE;
----------------------------------------------------------------------------------------- Ecriture des Elements de la Fiche
---------------------------------------------------------------------------------------for C_ELEMENTS_REC in C_ELEMENTS(C_FICHES_REC.NUM_FICHE)
loop
V_BUFF := V_BUFF || '|' || C_ELEMENTS_REC.ELEMENT;
end loop;
--Dbms_output.Put_line(V_BUFF);
P_DBMS_LONG_PUT(V_BUFF);
end;
end loop;
END;
/
---------------------------------------------------------------------------------------
280
ANNEXES
Clas s e d e gé n é ratio n d e s rè gle s d ’as s o ciatio n .
/**
* Title :
Knowledge-based System for Query Expansion over CISMeF - DataMiner
* Description :
This class extracts Exact and Approximative Associations Rules
*
using the A_Close algorithm; from the CISMeF database and the
*
database generated by Syntex.
* Date:
MAY 2003
*/
//package cismef.knowqe;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.util.*;
import java.net.URL;
import java.lang.String;
/**
* @author <a href="mailto:Lina.Soualmia@chu-rouen.fr">Lina SOUALMIA</a>
* @version 1.0
* @see CismefMorphology.class
* @see CismefOntology.class
*/
public class CismefDataMiner {
private final static double MIN_SUPPORT = 10;
private final static double MIN_CONFIDENCE = 0.7;
private final static String CONTEXT_TYPE = "META_13_Text";
private final static int MAX_GENERATORS = 20;
private int generators_nb = 0;
private SortedSet[] initialContext = null;
private SortedSet[] context = null;
private Hashtable correspondance = new Hashtable();
private SortedSet items = new TreeSet();
private Set[] generators = new SortedSet[MAX_GENERATORS + 1];
private SortedSet[] [] close = null;
public static void main(String[] args) {
try {
if (args.length != 1) {
.......... throw new IllegalArgumentException("Wrong parameters number");
}
else {
System.err.println("**** " + args[0].substring(args[0].indexOf("/h") +
1, args[0].length()) + " ****");
........... // convert file passed in argument into an array of sortedSet
...................... CismefDataMiner dataMiner = new CismefDataMiner();
dataMiner.initialContext
dataMiner.getInitialContext(dataMiner.readFileContent(args[0]));
System.err.println(" *** BEGIN *** ");
System.err.println(" --------- ");
System.err.println(" INITIAL CONTEXT ");
//dataMiner.showSets(dataMiner.initialContext);
System.err.println(" --------- ");
System.err.println(" CODED CONTEXT ");
dataMiner.context = dataMiner.getCodedContext();
//dataMiner.showSets(dataMiner.context);
281
=
ANNEXES
System.err.println(" --------- ");
System.err.println(" GENERATORS ");
for(int genLevel=1; genLevel <= MAX_GENERATORS; genLevel++){
System.err.println("
GEN LEVEL : " + genLevel);
dataMiner.addGenerators(genLevel);
}
//dataMiner.showSets(dataMiner.generators);
System.err.println(" --------- ");
System.err.println(" CLOSE ");
dataMiner.close = dataMiner.getClose();
System.err.println(" --------- ");
System.err.println(" EXACTS RULES ");
System.out.println(" **** EXACTS RULES **** ");
dataMiner.showExactRules();
System.err.println(" --------- ");
System.err.println(" APPROX RULES ");
System.out.println(" **** APPROX RULES **** ");
dataMiner.showApproxRules();
System.err.println(" --------- ");
System.err.println(" *** END *** ");
};
}
catch (Exception err) {
System.err.println(err);
System.err.println("Usage:
<file:///C:/INPUT_FILE_LOCATION>");
java
cismef.knowqe.DataMiner
}
}
/**
* Insert an input TextFile into a Vector
* Returns Vector
* @param
fileURL Path of the simple text file : file:///C:/INPUT_FILE_LOCATION
* @return fileContent vector composed of TextFile lignes
*/
public Vector readFileContent(String fileURL) {
Vector fileContent = new Vector();
InputStream in = null;
String buf = new String();
try {
// File opening
in = new URL(fileURL).openStream();
BufferedReader flux = new BufferedReader(new InputStreamReader(in));
// File to vector
while((buf = flux.readLine())!= null) {
if (buf.length() > 2) {
fileContent.addElement(buf);
}
}
}
catch (Exception err) {
System.err.println(err);
}
// Stream closing
finally {
try {
in.close();
282
ANNEXES
}
catch (Exception err) {
}
}
return fileContent;
}
/**
* Converts a Vector containing the simple TextFile into an annotations Vector
* Returns Vector
* @param
vText Vector containing text file strings
* @return fileContent vector composed of annotations statements
*/
private SortedSet[] getInitialContext(Vector vText) {
SortedSet[] newContext = new SortedSet[vText.size() + 1];
SortedSet itemset = new TreeSet();
int numItemset = 1;
String item = new String("");
// Text to Annotation
for(Enumeration enum = vText.elements(); enum.hasMoreElements();) {
// One line parsing
StringTokenizer
sTokens
StringTokenizer((String)enum.nextElement(),"\"|", false);
=
// The fisrt token is the ressource number
String firstToken = sTokens.nextToken().trim();
// Predicate & Validation statements
// Single/multiple object reading
while (sTokens.hasMoreTokens()) {
item = sTokens.nextToken().trim();
if (item.length() > 0) {
itemset.add(item);
}
}
newContext[numItemset ++] = new TreeSet(itemset);
itemset.clear();
}
return newContext;
}
private SortedSet[] getCodedContext() {
SortedSet initialItemSet = new TreeSet();
for(int line=1; line< initialContext.length; line++){
Iterator i = initialContext[line].iterator();
while (i.hasNext()) {
initialItemSet.add(i.next());
}
}
Integer itemNumber = new Integer(0);
SortedSet itemSet = new TreeSet();
Iterator j = initialItemSet.iterator();
while (j.hasNext()) {
itemNumber = increment(itemNumber);
correspondance.put(j.next(), itemNumber.toString());
itemSet.add(itemNumber.toString());
}
items = new TreeSet(itemSet);
SortedSet[] newContext = new SortedSet[initialContext.length];
283
new
ANNEXES
for(int line=1; line< initialContext.length; line++){
newContext[line] = new TreeSet();
Iterator k = initialContext[line].iterator();
while (k.hasNext()) {
newContext[line].add(correspondance.get(k.next()));
}
}
return newContext;
}
private SortedSet[] [] getClose() {
SortedSet[][] closeSets = new TreeSet[generators_nb + 1][3];
int numGenerator = 0;
for(int line=1; line< generators.length; line++){
if (generators[line] != null) {
Iterator i = generators[line].iterator();
while (i.hasNext()) {
numGenerator ++;
closeSets[numGenerator][1] = new TreeSet(toSet(i.next()));
//System.err.println("- gen : " + closeSets[numGenerator][1]);
closeSets[numGenerator][2]
TreeSet(findClose(closeSets[numGenerator][1]));
=
//System.err.println("- ferme : " + closeSets[numGenerator][2]);
//System.err.println("- num gen : " + numGenerator);
}
}
}
return closeSets;
}
private Integer increment( Integer oldInt ) {
return new Integer( oldInt.intValue() + 1 );
}
private void addGenerators(int level) {
SortedSet generatorSet = new TreeSet();
if (level == 1) {
Iterator i = items.iterator();
while (i.hasNext()) {
SortedSet subset = new TreeSet();
subset.add(i.next());
if (getSupport(subset) >= MIN_SUPPORT) {
generatorSet.addAll(subset);
generators_nb ++;
}
subset.clear();
}
}
else
{
Iterator i = generators[level - 1].iterator();
while (i.hasNext()) {
SortedSet setA = toSet(i.next());
if (!setA.isEmpty()) {
//System.out.println("A:" + setA);
double supportA = getSupport(setA);
//System.out.print(setA + " : ");
//System.out.println(supportA);
Iterator j = generators[level - 1].iterator();
while (j.hasNext()) {
284
new
ANNEXES
SortedSet setB = toSet(j.next());
if (!setB.isEmpty()) {
//System.out.println("
B:" + setB);
SortedSet newSet = new TreeSet();
newSet = getCandidat(setA, setB);
if (newSet.size() == level) {
//System.out.println("
CANDIDAT:" + newSet);
double support = getSupport(newSet);
if (support >= MIN_SUPPORT && support != supportA) {
generatorSet.add(newSet.toString());
//System.out.print(newSet.toString() + " : ");
//System.out.println(support);
generators_nb ++;
}
}
newSet.clear();
setB.clear();
}
}
setA.clear();
}
}
}
generators[level] = new TreeSet(generatorSet);
}
private SortedSet toSet(Object obj) {
String itemset = new String(obj.toString());
String item = new String();
SortedSet set = new TreeSet();
itemset = itemset.replace('[',' ');
itemset = itemset.replace(']',' ').trim();
StringTokenizer sTokens = new StringTokenizer(itemset,",", false);
while (sTokens.hasMoreTokens()) {
item = sTokens.nextToken().trim();
if (item.length() > 0) {
set.add(item);
}
}
return set;
}
private SortedSet getCandidat(SortedSet set1, SortedSet set2) {
SortedSet firstset = new TreeSet(set1);
SortedSet secondset = new TreeSet(set2);
Object last1 = firstset.last();
Object last2 = secondset.last();
firstset.remove(last1);
if
((secondset.containsAll(firstset))
(last1.toString().compareTo(last2.toString()) < 0)) {
secondset.add(last1);
return secondset;
}
else return new TreeSet(Collections.EMPTY_SET);
}
private double getSupport(SortedSet subset) {
double support = 0;
for(int i=1; i< context.length ; i++){
285
&&
ANNEXES
if (context[i].containsAll(subset)) { support++; }
}
return support;
}
private SortedSet findClose(SortedSet set) {
SortedSet closeSet = new TreeSet();
boolean firstOccurence = true;
for(int line=1; line< context.length; line++){
if (context[line].containsAll(set)) {
if (firstOccurence) {
closeSet = new TreeSet(context[line]);
//System.out.println(" first occurence : " + closeSet);
firstOccurence = false;
}
else {
//System.out.print(" intersection : " + context[line]);
//System.out.print(" ^ " + closeSet);
closeSet = intersection(context[line], closeSet);
//System.out.println(" = " + closeSet);
}
}
}
return closeSet;
}
private SortedSet intersection(SortedSet set1, SortedSet set2) {
SortedSet newset = new TreeSet(set1);
newset.retainAll(set2);
return newset;
}
private SortedSet union(SortedSet set1, SortedSet set2) {
SortedSet newset = new TreeSet(set1);
newset.addAll(set2);
return newset;
}
private SortedSet difference(SortedSet set1, SortedSet set2) {
SortedSet newset = new TreeSet(set1);
newset.removeAll(set2);
return newset;
}
private void showSets(Set[] sets) {
for(int line=1; line< sets.length; line++){
if (sets[line] != null) {
System.out.println(sets[line]);
}
}
}
private Object getCorrespondanceKey(Object value) {
Object key = new Object();
Enumeration e = correspondance.keys();
boolean keyFound = false;
while (e.hasMoreElements() && !keyFound) {
key = (String)e.nextElement();
if (correspondance.get(key).toString().equals(value.toString())) {
keyFound = true;
}
286
ANNEXES
}
return key;
}
private void showExactRules() {
String antecedent = new String();
String consequent = new String();
double support = 0;
int rulesNb = 0;
for(int line=1; line< close.length; line++){
support = getSupport(close[line][1]);
antecedent = "";
Iterator i = close[line][1].iterator();
while (i.hasNext()) {
if (antecedent.length() > 0) antecedent = antecedent + "|";
antecedent
Integer(i.next().toString()));
=
antecedent
+
getCorrespondanceKey(new
}
consequent = "";
Iterator j = difference(close[line][2], close[line][1]).iterator();
while (j.hasNext()) {
if (consequent.length() > 0) consequent = consequent + "|";
consequent
Integer(j.next().toString()));
=
consequent
+
getCorrespondanceKey(new
}
if (consequent.length() > 0) {
rulesNb ++;
//System.out.println(rulesNb + " : " + antecedent + " -> " + consequent
+ " [" + support + "]");
System.out.println("INSERT
INTO
TB_KNOWQE_REGLES_ASSOC
(CONTEXTE,
ANTECEDANTS, CONSEQUENTS, SUPPORT, CONFIANCE) VALUES ('" + CONTEXT_TYPE + "', '" +
antecedent + "', '" + consequent + "'," + support + "," + 1.0 + ");");
}
}
}
private void showApproxRules() {
SortedSet closeset = new TreeSet();
SortedSet setA = new TreeSet();
SortedSet setB = new TreeSet();
String rule1 = new String();
String rule2 = new String();
String rule3 = new String();
String antecedent = new String();
String consequent = new String();
double supportAuB = 0;
double supportA = 0;
double confidence = 0;
int rulesNb = 0;
for(int line=1; line< close.length; line++){
setA = new TreeSet(close[line][1]);
closeset = new TreeSet(close[line][2]);
for(int cur=1; cur< close.length; cur++){
setB = new TreeSet(close[cur][2]);
if ( setB.containsAll(closeset) && !closeset.containsAll(setB) ) {
if ( !rule1.equals(setA + ":" + setB) &&
!rule2.equals(setA + ":" + setB) &&
!rule3.equals(setA + ":" + setB) ) {
rule3 = rule2;
287
ANNEXES
rule2 = rule1;
rule1 = setA + ":" + setB;
//System.err.println(rule1);
supportAuB = getSupport(union(setB, setA));
if (supportAuB >= MIN_SUPPORT) {
supportA = getSupport(setA);
confidence = supportAuB / supportA;
if (confidence >= MIN_CONFIDENCE) {
antecedent = "";
Iterator i = setA.iterator();
while (i.hasNext()) {
if
(antecedent.length()
>
0)
antecedent
=
antecedent + "|";
antecedent = antecedent + getCorrespondanceKey(new
Integer(i.next().toString()));
}
consequent = "";
Iterator j = difference(setB, setA).iterator();
while (j.hasNext()) {
if
(consequent.length()
>
0)
consequent
=
consequent + "|";
consequent = consequent + getCorrespondanceKey(new
Integer(j.next().toString()));
}
if (consequent.length() > 0) {
rulesNb ++;
//System.out.println(rulesNb + " : " + antecedent +
" -> " + consequent + " [" + supportAuB + "]" + " [" + Math.round( 100.0 * confidence )
/ 100.0 + "]");
System.out.println("INSERT
INTO
TB_KNOWQE_REGLES_ASSOC (CONTEXTE, ANTECEDANTS, CONSEQUENTS, SUPPORT, CONFIANCE) VALUES
('" + CONTEXT_TYPE + "', '" + antecedent + "', '" + consequent + "'," + supportAuB + ","
+ Math.round( 100.0 * confidence ) / 100.0 + ");");
}
}
}
}
}
}
}
}
} // End Class
288
ANNEXES
Rè gle s e xp e rte s cré é e s ap rè s la fo u ille d e d o n n é e s .
MC_ANTECEDENT
abdomen
abdomen
abdomen
abdomen
accidents
acide ascorbique
acide ascorbique
acide chlorhydrique gastrique
acide chlorhydrique gastrique
acide folique
acide oxalique
adenosine deaminase
adolescent
agaricales
aldostérone
aliment
aliment
allergie et immunologie
alpha 1-antitrypsine
alpha-glucosidase
alpha-mannosidase
androgènes
aorte
aorte, maladies
appareil cardiovasculaire
appareil cardiovasculaire
appareil cardiovasculaire
appareil digestif
appareil digestif
appareil digestif
appareil locomoteur
appareil locomoteur
appareil locomoteur
appareil locomoteur
appareil respiratoire
appareil stomatognathique
appareil urogénital
appareil urogénital
appendicite
arachis hypogaea
arginase
argininosuccinate synthase
arsenic
artères
artères
artères carotides
artères carotides
articulation cheville
QU_ANTECEDENT
Radiographie
Radiographie
Traumatismes
Traumatismes
prévention et contrôle
Déficit
Déficit
Analyse
Analyse
Déficit
analogues et dérivés
Déficit
psychologie
intoxication
antagonistes et inhibiteurs
intoxication
législation et jurisprudence
méthodes
déficit
déficit
déficit
antagonistes et inhibiteurs
radiographie
radiographie
chirurgie
malformations
physiologie
chirurgie
malformations
physiologie
croissance et développement
croissance et développement
malformations
physiologie
physiologie
malformations
malformations
radiographie
chirurgie
effets indésirables
déficit
déficit
intoxication
radiographie
radiographie
traumatismes
traumatismes
traumatismes
289
MC_CONSEQUENT
radiographie abdominale
radiographie abdominale
traumatisme abdominal
traumatisme abdominal
prévention accident
acide ascorbique, carence
acide ascorbique, carence
dosage acidité gastrique
dosage acidité gastrique
acide folique, carence
acides oxaliques
déficit immunitaire combiné sévère
psychologie adolescent
intoxication champignon
antialdostérones
intoxication alimentaire
législation aliment
méthodes immunologiques
alpha 1-antitrypsine, déficit
glycogénose type 2
alpha-mannosidose
antiandrogènes
aortographie
aortographie
intervention chirurgie cardiovasculaire
malformations cardiovasculaires
physiologie cardiovasculaire
intervention chirurgie digestive
malformations appareil digestif
physiologie appareil digestif
développement locomoteur
développement musculaire
malformations appareil locomoteur
physiologie respiratoire
malformations urogénitales
urographie
appendicectomie
hypersensibilité arachide
hyperargininémie
citrullinémie
intoxication arsenic
angiographie
angiographie
traumatisme artère carotide
traumatisme artère carotide
traumatisme cheville
ANNEXES
MC_ANTECEDENT
QU_ANTECEDENT
articulation cheville
traumatismes
articulation genou
traumatismes
articulation hanche
traumatismes
articulation hanche
traumatismes
articulation poignet
traumatismes
articulation poignet
traumatismes
articulations
radiographie
articulations pied
traumatismes
arylsulfatases
déficit
aspartate-semialdéhyde déhydrogénase
déficit
bactéries
physiologie
béryllium
intoxication
bêta-mannosidase
déficit
bêta-N-acétylhexosaminidase
déficit
bêta-N-acétylhexosaminidase
déficit
biotinidase
déficit
biotinidase
déficit
bouche
malformations
bras
traumatismes
bronches
radiographie
bronches
radiographie
bronches, maladies
radiographie
cadmium
intoxication
caecum, maladies
chirurgie
canaux biliaires
malformations
canaux biliaires
radiographie
carbamoyl-phosphate synthase (ammonia) déficit
carbamoyl-phosphate synthase (ammonia) déficit
carbamoyl-phosphate synthase (ammonia) déficit
caspase 1
analogues et dérivés
cataracte
chirurgie
cavité abdominale
traumatismes
cellule souche
transplantation
cellule souche hématopoïétique
transplantation
cellules
physiologie
cellules
transplantation
cellules
transplantation
cheville
traumatismes
cheville
traumatismes
cholécalciférol
déficit
cholinestérases
antagonistes et inhibiteurs
chromosomes
malformations
ciguatoxines
intoxication
coeur
chirurgie
coeur
échographie
coeur
malformations
coeur
transplantation
coeur
transplantation
coeur
traumatismes
290
MC_CONSEQUENT
traumatisme cheville
traumatisme genou
traumatisme hanche
traumatisme hanche
traumatisme poignet
traumatisme poignet
arthrographie
traumatisme pied
leucodystrophie métachromatique
hydroxybutyrates
physiologie bactérienne
bérylliose
bêta-mannosidose
Sandhoff, maladie
Tay-Sachs, maladie
biotinidase, déficit
biotinidase, déficit
malformations bouche
traumatisme membre supérieur
bronchographie
bronchographie
bronchographie
intoxication cadmium
caecostomie
atrésie voies biliaires
cholangiographie
caspases
extraction cataracte
traumatisme abdominal
greffe de cellules souches
physiologie cellulaire
transplantation cellulaire
transplantation cellulaire
traumatisme cheville
traumatisme cheville
vitamine D, carence
anticholinestérasiques
aberrations chromosomiques
ciguatera
interventions chirurgie cardiaque
échocardiographie
cardiopathies congénitales
transplantation cardiaque
transplantation cardiaque
traumatisme coeur
ANNEXES
MC_ANTECEDENT
coeur
complexe IV de la chaîne respiratoire
complexe IV de la chaîne respiratoire
Convulsions
Cornée
Cou
Cou
cysteine endopeptidases
cytochrome réductases
cytochrome-B(5) reductase
cytochrome-b(5) reductase
déformations main
dent
dent
dent
dentisterie
dentisterie
dentisterie
dentisterie
dentisterie
dentisterie
dihydrolipoamide déhydrogénase
dipeptidyl carboxypeptidase I
dipeptidyl peptidase I
doigt
doigt
dos
embryon
embryon
encéphale
encéphale
encéphale
encéphale
encéphale
encéphale
endopeptidases
enzymes
épidémiologie
épithélium
érythrocyte
érythrocyte
étudiant dentisterie
face
face
facteur risque
fibrinogène
fluorures
foetoscopie
foetus
QU_ANTECEDENT
vascularisation
déficit
déficit
induit chimiquement
transplantation
traumatismes
traumatismes
antagonistes et inhibiteurs
déficit
déficit
déficit
congénital
malformations
physiologie
traumatismes
économie
enseignement et éducation
éthique
histoire
instrumentation
législation et jurisprudence
déficit
antagonistes et inhibiteurs
déficit
traumatismes
traumatismes
traumatismes
croissance et développement
transplantation
analyse
analyse
composition chimique
composition chimique
échographie
traumatismes
antagonistes et inhibiteurs
antagonistes et inhibiteurs
méthodes
cytologie
malformations
transplantation
enseignement et éducation
croissance et développement
traumatismes
MC_CONSEQUENT
vaisseaux coronaires
cytochrome c oxydase, déficit
cytochrome c oxydase, déficit
convulsivants
transplantation cornée
traumatisme cou
traumatisme cou
inhibiteurs cystéine protéinase
méthémoglobinémie
méthémoglobinémie
méthémoglobinémie
déformations congénitales main
malformation dentaire
physiologie dentaire
traumatisme dentaire
économie dentaire
enseignement dentaire
éthique dentisterie
histoire art dentaire
instruments dentaires
législation dentisterie
méthémoglobinémie
déficit
intoxication
instrumentation
croissance et développement
afibrinogénémie
intoxication fluorure
foetoscope
développement embryonnaire et foetal
291
Papillon-Lefèvre, maladie
traumatisme doigt
traumatisme doigt
traumatisme dos
développement embryonnaire et foetal
transfert embryon
biochimie encéphale
biochimie encéphale
biochimie encéphale
biochimie encéphale
échoencéphalographie
traumatisme cérébral
inhibiteurs protéinases
anti-enzymes
méthode épidémiologique
cellule épithéliale
érythrocyte anormal
transfusion érythrocytes
enseignement dentaire
développement maxillofacial
traumatisme face
ANNEXES
MC_ANTECEDENT
foetus
foetus
foie
froid
gaz
genou
genou
glande salivaire
glande salivaire
glucose
glucose
glucose 6-phosphate déhydrogénase
glucose 6-phosphate déhydrogénase
glucosylcéramidase
glucuronosyltransférase
glycogen debranching enzyme
glycogen phosphorylase, liver form
glycogen phosphorylase, muscle form
hanche
hôpital
hôpital
hôpital
hôpital
hôpital
hormones naturelles
hormones thyroïdiennes
hydroxyméthylglutaryl-CoA réductases
hydroxyméthylglutaryl-CoA réductases
hystéroscopie
îlots Langerhans
immunoglobuline A
immunoglobuline G
insuline
isosporidiose
larynx
Lesch Nyhan, syndrome
leucocyte
lipoxygenase
lymphocyte
mâchoire
mâchoire
magnésium
main
main
maladies transmissibles
manganèse
manganèse
mannosidases
maxillaire inférieur
QU_ANTECEDENT
MC_CONSEQUENT
échographie
échographie prénatale
transplantation
transplantation tissu foetal
transplantation
transplantation foie
usage thérapeutique
cryothérapie
intoxication
intoxication gaz
traumatismes
traumatisme genou
traumatismes
traumatisme genou
radiographie
sialographie
radiographie
sialographie
sang
glycémie
urine
glycosurie
déficit
déficit
déficit
Gaucher, maladie
déficit
Crigler-Najjar, syndrome
déficit
glycogénose type 3
déficit
glycogénose type 6
déficit
glycogénose type 5
traumatismes
traumatisme hanche
économie
économie hospitalière
instrumentation
législation et jurisprudence
législation hôpital
législation et jurisprudence
législation hôpital
organisation et administration administration hospitalière
antagonistes et inhibiteurs
antihormones
antagonistes et inhibiteurs
antithyroïdiens
antagonistes et inhibiteurs
antagonistes et inhibiteurs
instrumentation
hystéroscope
transplantation
transplantation îlots Langerhans
déficit
IgA, déficit
déficit
IgG, déficit
antagonistes et inhibiteurs
antagoniste insuline
chimiothérapie
coccidiostatiques
innervation
nerf laryngé
A renseigner (par défaut)
hypoxanthine phosphoribosyltransférase
transplantation
transfusion leucocytes
antagonistes et inhibiteurs
inhibiteur lipoxygénase
transplantation
transfusion lymphocytes
croissance et développement développement maxillofacial
malformations
malformation mâchoire
déficit
magnésium, carence
malformations
déformations congénitales main
traumatismes
traumatisme main
prévention et contrôle
lutte contre maladie contagieuse
intoxication
intoxication manganèse
toxicité
intoxication manganèse
déficit
traumatismes
traumatisme mandibulaire
292
ANNEXES
MC_ANTECEDENT
médecine
médecine
médecine
médecine
médecine
médecine
médecine clinique
médecine vétérinaire
médecine vétérinaire
membre supérieur
membre supérieur
membres
mercure
moelle épinière
moelle osseuse
moelle osseuse
moelle osseuse
monoxyde carbone
muscles
mycotoxine
myocarde
myocarde
myocarde
myocarde
myocarde
myocarde
nerf crânien
nerf facial
nerf optique
nez
oeil
oeil
oeil
oeil
oreillette cardiaque
orthopédie
os
os
oxygène
pancréas
peau
peau
peau
peau
peptide hydrolases
pharmacie (discipline)
pharmacie (discipline)
pharmacie (discipline)
pharmacie (discipline)
QU_ANTECEDENT
économie
enseignement et éducation
éthique
histoire
législation et jurisprudence
main d'oeuvre
éthique
enseignement et éducation
législation et jurisprudence
malformations
traumatismes
malformations
intoxication
traumatismes
cytologie
transplantation
transplantation
intoxication
croissance et développement
intoxication
chirurgie
échographie
malformations
transplantation
traumatismes
vascularisation
traumatismes
traumatismes
traumatismes
chirurgie
chirurgie
malformations
physiologie
traumatismes
physiologie
instrumentation
croissance et développement
transplantation
déficit
transplantation
malformations
physiologie
transplantation
transplantation
antagonistes et inhibiteurs
économie
enseignement et éducation
éthique
législation et jurisprudence
293
MC_CONSEQUENT
économie médicale
enseignement médical
éthique médicale
histoire médecine
législation médicale
personnel santé
éthique clinique
enseignement vétérinaire
législation vétérinaire
anomalies congénitales membres
hydrargyrisme
traumatisme moelle épinière
cellule moelle osseuse
transplantation moelle osseuse
transplantation moelle osseuse
intoxication oxyde de carbone
développement musculaire
mycotoxicose
interventions chirurgie cardiaque
échocardiographie
cardiopathies congénitales
transplantation cardiaque
traumatisme coeur
vaisseaux coronaires
traumatisme nerf crânien
traumatisme nerf facial
traumatisme nerf optique
rhinoplastie
malformations oculaires
physiologie oculaire
traumatisme oculaire
fonction auriculaire
appareillage orthopédique
croissance osseuse
transplantation os
anoxie
transplantation pancréas
malformations cutanées
physiologie cutanée
transplantation peau
transplantation peau
inhibiteurs protéinases
économie pharmaceutique
enseignement pharmacie
éthique pharmacie
législation pharmaceutique
ANNEXES
MC_ANTECEDENT
phosphofructokinase-1, muscle type
phosphofructokinase-1, muscle type
pied
pied
plantes
plantes
plantes
plaquettes
plomb
poignet
poignet
potassium
poumon
préparations pharmaceutiques
préparations pharmaceutiques
préparations pharmaceutiques
préparations pharmaceutiques
préparations pharmaceutiques
préparations pharmaceutiques
préparations pharmaceutiques
proaccélérine
proconvertine
proconvertine
profession auxiliaire santé
profession infirmier
profession infirmier
profession infirmier
profession infirmier
profession infirmier
prostaglandine E
prostaglandine synthase
prostaglandines
prostaglandines
protéines
protéines
protéines
protéines
pyridoxine
pyruvate déhydrogénase, complexe
pyruvate déhydrogénase, complexe
rachis
rein
sang
sang
sang
sang
sang
schizophrénie
sein
QU_ANTECEDENT
déficit
déficit
malformations
traumatismes
intoxication
physiologie
MC_CONSEQUENT
glycogénose type 7
glycogénose type 7
déformations congénitales pied
traumatisme pied
intoxication plante
physiologie plantes
transplantation
intoxication
traumatismes
traumatismes
déficit
transplantation
antagonistes et inhibiteurs
intoxication
législation et jurisprudence
pharmacocinétique
pharmacologie
toxicité
usage thérapeutique
déficit
déficit
déficit
main d'oeuvre
économie
enseignement et éducation
éthique
histoire
législation et jurisprudence
analogues et dérivés
antagonistes et inhibiteurs
analogues et dérivés
antagonistes et inhibiteurs
déficit
liquide céphalorachidien
sang
urine
déficit
déficit
déficit
traumatismes
transplantation
analyse
composition chimique
cytologie
enzymologie
physiologie
psychologie
échographie
transfusion plaquettes
intoxication plomb
traumatisme poignet
traumatisme poignet
potassium, carence
transplantation poumon
antagonisme médicamenteux
intoxication
294
pharmacocinétique
pharmacologie
toxicité pharmacochimique
chimiothérapie
facteur V, déficit
facteur VII, déficit
facteur VII, déficit
personnel santé auxiliaire
économie et soins infirmiers
enseignement infirmier
éthique soins infirmiers
histoire soins infirmiers
législation soins infirmiers
prostaglandine E synthétique
inhibiteur cyclooxygénase
prostaglandines synthétiques
antagonistes prostaglandine
protéines, carence
protéines liquide céphalorachidien
protéines sang
protéinurie
vitamine B6, carence
déficit en pyruvate déhydrogénase
déficit en pyruvate déhydrogénase
traumatisme rachis
transplantation rein
analyse de sang
analyse de sang
cellule sanguine
enzymes
physiologie sang
psychologie des schizophrènes
échographie mammaire
ANNEXES
MC_ANTECEDENT
sein
septum cardiaque
sérine endopeptidases
services santé
sports
système nerveux
système nerveux
système nerveux
système nerveux
tendons
tendons
testosterone 5-alpha-reductase
Tête
thorax
thorax
thorax
thorax
Tissu conjonctif
transplantation
trompe Fallope
trypsine
utérus
vaccin antibactérien
vaccin anticoquelucheux
vaccin anti-fièvre jaune
vaccin antigrippe
vaccin antihémophilus
vaccin antihépatite B
vaccin antihépatite virale
vaccin antimorbilleux
vaccin antiourlien
vaccin antipoliomyélitique inactivé
vaccin antirubéoleux
vaccin anti-SIDA
vaccin antityphoparatyphoïdique
vaccin antityphoparatyphoïdique
vaccin antivaricelle
vaccin antivariolique
vaccin antiviral
vaccin BCG
vaccin diphtérie-tétanos-coqueluche
vaccin diphtérie-tétanos-coqueluche
vaccin diphtérie-tétanos-coqueluche
vaccins anti-Alzheimer
vaccins anti-charbonneux
vaccins anticholériques
vaccins antiencéphalite japonaise
vaccins antihépatite A
vaccins anti-herpèsvirus
QU_ANTECEDENT
MC_CONSEQUENT
radiographie
mammographie
malformations
antagonistes et inhibiteurs
inhibiteurs sérine protéinase
organisation et administration administration services de soins
traumatismes
traumatisme dû aux sports
chirurgie
interventions neurochirurgicales
malformations
malformations système nerveux
physiologie
physiologie système nerveux
traumatismes
traumatisme système nerveux
traumatismes
traumatisme tendon
traumatismes
traumatisme tendon
déficit
pseudohermaphrodisme
traumatismes
traumatisme craniocérébral
radiographie
radiographie thoracique
traumatismes
traumatisme thorax
traumatismes
traumatisme thorax
traumatismes
traumatisme thorax
cytologie
cellule tissu conjonctif
immunologie
immunologie transplantation
radiographie
hystérosalpingographie
antagonistes et inhibiteurs
inhibiteurs trypsiques
radiographie
hystérosalpingographie
infections bactériennes
coqueluche
fièvre jaune
grippe
prévention et contrôle
haemophilus influenzae
hépatite B
hépatite virale humaine
rougeole
oreillons
poliomyélite
rubéole
SIDA
fièvre typhoïde
paratyphoïde, fièvre
varicelle
variole
maladies virales
tuberculose
coqueluche
diphtérie
tétanos
Alzheimer, maladie
charbon (maladie)
choléra
encéphalite japonaise
hépatite B
herpès
295
ANNEXES
MC_ANTECEDENT
vaccins anti-maladie Lyme
vaccins antiméningococciques
vaccins antipneumococciques
vaccins antipoliomyélitiques
vaccins antirabiques
vaccins anti-rotavirus
vaccins anti-salmonelle
vaccins anti-shigella
vaisseaux coronaires
vaisseaux coronaires
vaisseaux sanguins
vaisseaux sanguins
vaisseaux sanguins
Veine porte
veines
Venin
ventricule cérébral
vésicule biliaire
Virus
vitamine A
vitamine B12
vitamine B6
vitamine D
vitamine E
vitamine K
vitamines
voie urinaire
voie urinaire
voies biliaires
1,4-alpha-glucan branching enzyme
17-hydroxysteroid dehydrogenases
QU_ANTECEDENT
malformations
radiographie
chirurgie
radiographie
scintigraphie
radiographie
radiographie
antagonistes et inhibiteurs
radiographie
radiographie
physiologie
déficit
déficit
déficit
déficit
déficit
déficit
déficit
physiologie
radiographie
chirurgie
déficit
déficit
antagonistes et inhibiteurs
296
MC_CONSEQUENT
Lyme, maladie
méningite méningococcique
streptococcus pneumoniae, infection
poliomyélite
rage (maladie)
rotavirus, infection
salmonellose
dysenterie bacillaire
anomalie vaisseau coronaire
coronarographie
intervention chirurgicale vasculaire
angiographie
angiographie isotopique
splénoportographie
phlébographie
antitoxine venimeuse
ventriculographie
cholécystographie
physiologie virus
rétinol, carence
cyanocobalamine, carence
vitamine B6, carence
vitamine D, carence
tocophérol, carence
vitamine K, carence
avitaminoses
physiologie urinaire
urographie
glycogénose type 4
pseudohermaphrodisme
inhibiteur croissance
ANNEXES
Rè gle s m é tie r d e A.So u alm ia ( m é d e cin gé n é ralis te )
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Complications (Hypertension artérielle, HTA) → accident vasculaire cérébral
Complications (Hypertension artérielle) → Insuffisance Rénale
Complications (Diabète) → Infarctus Myocarde
Complications (Diabète) → Neuropathies Diabétiques
Complications ( Diabète) → Rétinopathies
Complications ( Diabète) → Gangrène (gazeuse)
Complications ( Ulcère gastrique) → Tumeur Estomac
Complications (Bronchite chronique) → insuffisance respiratoire
Complications ( Insuffisance respiratoire) → cœur pulmonaire
Complications ( Hépatite B) → Cirrhose
Complications ( Alcoolisme) → Cirrhose
Complications (reflux gastrooesophagien, RGO) → œsophagite
Complications (œsophagite) →tumeur œsophage
Complications (Asthme) → insuffisance respiratoire
Complications ( Valvulopathies) → endocardite bactérienne
Complications ( angor instable) →Rhumatisme articulaire aigu (RAA)
Complications ( vomissements) → déshydratation
Complications (Hyperthyroïdie) → troubles rythme cardiaque
Complications ( hypothyroïdie) → constipation
Complications ( hypertension artérielle ET grossesse) → mort fœtale… enfant
Complications (hypertension artérielle ET grossesse) → insuffisance rénale…mère
Complications (hypertension artérielle ET grossesse) → œdème pulmonaire…mère
Complications (pancréatite) → tumeur pancréas
Complications (ulcère duodénal) → perforation ulcère gastroduodénal
Complications (coeliaque, maladie) → anémie ferriptive
Complications (hématome rétroplacentaire) → mort fœtale ET rupture utérine
297
ANNEXES
Clas s e d e gé n é ratio n d u fich ie r OW L à p artir d e la bas e d e d o n n é e s
/**
* Title :
CISMeFOWL-Generation...
* Date:
OCTOBER 2003
*/
//package cismef.knowqe;
import java.io.*;
import java.util.*;
import java.lang.String;
import oracle.jdbc.oci.*;
import oracle.jdbc.pool.*;
import oracle.jdbc.driver.*;
import java.sql.*;
/**
* @author <a href="mailto:Badisse.Dahamna@chu-rouen.fr">Badisse DAHAMNA</a>
* @version 1.0
* @see CismefDataminer.class
*/
public class CismefOntology {
/** {@value CHMN_FIC} */
private final static String CHMN_FIC = "CismefOntology.owl";
/** {@value ENTETE_OWL} */
private final static String ENTETE_OWL = ""
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"
+ "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" \n"
+ "
xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\" \n"
+ "
xmlns:owl=\"http://www.w3.org/2002/07/owl#\"> \n"
+ " \n"
+ "
<owl:Ontology rdf:about=\"\"> \n"
+ "
<rdfs:comment> \n"
+ "
CISMeF OWL Ontology \n"
+ "
Author: L.SOUALMIA (Lina.Soualmia@chu-rouen.fr) \n"
+ "
</rdfs:comment> \n"
+ "
+ "
<owl:imports rdf:resource=\"http://www.w3.org/2002/07/owl\" /> \n"
</owl:Ontology> \n"
+ " \n";
/** {@value FIN_OWL} */
private final static String FIN_OWL = "</rdf:RDF>";
public static void main(String[] args) {
try {
// Arguments number control
if (args.length != 0) {
.......... throw new IllegalArgumentException("Wrong parameters number");
}
else {
........... // convert file passed in argument into an array of sortedSet
............................... CismefOntology CO = new CismefOntology();
System.err.println(" *** DEBUT *** ");
CO.lancement();
System.err.println(" *** FIN *** ");
};
}
catch (Exception err) {
System.err.println(err);
System.err.println("Usage: java CismefOntology");
298
ANNEXES
}
}
/**
* lancement
*/
public void lancement() {
// Ouverture du fichier destination
PrintWriter out = null;
try {
out = new PrintWriter(new FileOutputStream(CHMN_FIC));
}
catch (Exception err) { ............................. System.err.println(err); }
// Connexion a la base
OracleOCIConnectionPool cpool = null;
OracleOCIConnection connexionBase = null;
try {
cpool
=
new
OracleOCIConnectionPool
"jdbc:oracle:oci8:@ORADCD1.WORLD", null);
("cismef",
"cismef",
connexionBase = (OracleOCIConnection)cpool.getConnection();
}
catch (Exception err) { System.err.println(err); }
// Variables pour requetes
OraclePreparedStatement preStatement = null;
OracleResultSet resultatRequete = null;
String requete = new String();
Object colonne1, colonne2;
String ligne = new String();
// Ecriture de l'entete du fichier
out.println(ENTETE_OWL);
// ---------------------------------------------------------------------------//
MOTCLEFS
// ---------------------------------------------------------------------------Vector motclefs = new Vector();
String numMotclef = new String();
String strClass = new String();
try {
/*requete
=
"
SELECT
DISTINCT
replace(replace(MOTCLEF_SA
||
decode(TB_QUALIFICATIF.NUM_QUALIFICATIF,83,'',' ' || QUALIFICATIF_SA),' ','_'),',','_')
MOTCLEF_QUALIFIE, TB_MOTCLEFS_FICHE.NUM_MOTCLEF, TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF ";
+ " FROM TB_MOTCLEFS_FICHE, TB_MOTCLEFS, TB_QUALIFICATIF ";
+ " WHERE TB_MOTCLEFS.NUM_MOTCLEF = TB_MOTCLEFS_FICHE.NUM_MOTCLEF ";
+
"
AND
TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF ";
TB_QUALIFICATIF.NUM_QUALIFICATIF
//+
"
AND
TB_MOTCLEFS_FICHE.NUM_MOTCLEF
TB_NMT.NUM_MOTCLEF_DES from TB_NMT where NUM_META_PERE = 6) ";
//+
"
AND
TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF
TB_NMTQ.NUM_QUALIF_DES from TB_NMTQ where NUM_META_PERE = 6) ";
in
in
=
(select
(select
+ " ORDER BY 1 "; */
requete
=
"
SELECT
replace(replace(TB_MOTCLEFS.MOTCLEF_SA,' ','_'),',','_') "
DISTINCT
NUM_MOTCLEF,
+ " FROM TB_MOTCLEFS "
+ " WHERE ROWNUM < 10 "
+ " ORDER BY 1 ";
// On prepare la requete
preStatement
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
// Execution de la requête
299
=
ANNEXES
resultatRequete = (OracleResultSet)preStatement.executeQuery();
while (resultatRequete.next())
{
Enregistrement
enrCourant
=
Enregistrement(resultatRequete.getObject(1),resultatRequete.getObject(2));
new
........................................ motclefs.addElement(enrCourant);
}
resultatRequete.close();
preStatement.close();
}
catch(Exception err)
{
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
OraclePreparedStatement preStatementMotclefPeres = null;
OraclePreparedStatement preStatementMotclefProprietes = null;
// On prepare les requetes sur 1 motclef en laissant un '?' comme parametre
try {
requete
','_'),',','_') "
+
=
"
"
SELECT
FROM
DISTINCT
TB_MOTCLEFS
replace(replace(TB_MC_PERE.MOTCLEF_SA,'
TB_MC_EN_COURS,
TB_NMOTS,
TB_MOTCLEFS
TB_MC_PERE "
+ " WHERE TB_NMOTS.NUM_MOTCLEF_DES = TB_MC_EN_COURS.NUM_MOTCLEF "
+ " AND TB_NMOTS.DIFF_NIVEAU = 1 "
+ " AND TB_MC_PERE.NUM_MOTCLEF = TB_NMOTS.NUM_MOTCLEF_PERE "
+ " AND TB_MC_EN_COURS.NUM_MOTCLEF = ? ";
preStatementMotclefPeres
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
requete = " SELECT
TB_MOTCLEFS.KEYWORD LIBELLE_ANG "
DISTINCT
NUM_MOTCLEF,
TB_MOTCLEFS.MOTCLEF
=
LIBELLE,
+ " FROM TB_MOTCLEFS "
+ " WHERE TB_MOTCLEFS.NUM_MOTCLEF = ? ";
preStatementMotclefProprietes
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
=
}
catch(Exception err)
{
System.err.println
err.getMessage());
("
ERREUR
SQLException
:"
+
System.err.println (" A preparation de la requete :" + requete);
}
// ---------------------//
POUR CHAQUE MOTCLEF
// ---------------------for (int i =0 ; i< motclefs.size() ; i++) {
Enregistrement enrMotclef = (Enregistrement)(motclefs.elementAt(i));
numMotclef = enrMotclef.Colonne1().toString();
strClass = enrMotclef.Colonne2().toString();
out.println("
<owl:Class rdf:ID=\"" + enrMotclef.Colonne2().toString() +
"\"> ");
// ------------------------//
PERES DU MOTCLEF
// ------------------------try {
Vector motclefPeres = new Vector();
// On complete le statement
300
ANNEXES
preStatementMotclefPeres.setString(1, numMotclef);
// Execution de la requête
resultatRequete
(OracleResultSet)preStatementMotclefPeres.executeQuery();
=
while (resultatRequete.next())
{
Enregistrement
Enregistrement(resultatRequete.getObject(1));
..............................
enrCourant
=
new
motclefPeres.addElement(enrCourant);
}
resultatRequete.close();
// Ecriture de la class
if (motclefPeres.size() == 0) {
out.println("
<rdfs:subClassOf> ");
out.println("
rdf:resource=\"#http://www.w3.org/2002/07/owl#Thing\" /> ");
out.println("
<owl:Class
</rdfs:subClassOf> ");
} else if (motclefPeres.size() == 1) {
Enregistrement
(Enregistrement)(motclefPeres.elementAt(0));
out.println("
enrCourant
<rdfs:subClassOf> ");
out.println("
enrCourant.Colonne1().toString() + "\" /> ");
out.println("
=
<owl:Class
rdf:about=\"#"
+
</rdfs:subClassOf> ");
} else {
out.println("
<rdfs:subClassOf> ");
out.println("
<intersectionOf rdf:parseType=\"Collection\"> ");
for (int j =0 ; j< motclefPeres.size() ; j++) {
Enregistrement
(Enregistrement)(motclefPeres.elementAt(j));
enrCourant
out.println("
enrCourant.Colonne1().toString() + "\" /> ");
<owl:Class
=
rdf:about=\"#"
+
}
out.println("
</intersectionOf> ");
out.println("
</rdfs:subClassOf> ");
}
}
catch(Exception err)
{
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
out.println("
</owl:Class> ");
/*
// ------------------------------//
PROPRIETES DU MOTCLEF
// ------------------------------try {
// On complete le statement
preStatementMotclefProprietes.setString(1, numMotclef);
// Execution de la requête
resultatRequete
(OracleResultSet)preStatementMotclefProprietes.executeQuery();
=
while (resultatRequete.next())
{
out.println("
<owl:DatatypeProperty rdf:ID=\"" + "ID_CISMeF"
"\"> ");
301
+
ANNEXES
out.println("
resultatRequete.getObject(1) + "\" /> ");
<rdfs:domain
rdf:resource=\"#"
out.println("
rdf:resource=\"http://www.w3.org/2001/XMLSchema#int\" /> ");
out.println("
+
<rdfs:range
</owl:DatatypeProperty> ");
out.println("
"LIBELLE_ACCENTUE" + "\"> ");
<owl:DatatypeProperty
out.println("
resultatRequete.getObject(2) + "\" /> ");
<rdfs:domain
rdf:ID=\""
+
rdf:resource=\"#"
out.println("
rdf:resource=\"http://www.w3.org/2001/XMLSchema#string\" /> ");
+
<rdfs:range
out.println("
</owl:DatatypeProperty> ");
out.println("
<owl:DatatypeProperty rdf:ID=\"" + "LIBELLE_ANGLAIS"
+ "\"> ");
out.println("
resultatRequete.getObject(3) + "\" /> ");
<rdfs:domain
rdf:resource=\"#"
out.println("
rdf:resource=\"http://www.w3.org/2001/XMLSchema#string\" /> ");
out.println("
+
<rdfs:range
</owl:DatatypeProperty> ");
}
resultatRequete.close();
}
catch(Exception err)
{
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
*/
// Retour chariot
out.println(" ");
} // Fin For
// ---------------------------------------------------------------------------//
QUALIFICATIFS
// ---------------------------------------------------------------------------Vector qualificatifs = new Vector();
String numQualificatif = new String();
try {
requete
=
"
SELECT
TB_QUALIFICATIF.NUM_QUALIFICATIF,
replace(replace(TB_QUALIFICATIF.QUALIFICATIF_SA,' ','_'),',','_') "
'qu_'
||
+ " FROM TB_QUALIFICATIF "
//+ " WHERE ROWNUM < 10 "
+ " ORDER BY 1 ";
// On prepare la requete
preStatement
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
=
// Execution de la requête
resultatRequete = (OracleResultSet)preStatement.executeQuery();
while (resultatRequete.next())
{
Enregistrement
enrCourant
=
Enregistrement(resultatRequete.getObject(1),resultatRequete.getObject(2));
new
................................... qualificatifs.addElement(enrCourant);
}
resultatRequete.close();
preStatement.close();
}
catch(Exception err)
{
302
ANNEXES
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
OraclePreparedStatement preStatementQualificatifPeres = null;
OraclePreparedStatement preStatementQualificatifProprietes = null;
// On prepare les requetes sur 1 motclef en laissant un '?' comme parametre
try {
requete
=
"
SELECT
DISTINCT
replace(replace(TB_QU_PERE.QUALIFICATIF_SA,' ','_'),',','_') "
+
"
TB_QUALIFICATIF TB_QU_PERE "
FROM
TB_QUALIFICATIF
+
"
TB_QU_EN_COURS.NUM_QUALIFICATIF "
WHERE
'qu_'
TB_QU_EN_COURS,
||
TB_NQUALIFS,
TB_NQUALIFS.NUM_QUALIF_DES
=
+ " AND TB_NQUALIFS.NUM_QUALIF_PERE <> TB_NQUALIFS.NUM_QUALIF_DES "
+ " AND TB_QU_PERE.NUM_QUALIFICATIF = TB_NQUALIFS.NUM_QUALIF_PERE "
+ " AND TB_QU_EN_COURS.NUM_QUALIFICATIF = ? ";
preStatementQualificatifPeres
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
=
requete = " SELECT DISTINCT NUM_QUALIFICATIF, TB_QUALIFICATIF.QUALIFICATIF
LIBELLE, TB_QUALIFICATIF.SUBHEADING LIBELLE_ANG "
+ " FROM TB_QUALIFICATIF "
+ " WHERE TB_QUALIFICATIF.NUM_QUALIFICATIF = ? ";
preStatementQualificatifProprietes
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
=
}
catch(Exception err)
{
System.err.println
err.getMessage());
("
ERREUR
SQLException
:"
+
System.err.println (" A preparation de la requete :" + requete);
}
// ---------------------------//
POUR CHAQUE QUALIFICATIF
// ---------------------------for (int i =0 ; i< qualificatifs.size() ; i++) {
Enregistrement
(Enregistrement)(qualificatifs.elementAt(i));
enrQualificatif
=
numQualificatif = enrQualificatif.Colonne1().toString();
strClass = enrQualificatif.Colonne2().toString();
out.println("
<owl:ObjectProperty
enrQualificatif.Colonne2().toString() + "\"> ");
rdf:ID=\""
+
// -----------------------------//
PERES DU QUALIFICATIF
// -----------------------------try {
Vector qualificatifPeres = new Vector();
// On complete le statement
preStatementQualificatifPeres.setString(1, numQualificatif);
// Execution de la requête
resultatRequete
(OracleResultSet)preStatementQualificatifPeres.executeQuery();
=
while (resultatRequete.next())
{
Enregistrement
Enregistrement(resultatRequete.getObject(1));
.........................
enrCourant
=
new
qualificatifPeres.addElement(enrCourant);
}
resultatRequete.close();
303
ANNEXES
// Ecriture de la class
if (qualificatifPeres.size() == 0) {
} else if (qualificatifPeres.size() == 1) {
Enregistrement
(Enregistrement)(qualificatifPeres.elementAt(0));
out.println("
=
<rdfs:subPropertyOf> ");
out.println("
enrCourant.Colonne1().toString() + "\" /> ");
out.println("
enrCourant
<owl:ObjectProperty
rdf:about=\"#"
+
</rdfs:subPropertyOf> ");
} else {
out.println("
<rdfs:subPropertyOf> ");
out.println("
<intersectionOf rdf:parseType=\"Collection\"> ");
for (int j =0 ; j< qualificatifPeres.size() ; j++) {
Enregistrement
(Enregistrement)(qualificatifPeres.elementAt(j));
out.println("
enrCourant.Colonne1().toString() + "\" /> ");
enrCourant
=
<owl:ObjectProperty rdf:about=\"#" +
}
out.println("
</intersectionOf> ");
out.println("
</rdfs:subPropertyOf> ");
}
}
catch(Exception err)
{
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
out.println("
</owl:ObjectProperty> ");
// Retour chariot
out.println(" ");
} // Fin For
// ---------------------------------------------------------------------------//
MOTCLEFS QUALIFIES
// ---------------------------------------------------------------------------Vector motclefsQualifies = new Vector();
String numMotclefAssocie = new String();
String numQualificatifAssocie = new String();
strClass = new String();
try {
requete
=
"
SELECT
DISTINCT
TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF,
TB_MOTCLEFS_FICHE.NUM_MOTCLEF, replace(replace(MOTCLEF_SA || '_qu_' || QUALIFICATIF_SA
,' ','_'),',','_') MOTCLEF_QUALIFIE "
+ " FROM TB_MOTCLEFS_FICHE, TB_MOTCLEFS, TB_QUALIFICATIF "
+ " WHERE TB_MOTCLEFS.NUM_MOTCLEF = TB_MOTCLEFS_FICHE.NUM_MOTCLEF "
+ " AND TB_QUALIFICATIF.NUM_QUALIFICATIF <> 83 "
+ " AND ROWNUM < 100 "
+
"
AND
TB_MOTCLEFS_FICHE.NUM_QUALIFICATIF "
TB_QUALIFICATIF.NUM_QUALIFICATIF
=
+ " ORDER BY 1 ";
// On prepare la requete
preStatement
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
// Execution de la requête
resultatRequete = (OracleResultSet)preStatement.executeQuery();
while (resultatRequete.next())
{
304
=
ANNEXES
Enregistrement
enrCourant
=
new
Enregistrement(resultatRequete.getObject(1),resultatRequete.getObject(2),resultatRequete
.getObject(3));
............................... motclefsQualifies.addElement(enrCourant);
}
resultatRequete.close();
preStatement.close();
}
catch(Exception err)
{
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
OraclePreparedStatement preStatementQualificatif = null;
OraclePreparedStatement preStatementMotclef = null;
// On prepare les requetes sur 1 motclef en laissant un '?' comme parametre
try {
requete = " SELECT DISTINCT 'qu_' || replace(replace(QUALIFICATIF_SA,'
','_'),',','_'),
TB_QUALIFICATIF.QUALIFICATIF
LIBELLE,
TB_QUALIFICATIF.SUBHEADING
LIBELLE_ANG "
+ " FROM TB_QUALIFICATIF "
+ " WHERE TB_QUALIFICATIF.NUM_QUALIFICATIF = ? ";
preStatementQualificatif
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
=
requete = " SELECT DISTINCT replace(replace(MOTCLEF_SA,' ','_'),',','_'),
TB_MOTCLEFS.MOTCLEF LIBELLE, TB_MOTCLEFS.KEYWORD LIBELLE_ANG "
+ " FROM TB_MOTCLEFS "
+ " WHERE TB_MOTCLEFS.NUM_MOTCLEF = ? ";
preStatementMotclef
(OraclePreparedStatement)connexionBase.prepareStatement(requete);
=
}
catch(Exception err)
{
System.err.println
err.getMessage());
("
ERREUR
SQLException
:"
+
System.err.println (" A preparation de la requete :" + requete);
}
// ---------------------//
POUR CHAQUE MOTCLEF
// ---------------------for (int i =0 ; i< motclefsQualifies.size() ; i++) {
Enregistrement
(Enregistrement)(motclefsQualifies.elementAt(i));
enrMotclef
=
numQualificatifAssocie = enrMotclef.Colonne1().toString();
numMotclefAssocie = enrMotclef.Colonne2().toString();
strClass = enrMotclef.Colonne3().toString();
out.println("
<owl:Class rdf:ID=\"" + enrMotclef.Colonne3().toString() +
"\"> ");
out.println("
<rdfs:subClassOf> ");
out.println("
<owl:Restriction> ");
// ------------------------//
QUALIFICATIF
// ------------------------try {
Vector qualificatif = new Vector();
// On complete le statement
preStatementQualificatif.setString(1, numQualificatifAssocie);
// Execution de la requête
305
ANNEXES
resultatRequete
(OracleResultSet)preStatementQualificatif.executeQuery();
=
while (resultatRequete.next())
{
Enregistrement
Enregistrement(resultatRequete.getObject(1));
enrCourant
..............................
=
new
qualificatif.addElement(enrCourant);
}
resultatRequete.close();
// Ecriture de la class
if (qualificatif.size() == 1) {
Enregistrement
(Enregistrement)(qualificatif.elementAt(0));
enrCourant
out.println("
enrCourant.Colonne1().toString() + "\" /> ");
=
<owl:onProperty rdf:resource=\"#" +
}
}
catch(Exception err)
{
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
// ------------------------//
MOTCLEF
// ------------------------try {
Vector motclef = new Vector();
// On complete le statement
preStatementMotclef.setString(1, numMotclefAssocie);
// Execution de la requête
resultatRequete = (OracleResultSet)preStatementMotclef.executeQuery();
while (resultatRequete.next())
{
Enregistrement
Enregistrement(resultatRequete.getObject(1));
enrCourant
...................................
=
new
motclef.addElement(enrCourant);
}
resultatRequete.close();
// Ecriture de la class
if (motclef.size() == 1) {
Enregistrement
(Enregistrement)(motclef.elementAt(0));
enrCourant
out.println("
enrCourant.Colonne1().toString() + "\" /> ");
}
=
<owl:someValuesFrom rdf:resource=\"#" +
...................................................................
}
catch(Exception err)
{
System.err.println (" ERREUR SQLException :" + err.getMessage());
System.err.println ("
A la requete :" + requete);
}
out.println("
out.println("
out.println("
</owl:Restriction> ");
</rdfs:subClassOf> ");
</owl:Class> ");
out.println(" ");
} // Fin For
// Ecriture de la fin du fichier
306
ANNEXES
out.println(FIN_OWL);
// Fermetures
try {
preStatementMotclefPeres.close();
preStatementMotclefProprietes.close();
connexionBase.close();
cpool.close();
out.close();
}
catch (Exception err) {
System.err.println (" ERREUR finally :" + err.getMessage());
}
}
public class Enregistrement {
Object colonne1;
Object colonne2;
Object colonne3;
Object colonne4;
public Enregistrement (Object colonne1) {
this.colonne1 = colonne1;
}
public Enregistrement (Object colonne1, Object colonne2) {
this.colonne1 = colonne1;
this.colonne2 = colonne2;
}
public Enregistrement (Object colonne1, Object colonne2, Object colonne3) {
this.colonne1 = colonne1;
this.colonne2 = colonne2;
this.colonne3 = colonne3;
}
public Enregistrement (Object colonne1, Object colonne2, Object colonne3, Object
colonne4) {
this.colonne1 = colonne1;
this.colonne2 = colonne2;
this.colonne3 = colonne3;
this.colonne4 = colonne4;
}
public Object Colonne1() {
return colonne1;
}
public Object Colonne2() {
return colonne2;
}
public Object Colonne3() {
return colonne3;
}
public Object Colonne4() {
return colonne4;
}
}
} // End Class
307
ANNEXES
Extrait d e Le xiqu e ( h ttp :/ / w w w .le xiqu e .o rg)
308
ANNEXES
In te rface s d u s e rve u r d ’é valu atio n d e s p ro je ctio n s in té ractive s .
309
ANNEXES
310
311
ANNEXES
Pro ce s s u s glo bal d 'e xp an s io n d e re qu ê te s
312