Cllassification Automatique de Textes Approche Orientee Agent
Cllassification Automatique de Textes Approche Orientee Agent
Cllassification Automatique de Textes Approche Orientee Agent
Magister
en
INFORMATIQUE
Présenté par
MATALLAH Hocine
With the advent of computers and the increasing number of electronic documents stored on various
electronic media and web, especially text data, development of analysis tools and automatic
processing of texts, including automatic text classification has become essential to assist users of these
document collections, to explore and identify all these huge banks of textual data.
And automatic categorization of text, which is to assign a document to one or more categories, is
becoming increasingly recognized as a key technology in the management of intelligence, the results
are useful both for the search information to extract knowledge or on the Internet (search engines),
and at the company (ranking of internal documents, news agencies, etc.).
In respect of different approaches to automatic text classification, described in the prior art, relying
on a conventional architecture based on a single point of view, we introduced a novel use of the
classifier "Naïve Bayes" with texts coded "N-grams, based on Multi-Agent architecture.
The main objective of our work is to improve the performance and efficiency of the classification
model. The reference corpus Reuters will be used to conduct a comparative study of results.
Keywords : Categorization, Classification, Text, Learning, Evaluation, N-gram, Naive Bayes, SMA,
Reuters.
A mon père et mon frère Abdelhadi
Que Dieu les accueille dans son vaste paradis
A ma chère mère
A ma chère femme
A mes enfants
A mes sœurs et mon frère
A toutes les personnes qui m’aiment
Bibliographie
Figures
Figure 1 : Position de notre problème…………………………………………………..…………...3
Figure 1.1 : Exemple de système de classification d’emails……………………………………...13
Figure 1.2 : Démarche de la catégorisation de textes……………………………...……………..18
Figure 2.1 : Répartition des mots utiles et des mots vides dans un corpus……………………..27
Figure 2.2 : Deux exemples de documents………………………………………………………….41
Figure 2.3 : Loi de Zipf………………………………………………………………………………..43
Figure 3.1: Exemples d’hyperplans séparateurs en dimension deux……………………………52
Figure 3.2: Exemple de la méthode du centroïde………………………………………………….55
Figure 3.3 : Exemple de la méthode k-PPV…………………………………………………….…..57
Figure 3.4 : Principe des kPPV………………………………………………………………….…..58
Figure 3.5 : Perceptron monocouche…………………………………………………………….….62
Figure 3.6 : Perceptron multicouche…………………………………………………………….….62
Figure 3.7: Radial Basis Function (RBF)………………….…………………………………….…63
Figure 3.8 : La mesure de similarité Cosinus………………………………………………….…..70
Figure 4.1 : Courbe Rappel-Précision pour trois classifieurs……………………………….…..78
Figure 4.2 : Notions de bruit et de silence………………………………………………………….79
Figure 5.1 : I.A versus l'I.A.D…………………………………………………………………….…..88
Figure 5.2 : Distribution physique……………………………………………………………….…..89
Figure 5.3 : Distribution fonctionnelle………………………………………………………….…..90
Figure 5.4 : L'environnement d'un agent……………………………………………………………94
Figure 5.5 : Objet «versus» Agent……………………………………………………………….…..96
Figure 5.6 : Réactivité…………………………………………………………………………….….100
Figure 5.7 : Proactivité……………………………………………………………………………...101
Figure 5.8 : Le compromis recherché (SMA)……………………………………………………..105
Figure 5.9 : Agents réactifs et cognitifs………………………………..………………………….106
Figure 5.10 : Schéma d'un agent à réflexes simples……………………………………………..108
Figure 5.11 : Schéma d’un agent conservant une trace du monde…………………………….109
Figure 5.12 : Schéma d’un agent ayant des buts…………………………………………………110
Figure 5.13 : Schéma d’agent basé sur l’utilité…………………………………………..……...111
Figure 5.14 : Architectures d’agents en couches…………………………………………………113
Figure 5.15 : Modèle général d’agent apprenant………………………………………………...115
Figure 5.16 : Schéma de principe de l'apprentissage par renforcement………………………116
Figure 6.1 : Nombre de textes par catégories de la collection Reuters………………………..140
Figure 6.2 : Comparaison des résultats obtenus avec les différents N (N-grammes)………..165
Figure 6.3 : Comparaison des résultats obtenus avec ceux des différents algorithmes…..…166
Figure 6.4 : Comparaison des résultats obtenus avec les différents nombres d’agents…..…167
Figure 6.5 : Evaluation des temps d’exécution des systèmes mono et multi-agents………....168
Figure 6.6 : Comparaison des résultats obtenus avec l’approche distribuée……………..….169
Tableaux
Tableau 2.1 : Exemple de la représentation en « sac de mots »………………………………….30
Tableau 2.2 : Table de contingence selon le nombre de documents……………….……………38
Tableau 2.3 : Représentations vectorielles des documents de la figure 2.2…………………….45
Tableau 4.1 : Matrice de contingence de la classe Ci… ………………………………………….76
Tableaux 4.2 : Différents classifieurs et les mesures rappel, précision et F1 associées……..80
Tableau 4.3 : Table de contingence globale…………………………………………….………….81
Tableau 4.4 : Les mesures de performances en classification multi-classes…………….…… 83
Tableau 5.1 : Différences entre objets et agents…………………………………………………..97
Tableau 5.2 : Environnements de développement………………………………………………..121
Tableau 6.1 : Types de corpus………………………………………………………………………136
Tableau 6.2 : Exemple de texte du corpus Reuters-21578………………………………………137
Tableau 6.3 : Principales versions de la collection Reuters…………………………………….138
Tableau 6.4 : Répartition des documents par catégorie………………………………..............140
Tableau 6.5 : Reuters-Top10…………………………………………………………..……………141
Tableaux 6.6 : Matrices de contingence 2-grammes…………………………………………....145
Tableaux 6.7 : Matrices de contingence 3-grammes…………………………………………....147
Tableaux 6.8 : Matrices de contingence 4-grammes…………………………………………....148
Tableaux 6.9 : Matrices de contingence 5-grammes…………………………………………....150
Tableaux 6.10 : Matrices de contingence 6-grammes……………………………………….....151
Tableaux 6.11 : Matrices de contingence 7-grammes……………………………………….....153
Tableaux 6.12 : Matrices de contingence 3 agents……………………………………………..155
Tableaux 6.13 : Matrices de contingence 9 agents……………………………………………..157
Tableaux 6.14 : Matrices de contingence 21 agents…………………………………………....158
Tableaux 6.15 : Matrices de contingence 33 agents…………………………………………....160
Tableaux 6.16 : Matrices de contingence 61 agents……………………………………..……..161
Tableaux 6.17 : Matrices de contingence 99 agents……………………………………..……..163
Tableaux 6.18 : Matrices de contingence 181 agents…………………………………………..164
Tableau 6.19 : Comparaison des résultats obtenus avec les différents N (N-grammes)…...165
Tableau 6.20 : Comparaison des résultats obtenus avec ceux des autres algorithmes…….166
Tableau 6.21 : Comparaison des résultats obtenus avec les différents nombres d’agents....167
Tableau 6.22 : Evaluation des temps d’exécution des systèmes mono et multi-agents………168
Tableau 6.23 : Comparaison des différents résultats avec l’approche distribuée……………169
Introduction 1
----------------------------------------------------------------------------------------------------------------------
Introduction
Apprentissage Analyse de
Automatique Données
Classif.
Textes
Traitement
Automatique
de la Langue
2- Contribution
L’étude que nous avons mené sur les différentes approches de classification de textes conçues par
un programme représentant l'expert qui est capable de résoudre le problème par lui-même ou
concevoir des programmes comme des sortes de penseurs repliés sur eux-mêmes a trouvé sa
limitation lorsque nous avons cherché à développer des modèles plus complexes de classification
de bases de données textuelles gigantesques réalisées habituellement non pas par une seule
personne mais par un groupe de personnes parfois délocalisées.
Ces limitations peuvent être ressenties facilement par une dégradation considérable des
performances des meilleurs classifieurs, en temps de réponse qui augmente proportionnellement
avec la taille des volumes traités et même pour la qualité des résultats.
Nous sommes ainsi naturellement conduits à chercher de meilleures performances en
décentralisant le processus de classification et à donner plus d’autonomie et d’initiative aux
différents modules logiciels spécialisés dans la classification et qui peuvent dialoguer pour
partager leurs connaissances comme des experts humains. Le concept de système multi-agent
propose un cadre de réponse à ces deux enjeux complémentaires (et à première vue
contradictoires) : Autonomie et Organisation. Dans notre mémoire de magistère
intitulé : « Classification Automatique de Textes - Approche Orientée Agent », nous essayons
de réaliser un couplage entre deux grands domaines dans le monde d’informatique qui sont la
classification automatique de textes et le paradigme agent.
L’optique de ce couplage est d’améliorer les performances et l’efficacité des systèmes de
classification de textes.
La particularité de notre approche est le développement et la définition d’un modèle fondée sur
une architecture composée de parties distinctes, chaque partie va traiter le problème de
catégorisation d’une base de documents d’une façon spécifique, mais pouvant communiquer pour
partager leurs connaissances.
Le paradigme Multi Agent serait ici appliqué dans plusieurs contextes :
Chaque agent dans le système fera sa propre classification pour le même texte (Autonomie).
La décision finale sera prise après un vote majoritaire (Collaboration)
Introduction 4
----------------------------------------------------------------------------------------------------------------------
Qui veut dire que le texte sera catégorisé dans la classe qui a été nommé par le plus grand nombre
d’agents.
Pour l’évaluation de nos propositions, selon l’opinion qui y est exprimée, nous avons utilisé le
corpus Reuters 21578 Top10 composé des dix catégories les plus importantes.
3- Organisation du mémoire
Ce mémoire va être organisé de la façon suivante : Un premier chapitre préliminaire pour définir
l’ensemble des concepts de base du contexte étudié. Un état de l’art va être étalé au cours des
chapitres 2, 3 et 4 des techniques employées dans les différentes phases du processus de
classification automatique de textes, le cinquième chapitre fera l’objet d’une présentation
générale de l’univers des systèmes multi-agents, alors que le dernier chapitre est consacré à
motiver toutes les options entreprises ainsi que nos contributions méthodologiques et les résultats
expérimentaux.
Ø Dans le premier chapitre, nous présentons un aperçu sur l’histoire de la discipline, ensuite
nous définissons la classification et les différents jeux de mots utilisés : classification,
catégorisation ou clustering. Les différents objectifs et intérêts et attendus de la classification
ainsi que les confluents avec d’autres disciplines comme le Text Mining ou Recherche
d’Informations seront exposés par la suite puis nous décrivons le processus général de la
catégorisation de textes avec toutes ces étapes, pour en finir avec les problèmes spécifiques aux
textes lors de l’apprentissage automatique.
Ø Dans le deuxième chapitre, nous allons exposer les différentes opérations de prétraitement
nécessaires avant de commencer à coder un texte. La définition et le choix des descripteurs ou
termes, qui vont servir à représenter les documents, c’est un choix primordial et important dans la
catégorisation de textes. La réduction de dimensionnalité qui va servir à diminuer la taille du
vocabulaire avant d’appliquer les techniques de classification les plus complexes et enfin
l’attribution des poids à ces termes. Tous ces points vont être étalés dans cette partie.
Ø Dans le troisième chapitre nous nous contentons d’exposer les méthodes de classification les
plus utilisées dans la littérature en insistant sur les caractéristiques, les avantages et les limites de
chaque méthode, mais avant ceux-ci nous allons introduire la matière en positionnant notre
problème dans un cadre d’apprentissage supervisé pour que le choix de la méthode soit adéquat.
Quelques mesures de similarité et formules pour calcul de distance, utilisées dans quelques
techniques de classification, seront exposées en fin de chapitre.
Ø Le quatrième chapitre va identifier les différents indicateurs employés pour évaluer et
mesurer les performances des classifieurs pour pouvoir les comparer ultérieurement.
Ø Le cinquième chapitre est consacré aux SMA, en commençant par répondre à la question
pourquoi distribuer l’intelligence? On définira par la suite les différents concepts de base se
rapportant au paradigme agent avant de présenter les différents modèles d’agents, l’apprentissage
des agents et des SMA pour en conclure par les méthodologies de conception d’un SMA.
Ø Le sixième chapitre va synthétiser tous nos efforts fournis dans cette problématique de
recherche. On l’entamera par une description générale de notre approche, puis on enchainera par
les motivations et les justifications de toutes les solutions adoptées pendant tout le processus, en
commençant par les n-grammes pour représenter nos textes puis Naive Bayes pour entrainer notre
modèle et classer de nouveaux textes, ensuite la précision, le rappel et la F-Measure pour évaluer
Introduction 5
----------------------------------------------------------------------------------------------------------------------
notre classifieur construit et enfin les SMA pour une distribution de la classification. Cette
dernière alternative orientée agent est considérée comme la marque principale de l’approche
proposée. Une description de la base de texte utilisée pour l’évaluation à savoir Reuters va être
donnée par la suite. Et enfin de manière à montrer les améliorations apportées par notre approche,
nous décrivons les expérimentations réalisées sur des données issues de dépêches de presse
Reuters-Top10, et des comparaisons vont être faites pour comparer les performances des
approches classiques et distribuées.
Ø Enfin, nous concluons ce mémoire en résumant les contributions que nous avons pu apporter,
et en évoquant les suites de ce travail et les perspectives de recherche dans le domaine.
Classification automatique de textes 6
-----------------------------------------------------------------------------------------------------------------
Chapitre 1
Classification automatique
de textes
1.1- Introduction
La classification automatique de textes consiste à regrouper de manière automatisée des
documents qui se ressemblent suivant certains critères à savoir les critères observables tels
que le type du document, l'année, la discipline, l'édition, etc... ou le critère du contenu.
Elle connaît ces derniers temps un fort regain d’intérêt. Cela est dû essentiellement à la forte
croissance des documents numériques disponibles et à la nécessité de les organiser de façon
rapide.
La classification de textes est une tâche générique qui consiste à assigner une ou plusieurs
catégories, parmi une liste prédéfinie, ou non à un document.
Actuellement, la classification de textes est un domaine de recherche très actif et
l’automatisation de cette opération est devenue un enjeu pour la communauté scientifique, les
travaux évoluent considérablement depuis une vingtaine d’années et plusieurs modèles ont vu
le jour comme le filtrage (classification supervisée bi-classe), le routage (classification
supervisée multi-classe) ou le classement ordonnée (classement des textes par ordre de
pertinence pour chaque catégorie).
Avec ces modèles, des méthodologies de tests et des outils d’évaluation ont été mises en
place. Les méthodes de représentation ainsi que les prétraitements correspondants sont
maintenant bien connus. Les algorithmes de classification fonctionnent correctement mais
déterminer les avantages des uns par rapport aux autres reste souvent délicat ou même
améliorer les performances de la même méthode en intégrant d’autres paradigmes comme
nous le faisons nous ici dans le présent mémoire reste toujours un domaine de recherche très
prometteur.
Le domaine du traitement intelligent de données textuelles regroupe tout les outils et
méthodes capables d’extraire des informations de textes écrits dans une langue naturelle.
Il existe essentiellement deux domaines de recherche qui traitent cette problématique avec
chacune ses propres méthodes :
1- Les approches issues de l’analyse de données et de la statistique étudient et chercher
surtout à proposer des dispositifs aux statisticiens et aux linguistes pour leur permettre
d’analyser les grandes bases de données textuelles en fournissant des informations
synthétiques sur les corpus. Les logiciels d’analyse de corpus qui fournissent des listes de
fréquence de mots et les représentations graphiques issues de l’analyse factorielle des
correspondances font partie de cette catégorie.
2- Les approches qui proposent des systèmes de type « boite noire », ces méthodes
traitent les documents de façon automatique sans intervention humaine. Elles réalisent
souvent des fonctions de bas niveau : analyse lexicale, analyse syntaxique de surface,
recherche d’information par mots-clés. Les moteurs de recherche popularisés avec le réseau
Internet présentent un exemple typique des applications qui s’appuient sur cette approche.
Dans ce chapitre préliminaire, nous allons entreprendre notre sujet en répondant à la question
pourquoi automatiser la classification ? Puis par rappeler de l’ancienneté de cette discipline,
ensuite définir la classification et les différents jeux de mots utilisés dans la discipline, ensuite
éclaircir la notion de classe et la notion de catégorisation déterministe et floue. Les différents
objectifs et intérêts et attendus de la discipline ainsi que les confluents avec d’autres
disciplines comme le Text Mining ou Recherche d’Informations seront exposés par la suite.
Nous finirons par développer la démarche classique d’un système de classification
automatique de textes de la représentation des documents jusqu’aux évaluations des résultats
Classification automatique de textes 9
-----------------------------------------------------------------------------------------------------------------
ainsi que les différentes contraintes qui s’opposent au processus qui sont soit liées à la nature
des données traitées (textuelles) soit au corpus lui-même soit aux techniques de représentation
ou même le type de classifieur.
Ø Dans ce qui suit notre travail va être concentré sur la catégorisation de textes (la
classification supervisée).
Classification automatique de textes 12
-----------------------------------------------------------------------------------------------------------------
Courrier urgent
Courrier pour
le PDG
Nouveau Email
? Courrier sur les
concurrents
Boite de
réception
Courrier sur les
clients
Courrier
personnel
Courrier inutiles
Ce système organise des emails dans des boîtes aux lettres qui correspondent chacune à une
classe qui sont de différentes natures (« mails urgents », « Mails du Directeur général »,etc…)
Cependant quand il s’agit d’effectuer une classification multi-classe qui permet de transmettre
le document vers le ou les catégories(s) le(s) plus approprié(s), on parle alors de routage.
Cette classification muti-classes, selon le cas, peut être disjointes ou non.
Ø Recherche d’information
Ø Correction orthographique/grammaticale
Ø Traduction automatique
Ø Résumé automatique
Ø Question/réponse (interfaces en langage naturel)
Ø La veille technologique
Et notamment
Evaluation du classifieur
Codage des
Documents documents Classifieur
d’apprentissage d’apprentissage
Documents
Déduction de classés
la classe
Codage des
Nouveaux nouveaux
Documents documents à classer
à classer
Figure 1.2 : démarche de la catégorisation de textes
1.12.1- Redondance(Synonymie)
La redondance et la synonymie permettent d’exprimer le même concept par des expressions
différentes, plusieurs façons d’exprimer la même chose.
Cette difficulté est liée à la nature des documents traités exprimés en langage naturel
contrairement aux données numériques. LE FEVRE illustre cette difficulté dans l’exemple du
chat et l’oiseau : mon chat mange un oiseau, mon gros matou croque un piaf et mon félin
préféré dévore une petite bête à plumes (Lefèvre, 2000).
La même idée est représentée de trois manières différentes, différents termes sont utilisés
d’une expression à une autre mais en fin compte c’est bien le malheureux oiseau qui est
dévoré par ce chat.
Lors d’une représentation vectorielle d’un document, ces termes sont représentés séparément,
et les occurrences du concept sont dispersées. Il est alors important de rassembler ces termes
en un groupe sémantique commun.
Pour y remédier, il est alors intéressant de concevoir une ontologie afin de cerner les sens des
termes, naturellement, cela engendre des coûts supplémentaires pour sa réalisation et sa
maintenance.
Classification automatique de textes 19
-----------------------------------------------------------------------------------------------------------------
1.12.2- Polysémie (Ambiguïté)
A la différence des données numériques, les données textuelles sont sémantiquement riches,
du fait qui sont conçues et raisonnées par la pensée humaine. Contrairement des langages
informatiques, le langage naturel, autorise des violations des règles grammaticales
engendrant plusieurs interprétations d’un même propos. Un mot possède, dans différents cas,
plus d’un sens et plusieurs définitions lui sont associées.
Par conséquent, à cause de la polysémie, les mots seuls sont parfois de mauvais descripteurs..
Le mot livre peut désigner une unité monétaire, ou un bouquin. Le mot avocat peut désigner
le fruit, le juriste, ou même au sens figuré, la personne qui défend une cause. Le mot table de
cuisine ce n’est pas le même que dans table de multiplication. Le mot pièce peut correspondre
à une pièce de monnaie par exemple, ou à une pièce dans une maison, de même pour pavillon,
bloc, glace, etc..
1.12.3- L’homographie
Deux mots sont dits homographes si ‘ils s’écrivent de la même façon sans forcément avoir la
même prononciation. L’homographie est une sorte d’ambigüité supplémentaire. (Ex : avocat
en tant que fruit et avocat en tant que juriste)
L’homographie et l’ambiguïté génère du bruit qui va causer une dégradation de précision
(indicateur nécessaire pour mesurer la performance du classifieur). Il sera alors préférable
d’ôter ces ambigüités.
1.12.4- La graphie
Un terme peut comporter des fautes d'orthographe ou de frappe comme il peut s'écrire de
plusieurs manières ou s’écrire avec une majuscule. Ce qui va peser sur la qualité des
résultats. Parce que si un terme est orthographié de deux manières dans le même document
(Ghelizane, Relizane), la simple recherche de ce terme avec une seule forme graphique
néglige la présence du même terme sous d’autres graphies, ce qui va influencer les résultats
puisque les différentes graphies vont être traitées séparément. Néanmoins du point de vue
pratique, le fait qu’un terme inconnu est proche d'un autre terme prouve qu'il a été mal
orthographié.
Toujours dans ce contexte, (Loupy & El-Bèze, 2000) et (Loupy, 2000) affirment que la
graphie peut donner une information relative au sens du terme employé. Prenons par exemple
le cas pour le mot Histoire dont la majuscule indique qu’il s’agit de la discipline étudiant le
passé et non d’un roman ou une blague. La prise en compte de toutes ces variations
morphologiques pour la classification automatique de textes n’est pas étudiée dans ce
mémoire.
1.12.9- Sur-apprentissage
Le nombre de termes très important et très varié qui ne se répètent dans tous les textes va
causer énormément de creux dans le tableau de grande dimension (textes*termes) qui peut
provoquer du sur-apprentissage qui s’explique par le fait que le modèle n’arrive pas à bien
classer les nouveaux textes, pourtant il l’a bien fait dans la phase d’apprentissage en classant
correctement les textes de la base d’apprentissage.
Pour limiter le sur-apprentissage, on doit sélectionner des termes pour réduire la
dimensionnalité. D’après les expériences antérieures, le nombre de termes doit être limité par
rapport au nombre de textes de la base d’apprentissage.
Quelques auteurs recommandent d’utiliser au moins 50 à100 fois plus de textes que de termes.
En général le nombre de textes d’apprentissage est limité, c’est pour cela on cherche à agir
sur le nombre des termes utilisés en les diminuant, pour éviter ce sur-apprentissage.
Sans bien sûr pénaliser le système en supprimant des termes pertinents (Sebastiani, 2002).
1.13- Conclusion
La catégorisation de textes s’est avérée au cours des dernières années comme un domaine
majeur de recherche pour les entreprises comme pour les particuliers.
Ce dynamisme est en partie dû à la demande importante des utilisateurs pour cette
technologie. Elle devient de plus en plus indispensable dans de nombreuses situations où la
quantité de documents textuels électroniques rend impossible tout traitement manuel.
Nous avons tenté dans ce chapitre1 de définir la classification ainsi que les notions
nécessaires pour l’entame de la suite de ce mémoire.
Codage des textes : Etat de l’art 22
-----------------------------------------------------------------------------------------------------------------
Chapitre 2
Codage des textes : Etat de l’art
2.1- Introduction
L’explosion de la quantité d’informations textuelles provoquée par l'évolution à grande
échelle des outils de communication essentiellement Internet qui est sorti de l’aspect réservé à
un milieu restreint à un aspect de vulgarisation au grand public, a rapidement, fait sentir le
besoin de recherche de mécanismes et outils de traitement automatique des quantités
d’informations diffusées sur le Web.
Ainsi, avec les bases de données multimédia, les dépêches d’agences de presse, les
publications scientifiques, les bibliothèques électroniques, etc... Qui sont consultés
habituellement sur le réseau, on dispose de plus en plus de grandes masses de documents non
ou faiblement structurées, en particulier les documents textuels qui sont considérés comme
étant des documents non structurés, surnommés « documents plats » par quelques auteurs,
c’est-à-dire comme une séquence ou un ensemble de mots sans informations complémentaires
sur le document.
Différents formats HTML, SGML, XML, DOC, PDF, … peuvent être des moyens pour
stocker et représenter ces documents.
Le manque de structure au sein de ces collections volumineuses rend difficile l’accès à
l’information qu’elles contiennent, d’où la nécessité aujourd’hui, de chercher comment
structurer automatiquement ces corpus pour les rendre utilisables d'une façon rapide et
optimale pour y faciliter leurs traitements automatiques et notamment la classification.
Pour pouvoir y appliquer les différentes techniques et algorithmes d’apprentissage, une
transformation de ces documents non ou peu structurés est indispensable.
La transformation ou le codage de ces documents est une préparation à « l’informatisation »
de ces derniers, chaque type de documents comme les images, les vidéos et notamment les
textes dispose de ses propres techniques de codage.
Plusieurs approches de représentation des documents textuels ont été proposées dans ce
contexte, la plupart étant des méthodes vectorielles.
Les principales méthodes de représentation de textes n'utilisent pas d'information
grammaticale ni d'analyse syntaxique des mots : seule la présence ou l'absence de certains
mots est porteuse d'informations.
Un état de l’art des différentes approches de représentation et codage de textes est développé
dans ce chapitre.
2.2- Le texte
La numérisation est une opération qui s’est élargie pour atteindre toutes formes de documents
et notamment les textes, et ce dans le but de leur exploitation sur les réseaux. Cet
élargissement a entraîné derrière lui beaucoup de travaux qui ont un rapport surtout avec le
formatage et la normalisation des textes qui ont été développés pour être à la fois rapide et
efficace suite au développement de l’Internet.
Depuis les débuts de la numérisation des données textuelles, le texte a été considéré, et c’est
encore vrai aujourd’hui dans la plupart des cas, comme tout simplement une séquence de
caractères. Ces caractères peuvent être représentés dans différents espaces de codage, le plus
courant étant le codage ASCII admettant 256 caractères différents, mais en dépit ce codage
ne prenait pas en charge les langues comme l’arabe ou le chinois. Afin de pouvoir représenter
ces langues, différentes normes de codages sont crées et plus largement utilisées aujourd’hui
comme la norme UNICODE qui permet la représentation de 65536 caractères.
Pour la plupart des langues (occidentales et orientales font partie), l’espace de codage au
niveau caractère n’est pas un espace très informatif car un caractère seul ne présente pas une
information sémantique riche. Un texte est plutôt considéré comme une séquence de mots (un
Codage des textes : Etat de l’art 25
-----------------------------------------------------------------------------------------------------------------
mot lui même étant une séquence de caractères) et représenté dans un espace de mots dont la
dimension est plus grande que celle du caractère (Le nombre de caractères possibles est limité
mais en revanche le nombre de mots qu’on peut avoir est énorme), mais dont chaque
dimension est beaucoup plus informative.
Ainsi la représentation informatique de ces textes nécessite un traitement spécifique.
Mais Très vite, les méthodes de se sont heurtées au fait qu’un texte n’est pas un sac dans
lequel seraient mélangées en vrac ses propres éléments. Le moins qu’on puisse dire sur un
texte qu’il est une chaîne linéaire, donc un espace ordonné. (« Voile du bateau » et « Bateau à
voile » ont des sens complètement différents).
Evoquer la composition d’un texte fait appel à deux définitions de la composition : il s’agit à
la fois de déterminer les unités qui vont constituer le texte, tels les atomes qui composent les
molécules, et de constituer un texte c’est-à-dire de distribuer, d’organiser ces unités afin
d’atteindre certaines idées, comme une molécule qui possède certaines propriétés en raison de
sa structure.
Plusieurs approches de représentation dans cet espace sont proposées dans la littérature. Nous
détaillons par la suite ces différentes représentations.
2.3- Prétraitements
Nous allons aborder ultérieurement les différentes méthodes de représentation des documents.
Ces représentations sont toutes effectuées à base de mots qui sont eux-mêmes une séquence
de caractères. Il est donc nécessaire d’effectuer, au préalable du codage d’un document dans
un espace de mots, une transformation permettant le passage de l’espace du caractère à un
espace de mots.
Le prétraitement des textes est une phase capitale du processus de classification, puisque la
connaissance imprécise de la population peut faire échouer l’opération.
Après la première opération que doit effectuer un système de classification à savoir la
reconnaissance des termes utilisés, nous devons expurger le plus possible les informations
inutiles des documents afin que les connaissances gardées soient aussi pertinentes qu'il se
peut. En effet dans les documents textuels de nombreux mots apportent peu (voir aucune)
d'informations sur le document concerné. Les algorithmes dits de ”Stop Words” s'occupent
de les éliminer. Un autre traitement nommé ”Stemming” permet également de simplifier les
textes tout en augmentant leurs caractères informatifs comme d’autres méthodes qui
proposent de supprimer des mots de faible importance.
Toutes ces transformations et méthodes font partie de ce qu’on appelle le prétraitement.
Plusieurs d’entre elles sont spécifiques à la langue des documents (on ne fait pas le même
type de prétraitement pour des documents écrits en anglais qu’en français ou encore en arabe).
Le prétraitement est généralement effectué en six étapes séquentielles :
1. La segmentation
2. Suppression des mots fréquents
3. Suppression des mots rares
4. Le traitement morphologique
5. Le traitement syntaxique
6. Le traitement sémantique
2.3.1- La segmentation
La première opération que doit effectuer un système de classification est la reconnaissance
des termes utilisés. La segmentation consiste à découper la séquence des caractères afin de
regrouper les caractères formant un même mot.
Codage des textes : Etat de l’art 26
-----------------------------------------------------------------------------------------------------------------
Habituellement, cette étape permet d’isoler les ponctuations (reconnaissance des fins de
phrase ou de paragraphe), ensuite découper les séquences de caractères en fonction de la
présence ou l’absence de caractères de séparation (de type « espace », « tabulation » ou «
retour à la ligne »), puis regrouper les chiffres pour former des nombres (reconnaissance
éventuelle des dates), de reconnaitre les mots composés.
Eventuellement, nous pouvons unifier les écritures en lettre majuscules ou en lettres
minuscules avant ou après les opérations déjà indiquées.
C’est un traitement de surface assez simple dans le principe, mais particulièrement difficile à
réaliser de manière exacte sur les documents ayant beaucoup de bruits et des représentations
assez variées.
Notons que pour des corpus multilingues, une technique de segmentation moins intuitive a
été proposée : la segmentation en n-grammes.
Une répartition des mots outils par rapport les mots utiles dans un corpus est représentée dans
la figure 2.1.
Codage des textes : Etat de l’art 27
-----------------------------------------------------------------------------------------------------------------
Figure 2.1 : Répartition des mots utiles et des mots vides dans un corpus
L’élimination systématique du corpus des mots vides peut se faire par l’intermédiaire d’une
liste prédéfinie de mots pour chacune des langues étudiées.
Cependant, l'établissement d'une telle liste peut poser des problèmes. D'une part, il n'est pas
facile de déterminer le nombre de mots exacts qu'il faut inclure dans cette liste. D'autre part,
cette liste est intimement liée à la langue utilisée et n'est donc pas transposable directement à
une autre langue.
Par exemple Sahami.M dans dans sa thése de PHD (Sahami, 1999) définit une liste de 570
mots courant en anglais, plus une liste de 100 mots très fréquents sur le web.
Comme on peut les écarter en fixant un seuil maximal de fréquence, pour ne pas sélectionner
les mots présents dans une grande partie du corpus.
Une autre manière d’éliminer les mots vides d’un texte passe par l’utilisation d’un étiqueteur
syntaxique (Part of Speech Tagger) – Les mots sont écartés en fonction de leur étiquette
syntaxique sans avoir besoin de liste prédéfinie.
Enfin, un dernier point concernant les opérateurs de négation (ex : pas, ne, non) qui peuvent
être supprimés sans gravité. Dans un contexte de classification de textes, une notion affectée
par un opérateur de négation reste inchangée contrairement à une négation dans un contexte
de recherche d’information qui peut être déterminante pour les résultats attendus. Dans le
cadre d’une recherche documentaire, le but à atteindre pour l’utilisateur de rechercher
l’information en lien avec la requête. En revanche, dans le cade d’une classification de textes
en plusieurs catégories, les opérateurs de négation ne vont guère influencer les résultats
puisque l’on cherche à distinguer les thèmes les uns des autres. Par exemple les deux phrases
suivantes : il est malade et il n’est pas malade traitent toutes les deux le même sujet de santé,
et le terme malade, avec ou sans négation, est un terme décrivant cette notion de santé. En
évidence, elles ont un sens opposé mais sont toutes liées au sujet de santé.
Codage des textes : Etat de l’art 28
-----------------------------------------------------------------------------------------------------------------
2.3.3- Suppression des mots rares
En général, les auteurs cherchent également à supprimer les mots rares, qui n’apparaissent
qu’une ou deux fois sur un corpus, afin de réduire de façon appréciable la dimension des
vecteurs utilisés pour représenter les textes, puisque, d’après la loi de Zipf (Voir Section
2.6.1.3), ces mots rares sont très nombreux.
D'un point de vue linguistique, la suppression de ces mots n'est pas nécessairement justifiée :
certains mots peuvent être très rares, mais très informatifs. Néanmoins, ces mots ne peuvent
pas être utilisés par des méthodes à bases d'apprentissage du fait de leur très faible fréquence ;
il n’est pas possible de construire de statistiques fiables à partir d’une ou deux occurrences ;
Une des méthodes communément retenues pour supprimer ces mots consiste à ne considérer
que les mots dont la fréquence totale est supérieure à un seuil fixé préalablement.
Notons enfin, que les mots ne contenant qu’une seule lettre sont généralement écartés pour les
mêmes raisons précédentes, comme par exemple le mot « D » dans la « Vitamine D » ou le
mot « C » dans le « langage C ».
Ø Le stemming ou la désuffixation regroupe sous un même terme (stem) les mots qui ont la
même racine. L’extraction des stems se fait par la technique de racinisation (ou stemming) qui
utilise à la place des dictionnaires, des algorithmes simples basées sur des règles de
remplacement de chaînes de caractères pour supprimer les suffixes les plus utilisés.
Le stemming est un traitement linguistique moins approfondie que la lemmatisation, ayant
deux avantages : Plu rapide que la lemmatisation (algorithmes simples ne faisant pas
référence aux dictionnaires et règles de dérivation) et la possibilité de traiter les mots
inconnus sans traitement spécifique. (Clech, 2004)
Néanmoins, sa précision et sa qualité sont naturellement inférieures, du fait qu’elle ne gère
que les règles principales et ne peut pas prendre en compte les nombreuses exceptions des
règles de dérivations. Par exemple, en français l’une des règles préconise de supprimer le
« e » final de chaque mot, le mot « fraise » est alors transformé en « frais » ce qui suppose
une relation entre les deux mots qui n’existe pas. Qui fait de cette opération dépendante de la
langue, nécessitant une adaptation pour chaque langue utilisée.
Plusieurs stemmers ont été développés pour déterminer les racines lexicales, l’algorithme le
plus couramment utilisé pour la langue anglaise est celle de PORTER (Porter, 1980).
Ø La lemmatisation conserve, non pas les mots eux-mêmes, mais leur racine ou lemme. Ce
principe permet de prendre en compte les variations flexionnelles (singulier/pluriel,
conjugaisons,…) ou dérivationnelles (substantifs, verbes, adjectifs,…) en regroupant sous le
même terme tous les mots de la même famille et donc d’améliorer la classification.
La lemmatisation est donc une tâche plus compliquée à mettre en œuvre que la recherche de
racines, puisqu'elle elle s’appuie sur des outils de TALN, ce qui nécessite beaucoup de
Codage des textes : Etat de l’art 29
-----------------------------------------------------------------------------------------------------------------
ressources linguistiques (dictionnaires, règles de dérivation, etc..). De plus les résultats
contiennent encore des erreurs à cause des problèmes de polysémie (ambiguïté) et
d’incomplétude des dictionnaires.
Un algorithme efficace, nommé TreeTagger (Schmid, 1994) a été développé pour les langues
anglaise, française, allemande et italienne. Cet algorithme utilise des arbres de décision pour
effectuer l'analyse grammaticale, puis des fichiers de paramètres spécifiques à chaque langue.
Toutes les études montrent que les performances des systèmes de classification, après
lemmatisation, sont plus nettement supérieures à celles avant lemmatisation.
X2univarié (T,C)
Cette mesure a été utilisée pour la sélection des descripteurs dans (Schütze et all, 1995) et
(Wiener et all, 1995).
Ø Le Chi-deux mutivarié (X2mutivarié) est une méthode supervisée permettant la sélection
de termes en prenant compte de leurs fréquences dans chaque classe comme l’univarié
ajoutées aux interactions termes/termes et termes/classes. L’idée consiste à extraire les
meilleurs termes qui caractérisent une classe par rapport aux autres. Les principales
caractéristiques de cette méthode sont évoquées dans (Jalam ,2003) et (Clech, 2004).
Un tableau de contingence (termes - classes) de dimension N x M sera construit, N
étant le nombre total de termes, M le nombre de documents.
Cette mesure a été utilisée pour la sélection des descripteurs dans (Jalam ,2003) dans
le cadre de la catégorisation de textes multilingues.
Ø Réduction locale : Chaque classe est caractérisée par un profil composé d’un ensemble de
termes, et chaque texte sera représenté par une liste de termes dépendante de la catégorie.
Ø Réduction globale: Contrairement au cas précédent, un texte est représenté par une seule
liste de termes dans tous le corpus indépendamment des classes.
Codage des textes : Etat de l’art 40
-----------------------------------------------------------------------------------------------------------------
Document 1 Document 2
Cette façon de représenter un texte, est peu informative car elle ne donne pas les informations
nécessaires ni sur les occurrences d’un terme dans le document qui peut être une information
importante pour l’opération de classification, ni sur la longueur du texte.
a- Loi de Zipf :
La répartition des fréquences des termes dans un corpus a été étudiée empiriquement par Zipf
(Zipf, 1949). Zipf est parti d'un principe général avant qu'il énonce cette loi
mathématiquement. Cette loi réaffirme que la distribution des occurrences des mots dans un
corpus donné n'est pas uniforme, certains mots apparaissent très fréquemment, tandis que
d'autres apparaissent très rarement.
Les termes les plus informatifs d’un corpus de textes ne sont pas :
Ø Les termes qui se répètent souvent dans le corpus, qui sont généralement des mots outils.
Les mots les plus fréquents en français sont les mots grammaticaux comme le, la, les, et...
Sur le corpus Reuters, les cinq mots qui se répètent le plus sont : the, of, to, and, in.
Cependant les mots non outils qui apparaissent fréquemment contiennent sûrement des
informations fortes sur la sémantique du texte.
Ø Ni les termes les moins fréquents du corpus présents dans un seul ou quelques textes
rédigés par des auteurs utilisant un vocabulaire très particulier ou même des termes issus
de fautes d’orthographe.
Ces deux observations précédentes ne se contredisent pas et peuvent être récapitulées de la
manière suivante : « Un mot est informatif dans un document si il y est présent souvent mais
qu’il n’est pas présent trop souvent dans les autres documents du corpus ». (Denoyer, 2004)
La figure 2.3 illustre de manière graphique la loi de Zipf, qui montre clairement l’évolution de
l’importance des mots par rapport leurs fréquences dans un corpus.
Codage des textes : Etat de l’art 43
-----------------------------------------------------------------------------------------------------------------
Les observations de cette loi sur la distribution des fréquences des termes nous conduit à la
suppression des mots fréquents et des mots rares en prenant en considération un seuil fixé
préalablement, qui fait de cette loi une première méthode de réduction de dimensionnalité de
l‘espace des descripteurs. Donc il s'agit d’éliminer des termes inutiles pour les algorithmes
d'apprentissage. Cette phase du processus est critique, car les mots écartés sont irrécupérables.
De_ce_fait il faut être très attentif pour ne pas supprimer des mots sémantiquement riches.
b- Représentation TF-IDF :
Le codage TF.IDF a été introduit pour la prise en compte de la loi de Zipf dans le cadre du
modèle vectoriel et qui donne parfois son nom à la méthode vectorielle. Le principe de base
est que l’élément du vecteur représentant un texte se calcule en multipliant un facteur qui
concerne l’importance du terme T dans le texte avec un autre qui concerne l’importance de ce
terme dans tout le corpus :
Lzipf (T) = Poids dans le document * Poids dans le corpus
c- Variantes du TF-IDF :
Il est admis que l'occurrence d'un terme est une information importante, mais cependant, on
considère généralement que TF.IDF ne doit pas être l'identité. Si, par exemple, un mot
apparaît deux fois dans un texte, son importance n'est pas nécessairement deux fois plus
Codage des textes : Etat de l’art 44
-----------------------------------------------------------------------------------------------------------------
grande que s'il n'apparaissait qu'une seule fois. Pour améliorer la pondération des termes
plusieurs variantes du TF ont été proposées :
Le TF peut être égal au nombre d’occurrence du terme, à son log, au log de son log, etc.
L’utilisation du logarithme permet de diminuer l’importance des termes fortement répétés. En
effet un terme à plus d’importance s’il passe de 1 à 2 occurrences que s’il passe de 20 à 21
occurrences. Contrairement au TF, un large consensus existe pour l’IDF.
Le modèle le plus classique est celui pour lequel la première valeur est égale à la fréquence du
mot dans le document notée TF (d , wi ) pour term frequency et la seconde valeur est égale à
æ nbre _ doc ö
Logçç ÷÷ où nbre_doc est le nombre de documents du corpus et DF (wi ) est le
è DF (wi ) ø
nombre de documents qui contiennent le mot i (DF signifie document frequency).
Particulièrement dans ce cas là, cette représentation sera appelée représentation TF-IDF , Elle
correspond à la représentation suivante :
æ nbre _ doc ö
TFIDF(d , wi ) = TF (d , wi ) ´ Logçç ÷÷
è DF (w i ) ø
Le tableau 2.3 inclut un exemple de représentation TF-IDF.
En général, on utilisera une version du vecteur TF-IDF normalisé, comme pour les
représentations fréquentielles, afin d’éviter les problèmes posés par les différentes longueurs
de textes. On aura ainsi, une représentation TF-IDF normalisée.
Plusieurs normalisations sont proposées, parmi elles, une mesure de pondération appelée
TFC qui est similaire à celui de TF-IDF mais qui corrige les longueurs des textes par la
normalisation en cosinus, afin de ne pas favoriser les documents les plus longs.
TF ´ IDF (t k , d j )
TFC (t k , d j ) =
r
å (TF ´ IDF (t , d ))
2
s j
s =1
D’autres pondérations sont aussi utilisées, comme par exemple le LTC (Buckley & all, 1994)
dont l’intérêt est la réduction des effets des différences de fréquences, ou encore le codage à
base d’entropie utilisé par (Dumais, 1991).
Pour conclure(Salton & Buckley, 1988) et (Joachims, 1999) confirment que la représentation
TF-IDF avec toutes ses variantes est la représentation la plus utilisée en recherche
d’information aussi bien en recherche documentaire qu’en classification.
Codage des textes : Etat de l’art 45
-----------------------------------------------------------------------------------------------------------------
2.7- Conclusion
Pour pouvoir appliquer les différents algorithmes d’apprentissage sur les documents de type
textuels, un ensemble de techniques ont été développé pour montrer comment l’information
textuelle est habituellement prise en compte pour la représentation « informatique » de ces
documents. Les différentes approches de représentation informatique de textes sont exposées
dans ce chapitre.
Ainsi avant la codification des documents, un ensemble d’opérations préliminaires doivent
être faites pour épurer le texte de tous les mots inutiles et conserver seulement ceux qui sont
porteurs d’informations et utiles pour le processus de classification. Mais malgré tous les
prétraitements appliqués sur le document, l’espace des descripteurs, qui peuvent être des n-
grammes, des stems, des phrases, des concepts ou tout simplement des mots, reste très grand
et très creux, d’où la nécessité d’une diminution préalable de cet espace.
Plusieurs techniques de sélection des descripteurs ou réduction de dimensionnalité sont
proposées dans la littérature, une bonne partie de ces approches sont étalées dans ce chapitre.
Une fois la liste des descripteurs arrêtés, un degré d’importance ou poids est attribué à tous les
termes présents dans la représentation vectorielle ou probabiliste puisque chaque terme
possède un certain nombre d’occurrences dans le document ou dans le corpus qui est
différents aux autres.
Finalement on peut qualifier notre texte, par fichier « informatique » apte à être employé dans
les différentes méthodes d’apprentissage automatique.
Approches de classification : Etat de l’art 47
-----------------------------------------------------------------------------------------------------------------
Chapitre 3
Approches de classification :
Etat de l’art
Table des matières
3.1- Introduction
Avant de présenter les approches les plus utilisées dans la littérature, en exposant les principes
de base, les particularités de chaque méthode de classification de textes (section 3.3), nous
allons introduire ce chapitre par un petit rappel sur le principe de base de l’apprentissage
automatique et particulièrement le supervisé, après nous pourrons conclure facilement que la
problématique de catégorisation de textes se situe bien dans le cadre de l’apprentissage
supervisé, et pour en finir cette introduction, nous donnerons un aperçu sur la façon avec
laquelle les documents sont classés, le chapitre qui va suivre définit les formules les plus
connues pour le calcul de distance qui va être utilisée dans plusieurs méthodes de
classifications comme les SVM, kPPV ou Rocchio .
Actuellement, plusieurs approches de catégorisation coexistent. Nous citons parmi les plus
utilisées le modèle probabiliste Naïve Bayes, ou les modèles vectoriels de Machine à Vecteur
de Support, les k-plus-proches voisins, Rocchio, ainsi que des modèles à base de règles ou
d’arbre de décision ou encore des approches fondées sur les réseaux de neurones qui ont été
proposées. Chacun de ces modèles possède certains avantages et certains inconvénients. Dans
ce qui suit une liste plus ou moins exhaustive des différents modèles et de leur intérêt
respectif sera présentée. Une description plus détaillée sera accordée à l'approche naïve
bayesienne dans le chapitre 6 qui fera l'objet des modèles de classification dans notre
approche proposée.
marge ( S ) = å min x Îc (d ( xi , S ))
i j
c j ÎC
Ainsi la décision s’appuie sur les SVM pour couper l’espace en deux : d’un côté, ce qui est
dans la catégorie, de l’autre côté, ce qui n’y est pas.
l’approche par SVM permet donc de définir, par apprentissage, un hyperplan dans un espace
vectoriel qui sépare au mieux les données de l’ensemble d’apprentissage en deux classes,
minimisant le risque d’erreur et maximisant la marge entre deux classes. La qualité de
l’hyperplan est déterminée par son écart avec les hyperplans parallèles les plus proches des
points de chaque classe. Le meilleur hyperplan est celui qui a la marge la plus importante.
SVM a été étendu pour les points ne pouvant être séparées de manière linéaire (par exemple
notre cas des vecteurs de documents), en transformant l’espace initial des vecteurs de données
à un espace de dimension supérieure dans lequel les points deviennent séparables
linéairement. Nous trouvons dans (Joachims, 1998) une application efficace des SVM.
La figure 3.1 montre une telle séparation dans le cas d’une séparation linéaire par un
hyperplan.
Approches de classification : Etat de l’art 52
-----------------------------------------------------------------------------------------------------------------
3.2.2- Rocchio
3.2.2.1- Présentation de l’approche
La méthode Rocchio parue dans (Rocchio, 1971), est un classifieur linéaire basée sur le calcul
des mesures de distance, il fait partie des premières techniques de classification supervisée.
Plusieurs améliorations se sont apportés sur le modèle mais la définition présentée ici est celle
de la version initiale.
La catégorisation d’un nouveau document se fait par le calcul de similarité entre les vecteurs
centroïdes des catégories et le vecteur du nouveau document. La catégorie du centroïde le plus
proche est attribuée dans le cas de classification multi-classes disjointes sinon des scores sont
calculés pour les classes puis un seuillage est utilisé pour choisir les classes à attribuer.
Approches de classification : Etat de l’art 55
-----------------------------------------------------------------------------------------------------------------
ND
C1
C2
Cent1
Cent2
C3
Cent3
C1
D1
C2
D2
C3
D3
Y
X Z
Le critère de sélection d’une question est souvent fonction du gain en entropie observé avant
et après l’affectation des individus dans de nouvelles partitions suivant la question considérée
(Quinlan, 1986), (Quinlan, 1993). L’entropie est utilisée comme critère de sélection des
questions pour subdiviser les nœuds de l’arbre. Les individus à répartir dans les feuilles de
l’arbre sont, ici, des documents.
Approches de classification : Etat de l’art 60
-----------------------------------------------------------------------------------------------------------------
Ainsi pour induire l’arbre, il faut rechercher à chaque nœud l’éclatement qui produirait le
meilleur gain en termes pour la sélection des règles, pour cela deux mesures statistiques sont
utilisées : l’entropie et le gain d’information.
Le gain d’information peut être traduit par la quantité d’information apportée à la classe par le
terme choisi. Une valeur importante du gain d’information apporté par le terme implique une
quantité d’informations importante pour classer les documents avec cet attribut qui est
nécessaire.
La mesure appelée gain d’information calcule la réduction attendue de l’entropie des
exemples si un attribut particulier est utilisé. L’algorithme de classification calcule cette
valeur pour chaque attribut et choisit alors celui qui réduit le plus l’entropie, c’est à dire celui
qui permettra le plus nettement possible de séparer les exemples qui restent.
Information Gain(S,A) = Entropie(S) - Somme sur les valeurs de A de (|Sv| * Entropie(Sv) / |S|)
Où S = l’ensemble des exemples,
A est l’attribut utilisé,
Sv = le sous-ensemble de S dont l’attribut a la valeur v.
Couche cachée
ENTREES SORTIE
Couche cachée
Les facteurs principaux d’un réseau RBF à ajuster c’est : Le nombre de neurones de la couche
cachée RBF, les poids des liaisons des neurones RBF et les neurones de sortie, la position des
centres des gaussiennes correspondantes aux neurones RBF, la largeur de ces gaussiennes.
(
P(c j ) ´ P d i c j )
P(c j d i ) =
P(d i )
Comme le but est de discriminer les différentes classes (il suffit d’ordonner les P(cj/di) pour
toutes les classes ; il est inutile d’obtenir la valeur exacte), on peut alors supprimer le terme
P(di) qui est le même pour toutes les classes. P(cj) est la probabilité a priori qui est le plus
couramment estimée par le pourcentage d’exemples ( Dans ce cas pourcentage de documents)
appartenant à la classe cj dans le corpus d’apprentissage.
N (c j )
P(c j ) =
N
( )
Quant à la classification, l’estimation P d i / c j est calculée à partir des deux formules
suivant le modèle utilisé en remplaçant les probabilités par leur estimateur et la classe cj
ayant la probabilité la plus élevée est choisie.
Dans le contexte de catégorisation, ces éléments sont soit des textes soit des classes.
A partir de cette formule très générale, plusieurs distances connues en pratique sont déduites :
Dc(x, y)= max{ |x1 – y1| , |x2 – y2| , ... , |xn – yn| }
Les résultats fournis par un classifieur peuvent varier suivant l’utilisation de telle ou telle
distance, comme par exemple dans les kPPV, Radwan JALAM dans (Jalam, 2003) confirme
bien que le plus proche voisin peut varier selon la distance utilisée, ainsi la distance
Approches de classification : Etat de l’art 69
-----------------------------------------------------------------------------------------------------------------
euclidienne favorise bien les voisins dont tous les descripteurs sont assez proches, cependant
la distance de Manhattan permet de tolérer une distance importante sur l’un des descripteurs.
3.3.2.1- Cosinus
Dans les modèles vectorielles, la mesure du cosinus est la plus utilisée pour définir la
similarité entre un texte et une classe (Sebastiani, 2002) en raison de la stabilité de ses
résultats sur des corpus variés. La similarité de deux éléments (dans notre cas documents)
qu’on veut comparer, peut alors être définie par le cosinus de l’angle séparant les vecteurs des
deux éléments (Salton & McGill, 1983). Par rapport à un simple produit scalaire, cette mesure
présente l’avantage de normaliser les scores de chaque objet en fonction de sa taille, elle-
même pondérée par le poids des termes. Le résultat renvoyé est facilement exploitable ensuite
car c’est une valeur située entre 0 et 1. La valeur 1 indiquant une similarité maximum (les
deux objets sont identiques) et 0 une similarité nulle (les deux objets n’ont absolument rien en
commun). Cette mesure est égale au produit scalaire divisé par les deux vecteurs sont qui
sont déjà normalisés.
Cosinus(i, j) =
å TFIDF ´ TFIDF
wÎiÇ j w ,i w,j
(å TFIDF ) ´ å TFIDF
2
w ,i wÎj
2
w, j
wÎi
α
j
P( x)
D( P Q) = å P( x) ´ log Q( x)
xÎX
æ P( x ) ö
D( P Q) = åç ç ( P ( x ) - Q( x ) ) ´ log ÷÷
xÎX è Q( x ) ø
Tout de même une version symétrisée de la distance de Kullback-leibler pour faciliter la
comparaison avec les autres mesures de similarité existe dans (Haddad, 2002)
Cette mesure de similarité a été utilisée dans différents domaines tel que le traitement des
langages naturels (Carpinto & all, 2001), la recherche d’information pour l’identification des
thèmes (Bigi & all, 2000) ainsi que la reconnaissance de la parole (Dagan, 1999) et (Dagan &
all, 2005).
Dans le contexte de catégorisation de textes, cette mesure est utilisée pour calculer la distance
entre le profil du texte et le profil de la classe comme suit :
ìï æ P(tk , ci ) öüï
KLD (ci , d j ) = å í(P(tk , ci ) - P(tk , d j ))´ log ç ÷ý
è P(tk , d j ) øïþ
ïî ç ÷
Dans son calcul, quatre cas sont pris en considération :
· (tk Î dj) et (tk Î ci) i.e : le terme tk apparaît dans le profil de la catégorie et dans le
profil du document.
· (tk Î dj) et (tk Ï ci) i.e : le terme tk apparaît dans le profil du document mais n’apparaît
pas dans le profil de la catégorie.
· (tk Ï dj) et (tk Î ci) i.e : le terme tk n’apparaît pas dans le profil du document mais
apparaît dans le profil de la catégorie.
Approches de classification : Etat de l’art 71
-----------------------------------------------------------------------------------------------------------------
· (tk Ï dj) et (tk Ï ci) i.e : le terme tk n’apparaît pas dans le profil du document et
n’apparaît pas non plus dans le profil de la catégorie.
La probabilité d’apparition d’un terme tk dans un profil de catégorie est définie comme suit :
tf (tk , ci )
P(tk , ci ) = Si le terme tk apparaît dans le profil de ci.
å tf (tx , ci )
xÎci
e (epsilon) Sinon.
De même, La probabilité d’apparition d’un terme tk dans le profil du document est définie
comme suit :
tf (t k , d j )
P(t k , d j ) =
Si le terme tk apparaît dans le profil de dj.
å tf (t , d )
xÎci
x j
e (epsilon) Sinon.
Où :
· P(tk ,ci) est la probabilité conditionnelle d’un terme dans une catégorie.
· e est une probabilité accordée aux termes qui n’apparaissent ni dans le document, ni
dans la catégorie ;
Pour chaque catégorie, il est nécessaire de normaliser la distance, parce que les catégories
sont de tailles différentes. Par conséquent, nous utiliserons la distance Kullback&Liebler
normalisée :
KLD(ci , d j )
KLD (ci , d j ) =
*
KLD(ci ,0)
Où : KLD (ci,0) représente la distance entre la catégorie et un document vide.
Finalement, après avoir calculer la distance KLD*(ci,dj) entre le document à catégoriser et
toutes les catégories, le document sera assigné à la catégorie la plus proche :
3.4- Conclusion
La phase de catégorisation de textes et le choix de technique d’apprentissage (Chapitre 3)
c’est le cœur du processus de classification automatique de textes, elle est située entre une
phase primordiale, de préparation des documents et catégories à l’informatisation (codage des
documents), pour le bon fonctionnement du processus (Chapitre2), et une autre phase
d’évaluation du ou des classifieurs utilisés aussi importante pour l’amélioration des
performances du système (Chapitre 4).
Beaucoup d’approches différentes ont été utilisées pour la catégorisation de textes. Une des
questions récurrentes est : quelle est la meilleure méthode pour la catégorisation de textes ?
Il existe, en pratique, plusieurs méthodologies, pour tenter de répondre à cette question, qui
vont être évoqués dans le chapitre suivant, mais habituellement plusieurs paramètres peuvent
influencer le choix de la technique de classification qui est relatif aux attentes des utilisateurs
du système. Si l’efficacité est une priorité on peut privilégier un système rapide simple avec
des résultats moins performants, et si l’exactitude des résultats et minimiser les erreurs est
plus important que l’aspect temps de classification on peut pencher vers d’autres méthodes
plus complexes et plus performantes, par contre si on veut avoir un système avec un pouvoir
descriptif important qui peut être interprété intuitivement par son utilisateur, alors on va
favoriser des modèles compréhensibles tels que les arbres de décision.
Finalement on peut dire qu’il ya des classifieurs plus performants que d’autres mais ce qui est
sûr qu’il n’y a pas de classifieur parfait.
Evaluation des classifieurs 73
-----------------------------------------------------------------------------------------------------------------
Chapitre 4
Evaluation des classifieurs
Table des matières
4.1- Introduction ......................................................................................................... 74
4.2- Méthodologies de comparaison de classifieurs ................................................. 74
4.2.1- Différentes approches sur le même corpus ................................................. 74
4.2.1.1- Même corpus avec des découpages différents ................................................ 74
4.2.1.2- Les différentes techniques de représentation de textes ................................... 75
4.2.1.3- Les différentes mesures utilisées pour l’évaluation ........................................ 75
4.2.2- Différentes approches par le même auteur .................................................. 75
4.2.3- Difficultés approuvées pour juger les capacités d’une méthode ................. 75
4.2.4- TREC ........................................................................................................... 76
4.3- Mesures de performance de classifieurs ............................................................ 76
4.3.1- Classification déterministe à deux classes .................................................. 76
4.3.1.1- Matrice de contingence ................................................................................... 76
4.3.1.2- Précision et Rappel .......................................................................................... 77
4.3.1.3- Bruit et silence................................................................................................. 78
4.3.1.4- Taux de succès et taux d’erreur ....................................................................... 79
4.3.1.5- Taux de chute et la spécificité ......................................................................... 79
4.3.1.6- L’overlap et la généralité ................................................................................ 79
4.3.1.7- F-measure ........................................................................................................ 79
4.3.2- Classification déterministe à plusieurs classes............................................ 81
4.3.2.1- Matrice de contingence globale ...................................................................... 81
4.3.2.2- La micro-moyenne .......................................................................................... 82
4.3.2.3- La macro-moyenne.......................................................................................... 82
4.3.2.4- Une mesure issue de TREC : l'utilité .............................................................. 83
4.3.3- Classification floue ou Ranking .................................................................. 83
4.4- Autres critères de comparaison de classifieurs ................................................. 84
4.5- Conclusion ............................................................................................................ 84
Evaluation des classifieurs 74
-----------------------------------------------------------------------------------------------------------------
4.1- Introduction
Différentes approches décrites dans le chapitre 3, ont été utilisées pour la catégorisation de
textes offrant ainsi, aux développeurs dans le domaine plusieurs issues, qui amène à poser une
question très récurrente sur le choix du meilleur algorithme pour la classification automatique
de textes.
Pour pouvoir répondre à cette question, il faut bien disposer de critères et tests utiles pour
mesurer et évaluer les performances d’un classifieur pour pouvoir les comparer par la suite,
afin, éventuellement, opter pour un classifieur ou un autre.
Mais qu’est ce que l’évaluation ? L’évaluation consiste à mesurer la différence entre un
résultat attendu et un résultat obtenu. Aucune métrique n’est associée, mais en général, on
utilise des indicateurs compris entre 0 et 1 pour en faciliter l’interprétation. (Nakache &
Metais, 2005).
Néanmoins, l’évaluation des performances d’un système de classification n’est pas toujours
triviale et elle dépend de l’utilisation finale de ce système, certains éléments sont très
subjectifs et difficilement automatisables.
Notons qu’il n’est pas facile de juger un système de catégorisation de textes s’il est
performant ou moins performant qu’un autre. Plusieurs facteurs entrent en jeu qui rend cette
évaluation relative, de la base textuelle à classer, de l’approche adoptée pour représenter les
textes, de l’algorithme d’apprentissage opérée, et enfin du juge humain puisque l’attribution
finale d’un document à une classe dépend du centre d’intérêt des utilisateurs de ses systèmes.
Ainsi, des mesures différentes, pour des systèmes dédiés à la classification déterministe ou
« dure » et pour des systèmes dédiés à la classification floue ou ranking, sont proposées, qui
s’intéressent chacune d’elles à un aspect de classification.
Dans ce chapitre nous allons présenter les méthodologies existantes pour aborder une vraie
comparaison entre les classifieurs, pour ensuite dévoiler les mesures de performance souvent
utilisées dans la littérature, et enfin achever par un description brève d’autres critères de
performances non mesurables.
Jugement Expert
Catégorie Ci
Oui Non
Jugement Oui VPi FPi
classifieur Non FNi VNi
Tableau 4.1 : Matrice de contingence de la classe Ci
VPi
Ri =
VPi + FN i
Le rappel mesure la capacité d’un système de classification à détecter les documents
correctement classés. Cependant, un système de classification qui considérerait tous les
documents comme pertinents obtiendrait un rappel de 100%. Un rappel fort ou faible n’est pas
suffisant pour évaluer les performances d’un système. Pour cela, on définit la précision.
VPi
Pi =
VPi + FPi
La précision mesure la capacité d’un système de classification à ne pas classer un document
dans une classe, un document qui ne l’est pas. Comme elle peut aussi être interprétée par la
probabilité conditionnelle qu’un document choisi aléatoirement dans la classe soit bien classé
par le classifieur.
Ces deux indicateurs pris l’un indépendamment de l’autre ne permettent d’évaluer qu’une
facette du système de classification : la qualité ou la quantité. Les courbes de précision vs
rappel permettent de mieux comprendre le comportement du classifieur, et de visualiser
l’évolution de la précision en fonction du rappel pour les 11 niveaux standard [0-0,1-0,2-...-1].
Evaluation des classifieurs 78
-----------------------------------------------------------------------------------------------------------------
La notion de silence est le point de vue opposé du rappel. Le silence est le pourcentage de
textes à associer à une classe incorrectement non classés par le système :
FN i
Silence (S) = 1 – Rappel(R)=
VPi + FN i
Evaluation des classifieurs 79
-----------------------------------------------------------------------------------------------------------------
VP + VN FP + FN
Acc = , Err = = 1 - Acc
VP + VN + FP + FN VP + VN + FP + FN
FPi
Taux de chute =
FPi + VN i
VN i
Spécificité =
FPi + VN i
4.3.1.7- F-measure
Observés conjointement, les indicateurs les plus célèbres à savoir le rappel et la précision,
sont une estimation courante de la performance d’un système de classification. Cependant
plusieurs mesures ont été développées afin de synthétiser cette double information. Nous ne
Evaluation des classifieurs 80
-----------------------------------------------------------------------------------------------------------------
retiendrons ici la mesure Fβ décrite dans (Van Rijsbergen, 1979) . La F-mesure est la mesure
de synthèse communément adoptée depuis les années 80 pour évaluer les algorithmes de
classification de données textuelles à partir de la précision et du rappel. Elle est employée
indifféremment pour la classification (Non supervisé) ou la catégorisation (Supervisé), pour la
problématique de recherche d’information ou de classification.
Elle permet donc, de combiner, selon un paramètre β, rappel et précision.
On définit la mesure Fβ comme la moyenne harmonique entre le rappel et la précision :
Pour utiliser cette mesure, il est donc nécessaire de fixer préalablement un seuil de décision
pour le classement, et de calculer la valeur de Fβ pour ce seuil.
Le paramètre β permet de choisir l'importance relative que l'on souhaite donner à chaque
quantité. On choisit en général de donner la même importance aux deux critères, donc
habituellement, la valeur de β est fixée à 1 et la mesure est ainsi notée F1 (noté F) qui s'écrit :
2* P* R
F1 =
P+R
Une des propriétés intéressante de cette mesure est le fait que, si P = R = X, alors F = X ; cette
mesure a alors une interprétation simple.
Afin de mieux comprendre le fonctionnement de ces 3 mesures (précision, rappel et mesure
F), nous détaillons dans les tableaux 4.2 les performances de plusieurs classifieurs utilisés sur
deux classes C et ¬ C de respectivement 100 et 200 documents.
Expert Expert
Classifieur
Classifieur
C ¬C C ¬C
C 100 200 C 0 0
¬C 0 0 ¬C 100 200
Rappel = 100 % Rappel = 0 %
Précision = 33 % Précision = 100 %
F1 = 50 % F1 = 0 %
Tous les textes sont classés dans C Aucun texte n’est classé dans C
Expert Expert
Classifieur
Classifieur
C ¬C C ¬C
C 100 0 C 0 200
¬C 0 200 ¬C 100 0
Rappel = 100 % Rappel = 0 %
Précision = 100 % Précision = 0 %
F1 = 100 % F1 = 0 %
Classifieur parfait Classifieur « le pire »
Cependant, si les classes ne possèdent pas le même nombre de documents, ces moyennes
risquent de ne pas refléter la performance du classifieur pour les grandes classes. Les résultats
de chaque catégorie peuvent être combinés de deux manières :
Ø Une autre possibilité est de créer une table de contingence globale pour toutes les
catégories (micro-averaging) : le contenu d’une cellule de cette table correspond à la
somme des valeurs de la même cellule dans la table de chaque catégorie (Yang, 1999).
Expert
{
C = c1 , c 2 ,.........., c C } Ci ¬ Ci
Ci C C
VP = å VPi FP = å FPi
Classifieur
i =1 i =1
¬ Ci C C
FN = å FNi VN = å VNi
i =1 i =1
VP åVP
i =1
i
P= = C
VP + FP
å (VP + FP )
i =1
i i
VP åVP
i =1
i
R= = C
VP + FN
å (VP + FN )
i =1
i i
4.3.2.3- La macro-moyenne
Les mesures de type macro moyenne correspondent à une moyenne qui ne prend pas en
compte la taille des classes.
La macro-moyenne (traduction de macro-averaging) évalue d’abord indépendamment chaque
catégorie. Ensuite, la performance globale du classifieur est calculée en faisant la moyenne
des mesures individuelles. Les différentes catégories ont alors la même importance. La
précision et le rappel macro-moyenne sont calculés comme suit :
C C
åP
i =1
i åR
i =1
i
P= , R=
C C
Ainsi, les mesures de type micro moyenne permettent d’obtenir une estimation du système en
privilégiant les classes de grande taille tandis que les mesures de type macro moyenne
donnent une information quant aux performances d’un système sur les petites classes.
4.5- Conclusion
Nous avons montré dans ce chapitre que les mesures absolues de performances ont une portée
limitée. Cette limitation est due, d'une part, à l'impossibilité de définir précisément la notion
Evaluation des classifieurs 85
-----------------------------------------------------------------------------------------------------------------
de pertinence, et d'autre part, à l'impossibilité d'obtenir des corpus de grande taille totalement
et correctement étiquetés.
Il est nécessaire de mesurer les performances d'un filtre sur un ensemble de thèmes pour d'une
part limiter l'impact des erreurs d'annotations et d'autre part, pour juger globalement une
approche sur des thèmes de difficultés différentes. Plusieurs indicateurs de mesures sont
proposés dans la littérature et la recherche d’autres mesures plus fiables n’a pas cessé et reste
toujours une matière intéressante pour les chercheurs.
Néanmoins toutes les mesures présentées dans ce chapitre traitent toutes les erreurs avec la
même importance, alors que du point de vue de l'utilisateur, cette assertion n'est pas vraie.
Il est cependant très difficile de prendre ces informations en considération, puisqu'il existe une
grande part de subjectivité dans ces appréciations, et que finalement la seule vraie mesure est
la satisfaction de l'utilisateur.
Les Systèmes Multi-Agents 86
-----------------------------------------------------------------------------------------------------------------
Chapitre 5
Les Systèmes Multi-Agents
Table des matières
5.1- Introduction ......................................................................................................... 88
5.1.1- Historique .................................................................................................... 88
5.1.2- Pourquoi distribuer l’intelligence? .............................................................. 88
5.1.3- Qu'est que l'intelligence artificielle distribuée (IAD) ?............................... 91
5.1.4- Le monde est ouvert .................................................................................... 93
5.1.5- Domaines d'intérêts ..................................................................................... 93
5.2- Concepts de base .................................................................................................. 93
5.2.1- Agent ........................................................................................................... 93
5.2.1.1- Définitions ....................................................................................................... 93
5.2.1.2- Des Objets aux Agents .................................................................................... 96
5.2.2- Système Multi-Agents ................................................................................. 97
5.2.2.1- Qu’est-ce qu’un système multi-agents ? ......................................................... 97
5.2.2.2- Utilité des systèmes multi-agents .................................................................... 97
5.2.2.3- Un premier exemple ........................................................................................ 98
5.2.2.4- Vue intuitive d’un Agent dans un SMA .......................................................... 99
5.2.2.5- Variables globales et locales et les SMA ........................................................ 99
5.2.2.6- Niveaux d’organisation ................................................................................... 99
5.2.3- Propriétés d’un agent intelligent ............................................................... 100
5.2.3.1- Autonomie ..................................................................................................... 100
5.2.3.2- Réactivité....................................................................................................... 100
5.2.3.3- Proactivité ..................................................................................................... 101
5.2.3.4- Adaptabilité ................................................................................................... 101
5.2.3.5- Sociabilité ...................................................................................................... 101
5.2.3.6- Apprentissage ................................................................................................ 101
5.2.3.7- Sécurité .......................................................................................................... 102
5.2.4- Propriétés des systèmes multi-agents ........................................................ 102
5.2.4.1- Interactions entre agents ................................................................................ 102
5.2.4.2- Coopération ................................................................................................... 103
5.2.4.3- Coordination .................................................................................................. 103
5.2.4.4- La compétition .............................................................................................. 104
Les Systèmes Multi-Agents 87
-----------------------------------------------------------------------------------------------------------------
5.2.4.5- Délégation ..................................................................................................... 104
5.2.4.6- Communication ............................................................................................. 105
5.2.4.7- Une Recherche de Compromis...................................................................... 105
5.3- Les différents modèles d’agents (Architecture) .............................................. 105
5.3.1- Les agents réactifs ..................................................................................... 107
5.3.1.1- Agents à réflexes simples .............................................................................. 107
5.3.1.2- Agents conservant une trace du monde ......................................................... 108
5.3.2- Les agents délibératifs ............................................................................... 109
5.3.2.1- Agents ayant des buts .................................................................................... 110
5.3.2.2- Agents utilisant une fonction d’utilité .......................................................... 110
5.3.2.3- Le modèle BDI .............................................................................................. 111
5.3.3- Les agents hybrides ................................................................................... 112
5.4- Apprentissage des agents et des SMA .............................................................. 113
5.4.1- Apprentissage des Agents ......................................................................... 113
5.4.1.1- Définitions et Différentes formes d'apprentissage ........................................ 113
5.4.1.2- Apprentissage des agents .............................................................................. 114
5.4.1.2- L’apprentissage par renforcement ................................................................. 116
5.4.2- Apprentissage des SMA ............................................................................ 117
5.5- Méthodologies de conception d’un SMA ........................................................ 117
5.5.1- Problématique ........................................................................................... 117
5.5.2- Méthodologie ............................................................................................ 118
5.5.2.1- Phase d’analyse ............................................................................................. 118
5.5.2.2- Phase de conception ...................................................................................... 119
5.5.2.3- Les étapes de réalisation d'un SMA .............................................................. 120
5.5.3- Plates-formes de développement............................................................... 120
5.6- Conclusion .......................................................................................................... 121
Les Systèmes Multi-Agents 88
-----------------------------------------------------------------------------------------------------------------
5.1- Introduction
5.1.1- Historique
Durant la première génération des programmes informatiques, l'ordinateur était chargé de
réaliser des tâches prises en charge habituellement par un homme comme par exemple la
classification automatique d'une population qui requiert de l'intelligence artificielle. Ce
remplacement progressif de l'homme par une machine s'est accompagné d'une identification
de la machine à l'humain, un programme représentant l'expert capable de résoudre le
problème par lui-même. Cette façon de concevoir les programmes comme des sortes de
penseurs repliés sur eux-mêmes a trouvé sa limitation lorsqu'on a cherché à développer des
applications plus complexes réalisées habituellement non pas par une seule personne mais par
un groupe de personnes parfois délocalisées.
L’informatique devient ainsi de plus en plus diffuse et distribuée dans de multiples objets et
fonctionnalités qui sont amenés à coopérer. La décentralisation est donc la règle et une
organisation coopérative entre modules logiciels est un besoin. De plus, la taille, la
complexité et l’évolutivité croissante de ces nouvelles applications informatiques font, de
cette vision centralisée, rigide et passive (contrôlée explicitement par le programmeur),
atteindre ses limites.
La machine devait alors être identifiée non plus uniquement à un humain mais à une société
organisée d'humains. En particulier, les concepteurs de système industriels complexes ont
constaté que le savoir-faire, les compétences et les connaissances diverses sont détenues par
des individus différents qui, au sein d'un groupe, communiquent, échangent leurs
connaissances et collaborent à la réalisation d'une tâche commune. Les méthodes de
réalisation d'applications informatiques se sont alors concentrées sur les aspects
organisationnels des logiciels et sur la représentation des communications entre ses différents
composants.
Ainsi une nouvelle manière de penser a surgit, donnant naissance à ce qu'on appelle
l'intelligence artificielle distribuée.
(Labidi & Lejouad 1993) et (Oliveira, 1998) affirment que l’IAD était supposée apporter une
solution à des problèmes spécifiques tels que :
ü la modélisation et distribution de la connaissance parmi plusieurs agents ;
ü la génération de plans d’actions où la présence d’autres agents doit être considérée ;
ü la résolution de conflits entre agents et la maintenance de la cohérence des décisions et
plans d’actions ;
ü la résolution des problèmes de communication pour permettre les interactions entre
agents ;
ü la résolution des problèmes spécifiques concernant l’organisation des SMAs
On voit que les systèmes multi-agents se positionnent au carrefour de la programmation (ce
sont des logiciels), de l’intelligence artificielle (leur autonomie de décision), et des systèmes
répartis (leur décentralisation). Historiquement, on peut replacer le concept d’agent et de
système multi-agent dans l’histoire de l’intelligence artificielle et de manière duale dans
l’histoire de la programmation.
Les Systèmes Multi-Agents 93
-----------------------------------------------------------------------------------------------------------------
5.1.4- Le monde est ouvert
La programmation classique est fermée
· Dans l'espace : le programmeur a une connaissance globale du logiciel à construire. Le
principe même de l'analyse descendante d'application ou de la spécification d'application
est de partir du haut (où on voit tout) puis de décomposer en parties à programmer.
· Dans le temps : bien que la notion de cycle de vie d'un logiciel introduise une dose de
dynamique, il s'agit plutôt de corriger et de maintenir un logiciel spécifié une fois pour
toutes.
· Dans la modalité : il existe une volonté de développer les applications de manière la plus
homogène possible : mêmes personnes, mêmes logiciels de développement.
· Dans la sémantique : Les applications ont une sémantique globale et statique.
· Dans la complexité : Les applications sont bien délimitées et conçues de manière
analytique. Ceci facilite le découpage en parties pour leur mise au point et l'étude de leur
comportement qui est considéré comme devant être totalement prédictible.
A l'opposé, la nouvelle programmation est ouverte
L'ouverture est une propriété inhérente des systèmes d'information actuels. Elle n'est
voulue par personne mais c'est un état des choses que l'on ne peut plus se permettre
d'ignorer. Plutôt que d'essayer de l'enrayer, il vaut mieux essayer de la maîtriser voire en
tirer avantage. Cette ouverture s'exprime :
· Dans l'espace : les systèmes d'information actuels sont intrinsèquement distribués (vision
locale obligatoire) et se développent de manière agrégative.
· Dans la modalité : les deux points précédents ont pour conséquence directe que les
systèmes d'information actuels sont de plus en plus hétérogènes : environnements de
programmation ; points de vues adoptés sur un même sujet : fonctionnel, matériel,
structurel etc. ; applications hybrides.
· Dans la sémantique : les multiples points de vue engendrent autant de mondes sémantiques
hétérogènes les uns aux autres.
· Dans la complexité : les systèmes actuels présentent des interactions très intriquées ce qui
les rend difficiles à prédire et à analyser
Similarités :
Possèdent un «état interne»,
Des unités de comportement modulaires (méthodes/compétences),
Communiquent par envoi de messages,
Peuvent agir pour modifier leur état,
Pas d’autonomie: l’objet qui reçoit un appel Autonomie de contrôle: l’agent décide de
de méthode exécute celle-ci (pas de son comportement en fonction de son état,
proactivité, de réactivité) croyances, connaissances, perceptions de
l’environnement, requêtes des autres
Les Systèmes Multi-Agents 97
-----------------------------------------------------------------------------------------------------------------
Socialité: composante très importante,
Peu de socialité: interaction rigide (pas complexité des interactions, des
d’évolution dans le temps) et simple organisations
Notion d’environnement importante et plus
complexe
Tableau 5.1 : Différences entre objets et agents
5.2.3.1- Autonomie
Wooldridge et Jennings (Wooldridge & Jennings, 1994) définissent l’autonomie comme étant
la capacité pour un agent d’opérer de manière autonome sans une intervention directe
d’humains ou d’autres agents et de contrôler ses actions et son état interne. Quant à
C.CastelFranchi dans (Castelfranchi, 1995), définit un agent autonome comme étant un agent
qui a ses propres buts et qui est capable de décider des buts à poursuivre, comment les
atteindre et résoudre les conflits internes relatives aux buts choisis. Pour P.R.Cohen,
H.J.Levesque dans (Cohen & Levesque, 1995) et Y.Shoham dans (Shoham 1993), un agent
est capable :
· d’agir selon ses intentions ;
· d’adopter les buts qu’il croit réalisables et d’abandonner ceux qu’il croît
· irréalisables ;
· de planifier ses propres actions et de tenir compte de celles des autres ;
· de raisonner non seulement sur ses connaissances mais aussi sur celles des
autres.
5.2.3.2- Réactivité
Les agents perçoivent leur environnement et réagissent aux changements qui s’y produisent
(Wooldridge & Jennings, 1994).
La réactivité signifie aussi la capacité qu’a un agent de modifier son comportement lorsque
les conditions environnementales changent (Oliveira, 1998).
Un objet est une entité passive(ou réactive), si personne ne demande la valeur d'un attribut ou
n'active une méthode de l'objet, il ne se passe rien (Sansonnet, 2002).
5.2.3.4- Adaptabilité
Face à un environnement perpétuellement changeant, un agent doit constamment modifier le
plan qu’il poursuit pour atteindre un but. Pour cela :
Il doit, de manière continue, percevoir et évaluer la situation (contexte) de son action.
Construire des représentations en cours même de fonctionnement (c’est à dire être capable
d’apprendre).
Élaborer des plans dynamiques qui lance des processus internes ou au contraire les stoppent.
L’adaptabilité est la capacité d’un agent de s’adapter à l’environnement dans lequel il est situé
(Oliveira, 1998). Un agent adaptatif est un agent capable de contrôler ses aptitudes
(communicationnelles et comportementales) selon l’environnement dans lequel il évolue et
selon l’agent avec lequel il interagit (Guessoum, 1996).
L’adaptabilité est une propriété très importante pour un agent qui évolue dans un
environnement dynamique.
5.2.3.5- Sociabilité
La sociabilité est la capacité d’un agent de s’intégrer dans un environnement peuplé d’agents
avec qui il échange des messages pour accomplir un but (Oliveira, 1998).
Nous reviendrons sur cette propriété lorsque nous aborderons les propriétés d’un SMA car
elle intègre d’autres propriétés telles que la communication, la coopération et la délégation.
5.2.3.6- Apprentissage
L’apprentissage est une propriété assez particulière car un agent n’est pas forcément une
entité capable d’apprendre. Les agents peuvent avoir à apprendre lorsqu’ils réagissent et/ou
interagissent avec leur environnement externe (Nwana, 1996).
L’apprentissage est une propriété qui fournit aux systèmes la capacité d’acquérir la
compréhension de certains comportements au cours du temps, sans nécessiter que ces
comportements soient programmés manuellement (Guessoum & all, 2006).
Les Systèmes Multi-Agents 102
-----------------------------------------------------------------------------------------------------------------
Un agent a la faculté d’apprendre s’il est capable d’utiliser de nouvelles connaissances pour
modifier son comportement (Cheikhrouhou & all, 1998).
Bien que l’apprentissage soit un attribut clé de l’intelligence (Nwana, 1996), il existe très peu
d’agents qui ont cette capacité.
5.2.3.7- Sécurité
La sécurité est une propriété importante, notamment dans le contexte de ce travail, car elle
permet de garantir que lorsque l’on interagit avec un agent, que cet agent n’a pas été
corrompu par un virus, par de fausses croyances ou par des connaissances qui n’ont pas de
sens (Oliveira, 1998).
Nous avons abordé la sociabilité dans la section précédente mais en réalité cette propriété est
centrée sur les interactions entre agents (Guessoum, 1996). Nous allons donc voir maintenant
les différentes propriétés qui sont impliquées dans la sociabilité.
5.2.4.2- Coopération
Pour Ferber (Ferber, 1995), pour que plusieurs agents soient dans une situation de
coopération, il faut que l’une des deux conditions suivantes soit vérifiée :
1. l’ajout d’un nouvel agent permet d’accroître différentiellement les performances du groupe
2. l’action des agents sert à éviter ou à résoudre des conflits potentiels ou actuels.
La coopération entre agents peut être (Oliveira, 1998) :
Une approche multiagents pour la gestion de sécurité
· soit implicite et dans ce cas les agents ont un but commun implicite qu’ils doivent
atteindre en exécutant des actions indépendantes. Dans ce type de coopération, la
communication entre les agents est facultative.
· soit explicite et dans ce cas, les agents exécutent des actions qui leur permettent
d’achever non seulement leurs propres buts mais aussi les buts des autres agents.
Ce type de coopération nécessite une communication entre les agents pour prendre
connaissance des buts des autres agents.
5.2.4.3- Coordination
Dans un système multi-agents, la coordination des actions des différents agents permet
d’assurer une cohérence du système. Il existe plusieurs mécanismes de coordinations parmi
lesquels, nous retrouvons : l’organisation, la planification et la synchronisation (Guessoum,
1996), (Oliveira, 1998). Nous définissons ces trois mécanismes.
a- L’organisation :
Une organisation représente un groupe d’agents qui travaillent ensemble afin de réaliser une
ou plusieurs tâches (Guessoum, 1996). De nombreux travaux sur l’organisation ont été
proposés. T.Bouron (Bourron, 1992) les a regroupés en deux classes où l’organisation est
définie :
· Soit comme une structure externe aux agents et elle est représentée par un objet ou un
agent.
· Soit comme un objet abstrait dont la représentation est distribuée parmi les membres
de l’organisation.
Parmi les travaux existants, nous pouvons citer le réseau contractuel introduit par R.Smith
(Smith, 1980). Le réseau contractuel est un mécanisme d’allocation de tâches fondé sur la
notion d’appel d’offre (Ferber, 1995).
Dans ce modèle, un agent peut avoir deux rôles par rapport à une tâche (Guessoum, 1996) :
manager ou contractant. L’appel d’offre s’effectue en quatre étapes :
· appel d’offre : le manager décompose une tâche en sous-tâches. Il recherche ensuite
des contractants pour les réaliser en faisant une annonce de tâches à tous les agents du
système ;
· envoi de propositions : les agents élaborent une proposition et font une offre au
manager ;
· attribution du marché : le manager évalue les propositions, attribue la tâche à un ou
plusieurs agents et informe les autres agents de son choix ;
Les Systèmes Multi-Agents 104
-----------------------------------------------------------------------------------------------------------------
· établissement du contrat : l’agent ou les agents sélectionnés deviennent contractants
et informent le manager qu’ils s’engagent à réaliser la tâche.
b- La planification :
La planification multiagents est une autre approche de coordination dans les systèmes à base
d’agents. Afin d’éviter des actions conflictuelles ou inconsistantes, les agents construisent un
plan multi-agents qui détaille toutes les actions futures et les interactions nécessaires pour
atteindre leurs buts (Oliveira, 1998).
La planification dans les SMAs, se décompose en trois étapes (Ferber, 1995) :
· la construction de plans,
· la synchronisation et coordination des plans,
· l’exécution de ces plans.
Il existe deux types de planification, dans les SMAs :
· la planification centralisée pour agents multiples qui suppose l’existence d’une vue
globale du plan (Guessoum, 1996). Dans cette approche, il existe un seul agent
capable de planifier et d’organiser les actions pour l’ensemble des agents (Ferber,
1995).
· la planification distribuée où chaque agent planifie individuellement ses actions en
fonction de ses propres buts (Ferber, 1995). Les différents agents se communiquent
ensuite leurs plans partiels afin de détecter et d’éviter les conflits éventuels.
c- La synchronisation :
La synchronisation est le "bas niveau" de la coordination où sont implémentés les mécanismes
de base permettant aux différentes actions de s’articuler correctement. Elle permet de
synchroniser l’enchaînement des actions des différents agents (Ferber, 1995).
J. Ferber répertorie deux types de synchronisation :
· La synchronisation par mouvement utilisée lorsque plusieurs éléments doivent se
déplacer ensemble. Dans ce type de synchronisation, il s’agit de coordonner le rythme
et le positionnement dans le temps d’actions en fonction des événements qui se
produisent ;
· La synchronisation d’accès à une ressource utilisée lorsque plusieurs agents doivent
partager une ressource.
5.2.4.4- La compétition
La compétition entre agents peut avoir plusieurs sources. Les buts des agents peuvent être
incompatibles : dans une situation de jeu, chacun cherche à être gagnant mais la réalisation de
ce but pour un des joueurs rend impossible la réalisation du but des autres joueurs. Les
ressources dont les agents ont besoin peuvent être rares et l’utilisation d’une ressource par un
des agents peut empêcher un autre agent de réaliser son but. Par exemple, si l’imprimante est
utilisée je dois attendre pour imprimer mon article et je ne pourrai pas le poster avant le départ
du courrier. La compétition crée des situations de conflit qui peuvent être résolues par la lutte
ou par la coordination (Drogoul, 1993).
5.2.4.5- Délégation
La délégation est la capacité d’un agent à exécuter des tâches pour le compte d’un tiers. Elle
permet ainsi à un agent, qui ne peut pas atteindre ses buts par manque de ressources, de
compétences ou dans le but d’alléger sa tâche, de demander à d’autres agents d’achever des
buts pour son compte. Cette propriété est cruciale lorsque la coordination est supportée par
une structure organisationnelle (Oliveira, 1998) et que l’environnement du SMA varie et
Les Systèmes Multi-Agents 105
-----------------------------------------------------------------------------------------------------------------
nécessite par conséquent une redistribution et mise à jour des tâches que doivent accomplir les
différents agents (ce qui se traduit par une délégation de nouveaux buts). Dans une
organisation hiérarchique par exemple, lorsque le SMA doit atteindre de nouveaux objectifs,
elle permet à une entité gestionnaire de déléguer des sous-tâches à des agents sous-jacents et
de les modifier.
La délégation est beaucoup utilisée dans la gestion de réseau où elle permet une flexibilité du
système qui l’utilise (Magendaz, 1995).
5.2.4.6- Communication
Dans un SMA, les agents communiquent entre eux en s’échangeant des informations via un
langage de communication agent (Wooldridge & Jennings, 1994). Le langage, le plus utilisé
aujourd’hui est KQML (Knowledge Query and Manipulation Language) qui est un langage de
haut niveau utilisant une liste de types de messages, appelés performatifs (Ferber, 1995). Les
agents peuvent également communiquer en utilisant d’autres mécanismes tels que le
mécanisme de tableau noir (Guessoum 1996).
Ces deux conceptions ont donné lieu à deux écoles de pensée. La première, l’école
“cognitive”, est la plus représentée dans le domaine que l’on appelle intelligence artificielle
distribuée (IAD) car elle trouve son origine dans la volonté de faire communiquer et coopérer
des systèmes experts classiques. Dans ce cadre, un système multi-agent est composé d’un
petit nombre d’agents “intelligent”. Chaque agent dispose d’une base de connaissance
comprenant l’ensemble des informations et des savoir-faire nécessaires à la réalisation de sa
tâche et à la gestion des interactions avec les autres agents et avec son environnement. On dit
aussi que les agents sont “intentionnels”, c’est-`a-dire qu’ils possèdent des buts et des plans
explicites leur permettant d’accomplir leurs buts. Dans ce cadre, les problèmes de coopération
ressemblent étonnamment à ceux de petits groupes d’individus, qui doivent coordonner leur
activité et sont parfois amenés à négocier entre eux pour résoudre leurs conflits (Bond &
Gasser, 1988), (Demazeau & Müller, 1991), (Chaib-Draa & all, 1992), (Briot & all, 2006).
Les analogies sont alors sociales et nombre de chercheurs dans ce domaine s’appuient sur les
travaux de sociologie et en particulier sur la sociologie des organisations et des petits groupes.
L’autre tendance, l’´ecole “réactive”, prétend au contraire qu’il n’est pas nécessaire que les
agents soient intelligents individuellement pour que le système ait un comportement global
intelligent (Deneubourg & all, 1991), (Ferber & Drogoul, 1992).Des mécanismes de réaction
aux événements, ne prenant en compte ni une explicitation des buts, ni des mécanismes de
planification, peuvent alors résoudre des problèmes qualifiés de complexes. L’exemple le plus
manifeste d’organisation émergente est celle de la fourmilière (Corbara & all, 1993): alors
que toutes les fourmis se situent sur un plan d’´egalité et qu’aucune d’entre elles ne possède
de pouvoir d’autorité stricte sur les autres, les actions des fourmis se coordonnent de manière
que la colonie survive et fasse donc face à des problèmes complexes tels que ceux posés par la
recherche de nourriture, les soins à donner aux œufs et aux larves, la construction de nids, la
reproduction, etc.
Cependant, dans la littérature, sont répertoriés quatre différents types de modèles d’agents, à
savoir :
– les agents à réflexes simples,
– les agents conservant une trace du monde,
– les agents ayant des buts,
– les agents utilisant une fonction d’utilité. (Russell & Norvig, 1995)
Les Systèmes Multi-Agents 107
-----------------------------------------------------------------------------------------------------------------
Les deux premiers types d’agents sont considérés comme des agents réactifs et les deux
derniers types sont considérés comme des agents délibératifs ou cognitifs.
Il existe un grand nombre de typologies d’agents mais celle que nous retenons, compte tenu
du problème à modéliser, est fondée sur le processus de prise de décision de l’agent.
Elle distingue trois types d’agents : réactifs, cognitifs ou délibératifs et hybrides.
Figure 5.10 : Schéma d'un agent à réflexes simples (Russell & Norvig, 1995)
La figure montre l’architecture d’un agent à réflexes simples. Les rectangles représentent
l’état interne de l’agent dans son processus de décision et les ovales représentent les
informations qui sont utilisées dans le processus. L’agent se bâtit une représentation du
monde à l’aide de ses perceptions lui venant de ses capteurs. Par la suite, il utilise ses règles
pour choisir l’action qu’il doit effectuer selon ce qu’il perçoit de l’environnement.
Figure 5.11 : Schéma d’un agent conservant une trace du monde (Russell & Norvig, 1995)
On peut voir, sur la figure, la structure d’un agent conservant une trace du monde. Il utilise
ses informations internes (état précédent du monde, l’évolution du monde et l’impact de ses
actions) pour mettre à jour ses perceptions actuelles. Par la suite, il choisit ses actions en se
basant sur cette perception « améliorée » du monde qui l’entoure.
Les principales inspirations de ce type d’agents sont :
· Insectes sociaux, mammifères sociaux
· fourmis, termites, abeilles, guêpes, loups, rats, primates, oiseaux, poissons
· Eco-systèmes
· Phytosociologie
· Processus physico-chimiques
Figure 5.12 : Schéma d’un agent ayant des buts (Russell & Norvig, 1995)
La figure montre la structure d’un agent basé sur les buts. Comme on peut le constater, il est
identique à l’agent réactif gardant une trace de l’environnement, sauf qu’il se projette dans le
futur pour voir l’impact de ses actions et qu’il choisit ses actions en se basant sur ses buts,
contrairement à l’agent réactif qui ne faisait qu’appliquer des règles prédéfinies pour relier ses
perceptions à ses actions.
Figure 5.13 : Schéma d’agent basé sur l’utilité (Russell & Norvig, 1995)
La figure montre le schéma d’un agent basé sur l’utilité. On peut voir que l’agent utilise la
fonction d’utilité pour évaluer la pertinence d’une action. Il choisit donc les actions qui
l’amèneront dans les états ayant la plus grande valeur d’utilité pour lui.
Figure 5.15 : Modèle général d’agent apprenant (Russell & Norvig, 1995)
Illustration pour l'agent taxi apprenant
· Module de performance
– Connaissances et procédures pour choisir les actions.
· Critique
– Observe l’agent et donne des informations au module d’apprentissage
· Module d’apprentissage
– Modifie le module de performance.
Les Systèmes Multi-Agents 116
-----------------------------------------------------------------------------------------------------------------
· Générateur de problèmes
– Identifie les possibilités d’amélioration et suggère des expérimentations.
Précédemment, nous avons vu un exemple de réflexe inné chez l’être humain, c’est-à-dire
retirer notre main lorsque l’on se brûle, mais les êtres humains peuvent aussi apprendre de
nouveaux réflexes. Par exemple, on peut penser à la conduite automobile.
Au début, la conduite est très difficile, car on doit penser à toutes les actions que l’on fait,
mais plus on se pratique, moins on réfléchit et plus la conduite devient un réflexe.
Pour les agents, on peut penser à appliquer la même chose. C’est-à-dire, lorsqu’un agent fait
face à une situation pour la première fois, il doit délibérer plus longtemps pour choisir ses
actions. Mais, avec un module d’apprentissage, plus l’agent effectue des tâches similaires,
plus il devient rapide. Son comportement passe graduellement d’un état délibératif, à un état
réactif. L’agent a donc appris à exécuter une tâche. D’un point de vue plus technique, on peut
dire que l’agent a, en quelque sorte, compilé son raisonnement dans une certaine forme
d’ensemble de règles qui lui permettent de diminuer son temps de réflexion. Ce type
d’apprentissage peut être très utile pour des agents hybrides.
Ce n’est qu’une façon dont les agents peuvent apprendre, il en existe plusieurs autres. En fait,
on considère que toute technique qui permet à un agent d’améliorer son efficacité est une
technique d’apprentissage.
Situation
Environnement
5.5.2- Méthodologie
Afin de guider le processus de conception des SMAs, plusieurs méthodologies de conception
ont été proposées. Bien qu’en réalité, il existe très peu de travaux sur ce sujet, nous pouvons
en retenir trois : (Gutknecht & Ferber 1999),(Wooldridge, 1999) et (Kinny & Georgeff, 1997).
O.Gutknecht et J.Ferber ont proposé dans (Gutknecht & Ferber 1999) puis évoqué dans
(Ferber & all, 2009) et (Ferber & all, 2010), un cadre méthodologique centré sur trois
concepts organisationnels :
1. l’agent qui est définit comme une entité autonome communicante qui joue des rôles
au sein de différents groupes. L’architecture interne de l’agent n’est pas définie afin de
permettre au concepteur de choisir le modèle le plus adapté à son application ;
2. le groupe qui est défini comme un moyen d’identifier par regroupement un
ensemble d’agents. Un groupe peut être fondé par n’importe quel agent et un agent peut être
un membre d’un ou plusieurs groupes ;
3. le rôle qui est une représentation abstraite d’une fonction, d’un service ou d’une
identification d’un agent au sein d’un groupe. Un rôle peut être attribué à plusieurs agents et
un agent peut avoir plusieurs rôles.
Ce modèle est volontairement restreint afin de pouvoir s’intégrer à d’autres méthodologies.
Au-dessus de ces trois concepts de base, ils spécifiene un modèle structurel, utilisé comme
outil de conception, où ils définissent les notions de :
1. structure de groupe qui est une description abstraite d’un groupe qui définit les
rôles et leurs interactions et qui est représentée par un tuple : S = <R, G, L> où :
· R est l’ensemble des rôles identifiés dans le groupe,
· G est le graphe d’interactions entre les rôles,
· L est le langage d’interaction.
2. structure organisationnelle qui est l’ensemble des groupes qui définit un modèle
d’organisation multi-agents. Elle est représentée par un couple O = <S, Rep> où :
· S est un ensemble de structure de groupes,
· Rep est le graphe des représentants où chaque arc réunit deux rôles appartenant à
deux structures de groupe différentes. Un représentant entre deux structures de
groupes est un agent qui aurait simultanément un rôle dans un groupe et un second
rôle dans un autre groupe (Gutknecht & Ferber 1999).
M. Wooldridge propose une méthodologie, appelée Gaia, qui traite les niveaux macro (social)
et micro (agent) de conception. Tout comme l’approche précédente, la méthodologie est
indépendante de l’architecture interne de l’agent. Le processus méthodologique de Gaia
implique l’utilisation d’un ensemble de modèles définis dans deux phases : analyse et
conception (Wooldridge, 1999).
Catégorie Environnements
Outils pour la simulation Sworm, Cormas, geamas, Mice
Outils pour l’implémentation Actalk, DECAF, JACK, MAGES IV,
Magique, Mocah, OSAKA, Pandora II
Outils pour la conception Alaadin, JAF, Maleva
Outils pour la conception et l’implémentation AgentBuilder, DIMA, Mask, Mercure,
MACE
Outils pour la conception, l’implémentation Jade, Zeus, Madkit, MAST
et la validation
Tableau 5.2 : Environnements de développement
5.6- Conclusion
L'intelligence artificielle distribuée est née pour résoudre les problèmes de complexité des
gros programmes de l'intelligence artificielle, comme par exemple les problèmes de
classification : l'exécution est alors distribuée mais le contrôle reste centralisé. Contrairement
aux SMA, où chaque agent possède un contrôle total sur son comportement. Pour résoudre un
problème complexe, il est plus simple de concevoir des programmes relativement petits (les
agents) en interaction, qu'un seul gros programme de rôle similaire. L'autonomie permet au
système de s'adapter dynamiquement aux changements imprévus qui interviennent dans
l'environnement.
Le fait le plus remarquable dans la montée en puissance de ces nouveaux outils tient sans
doute à la transversalité de leur diffusion dans le champ scientifique. En effet, les SMA ont
trouvé des terrains d’expérimentation dans de multiples sciences techniques mais aussi dans le
champ des sciences de l’Homme et de la Société.
Ainsi, la technologie multi-agent semble être la solution pour le développement des logiciels
de demain (Gates, 1999).
Pour nous avons fait appel à cette technologie dans un contexte très pointue de classification
automatique de textes et les résultats qui vont être confirmés ultérieurement son bénéfiques.
Catégorisation de textes : Approche Orientée Agent 122
-----------------------------------------------------------------------------------------------------------------
6
00
Chapitre
Classification Automatique des
textes : Approche Orientée Agent
6.1- Introduction
Après l'étude faite sur l’état de l’art des différentes approches pour la construction de modèles
de catégorisation de textes ainsi que les divers codages et techniques pour la représentation
des textes, développés dans la littérature, nous avons adoptés pour nos travaux :
La méthode des N-grams pour représenter notre corpus pour son indépendance des différentes
langues et son non exigence des traitements linguistiques préalables et d’autres avantages qui
vont être décrits dans la section suivante.
Pour l'algorithme d'apprentissage et classification, le modèle d'indépendance conditionnelle
(Naïve Bayes classifier) a été utilisé pour sa simplicité d’une part, et d’autre part, comme tous
les modèles probabilistes, il s’appuie sur une base théorique précise.
Pour pouvoir confronter les différents résultats fournis par les classifieurs construits
classiques ou Muti-Agents, nous allons utiliser les mesures de rappel et précision ainsi que la
F-measure (F1) pour évaluer les performances de ces modèles.
Pour la partie applicative, au lieu de procéder par une démarche classique, nous proposons de
distribuer l’intelligence dans une approche qui consiste à déléguer la tâche de classification de
textes à un Système Multi-Agents.
Ce chapitre va contenir le produit fini de nos travaux de recherche. Nous commençons par
décrire notre approche d'une façon générale, ensuite nous allons motiver et justifier tous les
choix des solutions adoptées durant toutes les phases du processus, en commençant par la
méthode de représentation de textes choisie, suivie par l'algorithme d'apprentissage et
classification utilisée qui va être détaillé, ainsi que l'intérêt de solliciter un SMA pour un tel
traitement. La base de texte utilisé pour l’apprentissage et la classification sera décrite par la
suite avant d'enchainer par une présentation des résultats expérimentaux et l'influence de
quelques facteurs dans ces résultats et nous terminons par discuter les résultats obtenus et une
conclusion.
6.3- Motivations
6.3.1- Codage en n-grammes
Comme on a vu dans les chapitres précédents, la première phase dans le processus de
classification de textes, est de subdiviser le texte à traiter en plusieurs unités d’information
qu’on peut appeler termes ou descripteurs qui sont, habituellement, des mots simples. La
question principale qui se pose dans cette première phase de préparation des documents du
corpus est : Sur le plan informatique, comment repérer un mot ? D’une autre manière, quels
sont les bornes formelles pour délimiter un mot ? Si pour les langues comme le français et
l’anglais la réponse est presque évidente – à savoir que toute chaine de caractères précédée et
suivie d’un espace ou un signe de ponctuation est considérée comme un mot simple- Cette
règle n’est pas valable pour les autres langues.
Si le mot simple ne convient pas à toutes les langues, quelle est donc l’unité d’information
élémentaire la plus appropriée pour fractionner un document ?
Contrairement à la recherche d'information, dans un contexte de classification de textes, le fait
que les unités d’information élémentaires n’ont pas vraiment un sens, n’est pas une contrainte
lors de la classification, néanmoins ces unités atomiques doivent être facilement identifiées
sur le plan informatique, et peuvent être comparées statistiquement.
Si on considère le mot comme unité d’information de base, une classification mutilingue est
impossible. En traitant les mots comme des termes, la représentation des textes s’avère
relativement simple pour le français ou l’anglais, mais très difficile pour des langues comme
Catégorisation de textes : Approche Orientée Agent 126
-----------------------------------------------------------------------------------------------------------------
l’allemand ou l’arabe. D’autre part, le stemming et la lemmatisation utilisés comme moyen
de normalisation et de réduction du lexique constitue une contrainte non moins négligeable.
La notion de n-grammes, qui depuis une quinzaine d’années donne de bons résultats, est
devenue, par des récentes recherches, un axe privilégié, dans le domaine de classification de
textes.
Toutes ces raisons ont appuyé notre choix, pour la suite du travail qu’on va accomplir pour le
codage et la représentation des documents, sur les techniques basées sur les n-grammes qui
garantissent plusieurs avantages, confirmés par plusieurs auteurs, dont le principaux sont les
suivants :
Ø La représentation en n-grammes s'attaque aux documents presque dans leur état brut,
contrairement aux autres représentations qui nécessitent des traitements purement
linguistiques, comme les traitements d’élimination des mots vides, de stemming et de
lemmatisation (Jalam, 2003). Ces traitements améliorent la performance des systèmes
à base sur les mots mais en contrepartie la mise en ouvre informatique de ces
procédures est relativement lourde. D’autre part, l’étude de (Sahami, 1999) a montré
que la performance des systèmes à base des n-grammes ne progresse pas même après
ces traitements linguistiques, Et ce ci peut être confirmé par le fait que si un texte
contient plusieurs mots de même racine, le nombre des n-grammes correspondants
augmentera sans le moindre traitement linguistique préalable (Jalam, 2003).
Ø Un autre point à souligner en faveur des n-grammes : quelques algorithmes de
lemmatisation ne semble pas être en mesure de regrouper des termes comme
automatisation, automatiser et automatique dans la même classe, par contre, le
découpage en n-grammes est suffisant pour classer les trois termes dans la même
classe, les tri-grams : aut, uto, tom, oma, mat, ati, permettent par une mesure de
similarité d’affirmer que c’est l’automatique dont il est question.
Ø Le codage en n-grammes n'a pas besoin de segmenter le texte avant d'extraire les
termes, ce qui offre à cette technique une caractéristique très intéressante, capable de
représenter et traiter les langues pour lesquelles les frontières entre termes ne sont pas
bien marquées comme l’allemand, le chinois, ou la langue arabe, dans laquelle les
pronoms, sujets et compléments sont liés dé fois aux verbes, une seule chaîne de
caractères unie représentant une phrase comme, par exemple, « kalamtouhou » (”je lui
ai parlé”) (Jalam, 2003). Notons bien, qu’une segmentation en n-grammes de
caractères satisfait toutes les langues qui utilisent un alphabet, pour reconstruire le
texte on procède à la concaténation, (Biskri & Delisle, 2001).
Ø Le choix des n-grams permet aussi de contrôler la taille du lexique et de le conserver à
un seuil raisonnable. Parmi les grandes difficultés, qui s’opposent aux algorithmes
d’analyse des grands corpus, c’est la taille du lexique. En effet, un découpage en mots
fait que la taille du lexique, est d’autant plus importante, que le corpus est important.
Cette contrainte persiste, malgré les aménagements appliqués sur les textes durant la
phase de prétraitement (Lemmatisation, suppression des mots-vides, etc..). Le nombre
de n-grammes d’un corpus, ne peut dépasser la taille de l’alphabet à la puissance n. Un
découpage en quadri-grams pour la langue anglaise (Alphabet de 26 caractères) nous
donne une taille maximale de 264 entrées, soit un vocabulaire d e 456 976 qaudri-
grammes possibles. Si on élimine les combinaisons comme FFFF, RRRM, KPPP,
etc.., qu’on ne trouvera jamais, ce nombre diminue d’une façon considérable. (Lelu &
Hallab ,2000) estime ce nombre à quelques 13 087 quadri-grams pour un texte de 173
000 caractères.
Catégorisation de textes : Approche Orientée Agent 127
-----------------------------------------------------------------------------------------------------------------
Ø Ce type de codage est multilingues : La langue du document ne pose aucune contrainte
particulière à sa représentation en n-grammes. En conséquence, aucune connaissance
linguistique préalable n'est requise, contrairement aux systèmes basés sur les mots qui
sont dépendants des langues dans lesquels il faut utiliser des dictionnaires spécifiques
à chaque langue (féminin-masculin ; singulier-pluriel ; conjugaisons ; etc.) (Jalam,
2003),(Clech, 2004).
Ø Comparativement à d’autres techniques, les n-grammes extraient automatiquement les
racines des mots les plus fréquents (Jalam, 2003),(Clech, 2004)
Ø Enfin, les erreurs d’orthographe et les éventuelles déformations d'un texte relatives à
l’utilisation des systèmes de reconnaissance optique de caractères (OCR) n'ont pas
d'incidence grave sur le profil d'un document. La reconnaissance optique d'un texte
scanné est en général approximative. Par exemple, le mot ”chapitre” peut être lu
comme ”clapitre”. Une représentation à base de mots aura du mal à reconnaître qu’il
s’agit du mot ”chapitre” puisque le mot est mal orthographié, tandis qu'une
représentation à base des n-grammes capture normalement les autres n-grammes
significatives comme ”apit”, ”pitr” ”itre”, etc... (Jalam & Teytaud, 2001). Des études
ont montré que des systèmes de recherches d'information à base des n-grammes ont
préservé leurs performances malgré une déformation de 30%, contrairement à un
système à base de mots qui commence à se dégrader à partir d'un taux de 10% de
déformations (Miller & all, 1999).
La notion de probabilité conditionnelle permet de tenir compte dans une estimation d'une
information complémentaire. Par exemple, si je tire au hasard une carte d'un jeu, j'estime
naturellement à une chance sur quatre la probabilité d'obtenir un cœur ; mais si j'aperçois un
reflet rouge sur la table, je corrige mon estimation à une chance sur deux. Cette seconde
estimation correspond à la probabilité d'obtenir un cœur sachant que la carte est rouge. Elle
est conditionnée par la couleur de la carte ; donc, conditionnelle.
En théorie des probabilités, la probabilité conditionnelle d'un événement A, sachant qu'un
autre événement B de probabilité non nulle s'est réalisé est noté P(A / B) défini par :
Le réel P(A / B) se lit « probabilité de A, sachant B ». P(A / B) se note aussi parfois PB(A)
Mathématiquement, soient (Ω , B , P), un espace probabilisé et B un événement de
probabilité non nulle. À tout événement A de B, nous associons le nombre noté P(A / B) ou
PB(A) défini par:
Nous pourrions vérifier que l'application PB définie par A à PB(A) est une probabilité.
Et P( A / B)+ P(Ø A / B) = 1
6.3.3.2- Théorème de Bayes
Le théorème de Bayes ou le modèle d'indépendance conditionnelle (Naïve Bayes classifier),
qui a été proposé par le mathématicien anglais Thomas Bayes (1702-1761), fournit un cadre
théorique pour la problématique de la classification. Dans cette approche, tous les paramètres,
sont considérés comme des variables aléatoires issues d'une distribution de probabilité.
Le théorème de Bayes est utilisé dans l’inférence statistique pour mettre à jour ou réviser les
estimations d’une probabilité ou d’un paramètre quelconque, à partir des observations et des
Catégorisation de textes : Approche Orientée Agent 129
-----------------------------------------------------------------------------------------------------------------
lois de probabilité de ces observations. Il y a une version discrète et une version continue du
théorème.
En théorie des probabilités, le théorème de Bayes énonce des probabilités conditionnelles :
étant donné deux évènements A et B, le théorème de Bayes permet de déterminer la
probabilité de A sachant B, si l’on connaît les probabilités :
· de A ;
· de B ;
· de B sachant A.
Ce théorème élémentaire (originellement nommé « de probabilité des causes ») a des
applications considérables.
Pour aboutir au théorème de Bayes, on part d’une des définitions de la probabilité
conditionnelle :
en notant la probabilité que A et B aient tous les deux lieu. En divisant de part et
d’autre par P(B), on obtient :
Si lorsqu'on a les yeux bandés les boîtes ne se distinguent que par leur nom, nous avons
P(HA) = P (HB), et la somme fait 1, puisque nous avons bien choisi une boîte, soit une
probabilité de 0,5 pour chaque proposition.
P (HA / D) représente la probabilité d'avoir choisi la boîte A sachant que le gâteau est au
chocolat.
Avant de regarder le gâteau, notre probabilité d'avoir choisi la boîte A était P (HA), soit 0,5.
Après l'avoir regardé, nous révisons cette probabilité à P (HA /D), qui sera 0,6. L'observation
D « le gâteau est au chocolat » nous a donc apporté une augmentation de 10% sur la
probabilité initiale de HA « le gâteau vient de la boîte A ».
Et puisque P (HA /D) + P (HB /D)= 1 (pas d'autre possibilité que d'avoir choisi la boîte A ou la
boîte B sachant que le gâteau est au chocolat), la probabilité d'avoir choisi la boîte B sachant
que le gâteau est au chocolat est donc de 1 - 0,6 = 0,4.
(
P di c j =) Õ P(t k c j )
t k Îd i
= P(t1/cj) * P(t2/cj) *…….* P(tn/ cj)
Il est possible d’estimer P(tk/cj) à partir des exemples du corpus d’apprentissage. On utilise
généralement l’estimateur du maximum de vraisemblance.
Que faire si on retrouve une probabilité nulle P (tj / ci) = 0 ? (Un terme absent de tous les
documents d’une classe)
Comme les probabilités de chaque terme sont multipliées, il suffit en effet qu’un seul terme
dans un document à classer ne soit présent dans aucun document d’une classe (ce qui arrive
souvent dans le domaine du texte où beaucoup de termes apparaissent très rarement) pour que
la probabilité que le document appartienne à cette classe soit nulle.
La correction Laplacienne ou le lissage de laplace (laplace smoothing) intervient pour éviter
ces probabilités nulles. Le lissage effectué pendant l’estimation, qui consiste à ajouter 1 à
chaque terme, est indispensable.
Puisque le nombre de termes de la base d’apprentissage est important, l’ajout de 1 sera
négligeable. On parvient alors, dans le cas du lissage de laplace, à :
1+ å 1ik
(
P tk c j = ) d i Îc j
2+ cj
(
P di c j =) Õ P(t k c j )
t k Îd i
= P(t1/cj) * P(t2/cj) *…….* P(tn/ cj)
Les probabilités sont une nouvelle fois estimées à partir des occurrences des exemples du
corpus avec l’estimateur du maximum de vraisemblance avec un lissage de laplace :
1 + Tct
P(t c ) =
åt 'ÎV (1 + Tct' )
Ou V c’est le vocabulaire du corpus,
Tct le nombre d’occurrences du terme t dans tous les documents de la classe c,
Tct’ le nombre d’occurrences de tous les termes y compris t des documents de la classe c.
Quant à la classification, l’estimation P(di/cj) est calculée suivant le modèle utilisé en
remplaçant les probabilités par leur estimateur et la classe cj ayant la probabilité la plus
élevée sera attribuée au document di .
1- Préparer les associations (texte, classe d’appartenance) pour tous les documents
d’apprentissage.
2- Préparer le document à classifier sous la forme (termes, nombre d’occurrences).
3- Compter pour chaque classe le nombre de documents appartenant a cette classe.
4- Calculer pour chaque classe la probabilité à priori.
5- Calculer de nombre de termes contenus dans une classe et le nombre d’occurrences de
chaque terme dans toutes les classes, ce traitement à effectuer sur tous les termes des
documents de training.
6- Calculer pour chaque classe la probabilité à posteriori.
7- La classe ayant la probabilité la plus élevée sera attribuée au document.
VP å VP
i =1
i
P= = C
VP + FP
å (VP
i =1
i + FPi )
VP å VP
i =1
i
R= = C
VP + FN
å (VP
i =1
i + FNi )
2*P*R
F1 =
P+R
6.3.5- Les Systèmes Multi-Agents
Contrairement aux différentes approches décrites dans l’état de l’art basé sur un seul point de
vue (Intelligence Artificielle classique : le penseur isolé) , et afin d’améliorer les
performances du processus de classification basé sur un seul module logiciel on est ainsi
naturellement conduit à chercher à donner plus d’autonomie et d’initiative aux différents
modules logiciels en optant pour la distribution de la tâche de classification à un Système-
Multi-Agents autonome collaboratif (Intelligence Artificielle distribuée : la communauté de
penseurs).
Comme les premiers logiciels étaient construits à l'image que l'on se fait du raisonnement
humain, les logiciels d'aujourd'hui (logiciel multi-agents) sont bâtis à l'image que l'on se fait
du fonctionnement d'une société d'humains : plusieurs composants (appelés agents) réalisent
chacun une tâche spécifique, interagissent et communiquent entre eux pour assurer la
cohérence, la complétude et la correction d'une activité globale. Comme toute société
d'humains, les agents pourront se réorganiser entre eux et adapter leur comportement à
l'évolution de l'environnement (concept d'apprentissage). Mais, il va sans dire que tout ce qui
se passe dans la tête des agents est entièrement défini par le concepteur.
L’utilisation d’une architecture Multi-Agents adoptant un comportement social de type
« Fourmis » peut se présenter alors, comme un vrai remède pour améliorer les performances
de notre modèle de classification. Sur des corpus de taille faible, la différence avec un
système classique (un seul agent) n’est pas vraiment remarquée mais dés qu’on passe au
Catégorisation de textes : Approche Orientée Agent 136
-----------------------------------------------------------------------------------------------------------------
traitement des corpus de grande taille ou même infinie comme le Web une telle architecture
pourrait être une très bonne solution pour notre problème. Peu de travaux ont déjà plus ou
moins traité la problématique de classification de textes à base des SMA (Lumer, 1994),
(Monmar, 1999).
On est ainsi naturellement conduit à chercher à donner plus d’autonomie et d’initiative aux
différents modules logiciels. Le concept de système multi-agents propose un cadre de réponse
à ces deux enjeux complémentaires (et à première vue contradictoires) : autonomie et
organisation.
Dans un contexte de catégorisation automatique de textes, l'autonomie des agents est
exprimée dans la première phase du processus par l'attribution des documents aux classes
d'une façon indépendante des autres agents, toutefois l'organisation du SMA et la
collaboration des agents du système entre eux peut être expliquée par la décision finale de
classification du document à une classe choisie après un vote majoritaire des agents.
6.4.2- Historique
Ce corpus initialement nommé Reuters-22173 comportait 22173 dépêches de presse qui ont
été publiés par en 1987. Tous les articles ont été rassemblés et indexés à des catégories par le
personnel de l'agence et le groupe Carnegie (Carnegie Group Inc - CGI).
En 1990, les documents ont été mis à la disposition du laboratoire de recherche d'information
(Université de Massachusetts à Amherst), par Reuters et CGI, pour des fins de recherche. Le
formatage des documents et la génération de fichiers associés a été réalisée en 1990 par
David D. Lewis et Stephen Harding au même laboratoire.
Un autre formatage et génération des fichiers associés a été fait été fait en 1991 et 1992 par
David D. Lewis et Peter Shoemaker au Centre d'information et études du langage (Université
de Chicago). Cette base de fichiers a donné naissance au 01/01/1993, à la première version
dénommée "Reuters-22173"
Figure 6.1 : Nombre de textes par catégories de la collection Reuters - (Jalam, 2003)
Catégorisation de textes : Approche Orientée Agent 141
-----------------------------------------------------------------------------------------------------------------
6.4.5- Reuters21578-ModeApté[10]
Plusieurs expériences ont été réalisées sur la base de textes Reuters-21578. Pour nos travaux,
l’ensemble de nos évaluations a été réalisé sur une sous-collection de cette base connue
par Reuters21578-Top10 que nous avons utilisé pour entraîner et tester notre classifieur.
Puisque notre objectif est d’associer un texte à une catégorie exclusive, nous avons opté pour
une version du corpus qui ne contient ni les textes non étiquetés, ni les textes de multiples
étiquettes. En outre, toutes les classes mal représentées avec moins de 150 dépêches
d’apprentissage et moins de 50 dépêches de test ont été éliminés. L'ensemble des dépêches
qui en résulte est 9982 dont 7194 textes d’apprentissage et 2788 de test. Les 9982 documents,
correspondent aux 10 classes les plus représentées dans le corpus. Le tableau 6.5 illustre la
répartition de ces 9 982 documents sur les 10 classes :
Reuters-Top10 est donc, une version abrégée du corpus Reuters-21578, qui conserve
seulement les 10 premières catégories ayant le plus d’effectifs en nombre de documents
associés, toutefois elle compte presque 50% des documents du corpus Reuters21578 1ére
version et presque 80% de la version "ModApté".
Certainement, manipuler 80% du corpus avec 10 catégories seulement assouplit le traitement
et allège considérablement le processus. Donc de toute évidence et d’une manière générale
traiter, comparer et présenter les résultats de 10 catégories est plus pratique que 90. Enfin,
nous tenons à préciser que nous ne sommes pas les seuls à choisir et opter pour le Top10 de
Reuters mais plusieurs auteurs ont confirmé dans leurs travaux qu’un classifieur qui réussit à
classer dans les 10 catégories les plus représentées de Reuters, ne va pas échouer dans les
autres. En revanche le seul inconvénient qui s’oppose c’est bien les possibilités de
comparaisons qui se rétrécirent seulement aux expériences qui ont testé leurs classifieurs avec
Reuters-Top10.
Le langage Java est un langage de programmation informatique orienté objet créé par James
Gosling et Patrick Naughton employés de Sun Microsystems avec le soutien de Bill Joy
(cofondateur de Sun Microsystems en 1982), présenté officiellement le 23 mai 1995 au
SunWorld.
Le langage Java a la particularité principale que les logiciels écrits avec ce dernier sont très
facilement portables sur plusieurs systèmes d’exploitation tels que UNIX, Windows, Mac OS
ou GNU/Linux avec peu ou pas de modifications. C’est la plate-forme qui garantit la
portabilité des applications développées en Java.
Le langage reprend en grande partie la syntaxe du langage C++, très utilisé par les
informaticiens. Néanmoins, Java a été épuré des concepts les plus subtils du C++ et à la fois
les plus déroutants, tels que les pointeurs et références, et l’héritage multiple remplacé par
l’implémentation des interfaces. Les concepteurs ont privilégié l’approche orientée objet de
sorte qu’en Java, tout est objet à l’exception des types primitifs (nombres entiers, nombres à
virgule flottante, etc.)
L’utilisation native du langage Java pour des applications sur un poste de travail restait
jusqu'à présent relativement rare à cause de leur manque de rapidité. Cependant, avec
l’accroissement rapide de la puissance des ordinateurs, les améliorations au cours de la
dernière décennie de la machine virtuelle Java et de la qualité des compilateurs, plusieurs
technologies ont gagné du terrain comme par exemple Netbeans et l’environnement Eclipse,
les technologies de fichiers partagés Limewire et Azureus. Java est aussi utilisé dans le
programme de mathématiques Matlab, au niveau de l’interface homme machine et pour le
calcul formel. Les applications Swing apparaissent également comme une alternative à la
technologie .NET. (www.fr.wikipedia.org)
Catégorisation de textes : Approche Orientée Agent 143
-----------------------------------------------------------------------------------------------------------------
Ainsi notre choix a été justifié par ces avantages qui s’ajoutent au fait que la plateforme Java
avec tous ses éléments est téléchargeable gratuitement.
n Matrices de contingence
Les documents correctement classés sont des VP ;
Catégorisation de textes : Approche Orientée Agent 144
-----------------------------------------------------------------------------------------------------------------
Les documents correctement non classés sont des VN ;
Les documents incorrectement classés sont des FP ;
Les documents incorrectement non classés sont des VN.
Jugement Expert
Catégorie Ci
Oui Non
Jugement Oui VPi FPi
classifieur Non FNi VNi
å VP i VP å VP i
2*P*R
P=
VP
= i =1 , R= = i =1
, F1 =
VP + FP C VP + FN C
P+R
å (VP i + FPi ) å (VP
i =1
i + FNi )
i =1
n Construction des matrices de contingence pour 3, 9, 21, 33, 61, 99 et 181 agents
n Calcul de précision, rappel et F-measure
F1=81.2%
· Répéter le même processus par 9 agents
Catégorie Earn Jugement Expert
R=94.1%
C1 Oui Non
P=93.0% Jugement Oui 1023 77
F1=93.6% classifieur Non 64 1215
F1=82.4%
· Dérouler la même démarche par 21 agents
Catégorie Earn Jugement Expert
R=95.1%
C1 Oui Non
P=94.0% Jugement Oui 1034 66
F1=94.6% classifieur Non 53 1214
F1=83.9%
· Dérouler une autre fois la même démarche par un SMA de 33 agents
Catégorie Earn Jugement Expert
R=95.8%
C1 Oui Non
P=94.6% Jugement Oui 1041 59
F1=95.2% classifieur Non 46 1220
Catégorisation de textes : Approche Orientée Agent 159
-----------------------------------------------------------------------------------------------------------------
F1=85.2%
· Recommencer les mêmes traitements avec un SMA de 61 agents
Catégorie Earn Jugement Expert
R=96.0%
C1 Oui Non
P=64.9% Jugement Oui 1044 56
F1=95.5% classifieur Non 43 1218
F1=86.1%
· Encore une fois avec 99 agents
Catégorie Earn Jugement Expert
R=94.3%
C1 Oui Non
P=93.0% Jugement Oui 1025 77
F1=93.7% classifieur Non 62 1218
F1=83.8%
· Et enfin répéter le processus par un SMA de 181 agents
Catégorie Earn Jugement Expert
R=92.5%
C1 Oui Non
P=91.3% Jugement Oui 1006 96
F1=91.9% classifieur Non 81 1233
F1=80.2%
Figure 6.2: Comparaison des résultats obtenus avec les différents N (N-grammes)
Catégorisation de textes : Approche Orientée Agent 166
-----------------------------------------------------------------------------------------------------------------
6.5.4.2- Comparaison des résultats d’autres algorithmes
Le résultat de comparaison des méthodes SVM, Rocchio, kNN, les arbres de décision, Naïve
Bayes et les réseaux de neurones avec notre algorithme Naïve Bayes (4-grammes) est le
suivant :
F1 SVM Rocchio kNN Arb.Déc Rés.Neur N.Bayes Notre NB
Earn 98.0% 92.9% 96.7% 97.8% 94.1% 95.9% 92.7%
Acq 93.6% 64.7% 91.6% 89.7% 88.8% 87.8% 90.3%
Money-fx 74.5% 46.7% 78.0% 66.2% 74.2% 56.6% 75.1%
Grain 94.6% 67.5% 86.4% 85.0% 73.8% 78.8% 45.2%
Crude 88.9% 70.1% 87.4% 85.0% 86.5% 79.5% 65.3%
Trade 75.9% 65.1% 77.3% 72.5% 79.5% 63.9% 60.9%
Interest 77.7% 63.4% 73.7% 67.1% 83.9% 64.9% 68.9%
Ship 85.6% 49.2% 49.4% 74.2% 89.9% 85.4% 48.5%
Wheat 91.8% 68.9% 69.1% 92.5% 79.7% 69.7% 41.2%
Corn 90.3% 48.2% 48.5% 91.8% 77.2% 65.3% 36.0%
Micro-Avg 92.0% 64.6% 81.8% 88.4% 82.8% 81.5% 80.6%
Tableau 6.20 : Comparaison des résultats obtenus avec ceux des autres algorithmes
SVM
92% Arb.Déc
88.4% Rés. Notre
kNN Neur. N.Bayes
NB
81.8% 82.8% 81.5%
80.6%
Rocchio
64.6%
Figure 6.3 : Comparaison des résultats obtenus avec ceux des différents algorithmes
Catégorisation de textes : Approche Orientée Agent 167
-----------------------------------------------------------------------------------------------------------------
6.5.4.3- Comparaison des approches Mono et Multi-Agents en variant le nombre d’agents
Les deux tableaux suivants opposent tous les résultats obtenus avec le même algorithme
Naïve Bayes avec des textes codés en 4-grammes, en commençant par le Mono-Agent et en
augmentant au fur et à mesure le nombre d’agents. Les comparaisons vont être appuyées sur
deux critères principaux à savoir les performances du classifieur en qualité des ses résultats et
son efficacité en temps d’exécution du processus (prétraitement, apprentissage et test) sur tout
le corpus.
F1 MonoAgent 3Agents 9Agents 21Agents 33Agents 61Agents 99Agents 181Agents
Earn 92,7% 93,2% 93,6% 94,6% 95,2% 95,5% 93,7% 91,9%
Acq 90,3% 90,9% 92,2% 93,0% 92,6% 92,7% 91,5% 88,6%
Money-fx 75,1% 73,5% 74,2% 78,1% 78,9% 80,0% 78,2% 70,8%
Grain 45,2% 45,7% 46,5% 52,4% 58,3% 61,3% 56,3% 53,2%
Crude 65,3% 66,4% 68,6% 67,3% 71,1% 71,7% 67,3% 61,0%
Trade 60,9% 63,9% 66,7% 68,9% 70,2% 71,4% 67,1% 62,2%
Interest 68,9% 67,9% 70,2% 69,6% 72,6% 74,8% 72,6% 67,4%
Ship 48,5% 49,1% 54,5% 57,7% 63,8% 67,5% 63,8% 57,7%
Wheat 41,2% 46,6% 48,9% 52,6% 57,1% 61,7% 58,6% 49,6%
Corn 36,0% 41,2% 43,6% 49,5% 55,4% 61,4% 57,4% 45,5%
Micro-Avg 80,6% 81,2% 82,4% 83,9% 85,2% 86,1% 83,8% 80,2%
Tableau 6.21 : Comparaison des résultats obtenus avec les différents nombres d’agents
Figure 6.4 : Comparaison des résultats obtenus avec les différents nombres d’agents
Catégorisation de textes : Approche Orientée Agent 168
-----------------------------------------------------------------------------------------------------------------
N.B : Les temps d’exécution sont évalués sur un HP Compaq DX7500, Pentium(R) Dual-
Core CPU 2.5Ghz, 3 Go de mémoire vive.
Figure 6.5 : Evaluation des temps d’exécution des systèmes mono et multi-agents
Catégorisation de textes : Approche Orientée Agent 169
-----------------------------------------------------------------------------------------------------------------
6.5.4.4- Comparaison des approches non distribuées avec notre approche SMA
La dernière confrontation va mettre en compétition les six classifieurs ajouté à notre
classifieur Naïve Bayes Mono-Agent avec notre nouveau modèle construit Naïve Bayes basée
sur une approche distribuée (SMA) composé de 61 agents.
SVM
92% Arb.Déc Rés. NB
88.4% Neur. Notre SMA
kNN N.Bayes
82.8% NB 86.1%
81.8% 81.5%
80.6%
Rocchio
64.6%
6.6- Discussion
6.6.1- L’influence du N dans les résultats de l’approche
La représentation basée sur les N-grammes est dépendante d’un paramètre essentiel : la valeur
de N, c.-à-d. le nombre de caractères que contiendra chaque N-grammes.
Qu’elle est la valeur de N qui donne les meilleurs résultats ?
Pour répondre à cette question, nous avons appliqué l’approche NB sur le corpus Reuters pour
des valeurs de N comprise entre 2 et 7.
Le tableau 6.19 et la figure 6.2 Présentent les résultats obtenus en utilisant la mesure de
performance F1.
En analysant les résultats du tableau, on remarque que les performances s’améliorent en
accroissant la valeur de N jusqu'à N=4 qui présente la valeur optimale. Ces performances
commencent à rechuter à partir de N=7.
6.7- Conclusion
Au cours de ce chapitre, nous avons présenté l’approche proposée avec toutes ces étapes, une
approche qui tire son profit de l’utilisation des n-grammes comme méthode pour représenter
les textes, et de l’algorithme Naïve Bayes comme algorithme d’apprentissage mais surtout
l’apport considérable de notre approche c’est la distribution du processus de classification
basée sur le paradigme agent.
Nous avons analysé les résultats de cette approche sur le corpus Reuters21578-Top10.
Les expérimentations réalisées ont mené aux constatations suivantes :
1- Le choix de la valeur N, influence sur les résultats de l’approche. En effet, les
expérimentations ont montré que les quint-grams sont idéales pour le corpus. Cette valeur
peut changer pour d’autres corpus.
2- En général, Les modèles Naïve Bayes classent bien dans le domaine textuel, et en
particulier notre classifieur à base des N-Grammes a amené à des résultats très
encourageants (80.6 %), mais insuffisants à l’égard des méthodes connues dans la
littérature par la qualité de leurs résultats.
3- La nouvelle utilisation du classifieur Naïve Bayes, basée sur une architecture multi-agents
introduite dans notre approche, a atteint l’objectif tracé puisque nous avons amélioré
considérablement les performances du modèle basé sur un seul module logiciel (+ 5.5%),
en s’approchant nettement des meilleurs résultats obtenus dans la littérature sur Reuters
Top10 à savoir les SVM et Arbres de Décision.
4- Un autre atout dans la distribution de classification est en matière d’efficacité du classifieur
qui s’améliore très nettement, bien sûr sans exagérer dans la distribution.
Conclusion générale 172
----------------------------------------------------------------------------------------------------------------------
Conclusion générale
1- Conclusion générale
La classification de textes s’est avérée au cours des dernières années comme un domaine majeur
de recherche pour les entreprises comme pour les particuliers.
Ce dynamisme est en partie dû à la demande importante des utilisateurs pour cette technologie.
Elle devient de plus en plus indispensable dans de nombreuses situations où la quantité de
documents textuels électroniques rend impossible tout traitement manuel.
La catégorisation de textes a essentiellement progressé ces dix dernières années grâce à
l’introduction des techniques héritées de l’apprentissage automatique qui ont amélioré très
significativement les taux de bonne classification.
Il reste néanmoins difficile de fournir des valeurs chiffrées sur les performances qu’un système
de classification peut actuellement atteindre.
Les travaux de recherche dans le domaine se focalisent surtout sur deux aspects : l’efficacité et
l’amélioration de performances.
Dans ces deux optiques nous avons entamé notre projet de recherche en proposant une approche
dans le domaine de classification supervisée intitulée « Classification automatique de textes –
Approche orientée Agent »,
Cette application propose un couplage original des méthodes issues du Traitement Automatique
du Langage Naturel (TALN), des méthodes d'Apprentissage Automatique (AA) et de
l’Intelligence Artificielle Distribuée (IAD). Grâce à cette utilisation associée, il est possible de
disposer d'une base d'apprentissage de grande taille et très représentative du problème que l'on
cherche à apprendre.
Nous avons décrit dans ce mémoire une nouvelle méthode de classification automatique de
textes, dont voici les marques principales :
§ La transformation ou le codage des documents est la préparation à « l’informatisation » de ces
derniers, qui va se faire par la technique des N-Grammes connue pour son indépendance des
différentes langues et son non exigence des traitements linguistiques préalables.
§ Pour l'algorithme d'apprentissage et classification, le modèle d'indépendance conditionnelle
(Naïve Bayes classifier) a été utilisé pour sa simplicité d’une part, et d’autre part, comme tous
les modèles probabilistes, il s’appuie sur une base théorique précise.
§ Le corpus Reuters dans sa version Reuters21578-Top10 avec ses deux mini-corpus
d’apprentissage et de test, nous a été très utile pour les différentes expérimentations.
§ Pour pouvoir comparer les résultats obtenus dans les différentes expérimentations, on a utilisé
les mesures de performance Rappel, Précison et F-measure (F1).
§ Mais sans doute la marque principale de notre travail, c’était l’intégration du paradigme agent
dans un processus de classification et tenter d’améliorer les performances du classifieur mono-
agent en distribuant la tâche de classification à plusieurs agents autonomes dans leurs
apprentissage et classification, et collaboratifs dans la décision finale de catégorisation prise
après un vote majoritaire.
Enfin de ce mémoire nous pouvons conclure que notre satisfaction est pleine puisque le double
objectif de nos travaux fixé dés le début a été atteint, à savoir :
Conclusion générale 174
----------------------------------------------------------------------------------------------------------------------
2- Perspectives
Les premiers résultats de cette application semblent prometteurs mais les études dans le domaine
doivent être poursuivies, à cet égard et dans la même optique de recherche, on aperçoit de
nombreuses pistes qui restent à explorer qui déclarent plusieurs chantiers ouverts :
§ Une première perspective se présente en diminuant les dimensions des profils des documents
et catégories soit avec sélection des n-grammes les plus importants soit avec élimination des
termes très fréquents (mots outils) et mots très rares sachant que la sélection de descripteurs
est un des principaux enjeux du système, puisque du choix des descripteurs et de la
connaissance précise de la population va dépendre la mise au point du classifieur. Ces
entrées non discriminantes doivent être supprimées pour deux raisons différentes : réduire le
temps de calcul et diminuer le sur-apprentissage.
§ La deuxième perspective s’annonce dans une variation dans la représentation des documents
d’entrée en utilisant d’autres techniques de représentation de textes (sac de mots, lemmes,
etc..). Chaque agent s’entraînera sur des textes codés par une méthode différemment des
autres. Cette diversité dans l’apprentissage ne peut qu’enrichir le processus.
§ Une autre alternative se présente en changeant les pondérations des termes et en s’appuyant
sur des représentations plus riches en informations que la représentation fréquentielle
basique, à savoir le codage TF-IDF. Le nombre d’occurrences du terme dans la catégorie est
la façon la plus simple de calculer cette pondération mais elle n’est pas très satisfaisante au
sens où elle ne prend pas en compte les autres catégories, or on désire pouvoir faire une
Conclusion générale 175
----------------------------------------------------------------------------------------------------------------------
comparaison. Ainsi une autre expérience très intéressante à réaliser, en employant Naïve
Bayes avec la pondération la plus largement utilisée à savoir TF-IDF basée sur une
architecture multiagents.
§ Une autre expérience consiste à expérimenter notre approche distribuée sur des mini-corpus
d’apprentissage générés aléatoirement au lieu d’une distribution préparée.
§ Une nouvelle perspective très passionnante dans l’utilisation de différentes méthodes de
classification. Chaque agent ou groupe d’agents va s’entraîner de sa manière et se spécialiser
selon son propre modèle de classification. On aura des agents SVM, agents arbres de
décision, agents kNN, agents réseaux de neurones ou même des agents mixtes pour
accomplir les mêmes tâches de classification. Ainsi on bénéficiera des performances de
plusieurs classifieurs dans un système unique de classification.
§ Parmi les futurs travaux est l’application de l’approche distribuée sur un corpus focalisé sur
un domaine bien spécifique en utilisant une ontologie de domaine. Cela va nous permettre
de construire des modèles spécialisés et aussi de minimiser les problèmes d’ambiguïté.
§ Enfin, il faut étendre nos réflexions aux catégorisations des documents manuscrits et ne pas
se limiter à la version électronique du corpus (Il existe des versions reconnues du corpus
Reuters manuscrit) Sachant que l’information textuelle contenue dans ces documents n’est
accessible que grâce à un processus de reconnaissance, qui en toute évidence, induit des
erreurs dans le texte résultant.
Annexes 176
-----------------------------------------------------------------------------------------------------------------
Annexes
Annexes 177
-----------------------------------------------------------------------------------------------------------------
Bibliographie
(Antoniotti, 2002) M.Antoniotti « Receuil d’un corpus électronique à partir du Web »
(Armstrong & all, 1995) R.Armstrong, D.Freitag, T.Joachims, T.Mitchell « WebWatcher : a
Learning apprentice for the World Wide Web »
(Amini, 2001) M.R.Amini « Apprentissage automatique et recherche d’information: application à
l’extraction d’information de surface et au résumé de texte »
(Apté & all, 1994) C.Apté, F.J.Damerau, S.M.Weiss « Automated learning of decision rules for
text categorization »
(Benveniste, 2000) B.Benveniste « Corpus de français parlé. Méthodologies et applications
linguistiques »
(Beaune, 1999) P.Beaune « Apprentissage automatique dans les SMA »
(Bellot, 2002) P.Bellot, M.El-Béze « Classification locale non supervisée pour la recherche
documentaire »
(Bigi & all, 2000) B.Bigi, R.De-Mori, M.El-Bèze, T.Spriet, « A fuzzy decision strategy for topic
identification and dynamic selection of language models »
(Biskri & Delisle, 2001) I.Biskri, S.Delisle « Les n-grams de caractères pour l’extraction de
connaissances dans des bases de données textuelles multilingues »
(Boissier, 2001) O.Boissier « Modèles et architectures d’agents, Principes et architectures des
systèmes »
(Boissier & all, 1999) O.Boissier, Z.Guessoum, M.Ocello « Plates-Formes de développement de
systèmes multi-agents »
(Bond & Gasser, 1988) A.Bond, L.Gasser « Readings in Distributed Artificial Intelligence »
(Boudaoud, 2002) K.Boudaoud « Un système multi-agents pour la détection d’intrusions »
(Bourron, 1992) T.Bouron « Structures de communication et d’organisation pour la
coopération dans un univers multi-agents »
(Breiman & all, 1984) L.Breiman, J.Friedman, R.A.Olshen, C.J.Stone « Classification and
regression trees »
(Briot & Demazeau, 2001) J.P.Briot, Y.Demazeau « Agent et systèmes multiagents »
(Briot & Demazeau, 2002) J.P.Briot, Y.Demazeau « Principes et architectures des systèmes
multi-agents »
(Briot & Demazeau, 2002) .P.Briot, Y.Demazeau « Sciences Principes et architectures des
systèmes multi-agents »
(Briot & all, 2006) J-P.Briot, Z.Guessoum, S.Aknine, A.L-Almeida, N.Faci « Experience and
Prospects for Various Control Strategies for Self-Replicating Multi-Agent Systems »
(Brooks, 1991) R.Brooks « Intelligence without Reason »
(Brown & Chong, 1998) G.Brown, H.A.Chong « The Guru System in TREC-6 »
(Brown & all, 1992) P.Brown, V.J.D.Pietra, P.V.de Souza, J.C.Lai, R.L.Mercer
« Class-bassed n-gram models of natural language »
(Buckley & all, 1994) C.Buckley, G.Salton, J.Allann, A.Singhal « Automatic query expansion
using SMART »
(Carpinto & all, 2001) C.Carpinto, R.De-Mori, G.Romano, B.Bigi « An information theoritic
approch to automatic query expansion »
Références bibliographiques 181
----------------------------------------------------------------------------------------------------------------------
(Caropreso & all, 2001) M.F.Caropreso, S.Matwin, F.Sebastiani « A learner-independent
evaluation of the usefulness of statistical phrases for automated text categorization »
(Castelfranchi, 1995) C.Castelfranchi « Commitments: From Individual Intentions to Groups
and Organizations»
(Chaib-draa, 2010) B.Chaib-draa « Agents Intelligents »
(Chaib-draa & all, 1992) B.Chaib-Draa, M.Moulin, R.Mandiau, P.Millot « Trends in
Distributed Artificial Intelligence »
(Chaib-Draa & all, 2001) B.Chaib-draa, I.Jarras, B.Moulin « Systèmes multiagents : Principes
généraux et applications »
(Chaib-Draa & Gageut, 2002) B.Chaib-draa, L.Gageut « Aspects formels des Systèmes Multi-
Agents »
(Chandra, 1998) B.Chandrasekaran, J.R.Josephson, V.R.Benjamins « The Ontology of Tasks
and Methods »
(Cheikhrouhou & all, 1998) M.Cheikhrouhou, P.Conti, R.T.Oliveira, J.Labetoulle «Intelligent
Agents in Network Management, a state of the art »
(Chethan & all, 2007) J.S.Chethan, G.R.Geeta, J.Pereira, K.Jakkula «Bayesian Classification»
(Clech, 2004) J.Clech « Contribution méthodologique à la fouille de données complexes »
(Clech & Zighed, 2004) J.Clech, D.A.Zighed « Une technique de réétiquetage dans un contexte
de catégorisation de textes »
(Clergue, 1997) G.Clergue « L’apprentissage de la complexité »
(Cohen & Levesque, 1995) P.R.Cohen, H.J.Levesque « Communicative Actions for Artificial
Intelligence »
(Corbara & all, 1993) B.Corbara, A.Drogoul, D.Fresneau, S.Lalande « Simulating the
Sociogenesis Process in Ant Colonies with MANTA »
(Dagan, 1999) I.Dagan, L.Lee, F.Pereira « Similarity based models of word co-occurrence
probabilities »
(Dagan & all, 2005) I.Dagan, O.Glickman, B.Magnini « The Pascal recognising textual
entailment challenge »
(De Loupy, 2000) C.D.Loupy « Évaluation de l’Apport de Connaissances Linguistiques en
Désambiguïsation Sémantique et Recherche Documentaire »
(Demazeau & Müller, 1991) Y.Demazeau, J.P.Müller « Decentralized AI »
(Denoyer, 2004) L.Denoyer « Apprentissage et inférence statistique dans les bases de documents
structurés : Application aux corpus de documents textuels »
(Deerwester & all, 1990)S.Deerwester,S.Dumais,T.Landauer,G.Furnas, R.Harshman « Indexing
by latent semantic analysis »
(Deneubourg & all, 1991) J-L.Deneubourg, S.Goss, A.Sendova-Franks, C.Detrain, L.Chretien
« The Dynamics of Collective Sorting Robot-like Ants and Ant-like Robots »
(Drogoul, 1993) A.Drogoul « De la simulation multi-agent à la résolution collective de
problèmes. Une étude de l’émergence de structures d’organisation dans les systèmes multi-
agents »
(Dumais, 1991) S.Dumais « Improving the retrieval of information fromexternal sources »
(Dumais & all, 1998) S.Dumais, J.Platt, D.Heckerman, M.Sahami « Inductive learning
algorithms and representations for text categorization »
(Dumais & Chen, 2000) S.T.Dumais, H.Chen « Hierarchical classification of Web content »
(Dutech & all, 2003) A.Dutech, B.Olivier, F.Charpillet « Apprentissage par renforcement pour
la conception de systèmes multi-agents réactifs »
(Erceau & Ferber, 1991) J.Erceau, J.Ferber « L’intelligence Artificielle Distribuée »
Références bibliographiques 182
----------------------------------------------------------------------------------------------------------------------
(Fayech, 2003) B. Fayech « Régulation des réseaux de transport multimodal : systèmes multi-
agent et algorithmes évolutionnistes »
(Fayet-Scribe, 1997) S.Fayet-Scribe « Chronologie des supports, des dispositifs et des outils de
repérage de l'information »
(Ferber 1995) J.Ferber « Les Systèmes Multi-Agents, Vers une intelligence collective »
(Généreux, 2010) M.Généreux « Classification de textes en comparant les fréquences lexicales »
(Ferber, 1999) J.Ferber « Multi-Agent Systems. An Introduction to Distributed Artificial
Intelligence »
(Ferber & Drogoul, 1992) J.Ferber, A.Drogoul « Using Reactive Multi-Agent Systems in
Simulation and Problem Solving »
(Ferber & all, 2009) J.Ferber, T.Stratulat, J.Tranier « Towards an Integral Approach of
Organizations: the MASQ approach »
(Ferber & all, 2010) J.Ferber, R.Dinu, T.Stratulat « A formal approach to MASQ »
(Finin & Fritzson, 1994) T.Finin, R.Fritzson « KQML - A Language and Protocol for
Knowledge and Information Exchange »
(Fipa, 2000) « FIPA ACL Message Structure Specification »
(Gates, 1999) B.Gates « The road ahead »
(Gilli, 1988) Y.Gilli « Texte et fréquence »
(Gotab, 2009) P.Gotab « Apprentissage automatique et Co-training »
(Guessoum, 1996) Z.Guessoum « Un environnement opérationnel de conception des SMA »
(Guessoum & Occello, 2001) Z.Guessoum & O.Occello«Environnements de développement»
(Guessoum & all, 2006) Z.Guessoum, N.Faci, J-P.Briot « Adaptive Replication of Large-Scale
Multi-Agent Systems - Towards a Fault-Tolerant Multi-Agent Platform »
(Gurvitch, 1963) G.Gurvitch « La vocation actuelle de la sociologie »
(Gutknecht & Ferber 1999) O.Gutjnecht, J.Ferber « Vers une Méthodologie Organisationnelle
de Conception de Systèmes Multi-Agent »
(Haddad, 2002) M.H.Haddad « Extraction et Impact des connaissances sur les performances des
Systèmes de Recherche d’Information »
(Hayes & Weinstein, 1990) P.Hayes, S.P.Weinstein « Construe/Tis : A system for content-based
indexing of a database of news stories »
(Hertzmann, 2004) A.Hertzmann « Introduction to Bayesian Learning »
(Hilali, 2009) H.Hilali « Application de la classification textuelle pour l’extraction des règles
d’association maximales »
(Jaillet & all, 2003) S.Jaillet, M.Teisseire, J.Chauche, V.Prince. « Classification automatique de
documents : Le coefficient des deux écarts »
(Jalam, 2003) R. Jalam « Apprentissage automatique et catégorisation de textes multilingues »
(Jalam & Teytaud, 2001) R.Jalam, O.Teytaud « Identification de la langue et catégorisation de
textes basées sur les n-grammes »
(Jégou & all, 2010) H.Jégou, M.Douze, C.Schmid « Représentation compacte des sacs de mots
pour l’indexation d’images »
(Jelinek & Mercer, 1980) F.Jelinek, R.L.Mercer « Interpolated Estimation of Markov Source
Parameters from Sparse Data »
(Jennings & all, 1998) N.Jennings, K.Sycara, M.Wooldridge « A Roadmap of Agent Research
and Development »
(Joachims, 1998) T.Joachims « Text categorization with support vector machines: learning with
many relevant features »
Références bibliographiques 183
----------------------------------------------------------------------------------------------------------------------
(Joachims, 1999) T.Joachims « Transductive inference for text classification using support
vector machines »
(Jones & Furnas, 1987) W.Jones, G.Furnas « Pictures of relevance : A geometric analysis of
similarity measures »
(Kinny & Georgeff, 1997) D.Kinny, M.Georgeff « Modelling and Design of Multi – Agents
Systemd »
(Koller & Sahami, 1997) D.Koller, M.Sahami « Hierarchically Classifying Documents using
very Few Words »
(Kohonen & all, 2000) T.Kohonen, S.Kaski, K.Lagus, J.Salojärvi, J.Honkela, V.Paatero,
A.Saarela « Self organization of a massive document collection »
(Labidi & Lejouad 1993) S.Labidi, W.Lejouad « De l’Intelligence Artificielle Distribuée aux
Systèmes Multi-Agents »
(Laichour, 2002) H.Laichour « Modélisation Multi-agent et aide à la décision : Application à la
régulation des correspondances dans les réseaux de transport urbain »
(Latour, 1989) B.Latour « La Science en action. La Découverte »
(Latour, 2006) B.Latour « Efficacité ou instauration ? »
(Latour & Lemonnier , 1994) B.Latour, P.Lemonnier « De la préhistoire aux missiles
balistiques - l’intelligence sociale des techniques »
(Lang, 1995) K. Lang « NewsWeeder : Learning to Filter Netnews »
(Lavalley & all, 2009) R. Lavalley, P. Bellot, M. El-Bèze « Interactions entre le calcul de
collocations et la catégorisation automatique de textes »
(Lefévre, 2000) P. Lefévre « La recherche d’information - du texte intégral au thésaurus »
(Lelu & Hallab ,2000) A.Lelu, M.Hallab « Consultation "floue" de grandes listes de formes
lexicales simples et composées : un outil préparatoire pour l’analyse de grands corpus textuels »
(Leray, 2006) P.Leray « Quelques Types de Réseaux de Neurones - La rétropropagation »
(Lestel, 1986) D.Lestel « Contribution à l’étude du raisonnement expérimental dans un domaine
sémantiquement riche »
(Lestel & all, 1994) D.Lestel, B.Grison, A.Drogoul « Les agents réactifs et le vivant dans une
perspective d’évolution coopérative »
(Lewis, 1992) D.D.Lewis « An evaluation of phrasal and clustered representations on a text
categorization task »
(Lewis, 2004) D.D.Lewis « Bayesian Text Classification for Spam Filtering »
(Loupy, 2000) C.Loupy « Évaluation de l’Apport de Connaissances Linguistiques en
Désambiguïsation Sémantique et Recherche Documentaire »
(Loupy & El-Bèze, 2000) C.de Loupy, M.El-Bèze « Using few cues can compensate the small
amount of resources available for WSD »
(Lumer & Faieta, 1994) E.D. Lumer & B.Faieta « Diversity and Adaptation in Populations of
Clustering Ants »
(Manning & all, 2008) C.D.Manning, P.Raghavan & H.Schütze « Introduction to Information
Retrieval » Cambridge University Press 2008.
(Mari & Napoli, 1996) J.F.Mari et A.Napoli « Aspects de la classification »
(Magendaz, 1995) T.Magendaz « On the Impacts of Intelligent Agents Concepts on Future
Telecommunication Environments »
(McCallum & all, 1998) A.McCallum, R.Rosenfeld, T.Mitchell, A.Y.Nigam « Improving Text
Classification by Shrinkage in a Hierarchy of Classes »
(Miller & all, 1999) E.Miller, D.Shen, J.Liu, C.Nicholas « Performance and Scalability of a
Large-Scale N-gram Based Information Retrieval System »
Références bibliographiques 184
----------------------------------------------------------------------------------------------------------------------
(Monmar & all, 1999) « AntClass : Discovery of clusters in numeric data by an hybridization of
an ant colony with Kmeans algorithm »
(Moulinier, 1996) I.Moulinier « Une approche de la catégorisation de textes par l’apprentissage
symbolique »
(Moutarde, 2008) F.Moutarde « Brève introduction aux arbres de décision »
(Müller, 1996) J.P.Müller. « The Design of Intelligent Agents - A layered Approach »
(Nakache, 2007) D.Nakache, « Extraction automatique des diagnostics à partir des comptes
rendus médicaux textuels »
(Nakache & Metais, 2005) D.Nakache, E.Metais « Evaluation : Nouvelle Approche avec juges »
(Nwana, 1996) H.S.Nwana « Software Agents: An Overview »
(Nwana & Ndumu, 2000) H.S.Nwana, D.T.Ndumu « A Perspective on Software Agents
Research »
(Oliveira, 1998) R.T.Oliveira « Gestion des Réseaux avec Connaissance des Besoins: Utilisation
des Agents Logiciel »
(M.M.Ould Sidi & all, 2005) M.M.Ould Sidi, S.Hammadi, S.Hayat, P.Borne «Urban transport
disrupted networks regulation strategies making and evaluation: A new approach»
(Pessiot & all, 2004) J.F.Pessiot, M.Caillet, M.R.Amini, P.Gallinari « Apprentissage non-
supervisé pour la segmentation automatique de textes »
(Pesty & all, 2001) S.Pesty, C.Webber, N. Balacheff: « Baghera : une architecture multi-agents
pour l'apprentissage humain »
(Pisetta & all, 2007) V.Pisetta, G.Ritschard, D.A.Zighed « Choix des conclusions et validation
des règles issues d’arbres de classification »
(Porter, 1980) M.F.Porter « An algorithm for suffix stripping »
(Pothin & Richard, 2007) J.B.Pothin, C.Richard « Apprentissage de métrique appliqué à la
classification de textes par méthodes à noyaux »
(Quinlan, 1986) J.R.Quinlan « Induction of decision trees »
(Quinlan, 1993) J.R.Quinlan « Programs for Machine Learning »
(Ralaivola, 2006) L.Ralaivola « Modèles de représentation, sélection d’attributs, classification,
catégorisation »
(Raza, 2009) M.Raza « Command agents with human-like decision making strategies »
(Robertson & Sparck-Jones, 1976) S.Robertson, K.Sparck-Jones « Relevance weighting of
search terms »
(Ritschard & all, 2009) G.Ritschard, S.Marcellin, D.A.Zighed « Arbre de décision pour données
déséquilibrées : sur la complémentarité de l’intensité d’implication et de l’entropie Décentrée »
(Rocchio, 1971) J.Rocchio « Relevance feedback in information retrieval »
(Rocher, 1968) G.Rocher « Introduction à la sociologie générale »
(Russell & Norvig, 1995) S.J.Russell, P.Norvig «Artificial Intelligence. A Modern Approach»
(Sahami, 1999) M.Sahami « Using Machine Learning to Improve Information Access »
(Salton, 1968) G.Salton « Automatic information organization and retrieval »
(Salton & McGill, 1983) G.Salton & M.McGill « Introduction to Modern Information Retrieval»
(Salton & Buckley, 1988) G.Salton, C.Buckley « Term-weighting approaches in automatic text
retrieval »
(Sansonnet, 2002) J-P.Sansonnet « Concepts d’agents : Introduction aux concepts et aux
architectures des systèmes multi-agents »
(Saporta, 1990) G.Saporta « Probabilités, Analyse des données et Statistique »
(Shannon, 1948) C.Shannon « The Mathematical Theory of Communication »
Références bibliographiques 185
----------------------------------------------------------------------------------------------------------------------
(Schapire & all, 1998) R.E. Schapire, Y.Singer, A.Singhal « Boosting and Rocchio applied to
text filtering »
(Sebastiani, 1999) F.Sebastiani « A tutorial on automated text categorisation »
(Sebastiani, 2002) F.Sebastiani « Machine learning in automated text categorization »
(Schmid, 1994) H.Schmid « Probabilistic part-of-speech tagging using decision trees »
(Scott & Matwin, 1999) S.Scott, S.Matwin « Feature Engineering for Text Classification »
(Sen & Weiss, 1999) S.Sen, G.Weiss « Learning in Multiagent Systems »
(Shah & all, 2002) C. Shah, B. Chowdhary, P. Bhattacharyya « Constructing better document
vectors universal networking language (unl) »
(Skarmeas, 1998) N.Skarmeas « Agents as Objects with Knowledge Base State »
(Shoham, 1993) Y.Shoham « Agent Oriented Programming. Artificial Intelligence »
(Smith, 1980) R.G.Smith « The Contract Net Protocol: High-Level Communication and
Control in a Distributed Problem Solver »
(Stricker, 2000) M.Stricker « Réseaux de neurones pour le traitement automatique du langage:
conception et réalisation de filtres d’information »
(Trinh, 2008) A.P.Trinh « La classification des textes d’opinion par les Séparateurs à Vaste
Marge (SVM) avec sorties probabilistes »
(Turenne, 2000) N.Turenne «Apprentissage statistique pour l’extraction de concepts à partir
de textes. Application au filtrage d’informations textuelles »
(Uchida & Zhu, 1999) T.D.S. H.Uchida, M.Zhu « The UNL, A Gift for a Millennium »
(Uschold & King, 1995) M.Uschold et M.King «Towards a Methodology for Building
Ontologies »
(Usunier & all, 2005) N.Usunier, M.R.Amini, P. Gallinari « Résumé automatique de texte avec
un algorithme d’ordonnancement »
(Van Rijsbergen, 1979) C.J.Van Rijsbergen, « Information Retrieval »
(Vapnik, 1995) V.Vapnik « The Nature of Statistical Learning »
(Vinot & all, 2003) R.Vinot, N.Grabar, M.Valette « Application d’algorithmes de classification
automatique pour la détection des contenus racistes sur l’Internet »
(Vinot & Yvon, 2002) R.Vinot, F.Yvon « Quand simplicité rime avec efficacité : analyse d’un
catégoriseur de textes »
(Wei, 2009) Z.WEI « Avancée en classification multi-labels de textes en langue chinoise»
(Wiener, 1995) E.D.Wiener « A neural network approach to topic spotting in text »
(Wies, 1995) R.Wies « Policies in Integrated Network and Systems Management »
(Wilkinson & all, 1996) R.Wilkinson, J.Zobel, R.Sacks-Davis « Similarity measures for
short queries »
(Wooldridge, 1999) M.Wooldridge « Intelligent Agents »
(Wooldridge, 2002) M.Wooldridge «Multi-agent Systems »
(Wooldridge & Jennings, 1994) M.Wooldridge, N.Jennings « Towards a Theory of Cooperative
Problem Solving »
(Yang, 1999) Y.Yang « An evaluation of statistical approch to text categorization »
(Yang, 2001) Y.Yang « Problem-based Learning on the World Wide Web in an Undergraduate
Kinesiology Class: an Integrative Approach to Education »
(Yang & Liu, 1999) Y.Yang, X.Liu « A re-examination of text categorization methods »
(Yvon, 2006) F.Yvon « Des apprentis pour le traitement automatique des langues »
(Zighed & Rakotomalala, 2000) D.A.Zighed, R.Rakotomalala « Graphes d’induction.
Apprentissage et Data Mining ».
(Zipf, 1949) G.K.Zipf « Human Behavior and the Principle of Least Effort »