TH3628top
TH3628top
TH3628top
MEMOIRE
Présenté par
BENFRIHA HICHEM
Pour obtenir
LE DIPLOME DE MAGISTER
Intitulé :
THEME
CONTRIBUTION A LA CATEGORISATION DE
TEXTES :
MODELISATION BOOLEENNE
Finalement, je pense que je ne suis pas arrivée à ce stade que grâce aux
encouragements et aides apportés par mes chers parents : mon père Benfriha
Bachir et ma mère Chabane Mehadjia, ma chère fiancé Ghellal Assia, mon chère
frère Mohammed et mes sœurs Nesserine et Wafaa ainsi que leurs maries
respectivement Khemliche Belarbi et Kalafate Tarik.
Merci à toutes les personnes qui ont contribué de prés ou de loin à l’aboutissement
de ce travail.
Merci
Introduction générale................................................................................................................ 1
2.2.2 Treillis................................................................................................................. 40
2.5. Conclusion......................................................................................................................... 56
3.6 Conclusion........................................................................................................................ 81
4.7 Expérimentations............................................................................................................... 91
4.7.1. Applications........................................................................................................ 92
4.7.4. L’impact des fonctions de réduction des termes pour les corpus 1 et 2........... 103
Annexes
Référence bibliographiques
TABLE DES FIGURES
Chapitre I
Figure 1.1. Apports disciplinaires et domaines d'application de la fouille de textes .............. 11
Chapitre II
Figure 2.1 Le treillis de concepts correspondant au contexte formel K = (G, M, I)
donné dans la table 2.1 ...................................................................................... 48
Figure 2.2 Les étapes de la construction incrémentale du treillis de concepts
correspondant au contexte formel donné dans la table 2.2 .................... 53
Figure 2.3 Les treillis de concepts correspondant aux contextes formels donnés
dans les tables 2.4.............................................................................................. 54
Figure 2.4 Liens lien entre les concepts des treillis B(K1) et B(K2) et ceux du
treillis B(K) ..................................................................................................... 55
Chapitre III
Figure 3.1 Relation binaire et treillis de Galois associé (Diagramme de Hasse) .................. .62
Chapitre IV
Figure 4.1 Schéma global du système hybride LATTICE-CELL ........................................... 90
Figure 4.2 L’impact des mesures de similarités du CORPUS1 .............................................. 99
Figure 4.3 Résultats de comparaisons des performances pour le CORPUS1 ..................... 100
Figure 4.5 Résultats de comparaisons des performances pour le CORPUS 2 ..................... 102
LISTE DES TABLEAUX
Chapitre II
Tableau 2.1 Un contexte formel représentant les planètes du système solaire...................... 44
Tableau 2.2 Contexte formel représentant les planètes du système solaire avec renommage
des attributs et des objets .................................................................................... 50
Tableau 2.3 Les ensembles de rectangles maximaux calculés par l’algorithme de Chein à
Chapitre III
Chapitre IV
Tableau 4.2 Répartition des volumes des comptes rendus du CORPUS2 .............................. 95
Contexte de l’étude
La fouille de textes (FT) est une thématique scientifique très dynamique dont les
caractéristiques pluralistes et plurielles en font un des carrefours les plus vivaces de notre
époque. Pluralistes, car elle met en relation la recherche universitaire et la recherche en milieu
industriel, la préoccupation en sciences fondamentales et les enjeux politico-économiques, de
par ses multiples applications à destination du grand public. Plurielle, puisqu’elle unit des
thématiques disciplinaires allant de l’informatique, au marketing, en passant par les
statistiques, la linguistique, la sociologie et les sciences de la communication. La fouille de
textes définit une méthodologie scientifique issue de ces disciplines d’origines où vont se
mêler simulation, expérimentations, observation et évaluation.
Cependant, les mêmes problèmes qui se sont posés pour les données structurées telle
que l’organisation, l’analyse et la découverte de nouvelles connaissances se posent également
pour les textes, mais de façon plus aiguë. La surabondance des textes pose de nouveaux défis
informatiques en termes de stockage et de traitement en temps réel. Face à ces défis,
l’amélioration des techniques existantes de découverte de nouvelles connaissances à partir de
textes telle que les arbres de décision (ID3), les K-plus proches voisins (K-PPV), le classifieur
NaiveBays, les machines à vecteurs supports (SVM) et les treillis de Galois, etc. est devenue
un axe majeure dans la dernière décennie.
1
Problématique du projet
L'Analyse Formel de Concepts (AFC) est une branche de la théorie des treillis qui
permet la génération de concepts. Un concept formel est un couple complet qui associe un
ensemble d'objets (extension) à un ensemble d'attributs (intention) permettant ainsi de
regrouper les objets qui ont des caractéristiques communes. L'AFC est un domaine de
recherche actif qui évolue énormément chaque année à cause de son utilité grandissante.
Même si l'AFC semble abstraite et très théorique, elle fait l'objet de plusieurs
applications dans des domaines variés (réutilisation en génie logiciel, repérage de
l'information, applications web, catégorisation de textes). Le treillis de concepts est utile dès
lors qu'on souhaite explorer de l'information volumineuse pour en extraire des regroupements
conceptuels. L'AFC peut aussi bien servir à faire de la classification des textes ou des pages
web, recherche d'images basée sur le contenu, découvrir de l'information sur une population
ou bien classer des données dans un entrepôt. Toutes ces applications sont déjà réalisables
grâce aux nombreux algorithmes existants pour générer les concepts. Et pour cela l’ACF a été
centrée autour de la notion de concept qui, du point de vue philosophique, est considéré
comme l’unité de base de la pensée humaine.
2
L’utilisation des treillis de Galois permet une organisation géométrique intuitive et
offre un cadre pour la classification supervisée grâce à la notion de concept : concept =
intension + extension. Le principal avantage du treillis de Galois réside dans son exhaustivité.
De cet avantage découle un inconvénient majeur : tous les algorithmes de construction de
treillis ont une complexité exponentielle en fonction du nombre d’attributs et d’objets.
Organisation du mémoire
Ce mémoire est structuré en deux parties. Elles sont organisées selon l’aspect
théorique et l’aspect applicatif.
3
Le chapitre 2, là où, aborde l’Analyse Formelle de Concepts (AFC) à savoir les
notions de base et les définitions mathématiques relatives à la théorie des ensembles ordonnés
et les algorithmes proposés dans ce domaine relatifs à la construction des treillis de Galois.
4
Chapitre 1
1.1 Introduction
La fouille de textes (FT) ou l'extraction de connaissances dans les textes (ECT) est une
spécialisation de la fouille de données et fait partie du domaine de l'intelligence artificielle.
Cette technique est un ensemble de traitements informatiques consistant à extraire des
connaissances selon un critère de nouveauté ou de similarité dans des textes produits par
des humains pour des humains [3, 4]. Nombreuse tâches de la fouille de textes ont étés
proposées dans la littérature parmi elles on trouve la catégorisation automatique de textes
qui s’impose comme une technologie clé dans la recherche et l’extraction d’information,
où de nos jours, la demande d’outils de recherche permettant de gérer la surcharge
d’information a conduit à un intérêt pour la catégorisation automatique de textes dans
l’espoir de réduire le travail humain de façon significative, et à résoudre des problèmes
d’accès à l’information voulu [5].
La (FT), ou text mining, est introduite au milieu des années quatre-vingt-dix sous le
terme Knowledge Discovery in Textual Databases (KDT) [6] ou Text Data Mining (TDM)
[7], puis traduit en français dans [8] par Extraction des Connaissances à partir de Textes
(ECT).
Dans le texte introductif de l’atelier « Text Mining » de la conférence KDD 2000 [9],
les organisateurs écrivent que : «l’objectif de la fouille de textes est d’exploiter
l’information contenue dans les documents textuels de différentes manières, incluant les
analyses classiquement faites en fouille de données : découvrir des patrons et des
tendances dans les données, trouver des associations entre les notions, construire des règles
de prédiction, etc.». Dans [7] : « la fouille de données textuelles est un processus d’analyse
exploratoire de données qui permet de révéler de nouvelles connaissances ou de permettre
de répondre, de façon pertinente, à des questions. ». Pour [8] : « le but d’un processus de
5
Chapitre 1 : La fouille de textes et la catégorisation des documents
6
Chapitre 1 : La fouille de textes et la catégorisation des documents
L'étude de Feldman et Dagan [6] s'est également intéressée au suivi des tendances.
L'objectif était d'évaluer les écarts entre un modèle de distribution issu de données anciennes
et ceux observés dans de nouvelles données. Deux biais importants sont à remarquer dans leur
méthodologie. Tout d'abord, elle nécessitait un effort humain considérable pour la
construction de la hiérarchie des concepts. Deuxièmement, le processus de catégorisation
n'était pas automatisé, ce qui représentait à nouveau une tâche très lourde. Dans la mesure où
les étapes essentielles dans cette étude étaient manuelles (la construction du référentiel des
connaissances et la catégorisation) [10].
Par ailleurs, et selon [12] les unités textuelles dont les distributions semblaient
intéressantes étaient toutes des mots isolés (ship, loan, earn, coffee). Or, de nombreux
concepts dans un domaine donné apparaissent sous forme de pluri termes (termes composés
de plusieurs mots) tels que « impôt sur le revenu » dans le domaine économique [10]. Depuis
cette étude, des progrès considérables ont été faits sur la mise au point d'outils linguistiques
permettant d'extraire des termes à partir des textes, d'une part, et, d'autre part, sur
l'amélioration d'algorithmes de classification supervisée permettant d'automatiser la phase de
catégorisation de textes [13].
1.2.1. Définitions
Selon [10,11], la première définition de la fouille de textes, présentée en tant que telle,
est celle de Feldman et al. [12].
Définition 1 : « La fouille de textes est la science qui extrait des motifs cachés à partir
de grandes collections de textes ».
7
Chapitre 1 : La fouille de textes et la catégorisation des documents
statistique : tout comme en FD, elle donne à la FT des outils permettant de procéder à
la vérification des hypothèses [10,11];
8
Chapitre 1 : La fouille de textes et la catégorisation des documents
informatique : cette discipline est bien sur incontournable pour l'automatisation des
traitements à effectuer. Ainsi, l'ingénierie linguistique, qui allie les deux disciplines :
linguistique et informatique, est-elle au cœur de nombreux systèmes de FT. Une autre
spécialité de l'informatique, les bases de données, déjà concernée par la gestion des
entrepôts de données, développe des méthodes qui peuvent être appliquées à la FT.
Ainsi, les règles d'association, dérivées de la dépendance fonctionnelle en base de
données, sont-elles utiles en FT [10,11];
Etant donné la coexistence de deux acceptions de la FT, l'une restrictive et l'autre plus
large, les contours de la FT demeurent encore flous. De ce fait, il est difficile d'identifier
clairement les frontières de cette spécialité en termes de méthodes et d'applications, de
différencier ses objectifs de ceux des spécialités existantes. Par conséquent, fournir une liste
exhaustive et consensuelle des thèmes de recherche et des applications de la FT est une
entreprise délicate. Et parmi ses domaines d’application on peut citer :
9
Chapitre 1 : La fouille de textes et la catégorisation des documents
d'application concerne l'amélioration des services rendus aux clients, notamment via le
service de maintenance par l'analyse des plaintes reçues, ou par l'analyse des textes
dans les enquêtes d'opinion ou des forums de discussion;
gestion des ressources humaines : cela concerne l'analyse automatique des sondages,
internes sur la motivation du personnel, l'analyse automatique des curriculum vitae
pour la recherche de compétences particulières ;
10
Chapitre 1 : La fouille de textes et la catégorisation des documents
11
Chapitre 1 : La fouille de textes et la catégorisation des documents
La figure 1.2 ci-après montre les principales étapes de la fouille de textes, depuis la
collecte des textes jusqu'à la découverte de nouvelles informations.
Dans ce schéma proposé dans [10], les traitements effectués à chaque stade varient en
fonction de l'application et du type de connaissances utilisé. La phase de prétraitements peut
être plus ou moins élaborée. Elle peut inclure l'élimination de mots vides (mots
grammaticaux) ou une normalisation plus poussée des textes dans le cas d'un corpus très
technique (corpus médical, par exemple). La phase du choix des unités d'analyse peut faire
12
Chapitre 1 : La fouille de textes et la catégorisation des documents
appel aux connaissances linguistiques (extraction des termes, des relations sémantiques entre
eux) ou simplement statistique, avec la recherche des n-grammes dans les textes (séquences
de mots adjacents qui se répètent dans le corpus). Les deux techniques peuvent enfin être
combinées lorsqu'il s'agit de choisir, parmi les unités extraites, celles qui ont un poids
discriminant (indexation automatique). Certaines applications de fouille de textes peuvent
nécessiter des traitements de nature sémantique avec la recherche de relations entre les unités
extraites. La phase de fouille à proprement parlé va puiser dans un panel de techniques pour
choisir celle(s) adaptée(s) à l'application et aux types de résultats attendus.
Ainsi la catégorisation des documents rentre dans cette acceptation large de la fouille
de textes, et que Sebastini [13,14] résume ainsi : « La fouille de textes est de plus en plus
employée pour désigner toutes les tâches qui, en analysant de grandes quantités de textes et en
détectant des motifs, essaie d’extraire des informations probablement utiles (bien que
seulement probablement correctes). Selon cette vision, la catégorisation des documents est
une instance de la fouille de textes ».
13
Chapitre 1 : La fouille de textes et la catégorisation des documents
Ω: × →{ , }
La synthèse des différents documents [5, 10, 11, 15] permet de constater un large
consensus sur la méthodologie globale à adopter pour la catégorisation automatique des
documents. Celle-ci comprend trois phases principales : une phase d’indexation, une phase
d’apprentissage et une phase de test.
14
Chapitre 1 : La fouille de textes et la catégorisation des documents
La phase d'apprentissage est la plus importante. Au cours de cette phase initiale, nous
devons effectuer trois choix :
choix du classifieur.
Selon l'approche statistique et informatique, les textes peuvent être réduits à une
séquence de formes séparées par des séparateurs (en général l'espace). Il serait donc aisé, de
15
Chapitre 1 : La fouille de textes et la catégorisation des documents
ce point de vue, d'appliquer les mêmes techniques de catégorisation qui fonctionnent sur des
données structurées aux textes, moyennant un minimum de préparation. Cette vision des
textes en tant que données numériques est présente dans de nombreux travaux en fouille de
textes. Weiss et al. [16] expliquent que les textes ne sont pas fondamentalement différents des
données structurées puisqu'ils seront transformés en des données mesurables. Représentés
sous forme matricielle, on peut en extraire des vecteurs numériques pour chaque objet, en
tenant compte des informations de bas niveau, à savoir la présence/absence ou la fréquence
des mots dans des documents.
Ainsi, le choix d'un mode de représentation adéquat des instances à traiter est une
étape incontournable en apprentissage automatique : on doit opter pour une façon uniforme et
judicieuse d'abstraire les données avant de les soumettre à un algorithme. Comme
l'apprentissage joue un rôle dans la catégorisation automatique de textes, le choix d'un mode
de représentation y devient un enjeu. Par la suite, il sera question de la sélection d'attributs,
presque toujours impliqués en catégorisation automatique de textes et on éliminera les
attributs jugés inutiles à la catégorisation [17, 18].
16
Chapitre 1 : La fouille de textes et la catégorisation des documents
Dans le modèle précédent (représentation en «sac de mots»), chaque flexion d'un mot
est considérée comme un descripteur différent et donc une dimension de plus ; ainsi, les
différentes formes d'un verbe constituent autant de mots. Par exemple : les mots
«déménageur, déménageurs, déménagement, déménagements, déménager, déménage,
déménagera, etc.» sont considérés comme des descripteurs différents alors qu'il s'agit de la
même racine «déménage» ; les techniques de désuffixation consistent à rechercher les racines
lexicales, et de lemmatisation cherchent à résoudre cette difficulté. Pour la recherche des
racines lexicales, plusieurs algorithmes ont été proposés ; les algorithmes de « stemming » les
plus connus pour l’anglais sont ceux de Lovins [20] et de Porter [21].
17
Chapitre 1 : La fouille de textes et la catégorisation des documents
Une fois que l’on choisit les composantes du vecteur représentant un texte j, il faut
décider de la façon d’associer un poids à chaque coordonnée de son vecteur dj. Il existe
différentes méthodes pour calculer les poids Wkj. Ces méthodes sont basées sur les deux
observations suivantes :
Plus le terme tk est fréquent dans un document dj, plus il est en rapport avec le
sujet de ce document.
Plus le terme tk est fréquent dans une collection, moins il sera utilisé comme
discriminant entre document.
#( , )
( , ) =
∑# ( , )
18
Chapitre 1 : La fouille de textes et la catégorisation des documents
même texte, ce qui correspond bien à l’idée intuitive que ces mots sont plus
représentatifs du document. Mais sa particularité est qu’elle donne également
moins de poids aux mots qui appartiennent à plusieurs documents : pour refléter
le fait que ces mots ont un faible pouvoir de discrimination entre les classes [17].
Le poids d’un terme dans un document est calculé ainsi :
| |
TF × IDF ( , ) = (1 + #( , )) × ( )
# ( )
Où :
#( , ) : Le nombre d’apparition de terme dans le document .
|Tr| : Le nombre de document du corpus d’apprentissage.
# ( ) : Le nombre de documents de cet ensemble dans lesquels apparait au moins
une fois le terme
Autres raisons qui nécessitent la réduction de l'espace : un modèle plus simple sera
plus facile à comprendre et à interpréter ; le déploiement sera facilité, nous aurons besoin de
19
Chapitre 1 : La fouille de textes et la catégorisation des documents
Sélection d’attributs
La sélection d'attributs prend les attributs (ou mots) d'origine et conserve seulement
ceux jugés utiles à la classification, selon une certaine fonction d'évaluation, en attribuant un
score à chaque terme en fonction de son pouvoir discriminant : un terme fortement
discriminant du point de vue de la classification thématique aura un score plus élevé qu'un
terme moins discriminant. Il suffit alors de ne conserver que les termes dont le score est le
plus élevé pour réduire considérablement la dimension de l'espace. Selon [24], il présente une
étude comparative de cinq mesures de sélection d'attributs utilisées dans les systèmes de
catégorisation. Nous présentons les trois mesures les plus utilisées lors de la sélection
d'attributs.
( )= − + ( ) \ \ + ( ̅) \ ( ̅) \ ( ̅)
20
Chapitre 1 : La fouille de textes et la catégorisation des documents
[ ( , ) × ( ,̅ ̅) − ( ,̅ ) × ( , ̅)]²
( , )= ×
( ) × ( ̅) × ( ) × ( )̅
( \ )
( , )=
( )× ( )
Extraction d'attributs
A partir des termes de départ, elles créent de nouveaux termes, en faisant soit des
regroupements ou des transformations. Plusieurs techniques ont été mises en place la plus
connue est sous le nom de Latent Semantic Indexing (LSI) [25, 26], elle consiste, en
revanche, à définir un nouvel ensemble de termes, chaque nouveau terme étant construit par
combinaison linéaire des termes initiaux. Le regroupement de termes («Term clustering») fait
aussi partie de ces techniques et a pour but de grouper les termes qui ont une sémantique
commune. Les groupes (clusters) ainsi créés deviennent les termes d'un nouvel espace
vectoriel.
d) Choix du classifieur
La dernière étape consiste à identifier l'algorithme (le classifieur) qui fera la meilleure
estimation de la catégorisation d'un texte.
21
Chapitre 1 : La fouille de textes et la catégorisation des documents
22
Chapitre 1 : La fouille de textes et la catégorisation des documents
Il n'y a pas de classes prédéfinies et le but est d'effectuer les meilleurs regroupements
possibles entre les objets dans lesquels les observations diffèrent très peu au regard de ses
valeurs. L'apprentissage non supervisé, appelé aussi apprentissage par observations ou par
découverte, consiste à trouver des «régularités» dans l'échantillon d'apprentissage.
⊂ ℜ: Lorsque la sortie que l'on cherche à associer à une entrée est une valeur dans un
ensemble continu de réels, on parle d'un problème de régression.
= 1 … . : Lorsque l'ensemble des valeurs de sortie est de cardinal fini, on parle d'un
problème de classification car le but est en fait d'attribuer une étiquette à une entrée
donnée.
23
Chapitre 1 : La fouille de textes et la catégorisation des documents
Parmi les classificateurs existants, on peut faire des regroupements et distinguer des
grandes familles. Par exemple, on peut discerner les classificateurs probabilistes qui utilisent
l'ensemble d'entrainement, c'est-à-dire les textes déjà classés, pour estimer les paramètres de
la distribution de probabilité des mots par rapport aux catégories. C'est dans cette famille
qu'on retrouve entre autres le classificateur bayésien naïf. On trouve aussi des classificateurs
se basant sur un profil, les classificateurs linéaires. Dans ce contexte, le profil est un vecteur
de termes pondérés construit pour chaque catégorie, dans le but de les représenter d'une façon
générale.
Ce vecteur est bien sur construit à l'aide des données d'entrainement. Quand un
nouveau texte doit être classé, il est alors comparé à ce vecteur « type ». Un avantage de cette
approche est qu'elle produit un classificateur compréhensible par un humain, dans le sens où
le profil de la catégorie peut être interprété assez facilement. Par contre, l'inconvénient
principal de tous les classificateurs linéaires est que l'espace est divisé en seulement deux
portions, ce qui peut être restrictif, car tous les problèmes ne sont pas nécessairement
linéairement séparables. Les machines à support vectoriel s'apparentent aux classificateurs
linéaires, dans le sens où elles tentent de séparer l'espace en deux, mais certaines
manipulations mathématiques les rendent adaptables à des problèmes non linéaires. Il y a
aussi une famille de classificateurs qui se basent sur l'exemple. On parle alors d'apprentissage
à base d'instances. Les nouveaux textes à classer sont comparés directement aux documents
de l'ensemble d'entrainement. L'algorithme des k-voisins les plus proches est sans doute le
plus connu de cette famille [5, 10, 14, 15].
24
Chapitre 1 : La fouille de textes et la catégorisation des documents
Fondés sur le théorème de Bayes, les classifieurs bayésiens naïfs cherchent à prédire la
valeur d'un nouvel objet (document, texte, événement, état) à partir d'une estimation des
probabilités prenant en compte des connaissances ou observations existantes (probabilités a
priori) et des croyances [5, 10]. Les réseaux bayésiens mêlent ainsi données objectives et
subjectives. Le théorème de Bayes donne des outils mathématiques pour expliquer comment
on peut changer ou ajuster les croyances à la lumière des nouvelles observations. C'est en se
sens que l'on appelle également les réseaux bayésiens.
( \ = )× ( = )
( = \ )=
( )
Les réseaux bayésiens offrent une représentation graphique et intuitive des relations de
probabilité conditionnelle entre un ensemble d'événements passés et à venir. Cette
représentation graphique est notamment utile lorsque le modèle probabiliste est complexe. Un
réseau bayésien est un graphe orienté dont les noeuds représentent les variables qui peuvent
être discrètes ou continues, les arcs représentent les relations de causalité ou des probabilités
conditionnelles. Ce graphe est acyclique et ne contient pas de boucles. Le graphe est associé à
un ensemble de tables de probabilités de noeuds où chaque noeud a sa table de probabilité. A
chaque variable est assignée une valeur de probabilité conditionnelle en fonction de la valeur
d'une autre variable. Pour trouver ces valeurs, on s'appuie sur les observations passées (un
25
Chapitre 1 : La fouille de textes et la catégorisation des documents
historique de l'événement étudié sur une période suffisamment longue) [5, 10, 14]. En
l'absence de telles données historiques, il est usuel de s'appuyer sur des probabilités
subjectives évaluées par des experts. Le réseau est actualisé au fur et à mesure de
l'actualisation de la valeur de certains noeuds, par exemple en présence de nouvelles preuves.
Ce processus d'actualisation est appelé la propagation.
( )× ( ̅ \ )
( \ )=
( ̅ )²
La méthode des k-plus proches voisins (k-nearest neighbour ou k-NN) peut être,
considérée comme un raffinement des méthodes d'agrégation. C'est une des techniques
d'apprentissage supervisé les plus intuitives à utiliser et à comprendre par son mode de
fonctionnement [10]. Le principe est assez simple : les textes qui sont proches ont tendance à
avoir des valeurs de prédiction similaires. Ainsi, si l'on connaît les valeurs de prédiction d'un
texte, on peut prédire celles de ses voisins les plus proches. Pour prédire la classe d'un
nouveau texte, il faut trouver ses voisins les plus proches. Il est usuel de ne pas considérer
seul le voisin le plus proche de l'objet à classer, mais ses k-plus proches voisins afin de
minimiser les risques d'erreurs dus à une prédiction s'appuyant sur un unique voisin [6].
26
Chapitre 1 : La fouille de textes et la catégorisation des documents
Plusieurs paramètres sont à fixer dans cette méthode. Tout d'abord, l'algorithme doit
produire, pour chaque catégorie, un modèle qui associe des poids à des textes et une valeur
seuil pour décider de l'appartenance d'un texte à une catégorie donnée. Ensuite, il faut choisir
la taille des k voisins. Dans l'absolu, il peut exister de très nombreux voisins d'un objet w,
dont les valeurs de similarité sont très faibles, mais non nulles. C'est la raison pour laquelle on
considère seulement les k-plus proches voisins. Le paramètre k peut varier en fonction de la
quantité des données dans le contexte du mot Wi ou en fonction de l'application. Enfin, il faut
choisir parmi les mesures de similarité existantes celle qui sera utilisée pour comparer un
nouvel objet aux cas déjà classés. Le résultat d'une méthode de k-plus proches voisins est une
décision assortie d'une valeur qui prédit l'appartenance de l'objet di à la catégorie Ci.
Dans une étude visant à comparer plusieurs méthodes de catégorisation, Lewis et al.
[28] ont employé une variante pondérée de la méthode des k-plus proches voisins (weighted
KNN). Ils ont testé plusieurs valeurs des paramètres énumérés ci-dessus. La difficulté est de
combiner systématiquement les différentes valeurs de chaque paramètre avec celles des autres
paramètres.
Lewis et al. [28] ont testé huit valeurs de seuil pour l'appartenance d'un document à
une catégorie donnée, 15 valeurs de k (comprises entre 1 et 800) et 23 valeurs de taille de
l'index (comprises entre 50 et 47152). Cependant, ils n'ont pas testé toutes les combinaisons
possibles. Ils ont maintenu fixes les valeurs par défaut de deux paramètres en faisant varier
celles du troisième paramètre jusqu'à trouver une valeur optimale. Pour choisir les plus
proches voisins d'un nouveau document, l'algorithme choisit les k documents du corpus
d'apprentissage ayant le produit scalaire le plus élevé avec le nouveau document. Pour chaque
catégorie, l'algorithme fait la somme des produits scalaires des voisins appartenant à cette
catégorie pour fournir la valeur de prédiction de cette catégorie par rapport au nouveau
document. Ainsi, la valeur de prédiction de la catégorie Cj par rapport à un nouveau document
x (un vecteur des poids des termes) est calculée par la formule suivante, extraite de [10] :
, = ( , ̅) × ( ̅, )
∈ ( )
27
Chapitre 1 : La fouille de textes et la catégorisation des documents
Etant donné que les vecteurs de x et d ont été normalisés, leur produit scalaire est égal
au cosinus de l'angle qui les sépare, d'où cos(x, d). Le résultat de ce calcul est comparé au
seuil associé à la catégorie pour déterminer si le document à classer (x) doit être assigné à
cette catégorie ou non.
Pour évaluer la pertinence des résultats, cette méthode fournit une mesure de
confiance assortie à la prédiction sous forme de probabilité. Pour cela, elle peut s'appuyer sur
deux critères. Le premier critère est la distance qui sépare un voisin de l'objet à classer. Plus
cette distance est petite, plus la confiance accordée à la prédiction est élevée et vice versa. Le
deuxième critère est le degré d'homogénéité entre les prédictions faites par les k-plus proches
voisins de celui considéré. Si tous les voisins de k font la même prédiction, celle-ci aura une
confiance beaucoup plus élevée seulement si la moitié de ses voisins s'accordent.
Les réseaux de neurones peuvent fonctionner selon deux modes : supervisé (appelé
également apprentissage- associatif) ou non supervisé (auto-organisation). Dans le premier
cas, le réseau est doté d'exemples d'apprentissage et des résultats désirés. Dans l'apprentissage
non supervisé, le réseau dispose simplement du corpus des données dans lequel il doit
découvrir lui-même les propriétés statistiques saillantes permettant de déterminer les classes.
28
Chapitre 1 : La fouille de textes et la catégorisation des documents
29
Chapitre 1 : La fouille de textes et la catégorisation des documents
La plupart des réseaux neuronaux requièrent des règles d'apprentissage pour pouvoir
ajuster les poids des exemples face aux observations (données) présentées en entrée du réseau.
Le but est de permettre au réseau « d'apprendre » à partir des exemples. Pour faire de la
prédiction, les neurones d'entrée acceptent des valeurs qui peuvent provenir des neurones
voisins ou d'une source externe. Ces valeurs sont multipliées par celles stockées dans les
connexions des neurones d'entrée. Les valeurs stockées correspondent aux poids de chaque
critère de prédiction [28]. Ce poids peut être déterminé dans la phase d'apprentissage par
l'observation des valeurs des variables concernées dans la base d'exemples. Une fonction de
seuillage est ensuite appliquée. La valeur résultante est la valeur de prédiction [10].
30
Chapitre 1 : La fouille de textes et la catégorisation des documents
(la prédiction erronée) et modifier leurs poids en conséquence. Ainsi, les neurones les plus
« fautifs » verront leurs poids diminuer proportionnellement à hauteur de leur contribution à
la « faute ». Les neurones qui ont contribué de manière marginale à l'erreur n'auront qu'une
modification mineure de leurs poids. La correction est repropagée en arrière, depuis les
neurones de sortie en passant par les neurones cachés, jusqu'aux neurones d'entrée. Cette
opération est connue sous le nom de rétro-propagation. La rétro propagation est valable
uniquement dans le cas d'une architecture fixe [28].
Le concept des machines à vecteurs supports (Support Vector Machine ou SVM a été
défini par Vapnik en 1995 [35], puis repris par Joachims [36] qui l'a appliquée à la
catégorisation des textes. L'idée sous-jacente est d'une simplicité trompeuse: supposons que
l'espace de représentation des objets à classer soit linéairement séparable, l'objectif du SVM
est de trouver une surface linéaire de séparation, appelée hyperplan (H), ayant une marge
maximale entre les exemples positifs ou négatifs du corpus d'apprentissage [18, 28]. En
d'autres termes, l'hyperplan doit trouver une ligne séparatrice telle que la distance qui sépare
les vecteurs les plus proches de l'hyperplan soit maximale. Cela garantit un bon niveau de
généralisation car de nouveaux exemples peuvent être assez différents de ceux ayant servi à
trouver l'hyperplan (les vecteurs supports). Ils peuvent alors être situés très clairement d'un
côté ou l'autre de l'hyperplan. L'hyperplan fonctionne alors à la manière d'un classifieur. La
catégorie d'appartenance d'un nouvel objet entrant dans l'espace de représentation est
déterminée par la position de celui-ci par rapport à l'hyperplan. Les points le plus proches de
l'hyperplan (H) sont des vecteurs supports qui ont permis de déterminer l'hyperplan. Seuls ces
derniers seront utilisés pour classer un nouvel objet. Le schéma figure 1.3, extrait de Bellot
[37], illustre le fonctionnement d'un classifieur SVM.
31
Chapitre 1 : La fouille de textes et la catégorisation des documents
= + +
H
+ +
+
+++ +
+ *
d
d = * *
d d
* * *
+
Dans cet exemple, les deux classes d'objets sont parfaitement séparables. Il n'en est pas
toujours ainsi dans la réalité. Il existe parfois une zone d'ombre où la technique ne parvient
pas à séparer clairement les objets, peut-être parce que les, objets à isoler ont des propriétés
communes. Dans le cas où les objets à classer ne sont pas linéairement séparables, le SVM va
les représenter dans un espace de dimensions plus élevées, à l'aide d'une fonction noyau, afin
de trouver une séparation linéaire [14]. La recherche de l'hyperplan est faite dans cet espace
de grandes dimensions.
Les données d'entrée au classifieur SVM doivent être représentées sous forme
vectorielle. S'agissant des données textuelles, il faut que les mots du texte soient codés sous
forme numérique (présence/absence ou occurrences). Ces vecteurs sont ensuite normalisés, en
général pour les ramener à une l'échelle de valeurs comprises entre 0 et 1 afin d'éviter de trop
grandes variations pouvant pénaliser des petites valeurs. Tout comme pour la méthode des k-
plus proches voisins, le classifieur SVM doit produire un modèle permettant de déterminer un
seuil d'appartenance à chaque catégorie. Ainsi, seuls les documents dont les vecteurs
atteignent ce seuil seront affectés à une catégorie. Le classifieur SVM est entièrement
automatisé et ne nécessite pas le réglage manuel de nombreux paramètres. C'est l'algorithme
qui règle automatiquement ces paramètres.
32
Chapitre 1 : La fouille de textes et la catégorisation des documents
Selon [37], les premières implantations des arbres de décision remontent aux années
1970. L'objectif était d'automatiser tout le processus de génération et de validation des
hypothèses. Le terme « arbre de décision » recouvre plusieurs types d'ombres en fonction de
l'objectif. On parle d'arbre de classification lorsqu'il s'agit de prédire la classe d'appartenance
d'un objet, d'arbre de régression lorsque le résultat est de prédire une valeur numérique, par
exemple le prix d'une maison. Un troisième type d'arbre, appelé CART (Classification And
Regression Trees) réunit les deux précédents. Les principaux algorithmes des arbres de
décision sont ID3 [38], C4.5 et C5.0 [39]. Comme toute méthode d'apprentissage supervisée,
les arbres de décision ont besoin d'exemples d'objets déjà classés. Ces exemples sont
représentés sous forme d'attributs/valeurs. Si la tâche considérée est la catégorisation de
textes, on s'attendra à disposer des exemples sous la forme du couple « texte i, catégorie k ».
33
Chapitre 1 : La fouille de textes et la catégorisation des documents
( )=− −
La mesure du gain d'information est définie comme la différence entre l'entropie 'd'un
sous-ensemble avant la subdivision et les entropies des sous-ensembles obtenues par la
subdivision. La mesure du gain d'information calcule la réduction attendue de l'entropie face à
une règle donnée. Plus la valeur de l'entropie est petite, mieux est la qualité des règles de
subdivision et, par conséquent, plus homogènes sont les catégories obtenues. Ainsi, une
entropie de 0 signifie que tous les exemples appartiennent à la même catégorie. Une entropie
de 1 signifie, au contraire, que les exemples sont très hétérogènes et que la règle n'a pas
permis d'opérer une subdivision pertinente.
34
Chapitre 1 : La fouille de textes et la catégorisation des documents
Les treillis de concepts formels (ou treillis de Galois) sont une structure mathématique
permettant de représenter les classes non disjointes sous-jacentes à un ensemble d’objets
(exemples, instances, tuples ou observations) décrits à partir d’un ensemble d’attributs
(propriétés, descripteurs ou items). Ces classes non disjointes sont aussi appelées concepts
formels, hyper-rectangles ou ensembles fermés. Une classe matérialise un concept (à savoir
une idée générale que l’on a d’un objet). Ce concept peut être défini formellement par une
extension (exemples du concept) ou par une intension (abstraction du concept) [40].
Les premiers travaux formels sur les treillis de concepts se situent en algèbre
universelle, à travers les travaux de Birkhoff [1, 41], et plus tard de Barbut et Monjardet [42].
Les travaux de Wille [43, 44], de Duquenne [45, 46], de Ganter [47] ont permis de montrer
l’utilité de cette structure pour l’analyse de données. En classification supervisée,
l’apprentissage se ramène dans le cas général à un problème de recherche dans l’espace des
hypothèses. A ce titre l’espace de versions développé par Mitchell [48] présente des liens
étroits avec le treillis de concepts, tant d’un point de vue structurel que du point de vue de la
complexité du modèle. Malgré la complexité exponentielle sous-jacente à la construction de la
structure du treillis de concepts, plusieurs méthodes de classification ont été développées et
ont produit des résultats comparables à ceux de méthodes standards, aussi bien en ce qui
concerne la précision que l’efficacité en temps. En outre cette structure présente des
propriétés particulières qui favorisent son usage pour la fouille de données, notamment pour
la recherche de règles d’association [49] et pour l’apprentissage de concepts [50]. La
problématique de mise en œuvre des algorithmes par niveaux, largement étudiée en fouille de
données, et dont une formalisation algébrique est proposée par Ganascia [51], est bien
présente dans les modélisations réalisées avec cette structure.
Certains travaux de recherche se sont inspirés du modèle des espaces des versions
pour construire des modèles d’apprentissage à partir des treillis de concepts. CHARADE
(Cubes de Hilbert Appliqués à la Représentation et à l’Apprentissage de Descriptions à partir
d’Exemples) [52] est la première méthode à utiliser la correspondance de Galois, pour générer
un ensemble de règles d’association non redondantes dont le but peut être restreint à une
35
Chapitre 1 : La fouille de textes et la catégorisation des documents
classe prédéfinie. Pour limiter l’espace de recherche, plusieurs heuristiques sont définies
comme des paramètres que l’utilisateur peut sélectionner en fonction des propriétés des règles
qu’il souhaite obtenir ou de la nature du problème qu’il traite. Le principe de classement à
partir de cet ensemble de règles n’est pas explicitement formulé par l’auteur. L’utilisateur
peut ensuite les employer pour construire sa méthode de classement. Ganascia [52] mentionne
un certain nombre d’extensions de CHARADE ayant permis de traiter des applications de
grande taille, notamment pour la catégorisation de textes, la découverte médicale,
l’apprentissage de caractères chinois et l’extraction de connaissances dans une base de
données épidémiologiques.
1.4 Conclusion
Ensuite nous avons abordé une des tâches de la fouille de texte qui est la
catégorisation des documents que nous appelons aussi classification des documents. Nous
avons présenté les techniques utilisées dans la littérature pour effectuer cette tâche. La notion
de représentation numérique des textes été aussi abordée. C’est sur cette représentation que
nous pouvons utiliser les techniques de catégorisation pour déterminer la catégorie d’un
document. Parmi les méthodes de catégorisation les plus utilisées et que nous avons choisi
dans notre projet sont les treillis de Galois [1]. Cette dernière fera l’objet du prochain chapitre.
36
Chapitre 2
L’Analyse Formelle
de Concepts
Chapitre 2 : L’Analyse Formelle de Concepts
2.1 Introduction
Dans ce chapitre nous dresserons un état de l’art qui couvre à la fois les notions de
base et les définitions mathématiques relatives à la théorie des ensembles ordonnés et les
algorithmes proposés dans ce domaine relatives à la construction des treillis de Galois. La
suite du chapitre est organisée comme suit :
Dans la section 2.2 nous rappelons les notions de base de la théorie des treillis
nécessaires à la compréhension de l’ACF. Dans la section 2.3 nous détaillons les notions et les
définitions relatives à l’ACF et nous donnons un survol des principaux algorithmes
développés dans le cadre de l’ACF ainsi que les différents systèmes de classification basés sur
les Treillis.
Si M = N, on parle de relation binaire sur M×R-1 où R-1 est la relation inverse de R, i.e.
la relation entre N et M telle que nR−1m ⇔ mRn [40,53].
38
Chapitre 2 : L’Analyse Formelle de Concepts
Une relation binaire R sur un ensemble E est dite relation d’ordre partiel (ou
simplement relation d’ordre) sur E si elle vérifie les conditions suivantes pour tous x, y, z
∈E:
Une relation d’ordre R est souvent notée par ≤ (R -1 est notée par “≥”) et on dit que
“x est plus petit que y” lorsque x ≤ y [40,53].
Dans un ensemble ordonné (E, ≤), deux éléments x et y de E sont dits comparables
lorsque x ≤ y ou y ≤ x, autrement ils sont dits incomparables. Pour deux éléments
comparables et différents, x ≤ y et x =~ y, on note x < y. Un sous ensemble de (E, ≤)
dans lequel tous les éléments sont comparables est appelé chaîne. Un sous ensemble de
(E, ≤) dans lequel tous les éléments sont incomparables est appelé anti-chaîne [40,53].
Soient (E, <) un ensemble ordonné et x, y ∈ E. y est dit successeur de x lorsque x <
y et il n’existe aucun élément z ∈ E tel que x < z < y. Dans ces cas, x est dit prédécesseur
de y et on note x -< y. Lorsque x est un prédécesseur de y on dit que x couvre y (et que y
est couvert par x). La couverture de x est formée par tous ses successeurs.
Tout ensemble ordonné, (E, <), peut être représenté graphiquement par un diagramme
appelé “diagramme de Hasse" (ou diagramme de couverture) et obtenu comme suit :
39
Chapitre 2 : L’Analyse Formelle de Concepts
Tout élément de E est représenté par un petit cercle dans le plan Si x, y ∈ E et x -< y
alors le cercle correspondant à y doit être au-dessus de celui correspondant à x et les deux
cercles sont reliés par un segment.
À partir d’un tel diagramme on peut lire la relation d’ordre comme suit : x < y si et
seulement s’il existe un chemin ascendant qui relie le cercle correspondant à x à celui
correspondant à y [53].
Soit (E, <) un ensemble ordonné. La relation inverse “>” de “<” est aussi une
relation d’ordre sur E. “>” est appelée duale de “<” et (E, >) est appelé le dual de
l’ensemble ordonné (E, <).
Le diagramme de Hasse de (E, >) peut être obtenu à partir de celui de (E, <) par une
simple réflexion horizontale. De plus, il est possible de dériver les propriétés duales de
(E, >) à partir des propriétés de (E, <).
40
Chapitre 2 : L’Analyse Formelle de Concepts
Définition 8 (Demi-treillis)
2.2.3 Fermeture
Définition 9 (Fermeture)
On appelle opérateur de fermeture sur un ensemble ordonné, (E, ≤), toute application
ϕ : E → E qui vérifie les propriétés suivantes pour tout x, y ∈ E :
Un système de fermeture (dit aussi système de fermés noté C) sur un ensemble E est
un ensemble de parties de E contenant E et fermé pour l’intersection.
41
Chapitre 2 : L’Analyse Formelle de Concepts
E∈C;
si A ⊆ C alors A ∈ C (l’intersection de toute suite de fermés de A appartient à
C)
Les deux notions, opérateur de fermeture et système de fermeture, sont fortement liées.
En effet, tout système de fermeture peut être considéré comme l’ensemble de tous les
fermés d’un opérateur de fermeture. Inversement, il est possible de définir un opérateur de
fermeture sur tout système de fermeture. Cette relation est exprimée dans le théorème
suivant [40,53] :
Théorème 1
La notion de fermeture est aussi liée à la définition des treillis. En effet, l’ensemble des
fermés dans un ensemble E étant donné un opérateur de fermeture sur E forme un treillis
complet. Inversement, tout treillis complet est isomorphe au treillis des fermés d’un
opérateur de fermeture et on a le théorème suivant [53] :
Théorème 2
Si C est un système fermé alors (C, ⊆) est un treillis complet avec X =∩X
et V X = ϕ C (U X) ∀ X ⊆ C. Inversement, tout treillis complet est isomorphe au treillis des
fermés d’un opérateur de fermeture [40].
42
Chapitre 2 : L’Analyse Formelle de Concepts
Pour cela l’ACF a été centrée autour de la notion de concept qui, du point de vue
philosophique, est considérée comme l’unité de base de la pensée humaine. De manière
informelle, un concept peut être défini comme un groupement d’individus et de leurs
propriétés communes. Toujours en liaison avec le point de vue philosophique, en
particulier celui de Pierce [53] qui considère que “dans tout processus de raisonnement ou
43
Chapitre 2 : L’Analyse Formelle de Concepts
d’argumentation, on ne peut étudier qu’une part de la réalité”, l’ACF extrait les concepts à
partir de contextes restreints. De tels contextes, appelés contextes formels, constituent le
point de départ de l’ACF.
Un contexte formel peut être représenté sous la forme d’un tableau où les lignes
correspondent aux objets et les colonnes correspondent aux attributs. Les cases du tableau
sont remplies comme suit : si le i ème objet g est en relation I avec le j ème attributs alors la
case intersection de la ligne i et la colonne j contient “1” sinon la case est vide. Le tableau
2.1 donne un exemple de contexte formel représentant les planètes du système solaire.
Dans cet exemple de contexte, Mercure possède les attributs : petite taille, proche du soleil
et n’est pas un satellite.
Tableau 2.1 Un contexte formel représentant les planètes du système solaire [53].
44
Chapitre 2 : L’Analyse Formelle de Concepts
Définition 13
Intuitivement, A' est l’ensemble des attributs communs à tous les objets de (A) et (B ')
est l’ensemble des objets possédant tous les attributs de B. Les applications ' : B(G) →
B(M) et ': B(M) → B(G) sont appelées opérateurs de dérivation entre l’ensemble des
objets et l’ensemble des attributs dans un contexte formel. La composition de ces
opérateurs produit deux opérateurs " : B(G) → B(G) et " : B(M) → B(M). Le premier
opérateur permet d’associer à un ensemble d’objets A l’ensemble maximal d’objets dans G
ayant les attributs communs aux objets de A. Cet ensemble est noté par A". De façon duale,
le second opérateur permet d’associer à un ensemble d’attributs B l’ensemble maximal
d’attributs dans M communs aux objets ayant les attributs dans B. Cet ensemble est noté
par B".
Les opérateurs " : B(G) → B(G) et " : B(M) → B(M) définissent deux fermetures
respectivement sur l’ensemble des parties de G, B(G) (noté aussi par 2 G ), et sur l’ensemble
des parties de M, B(M) (noté aussi par 2 M ). Les ensembles A" et B" sont des fermés pour
ces deux opérateurs respectifs. L’ensemble des fermés de B(G) muni de l’inclusion est un
treillis complet. De la même façon, l’ensemble des fermés de B(M) muni de l’inclusion est
un treillis complet. Les opérateurs de dérivation ' : B(G) → B(M) et' : B(M) → B(G)
forment une bijection entre les ensembles de fermés de B(G) et B(M) et définissent un
isomorphisme entre les deux treillis respectifs : à chaque fermé A dans B(G) correspond
un unique fermé B dans B(M) et vice versa. De cette façon, les opérateurs de dérivation " :
B(G) → B(G) et " : B(M) → B(M) forment une connexion de Galois entre (B(G), ⊆) et
(B(M), ⊆) [53, 54, 55].
45
Chapitre 2 : L’Analyse Formelle de Concepts
Les paires de fermés reliées par cette connexion de Galois, détaillée dans la section
précédente, forment les concepts formels définis comme suit.
Soit K = (G, M, I) un contexte formel. Un concept formel est un couple (A, B) tel que
A ⊆ G, B ⊆ M, A' = B et B' = A. A et B sont respectivement appelées extension (extent)
et intension (intent) du concept formel (A, B). L’ensemble des concepts formels associés
au contexte formel K = (G, M, I) est noté par B (G, M, I) [40,53].
Les concepts de B (G, M, I) sont ordonnés par une relation d’ordre hiérarchique entre
concepts (appelée aussi relation de subsomption) notée par “≤” et définie comme suit.
Soient (A1, B1) et (A2, B2) deux concepts formels de B (G, M, I). (A1, B1) ≤ (A2,
B2) si et seulement si A1 ⊆ A2 (ou de façon duale B2 ⊆ B1). (A2, B2) est dit super-
concept de (A1, B1) et (A1, B1) est dit sous-concept de (A2, B2). La relation “≤” est
dite relation de subsomption.
La relation “≤” s’appuie sur deux inclusions duales, entre ensembles d’objets et entre
ensembles d’attributs et peut ainsi être interprétée comme une relation de
46
Chapitre 2 : L’Analyse Formelle de Concepts
généralisation/spécialisation entre les concepts formels. Un concept est plus général qu’un
autre concept s’il contient plus d’objets dans son extension. En contre partie, les attributs
partagés par ces objets sont réduits. De façon duale, un concept est plus spécifique qu’un
autre s’il contient moins d’objets dans son extension. Ces objets ont plus d’attributs en
commun [40,53].
La relation “≤” permet d’organiser les concepts formels en un treillis complet (B (G,
M, I), ≤) appelé treillis de concepts ou encore treillis de Galois [28] et noté par B (G, M,
I) ou B(K). Le supremum et l’infimum dans B(K) sont donnés par :
( , )= ,
∈ ∈ ∈
"
( , )= ,
∈ ∈ ∈
Le treillis de concepts est une représentation équivalente des données contenues dans
un contexte formel qui met en avant les groupements possibles entre objets et attributs
47
Chapitre 2 : L’Analyse Formelle de Concepts
ainsi que les relations d’inclusion entre ces groupements. De plus, la représentation
graphique du treillis de concepts, sous la forme d’un diagramme de Hasse, facilite la
compréhension et l’interprétation de la relation entre les objets et les attributs d’une part et
entre objets ou attributs d’autre part. L’avantage de cette représentation est qu’à partir d’un
treillis de concepts il est toujours possible de retrouver le contexte formel correspondant et
inversement.
Les deux premières étapes constituent le problème de calcul des concepts d’un treillis
de concepts à partir d’un contexte formel et peuvent être exécutées simultanément ou de
manière séquentielle (dans l’ordre donné plus haut). Cependant, la troisième étape fait
partie du problème de visualisation de graphes. De ce fait, ces deux problématiques sont
souvent traitées indépendamment ce qui a donné lieu à deux axes de recherche
48
Chapitre 2 : L’Analyse Formelle de Concepts
Le problème de calcul des concepts d’un treillis de concepts à partir d’un contexte
formel a fait l’objet de nombreux travaux de recherche qui ont abouti à la proposition
d’une variété d’algorithmes dont les plus connus sont Chein [58], Norris [59] (la méthode
dite de malgrange), NextClosure [60, 61], Bordat [62], Close-by-One [63], Godin [64],
Galois [65,66], Nourine [67], Lindig [68], Titanic [69,70], Divide&Conquer [71,72] et
AddIntent [73].
Chacun de ces algorithmes se distingue des autres par plusieurs critères dans la
stratégie de calcul des concepts, la recherche de l’ordre entre ces concepts, les structures de
données utilisées pour le stockage des résultats intermédiaires et le résultat final. Ces
principaux algorithmes ont fait l’objet d’une comparaison détaillée dans [74]. Cette
comparaison a montré qu’aucun algorithme n’est meilleur que tous les autres sur tous les
plans et que les performances d’un algorithme dépendent fortement des caractéristiques du
contexte formel en entrée.
Dans la suite de cette section nous allons répartir les algorithmes en fonction de leurs
stratégies d’acquisition de données à partir d’un contexte formel. Considérant ce critère, on
distingue trois familles d’algorithmes : les algorithmes batch qui considèrent la totalité du
contexte dès le départ, les algorithmes incrémentaux qui considèrent le contexte ligne par
ligne et les algorithmes d’assemblage qui répartissent le contexte en deux et calculent les
concepts correspondant à chaque moitié puis font l’assemblage.
49
Chapitre 2 : L’Analyse Formelle de Concepts
L’un des premiers algorithmes proposés de cette catégorie est l’algorithme de Chein
[58] qui génère les concepts par niveaux. L’algorithme est itératif. Son point de départ est
l’ensemble L1 de couples (A, B) représentant les lignes du contexte formel (A contient un
seul élément de G et B = A'). A chaque étape i, l’algorithme part d’un ensemble Li et
construit les éléments de L i+1 . Un élément (A3, B3) de L i+1 est obtenu en combinant deux
éléments (A1, B1) et (A2, B2) de Li comme suit : A3 = A1 U A2 et B3 = B1 n B2. Les
éléments de Li inclues dans au moins un élément de L i-1 ne sont pas maximaux et sont
donc supprimés. L’algorithme s’arrête lorsque L i+1 contient moins de deux éléments. Les
éléments non supprimés après l’arrêt de l’algorithme sont les concepts du contexte formel
considéré. Pour illustrer le fonctionnement de cet algorithme, nous considérons l’exemple
de contexte formel donné dans le tableau 2.1 avec un renommage des attributs et des objets
pour faciliter la lisibilité des concepts lors des étapes d’exécution de l’algorithme.
Le contexte considéré est donné dans le tableau 2.2 et les traces d’exécution de
l’algorithme sont données dans le tableau 2.3. Les concepts formels calculés par
l’algorithme à partir du contexte formel considéré sont les éléments non barrés dans le
tableau 2.3. La complexité de l’algorithme de Chein est O (|G| 3|M||L|), |G| étant le
nombre d’objets dans le contexte, |M| le nombre d’attributs et |L| le nombre de concepts
formels dans le treillis obtenu.
a b c d e f g
1 1 1 1
2 1 1 1
3 1 1 1
4 1 1 1
5 1 1 1
6 1 1 1
7 1 1 1
8 1 1 1
9 1 1 1
Tableau 2.2 Contexte formel représentant les planètes du système solaire avec renommage
des attributs et des objets
50
Chapitre 2 : L’Analyse Formelle de Concepts
L1 L2 L3 L4
1×adg ** (12×adg) 12 × adj 1234 × a ∅
2×adj ** (12×adg) 13× ad ** (134×adg) 3456789
3×adf ** (34×adf) 134 × ad ** (1234×adg) ×f
4×adf ** (34×adf) 19 × a ** (129×adg)
5×cef ** (56×cef) 1234 × ad
6×cef ** (56×cef) 129 × a ** (12349×adg)
7×bef ** (78×bef) 34 × adf
8×bef ** (78×bef) 35 × f ** (356×adg)
9×aef 356 × f ** (3567×adg)
3567 × f ** (35678×adg)
35678 × f ** (345678×adg)
39 × af ** (349×adg)
345678 × f ** (3456789×adg)
349 × af
56 × cef
57 × ef ** (578×adg)
578 × ef ** (5789×adg)
5789 × ef ** (56789×adg)
56789 × ef
78 × bef
Tableau 2.3 Les ensembles de rectangles1 maximaux calculés par l’algorithme de Chein à
partir du contexte formel donné dans le tableau 2.2 [53].
Les autres algorithmes batch les plus connus sont les suivants. L’algorithme
NextClosure [61] constitue l’algorithme de référence pour le calcul des fermés dans un
contexte formel. Il s’appuie sur l’ordre lexicographique entre ensembles d’attributs pour
calculer les fermés. Le calcul des fermés peut être appliqué aux attributs (NextIntent) auquel
cas on obtient les intensions des concepts formels ou bien aux objets (NextExtent) auquel cas
on obtient les extensions des concepts formels. L’avantage majeur de cet algorithme est qu’il
ne garde pas en mémoire l’ensemble des fermés déjà calculés puisqu’il s’appuie sur un test de
canonicité pour vérifier qu’un fermé n’a pas été généré.
De ce fait, seul le dernier fermé généré doit être gardé en mémoire. La complexité
théorique de l’algorithme NextClosure est O (|G| 2|M||L|). L’algorithme Bordat [62]
construit les concepts en s’appuyant sur une structure d’arbre pour garder les résultats
intermédiaire. Sa complexité est O (|G||M| 2|L|). L’algorithme Closeby-One [63] utilise une
technique similaire à NextClosure pour la génération des concepts et une structure particulière
1
Les rectangles barrés correspondent à des rectangles non maximaux. Les rectangles qui les contiennent sont
indiqués entre parenthèses et l’itération durant laquelle ils ont été calculés est donnée par *
51
Chapitre 2 : L’Analyse Formelle de Concepts
appelée arbre CbO pour garder en mémoire les concepts générés. Sa complexité est O
(|G| 2|M| |L|). Finalement, l’algorithme Titanic [70] utilise la notion de fréquence pour
calculer les concepts sans faire d’intersection entre les ensembles d’attributs.
Les algorithmes incrémentaux considèrent le contexte formel ligne par ligne (ou
colonne par colonne) et construisent le treillis de concepts par ajouts successifs de ligne ou
de colonne tout en conservant sa structure. A une étape k, les concepts formels
correspondants au k premières lignes du contexte formel sont calculés.
52
Chapitre 2 : L’Analyse Formelle de Concepts
Plus tard, deux nouveaux algorithmes incrémentaux similaires à celui de Norris ont été
proposés dans le cadre des approches d’analyse de données par treillis de concepts incluant
la classification et la recherche d’information [76,65] : l’algorithme Galois [66] et
l’algorithme de Godin [75,76].
a b c d e f g
1 1 1 1 1
2 1 1 2 1
3 1 1 3 1
4 1 1 4 1
5 1 5 1 1
6 1 6 1 1
7 1 7 1 1
8 1 8 1 1
9 1 9 1 1
Les treillis B(K1) et B(K2) correspondant aux deux contextes K1 et K2 sont donnés
dans la figure 2.3.
Figure 2.3 Les treillis de concepts correspondant aux contextes formels donnés dans le tableau 2.4
: B(K1) à gauche et B(K2) à droite.
54
Chapitre 2 : L’Analyse Formelle de Concepts
Les liens entre les concepts des treillis B(K1) et B(K2) et ceux du treillis B(K) sont
donnés par la figure 2.4.
Figure 2.4 – Liens entre les concepts des treillis B(K1) et B(K2)
et ceux du treillis B(K).
55
Chapitre 2 : L’Analyse Formelle de Concepts
des objets est séparé en deux parties : les exemples (ou exemples positifs) et les contre-
exemples (ou exemples négatifs) : on a donc O = O+ + O-. Considérant une hypothèse (ou
régularité) comme une conjonction d’attributs (intension de concept), elle peut être définie
comme valide si elle vérifie au moins a exemples positifs, pseudo-cohérente si elle rejette
au moins Q exemples négatifs, et pertinente si elle est valide et pseudo-cohérente. Les
valeurs de a et Q sont définies par l’utilisateur. Seuls les noeuds de régularité valide sont
insérés dans le treillis. L’objectif de LEGAL est de déterminer l’ensemble P des régularités
pertinentes qui caractérisent les exemples positifs.
GRAAL [82] étend les treillis de Galois aux objets structurés. Ce système permet
ainsi de généraliser des opérateurs pour des graphes étiquetés.
2.5 Conclusion
Dans ce chapitre nous avons passé en revu un état de l’art qui couvre à la fois les
notions de base et les définitions mathématiques relatives à la théorie des ensembles ordonnés
et les algorithmes proposés dans ce domaine relatifs à la construction des treillis de Galois.
56
Chapitre 2 : L’Analyse Formelle de Concepts
Nous avons rappelé les notions de base de la théorie des treillis nécessaires à la
compréhension de l’ACF et nous avons détaillé les notions et les définitions relatives à l’ACF
et nous avons donné un survol des principaux algorithmes développés dans le cadre de l’ACF
ainsi que les différents systèmes de classification basés sur les Treillis.
57
Chapitre 3
Conception du système
LATTICE-CELL
Chapitre 3 : Conception du système LATTICE-CELL
3.1 Introduction
Dans ce chapitre, nous proposons une nouvelle approche de catégorisation de textes par
l’utilisation conjointe de treillis de Galois et de l’automate cellulaire CASI [2] afin de réduire
la complexité de stockage et le temps de calcul engendrés par les treillis. Nous présentons
notre système nommé LATTICE-CELL [84], et nous illustrons par une expérimentation
effectuée sur un ensemble de comptes rendus du service de pneumo-pédiatrie de
l’Etablissement Hospitalier Spécialisé (EHS) d’Oran. Le processus de construction du modèle
pour la catégorisation est divisé en trois étapes :
Ce chapitre est organisé comme suit : dans la section 3.2 nous présentons un survol sur
la notion de catégorisation de textes à savoir sa définition, sa problématique et son processus.
Dans la section 3.3, nous présentons les outils mis en œuvre dans nos travaux, à savoir les
59
Chapitre 3 : Conception du système LATTICE-CELL
treillis de Galois et la machine cellulaire CASI. L’architecture générale de notre système est
présentée dans la section 3.4. Une étude détaillée sur notre système LATTICE-CELL est
présentée dans la section 3.5. Nous décrivons dans cette section notre méthodologie de
catégorisation des comptes rendus hospitaliers, avant de conclure ce chapitre dans la section
3.6.
Nous nous intéressons dans ce mémoire aux méthodes utilisant les techniques
d’apprentissage automatique, où on va générer automatiquement à partir d’un ensemble de
comptes rendus un modèle de catégorisation basé sur une modélisation booléenne des treillis
de Galois.
3.2.1 Problématique
: × →{ , }
60
Chapitre 3 : Conception du système LATTICE-CELL
Comme nous avons vu dans le chapitre 1, ce processus peut être divisé en trois
phases :
Nous introduisons tout d’abord les principaux concepts des treillis de Galois :
Soient P (E) une partition de E et P (E’) une partition de E’. Chaque élément du treillis
est un couple, appelé aussi concept, noté (X, X’). Un concept est composé de deux ensembles X
⊆ P(E) et X’ ⊆ P (E’) satisfaisant les deux propriétés suivantes :
1
On appelle jeu d’entrainement l’ensemble des comptes rendus dont le diagnostic est connu à priori.
2
Le jeu de test est un ensemble de couple (comptes rendus, diagnostic) dont l’information associée au diagnostic n’est
utilisée que lors de l’évaluation du système.
61
Chapitre 3 : Conception du système LATTICE-CELL
= ( ) ( )= { ∈ |∀ ∈ , ′}
= ′( ) ′( ′) = { ∈ | ∀ ′ ∈ ′, ′}
Un ordre partiel sur les concepts est défini de la manière suivante: Soit C2=(X2, X’2)
et C3=(X3, X’3) deux concepts.
2< 3 ⇔ 2⊆ 3⇔ 2⊆ 3
Cet ordre partiel est utilisé pour dessiner un graphe appelé diagramme de Hasse,
illustré par la figure 3.1. Il existe un arc entre deux concepts C2 et C3 si C2<C3 et s’il n'y a
pas d’autre élément Ci dans le treillis tel que C1<Ci<C2. Dans un diagramme de Hasse, la
direction des arcs est par convention toujours dans le même sens, soit vers le haut. Le graphe
peut être interprété comme une représentation de la relation de généralisation/spécialisation
entre les couples, où C2<C3 signifie que C3 est plus général que C2 (et C2 est situé au-dessus
de C3 dans le diagramme).
Le treillis de concepts montre les points communs entre les objets du domaine. La
première partie d’un concept est l’ensemble des objets et est appelée l’extension. La seconde
partie – l’intension – révèle les propriétés communes des objets de l’extension. La partie
droite de la figure 3.1 montre un exemple de treillis de concepts. Par exemple, dans ce treillis,
62
Chapitre 3 : Conception du système LATTICE-CELL
le concept 3 = {(2, 5), (d)} contient dans son extension les objets 2 et 5, qui ont la propriété d
en commun.
La notion de treillis de Galois établissant une relation entre deux ensembles est à la
base d’un ensemble de méthodes de classification conceptuelles. Cette notion fut introduite
par [1] et [42]. Les treillis de Galois consistent à regrouper des objets en classes. Celles-ci
vont matérialiser les concepts du domaine d’étude. Les objets individuels sont discriminés en
fonction de leurs propriétés communes, ce qui permet d’effectuer une classification
sémantique. L’algorithme que nous avons choisi est « DEVIDE & CONQUER » [71], ce
dernier appartient à une nouvelle génération des treillis de Galois (Algorithmes d’assemblage)
qui est une version améliorée des algorithmes incrémentaux [53] (voir chapitre 2, Section
2.3.6) où nous avons vus que cette famille d’approches permettent de diviser un contexte
formel en deux parties verticalement ou horizontalement puis de calculer le treillis de
concepts correspondant à chaque partie et enfin d’assembler les treillis obtenus en un seul.
L’algorithme 1 présente la phase d’assemblage.
63
Chapitre 3 : Conception du système LATTICE-CELL
Un automate cellulaire [2] est une grille composée de cellules qui changent d’état dans
des étapes discrètes. Après chaque étape, l’état de chaque cellule est modifié selon les états de
ses voisines calculés dans l’étape précédente. Les cellules sont mises à jour d’une manière
synchrone, et les transitions sont effectuées simultanément. En appliquant des règles simples
et des transitions spécifiques, un automate cellulaire peut effectuer d’une manière globale, des
opérations complexes. Certains des concepts principaux pour les automates cellulaires sont :
Voisinage : Le prochain état de chaque cellule dépend de l’état actuel de ses voisines.
La transition de l’automate cellulaire, d’une configuration à une autre, est la
conséquence des transitions locales de toutes les cellules. Le voisinage d’une cellule
est défini par l’ensemble de ses voisines dont les états sont pris en compte pour chaque
transition.
Parallélisme : Toutes les cellules constituant l’automate cellulaire sont mises à jour
d’une manière simultanée et synchrone.
Déterministe : Le nouvel état de chaque cellule est déterminé par son état, et l’état
seulement de son voisinage.
Un automate cellulaire peut être décrit par les quatre composants suivants :
64
Chapitre 3 : Conception du système LATTICE-CELL
Dimension : Il n’y a aucune limite à la dimension d’un automate cellulaire, mais dans
la pratique, on utilise des automates avec 1, 2, ou 3 dimensions.
Voisinage de la cellule : Ceci définit l’ensemble de cellules voisines dont l’état sera
pris en compte pour déterminer le prochain état de chaque cellule.
Espace d’état : C’est l’ensemble fini d’éléments que peut prendre une cellule.
Fonction de transition : C’est l’ensemble de règles qui détermine le nouvel état de
chaque cellule selon son état précédant, et les états précédents des cellules de son
voisinage.
CASI [2] est un automate pour l’inférence cellulaire, il est composé de trois modules,
un module COG (Cellular Optimization and Generation) pour l’optimisation et la génération
des règles, un module CIE (Cellular Inference Engine) pour l’inférence cellulaire et un
module CV (cellular validation) pour la validation cellulaire. La figure 3.2 récapitule le
diagramme général du système cellulaire CASI :
COG CIE CV
(Cellular (Cellular Inference
Optimization and Engine) (Cellular validation)
Generation)
65
Chapitre 3 : Conception du système LATTICE-CELL
Toute cellule i de la première couche Celfact est considérée comme fait établi si sa
valeur est 1, sinon, elle est considérée comme fait à établir. Elle se présente sous trois
états : état d’entrée (EF), état interne (IF) et état de sortie (SF).
Toute cellule j de la deuxième couche Celrule est considérée comme une règle
candidate si sa valeur est 1, sinon, elle est considérée comme une règle qui ne doit pas
participer à l’inférence. Elle se présente sous trois états : état d’entrée (ER), état interne
(IR) et état de sortie (SR). Les matrices d’incidence RE et RS représentent la relation
entrée/sortie des faits et sont utilisées en chaînage avant et en chaînage arrière en
inversant leur ordre.
la relation d’entrée, notée iREj, est formulée comme suit : ∀i ∈ [1, l], ∀j ∈ [1, r], si
(le Fait i ∈ à la Prémisse de la règle j) alors R E (i, j) ← 1.
la relation de sortie, notée iRsj, est formulée comme suit : ∀i ∈ [1, l], ∀j ∈ [1, r], si
(le Fait i ∈ à la Conclusion de la règle j) alors RS (i, j) ← 1.
66
Chapitre 3 : Conception du système LATTICE-CELL
Enfin, puisqu’il y’a l cellules dans la couche Celfact, EF, IF et SF seront considérés en
tant que vecteurs de dimension l (EF, IF, SF ∈ {0,1} l). De même, puisqu’il y’à r
cellules dans la couche Celrule, ER, IR et SR seront considérés en tant que vecteurs de
dimension r (ER, IR, SR ∈ {0,1} r). La figure 3. 3 représente le schéma général de
l’automate cellulaire.
Le cycle de base d’un moteur d’inférence, pour établir un fait F en chaînage avant,
fonctionne traditionnellement comme suit :
Le cycle est répété jusqu’à ce que le fait F soit ajouté à la base des faits, ou s’arrête
lorsqu’aucune règle n’est applicable.
67
Chapitre 3 : Conception du système LATTICE-CELL
( , , , , , ) ( , , , +( . ), , )
( , , , , , ) +( . ), , , , ,
LATTICE-CELL est un système qui est conçu pour la catégorisation des comptes
rendus hospitaliers du service de pneumo-pédiatrie de l’Etablissement Hospitalier Spécialisé
(EHS) d’Oran. Chaque service se distingue par ses propres caractéristiques structurelles et
fonctionnelles. L’ensemble des modules de ces services forment l’unité opératrice du logiciel
dont la figure 3.4 illustre le schéma général :
Apprentissage Catégorisation
Traitement Segmentation
Linguistique
Lemmatisation
Comptes rendus Comptes rendus
Étiquetés Non étiquetés
Elimination des
mots vides
Construction
de l’index Réduction Vecteur de mots
C
A
S
Représentation I Test
Vectorielle
68
Chapitre 3 : Conception du système LATTICE-CELL
Pour valider notre travail nous avons rassemblé un corpus de comptes rendus du service
de pneumo-pédiatrie. Bien sûr après avoir saisie ces comptes rendus, nous avons sélectionné
84 pour la phase d’apprentissage et 42 pour la phase de test. Ces comptes rendus représente 5
maladies : Asthme, dilatation des branches, les pathologies infectieuses, les pathologies
malformatives et les pathologies tumorales.
Pour extraire et réduire les termes, qui vont permettre d’établir les fichiers d’entrées du
module d’apprentissage, nous procédons à l’indexation du corpus d’étude.
Cette étape peut s’effectuer en utilisant une sélection de termes (lemmes) qui consiste
à conserver seulement les mots qui sont jugés utiles à la catégorisation selon une certaine
fonction d’évaluation, en attribuant un score à chaque terme en fonction de son pouvoir
discriminant, il suffit alors de ne conserver que les mots dont le score est le plus élevé pour
réduire considérablement la dimension de l’espace. La valeur d’un terme peut être mesurée de
plusieurs manières, nous avons implémenté pour cette étude les méthodes les plus utilisées
qui sont :
1. Le gain d’information GI,
2. L’information mutuelle MI,
3 . La mesure du X2.
69
Chapitre 3 : Conception du système LATTICE-CELL
Ainsi, l’utilisateur est sensé saisir un seuil K pour préciser le nombre de termes qui
doivent figurer dans l’index en sortie. Le procédé consiste à calculer la mesure élue pour tous
les attributs, puis, il faut prendre les K premiers attributs correspondants aux plus grandes
valeurs calculées.
70
Chapitre 3 : Conception du système LATTICE-CELL
[74], et nous avons modifié le fonctionnement du module COG (Cellular Optimization and
Generation) du système CASI qui servait au par avant à l’optimisation et la génération du
graphe d’induction cellulaire, vers le module CIG (Cellular Initialization and Generation) qui,
à partir de chaque concepts produit par le treillis, initialise les deux couches de l’automate :
Celfact et Celrule, ainsi que les matrices d’incidence entré/sortie RE et RS .
1. Trier (B1); Trier (B2) /* Trie des concepts dans un ordre croissant*/
2.1. Pour chaque couples (Ci, Cj) dans B1 x B2
2.2.1 E: = Ext (Ci) Ext (Cj) /* Intersection de la partie Extension */
2.2.2 I:= Int (Ci) Int (Cj) / /* Union de la partie Intension */
2.2.3 C: = Récup_P_C (E, Ci, Cj) /* Récupération provisoire du prochain
concept C à partir des contextes
formels*/
2.2.4 Si C = Nul Alors
72
Chapitre 3 : Conception du système LATTICE-CELL
TCell _F : pour chaque Intention Ik (Faits) et Extension Ek, TCell_F crée deux
cellules dans la couche Celfact : (EF, IF, SF) [Ik] ← (0, 0, 0) pour représenter
le fait Ik. et (EF, IF, SF) [Ek,] ← (0, 0, 0) pour le fait Ek, (Pour la partie Ek,
TCell_F calcule la classe majoritaire de chaque Extension). Et pour les cas
ou le concept généré contient un mot vide soit dans sa partie Intention ou
Extension, TCell_F ne prend pas en considération ce concept.
TCell _R : pour chaque concept Ck, TCell_R crée une cellule dans la couche
Celrule : (ER, IR, SR) ← (0, 1, 1) pour représenter la règle RC.
73
Chapitre 3 : Conception du système LATTICE-CELL
TCell_F crée deux cellules dans la couche Celfact : (EF, IF, SF) [Etiologie,
Grossesse] ← (0, 0, 0) ; (EF, IF, SF) [S0 (100% A), (0% MI), (0% MM)] ← (0, 0,
0) (Voire figure 3.5).
TCell_R crée pour le concept C0 une cellule dans la couche Celrule : (ER, IR,
SR) ← (0, 1, 1) pour représenter la première règle RC=1(Voire figure 3.6).
TCell _RS : initialiser la matrice d’incidence de sortie : RS [S0, 1]← [1] (Voire
figure 3.8).
74
Chapitre 3 : Conception du système LATTICE-CELL
Faits EF IF SF
[Etiologie, Grossesse] 0 1 0
[Asthénie] 0 1 0
[Broncho, Détresse] 0 1 0
[Asthénie, Broncho, Détresse] 0 1 0
[Grossesse] 0 1 0
[Neutrologie] 0 1 0
[S0 (100% A), (0% MI), (0% MM)] 0 1 0
[S3 (50% A), (50% MI), (0% MM)] 0 1 0
[S4 (0% A), (67% MI), (33% MM)] 0 1 0
[S5 (0% A), (100% MI), (0% MM)] 0 1 0
[S6 (67% A), (0% MI), (33% MM)] 0 1 0
[S7 (0% A), (0% MI), (100% MM)] 0 1 0
Règles EF IF SF
R1 0 1 0
R2 0 1 0
R3 0 1 0
R4 0 1 0
R5 0 1 0
R6 0 1 0
75
Chapitre 3 : Conception du système LATTICE-CELL
RE R1 R2 R3 R4 R5 R6
[Etiologie, Grossesse] 1 0 0 0 0 0
[Asthénie] 0 1 0 0 0 0
[Broncho, Détresse] 0 0 1 0 0 0
[Asthénie, Broncho, Détresse] 0 0 0 1 0 0
[Grossesse] 0 0 0 0 1 0
[Neutrologie] 0 0 0 0 0 1
[S0] 0 0 0 0 0 0
[S3] 0 0 0 0 0 0
[S4] 0 0 0 0 0 0
[S5] 0 0 0 0 0 0
[S6] 0 0 0 0 0 0
[S7] 0 0 0 0 0 0
RS R1 R2 R3 R4 R5 R6
[Etiologie, Grossesse] 0 0 0 0 0 0
[Asthénie] 0 0 0 0 0 0
[Broncho, Détresse] 0 0 0 0 0 0
[Asthénie, Broncho, Détresse] 0 0 0 0 0 0
[Grossesse] 0 0 0 0 0 0
[Neutrologie] 0 0 0 0 0 0
[S0] 1 0 0 0 0 0
[S3] 0 1 0 0 0 0
[S4] 0 0 1 0 0 0
[S5] 0 0 0 1 0 0
[S6] 0 0 0 0 1 0
[S7] 0 0 0 0 0 1
76
Chapitre 3 : Conception du système LATTICE-CELL
Une fois ce treillis de Galois cellulaire construit nous procédons à la phase de test avec
le module CV qui va déterminer automatiquement la catégorie (ou le diagnostic) de
l’ensemble des comptes rendus du jeu de test.
Pour cela, nous illustrons cette phase avec un exemple de compte rendu non étiqueté et
qui représente les maladies infectieuses, et on appliquant les étapes suivantes :
Prétraitement ;
Calcul de la similarité ;
Inférence cellulaire ;
Vote majoritaire.
3.5.6.1 Prétraitement
Le compte rendu appartenant au corpus de test va subir le même prétraitement que les
comptes rendus de la phase d’apprentissage (voir figure 3.4), un traitement linguistique avec
une segmentation, lemmatisation et élimination des mots vides et nous obtenons le vecteur de
termes du tableau 3.2 :
0 0 0 1 1 0
Les comptes rendus étant représentés sous forme vectorielle, comme des points dans
un espace à n dimensions, nous déterminons les vecteurs les plus similaires en calculant la
distance entre ces points. Il existe différentes mesures permettant le calcule de la similarité:
77
Chapitre 3 : Conception du système LATTICE-CELL
∑ ×
( × )=
∑ −∑ −∑ ×
∑ ×
( × )=
∑ ×∑
( × )= ×
La similarité de Dice : La similarité de Dice est définie par le nombre des termes
communs multipliés par 2 sur le nombre total de termes. La mesure de Dice est donc
définie par la formule suivante :
2 × (∑ × )
( × )=
∑ +∑
78
Chapitre 3 : Conception du système LATTICE-CELL
Où :
dik : le vecteur de poids du terme t du document k du corpus d'apprentissage
qk : le poids du terme k du document à classer
Une fois une de ces mesures de similarités appliqué pour calculer la distance entre le
vecteur de mots du tableau 3.2 et les vecteurs de mots dans la couche Celfact de la figure 3.6
Les cellules EF des vecteurs les plus similaires sont instanciées à 1 comme le montre la
figure 3.10 et avec l’utilisation de la mesure d’Inner :
Faits EF IF SF
[Etiologie, Grossesse] 0 1 0
[Asthénie] 0 1 0
[Broncho, Détresse] 1 1 0
[Asthénie, Broncho, Détresse] 1 1 0
[Grossesse] 0 1 0
[Neutrologie] 0 1 0
[S0 (100% A), (0% MI), (0% MM)] 0 1 0
[S3 (50% A), (50% MI), (0% MM)] 0 1 0
[S4 (0% A), (67% MI), (33% MM)] 0 1 0
[S5 (0% A), (100% MI), (0% MM)] 0 1 0
[S6 (67% A), (0% MI), (33% MM)] 0 1 0
[S7 (0% A), (0% MI), (100% MM)] 0 1 0
Une fois les cellules EF de la couche Celfact instanciées à 1, l’inférence cellulaire est
lancée en utilisant les deux fonctions de transitions δfact et δrule en chainage avant, où δfact
79
Chapitre 3 : Conception du système LATTICE-CELL
Faits EF IF SF
[Etiologie, Grossesse] 0 1 0
[Asthénie] 0 1 0
[Broncho, Détresse] 0 1 0
[Asthénie, Broncho, Détresse] 0 1 0
[Grossesse] 0 1 0
[Neutrologie] 0 1 0
[S0 (100% A), (0% MI), (0% MM)] 0 1 0
[S3 (50% A), (50% MI), (0% MM)] 0 1 0
[S4 (0% A), (67% MI), (33% MM)] 1 1 0
[S5 (0% A), (100% MI), (0% MM)] 1 1 0
[S6 (67% A), (0% MI), (33% MM)] 0 1 0
[S7 (0% A), (0% MI), (100% MM)] 0 1 0
Après l’inférence cellulaire un vote majoritaire est lancé afin de calculer la catégorie
d’appartenance du compte rendu.
Si on reprend notre exemple les deux sommets déclenchés sont : [S4 (0% A), (67%
MI), (33% MM)] et [S5 (0% A), (100% MI), (0% MM)]. Et le système calcule le pourcentage
de chaque maladie et renvoi a l’utilisateur la catégorie la plus élevée : 83,5% MI (maladie
infectieuse) :
Pour A : = 0%;
Pour MI : = 83,5%;
Pour MM : = 16,5%;
80
Chapitre 3 : Conception du système LATTICE-CELL
3.6 Conclusion
Dans ce chapitre, nous avons présenté une méthodologie pour la catégorisation des
comptes rendus Hospitaliers combinant les treillis de Galois avec la machine CASI. Notre
méthodologie est divisée en trois étapes ; La première consiste en un prétraitement d’un
ensemble de comptes rendus tout en passant par un processus d’indexation avec une sélection
des comptes rendus, un traitement linguistique et une phase de réduction des dimensions. La
deuxième étape est une phase de construction d’un modèle à partir de l’index produit dans
l’étape précédent. Le treillis de Galois est généré, puis grâce à la modélisation booléenne
offerte par la machine CASI, le modèle de catégorisation est établi. Et enfin la troisième étape
est une phase de test (catégorisation) où l’inférence cellulaire est procédée à l’aide des deux
fonctions de transitions δfact, δrule, en chainage avant afin de classer ou catégoriser les
comptes rendus de la base de test.
Nous avons illustré cette méthodologie dans le domaine médical plus précisément aux
comptes rendus médicaux du service de l’établissement hospitalier spécialisé d’Oran.
L’utilisation des treillis de Galois permet une organisation géométrique intuitive et offre un
cadre pour la classification supervisé grâce à la notion de concept : concept = intension +
extension. Le principal avantage du treillis de Galois réside dans son exhaustivité. De cet
avantage découle un inconvénient majeur : tous les algorithmes de construction de treillis ont
une complexité exponentielle en fonction du nombre d’attribut et d’objet. Pour faire face à
cette complexité la machine CASI offre plusieurs avantages :
RE et RS sont des matrices booléennes qui peuvent être exprimées sous forme de deux
vecteurs de plusieurs séquences binaires. La quantité de mémoire requise pour stocker
les matrices booléennes est de l’ordre de O(q), quand on utilise q séquences de r bits,
ou de O (r), quand on utilise r séquences de q bits.
81
Chapitre 3 : Conception du système LATTICE-CELL
82
Chapitre 4
Réalisation et Expérimentation
Chapitre 4 : Réalisation et expérimentations
4.1 Introduction
Dans les chapitres précédents, nous avons donné un aperçu des différents algorithmes
de catégorisation de textes, parmi lesquels on trouve les arbres de décision (ID3), les K-plus
proches voisins (K-PPV), le classifieur NaiveBays, les machines à vecteurs supports (SVM)
et les treillis de Galois.
D’une façon générale, on peut dire que la catégorisation de textes s’est établie comme
un domaine majeur de recherche pour les systèmes d’informations. 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 textuelles
rend impossible tous traitement manuel. Ainsi 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 catégorisation de textes peut actuellement atteindre. La tâche est souvent
subjective : lorsque deux experts humains doivent déterminer les catégories d'un ensemble de
documents, il y a souvent désaccord sur plus de 5% des textes. Il est donc illusoire de
rechercher une classification automatique parfaite. Actuellement, les systèmes de
catégorisation de textes avec apprentissage automatique ont rattrapé les performances des
systèmes manuels qui nécessitent de longs mois de développement à des experts humains
pour fournir les règles de catégorisation.
84
Chapitre 4 : Réalisation et expérimentations
Nous allons tous d’abord faire un rappel dans les sections 4.2 et 4.3 sur l’importance
des treillis de Galois en classification. Ensuite, nous allons présenter brièvement dans la
section 4.4 le système cellulaire CASI, pour aboutir au concept de système de catégorisation
de textes hybrides dans la section 4.5. Puis nous détaillons par la suite l’architecture
fonctionnelle de notre système LATTICE-CELL dans la section 4.6. Dans la section 4.7 nous
présentons l’étude expérimentale et les résultats obtenus. Et avant de conclure ce chapitre
dans la section 4.9, nous présentons l’étude de complexité dans la section 4.8.
Comme nous avons vu dans le chapitre 2, L'Analyse Formel de Concepts (AFC) est
une branche de la théorie des treillis qui permet la génération de concepts. Un concept formel
est un couple complet qui associe un ensemble d'objets (extension) à un ensemble d'attributs
(intention) permettant ainsi de regrouper les objets qui ont des caractéristiques communes.
Même si l'AFC semble abstraite et très théorique, elle fait l'objet de plusieurs
applications dans des domaines variés (réutilisation en génie logiciel, repérage de
l'information, applications web, catégorisation de textes). Le treillis de concepts est utile dès
lors qu'on souhaite explorer de l'information volumineuse pour en extraire des regroupent
conceptuels. L'AFC peut aussi bien servir à faire de la classification des textes ou des pages
web [87], recherche d'images basée sur le contenu [88], découvrir de l'information sur une
population ou bien classer des données dans un entrepôt [89]. Toutes ces applications sont
déjà réalisables grâce aux nombreux algorithmes existants pour générer les concepts. Pour ce
fait que l’ACF a été centrée autour de la notion de concept qui, du point de vue philosophique,
est considéré comme l’unité de base de la pensée humaine.
85
Chapitre 4 : Réalisation et expérimentations
Le principal avantage du treillis de Galois réside dans son exhaustivité. De cet avantage
découle un inconvénient majeur : tous les algorithmes de construction de treillis ont une
complexité exponentielle en fonction du nombre d’attributs et d’objets.
Ainsi, le treillis de Galois construit dépend non seulement de la taille des éléments
(nombre d’exemples et d’attributs), mais aussi pour une taille fixée, de la nature de la relation
entre exemples et attributs. Par conséquent, la seule comparaison théorique en termes de
complexité des différents algorithmes est faite dans le pire des cas [74]. Cependant les bornes
de complexité présentées sont généralement de loin supérieures aux résultats observés en
pratique par les différents auteurs.
Dans une étude récente faite par Kuznetsov et Obiedkov [74].Dans leurs travaux,
Kuznetsov et Obiedkov analysent dix algorithmes de construction du treillis de Galois. Ils
présentent une étude de leurs complexités théoriques et une comparaison expérimentale sur
des jeux de données artificiels. Dans cette analyse, il constate que l’algorithme de Nourine et
Raynaud [59] qui a la meilleure complexité théorique actuelle dans le pire des cas, n’est pas le
plus rapide dans les expérimentations. Les auteurs on aussi fait des recommandations en
fonction de la nature du contexte.
86
Chapitre 4 : Réalisation et expérimentations
réponse des treillis de Galois en modélisant cette structure complexe par les automates
cellulaires. Ce qui a donné naissance à un nouveau système de catégorisation de textes appelé
LATTIEC-CELL.
CASI [2] comme nous avons vu dans le chapitre 3 est un automate cellulaire qui
simule le principe de fonctionnement de base d’un Moteur d’Inférence en utilisant deux
couches finies d’automates finis. La première couche, Celfact, pour la base des faits et, la
deuxième couche, Celrule, pour la base de règles. Chaque cellule au temps t+1 ne dépend que
de l’état des ses voisines et du sien au temps t. Dans chaque couche, le contenu d’une cellule
détermine si et comment elle participe à chaque étape d’inférence : à chaque étape, une cellule
peut être active (1) ou passive (0), c’est-à-dire participe ou non à l’inférence. Les matrices
d’incidence RE et RS représentent la relation entrée/sortie des faits et sont utilisées en chaînage
avant et en chaînage arrière en inversant leur ordre.
Pour construire le treillis de Galois nous avons utilisé la plateforme GALICIA (voire
Annexe A), le treillis obtenu dans la phase d’apprentissage est modélisé par le principe de
l’automate cellulaire, afin de générer le modèle booléen (Celfact, Celrule, RE, RS) de
catégorisation. Une fois la phase d’apprentissage accomplie nous procédons à la phase de
catégorisation en utilisant le modèle du treillis de Galois cellulaire.
87
Chapitre 4 : Réalisation et expérimentations
Plusieurs classifications sur les modes d’intégration des systèmes hybrides ont été
proposées selon plusieurs critères, qu’on va définir :
Le type de codage des connaissances : règle de type 0, règle de type 0+, règle floue,
prédicat, concepts, etc. ;
L’intégration des méthodes peut être classée en trois groupes principaux selon le type
d’hybridicité employé :
Approche unifiée : ce type d’approche est aussi connu comme une approche pure ou comme
un hybridicité au sens large. L’idée est d’intégrer tout dans un seul
module, uniquement treillis de Galois (TG) uniquement, ou uniquement
cellulaire (SC), les deux types d’approches (TG+SC).
88
Chapitre 4 : Réalisation et expérimentations
Approche semi-hybride : cela regroupe la compilation d’une base de règles par un module
(insertion de connaissances) et l’explication de règles par un autre
module (extraction de connaissance). Certains systèmes sont dits semi-
hybrides parce qu’ils ne réalisent qu’un des deux types de transferts de
connaissances entre les modules.
Couplage Faible : dans ce type d’architecture, les divers modules (deux en général) sont
reliés par une simple relation d’entrée/sortie, et les communications sont
donc unidirectionnelles (loosely coupled systems).
Couplage Moyen : dans cette catégorie, les interactions entre les modules sont plus souples,
car elles sont bidirectionnelles; il ne s’agit plus simplement de relations
d’entrée/sortie, et chacun des modules peut influencer dans une certaine
mesure le fonctionnement de l’autre (couplage étroit ou tightly coupled
system).
Couplage Fort : dans ces systèmes, les modules partagent des structures de données
communes, ou au moins l’un des modules a accès direct à certaines
structures de données de l’autre (fully coupled). Les connaissances et les
données ne sont pas uniquement transférées, elles sont aussi partagées
entre les modules qui utilisent des structures internes communes. C’est le
cas de notre système hybride LATTICE-CELL où le module CIG
(Cellular Concept Generation) de l’automate cellulaire CASI peut
extraire les concepts générés par le module treillis de Galois (TG).
89
Chapitre 4 : Réalisation et expérimentations
Dans les deux parties 4.3, 4.4 de ce chapitre, nous avons présenté les deux outilles qui
ont contribué à la conception du système LATTICE-CELL : les treillis de Galois et l’automate
cellulaire CASI. Nous avons essayé de tirer profit des aspects intéressants présentés par ces
deux approches, de façon à créer un nouveau système hybride plus performant. Ce nouveau
système que nous avons développé a été nommé LATTICE-CELL pour Cellular Lattice.
USER INTERFACE
Prétraitement
CASI
CASI
5 6
22
CIG CIE CV
C-RCF (Cellular (Cellular (Cellular
C-ARFF 3 Initialization and Inference validation)
Generation) Engine)
TG (Treillis
WEKA
de Galois)
4
GALICIA Knowledge Base
Facts and Rules
LATTICE-CELL
90
Chapitre 4 : Réalisation et expérimentations
4.7 Expérimentations
Le système LATTICE-CELL a été testé sur deux problèmes déférents. Nous avons
d’abord choisi d’appliquer LATTICE-CELL au corpus (sport, économie et télévision)2
Nous avons commencé par ce corpus afin de pouvoir mieux mesurer les résultats du
système LATTICE-CELL, et de comparer sa performance par rapport aux autres algorithmes
de catégorisation de textes. Le fait d’avoir choisi ce problème de catégorisation, nous a permis
1
http://switch.dl.sourceforge.net/project/weka/weka-3-6-windows-jre/3.6.4/weka-3-6-4jre.exe
2
http://deft08.limsi.fr/corpus-desc.php
91
Chapitre 4 : Réalisation et expérimentations
de mieux exploiter l’application, car le problème était bien connu et nous avions le contrôle
sur toutes les données du problème.
En utilisant LATTICE-CELL sur ces deux corpus, nous avons essayé de mettre en
valeur les propriétés de notre système et de comparer ces performances par rapport aux autres
algorithmes tel que ID3, les K-plus proches voisins, le classifieur NaiveBays et SVM
implémenté dans WEKA. Nous allons travailler sur deux types de corpus afin de pouvoir
valider nos résultats
Dans les sections qui suivent, nous allons décrire plus en détail les expériences et les
résultats obtenus en utilisant LATTICE-CELL.
.
4.7.1 Applications
Pour notre cas nous avons choisi un extrait de ce corpus qui contient seulement 3
catégories (Economie, Sport et Télévision) et nous avons traité seulement le problème de la
catégorisation en thèmes3.
La répartition des volumes des documents pour chaque classe dans le corpus
d’apprentissage et de test est indiquée dans le tableau 4.1
3
C.-à-d. nous n’avons choisi que les textes provenant du journal le monde (LM)
92
Chapitre 4 : Réalisation et expérimentations
Les médecins doivent rédiger un compte rendu hospitalier pour chaque nourrisson
admis en service de pneumo pédiatrie. Celui-ci contient de nombreuses informations,
organisées autour du schéma suivant :
motif de l’hospitalisation ;
antécédents médicaux et chirurgicaux ;
histoire de la maladie;
résultats des différents examens cliniques et complémentaires ;
évolution de l’état du patient pendant son séjour ;
conclusion donnant le diagnostic et l’issue du séjour
93
Chapitre 4 : Réalisation et expérimentations
Anamnèse
Examen clinique
Examens Paraclinique
94
Chapitre 4 : Réalisation et expérimentations
Au total
Nous avons recueilli environ 126 comptes rendus provenant du service. Nous avons
été confrontés à une grande étape de saisies et de corrections, nous avons pu constituer un
corpus des comptes rendus médicaux exploitables, et étiquetés selon 5 maladies : Asthme, la
dilatation des branches, la mucoviscidose, les pathologies infectieuses, les pathologies
malformatives et les pathologies tumorales.
La répartition des comptes rendus pour chaque maladie dans le corpus d’apprentissage
et de test est indiquée dans le tableau 4.2
95
Chapitre 4 : Réalisation et expérimentations
La matrice de confusion
Réalité
C not C
C VP FP
Système
non C FN VN
Où :
96
Chapitre 4 : Réalisation et expérimentations
FP (Faux Positif) : ration d’élément de la classe C ayant été étiqueté non C par
le classificateur ;
Ainsi nous avons extrait à partir de la table de confusion les critères suivants :
P=
R=
Ces deux mesures sont antagonistes : avec un même système, augmenter la précision
se fait au détriment du rappel, et inversement. On cherche bien sûr à atteindre les
performances du système idéal pour lequel R=P=1. Si l’on veut comparer les performances
des différents systèmes, il faut donc prendre en compte le rappel et la précision. Cependant, il
n’est pas aisé de comparer ces deux valeurs.
Nous avons donc calculé la F-Mesure où cette dernière est une manière de combiner
ces deux valeurs, c’est le point où la précision et le rappel sont égaux. Plus ce point se
rapproche de 100%, plus le classificateur est performant à la fois en précision et en rappel :
( )×
=
( )
97
Chapitre 4 : Réalisation et expérimentations
( )
Acc =
( )
( )
Err =
( )
Macro-moyenne et Micro-moyenne
La précision et le rappel globaux, c'est-à-dire sur toutes les classes, peuvent être
calculés à travers une moyenne des résultats obtenus pour chaque catégorie. Deux approches
sont distinguées :
La micro-moyenne qui fait d’abord la somme des éléments du calcul – vrais positifs,
faux positifs et négatifs – sur l’ensemble des n classes, pour calculer la précision et le
rappel globaux ;
La macro-moyenne qui calcule d’abord la précision et le rappel sur chaque classe i,
puis en fait la moyenne sur les n classes.
4.7.3 Résultats
Les résultats obtenus avec les deux corpus (CORPUS1 et CORPUS2) en utilisant
NaiveBays, ID3, K-PPV, SVM (SMO) et notre système LATTICE-CELL sont indiqués si
dessous4 :
4
Le rappel et la précision sont calculés par la macro-moyenne
98
Chapitre 4 : Réalisation et expérimentations
0,8
0,7
0,6
0,5
0,4 JACCARD
0,3
COSINUS
0,2
0,1 INNER
0 DICE
99
Chapitre 4 : Réalisation et expérimentations
0,7
0,6
0,5
NaiiveBays
0,4 ID3
0,3 K-PPV
SMO
0,2
LATTICE-CELL
0,1
0
Précision Rappel Acc Erreur F-Mesure
100
Chapitre 4 : Réalisation et expérimentations
(Acc) est supérieure avec 60% de réussite, et que la proportion des documents mal classés
(Err) est nettement inferieure que les autres algorithmes avec 39% comme taux d’erreur.
0,9
0,8
0,7
0,6
0,5
0,4 JACCARD
0,3 COSINUS
0,2
0,1 DICE
0 INNER
101
Chapitre 4 : Réalisation et expérimentations
0,8
0,7
0,6
0,5 NaiiveBays
0,4
0,3 ID3
0,2
K-PPV
0,1
0 SMO
LATTICE-CELL
102
Chapitre 4 : Réalisation et expérimentations
4.7.4 L’impact des fonctions de réduction des termes des deux corpus (1 et 2)
L’algorithme standard RTE × EF, par exemple, utilisé par la fonction de transition δfact
peut être exprimé par un algorithme séquentiel de multiplication booléenne vecteur-matrice
exécutée en un temps O (rq), où q est la dimension du vecteur EF et r x q est la dimension
103
Chapitre 4 : Réalisation et expérimentations
Soit Ω = {d1, d2, .., dn} un ensemble de documents concernés par le problème de
catégorisation. A cet ensemble est associé un attribut particulier appelé attribut classe noté Y.
A chaque document d peut être associé sa classe Y (d). On dit que la variable Y prend
ses valeurs dans l’ensemble des étiquettes, appelé également ensemble des classes et noté C.
Ces résultats sont calculés avec une machine dont les performances sont les suivants :
Pentium 4, Intel (R) core (TM) 2 duo 2 GHz, 3070 MB RAM, Windows XP Pack 2.
5
Le temps de réponse est calculé par rapport à un seul document.
104
Chapitre 4 : Réalisation et expérimentations
4.9 Conclusion
105
Conclusion
Générale
CONCLUSION GENERALE ET PERSPECTIVES
Le thème que nous avons abordé dans ce mémoire s’intéresse au domaine de la fouille
de textes et plus particulièrement à l’utilisation des treillis de Galois dans un processus de
catégorisation de texte avec une amélioration de cette structure complexe en la modélisant
avec les automates cellulaires.
Nous avons vu que la fouille de texte, est une science qui a comme but d’extraire des
motifs cachés à partir de grandes collection de texte ou bien de découvrir des connaissances
dedans, et que ces tâches sont nombreuses telle que : l’extraction d’information,
question/réponse, la catégorisation des documents, la recherche et l’extraction d’information,
etc.
Donc, la catégorisation de texte est une instance de la fouille de texte qui cherche à
déterminer automatiquement la catégorie d'appartenance d'un texte entrant dans le système à
partir d'exemples déjà classifiés. Sa problématique est de générer un modèle capable
d’attribuer automatiquement un texte à une catégorie avec le plus grand taux de réussite
possible
Pour générer ce modèle on doit passer par un processus qui comporte 3 phases :, une
première qui va donner une représentation vectorielle des textes sélectionnés, la deuxième est
la phase de traitement où on va appliquer un algorithme de catégorisation pour générer notre
modèle et enfin ce processus va se terminer par une phase de test pour l’évaluer.
Afin de palier à ces contraintes, nous avons jugé utile dans un premier temps, d’utiliser
les treillis de Galois dans le processus de catégorisation, et vu leur complexité exponentielle
107
nous avons, ensuite, cherché à trouver une solution à cette complexité en modélisant cette
structure par l’automate cellulaire CASI.
En exploitant ses divers avantages et services que propose l’automate cellulaire nous
sommes arrivés à construire un treillis de Galois cellulaire rapide dans sa phase de test, et
occupe mois d’espace mémoire.
Contribution
108
Les résultats de l’étude comparative et celle de la complexité prouvent non seulement
qu’on peut utiliser les treillis de Galois comme un outil d’extraction de connaissance ou dans
un processus de catégorisation de texte, mais encouragent également l’exploitation de la
nouvelle représentation booléenne des treillis afin de réduire la complexité de stockage ainsi
que le temps de réponse engendré par cette structure complexe.
Perspectives :
Nous terminons cette conclusion en proposant quelques perspectives de
recherche telles que la généralisation de la modélisation booléenne sur tous les algorithmes
de construction de treillis de Galois et la mise à l’éprouve du système LATTICE-CELL face
aux autres systèmes de classification basés sur les treillis de Galois.
109
Annexes
Annexe A
Galicia
Galicia est une plate-forme Java dédiée à l’Analyse Formelle de Concepts (AFC), [72].
Cette plate-forme est née sous l’impulsion de l’Université de Montréal. Elle a permis de
mettre en place une collaboration entre le LIRMM, l’Université de Montréal et l’Université
du Québec à Montréal dans le but de faire vivre cet outil. Mais depuis peu d’autres
laboratoires s’intéressent également à l’évolution d’une telle plate-forme et se sont donc tout
naturellement intégrés à la collaboration. Cette plate-forme permet l’étude des algorithmes
touchant à la manipulation des contextes formels et familles de contextes que l’on retrouve
dans l’AFC. Par exemple nous trouvons l’algorithme de Valtchev [71] que nous utilisons,
mais aussi divers algorithmes de construction de treillis de Galois. L’intérêt d’un tel outil est
de pouvoir comparer différents algorithmes mais aussi de pouvoir maîtriser le cycle de vie
complet du treillis (et de ses graphes dérivés). Ce cycle de vie comprend la récupération et la
préparation des données au travers d’une interface d’entrée/sortie puis de manipulation des
données, un ensemble d’algorithmes créant à partir de ces données un treillis de Galois ou un
graphe dérivé, une interface de visualisation du résultat mais aussi un moyen de maintenir le
graphe résultat grâce à des algorithmes de maintenance comme ARES.
La figure A.1 montre la fenêtre initiale de l’outil Galicia, elle permet d’ouvrir un fichier
qui stocke une famille de contextes afin d’éditer les relations présentes dans cette famille,
figure A.2, ou alors ouvrir un fichier qui stocke simplement un contexte binaire afin de
pouvoir également modifier les relations présentes dans ce contexte, figure A.3. Il est même
possible d’ouvrir directement un treillis à partir de la fenêtre d’invite. A partir de la fenêtre
d’édition il est possible de modifier les données mais aussi de pouvoir lancer différents
algorithmes, figure A.3 .Le résultat est la visualisation d’un graphe correspondant à un treillis
ou une SHG ou encore un treillis iceberg. La visualisation se fait soit en 2D, figure A.4, soit
en 3D, figure A.5.
111
L’outil de visualisation permet de placer automatiquement les sommets des graphes
suivant des algorithmes qui travaillent sur la tension et la répulsion des sommets et arêtes
ce qui n’empêche pas de pouvoir placer également manuellement les sommets d’un
graphe. Nous pouvons aussi visualiser sur chaque sommet les éléments contenus dans
l’extension et l’intension des concepts que représentent ces sommets.
112
Figure A.3 Fenêtre d’édition d’un contexte binaire dans Galicia
113
Figure A.5 Fenêtre de visualisation d’un graphe 3D dans Galicia
114
Annexe B
Environnement de développement
Le langage reprend en grande partie la syntaxe du langage C++, très utilisé par les
informaticiens. Néanmoins, Java a été épurée des concepts du C++ et à la fois les plus
déroutants, tels que 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.).
Les raisons de notre choix pour Jbuilder X10 sont multiples, nous pouvons citer :
115
Java est un langage interprété puisque la source est compilé en pseudo code ou byte
code puis exécuté par un interpréteur Java ”Java Virtual Machine (JVM)”.
Son principe est WORA (Write Once Run Anywhere ; écrire une fois exécuter
parfois). En effet, le byte code, s’il ne contient pas de code spécifique à une plate-forme
particulière peut être exécuté et obtenir quasiment les mêmes résultats sur toutes les
machines disposant d’une JVM ;
L’interface de l’application
116
1
Fenêtre principale
117
Interface de Prétraitement
2
1
3
4
5 6
118
Interface d’apprentissage
4
5
6
2
Une fois l’apprentissage est lancé par le bouton « OK », la figure B.1 de Galicia
s’affiche pour montrer l’exécution de l’algorithme d’apprentissage et la figure B.2 montre
la fenêtre de visualisation du treillis de Galois. ²
119
Figure B.1 Interface Galicia de construction du treillis de Galois
120
Interface de catégorisation
5 4
121
Références
Bibliographique
Références bibliographique
[1] Birkoff, G.: Lattice Theory, First Edition, Amer. Math. Soc. Pub. 25, Providence, R. I., 1940.
[2] Atmani, B. and Beldjilali, B: Knowledge Discovery in Database: Induction Graph and Cellular
Automaton, Computing and Informatics Journal, Vol.26, N°2 P: 171-197, 2007
[3] Joachims, T., and Sebastiani, F.: Guest editors introduction to the special issue on automated text
categorization. J. In tell. Inform. Syst., 18, 103–105. , 2002.
[4] Lewis, D. D., and Haues, P. J. Guest editorial for the special issue on text categorization. In:
ACM Trans. Inform System, 1994.
[5] Radwan Jalam. Apprentissage automatique et catégorisation de textes multilingues. PhD thesis,
Université Lumiére Lyon2, 2003.
[6] Feldman R, Dagan I., KDT- Knowledge discovery in textual databases , Proceedings of the first
annual conference on Knowledge Discovery and data mining (KDD), Montréal, Canada, 1995
[7] M. Hearst. Untangling Text Data Mining. In Proc of the 37th. Annual Meeting of the Association
for Computational Linguistics (ACL’99). University of Maryland, 1999.
[8] Kodratoff Y., Knowledge discovery in texts: A definition and application, dans Ras et Skowron
(dir.), Foundation of intelligent systems, Lecture notes in artificial intelligence, Springer- Verlag,
Berlin, n° 1609, 16 – 29, 1999
[9] M. Grobelnik, D. Mladenic and N. Milic-Frayling. Introduction. Dans Proc. of the workshop on
Text Mining, Boston, in conjunction with the 6th. Int’l Conf. on Knowledge Discovery and Data
Mining (KDD’00), 2000.
[10] Fidelia Ibekwe-SanJuan : Fouille de textes : méthodes outils et applications, Livre, ISBN : 978-
2-7462-1609-9, Edition Lavoisier, Paris, 2007
[11] Hacène, C: thèse pour obtenir le grade de docteur de l'université de Henri Poincaré- Nancy
1 : Etude et réalisation d’un système d’extraction de connaissances à partir de textes . Présentée
et soutenue publiquement le 15 Novembre 2004.
[12] Feldman R, Aumann Y., Zilberstein A., and Ben-Yehuda Y., Trends graph: visualizing the
evolution of concept relationships in large document collections. In J.M Zytkow et M. Quafafou
(dir.), Principles of datamining and Knowledge discovery, Proceedings of the 2nd European
symposium PKDD, Springer Verlag, Berlin, 38-46, 1998.
[14] Sebastiani F., Text Categorization ,In Zanasi (dir.),Text Mining and its Applications to
Intelligence,CRM and Knowledge Management , WIT Press,109-129,2005.
123
[15] Grzegorz D: thèse pour obtenir le grade de Docteur de l'université de paris : Analyse des
sentiments: système autonome d’exploration des opinions exprimées dans les critiques
cinématographiques . Présentée et soutenue publiquement le 4 décembre 2008.
[16] Weiss S.M., Indurkhya N., Zhang T., Damerau F., Text Mining Predective methods for
analyzing unstructured information, Springer Verlag, New York, 2005.
[18] G. Salton, A. Wong, C. S. Yang. A vector space model for automatic indexing. Communication
of the ACM, 18, 613-620, 1975.
[19] Sebastiani (F.) Caropreso (M.), Matwin (S.). A learner-independent evaluation of the use- fulness
of statistical phrases for automated text categorization. Pages 78 102, 2001.
[20] Julie Beth Lovins. Development of a stemming algorithm. Technical report, Mechanical
Translation and Computational Linguistics, 1968.
[21] M.F. Porter. An algorithm for suffix stripping. 14:130 137, 1980.
[23] Gerard Salton and Christopher Buckley. Term weighting approaches in automatic text retrieval.
Information Processing & Management, 1987.
[24] Y. Yang and J.O. Pedersen. A comparative study on feature selection in text categorization. In
ICML-97, 14th International Conference on Machine Learning.
[25] George W.Furnas Thomas K. Landauer Scott Deerwester, T.Susan Dumais and Richard
Harshman. Indexing by latent semantic analysis. American Society of Information Science, 1990.
[26] M. Roche and Y. Kodratoff. Utilisation de LSA comme première étape pour la classification des
termes d'un corpus spécialisé. In Actes (CD-ROM) de la conférence MAJECSTIC' 03
(Manifestation des Jeunes Chercheurs dans le domaine STIC), 2003.
[27] A. M. Turing, 1950. Computing Machinery and Intelligence. Mind LIX (236), 433–460.1950
[28] Lewis D.D., Yang Y., Rose T.G., Li F., “RVC1: A new benchmark collection for Text
categorization research “, Journal of Machine Learning Research, n°5,361-397, 2004.
[29] Dreyfus G., Martinet J.M.,Samuelides M., Gordon M.,Badran F.,Thiria S.,Herault L.,Réseaux de
neurones ,méthodologie et applications ,Eyrolles ,Paris,2e édition ,2004.
[30] Krose B., Smagt P., An introduction to neural Networks, Cours en ligne, 8e edition, 1996
[31] Lipman R.P., an Introduction to computing with Neural Nets, IEEE ASSP Magazine, 4-22, 1987
[32] Hornik K., Stinchobre M., White H., Multilayer feedfrward networks are iniversal
approximators, Neural Networks, 2,359-366, 1989
124
[33] Torres –Moreno., J.- M, Apprentissage et généralisation par des réseaux de neurones : étude des
nouveaux algorithmes constructifs, Thèse Institut national Polytechnique de Grenoble (INPG),
1997
[34] Berson A., Smith S., Thearling K., An overiew of data Mining Techniques: Building Data Mining
Application for CRM, McGraw-Hill, New York, p.488,1999.
[35] Vapnik V.N., the Nature of Statistical Learning Theory, Springer Verlag, New York, 1995.
[36] Joachim T.,”Text Categorization with Support Vector Machine: Learning with many relevant
features “, European Conference on Machine Learning (ECML’98), Berlin, Allemagne ,137-
142,1998.
[37] Bellot P., Classification de documents et enrichissement de requêtes , dans M. Ihadjadene (dir.),
Méthodes avancées pour les systèmes de recherche d’informations, Hermes, Paris, 73-218-,2004.
[39] J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers Inc., 1993.
[40] Engelbert Mephu Nguifo, Patrick Njiwoua. Treillis de concepts et classification supervisée,
Article 2004.
[41] Birkhoff G., Lattice Theory, American Mathematical Society, Providence, RI, 3rd édition, 1967.
[42] Barbut M., Monjardet B., Ordre et Classification, Hachette, Paris, 1970.
[43] Wille R., Restructuring Lattice Theory, RIVAL I., Ed., and Symposium on Ordered Sets,
University of Calgary, Boston, 1982, p. 445-470.
[44] WILLE R., Concept Lattices & Conceptual Knowledge Systems, Computer Mathematic Applied
vol. 23, n 6-9, p. 493-515, 1992.
[45] Guigues J., Duquenne V., Familles minimales d’implications informatives résultant d’un tableau
de données binaires, Mathématiques, Informatique et Sciences Humaines, vol. 24, n 95, p. 5-18.
1986
[46] Duquenne V., Latticial structures in data analysis, Theoretical Computer Science, vol. 217, n 2,
p. 407-436, 1999
[47] Ganter B., Attribute exploration with background knowledge , Theoretical Computer Science, vol.
217, n 2, 1999, p. 215-233.
[48] MITCHELL T., Generalization as Search , Artificial Intelligence, vol. 18, n 2, 1982, p. 203-226.
[49] Pasquier N., BASTIDE Y., TAOUIL R., LAKHAL L., Efficient mining of association rules using
closed itemsets lattices , Journal of Information Systems, vol. 24, n 1, 1999, p. 25-46.
[50] KOURIE D., OOSTHUIZEN G., Lattices in Machine Learning: Complexity Issues, Acta
Informatica, vol. 35, n 4, 1998, p. 269-292.
[51] GANASCIA J., CHARADE: A Rule System Learning System, IJCAI’87, Milan, Italy, 1987, p.
345-347.
125
[52] GANASCIA J., Induction Symbolique Numérique à partir de données, Chapitre CHARADE &
Fils : Evolutions, Applications et Extensions, CEPADUES, 2000, 23 pages, http : //www-
poleia.lip6.fr/ Ganascia/.
[53] Nizar Messai : Analyse de concepts formels guidée par des connaissances de domaine.
Application `a la découverte de ressources génomiques sur le Web. Thèse de doctorat. Chapitre 3,
2009.
[54] Dau, F. and Klinger, J. From Formal concept analysis to contextual logic. In [Ganter et al.
2005b], pages 81–100. 2005
[57] Guenoche and Mechelen, Guenoche, A. and Mechelen, I. V.. Galois approach to the
induction of concepts. In Mechelen, I. V., Hampton, J., Michalski, R., and Theuns, P.,
editors, Categories and Concepts. Theoretical Views and Inductive Data Analysis, pages 287–
308. Academic Press, London. 1993
[58] Chein, M. (1969). Algorithme de recherche des sous-matrices premières d’une matrice.
Bull. Math. Soc. Sci. Math. R.S. Roumanie, 13:21–25.
[59] Norris,E.M..An algorithm for computing the maximal rectangles in a binary relation. Revue
Romaine de Mathématiques Pures et Appliqués, 23(2):243–250.1978
[60] Ganter, B. (1984). Two basic algorithms in concept analysis. FB4-Preprint 831, Technische
Hochschule Darmstadt.
[61] Ganter, B. and Reuter, K: finding all closed sets: A general approach. Order, 8(3) :283–
290.1991
[62] Bordat, J.-P. Calcul pratique du treillis de Galois d’une correspondance. Mathématiques et
Sciences Humaines, 96 :31–47. 1986.
[63] [Kuznetsov, 1993] Kuznetsov, S. (1993). A fast algorithm for computing all intersections
of objects in a finite semi-lattice. Automatic Documentation and Mathematical
Linguistics, 27(5):11–21.
[64] Godin, R., Missaoui, R., and Alaoui, H. (1995c). Incremental Concept Formation
Algorithms Based on Galois (Concept) Lattices. Computational Intelligence, 11:246– 267.
[65] Carpineto, C. and Romano, G. A lattice conceptual clus-tering system and its application
to browsing retrieval. Machine Learning, 24(2):95122.1996.
[66] Carpineto,C. and Romano,G. Concept Data Analysis : Theory and Applications. John Wiley
& Sons.2004
[67] Nourine, L. and Raynaud, O. A fast algorithm for building lattices. Information
Processing Letters, 71(5-6) :199–204.1999
[68] Lindig, C. (2000). Fast concept analysis. In Stumme, G., editor, working with Conceptual
126
Structures - Contributions to ICCS 2000, Aachen, Germany.
[69]Stumme, G., Taouil, R., Bastide, Y., Pasquier, N., and Lakhal, L. Fast computation
of concept lat tices using dat a mini ng techniques . In [Bouzeghoub et al., 2000].
[70] Stumme, G., Taouil, R., Bastide, Y., Pasquier, N., and Lakhal, L. Computing iceberg concept
lattices with titanic. Data and Knowledge Engineering, 42(2):189– 222.2002.
[71] Valtchev, P. and Missaoui, R. Building concept (Galois) lattices from parts: Generalizing
the incremental methods. Pages 290–303.2001.
[73] Der Merwe, D. V., Obiedkov, S. A., and Kourie, D. G. AddIntent: A New Incremental
Algorithm for Constructing Concept Lattices. In Eklund, P. W., editor, ICFCA
Concept Lattices, Second International Conference on Formal Concept Analysis, ICFCA
2004, Sydney, Australia, February 23-26, 2004, Proceedings, volume 2961, pages 372–385.
Springer, 2004.
[75] Godin, R., Mineau, G., and Missaoui, R. Incremental structuring of knowledge bases. In
Ellis, G., Levinson, R. A., Fall, A., and Dahl, V., editors, Proceedings of the 1st
International Symposium on Knowledge Retrieval, Use, and Storage for Efficiency
(KRUSE’95), Santa Cruz (CA), USA, pages 179193. Department of Computer Science,
University of California at Santa Cruz. 1995.
[76] Godin, R., Mineau, G. W., and Missaoui, R. Méthodes de classification conceptuelle
basées sur les treillis de Galois et applications. Revue d’intelligence artificielle, 9(2)
:105137. 1995.
[79] E. Mephu Nguifo : Une nouvell e approche basée sur l es treilli s de Galoi s pour
l’apprentissage de concepts. Mathématiques, Informatique et Sciences Humaines, 1993.
[81] M. Sahami. Learning Classification Rules Using Lattices. In Proceedings of ECML’ 95, pages
343–346, 1995.
[82] M. Liquière & J. Sallantin. : Structural machine learning with Galois lattice and Graphs.
International Conference on Machine Learning, 1998.
[83] Engelbert Mephu Nguifo and Patrick Njiwoua: Using Lattice-Based Frame-work as a Tool for
Feature Extraction. In European Conference on Machine Learning, pages 304-309, 1998.
127
[84] Benfriha H; Barigou F; Atmani B: LATTICE-CELL: approche hybride pour la catégorisation des
comptes rendus hospitaliers; The 1st International Conference on Information system and
technologies In Tebessa ISBN: 978-9931-9004-0-5–ICIST’2011-
[85] Bruno Pouliquen : NOMINDEX : thèse pour obtenir le grade de Docteur de l'université
Rennes I,: Indexation de textes médicaux par extraction de concepts, et ses utilisations .
Présentée et soutenue publiquement le 7 juin 2002
[86] Nakache ; D : Extraction automatique des diagnostics à partir des comptes rendus médicaux
textuels, Thèse pour obtenir le grade de Docteur au conservatoire National des Arts et
Métiers, 2007
[87] Géraldine. P: Une mesure de similarité contextuelle pour l'aide à la navigation dans un treillis
article 2008.
[88] Oulad Haj Thami, GENERIC: un système pour la recherche d’image basée sur les attributs
visuels et les connaissances. Article 2002.
[89] Messai, N : Treillis de Galois et ontologie pour l’interrogation d’un annuaire de source de
données biologiques (BioRegistry). Article 2004.
[90] Cyril Grouin, Béatrice Arnulphy, Jean-Baptiste Berthelin, Sarra El Ayari, Anne García
Fernandez, Arnaud Grappy, Martine Hurault-Plantet, Patrick Paroubek, Isabelle Robba et
Pierreweigenbaum : Présentation de l’édition 2009 du Défi Fouille de Textes. (DEFT’09),
LIMSI–CNRSbBP 133 – F-91403 Orsay Cedex URL :
http://www.limsi.fr/Individu/jbb/biblio.html
128
Résumé :
Mots clés : Apprentissage par induction, catégorisation des textes, treillis de Galois,
machine cellulaire CASI, modélisation booléenne.