WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Impact de la structure de treillis dans le domaine de fouille de données et la représentation des connaissances.

( Télécharger le fichier original )
par Pascal Sungu Ngoy
Université de Lubumbashi - Diplôme de licence en sciences mathématiques et informatique 2014
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

i

Table des matières

1

I

2

Introduction

Cadre conceptuel et théorique

Généralités sur la théorie des treillis

2.1 Origine de la théorie des treillis

2.2 Treillis ordinale et treillis algébrique

2.2.1 Définitions algébrique et ordinale d'un treillis

2.2.2 Irréductibles et générateurs minimaux d'un treillis

2.3 Treillis de fermés et système de fermeture

2.3.1 Treillis de fermés

2.3.2 Système de fermeture

2.4 Treillis des concepts et treillis de Galois

7

1

5

6

6

7

10

15

16

16

16

 
 

2.4.1 Treillis des concepts

17

 
 

2.4.2 Treillis de Galois

18

3

Aspects algorithmiques des treillis

19

 

3.1

Algorithme de construction du graphe de couverture d'un treillis . . .

20

 

3.2

Algorithme de construction de treillis de concepts

26

 
 

3.2.1 Définitions

26

 
 

3.2.2 Algorithme Genall

29

 
 

3.2.3 Etude de la compléxité

35

 

3.3

Algorithme de génération de treillis quelconques

35

 
 

3.3.1 Algorithme de L.Nourine

36

 
 

3.3.2 Etude de la compléxité

37

II

Application de la méthode

39

4

Fouille de données et navigation dans un treillis

40

 

4.1

Bref aperçu sur les fouilles de données

40

 
 

4.1.1 La fouille d'images

41

 
 

4.1.2 La fouille de textes

41

 
 

4.1.3 La fouille du web

42

 

4.2

Chaîne d'extraction des connaissances

42

 

4.3

L'Analyse Formelle des Concepts

44

 
 

4.3.1 L'extraction de motifs fréquents

44

 
 

4.3.2 Algorithme d'extraction des motifs fréquents

46

 
 

4.3.3 Extraction de règles d'associations

48

ii

5

4.3.4 Règles d'association

4.3.5 Algorithme de génération de règles d'associations valides . .

Application des treillis en représentation des connaissances et extraction d'informations

49

50

53

 

5.1

Web sémantique et représentation des connaissances

53

 
 

5.1.1

Web sémantique

53

 
 

5.1.2

Représentation des connaissances

54

 

5.2

Extraction d'informations

58

 
 

5.2.1

Recherche d'informations

59

 
 

5.2.2

Traitement automatique de la langue

60

 

5.3

Application des règles d'associations aux textes

63

 
 

5.3.1

Description du problème

63

 
 

5.3.2

Expérimentations

65

 
 

5.3.3

Extraction de connaissances par règles d'association

69

 
 

5.3.4

Interprétation des résultats

73

6

Conclusion et perspectives

78

iii

Table des figures

2.1

Exemple de treillis

10

2.2

Exemple de treillis distributif et treillis booléen

11

2.3

Autre exemple de treillis

12

2.4

Treillis de la figure 2.3 où sont precisés, pour chaque noeud de x, les

 
 

ensembles Jx et Mx

13

 

2.5

Treillis des concepts du contexte de la table 2.3

18

3.1

Arbre lexicographique de la famille F

24

3.2

le graphe de couverture G = (F, ?)

26

3.3

Arbre lexicographique associé au dictionnaire

28

3.4

Matrice decrivant la relation R du contexte K = (X, Y, R)

29

3.5

Treillis des concepts formels, extrait du contexte K, décoré par quelques

 
 

générateurs minimaux

34

3.6

Un ordre qui ne représente pas un treillis

37

 

4.1

Chaîne d'extraction de connaissances

42

4.2

Exemple de treillis des parties ordonnées par inclusion

49

5.1

Exemple d'ontologie dans le domaine zoologique

54

5.2

Représentation graphique d'un ensemble classique et d'un ensemble

 
 

flou

57

5.3

Schéma général de la recherche d'information

59

5.4

Représentation syntaxiques d'une phrase

62

5.5

Exemple d'un document du corpus

65

5.6

Treillis des concepts généré à partir du logiciel Concept Explorer 1.3

76

iv

Liste des tableaux

2.1

Générateurs minimaux des éléments du treillis de la figure 2.3 . . . .

13

2.2

Table du treillis de la figure 2.3

15

2.3

Exemple de contexte

17

3.1

Notation utilisée dans l'algorithme GENALL

31

3.2

Le contexte d'extraction K

33

4.1

Exemple de base de données formelle

45

5.1

Illustration de l'appartenance à A, selon la théorie choisie

58

5.2

Contexte d'extraction associé à la base de données textuelle (Livres

 
 

éléctroniques et mots clés)

68

5.3

Mots clés candidats à l'analyse et leurs supports respectifs

70

5.4

Dépendance des règles d'association

74

5.5

Intérêt des règles d'association

75

v

Avant propos

Avant de soumettre ce travail aux critiques de ceux qui sont épris du goût de la connaissance, nous tenons à remercier tous ceux qui, par leurs connaissances, nous ont apporté soutien, assistance et consolation durant notre parcours universitaire et nous ont prêté main forte pour la réalisation du présent travail.

Nos remerciements s'adressent à l'Eternel notre Dieu pour la grâce, la paix, la force nous accordées dès nos premiers pas sur le chemin de l'éducation jusqu'au jour où nous rédigeons ce travail. Que l'honneur, la magnificence et la gloire Lui appartiennent aux siècles des siècles, Amen!

Nos sentiments de profonde gratitude s'adressent au Professeur Kaninda Mu-sumbu pour nous avoir fait l'honneur de diriger ce travail.

Notre reconnaissance s'adresse à tous les professeurs, chefs des travaux et assistants de la faculté des sciences et en particulier à ceux du département des mathématiques et informatique, à savoir : Professeur Saint Jean Djungu, Professeur Bavueza Munsana Daniel, Professeur Ramadhani Issa, Professeur Mabela Matendo Rostin, Professeur Bukweli Kyemba Joseph Désiré, Professeur Ntumba Pele, Professeur Kalala Mutombo Franck, Professeur Yumba Nkasa, Professeur Lubala Toto Ruanaza, CT Lunda Mwakono, CT Balowayi Bondo Bernard, CT Omari Baba, CT Nkomba Tshola Norbert, Chargé des cours Kumakinga Mobimba Patrice, Chargé des cours KATOTO, CT Kumwimba Didier, CT Charles Kitenge, Ass Mathina di Mathina, Ass Bukasa Serge, Ass Mulumba Bidwaya, Ass Bula Axel, Ass Mayuke Jean-Paul, Ass Tshidingi Matthieu, Ass Tailoshi Mateso Brigitte, Chargé des cours Marc Songolo pour nous avoir donné la formation et la connaissance nécessaires.

Nos remerciements s'adressent également à nos amis et connaissances, neveux et nièces, cousins et cousines à savoir : Kishiko Cedrick, Kabuya Arsène, Faila Annie, Wasingya Héritier, Banza Ilunga Shoudelle, Nzaji Gabriel, Mukatshung Elvis, Mwenge Kestia, Mwilambwe Joyce,...Pour leurs affection, conseils et leurs soutien nous témoignés. Les amis nous sécurisent et nous réequilibrent. Les ennemis et les obstacles nous traumatisent, mais nous poussent à remettre constamment notre vie et notre univers en question et nous font comprendre que « La vie n'est jamais un acquis. »

Enfin, que toute personne dont le nom ne figure pas dans ce travail, trouve ici l'expression de notre sincère reconnaissance.

Plaise à la divine bonté de vous accorder ses belles et solides récompenses que recevront les justes dans l'au-delà.

SUNGU NGOY Pascal

1

Chapitre 1

Introduction

L

E 4 mai 1980, alors que le pays s'appelait encore Zaïre, le Pape Jean-Paul II, alors aux affaires au Vatican, s'adressait aux intellectuels de la République Démocratique du Congo et encourageait les universitaires à poursuivre les objectifs de science et de conscience qui sont l'apanage de toute formation universitaire.

Nous voilà 35 ans plus tard, en train d'accomplir ce devoir noble que nous ont légué nos parents.

Une des caractéristiques du travail universitaire et du monde intellectuel est que, plus qu'ailleurs peut-être, chacun se trouve constamment renvoyé à sa propre responsabilité dans l'orientation qu'il donne à son travail. Le nôtre, vous présente deux facettes : la première est tournée vers les mathématiques et la seconde vers l'intelligence artificielle. Ces facettes sont complémentaires et constituent les deux ailes dont nous avons besoin pour voler vers la connaissance.

1.1 Choix et intérêt du sujet

Il est un fait que les mathématiques sont de plus en plus présentes en science et interviennent dans beaucoup de domaines. Si la forte composante mathématique dans plusieurs domaines n'est un secret pour personne, nombre de gens découvrent avec effroi qu'ils devraient « faire les maths » dans le cadre de leurs études. Au-delà de ces possibles déceptions, le caractère abstrait des mathématiques les rend hostiles à beaucoup de personnes, opposant ainsi une résistance hermétique à la moindre équation. Alors, pourquoi servir les mathématiques à toutes les sauces jusque dans les domaines où on ne les attendaient pas a priori? Est-ce un phénomène de mode ou une réelle nécessité? En toute honnêteté, on ne peut pas exclure le phénomène de mode.

En effet, le caractère réputé difficile des mathématiques évoqué ci-dessus fait que celles-ci impressionnent et par là inspirent une certaine forme de respect : elles rendent tout de suite une étude plus sérieuse ou un chercheur plus savant. Ainsi il arrive que les mathématiques soient effectivement utilisées sans aucune nécessité particulière, simplement pour donner au discours une apparence plus scientifique. Au-delà de ce phénomène de mode, le but de ce travail est toutefois de convaincre que si les mathématiques sont de plus en plus utilisées, c'est aussi et surtout parce qu'elles sont réellement utiles à la démarche scientifique en général, et dans le domaine de fouille de données et la représentation des connaissances en particulier.

L'exploration des données pour en extraire des connaissances est une préoccupa-

2

tion constante de l'être humain car elle est une condition essentielle de son évolution. L'homme a toujours mémorisé sur des supports différents des informations qui lui ont permis d'inférer des lois. En effet, le développement des capacités de stockage et les vitesses de transmission des réseaux ont conduit ce dernier à accumuler de plus en plus de données. Certains experts estiment même que le volume des données double tous les ans. Ainsi, il a fallu une méthode pouvant traiter ces données et bien les structurer afin d'en extraire les connaissances indispensables. Le data mining en tant que méthode mais aussi en tant qu'art d'extraire les connaissances à partir d'une base de données utilise des outils et la structure de treillis s'est avérée être un outil adéquat en vue de permettre au data mining d'arriver à ses fins.

Quant à l'intérêt porté sur ce thème, trois aspects essentiels sont à relever :

1. Intérêt scientifique;

2. Intérêt personnel;

3. Intérêt social.

Sur le plan scientique, cette étude nous permet d'appréhender la notion de fouille de données textuelles en se servant des outils mathématiques qu'est la structure de treillis.

Sur le plan personnel, le thème sous étude nous permet de fouiller dans le profondeur de la science, les quelques notions sur les structures de treillis pouvant nous permettre, dans l'avenir, de représenter les connaissances qu'on aura extraites de nos bases de données géologiques.

Sur le plan social, notre travail constituera un outil pour des nombreux chercheurs qui effectueront des investigations analogues au notre pour leurs recherches à comprendre l'extraction de connaissances à partir des bases de données.

1.2 Problématique

La problématique est considérée comme une question maîtresse à laquelle nous allons répondre tout au long du travail.

Cependant, la seule question qu'il importe de ne pas se poser c'est : « pourquoi... ? ». Nous pouvons plutôt nous demander « comment une science aussi exacte et rigoureuse comme les mathématiques peut être utilisée pour comprendre l'extraction des connaissances à partir des bases de données textuelles ? » Le présent travail éclairera votre lanterne.

1.3 Hypothèse

L'hypothèse est l'ensemble de réponses provisoires posées sur un sujet d'étude lesquelles attendent une vérification.

En effet, l'Analyse Formelle des Concepts en tant que branche de la théorie des treillis permettant la génération des règles d'association à partir des concepts formels, s'est avéré être un cadre théorique intéressant pour la fouille de données. Introduite par Wille en 1980, elle est appliquée à l'acquisition automatique de connaissances, elle a donc pour objectif d'étudier le problème de l'extraction et de la représentation des connaissances sous l'angle de la théorie mathématique des treillis.

3

1.4 Etat de l'Art

Rien n'étant nouveau sous le soleil, pas même le sujet que nous traitons à ce jour, il est important de mentionner les travaux qui ont été réalisés avant nous. Cependant, nous évoquerons les travaux réalisés par:

1. Karell Bertet portant sur La structure de treillis ainsi que ses contributions algorithmiques. Ses travaux portent sur la structure de treillis avec des contributions qui se situent à la fois sur un plan fondamental, avec des aspects structurels et algorithmiques des treillis, et sur un plan applicatif, avec l'étude de quelques usages de treillis pour de données images.[1]

2. Yannick Toussaint lui, nous a présenté Les méthodes symboliques pour la construction d'ontologies et l'annotation sémantique guidée par les connaissances appliquées à la fouille de textes. Dans cette thèse, il construit une ontologie à partir d'une base de données textuelles, en nous montrant que la construction de cette ontologie depend à la fois du domaine et de la tâche à laquelle cette ontologie est déstinée.[11]

Pour ce qui nous concerne, nous avons étudié l'impact de la structure de treillis dans le domaine de data mining en considérant une base de données constituées des documents éléctroniques et nous avons extrait mais aussi représenté ces connaissances à l'aide de cette théorie mathématique de treillis.

1.5 Méthodes et techniques de recherche

Pour bien effectuer notre recherche, nous avons utlisé l'Analyse Formelle des Concepts qui est une branche de la théorie de treillis nous permettant d'extraire les connaissances de manière automatique à partir d'une base de donnée avec un outil appelé règles d'association.

1.6 Délimitation du sujet

Dans ce sujet, il sera question de montrer l'utilisation des outils mathématiques, les treillis, en extraction et représentation des connaissances en utilisant les règles d'associations. Par la suite, nous allons générer un treillis associé aux connaissances extraites de la base de données et nous allons éventuellement interpréter ces résultats en se basant sur quelques indices stastiques associés aux règles d'association : le support, la confiance,...

En revanche, nous ne vous présenterons pas un logiciel approprié capable d'ex-traire et de représenter ces connaissances. Cela fera l'objet de nos travaux ultérieurs.

4

1.7 Division du travail

Notre travail est subdivisé de la manière suivante :

Le premier chapitre est consacré à l'introduction afin de présenter le travail de manière sommaire. Le deuxieme chapitre traite de la structure de treillis qui constitue même la théorie mathématique sur laquelle portera notre étude. Dans le souci de rendre cette étude plus sérieuse, afin, non seulement de réveiller la curiosité, mais aussi d'attirer l'attention des « non boréliens » ou « non matheux », nous présenterons, en plus, un aspect algorithmique des treillis. Tel est l'objet du troisième chapitre.

Les structures mathématiques, y compris les treillis, étant, cependant, des notions non concrètes, il sera important de les utiliser dans un domaine concret afin de les rendre plus « palpables». C'est ainsi que nous consacrerons tout un chapitre qui sera intitulé Fouille de données et navigation dans un treillis.

Le data mining est cet art d'extraire des connaissances à partir de données, lesquelles données auront besoin d'être traitées mais aussi représentées à des fins soit de prédiction, soit de description. En effet, pour manipuler ces connaissances, les notions sur les modèles de représentation des connaissances reposant essentiellement sur des théories issues de la logique sont nécessaires. C'est dans ce cadre que, dans notre cinquième chapitre, nous appliquerons les structures vues au deuxième chapitre dans la représentation de ces connaissances et la recherche d'information. Par la suite, nous vous présenterons, une conclusion générale de ce qu'aura été notre travail ainsi que nos perspectives dans ce domaine.

Première partie

5

Cadre conceptuel et théorique

6

Chapitre 2

Généralités sur la théorie des treillis

C

E chapitre a pour but d'introduire les éléments de base de la théorie des treillis, et s'organise de la manière suivante : La section 2.1 présente un bref historique de la théorie de treillis. La section 2.2 pose les définitions algébrique et ordinale d'un treillis qui introduisent toutes deux la notion de borne superieure et borne inferieure (section 2.2.1). La théorie des treillis repose en partie sur l'existence d'éléments particuliers d'un treillis que sont ses éléments irréductibles qui décrivent la structure même du treillis, et servent à en définir ses générateurs minimaux (section 2.2.2). C'est sur la base des éléments irréductibles que se définissent des représentations d'un treillis qui contiennent l'information nécessaire à sa reconstruction. Il sera introduit également, dans cette section, la table d'un treillis ainsi que son graphe de dépendance (section 2.2.3)

La section 2.3 introduit la représentation d'un treillis sous forme ensembliste par une famille de parties d'un ensemble S, stable par intersection et contenant S lui-même. Cette représentation permet ainsi de manipuler de façon équivalente un treillis sous sa forme algébrique, ordinale ou ensembliste, car tout treillis est représentable par un treillis de fermés (section 2.3.1). Un treillis de fermés est classiquement associé à un système de fermeture, ensemble muni d'un opérateur de fermeture, et l'apport principal de cette représentation ensembliste reside dans le lien unissant treillis et système de fermeture (section 2.3.2). En effet, tout treillis étant représentable par un treillis de fermés, il l'est également par un système de fermeture.

Le système de fermeture étant un ensemble muni d'un opérateur de fermeture est utilisé, non seulement dans le treillis des concepts (section 2.4.1) mais aussi dans le treillis de Galois (section 2.4.2) qui est présenté comme une généralisation du treillis des concepts à des données plus complexes pour lesquelles il existe une connexion de Galois. Ce deux notions réunit feront l'objet de la section 2.4.

2.1 Origine de la théorie des treillis

La notion de treillis définie comme une structure algébrique munie de deux opérateurs appelés borne inférieur et borne supérieur a été introduit par Dedekind et Ernest Schöder, puis oubliée. Elle a été redécouverte et développée au 20e siècle sous diverses formes et terminologies entre 1928 et 1936 dans les travaux de Merger, Klein, Stone, Garrett Birkhoff, Oystein Öre ou encore Von Newman. L'introduction d'un treillis sous forme ordinale, structure ordonnée définie par l'existence d'élé-

7

ments particuliers appelés bornes superieures et inferieures, trouve son origine dans les axiomatiques des treillis booléens dues à Pierce en 1880 ou à Huntington. Le terme de treillis a, quant à lui, été proposé par Birkhoff lors du premier symposium sur la structure de treillis en 1938, pour être finalement repris dans son ouvrage de référence « G. Birkhoff. Lattice theory. American Mathematical society, 1st edition, 1967 ». De nombreux ouvrages sur la théorie de treillis portent sur la définition ordinale, en particulier celui de Davey et Priestley ou encore de Grätzer.[2]

Un resultat fondamental de la théorie des treillis se constitue, selon Karell Ber-tet[1], autour d'un résultat principal qui établit que tout treillis fini est isomorphe au treillis de Galois ou treillis de concepts de sa table. Barbut et Monjardet introduisent ainsi le terme de treillis de Galois, alors que le terme de correspondance de Galois a quant à lui été introduit par Öre en 1944. Plusieurs travaux font apparaître la notion d'éléments irréductibles d'un treillis qui permettent par exemple de caractériser certaines classes de treillis, ou encore d'en concevoir des représentations compactes du treillis.

Le treillis des concepts a été introduit dans les années 1980 par Wille dans le cadre de l'Analyse Formelle des Concepts( AFC) avec un ouvrage de référence dantant de 1999, « Formal Concept Analysis, Mathematical foundations. Spriger Verlag, Berlin, 1999 ». L'AFC est une approche à la représentation des connaissances en pleine emérgence dans les années 90 qui définit le treillis des concepts à partir de données binaires de types Objet x attributs. L'émergence du treillis des concepts ces dernieres années s'explique à la fois par la part grandissante de l'informatique dans la plupart des champs disciplinaires, ce qui conduit à la production de données en quantité de plus en plus importante ; mais également par la recente montée en puissance des ordinateurs qui, bien que la taille du treillis puisse être exponentielle en fonction des données dans le pire des cas, rend possible le développement d'un grand nombre d'applications le concernant.[1]

2.2 Treillis ordinale et treillis algébrique 2.2.1 Définitions algébrique et ordinale d'un treillis

On appelle treillis ou lattis ou encore ensemble réticulé, un ensemble partiellement ordonné dans lequel, pour toute paire d'éléments, existent une borne inférieure et une borne supérieure[4]. On trouve, également, dans la littérature deux autres définitions d'un treillis : Une définition algébrique et une définition ordinale. Ces définitions introduisent toutes deux la notion de borne supérieure (ou supremum) et de borne inferieure (ou infimum) alors qu'il s'agit d'opérateurs binaires dans la définition algébrique, ce sont des éléments particuliers dans la définition ordinale.[1]

Définition 1 (Définition algébrique)

Un treillis ou encore une algèbre de treillis est un triplet L = (S, V, ?) ou V et ? sont deux opérateurs binaires sur l'ensemble S qui vérifient les propriétés suivantes :

- Associativité : Pour tout x, y, z E S, (x V y) V z = x V (y V z) et (x ? y) ? z = x ? (y ? z).

- Commutativité : Pour tout x, y E S, x V y = y V x et x ? y = y ? x

- Idempotence : Pour tout x E S, x V x = x = x ? x

8

- Loi d'absorption : Pour tout x, y E S, x V (x ? y) = x = x ? (x V y)[1] Définition 2 (Définition ordinale)

Un treillis est une paire L = (S,<) où < est une relation d'ordre sur l'ensemble S, c'est à dire une relation binaire qui vérifie les proprietés suivantes :

- Réflexivité : Pour tout x E S, on a xRx.

- Antisymetrie : Pour tout x, y E S, xRy et yRx impliquent x = y.

- Transitivité : Pour tout x, y, z E S, xRy et yRz impliquent xRz.[1][3]

Un ensemble sur lequel est défini une relation d'ordre (partiel ou total) est dit (partiellement ou totalement) ordonné.

Considérons un ensemble S partiellement ordonné par la relation < (être inférieur ou égal à) et une partie X de cet ensemble[4] ;

Définition 3 Minorant (Majorant) :

Un élément m(M) de S qui est inférieur (supérieur) ou égal à tout élément x de X est un minorant (majorant) de X.

Définition 4 Elément maximal (minimal) :

Un élément noté T(1) de X, tel qu'il n'existe pas d'éléments de X supérieur (inférieur) à T(1) est un élément maximal (minimal) de X.

Définition 5 Plus grand (petit) élément :

Le plus grand (petit) élément E(e) ou encore le maximum (minimum) de X est l'élément de X tel que pour tout x E X, E > x(e < x).

Définition 6 Borne supérieure (inférieure) :

La borne supérieure (inférieure) de X Ç S notée VX (?X) ou le supremum (infimum) de X noté sup(X) (inf(X) ) est le plus petit (grand) élément de l'ensemble des majorants (minorants) de X. Les bornes inférieure et supérieure entre x et y notée respectivement par x ? y et x V y se définissent de la même manière que pour une partie X Ç S

Définition 7 Elément universel (nul) :

L'élément universel (nul) de S est le plus grand (petit) élément de S. Exemple 1

Soit S = {1, 2, 3, 5, 10, 20, 30} un ensemble partiellement ordonné par la relation x||y (x divise y).

N.B : x||y peut s'interpréter comme x < y et x|y comme x < y.

1. Prenons X = {2, 3,5, 10}

Il existe un majorant de X qui vaut 30 et un minorant qui vaut 1, un élément maximal : 10, trois élément minimaux : 2, 3, 5 ni plus grand élément, ni plus petit élément de X. La borne supérieure de X est 30 et la borne inférieure vaut 1. S

9

n'admet pas d'élément universel, mais un élément nul : 1.

2. Prenons maintenant X = {2, 5,10}

X compte 3 majorants : 10, 20, 30, un minorant : 1, un élément maximal : 10, deux éléments minimaux : 2 et 5, un plus grand élément : 10, pas de plus petit élément. La borne supérieure de X est 10 et la borne inférieure est 1.

Pour une partie réduite à deux éléments {x, y}, d'un ensemble ordonné, il peut exister une borne inférieure, une borne supérieure. Lorsque seule l'existence de la borne inférieure est vérifiée, on parle d'inf-demi-treillis. Un sup-demi-treillis est défini dans le cas dual où seule l'existence d'une borne supérieure est vérifiée. Un treilis est donc à la fois un inf-demi-treillis et un sup-demi-treillis[1].

Définition 8 (Relation d'ordre strict) :

Une relation d'ordre strict notée < est une relation vérifiant les propriétés suivantes :

- Irréflexive : Pour tout x E S, (x, x) E6 R.

- Asymétrique : Pour tout x, y E S, (x, y) E R implique (y, x) E6 R.

- Transitive : Pour tout x, y, z E S, (x, y) E R et (y, z) E R = (x, z) E R.[5]

Définition 9 (Relation de couverture) :

On dit qu'un couple (x, y) E X x X avec X C_ S est une couverture ou que y couvre x (y est successeur immédiat de x) ou encore x est couvert par y (x est prédécesseur immédiat de y), s'il n'existe pas z tel que x < z < y lorsque x < y. Elle est notée par "-<" et elle se déduit de la relation d'ordre en supprimant les relations de réflexivité et de transitivité[6].

Définition 10 (Diagramme de Hasse) :

La représentation graphique d'un treillis s'exprime à l'aide d'un diagramme, appelé diagramme de Hasse, dans lequel les noeuds correspondent aux éléments de l'ensemble et les arcs aux relations de couverture (successeurs et prédécesseurs immédiats) entre ces noeuds.

Le plus souvent, Relation binaire et Graphe orienté simple (C'est-à-dire un graphe sans arcs multiples) s'identifient où chaque élément est représenté par un sommet du graphe, et où la relation entre deux éléments x et y est représentée par un arc du graphe entre le sommet x et le sommet y. Le diagramme de Hasse, tel que décrit ci-haut, est une représentation proche de la représentation habituelle d'un graphe ; les orientations des arcs ne sont pas toujours représentées parce qu'elles peuvent se déduire du positionement des noeuds. Ainsi il permet de ne pas surcharger le dessin pour faciliter une meilleure lisibilité[1].

Exemple 2

Considérons, à titre d'exemple, les diviseurs de 30 : {1, 2, 3, 5, 6,10,15, 30} ordonnés par la relation x divise y[4]. Ces éléments forment un treillis dont le diagramme de Hasse est donné par la figure Figure 2.1.

On peut vérifier que toute paire d'éléments admet une borne inférieure(p.g.c.d) et une borne supérieure(p.p.c.m). Ainsi :

- 5 V 6 = 5 x 6 = 30; 5 ? 6 = 1; 6 V 15 = 5 x 3 x 2 = 30; 6 ? 5 = 3; etc. L'élément

10

FIGURE 2.1 - Exemple de treillis universel de ce treillis est 30 et l'élément nul est 1.

Définition 11 (Treillis distributif) :

Un treillis est distributif si V et ? verifient la proprieté de distributivité : Pout tout x, y, z E S, x V (y ? z) = (x V y) ? (x V z).[5]

Définition 12 (Treillis complémenté) :

Un treillis est complémenté si tout élément x E S admet au moins un complément, c'est-à-dire un élément x' E S tel que x V x' = T (élément maximal) et x ? x' = 1 (élément minimal)[1].

Définition 13 (Treillis V-Complémenté) :

Un treillis est V-Complémenté si pour tout élément x E S, il existe un V-complément (c'est-à-dire un élément x' E S tel que x V x' = T). Un treillis ?-complémenté est défini dans le cas dual[1].

Définition 14 (Treillis booléen) :

Un treillis est booléen s'il est à la fois distributif et compléménté[1]. Exemple 3

Un exemple classique d'un treillis distributif est fourni à la figure 2.2(a). La relation d'ordre est la relation « ... divise... ». L'ensemble P(S) des parties d'un ensemble S muni de la relation d'inclusion est quant à lui un exemple classique de treillis booleen (figure 2.2(b))[1]

2.2.2 Irréductibles et générateurs minimaux d'un treillis

Soient x ? y et x V y les bornes inférieur et supérieur respectivement. Un élément d'un treillis est dit réductible s'il est résultat de x ? y ou x V y. Dans le cas contraire, il sera dit irréductible.

11

FIGURE 2.2 - Exemple de treillis distributif et treillis booléen.

Définition 15 (Elements irréductibles)

Soit L = (S, ) un treillis.

- Un élément j E S est appelé sup-réductible s'il existe dans S des éléments x1 et x2 tel que j = x1 V x2 avec x1 < x et x2 < x. Un élément x de S ne possédant pas de décomposition de cette forme est dit sup-irréductible.

- Dualement, un élément in E S est appelé inf-réductible s'il existe dans S des éléments x1 et x2 tel que j = x1 ? x2 avec x1 > x et x2 > x. Un élément x de S ne possédant pas de décomposition de cette forme est dit inf-irréductible. L'ensemble des sup-irréductible et celui des inf-irréductible du treillis L est noté respectivement par JL et ML[3].

Proposition 1

Soit L = (S, ) un treillis.

- Un élément j E S est un sup-irréductible, si et seulement si j couvre un seul élément dans le diagramme de Hasse.

- Un élément in E S est un inf-irréductible, si et seulement si in est couvert par un seul élément dans le diagramme de Hasse.

Définition 16 (Treillis atomistique) :

Un treillis est dit atomistique lorsque tous les sup-irréductibles sont des atomes (un atome est un élément qui couvre l'élément minimal I).[3]

Définition 17 (Treillis co-atomistique) :

Un treillis est dit co-atomistique lorsque tous les inf-irréductibles sont des co-atomes (un co-atome est un élément qui est couvert par l'élément maximal T). Tout élément x E S d'un treillis L = (S, ) est la borne supérieure de l'ensemble de ses prédécesseurs, ainsi que la borne inférieure de l'ensemble de ses successeurs. La

12

FIGURE 2.3 - Autre exemple de treillis

définition latticielle permet d'établir qu'il est possible de réduire ces ensembles aux seuls prédécesseurs sup-irréductibles, et un successeurs inf-irréductibles[3] :

x = ?Jx = ?{y sup-irréductible tel que y = x} (2.1)

x = ?Mx = ?{y inf-irréductible tel que y = x} (2.2)

Par conséquent, les ensembles d'éléments irréductibles peuvent nous permettre de reconstruire le treillis dans sa globalité par reconstruction successives de bornes supérieures ou de bornes inférieures en utilisant respectivement les sup-irréductibles et les inf-irréductibles.[1]

Exemple 3

Considérons la figure 2.3. Nous constatons que seul six éléments possèdent un seul arc entrant, et forment ainsi l'ensemble des sup-irréductibles alors que les inf-irrédutibles, caractérisés, quant à eux, par un seul arc sortant sont au nombre de huit:

J = {b, f, e, a, c, d} (2.3)

M = {b,l,m,n,d,k,i,c} (2.4)

Quatre sup-irréductibles {b, f, e, a} sont des atomes et que trois inf-irréductibles {l, i, c} sont des co-atomes. Ces éléments irréductibles sont utilisés dans le treillis de la figure 2.4 où dans le noeud de chaque élément x sont precisés l'ensemble Jx des sup-irréductibles inférieurs ou égaux à x ainsi que l'ensemble Mx des inf-irréductibles supérieurs ou égaux à x. Les générateurs minimaux de chaque élément sont, quant à eux, donnés par la table 2.1. On peut ainsi observer que chaque sup-irréductible est son propre générateur minimal, mais aussi que tous les éléments, excepté l'élément maximal T, ont pour unique générateur minimal l'ensemble de leurs prédécesseurs sup-irréductibles.[1]

TABLE 2.1 - Générateurs minimaux des éléments du treillis de la figure 2.3

13

FIGURE 2.4 - Treillis de la figure 2.3 où sont precisés, pour chaque noeud de x, les ensembles Jx et Mx

14

Définition 18 (Générateur minimal)

Soit L = (S,=) un treillis et x ? S un élément du treillis. Un générateur minimal de x est un sous ensemble B de Jx tel que x = ?B et qui soit minimal au sens de l'inclusion, c'est-à-dire pour tout A ? B, on a x < ?A. La famille âx des générateurs minimaux de x se définit par :[6]

âx = {B ? Jx : x = ?B et x < ?A pour tout A ? B} (2.5)

Définition 19 (Table et graphe de dépendance d'un treillis)

La notion d'éléments irréductibles d'un treillis permet de concevoir des représentations compactes du treillis entre autre la représentation par une table composée en colonne par des sup-irréductibles et en ligne par des inf-irréductibles. Il existe, cependant, une différence entre une table binaire d'un treillis et une table complète.[1]

La table (complète) d'un treillis se définit à partir des relations flèches qui parti-tionnent les différents liens possibles entre un sup-irréductible et un inf-irréductible à l'aide de relations binaires définies sur JL ×ML. Nous avons entre autre, la relation de comparabilité = qui permet d'établir une première partition de JL × ML en deux parties notées P= et P6= définit par :

P= = {(j,m) ? JL × ML : j = m} (2.6)

P6= = {(j,m) ? JL × ML : j =6 m} (2.7)
Définition 20 (Relations flèches)

Soit L = (S,=) un treillis, j ? JL et m ? ML. Une relation flèche est définit comme suit[1] :

- j ? m si j =6 m et j < m+(unique successeur, dans le diagramme de Hasse, pour tout m ? ML).

- j ? m si j =6 m et j- < m avec j- unique prédécesseur pour tout j ? LL. Notons que les relations flèches (j ? m et j ? m ) affinent les cas où j et m ne sont pas comparables. C'est-à-dire, de cette relation d'incomparabilité, il en résulte quatre autres combinaisons possibles qui permet de partitionner l'ensemble de paires (j, m) ? P6= en quatre parties notées P?, P?, Pl, P? définit par :

P? = {(j,m) ? JL × ML : j ? m et j ?6m} (2.8)

P? = {(j,m) ? JL × ML : j ?6m et j ? m} (2.9)

Pl = {(j, m) ? JL × ML : j ? m et j ? m} (2.10)

P? = {(j,m) ? JL × ML : j ?6m et j ?6m} (2.11)

La table d'un treillis se définit comme étant une représentation tabulaire de ce partionnement.

meture se sont avérées fondamentales pour plusieurs domaines de l'informatique : Base de données, Analyses formelles de concepts.

15

TABLE 2.2 - Table du treillis de la figure 2.3 Définition 21 (Table d'un treillis) :

La table T d'un treillis L = (S, <) est composée des sup-irréductibles qui apparaissent en colonne et des inf-irréductibles qui apparaissent en ligne. Ainsi pour m E ML et j E JL, la table T[m, j] contient x, t, 1,, $ ou o selon que (m, j) appartienne à P<, Pt, P~, P$ ou Po(cf table 2.2).

Il vient que la table binaire se définit juste à partir d'une seule partition composée de deux parties P< et Pg T[m, j] contient x si (m, j) E P< et rien dans le cas contraire, c'est-à-dire le cas où (m, j) E Pg

Notons que lorsque la table (complète) possède exactement une double flèche sur chacune de ses lignes et colonnes, alors on parle d'un treillis distributif. Un treillis atomistique se caractérise quant lui par l'absence de flèche t dans sa table, alors qu'un treillis co-atomistique se caractérise par l'absence de flèche 1,. Il en découle que la table d'un treillis booléen, qui en revanche est à la fois distributif, atomistique et co-atomistique se carastérise par une unique double flèche $ sur chacune de ses lignes et colonnes, ainsi que par l'absence de flèches simples t et 1,.[1]

Définition 22 (Graphe de dépendance) :

Le graphe de dépendance se définit pour les sup-irréductibles sur la base de la relation de dépendance. Soit L = (S, <) un treillis, le graphe de dépendance du treillis L est un graphe valué G = (JL, 8, w) tel que :

- 8 relation de dépendance définie sur JL par j8j'. Alors 8 est une relation de dépendance s'il existe un élément de l'ensemble S qui ne majore pas j et j' éléménts de JL, c'est-à-dire s'il existe x E S tel que j <6 x, j' <6 x et j < j' V x ;

- w une valuation des arcs définie pour chaque relation j8j' de tel sorte que l'arc (j, j') peut être valué par les générateur minimaux de x, c'est-à-dire les parties de l'ensemble Jx défini pour x :[5]

Jx = {j < x tel que j E JL}

2.3 Treillis de fermés et système de fermeture

Comme la notion de treillis, les familles de Moore, dites aussi systèmes de fer-

16

Soit S un ensemble stable. Une famille de Moore est une famille de parties fermées de l'ensemble S stable par intersection et contenant l'ensemble lui-même. Elle est aussi définie comme étant une partie de l'ensemble de parties de S vérifiant certaines propriétés(cf définition 8)[1].

2.3.1 Treillis de fermés

Toute famille F E P(S) munie de la relation d'inclusion est ordonnée, l'inclusion étant transitive, réflexive et antisymétrique. Il s'en suit que (F, Ç) est un treillis. On parle alors de treillis de fermés.

Définition 23 (Treillis de fermés) :

Un treillis de fermés sur un ensemble S est une paire (F, Ç) F est une famille sur S possèdant les propriétés d'une famille de Moore, encore appelée famille de fermés[3] :

- F contient S ;

- F est stable par intersection : Pour tout F, F' E F, on a F n F' E F

Exemple 4 :

Soit S = {a, b, c, d, e}. Alors F = {ø, a, b, d, de, bcd, abcde} est une famille de Moore sur l'ensemble S. Les ensembles finis, ici, sont notés comme des mots. Par exemple »de» designe la paire {d, e}

2.3.2 Système de fermeture

La propriété principale des treillis de fermés reside dans le lien qui les unissent au système de fermeture.

Définition 24 (Système de fermeture) :

Un système de fermeture est une paire C = (S, ?) S est un ensemble et ? un opérateur de fermeture, c'est-à-dire une application définie sur P(S) à la fois isotone, extensive et idempotente[3] :

- isotonie : Pour tout X, Y Ç S, X Ç Y = ?(X) Ç ?(Y ).

- extensivité : Pour tout X Ç S, X Ç ?(X).

- idempotence : Pour tout X Ç S, ?(?(X)) = ?(X).

Pour une partie X Ç S quelconque, ?(X) est appelée fermeture de X ou encore un fermé de C. L'ensemble de fermé forme une famille de Moore F :[1]

F = {?(X) : X Ç S} (2.12)

2.4 Treillis des concepts et treillis de Galois

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), les treillis de concepts formels (ou treillis de Galois) permet d'organiser l'information concernant des classes d'objets possédant des propriétés communes. Ces classes non

17

TABLE 2.3 - Exemple de contexte

disjointes sont aussi appelées concepts formels, hyper-rectangles ou ensembles fer-més[1].

2.4.1 Treillis des concepts

En analyse de données, l'analyse formelle des concepts pose le treillis des concepts comme espace de recherche sous-jacent à des données qui s'organisent sous forme d'un table binaire objets × attributs encore appélé contexte. Le treillis de concepts et un treillis dont les noeuds, appelés concepts sont composés à la fois d'un ensemble d'objets et un ensemble d'attributs.[11]

Définition 25 (Treillis des concepts)

Le treillis des concepts se définit pour une relation binaire R entre un ensemble O d'objets et un ensemble I d'attributs, encore appelés contexte[1]. Le treillis des concepts d'un contexte (O, I, R) est une paire (C, ) où :

- C est un ensemble de concepts définit sur P(O) × P(I) par :

(A,B) ? C ? A ? O,B ? I,B = á(A) et A = â(B)

avec

á(A) = {b ? I, aRb pour touta ? A}

â(B) = {a ? O, aRb pour toutb ? B}

- est une relation binaire définie sur l'ensemble des concepts C par, pour (A1,B1) et (A2,B2) ? C :

(A1, B1)(A2, B2) ? B1 ? B2 ? A1 ? A2 (2.13)

Lorsque le contexte est représenté sous forme d'une table, un concept correspond à un rectangle maximal, ou encore à une sous matrice première. Un contexte pourra être noté par (O, I, R) ou encore par (O, I, (á, â)) selon que l'on considère la relation binaire R entre O et I, ou, de façon équivalente, les deux applications á et â, l'une de O vers I, l'autre dans le sens contraire.[1][5]

18

FIGURE 2.5 - Treillis des concepts du contexte de la table 2.3 Exemple 5 :

Considérons comme exemple le contexte décrit par la table 2.3 définie par un ensemble d'objets {1, 2, 3, 4, 5, 6, 7, 8, 9} et un ensemble d'attributs {a, b, c, d, e, f, g, h}, ainsi que son treillis des concepts donné par la figure 2.6.[1] On constate que :

- L'objet numéro 9 possède tous les attributs, et par conséquent il apparaît dans tous les concepts;

- L'attibut g est partagé par tous les objets, il apparaît, ipso facto, dans tous les concepts;

- L'attribut h, quant à lui, est partagé par seulement 3, 4, 5 et 9, c'est-à-dire par les objets possédant à la fois l'attribut e et f. Par conséquent l'attribut h n'apparaît que dans les concepts contenant à la fois l'attribut e et f.

2.4.2 Treillis de Galois

Le treillis de Galois se définit à partir d'une correspondance de Galois entre deux ensembles qui elle-même définit deux opérateurs de fermetures sur chacun de deux ensembles.

Définition 26 (Treillis de Galois)

Un treillis de Galois se définit à partir d'une correspondance de Galois (á, 8) entre deux ensemble S et U où :[7]

- á est une application isotone de P(S) vers P(U) : X C_ Y = á(X) C_ á(Y ) ;

- 8 est une application antitone de P(U) vers P(S) : X C_ Y = 8(X) D 8(Y ) ;

- (8 o á) est une application extensive sur P(U) : X C_ U = X C_ (8 o á)(X) ;

- (á o 8) est une application extensive sur P(S) : X C_ S = X C_ (á o 8)(X). Les termes (8 o á) et (á o 8) sont les deux opérateurs de fermeture, l'un définit sur U et l'autre sur S.

19

Chapitre 3

Aspects algorithmiques des treillis

P

Rocédure de calcul bien définie qui prend en entrée une valeur ou un ensemble de valeurs, et qui donne en sortie une valeur ou un ensemble de valeurs. Un algorithme est donc une sequence d'étapes de calcul qui transforment l'entrée en sortie. La notion d'algorithme est intimement liée à la notion de complexité. En informatique, le mot compléxité recouvre en faite deux réalités :

· La compléxité des algorithmes :

C'est l'étude de l'efficacité comparéé des algorithmes. On mesure ainsi le temps et aussi l'espace nécessaire à un algorithme pour resoudre un problème.

· La compléxité des problèmes :

La compléxité des algorithmes a abouti à une classification des problèmes en fonction des performances des meilleurs algorithmes connus qui les resolvent. Ils en existent de trois sortes :

* La classe P se compose des problèmes qui sont résolubles en temps polynomial. Plus précisement, il existe des problèmes qui peuvent être résolus en temps O(n') pour une certaine constante k(n est la taille des données en entrée).

* La classe NP se compose des problèmes qui sont vérifiables en temps polynomial. Cela signifie : si l'on nous donne d'une façon ou d'une autre une solution certifiée, nous pouvons vérifier que cette solution est correcte en un temps qui est polynomial par rapport à la taille de l'entrée.

* La classe NPC encore appelée Classe NP- Complet. Un problème est dans la classe NPC s'il appartient à NP et s'il est aussi difficile que n'importe quel autre problème de NP.[8][10]

Les calculs à effectuer pour évaluer les temps d'exécution d'un algorithme peuvent parfois être longs et pénibles. Ainsi on aura recours à une approximation de ce temps de calcul, représentée par la notation O(·).

Soient f et g deux fonctions positives d'une même variable entière n. Avec n, la taille des données à traiter.

la fonction f est dite avoir un ordre de grandeur au plus égal à celui de la fonction g s'il existe un entier strictement positif k et un entier N tels que,

- Pour tout n = N, on ait |f(n)| = k|g(n)| c'est-à-dire que f(·) est toujours dominée par la fonction g(·), à une constante multiplicative fixée près;

- On écrira f = O(g) (notation de Landau).[9]

20

Dans ce chapitre, nous vous présenterons les quelques aspects algorithmiques qu'ils soient. En effet, il existe deux familles d'algorithmes de génération ou de contruction des treillis.

* Algorithmes incrémentaux Ce sont des algorithmes qui contruisent le treillis au fur et à mesure qu'on a connaissances des objets.

* Algorithmes non incrémentaux ce sont des algorithmes qui contruisent le treillis une fois que tous les objets sont connus.

3.1 Algorithme de construction du graphe de couverture d'un treillis

Nourine et Raynaud sont les concepteurs de cet algorithme non incrémental. Il a été conçu pour la construction et le calcul du graphe de couverture d'un treillis; il utilise une approche en deux étapes :[1]

* Génére la famille F représentée dans un arbre lexicographique.

* Calcule les relation de couverture des éléments de F

Première étape : L'algorithme calcule l'arbre lexicographique représenté par la famille F générée par la base B.

Soit X un ensemble, P un ordre total sur X et B une base composée par l'ensemble des parties de X. Désignons par F la famille générée par l'union des éléments de la

base B, avec;

U

F = {b, b E I/I ? B}

on dit aussi que B est un générateur de la famille F. Chaque élément de F est représenté par un couple (f, ã(f)) où;

ã(f) = {b E B/b ? f}

Il faut voir chaque constituant comme un mot de l'alphabet X ordonné dans l'ordre croissant.

Montrons maintenant comment construire cet arbre lexicographique à partir d'une base;

B = {b1,b2,...,bm}

* La racine correspond à F0 qui est un ensemble vide;

* A l'etape j c'est le calcul de la famille F fermée par l'union. Ce calcul se fait à partir de F -1 en utilisant la formule suivante :

F = F -1 u {f u b /f E F -1}; avec B = {b1,b2,...,b }

Ainsi l'algorithme de construction du graphe de couverture d'un treillis et le sui-

vant :[5]

Algorithme 1 Graphe de couverture d'un treillis;

Donnée : La base B

Résultat : Arbre lexicographique TF de F

Début F = {ø}; {La racine de TF}; ã(F) = {ø}

Pour chaque b E B faire

Pour f E F faire

f' = f u b

f» = f ? {b/b ? 0(f», f)} = f'

21

Si f' ?6 F alors

F = F ? {f'}

ã(f') = ã(f) ? b

ã(F) = ã(F) ? ã(f')

Fin si

Fin pour

Fin pour

Fin

Théorème 3.1 L'algorithme 1 calcule l'arbre lexicographique de la famille F générée

par la base B en O((|X| + |B|) * |B| * |F|) étapes.

Preuve La première instruction dans la deuxième boucle Pour ainsi que la deuxième

instruction dans Si...alors sont faites en O(|X|+|B|) étapes; l'instruction Si...alors

vérifie si f' est dans l'arbre ; sinon elle l'insère( première instruction du test). Elle

est donc implémentée en O(|F|). Ainsi la compléxité de la deuxième boucle Pour

vaut O((|X| + |B|) * |F|).

Il s'en suit que la première boucle Pour se répète |B| fois.D'où le résultat obtenu.

Deuxième étape Cette étape consiste à calculer le graphe de couverture G = (F, ?)

à partir de l'arbre lexicographique de la famille F générée par la base B ; et cela en

utilisant le théorème de couverture suivant :

Théorème 3.2 On définit ;

0(f', f) = ã(f')\ã(f);

et on note par ? la relation de couverture. Soient f et f' ? F tels que f ? f' alors :

f ? f' ? ?(b1, b2) ? 0(f', f), b1\f' = b2\f. Preuve Soient f et f' ? F tels que f ? f' alors f' peut s'ecrire :

f' = f ? {b/b ? 0(f',f)}

(1) Supposons que f soit couvert par f', montrons que pour tous les (b1, b2) ? 0(f', f) ; nous avons :

b1\f' = b2\f.

Supposons que b1\f' ?6 b2\f ; il vient que : f ? b1 = f» ? f' = f ? {b/b ? 0(f', f)} . Par conséquent :

f ? f» ? f'.

ce qui est en contradiction avec l'hypothèse selon laquelle f est couvert par f' ainsi :

b1\f' ? b2\f

De même b1\f' ? b2\f en utilisant le même raisonnement.

(2) Inversement, supposons que pour tout (b1, b2) ? 0(f', f) on a : b1\f' = b2\f. Soit f» ? F tel que f ? f» ? f' ce qui implique que ;

ã(f) ? ã(f») ? ã(f')

ainsi donc ;

22

ce qui implique que :

ã(f»)\ã(f) ? ã(f')\ã(f) = Ä(f', f)

Le corollaire suivant est une conséquence du théorème précédent : Corollaire 3.1 Soient f et f' ? F tels que ;

f ? f';

alors :

f ? f' ? ?f' = f ? b pour tout Ä(f', f);

Decrivons maintenant comment calculer le graphe de couverture G = (F, ?). Consi-derons la famille F généré par la base B utilisée dans l'algorithme 1. La strategie de cet algorithme consiste à calculer l'ensemble des éléments de couverture noté par Imsucc(f) pour chaque élément de la famille F. En clair f' ? F est candidat si f ? f' et f' peut être calculé par f' = f ? b pour certains b ? B\ã(f).

Posons ;

S(f) = {f ? b/b ? B\ã(f)}

Cet ensemble de candidats S(f) pour la couverture f, peut avoir des éléments redon-

dants, l'algorithme explore cet ensemble et décide que f' ? S est une couverture de

f si f' est trouvé |Ä(f', f)| fois dans S(f). Pour ce faire, nous calculons l'ensemble

S(f) en maintenant le nombre d'occurences de chaque élément f' dans le compteur

count(f'), ensuite pour chaque élément f' ? S, on vérifie si |Ä(f', f)| = count(f')

alors f' couvre f.

L'algorithme suivant construira le graphe de couverture de G = (F, ?), étant donné

l'arbre lexicographique TF de la famille F générée par la base B.[5]

Algorithme 2 Graphe de couverture de G = (F, ?)

Donnée Arbre lexicographique de F et de ã(F)

Résultat Listes d'adjacence des Imsucc du graphe de couverture du treillis (F, ?).

Début

Initialiser count(f) à 0 pour tout f ? F

Pour f ? F faire

S(f) = {f ? b/b ? B\ã(f)}

Pour b ? B\ã(f) faire

f' = f ? b

count(f') = count(f) + 1

Si |ã(f')| = count(f') + |ã(f)| faire

Imsucc(f) = Imsucc(f) ? {f'}

Fin si

Fin pour

réinitialiser count(f')

Fin pour

Fin

Théorème 3.3 L'algorithme 2 calcule les listes d'adjancence des Imsucc du graphe

de couverture pour le treillis (F, ?) en O((|X| + |B|)|B| * |F|) étapes.

Preuve L'algorithme 2 calcule le graphe de couverture du treillis (F, ?) par corol-

laire 3.1

Le calcul de |ã(f)| et |ã(f')| (l'instruction Si...alors) se fait en O(|X| + |B|) en

utilisant la recherche dans l'arbre lexicographique ; d'où la compléxité de la boucle

23

interne Pour est de O((|X| + |B|) * |B|).

Reinitialiser count pour tous les éléments calculés par la première et la deuxième instruction de la boucle interne Pour qui se fait en O(|F|). Il s'en suit que la compléxité de l'algorithme 2 est de O((|X| + |B|)|B| * |F|).[13]

Exemple 1

Soit X = {1, 2, 3, 4, 5} un ensemble et B une base composée par quelques parties

de X.

On désigne par F la famille générée par l'union des éléments de la base B, tel que

F = {UbEB /I C B}. Par abus d'écriture, on pose {1, ..., 5} = {12345}. On définit

B={x=245,y=1234,z=15}.

Appliquons l'algorithme 1 afin de générée la famille F représentée dans un arbre

lexicographique.

On pose ã(f) = {b ? B/b ? f}

1.F = {0} ; (la racine de l'arbre TF ) ; ã(F) = {0} ;

(a) Pour b = {245} et f = 0 ;

f'=fUb=0U{245}={245} ?6F ;

F = F U {f'} = {0} U {{245}} = {0,{245}};

ã(f') = ã(f) U b = {245} = x;

ã(F) = {0, {x}} ;

2.F = {0, {245}}, ã(F) = {0, {x}};

(a) Pour b = {1234} et f = 0 ; f' = f U b = {1234} ?6F ; F = {0, {245}, {1234}} ; ã(f') = ã(f) U b = {1234} = y ; ã(F) = {0, {x}, {y}} ;

(b) Pour b = {1234} et f = {245} ;

f' = f U b = {12345} ?6F ;

F = {0, {245}, {1234}, {12345}} ;

ã(f') = ã(f) U b = {12345} = xyz ;

ã(F) = {0, {x}, {y}, {xyz}} ;

3.F = {0, {245},{1234},{12345}}(F) = {0, {x}, {y}, {xyz}};

(a) Pour b = {15} et f = 0 ;

f' = f U b = {15} ?6F ;

F = {0, {245}, {1234}, {12345}, {15}} ;

ã(f') = ã(f) U b = {15} = z ;

ã(F) = {0, {x}, {y}, {xyz}, {z}} ;

(b) Pour b = {15} et f = {245} ;

f' = f U b = {1245} ?6F ;

F = {0, {245}, {1234}, {12345}, {15}, {1245}} ;

ã(f') = ã(f) U b = {1245} = xz ;

ã(F) = {0, {x}, {y}, {xyz}, {z}, {xz}} ;

(c) Pour b = {15} et f = {1234} ; f' = f U b = {12345} ? F ;

(d) Pour b = {15} et f = {12345} ;

f' = f U b = {12345} ? F ;

Finalement à partir de la base B = {x = 245, y = 1234, z = 15}, on obtient :

F = {0, {245}, {1234}, {12345}, {15}, {1245}}

24

FIGURE 3.1 - Arbre lexicographique de la famille F
`y(F) = {0, {x}, {y}, {xyz}, {z}, {xz}};

Ainsi nous obtenons l'arbre lexicographique de F présenté à la figure 3.1. Appliquons maintenant l'algorithme 2 qui consiste à calculer le graphe de couverture à partir de l'arbre lexicographique des familles ;

F = {0, {245}, {1234}, {12345}, {15}, {1245}}

et

`y(F) = {0, {x}, {y}, {xyz}, {z}, {xz}};

générée par la base ;

B={x=245,y=1234,z=15}.

Cet algorithme donne les listes d'adjacence des successeurs immédiats du graphe de couverture du treillis (F, Ç). Ainsi on démarre l'algorithme 2 par ;

count(f) = 0 ; pour tout f E F, on calcule ;

8(f) = {f U b/b E B\`y(f)};

1. f = 0; 8(f) = 8(0) = {0 U {245}, 0 U {1234}, 0 U {15}} = {{245}, {1234}, {15}} ; calcule de count(f') pour f' E 8(f)

(a) Pour f' = {245}, count(f') = count({245}) = 1;

A(f',f) = `y(f') \ `y(f) = {x} \ 0 = {x};

|A(f',f)| = 1 = |A(f',f)| = count(f') = 1;

(f, f') = (0, {245}) est une couverture ;

Imsucc(f) = Imsucc(0) = {{245}} ;

(b) Pour f' = {1234}, count(f') = count({1234}) = 1 ;

A(f', f) = `y(f') \ `y(f) = {y} \ 0 = {y} ;

|A(f', f)| = 1 = |A(f', f)| = count(f') = 1;

(f, f') = (0, {1234}) est une couverture ;

Imsucc(f) = Imsucc(0) = {{245}, {1234}} ;

(c) Pour f' = {15}, count(f') = count({15}) = 1; A(f', f) = `y(f') \ `y(f) = {z} \ 0 = {z} ;

|A(f',f)| = 1 = |A(f',f)| = count(f') = 1;

25

(f, f') = (0, {15}) est une couverture; Imsucc(f) = {{245}, {1234}, {15}} ; count(f') = 0;

2. f = {245}; S(f) = S({245}) = {{245} U {1234}, {245} U {15}} = {{12345},{1245}}; calcule de count(f') pour f' E S(f)

(a) Pour f' = {12345}, count(f') = count({12345}) = 1 + 1 = 2;

Ä(f', f) = -y(f') \ -y(f) = {xyz} \ {x} = {yz} ; |Ä(f', f)| = 2 = |Ä(f', f)| = count(f') ;

(f, f') = ({245}, {12345}) est une couverture;

(b) Pour f' = {1245}, count(f') = count({1245}) = 2 ;

Ä(f', f) = -y(f') \ -y(f) = {xz} \ {x} = {z} ; |Ä(f', f)| = 1 = |Ä(f', f)| =6 count(f') ;

(f, f') = ({245}, {1245}) n'est pas une couverture;

Imsucc(f) = Imsucc({245}) = {{1245}} ; count(f') = 0;

3. f = {1234}; S(f) = {{1234} U {245}, {1234} U {15}} = {12345} ;

calcule de count(f') pour f' E S(f)

(a) Pour f' = {12345}, count(f') = count({12345}) = 2 ;

Ä(f', f) = -y(f') \ -y(f) = {xyz} \ {y} = {xz} ;

|Ä(f',f)| = 2 = |Ä(f',f)| = count(f') = 2;

(f, f') = ({1234}, {12345}) est une couverture;

Imsucc(f) = Imsucc({1234}) = {{12345}} ;

count(f') = 0;

4. f = {12345}; S(f) = S({12345}) = 0; count(f') = 0

5. f = {15}; S(f) = S({15}) = {{15} U {245}, {15} U {1234}} = {{1245}, {12345}} ; calcule de count(f') pour f' E S(f)

(a) Pour f' = {1245}, count(f') = count({1245}) = 2 ;

Ä(f', f) = -y(f') \ -y(f) = {xz} \ {z} = {x} ; |Ä(f', f)| = 1 = |Ä(f', f)| = count(f') = 1;

(f, f') = ({15}, {1245}) n'est pas une couverture;

(b) Pour f' = {12345}, count(f') = count({12345}) = 2 ;

Ä(f', f) = -y(f') \ -y(f) = {xyz} \ {z} = {xy} ; |Ä(f', f)| = 2 = |Ä(f', f)| = count(f') ; (f, f') = ({15}, {12345}) est une couverture; Imsucc(f) = Imsucc({15}) = {{12345}} ;

count(f') = 0;

6. f = {1245}; S(f) = S({1245}) = {{1245} U {1234}} = {{12345}} ;

calcule de count(f') pour f' E S(f)

(a) Pour f' = {12345}, count(f') = count({12345}) = 2 + 1 = 3;

Ä(f', f) = -y(f') \ -y(f) = {xyz} \ {xz} = {y} ;

|Ä(f', f)| = 1 = |Ä(f', f)| = count(f') = 1;

(f, f') = ({1245}, {12345}) n'est pas une couverture;

On va récupèrer toutes les informations necessaires pour pouvoir déssiner le graphe

de couverture G = (F,=) du treillis.

Les couvertures (f, f') ou successeurs immédiats sont les suivants :

1.(0, {245}) est une couverture; Imsucc(0) = {{245}};

2.(0, {1234}) est une couverture; Imsucc(0) = {{245}, {1234}};

3.(0, {15}) est une couverture; Imsucc(0) = {{245}, {1234}, {15}};

26

FIGURE 3.2 - le graphe de couverture G = (F, Ç)

4. ({245}, {12345}) est une couverture; Imsucc({245}) = {{12345}};

5. ({1234}, {1245}) est une couverture; Imsucc({1234}) = {{1245}};

6. ({15}, {1245}) est une couverture; Imsucc({15}) = {{12345}};

7. ({12345}, {1245}) est une couverture; Imsucc({1245}) = {{12345}}; On récupère aussi F et ã(F) tels que :

F = {ø, {245}, {1234}, {12345}, {15}, {1245}}

et

ã(F) = {ø, {x}, {y}, {xyz}, {z}, {xz}};

Ainsi nous obtenons le graphe de couverture G = (F, Ç) presenté à la figure 3.2.

3.2 Algorithme de construction de treillis de concepts

Un concept étant un regroupement maximal d'objets possédant des caractéristiques communes, l'algorithme de construction de treillis de concepts construit un treillis dans lequel chaque concepts formel est décoré par l'ensemble de générateurs minimaux qui lui est associé. Les « input »sont représentés sous forme de contexte formel. Un contexte est représenté sous forme d'un tableau dont les objets X sont en lignes et les attributs Y en colonnes.[5]

3.2.1 Définitions

Définition 1 (Contexte d'extraction ou contexte formel)

Un contexte d'extraction ou formel est un triplet K = (X, Y, R) où X et Y sont respectivement l'ensemble d'objets et celui d'attributs et R Ç X X Y une relation binaire telle que ?(x, y) E R, y est un attribut de l'objet x.

Définition 2 (Contexte binaire)

Un contexte K = (X, Y, R) est dit binaire si les éléments de Y ont uniquement deux valeurs (0 ou 1) qui indique l'absence ou la présence de l'attribut concerné respectivement.

27

Définition 3 (Fermeture des ensembles)

Soient deux fonctions g et h qui nous serviront à calculer la fermeture des sous ensembles d'objets O et d'attributs A. Ainsi, les ensembles fermés sont définis comme suit :

O» = h(g(O))

A» = g(h(A))

Alors, un ensemble est dit fermé s'il est égal à sa fermeture.[4]

Définition 4 (Concept formel)

Un concept formel est une paire Ck = (O, A) avec O C X et A C Y tel que :

O = {x E X/Va E A, (x, a) E R} où O = h(A)

est l'extension ou objets couverts, elle est notée Ext(Ck).

A = {y E Y/Vo E O,(o,y) E R} où A = g(O)

est l'intention ou attributs partagés, elle est notée Int(Ck).[11] Définition 5 (Ordre sur les concepts)

Soient C1 = (O1, A1) et C2 = (O2, A2) deux concepts, une relation d'ordre notée « < »peut être définie sur ces deux concepts de la manière suivante :

(O1, A1) < (O2, A2) = O1 C O2 et A1 D A2

C1 < C2 = (O1, A1) est un sous-concept de (O2, A2) et
(O2, A2)est un sur-concept de(O1, A1).

Définition 6 (Ordre lexicographique)

La plupart des méthodes proposées dans les fouilles des données définissent un ordre total sur les itemsets ou sous ensemble d'attributs. Cet ordre total pouvant s'étendre en un ordre lexicographique, permet à la fois d'éviter des redondances des calculs en parcourant chaque itemset au plus une seule fois, mais également de stocker efficacement les itemsets dans des structures de données appropriées. Ainsi, on étend l'ordre total sur X en un ordre lexicographique comme suit :

Soient A, B deux sous-ensembles distincts d'un ensemble X totalement ordonné. On dit que A est inférieur lexicographiquement à B si le plus petit élément qui distingue A et B appartient à A. On note « A -<lex B »et on lit « A est inférieur lexicographiquement à B. »[5]

Définition 7 (Arbre lexicographique)

Soit une liste de mots ordonnée. Si l'ordre sur les mots est obtenu comme un ordre lexicographique à partir des composants des mots, alors on peut représenter un ensemble de mots en utilisant la structure d'arbre de recherche lexicographique.

Soit le dictionnaire constitué des mots suivants : AI, AIL, AILE, AINE, ALE, BAT, BAS ; où à chaque mot du dictionnaire on adjoindra un chemin de la racine à un noeud comme representé dans l'arbre lexicographique de la Figure 3.3 :[5]

28

FIGURE 3.3 - Arbre lexicographique associé au dictionnaire Définition 8 (Treillis de Galois)

La notion de treillis de Galois ou treillis de concepts est definie sur l'ensemble des concepts L

L = {(o, a) E P(X) x P(Y )/O = h(A), A = g(O)} muni de la relation d'ordre <. On le note T = (L, <).[1][11]

Définition 9 (Face)

Soit Ck = (O, A) un concept formel et soit predi(Ck) le ième prédécesseur immédiat de Ck. La ième face du concept formel Ck correspond à la différence entre son intention et l'intention de son ième prédécesseur. Soit p le nombre de prédécesseurs immédiats du concept formel Ck et FCk la famille des faces. La famille des faces du concept formel Ck est exprimée par la relation suivante[5] :

FCk = {A - Intent(predi(Ck))}, i E {1, ..., p}. Définition 10 (Bloqueur)

Soit G = {G1, ..., Gn} une famille de n ensembles, un bloqueur B de la famille de G est un ensemble où son intersection avec tout ensemble Gi E G est non vide.[12]

Définition 11 (Bloqueur minimal)

Un bloqueur B est dit minimal s'il n'existe pas B1 C B et VGi E G, B1f1Gi =6 0.[5] Définition 12 (Générateur minimal)

Soit Ck un concept formel et FCk sa famille de faces. L'ensemble G des générateurs minimaux associés à l'intention A du concept formel Ck, correspond aux bloqueurs minimaux associés à la famille de ses faces FCk.

D'une manière équivalente, soit Y un ensemble d'attribut, un itemset a C_ Y est appelé générateur minimal d'un concept formel Ck = (O, A), si et seulement si h(a) = A et , a1 C a tels que h(a1) = A.[5][12]

29

FIGURE 3.4 - Matrice decrivant la relation R du contexte K = (X, Y, R) Exemple 2

Soit une application permettant de calculer une correspondance de galois, un

concept et les opérateurs de fermeture à partir d'une matrice binaire (Figure 3.4)

générée par un contexte K = (X, Y, R)

X = {1,2,3,4,5,6,7} et Y = {a,b,c,d,e,f,g,h};

g({1,2,3,4}) = {a,b,c,d} et h({a,b,c,d}) = {1,2,3,4}

On constate que ({1, 2, 3, 4}, {a, b, c, d}) est un concept; alors que ({1, 2}, {e, f})

ne l'est pas parce que :

g({1, 2}) = {a, b, c, d, e, f} et h({e, f}) = {1, 2}

Si X = {2, 4, 5} alors g(X) = {a, b, d}

X» = {1, 2, 3,4, 5} = h(g(X))

Si X = {1,5} alors g(X) = {a,b,d,e,g}; X» = {1,3,5}

Si Y = {a}, alors h(Y ) = {1, 2, 3, 4, 5, 6, 7}; Y » = {a}

Si Y = {a,c}, alors h(Y ) = {1, 2, 3, 4, 6, 7}; Y » = {a,c}

Seuls les ensembles {a} et {a, c} sont fermés.

3.2.2 Algorithme Genall

L'algorithme « Genall »élaboré par Ben Tekaya et al. construit le treillis dans lequel chaque concept formel est décoré par l'ensemble de générateurs minimaux qui lui est associé. Les données d'entrées sont sous forme de contexte d'extraction et en sortie nous aurons l'arbre lexicographique de la famille F des concepts formels Ck, la liste ImmSucc des successeurs immédiats du concept Ck ainsi que la liste des générateurs minimaux du concept.[12]

1. Algorithme Genall

Entrée Le contexte d'extraction K = (X, Y, R)

Sortie Arbre lexicographique de F, ImmSucc, Liste - gen

Début

// Initialiser la famille des concepts à l'ensemble des attributs

2. F = (ø,Y )

3. Pour chaque tuple t ? K Faire

// Initialiser la liste de l'ensemble des concepts trouvés dans une itération

4. L = ø

30

5. Pour chaque concept Ck E F Faire

6. C.intent = Ck.intent f1 t.items

7. Si C.intent E6 F Alors // Nouveau concept

8. F=FUC

9. C.extent = Ck.extent U t.TID

10. C.ImmSucc = {t} U {Ck} \ {C}

11. L=LUC

12. Sinon

// Concept existant

13. C.extent = C.extent U Ck.extent U t.TID

14. Si C E6L Alors

15. L=LUC

16. Fin Si

17. C.LP = {t} U {Ck} \ {C} // Mise à jour de C.ImmmSucc

18. Pour chaque Pk E C.LP Faire

19. Pour chaque Succ E C.ImmSucc Faire

20. Compare - Concept(Succ, Pk)

21. Fin Pour

22. Fin Pour

23. Fin Si

24. Fin Pour

// déterminer l'ensemble des successeurs immédiats et les générateurs minimaux

25. Pour chaque concept Ck E L Faire

26. Ck.ImmSucc = Find - Succ(Ck, L)

27. Pour chaque Succ E Ck.ImmSucc Faire // Calcul de la face du successeur immédiat

28. face = Succ \ Ck

29. Pour chaque facek E Succ.liste - face Faire

30. Succ.liste - face = Compare - Face(face, facek)

31. Fin Pour

32. Fin Pour

33. Fin Pour

34. Fin Pour Fin

Sont presentés dans la table 3.1, les notations utilisées dans l'algorithme GE-NALL Cet algorithme est scindé deux partie : D'une part il génère les concepts formels et de l'autre, il raffine la liste des successeurs immédiats et détermine les générateurs minimaux.[5]

31

TABLE 3.1 - Notation utilisée dans l'algorithme GENALL Génération des concepts formels

Cette génération est montrée à partir de la ligne 4 jusqu'à la ligne 22. Dans cette étape, nous commençons par initialiser la liste L avec l'ensemble vide (ligne 4). Cette liste sera utile pour la mise à jour de l'ensemble des successeurs immédiats de chaque concept formel trouvé dans une itération.

Pour calculer l'ensemble des concepts formels, nous effectuons une intersection entre l'intension de chaque concept formel de la famille F et chaque transaction de la base de données. Il en résulte deux cas:

1. L'intention n'existe pas dans la famille F : Dans ce cas, un nouveau concept formel est trouvé et doit être ajouté à la famille F. Ensuite l'exten-sion du concept est calculée (ligne 9). Les successeurs immédiats potentiels de ce nouveau concept formel sont alors initialisés avec les concepts formels utilisés(ligne 10). En effet, pour déterminer le successeur immédiat potentiel d'un concept formel, nous devrions distinguer deux cas particuliers :

- Si le concept formel produit est égal à la transaction, alors seul le concept formel utilisé dans cette intersection peut être un successeur immédiat. En effet un concept formel ne peut pas être égal à son successeur immédiat;

- Sinon la transaction et le concept formel sont considérés comme successeurs immédiats potentiels du concept formel.

Ensuite, ce nouveau concept formel est ajouté à la liste L(ligne 11).

2. L'intention existe déjà dans la famille F : Dans ce cas l'extension du concept formel (ligne 13) doit être mise à jour, et nous vérifions si le concept existe déjà dans la liste L (14-15). Le but étant de mettre à jour la liste des successeurs immédiats ImmSucc du concept formel, et étant donné que nous maintenons, pour chaque concept formel, une liste ImmSucc, nous allons construire une liste LP devant contenir les concepts formels utilisés. Cette liste est nécessaire pour pouvoir faire les comparaisons et mettre à jour la liste des ImmSucc. En effet pour chaque élément dans LP et pour chaque élément dans la liste des ImmSucc, nous examinons l'inclusion de ces concepts formels en utilisant la fonction Compare-concept(ligne 20). Cette fonction est appliquée

32

pour mettre à jour la liste ImmSucc des concepts formels considérés. Ainsi cette liste ne peut subir des modifications que dans les deux cas suivants :

(a) L'élément de LP est plus petit (en terme d'inclusion) par rapport à un élément de ImmSucc. Dans ce cas, l'ancien successeur sera remplacé par le nouveau successeur.

(b) les deux concepts sont incomparables : un nouveau successeur sera alors ajouté à la liste ImmSucc du concept formel en considération.

Raffinement de la liste des successeurs immédiats et la détermination des généateurs minimaux

Les concepts formels trouvés dans une itération, représentent une branche du treillis, cela veut dire que pour chaque concept formel (excepté le plus grand), nous trouvons un autre concept formel calculé dans cette même itération, qui le couvre. Pour cela, nous parcourons la liste L des concepts formels trouvés dans l'itération et pour chacun des concepts de la liste L, nous faisons appel à la fonction Find - Succ (ligne 26). Cette fonction est basée sur le fait qu'un concept formel de cardinalité n(c'est-à-dire la longueur de son intention est égal à n) soit au moins couvert par un concept de cardinalité (n + 1) ou plus. Pour cela, étant donné que la liste L est triée selon l'ordre croissant de la cadinalité de l'intention, nous cherchons pour chaque concept formel de cardinalité n, un concept formel qui le couvre dans la liste de cardinalité (n + 1). En cas de défaut, nous passons à la cardinalité (n + 2), et ainsi de suite jusqu'à ce que nous trouvons un concept qui le couvre. Par la suite, nous allons comparer ces différents concepts formels pour une mise à jour de la liste de ImmSucc.

Une fois que la liste des successeurs immédiats du concept formel courant est établie, nous parcourons cette liste et pour chaque successeur immédiat nous devons calculer l'ensemble de ses générateurs minimaux.Comment obtenir ce résultat?

Pour y arriver, nous allons d'abord calculer les faces associées aux successeurs immédiats (ligne 28) et ensuite nous les comparons à la liste des faces correspondante en faisant appel à la fonction Compare - face (ligne 30). L'ensemble de faces Liste - face(successeur immédiat) d'un concept formel ne peut être modifié que dans les deux cas suivants :

1. face est plus petit (en terme d'inclusion) que l'élément Liste - face : Dans ce cas nous calculons Compare - face, et nous remplaçons l'ancienne face par la nouvelle. Si Compare - face n'existe pas dans une des faces du concept formel, alors nous supprimons chaque générateur contenant cette différence. Cette suppression est fondée étant donné qu'un attribut qui n'existe pas dans les faces ne peut exister les générateurs.

2. face est incomparable avec toutes les faces Liste - face : Dans ce cas, nous ajoutons cette face à la liste - face.[12]

Exemple 3 Soit le contexte d'extraction illustré à la table 3.2 avec l'ensemble d'attri-buts I = {a, b, c, d, e, f, g, h, i} et lensemble de transactions du contexte d'extraction, dénotées de 1 à 8.

Considerons la transaction 4 = {acghi}, la famille F, après traitement des trois premières itérations est comme suit :

F = {(abcdefghi, Ø), (abg, 123), (abgh, 23), (abcgh, 3)}.

L'ensemble des successeurs immédiats de chaque concept est comme suit :

33

TABLE 3.2 - Le contexte d'extraction K

{abg}.ImmSucc = {{abgh}};

{abgh}.ImmSucc = {{abcgh}};

{abcgh}.ImmSucc = {{abcdefghi}}.

Première étape : Génération des concepts formels

Chaque concept formel de F est manipulé individuellement. Par conséquent, pour

le premier concept formel C1, nous aurons C1.intent = {abcdefghi} l'application de

l'opérateur d'intersection avec la quatrième transaction donne un nouveau concept

formel avec une intention égale à {acghi}. L'extension de ce nouveau concept formel

sera calculée dans les lignes qui suivent. Ainsi, la famille F est mise à jour en lui

ajoutant cette nouvelle intention C5 qu'on vient de calculer:

F = {(abcdefghi, 0), (abg, 123), (abgh, 23), (abcgh, 3), (acghi, 4)}.

L'ensemble des successeurs immédiats de C5 est initialisé avec C1 et l'extension

de C5 est initialisé avec l'union de C1.extent et l'identificateur de la transaction

considéré. Par conséquent, C5.extent = {4} et C5.ImmSucc = {abcdefghi} et la

liste L et initialisé avec {acghi}

Le processus mentionné ci-dessus est répété pour tous les concepts formels existants

dans la famille F.

A la fin de cette première étape, nous obtenons la famille des concepts formels mises

à jour:

F = {(abcdefghi, 0), (abg, 123), (abgh, 23), (abcgh, 3), (acghi, 4), (ag, 1234), (agh, 234), (acgh, 34)}

Ainsi la liste des successeurs immédiats de chaque concept formel est la suivante :

{ag}.ImmSucc = {{abg}, {acghi}}

{agh}.ImmSucc = {{abgh}, {acghi}}

{acgh}.ImmSucc = {{abcgh}, {acghi}}

{acghi}.ImmSucc = {{abcdefghi}}

La liste L contient toutes les intentions des concept formels découverts dans l'itéra-

tion courante :

L = {{ag}, {agh}, {acgh}, {acghi}}

Raffinnement de la liste des successeurs immédiats et détermination des

générateurs minimaux

Pour le premier concept de la liste L, nous avons {ag}.ImmSucc = {{abg}, {acghi}}.

L'intention du concept formel {agh} couvre {ag} et nous avons {agh} Ç {acghi}.

Nous allons donc remplacer {acghi} par {agh} dans {ag}.ImmSucc. Ainsi, l'an-

cien arc liant {ag} à {acghi} est un lien transitif. Par conséquent {ag}.ImmSucc =

34

FIGURE 3.5 - Treillis des concepts formels, extrait du contexte K, décoré par quelques générateurs minimaux

{{abg}, {agh}}

Pour chaque successeur immédiat de {ag}, nous devons calculer liste - face et liste - gen qui devra contenir la liste des générateurs minimaux, en utilisant la fonction Compare - face. Il vient donc que :

1. {abg}.liste - face = {b} et {abg}.liste - gen = {b}

2. {agh}.liste - face = {h} et {agh}.liste - gen = {h}

Après le traitement de {ag}.ImmSucc, nous devons manipuler la liste de succes-

seurs du concept formel dont l'intention est égal à {agh} c'est-à-dire {agh}.ImmSucc.

Ainsi nous avons {agh}.ImmSucc = {{abgh}, {acghi}}. Commençons par raffiner

la liste des successeurs immédiats {agh}.ImmSucc. Nous constatons que {acgh} Ç

{acghi}. Alors nous devons remplacer {acghi} par {acgh} dans {agh}.ImmSucc.

Ainsi les successeurs immédiats de {agh} sont {agh}.ImmSucc = {{abgh}, {acgh}}.

Après le calcul de liste - face de {abgh} nous obtenons :

{abgh}.liste - face = {h} U {b}. Etant donné que {h} n {b} = Ø, alors {b}

ne peut pas être un bloqueur pour l'ensemble des faces {{h}, {b}}. Raison pour

laquelle nous remplacerons la liste des générateurs minimaux par {bh} c'est-à-dire

{abgh}.liste - gen = {bh}

Le processus de raffinnement tels que decrit ci-dessus est appliqué sur {acghi}.ImmSucc

Ainsi:

{acghi}.ImmSucc = {{abcdefghi}};

{abcdefghi}.liste - face = {defi} U {bdef};

{abcdefghi}.liste - gen = {defbi}

Le processus de génération et de raffinement sont repetés pour toute les transactions

restantes. La figure 3.4 décrit le treillis des concepts formels associé au contexte d'ex-

traction K presenté dans la table 3.2. Notons que certains générateurs minimaux

sont indiqués par des flèches, décorant les noeuds des concepts formels.[6]

35

3.2.3 Etude de la compléxité

Dans cette section, nous allons étudier la compléxité, dans le pire des cas, de

l'algorithme GENALL. Soit O l'ensemble de transaction d'une base, Y l'ensemble

d'attributs de la base et F l'ensemble des concepts trouvés. L'étude de la boucle :

Pour(ligne 5) donne:

- L'instruction 6 s'effectue en O(|Y |) étant donné que dans le pire des cas, nous

allons effectuer une intersection avec tous les attributs de la base.

- L'instruction 7 s'effectue en O(|Y |) puisqu'on ne peut avoir au maximum que

|Y | branches.

- L'instruction 13 peut se faire dans le pire des cas en O(|O|).

- La recherche dans la liste L (ligne 14) est réalisé en O(|F |

2 ) dans le pire de cas.

En effet, une iteration peut donner autant de nouveau concept qu'il y a dans

|F |.

- La boucle Pour(ligne 18) peut se repeter au maximum deux fois.

- Celle de la ligne 19 se répète |ImmSucc| fois.

- La fonction Compare - concept se fait O(|Y |)

De ce fait la complexité des instructions 5 - 23 est O(|F | + 2|Y | + |O| + |F |

2 +

2|Y |.|ImmSucc|). L'instruction 25 s'effectue en O(|ImmSucc|), alors que la

complexité de l'instruction 28 vaut O(|Y | + |liste - gen|). Par conséquent la

complexité du bloc des instructions (25 - 34) vaut :

O(|F |

2 * |ImmSucc|2.(|Y | + |liste - gen|)).

Etant donné que notre algorithme se répète |K| fois (la première boucle Pour

de la ligne 3 ). Il vient alors que la compléxité totale de l'algorithme est :

O(|K|.|F |[1 2 * |ImmSucc|2.(|Y | + |liste - gen|) + |K| + |F |

2 ]).[13]

3.3 Algorithme de génération de treillis quelconques

Dans cette section, nous présenterons un algorithme permettant de vérifier si un graphe orienté sans circuit represente un treillis. Mais avant cela, nous vous présentons quelques définitions qui seront utilisées par la suite.

Soit X un ensemble fini et = une relation d'ordre définie sur X ; (i.e refléxive, antisymétrique et transitive). On note par P = (X, =P) un ensemble sur lequel on a défini un ordre. Alors:

- Deux éléments x et y de X sont dits comparables si x =P y ou y =P x, sinon ils sont dits incomparables.

- Un ordre total ou chaîne est un ensemble d' éléments deux à deux comparables.

- Q = (X, =Q) est une extension de P = (X, =P) si x =P y = x =Q y pour tout x,y ? X.

- Un ordre total L = (X, =L) est une extension lineaire de P = (X, =P) si L est une extension de P.

- Un ensemble A muni de deux lois + et * est appelé anneau si :

1. (A, +) est un groupe Abélien;

2. La loi * est associative;

36

3. La loi * est distributive par rapport à la loi +

Si de plus, la loi interne * est commutative alors l'anneau sera dit commutatif.

- Soit A un anneau commutatif. un sous ensemble S c A est un idéal si :

1. a + a' E S pour tout a, a' E S ;

2. r.a E S pour tout a E S et r E A

En d'autres termes, un "Idéal" est un sous ensemble fermé pour l'addition et stable pour la multiplication par un élément quelconque de A

- Un Idéal I d'un ordre P, est une Partie héréditaire supérieure ou filtre ; c'est-à-dire I C X tel que si y E I et x E X vérifient x <P y alors x E I[50]

Propriété 1 Soit T = (X, <) un treillis et x E X. Si a < b alors a V x < b V x. Preuve Soientz,tEX,z<zVtett<tVz.Puisquea<bonaaVb=bet (xVa)Vb=xVbparconséquent:xVa<xVb.

Soit ô = x1, x2, ...xn une extension linéaire de G. Pour tout k E [1, n] il vient que Yk-1 = xk-1, ..., xn est un filtre. Ainsi l'algorithme devra vérifier si Yk-1 est un sup-demi-treillis pour k variant de n à 2 ; il se base sur le lemme suivant :

Lemme 1 Soit G = (X, U) un graphe orienté sans circuit et Yk-1 = xk-1, ..., xn tel que tout couple d'éléments de Yk-1 admet une borne supérieure.

Alors pour tout z E Yk-1, xk V z existe, si et seulement si y V z tel que y E ImmSucc(xk) admet un élément minimal w = y V z.

Preuve Si pour z E Yk-1, xk V z existe, alors pour tout y E ImmSucc(xk) on a : xk V y > xk V z.

Puisque xk V z > xk, alors il existe t0 < xk. De ce qui précède, on en déduit que xk V z > z et donc xk V z > t0 V z.

Si pour z E Yk-1 il existe t0 E ImmSucc(xk) tel que w = t0 V z, soit un élément minimal de y V z tel que y E ImmSucc(xk) alors w > z et w > xk

Soit v E X tel que v > z et v > xk. Alors v E Yk-1 et il existe t0 E ImmSucc(xk) tel que v > t0 et puisque v > t0 V z > w > xk V z, il vient alors que w = xk V z.[6]

3.3.1 Algorithme de L.Nourine

L'algorithme de Lhouari Nourine reconnait si un graphe G = (X, U) est le graphe

de couverture d'un treillis.[5]

Algorithme Reconnaissance d'un treillis.

Donnée : La reduction transitive d'un graphe sans circuits G = (X, U), donnée par

sa liste d'adjacence de prédécesseurs.

Résultat : G est-il le graphe de couverture d'un treillis ?

Début

// Calculer une extension linéaire ô = x1, x2, ...xn de G

Y = (xn) est un sup-demi-treillis.

Pour i = n - 1,2 faire

le calcul des bornes supérieurs entre xi et ses successeurs.

Pour y E]xi, xn] faire

xi V y = y ;

marquer y.

Fin pour

// Calcul des bornes supérieures entre xi et les elements qui lui sont incomparables.

Pour j = n, i + 1 faire

37

FIGURE 3.6 - Un ordre qui ne représente pas un treillis

Si x est non marqué alors

x est incomparable à xi

Si w = min(xi ? z) tel que z ? ImmSucc(xi) existe alors

xi ? x = w.

Sinon

G n'est pas la graphe de couverture d'un treillis.

Fin si

Fin si

Fin pour

Fin pour

Fin

3.3.2 Etude de la compléxité

Le bloc 1 de l'algorithme calcule la borne supérieur entre xi et ses successeurs. Pour tout successeur z de xi on a : xi ? z = z.. Ainsi la compléxité de ce bloc vaut O(|U|)

Le bloc 2 de l'algorithme calcule la borne supérieur entre xi et les éléments qui lui sont incomparables. L'algorithme calcule l'ensemble W des bornes supérieures entre les successeurs immédiats de xi et l'élément z qui lui est incomparable. Ensuite, l'algorithme teste si cet ensemble possède un élément minimum. Ainsi le calcul de W coûte O(|ImmSucc(xi)|) et la vérification qu'il possède un élément minimum revient à vérifier si l'élément le plus petit de W est un élément minimum.

Le test de comparabilité se fait en O(1) en utilisant les bornes supérieurs déjà calculées, la compléxité totale est alors de l'ordre de O(|X|.|ImmSucc(xi)|) soit O(|X|.|U|).[5]

Exemple 4 Soit le diagramme figure(3.6) ci-dessus, essayons d'appliquer l'algo-rithme à cet exemple pour bien comprendre les différentes étapes et instructions utilisées dans celui-ci. On pose :

Succ(xi) : L'ensemble de tous les successeurs de xi dans G.

Inc(xi) : L'ensemble de tous les successeurs de xi dans r qui lui sont incomparables

38

dans G.

ImmSucc(xi) : L'ensemble des successeurs immédiats de xi.

B(a) = {a V y tel que y E ImmSucc(xi)} avec a = Inc(xi)

Soit r = a, b, c, d, e, f, g une extension lineaire. L'algorithme demarre à partir de f

avant dernier élément de l'extension linéaire.

Pour f :

Succ(f) = {g};

Inc(f) = Ø;

Pour e :

Succ(e) = {g};

Inc(e) = {f};

ImmSucc(e) = {g};

B(f) = f V g = {g};

minB(f) = g ;

Pourd :

Succ(d) = {g};

Inc(d) = {e, f};

ImmSucc(d) = {g};

B(e) = e V g = {g};

minB(e) = g ;

B(f) = f V g = {g};

minB(f) = g ;

Pourc :

Succ(c) = {d,e,g};

Inc(c) = {f};

ImmSucc(c) = {d, e};

B(f) = f V d,f V e = {g};

minB(f) = g ;

Pourb :

Succ(b) = {d,e,f,g};

Inc(b) = {c};

ImmSucc(b) = {d, e, f};

B(c) = {c V d,c V e,c V f} = {d,e,g};

minB(c) n'existe pas, car d et e sont incomparables. D'où G n'est pas le graphe

de couverture d'un treillis.

Deuxième partie

39

Application de la méthode

40

Chapitre 4

Fouille de données et navigation dans

un treillis

L

'Exploration de données, connue aussi sous l'expression de fouille de données, forage de données, prospection de données ou encore data mining a pour objectif d'extraire un savoir ou une connaissance à partir de grandes quantités de données par des méthodes appropriées.

4.1 Bref aperçu sur les fouilles de données

Le data mining, dans sa forme et comprehension actuelle, à la fois comme champ scientifique et industriel, est apparu au debut des années 90. Cette émergence n'est pas le fruit du hasard mais le résultat de la combinaison de nombreux facteur à la fois technologique mais aussi économiques. Cette discipline se présente comme une nécessité imposée par le besoin des entreprises de valoriser les données qu'elles accumulent dans leurs bases de données.

En effet, le développement des capacités de stockage et les vitesses de transmission des données ont conduit les utilisateurs à accumuler d'enormes quantités d'informations dans leurs bases de données. Alors, une question reste, cependant, poseé : Que doit-on faire avec des données coûteuses à collecter et à conserver? Dès lors est né l'analyse de données ainsi que ses différentes méthodes que l'on retrouve dans différents domaines sous des formulations différentes et ayant une caractéristique commune à la fois d'analyser des données qui s'organisent sous forme tabulaire (Objets × attributs).[14]

Une confusion subsiste encore entre Data mining qui signifie en anglais « fouille de données » et Knowledge discovery in data bases (KDD) que nous appelons en français « Extraction des connaissances à partir des données(ECD) ». Le data mining est l'un des maillons de la chaîne de traitement pour la découverte des connaissances à partir des données. Sous forme imagée, nous pourrions dire que l'ECD est un véhicule dont le data mining est le moteur.

Le data mining est l'art d'extraire des connaissances à partir des données. Elles peuvent aussi être stockées dans des entrepôts de données[1]. En effet, un entrepot de données ou Data warehouse est une collection de données provenant des sources differentes et groupées en un seul endroit afin de rendre ses informations facilement accessible par l'utilisateur[15]. Le data mining ne se limite pas seulement au traitement des données mais vers les années 2010, ses spécialisations techniques telles que

41

la fouille d'images ou image mining (section 4.1.1), la fouille de textes ou text mining (section 4.1.2), la fouille du web ou web data mining (section 4.1.3),... attirèrent l'attention de plusieurs chercheurs.

4.1.1 La fouille d'images

Les données sous forme d'images peuvent être traitées par les techniques de data mining en vue d'extraire des connaissances. Celles-ci permettraient d'identifier, de reconnaître ou de classer automatiquement des bases volumineuses d'images.

Pour être exploitées par des méthodes de data mining, les images doivent subir une serie de pré-traitement en vue d'obtenir des tabeaux numériques. Les principales étapes du pré-traitement sont les suivantes :

1. Transformation, filtrage et mise en forme Les usagers sont souvent conduits à modifier les images initiales pour faire ressortir certaines caractéristiques qu'ils considèrent comme importantes. Par exemple, accentuer le contraste sur l'ensemble des images.

2. Extraction de caractéristiques Pour être traitées par des techniques de data mining, les images doivent être representées sous forme tabulaire : Chaque ligne étant une image et chaque colonne une caractéristique sur l'image.

3. Mise en oeuvre des méthodes de data mining A l'issue de l'étape précédente, le corpus d'image est transformé en un tableau de données numériques sur lesquelles les méthodes d'explorations de données peuvent être appliquées.[1][14]

4.1.2 La fouille de textes

Les données textuelles disponibles sur support infomatique représentent près de 70 pourcent des données numériques et se retrouvent sous forme de rapport, de courriers, de publications, de manuels, etc.

La fouille de données textuelles est un ensemble de traitements informatiques consistant à extraire des connaissances selon un critère de similarité. On y distingue deux niveau de traitement :

1. Le premier niveau porte sur la recherche d'information dans les bases de données textuelles. Par exemple rechercher les textes qui contiennent les mots X et Y ou Z. Grâce au developpement des technologies du traitement de la langue naturelle, on peut également formuler des requêtes plus ou moins complexes contenant des expressions ou même des textes.

2. Le segond niveau porte sur l'extraction de connaissences à partir d'une base de données textuelles. En effet, certaines recherches peuvent paraître extrêmement difficiles pour l'utilisateur car il ne saura toujours pas comment formuler la bonne requête en vue d'avoir des réponses pertinentes pour sa recherche. Par exemple comment rechercher dans un document les textes qui incitent à la violence dans les stades. Des tels réponses sont difficiles à trouver étant donné que ces textes peuvent ne contenir aucun des mots « violence » ou « stade ». C'est là qu'interviennent les méthodes de data mining qui peuvent aider l'usager à déterminer certaines règles qui permettent de reconnaître ces textes.[14][11][15]

42

FIGURE 4.1 - Chaîne d'extraction de connaissances

4.1.3 La fouille du web

Les réseaux électroniques, de l'intranet à internet, constitue une formidable source d'informations de par son large volume de données. Les interêts de fouiller dans ces données sont multiples et variés mais se heurtent à deux problématiques majeurs; l'une concernant « l'internaute » et l'autre concernant « le diffuseur » des informations.

- La problématique de l'internaute peut se résumer à celle de la recherche et de l'analyse d'informations pertinentes;

- La problématique du diffuseur ou propriétaire de sites web consiste à déterminer les différents profils d'internautes en fonction de leur parcours sur le site afin de pouvoir cibler ses offres, orienter son discours et donc proposer rapidement les informations rechérchées par des clients potentiels.

- les propriétaires de sites internet sont quant à eux intéresser par des visiteurs. A chaque passage sur les pages web, un internaute laisse ses traces. Outre la date et l'heure de la visite, le site hôte enregistre le numéro de la machine, le navigateur utilisé, l'ensemble de pages visitées, etc. En s'appuyant sur ces données, les techniques de data mining, text mining et d'image mining peuvent offrir des solutions intéressantes.[14][16]

4.2 Chaîne d'extraction des connaissances

L'extraction des connaissances a pour principal objectif d'extraire dans des grands volumes de données « des éléments de connaissances non triviaux et nouveaux pouvant avoir un sens et un intérêt pour être réutilisés ». Elle est composée de plusieurs étapes (figure 4.1) dont la principale est la fouille de données.[1][17][20]

1. Phase de consolidation de données

La consolidation de données est une étape de l'extraction de connaissance qui consiste à collecter les données. Ces données n'ont pas toujours le même format et la même structure. On peut avoir des textes, des pages web, des images, etc. La phase de consolidation cible ainsi l'espace de données qui va être exploré.

43

Le specialiste du data mining agit un peu à l'image du géologue qui définit aussi des zones de prospection étant persuadé que certaines régions seront probablement vite abandonnées car elles ne recèlent ou ne contiennent aucun ou peu de minerais. Ainsi cette étape met en oeuvre des requêtes ad hoc ou appropriée afin de recueillir des données potentiellement utiles selon le point de vue du spécialiste.

A l'issue de la phase de consolidation, l'analyste est en possession d'un stock de données contenant potentiellement l'information ou la connaissance recher-chée.F1]F14]F11]

2. La phase de pré-traitement de données

Les données issues des entrepôts ne sont pas nécessairement toutes exploitables par des techniques de fouille de données parce que la plupart des techniques utilisées ne traitent que des tableaux de données numériques. Ces tableaux associent à un objet(en ligne) un ensemble de valeurs d'attributs(en colonne). Des vocabulaires peuvent se différencier selon les domaines : Un objet peut également être appelé enregistrement, individu, observation,... alors qu'un attribut peut se dénommer caracteristique, champ, descripteur, etc.

Le pré-traitement permet de présenter les données de manière adaptée à la méthode de fouille de données qu'on devra utiliser. Elle regroupe différentes étapes :

- Integration de données Cette étape consiste à regrouper et à uniformiser les données provenant de plusieurs sources.

- Le nettoyage : Cette étape s'occupe de la gestion des doublons ainsi que des erreurs de saisie.

- Le traitement des valeurs maquantes ou aberrantes

Certaines données peuvent être absentes ou encore absurdes et peuvent ainsi gêner l'analyse. Cette étape permet donc de définir certaines régles ou principes afin de gérer ou même remplacer ces données maquantes ou illogiques.

- L'enrichissement des données : Dépassé l'étape de traitement des valeurs maquantes, il peut s'averer que certains attributs ne figurent toujours pas parmi les informations recherchées. Ainsi vient l'étape d'enrichessement qui consiste à ajouter des nouveaux attributs par combinaison d'attributs existants. Notons cependant que le processus d'extraction des connaissances n'est pas linéaire car il arrive aussi que l'on revienne, après analyse, rechercher des nouvelles données.

- Traitement de données complexes : Toutes les étapes ou méthodes de pré-traitement citées ci-haut, opèrent sur des tableaux de données lignes/colonnes. Or il peut arriver que les données sous études ne soient pas structurées de cette manière là. Par exemple, en fouille de texte, nous pouvons disposer d'un ensemble de textes de longueurs variées que nous devons ramener sous forme tabulaire. L'une des techniques consiste à recenser l'ensemble des mots de tout le corpus et d'en calculer la fréquence de chacun d'eux. On obtiendra ainsi un tableau codé. Mais le codage des textes fait généralement appel à des procedures plus élaborées s'appuyant sur la linguistique ou l'ontologie du domaine.F14]F11]

3. Phase de fouille de données

La fouille de données concerne le data mining dans son sens restreint et se situe au coeur même de l'extraction des connaissances. Elle est définie comme étant

44

un processus qui utilise une variété de méthodes d'analyse de données afin d'extraire des informations intéressantes et appropriées à partir de données. La classification des méthodes de fouille de données dépend d'une part, du but poursuivi dans l'analyse et d'autre part, de la nature et de la quantité de données considérées. En conséquence, elles sont groupées en deux classes principales :

- Méthodes prédictives : Ces méthodes ont pour objectif de rechercher à partir de données disponibles un modèle explicatif ou prédictif entre, d'une part, un attribut particulier à prédire et de l'autre, des attributs prédictifs. Il s'agira donc de prédire de nouvelles informations à partir de données, ou plus précisément de prédire les valeurs d'un attribut en fonction des autres attributs.

- Méthodes descriptives : L'objectif de ces méthodes est de permettre à l'ana-lyste d'avoir une compréhension synthétique de l'ensemble de ses données. Il s'agira de : décrire au mieux les données dans le but de les réduire ou de les résumer pour une meilleure manipulation; mettre en valeur des informations présentes mais cachées; décrire les associations entre attributs sous forme de règles; rassembler tous les objets similaires.[1][14][11]

La phase d'interprétation et d'evaluation des résultats fait appel aux techniques de visualisation permettant d'afficher les résultats d'une manière compréhensible par l'être humain.

En effet, on remarque un intérêt grandissant pour les méthodes de découverte de connaissances à partir des données généralement formalisées sous forme de règles d'associations. Ces méthodes issues, pour la plupart, de l'Analyse Formelle de Concepts et proposées en fouille de données, sont développées dans un objectif de prédic-tion(méthodes prédictives) ou de description(méthodes descriptives) et exploitent la structure du treillis de concepts, ou bien les règles d'associations qui les décrivent, et qui ont pour caractéristique commune de s'appliquer sur des données binaires. Par conséquent, la section suivante sera consacrée à l'Analyse Formelle de Concepts qui est une approche à la représentation des connaissances et qui définit le treillis de concepts(section 2.4.1) à partir des données binaires du types Objets× attri-buts.[14][11]

4.3 L'Analyse Formelle des Concepts

L'analyse formelle des concepts est une branche de la théorie des treillis qui permet la génération de concepts, de treillis de concepts et à partir de là, des règles d'associations. A cet effet, elle s'est avéré être un cadre théorique intéressant pour la fouille de données. Elle a été introduite par Wille en 1980 et appliquée à « l'acquisi-tion automatique de connaissances », elle a donc pour objectif d'étudier le problème de l'extraction et de la représentation des connaissances sous l'angle de la théorie mathématique des treillis.[19][11][1]

4.3.1 L'extraction de motifs fréquents

L'extraction de motifs fréquents est une technique très utilisée en fouille de données son objectif est de trouver les motifs que apparaissent fréquemment dans une

45

TABLE 4.1 - Exemple de base de données formelle

base de données formelle dont les valeurs sont des booleens indiquant la présence ou l'absence d'une proprieté.[11][14][16]

Définition 1(base de données formelle)

Une base de données formelle est la donnée d'un triplet O, P, R où :

1. O est un ensemble fini d'objets;

2. P est un ensemble fini de proprietés;

3. R est une relation sur OxP qui permet d'indiquer si un objet x a une proprieté P

Considérons la base de données formelle telle que montrée à la table 4.1 : Où

- O = {x1, x2, x3, x4, x5, x6};

- P = {a, b, c, d, e};

- xRp si et seulement si la ligne de x et la colonne de p se croisent sur un 1.[11]

Définition 2 (motif)

Un motif d'une base de données formelle (O, P, R) est un sous ensemble de P.On dit qu'un objet contient un motif si l'objet contient chacun des attributs du motif. La longueur d'un motif est le nombre d'attributs de ce motif. L'image d'un motif est des objets possédant ce motif. Ainsi l'ensemble de tous les motifs d'une base noté 2|P| est donc l'ensemble de partie de P.[11][19]

Un objet x ? O possède un motif in si ?p ? P, xRp. Pour la base de donnée montrée à la table 4.1 :

1. 1 motif de taille 0 : 0.

2. 5 motif de taille 1 : {a}, {b}, {c}, {d}et{e} ou pour simplifier l'écriture, on notera a, b, c, d, e.

3. 10 motif de taille 2 : ab, ac, ad, ae, bc, bd, be, cd, ce, ed.

4. 10 motif de taille 3 : abc, abd, abe, acd, ace, ade, bcd, bce, bde, cde.

5. 5 motif de taille 4 : abcd, abce, abde, acde, bcde

6. 1 motif de taille 5 : abcde

Ainsi on peut dire que x1 possède les motifs 0, a, c, d, ac, ad, cd, acd

On cherchera ensuite parmi l'ensemble de 2|P| motifs ceux qui apparaissent fréquemment. Pour cela on va introduire les notions de connexion de Galois et de support d'un motif

46

Définition 3 (connexion de Galois)

Soient f et g deux fonctions définies par :[22][1]

f : 2P -? 2O

in 7-? f(in) = {x ? O | x possède in}

g : 2O -? 2P

X 7-? g(X) = {p ? P | ?x ? X,xRp}

f représente l'ensemble de tous les attributs communs à un groupe d'objets O (on parle d'intension) et g l'ensemble des objets qui possèdent tous les attributs de P (extension). Le couple (f, g) définit la connexion de Galois entre P et O associée à une base de donnée formelle (O, P, R). Les opérateurs de la fermeture de Galois sont définis par : h = f ? g et h' = g ? f.

Le terme de connexion est motivé par le fait que la relation binaire R de la base de donnée formelle connecte chaque attribut à chaque objet et vice-verca.[6][11][1]

Définition 4 (support d'un motif)

Soit in ? 2|P|, un motif. Le support de in est la proportion d'objets dans O qui possèdent le motif:

support: 2P -? [0; 1]

in 7-? support(in) = |f(m)|

|O|

Exemple : soit la base de données (cfr table 4.1)

support(a) = 3 6, support(b) = 5 6, support(ab) = 2 6, support(P) = 1

Proprieté 1

Si in est un sous motif de in0 (in ? in0) alors support(in) = support(in0).

Le support mesure la fréquence d'un motif, plus il est élevé, plus le motif est fréquent. Ainsi le seuil d'un motif u5 marque la différence entre ceux qui sont fréquents de ceux qui ne le sont pas.

Motif fréquent

Une observation o ? O supporte un motif in si tous les attributs de in apparaissent dans l'observation o. Un motif m est fréquent relativement à un support minimal minsup si support(m) = u5. Avec u5 le seuil( ou support minimal) qui est une valeur à partir de laquelle un motif sera fréquent ou non selon qu'il est supérieur ou non au seuil. [25][27]

4.3.2 Algorithme d'extraction des motifs fréquents

L'algorithme d'extraction des motifs fréquents, baptisé A-priori, est un algorithme d'exploration de données concu en 1994 par Rakesh Agrawal et Ramakrish-nan Sikrant. Il sert à parcourir l'ensemble 2|P| de tous les motifs(ou items), à calculer leurs supports et à ne garder que les plus fréquents.

L1 = {a, b, c, e}

47

L'approche que nous allons décrire effectue une extraction par niveau selon le principe suivant : Tout d'abord, on commence par déterminer les motifs fréquents de taille 1; on note cet ensemble L1. Ensuite, on construit l'ensemble C2 des motifs fréquents candidats de taille 2 (ce sont tous les couples construits à partir des motifs fréquents de taille 1). On obtient ainsi la liste des motifs fréquents de taille 2 qu'on note par L2. On ne conservera, bien sûr, que les éléments de C2 dont le support est supérieur au seuil. On construit encore l'ensemble C3 des motifs fréquents candidats de taille 3 et on ne retient que ceux dont le support est supérieur au seuil, ce qui produit L3. On continue le processus jusqu'à ce que l'ensemble Li n'ait plus d'éléments.[16]

Cette approche s'appuie sur deux principes fondamentaux suivants(Principe de la décroissance du support)[51] :

1. Tout sous motif d'un motif fréquent est fréquent. (Si m' C_ m et support(m)> us, alors support(m')> us).

2. Tout sur-motif d'un motif non fréquent est non fréquent. (Si m' D m et sup-port(m)< us, alors support(m')< us).

Plus clairement on a l'algorithme suivant[17] :

Algorithme : Algorithme A-priori

Entrée :(O, P, 7Z) : Une base de donnée formelle ; us E [0; 1]

Sortie : L'ensemble des motifs fréquents de la base relativement au seuil us

Début

L1 -- liste des motifs dont le support est > us

i-1

répéter

i + +

à partir de Li-1, déterminer l'ensemble Ci des motifs fréquents

candidats comprenant i motifs.

Li --

O

Pour tout motif m E Ci faire

si support(m) > us alors

ajouter m à Li

fin si

fin pour

jusque Li = O

Retourner ui=1 Li

Fin

Nous allons simulé le déroulement de l'algorithme en considérant la base de donnée

formelle donnée à la table 4.1 pour un seuil us = 26.[51]

Génération de candidats de taille 1 :

C1 = {a,b,c,d,e}

dont le support respectif est :

3

5

5

1

6 et

5

D'où

6;

6;

6;

6

48

Génération de candidats de taille 2 : Combiner 2 à 2 les candidats de taille 1 de L1

C2 = {ab, ac, ae, bc, be, ce}

dont le support respectif est :

4

6

2324 5

6' 6' 6' 6, 6 et

Ainsi L2 = C2 parce que tous les motifs de C2 sont fréquents.

Génération de candidats de taille 3 : Combiner 2 à 2 les candidats de taille 2 de L2

N.B: Nous ne considérons que les motifs dont la taille vaut 3.

C3 = {abc, abe, ace, bce}

le support respectif est :

2

2

2

4

6' 6' 6' 6

Tous les motifs sont fréquents, d'où L3 = C3 Génération de candidats de taille 4 :

2

6

C4 = {abce} le support vaut

On a : L4 = C4 pour la même raison que précédemment. Génération de candidats de taille 5 :

C5 = O d'où L5 = O

L'algorithme retourne ainsi l'ensemble des motifs fréquents :

L = L1 ? L2 ? L3 ? L4 ? L5

Remarque 1

Le déroulement de cet algorithme est similaire au parcours du treillis des parties de P ordonnées pour l'inclusion. Supposons que P = {a, b, c}. Le treillis des parties de P, comme illustré à la figure 4.2, est parcouru par niveau croissant à partir du niveau j = 1. Quand un motif n'est pas fréquent, tous ses super-motifs sont non fréquents. Exemple du motif c qui n'est pas fréquent(il a été barré), et par conséquent, aucun de ses super-motifs n'est considéré. Cela nous permet d'optimiser l'accès à la base de donnée [51].

Notons que la valeur du seuil u,9 est fixé par l'analyste. Celui-ci peut suivre une approche itérative en fixant un seuil au départ, et en fonction du résutat mais aussi de l'objectif poursuivi, changera la valeur du seuil.

4.3.3 Extraction de règles d'associations

Dans cette section nous vous présenterons le concept de règles d'associations dont la contribution à l'émergence du data mining, en tant que domaine scientifique à part entier, est non négligeable.

49

FIGURE 4.2 - Exemple de treillis des parties ordonnées par inclusion

4.3.4 Règles d'association

Un gérant d'un super marché a observé que les clients qui achètent les couchent culottes achètent également un pack de bières alors il s'est dit qu'il serait judicieux de disposer ces deux articles côte à côte afin de permettre au client de trouver vite les produits qu'il cherche. Ainsi, si vous visitez le site de vente de livres en ligne amazone.com et que vous recherchez des livres sur le data mining, vous pouvez voir ressortir des livres de statistique mais pas de livres de topologie par exemple. Ce résultat peut être issu du fait que l'étude des transactions des anciens clients a montrée qu'un nombre significatif de ceux qui ont acheté un ou plusieurs livres de data mining ont également acheté un ou plusieurs livres de statistique et non de topologie. [23]

Les règles d'associations interviennent dans plusieurs applications comme l'ana-lyse du panier de la menagère où elles servent à trouver les association entre les produits achetés par un consomateur particulier ou encore sur internet dans le but d'associer les différentes pages visitées par les internautes, comme illustré dans le paragraphe précédent.[11][15]

Définition 5(règle d'association)

Une règle d'association R est la donnée de deux motifs A et B où A est appelé prémisse de la règle et B la conséquence. Elle est notée par:

R = A -+ B

L'extraction de règles d'associations nous donne une information générale des relations existant entre motifs d'une base de donnée. Elle a pour objectif de déterminer si l'occurence du motif A est associé à l'occurence du motif B. Ainsi la qualité d'une règle sera évaluée en fonction de son support et de sa confiance.[25]

Définition 6(support d'une règle d'association)

Le support d'une règle d'association est défini comme étant le nombre d'oc-currences dans lesquelles les associations entre motifs sont observées divisé par le nombre total d'événements : [25]

Nombre de cas favorables

support{A -+ B} = support(A B) = (4.1)

Nombre de cas possible

50

On peut rapprocher la notion de support d'une règle à celle de probabilité des évé-nements[23]. En effet le support(A -+ B) est la probabilité que x possède le motif

A et que x possède le motif B (en supposant que x soit une variable aléatoire sur O avec une distribution uniforme)

Définition 7(confiance d'une règle d'association)

La confiance est défini comme étant la proportion de cas dans lequel les associations entre motifs sont réalisées sur le nombre de cas contenant la prémisse. Elle st notée par :[25]

support(A U B)

confiance(A -+ B) = (4.2)

support(A)

En effet, confiance(A -+ B) est la probabilité que la variable x possède la motif

B sachant qu'elle possède déjà la motif A. Ainsi :

- confiance(A -+ B) = 1 signifie que tous les objets possédant le motif A possèdent le motif B ;

- confiance(A -+ B) = 0 signifie qu'aucun n'objet possédant le motif A ne possède le motif B ;

Définition 8(Règle valide)

Une règle d'association R est valide si elle vérifie :

· support(R) > ós ;

· confiance(R) > óc ;

ós, óc E [0; 1] sont des valeurs seuils prédéfinies.

N.B : Dans l'extraction de règles d'associations, seuls les règles valides intéressent l'analyste parce qu'elles renferment un maximum d'informations nécessaires pour celui-ci. Cependant L'extraction des règles d'association consiste à extraire toutes les règles solides ayant un support et une confiance suffisants par rapport à des seuils fixés à priori, à savoir le support et la confiance minima. [51]

Définition 8(Règle exacte, règle approximative)

Une règle d'association est exacte si sa confiance vaut 1. Dans le cas contraire, elle est dite approximative.

Si R = A -+ B est exacte, alors support(A U B) = support(A). En se basant sur la base de données formelle (table 4.1) on a :

3

support(a) = support(ac) = 6

Donc a -+ b est une règle exacte. Sa confiance vaut 1.[24]

4.3.5 Algorithme de génération de règles d'associations valides

Soit la règle d'association définit par R = p1 -+ p2 \p1 avec p1 Ç p2(Notons que E \ F = {x|x E E et x E6 F}). Le principe de l'algirithme est le suivant : On s'in-téresse aux règles valides c'est-à-dire dont support(R) = support(p2) > ós. Etant donné que p1 Ç p2, par le principe de la décroissance du support, support(p1) > ós

51

1. On considère les règles de la forme p1 -? p2 \ p1 où la conclusion est de longueur 1;

2. On supprime les règles non valides ;

3. On combine les conclusions des règles valides ;

4. Puis on passe à des conclusions de longueur 2, on supprime les règles non valides et on combine les conclusions des règles valides ;

5. On passe à des conclusions de longueur 3 et ainsi de suite

Comme exemple, considérons toujours la base de donnée de la table 4.1. On fixe le seuils ós = 26 et óc = 25. [51]

Motifs fréquents de longueur 1 : a, b, c, e. A ce niveau il est difficile d'appliquer l'algorithme parce qu'il n'y a pas de règles d'association à partir de ces motifs. Il faut un motif de longueur 2 au moins.

Motifs fréquents de longueur 2 : ab, ac, ae, bc, be, ce. Pour chacun de ces motifs fréquents m on regarde les règles p1 -? p2 \ p1 avec p2 = m.

- Pour m = p2 = ab, deux règles peuvent être engendrées : a -? b (pour p1 = a) et b -? a (pour p1 = b). Le support de ces deux règles est le même :

= 23 = óc

2

6

support(p2) = 2 6, et la confiance donne : confiance(a -? b) = 3

6

et confiance(b -? a) =

2

6

5

6

=

25 = óc. On obtient donc deux règles valides :

 

a -? b et b -? a.

- Pour m = p2 = ac, on a deux règles a -? c et c -? a dont le support est le même et vaut 36. La confiance de a -? c vaut 33 = 1(règle exacte) et celle de c -? a vaut 53

- Pour m = p2 = ae dont le support est 26, on a les règles a -? e de confiance 23 et e -? a de confiance 25.

- Pour m = p2 = bc dont le support est 46, on a les règles b -? c de confiance 45 et c -? b de confiance 45.

- Pour m = p2 = be dont le support est 56, on a les règles b -? e de confiance 5 5 = 1 et e -? b de confiance 55 = 1.

- Pour m = p2 = ce dont le support est 46, on a les règles c -? e de confiance 45 et e -? c de confiance 45.

Motifs fréquents de longueur 3 : abc, abe, ace, bce. Pour chacun de ces motifs fréquents m de longueur 3 on regarde les règles p1 -? p2 \ p1 avec p2 = m.

- Pour m = p2 = abc dont le support est 26, on a les règles :

1. A conclusion de longueur 1 : ab -? c (de confiance 22 = 1), ac -? b (de confiance 23), bc -? a (de confiance 24 = â )

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur 1) : a -? bc (de confiance 23), b -? ac (de confiance 25), c -? ab (de confiance 25)

- Pour m = p2 = abe dont le support est 26, on a les règles :

1. A conclusion de longueur 1 : ab -? e (de confiance 22 = 1), ae -? b (de confiance 22 = 1), be -? a (de confiance 25)

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur 1) : a -? be (de confiance 23), b -? ae (de confiance 25), e -? ab (de confiance 2 5)

- Pour m = p2 = ace dont le support est 26, on a les règles :

52

1. A conclusion de longueur 1 : ac -+ e (de confiance 23), ae -+ c (de confiance 22 = 1), ce -+ a (de confiance 24 = 12)

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur 1) : a -+ ce (de confiance 23), c -+ ae (de confiance 25), e -+ ab (de confiance 25)

- Pour m = p2 = bce dont le support est 46 = 23, on a les règles :

1. A conclusion de longueur 1 : bc -+ e (de confiance 22 = 1), be -+ c (de confiance 45), ce -+ b (de confiance 22 = 1)

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur 1) : b -+ ce (de confiance 45), c -+ ae (de confiance 45), e -+ ab (de confiance 45)

Motifs fréquents de longueur 4 : abce

Pour chacun de ces motifs fréquents m de longueur 4 on regarde les règles p1 -+ p2 \ p1 avec p2 = m. Son support vaut 26. On a les règles suivantes :

1. A conclusion de longueur 1 : abc -+ e (de confiance 22 = 1), abe -+ c (de confiance 22 = 1), ace -+ b (de confiance 22 = 1), bce -+ a (de confiance

=

1)

2 .

2

4

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur 1) : ce -+ ab (de confiance 24 = 12), be -+ ac (de confiance 25), bc -+ ae (de confiance 24 = 12), ae -+ bc (de confiance 22 = 1,), ac -+ be (de confiance 23), ab -+ ce (de confiance 22 = 1).

3. A conclusion de longueur 3 (obtenue par union de conclusion de longueur 2) : e -+ abc (de confiance 25), c -+ abe (de confiance 25), b -+ ace (de confiance 25), a -+ bce (de confiance 23).

Remarque 2

Pour un motif donné, si on a une règle R = p1 -+ p2 \ p1 valide et p'1 tel que p1 g p'1 g p2 (support(p1) > support(p'1)) alors R' = p'1 -+ p2 \ p'1. Ainsi

support(R) = support(R') = support(p2)

Et

support(p2)

confiance(R) = <

support(p)1

support(p2) support(p'1)

= confiance(R')

Donc si R est valide, R' l'est aussi. Par exemple, la règle e -+ abc est valide. On peut en déduire que les règles suivantes sont également valides [51] :

ea -+ bc, eb -+ ac, ec -+ ab, abe -+ c, ebc -+ a, ace -+ b.

53

Chapitre 5

Application des treillis en

représentation des connaissances et

extraction d'informations

S

I agent veut agir de façon intelligente dans un environnement donné, il est important que cet agent ait des connaissances relatives à cet environnement. Pour concevoir un agent doué d'une intelligence artificielle, deux problèmes majeurs se posent à nous : comment, d'une part représenter les connaissances de l'agent, et comment d'autre part raisonner à partir de ces connaissances? Ces deux problématiques sont interconnectées car la façon dont on représente les connaissances a un impact sur les types de raisonnements qui peuvent être effectués ainsi que sur la compléxité du raisonnement.[33]

5.1 Web sémantique et représentation des connaissances

Les technologies de l'internet, principalement le Web initié au debut des années 90, ont permis de mettre de nombreuses informations à la disposition d'un nombre toujours croissant de personnes. Le Web permet la recheche d'informations sur in-ternet. De ce fait, il est aujourd'hui considéré comme une source incortounable de connaissance. Alors, comment aider les utilisateurs du Web dans leurs tâches de recherche d'information, de construction et de combinaison des resultats.

C'est à partir de cette question qu'est née la notion du Web sémantique, attribuée à Tim Berners-Lee. Le Web sémantique est une extension du Web dont le but est de donner du sens aux informations contenues sur la toile, afin de faciliter l'obtention des résultats pertinents aux requêtes.

5.1.1 Web sémantique

Pour comprendre l'expression Web sémantique, il est important de définir d'abord ce que c'est la sémantique.

En effet, la sémantique est définit comme une étude scientifique du sens des unités linguistique et de leurs combinaisons.[29] Pour l'intelligence artificielle, la sémantique porte sur la capacité d'un réseau à représenter de la manière la plus humaine possible des relations entre des objets, des idées ou des situations.

54

FIGURE 5.1 - Exemple d'ontologie dans le domaine zoologique

Ainsi, le Web sémantique est un Web intelligent dans lequel les informations, auxquelles on donne une signification bien définie, sont reliées entre elles de façon à ce qu'elles soient comprises par les ordinateurs, dans le but de trouver rapidement les informations recherchées.[30]

La quantité des informations stockées sur le Web étant importante, cela a été indispensable d'envisager une classification cohérentes et partagée de celles ci. Ainsi est née la notion d'ontologie.

Ontologie

Une ontologie décrit un domaine par un ensemble de concepts de ce domaine et les liens existant entre eux. Parmis ces liens, les plus fréquemment utilisés est le lien de généralité entre concepts, qui indiquent qu'un concepts A est plus général qu'un concept B, ce qui veut dire que tous les individus dénotés par A les sont par B. Les concepts sont alors organisés en hierarchie comme le montre la figure 5.1.[51]

5.1.2 Représentation des connaissances

La première question qui nous vient à l'esprit quant on nous parle de la représentation de connaissance est celle de savoir : « Qu'est-ce qu'une connaissance ou plus encore pourquoi représenter ces connaissances? ».

Le point de vue d'un ingenieur, informaticien de surcroît, sur la connaissance est étroitement lié à l'histoire de ce qu'on appelle les Techniques de l'Intelligence Artificielle (TIA) qui se sont imposées dès le début des années 70 comme une solution alternative à la conception des logiciels d'Enseignement Assisté par Ordinateur en sigle EAO (en anglais : Computer Aided Instruction ou CAI).

Les techniques de l'intelligence artificielle (IA) sont des méthodes numériques qui exploitent la connaissance. Les principales techniques de l'intelligence artificielle sont la représentation des connaissances, la recherche d'une solution ou le raisonnement et l'apprentissage.[31][32][33]

Ainsi la connaissance est cette faculté de connaître propre à un être vivant. Et la représentation des connaissances, comme son nom le suggère, désigne un ensemble d'outils et de technologies destinés d'une part à représenter, d'autre part à organiser le savoir humain pour l'utiliser et le partager. Elle a pour but l'étude des formalismes qui permettent la représentation de toutes formes de connaissances afin de percer le mystère de l'humanité.[35][36]

Les modèdes de représentation des connaissances reposent essentiellement sur des théories issues de la logique. En effet, pour manipuler des connaissances explicites, un système doit utiliser un langage formel de représentation. Toute expression de ce langage s'établit à l'aide de symboles dont les associations sont régies par des

55

règles qui forment la syntaxe de la représentation. Si à toute expression syntaxique-ment correcte de la représentation on fait correspondre une situation de l'univers de référence, on adjoint alors une sémantique à ce formalisme de représentation. Cette sémantique s'exprime souvent en terme bouléens : La situation est vrai (dans l'univers considéré) ou elle ne l'est pas. [32]

Ainsi, la logique mathématique se veut une modélisation des raisonnements mathématiques, et il s'agit principalement d'un formalisme qui permet d'effectuer des raisonnements pour trouver de nouvelles connaissances à partir de celles qui existent déjà. Elle fournit ainsi un cadre adéquat pour représenter des connaissances. Un rappel sur les bases de la logique propositionnelle, la logique du premier ordre ainsi que les quelques autres logiques (logiques de description, logiques temporelles, logiques floues,...) se revèle donc inéluctable. [31]

Logique propositionnelle

La logique propositionnelle est une logique qui se trouve à la base de presque toutes les autres logiques. Les éléments de bases sont des propositions (ou variables propositionnelles) qui représentent des énoncés qui peuvent être vrais ou faux dans une situation donnée.[35]

Une proposition est une affirmation qui a un sens. Cela signifie que l'on peut dire sans ambiguïté si cette affirmation est vraie ou fausse. C'est ce qu'on appelle le « principe du tiers exclu ». Elle ne peut donc être jamais à la fois vraie et fausse,« principe de non-contradiction »[37]

Nous pouvons citer à titre d'exemple une proposition P qui représente « Pascal Sungu est un ingénieur »ou une proposition Q qui représente l'énoncé « L'ingénierie des connaissances est un domaine de l'informatique ». D'autres formules peuvent être construites à partir de ces propositions en utilisant des connecteurs logiques : ? (« et »), ? (« ou »), et #172; (« négation »). Par exemple nous pourrions avoir les formules P ? Q « Pascal Sungu est un ingénieur et l'ingénierie des connaissances est un domaine de l'informatique », P ? Q « Pascal Sungu est un ingénieur ou l'ingénierie des connaissances est un domaine de l'informatique », et #172;q « L'ingénierie des connaissances n'est pas un domaine de l'informatique ».[35]

Il existe d'autres types de connecteurs logiques tels que :

- Le connecteur d'implication(=)

Soient P et Q deux propriétés sur l'ensemble E, P = Q est une propriété sur E définie par :

1. P = Q est fausse si P est vraie et Q et fausse;

2. P = Q est vraie sinon.

- Le connecteur d'équivalence(?)

Soient P et Q deux propriétés sur l'ensemble E, P ? Q est une propriété sur E définie par :

P ? Q si [(P = Q) ? (Q = P)]

Logique du premier ordre

La logique du premier ordre, aussi appelée calcul des predicats est la logique des formules mathématiques telles que :[38]

?å > 0, ?8 > 0(|x - x0| < 8 = |f(x) - f(x0)| < å)

56

En logique des propositions, les expressions ( formules ou phrases) sont construites à partir de symboles propositionnels pouvant prendre des valeurs vrai ou faux. Ces énoncés élémentaires sont non structurés. Parfois, on peut être amené à décomposer ces propositions élémentaires en faisant une opération qui ressemble à une paramé-trisation. Par exemple, au lieu d'avoir un symbole propositionnel pour représenter « SunguEstAmiDePascal », on peut considerer que « EstAmi »est une relation qui porte sur deux arguments (c'est donc une relation d'arité 2) : dans le cas présent sur deux entités identifiées « Sungu »et « Pascal », et plus généralement sur deux arguments quelconques x et y ce que l'on notera par ami(x, y). Dans un tel énoncé « EstAmi »s'appelle un prédicat et x et y sont des variables. Dans l'énoncé EstAmi(Sungu, Pascal), Sungu et Pascal désignent des entités précises, ce sont des constantes. Les constantes et les variables ont pour valeurs des éléments d'un certains ensemble appelé le « domaine »de l'interprétation.

La logique du premier ordre introduit deux quatificateurs qui portent sur des variables : ?, le quantificateur universel(« pour tout ») et ? le quantificateur existentiel (« il existe »). En voici quelques exemples illustratifs :[41]

· ?x(18 = 3x) signifie « 18 est multiple de 3 »

· ?x(x * 1 = x) signifie « 1 est neutre pour * » Et la négation d'une formule quantifiée est donnée par:

· #172;(?x : A(x)) ? ?x(#172;A(x))

· #172;(?x : A(x)) ? ?x(#172;A(x))

A étant un énoncé quelconque.[42]

La logique propositionnelle et la logique du premier ordre sont de loin les deux logiques les plus étudiées, mais on constate un intérêt grandissant pour d'autres logiques qui sont parfois plus adaptés pour représenter certains types de connaissances. En voici quelques unes :

Logique de description

La logique de description [41] est une logique qui se trouve à mi-chemin entre la logique propositionnelle et la logique du premier ordre.

Effet, cette logique possède deux types de formules : des axiomes qui décrivent des relations entre des concepts et des assertions qui expriment les caractéristiques des individus ainsi que des relations qui existent entre eux.

Citons à titre d'exemple : Oiseau v Animal ce qui se traduit par « Chaque oiseau est un animal » et Oiseau v ? enfant.Oiseau qui se traduit par « les enfants des oiseaux sont aussi des oiseaux » et des assertions Oiseau(Pigeon) « Pigeon est un oiseau » et enfant(Pigeonneau, Pigeon) qui se traduit par « Pigeonneau est un enfant de Pigeon ». Nous pourrions alors inférer que Pigeon est un oiseau et que Pigeonneau et Pigeon sont tous deux des oiseaux.

Logiques temporelles

La logique temporelle est une extension de la logique [41] Informatique 18 juin 2004 propositionnelle, elle intègre des nouveaux opérateurs qui expriment la notion du temps, exemple « maintenant », « dorénavant », « toujours »qui permettent de

57

FIGURE 5.2 - Représentation graphique d'un ensemble classique et d'un ensemble flou

parler des propriétés qui sont vraies à différents moments dans le temps. On pourrait par exemple exprimer dans une telle logique le fait « Pascal sungu est un étudiant mais un jour il ne le sera plus »ou « deux est toujours un nombre pair ».

En effet, il n'est pas possible d'exprimer dans la logique classique une assertion liée au comportement d'un programme telle que « après exécution d'une instruction j, le système se bloque ». Dans cette assertion, les actions s'exécutent suivant un axe de temps : à l'instant t, exécution de l'instruction j, et à t + 1 blocage du système. Il faut donc une logique appropriée à même de modéliser les expressions du passé et du futur.[43]

Logique floue

Nous vivons dans un monde où très peu de notions sont binaire. Nous côtoyons l'imprécision au quotidien. Par exemple, quand nous disons « Pascal a la vingtaine », la connaissance que nous adoptons est imprécise. Le besoin de modéliser ce type de connaissances se fait sentir. C'est ainsi que dans la seconde moitié du XXe siècle le professeur Lotfi Zadeh introduisit une logique permettant de formuler de tels énoncés.[44]

La logique floue[45] est une extension de la logique booléenne. Elle se base sur la théorie des ensembles flous(figure 5.2), qui est une généralisation de la théorie des ensembles classiques. En introduisant la notion de degré dans la vérification d'une condition, elle permet à une condition d'être dans un autre état que vrai ou faux. La logique floue confère ainsi une fléxibilité très appréciable aux raisonnements qui l'utilisent, ce qui rend possible la prise en compte des imprécisions et des incertitudes. Prenons par exemple : comment déterminer si une personne est âgée ou non? Ce problème est difficile à cerner, une personne qui a 60 ans est-elle âgée? Et qu'en est-il d'une personne qui a 70 ou 80 ans? En logique classique on va être obliger de définir une frontière qui va déterminer l'ensemble de personnes âgées, disons qu'une personne est dite âgée si elle a 80 ans ou plus. Si par exemple Ilunga a 80 ans et sa femme 70, on dira que Ilunga est âgé mais sa femme ne l'est pas.

Si on utilise un raisonnement flou, on a un jugement plus nuancé :

- Ilunga est « certainement »âgé.

- Sa femme est « quasiment »âgée.

- Leur petit enfant ne l'est « pas du tout ».

Définissons A l'ensemble des personnes âgées, on voit que cet ensemble diffère entre logique classique et logique floue tel que présenté par la table 5.1[44]

58

TABLE 5.1 - Illustration de l'appartenance à A, selon la théorie choisie Logique de connaissances et/ou croyances

L'une des caractéristiques du raisonnement humain est sa faculté de raisonner sur ses propres connaissances ou sur celles des autres. Un certain nombre de logiques ont été proposées pour formaliser ce type de raisonnement. Dans ces logiques, nous pouvons exprimer les informations de type « je sais que Shoudelle a un enfant, et je crois que c'est une fille mais je suis pas sûr »ou « je crois qu'il croit que je sais qui a volé le diamant, mais je ne le sais pas. »Le raisonnemet sur les connaissances devient un sujet de plus en plus populaire grâce à son utilité dans de nombreux domaines tels que l'Intelligence artificielle, la linguistique.[52]

Logique non monotone

La logique non monotone est une logique formelle dont la relation de conséquence n'est pas monotone. De nombreuses logiques formelles sont monotones, ce qui signifie qu'ajouter un fait à un ensemble de règles n'enleve pas de deductions à cet ensemble. Or cette propriété ne semble pas toujours vérifiée dans le raisonnements humains. Pour prendre un exemple classique, donnons un nom à un oiseau par exemple « Tweety », il est tout a fait évident qu'il vole, du fait que c'est un oiseau. Admettons maintenant que Tweety est un Pingouin et si on vous demandait de dire s'il vole, vous repondrais par la négation parce qu'un pingouin ne vole pas. C'est un raisonnement non-monotone parce que le fait d'ajouter une hypothèse (Tweety est un pingouin) fait perdre l'une des conséquences (Tweety vole). Ce type de raisonnement ne satisfait pas les lois de la logique classique mais il est rationnel tout de même car il nous permet de raisonner en l'absence d'informations complètes. Les logiques non-monotones essaient de formaliser ce type de raisonnement.[46]

5.2 Extraction d'informations

L'extraction d'information est une technique qui consiste à extraire des connaissances à partir de différents documents en utilisant entre autres des techniques lin-guistiques.[52]

La Recherche d'Informations(RI) et le Traitement Automatique de la Langue(TAL) sont deux techniques incontournables dès lors qu'il s'agit d'extraire des elements de sens à partir des textes. Une question reste alors pendante : pourquoi seulement les textes?

En effet, la province du Katanga est une province qui dispose d'un potentiel important de ressources minières. les gîtes des substances minières sont localisés dans presque tout le Katanga. Jusqu'à ce jour, certains gisements demeurent encore

59

FIGURE 5.3 - Schéma général de la recherche d'information

inéxploités. Le Katanga et par delà la RDC est devenu un immense chantier. Alors pourquoi ne pas appliquer nos méthodes dans le domaine minière afin de rendre notre étude plus intéressantes?

L'exploration minière est l'un des domaines où la géophysique est très souvent appliquée comme outil de détection directe. Une bonne connaissance dans ce domaine ainsi que les différentes phases d'un projet minier(Prospection, construction de routes d'accès, préparation et déblaiement du site,...) est requise afin d'y appliquer par la suite nos connaissances mathématiques. Le temps nous faisant défaut, cela fera l'objet de nos travaux ultérieurs.[47]

En effet, les données textuelles contiennent des informations et des connaissances utiles et parfois critiques pour la gestion et la prise de décision dans les entreprises. Une bonne étude des techniques de fouilles de ces données se revèle donc primordiale afin de fournir un outil important au décideur.

Ainsi, nous vous présenterons dans la suite de ce paragraphe les fondements de la recherche d'information(section 5.2.1) et le traitement automatique de la langue(section 5.2.2) qui constituent les deux ailes dont requièrent les données textuelles pour nous emmener vers l'extraction d'informations qu'elles renferment.[11]

5.2.1 Recherche d'informations

La recherche d'information (RI) se définit par un ensemble de méthodes et d'ou-tils qui permettent à un utilisateur de formuler une requête et qui selectionnent dans un fond documentaire les documents répondant à ces critères. Les documents sont au préalable indéxés : chaque mot de chaque document est répertorié dans une table inverse, avec ou sans consérvation des positions des mots dans le texte d'ori-gine. L'appariement entre la requête et l'index va déterminer les documents qui sont considérés comme repondant le mieux au besoin informationnel initial.[11]

Une extension de ce schéma permet d'effectuer de la recherche d'information interlangue : le sujet de recherche est formulé dans une langue (par exemple français) différente de celle des documents (par exemple anglais). Dans ce cas le système de RI inclut une étape de traduction du sujet en une requête dans la langue cible. Les documents trouvés peuvent en retour être également traduits dans la langue source.

La recherche d'information passe par plusieurs étapes dont voici les principales [11] :

60

Simplification de documents

La simplification de documents consiste à rendre plus pertinent et plus efficace le processus d'appariement entre requête et index. Elle s'effectue selon les étapes suivantes :

- Suppressions des « mots stop » ou des mots fréquents;

- Racination : Elle consiste à reduire les mots de la même famille morphologique à une racine commune;

- Transformation du texte en un sac ou ensemble de mots.

Indexations

L'indexation peut se faire sur des mots simples ou sur des syntagmes. Dans ce dernier cas, des groupes de mots constituent des index du document. Ces syntagmes peuvent être obtenus par des techniques symboliques (par étiquetage,...), ou encore des techniques statistiques (en étudiant les mots cooccurents dans des documents).

Traitement et appariement des requêtes

Le traitement et l'appariement des requêtes se base sur deux principes :

- En raison de leurs tailles : Les requêtes sont analysées par procedures plus lentes et plus complexes;

- En raison de leurs syntaxes : Elles sont analysées par des procedures symboliques aux contraintes syntaxiques lâches.

Une fois traitées, les requêtes sont appariées avec l'index des documents. Il s'en suit alors trois types d'approches :

1. Le modèle booléen : Ce modèle suit une approche du type base de données : les documents sont recherchés sur la base d'une formule logique sur les descripteurs, et les réponses sont de la forme Oui/Non. C'est le modèle classique en recherche bibliographique où l'on interroge sur le contenu des champs :Auteur, Titre, etc;

2. Le modèle vectoriel : Ce modèle se base sur le principe suivant; plus un document partage des descripteur avec la requête, meilleur il est. Les reponses sont qualifiées par un pourcentage exprimant leur pertinence;

3. Le modèle probabiliste : Il complète le modèle vectoriel en calculant la pertinence de chaque index pour un document en fonction des documents répondant à des requêtes sur une base documentaire comparable. Un pourcentage qualifie la pertinence des réponses.[11]

5.2.2 Traitement automatique de la langue

Les Traitements Automatique des Langues(TAL) est une discipline qui associe étroitement linguistes et informaticiens. Il repose sur la linguistique, les forma-lismes(représentation de l'information et des connaissances dans des formats interprétables par la machine) et l'informatique. Le TAL a pour objectif de développer des logiciels ou des programmes informatiques capables de traiter de façon automatique des données linguistiques. [48]

61

Ainsi le traitement automatique de la langue peut se définir comme étant l'en-semble des méthodes et des programmes qui permettent un traitement par ordinateur du materiau linguistique : analyse de textes, génération de textes, traduction automatique, correction orthographique et grammaticale,...

Nous présentons ici les grands domaines du TAL, en s'appuyant sur un découpage méthodologique classique dans le domaine de la linguistique tel que présenté dans. Les différents domaines qui seront présentés ici sont [49] :

La morphologie

D'un point de vue informatique, un texte est une chaîne de caractère. La première étape de l'analyse d'un texte est la reconnaissance, dans cette chaîne de caractères, d'unités linguistique de base, les mots, ainsi que des informations associées puisées dans un lexique.

Pour commencer, la chaîne de caractères d'entrée doit utiliser un encodage dé-terminer(pour le français, l'encodage ISO-latin-1), les caractères de contrôle(fin de ligne,...) étant eux aussi normalisés. On élimine généralement les caractères non répectoriés.

Ensuite il s'agira de segmenter la chaîne d'entrée en unité élémentaires. Différents choix peuvent être effectués à ce stade, selon les séparateurs choisis : tous les caractères non alphabétiques(espaces, apostrophes, tirets...) ou les espaces seulement; et selon que l'on prend en considération les « mots composés »« pomme de terre » en le considérant comme « une » unité.

La lexique quant à lui est définie comme étant une liste des mots de la langue, et associé à chaque mot les informations linguistiques corréspondantes : catégorie syntaxique, traits morphosyntaxiques(genre, nombre, etc), etc. Il faut cependant bien préciser la définition du lexique compte tenue de plusieurs phénomènes qui surgissent.

- Un mot peut avoir plusieurs sens( polysème ) : « avocat », « coup », « livre »en sont des exemples.

- Plusieurs mots peuvent se trouver partager une forme commune( homographes ) : « montre »est une forme du nom « montre »aussi bien que du verbe « montrer ». « pu »est un autre exemple d'homographes qui est en même temps le participe passé du verbe « pouvoir »mais aussi de « paître ».

- Un mot peu être construit à partir d'un autre : par dérivation (« penser » -+ « pensable » -+ « impensable ») ou par composition (« compter » + « gouttes » -+ « compte-gouttes »; « un » + « jambe » -+ « unijambiste »; « sclérose » + « artère » -+ « artériosclérose » )

Syntaxe

Pour repérer quels mots fonctionnent ensemble dans une phrase, un premier niveau de modélisation consiste à constituer des classes de mots(catégories syntaxiques, parties du discours) possédant un fonctionnement similaire : Nom(N), Verbe(V), Adjectif(A), etc

Les relations syntaxiques entre les mots d'une phrase peuvent se représenter de plusieurs façons. Le modèle en constituants considère des groupes de mots, ou syntagmes, généralement centrés sur un mot de tête(Nom, Verbe, Pronom etc), et les modélises par des catégories spécifiques(Syntagme nominal ou SN, Syntagme

62

FIGURE 5.4 - Représentation syntaxiques d'une phrase

verbal ou SV, Syntagme adjectival ou SA, etc). Ces syntagmes peuvent eux-même être éléments d'autres syntagmes, et la structure d'une phrase est alors un arbre de constituants(figure 5.4(a)). Le modèle en dépendance considère directement les mots de tête(recteurs ou régissants), et leur attache les mots qui en dépendent. La structure d'une phrase est alors un arbre de dépendance(figure 5.4(b)). Une phrase peut donner lieu à plusieurs structures syntaxiques(ambiguïté structurelle). En voici un exemple: « je vois un homme avec un téléscope », dans laquel « avec un téléscope » peut designer la manière dont je vois l'homme (attachement au verbe « vois » qui est un complément circonstanciel de manière) ou au contraire une caractéristique de l'homme (attachement au nom « homme », complément du nom.)

Sémantique

La sémantique, à la manière de la syntaxe, comprend un premier niveau de modélisation qui consiste à former des classes des mots(catégories sémantiques). Ces classes regroupent des mots dont le sens est proche, ou au minimum des mots qui possèdent certaines propriétés sémantiques proches.

Un mot, même syntaxiquement non ambigu, peut posséder plusieurs sens. Par exemple, on pourra distinguer l'« artère » qui veut dire vaisseau sanguin de l'« artère » avenue, même si le second est étymologiquement un sens figuré du premier. Le contexte permet en général de déterminer quel sens est à l'oeuvre dans un énoncé.

Les mots d'une langue entretiennent un réseau riche de relations sémantiques : hyperonymie/hyponymie(« vaisseau »/« artère »), métonymie(partie d'un tout: « vaisseau »/« système cardiovasculaire »), antonymie(« benin »/« malin »),etc

Pragmatique

L'interprétation d'un énoncé depend de son contexte. Dès que l'on veut traiter plusieurs phrases (et même pour une seule phrase), cette dimension intervient.

Le co-texte désigne le texte qui précède(et suit) la phrase courante. Deux facteurs concourent à faire qu'une phrase s'insère bien dans un texte.

- La cohésion régit la continuité du texte. Elle est assuré par l'emploi d'ana-phore(figure de rhétorique qui consiste à répéter le même mot au commencement de plusieurs phrases), l'homogéneité du thème, un emploi judicieux d'el-lipses(figure par laquelle on retranche un ou plusieurs mot dans une phrase), etc

63

- La cohérence détermine l'intelligibilité du texte. Elle s'appuie sur des structures de discours(direct ou indirect).[49]

5.3 Application des règles d'associations aux textes

Les règles d'associations ont été appliquées dans plusieurs domaines particuliè-rements dans ceux traitant des données textuelles. Cette section s'inscrit dans cette même démarche.

En effet la fouille des textes, comme nous l'avons souligné à la section 4.1.2, est un ensemble de processus permettant, à partir d'un ensemble de ressources textuelles, de construire des connaissances pouvant être représentées dans un langage formel de représentation des connaissances et exploitées pour raisonner sur le contenu des textes. Ainsi elle donne une vue synthétique du contenu d'une collection d'un ou plu-sieur milliers de textes, exhibe des relations entre les differentes notions impliquées dans un texte ou des relations entre les textes.[11][29]

L'objectif de cette fouille est de retrouver, à travers la collection des textes, des relations connues dans le domaine, de pouvoir les localiser rapidement dans les documents, d'observer des familles de documents contruites à partir d'une ou plusieurs de ces relations. Elle permet également de découvrir des relations non encore connues.

C'est ainsi que, nous recherchons l'expression de ces relations par le biais des règles d'associations extraites à partir des textes.

5.3.1 Description du problème

Le processus de fouille de textes est fondé sur l'utilisation de méthodes symboliques. Elles sont basée sur l'extraction de règles d'association ainsi que l'Analyse Formelle de Concepts et se subdivise en 2 étapes :[11]

1. L'extraction de règles d'association;

2. Le classement des règles suivant des indices statistiques;

L'extraction de règles d'association se fait à l'aide de l'Analyse Formelle de Concepts par la construction des motifs fréquents générés par l'algorithme A-priori(section 4.3.2). Les motifs ainsi obtenus permettent le calcul des règles d'association. Les indices statistiques sont, quant à eux, des mesures de pondération affectés aux règles. Ces indices donnent un poids à chaque règle et permettent alors de les classer.

3.1.1 Règle d'association

Les règles d'associations sont utilisées en fouille de données afin de trouver des correlations dans des bases de données relationnelles.Elles ont été appliquées, par la suite, à la fouille de textes.

Définition 1 (Règle d'association)

Une règle d'association est du type [29] :

R : t1 ? t2 = t3 ? t4 ? t5 où t1,t2,...,tn sont des termes (5.1)

64

Elle est constituée d'une conjoction de termes en partie gauche(qu'on nomme B) impliquant une conjoction de termes en partie droite(nommée H). La règle sera donc notée par :

R : B = H

L'interprétation de la règle donnée en (5.1) est que : si les documents possèdent les termes {t1, t2} alors ils possèdent également les termes {t3, t4, t5}. Deux indices ont été ainsi associés aux règles d'association à savoir : Le support et la confiance de la règle.

Définition 2 (Support)

Le support d'une règle d'association représente le nombre de documents qui sont décrits par les termes présents en partie gauche et droite de la règle [29].

sup[B = H] = nombre de documents verifiant {t1, t2, t3, t4, t5} (5.2)

C'est la probabilité d'apparition de l'ensemble des documents correspondant à B?H soit :

support[B = H]

P(B, H) = E [0, 1] (5.3)
nombre total de documents du corpus

Définition 3 (Confiance)

La confiance d'une règle est donnée par :

nombre de documents verifiant {t1, t2, t3, t4, t5}

conf[B = H] = (5.4)
nombre de documents verifiant {t1, t2}

En termes probabilistes la confiance mesure la probabilité conditionnelle de H sachant B [1] :

sup[B = H]

P(H|B) = (5.5)
nombre de documents verifiant {t1, t2}

3.1.2 Indices statistiques associés aux règles d'association

Le support et la confiance ne sont pas les seuls indices permettant d'indiquer la qualité d'une règle. D'autres indices statistiques apportent des informations supplémentaires et permettent ainsi différents classements des règles. A savoir : La dépendance, l'intérêt, la conviction, l'étonnement.

L'indice de dépendance est utilisée en probabilité, il permet de calculer l'apport du prémisse B dans la règle.

Définition 4 (Dépendance)

L'indice de dépendance renforce une règle en mesurant la fait que B et H soient dépendants ou pas:

dep[B = H] = |P(H|B) - P(H)| (5.6)

Les termes très fréquent dans un corpus n'apportent pas d'information particulière puisque tout terme du corpus devra impliquer un terme fréquent. Alors que les termes rares, qui peuvent porter de l'information, apparaissent dans des règles à faible support et sont par conséquent peu intéressants. C'est ainsi que l'indice suivant a été défini au vue de cette différence d'apparition des termes dans un corpus.

65

FIGURE 5.5 - Exemple d'un document du corpus Définition 5 (Intérêt)

L'intérêt mesure la dépendance entre B et H. Cet indice privilégie les termes rares aux dépens des termes trop répandus dans le corpus.

P (B, H)

int[B = H] = (5.7)
P (B) x P (H)

L'intérêt a un comportement symetrique pour B et pour H, c'est-à-dire que : int[B = H] est égal à int[H = B]. [28]

5.3.2 Expérimentations

Considérons un corpus constitué de 43 documents d'environs 200 000 mots dont l'extrait d'un des documents est montré à la figure 5.5. Un document est constitué d'un identifiant unique (c'est-à-dire un numéro), d'un titre, d'un (ou des) auteur(s), du résumé sous forme textuelle et d'une liste de termes caractérisant ce resumé.

Soit une base de donnée comprénant des livres, thèses, cours ainsi que des articles en format numérique :

1. La proie

2. Adéquation d'indices statistiques à l'interprétation de règles d'association

3. Analyse comparative de corpus cas de l'ingénierie des connaissances

4. Analyse en ligne de l'information: une approche permettant l'extraction d'in-formations

5. Analyse statistique implicative

66

6. Annotation documentaire et peuplement d'ontologie à partir d'extractions linguistiques

7. Apprentissage statistisque pour l'extraction des concepts à partir des textes.

8. Application aux filtrage des textes

9. Approche linguistique pour l'analyse syntaxique

10. Balades aléatoires dans les Petits Mondes lexicaux

11. Construction de ressources terminologiques ou ontologiques à partir de textes

12. Construction d'ontologie à partir des textes

13. Programmation Java

14. Créez votre application web avec java Entreprise Edition

15. Dévellopement Java avec Jquery

16. Développons en Java

17. Documents électroniques et constitution de ressources terminologiques ou ontologiques

18. Engagement sémantique et engagement ontologique conception et réalisation d'ontologies en ingénierie des connaissances

19. Enrichissement automatique d'une base de connaissances biologiques a l'aide des outils du Web semantique

20. Etude et realisation d'un systeme d'extraction de connaissances à partir des textes

21. Evaluation de la qualité de la représentation en fouille des donnée

22. Extraction automatique des motifs syntaxiques

23. Extraction de connaissances dans les bases de donnees comportant des valeurs manquantes

24. Extraction et impact des connaissances sur les performances des systemes de recherche d'information

25. Fouille de textes hiérarchisée, appliquée à la détection des fautes

26. Fouille de données séquentielles pour l'extraction de l'information dans le texte

27. Hierarchisation des regles d'association en fouille de textes

28. Ontologie de domaine pour la modélisation des contextes en recherche d'infor-mation

29. Ingénierie des connaissances entre science de l'information et science de gestion

30. La Programmation Orientée Objet

31. Optimisation des réseaux intelligents et des réseaux hétérogènes

32. Modelisation du domaine par une methode fondee sur l'analyse du corpus

33. Modelisation XML

34. Ontologies pour l'aide à l'exploration d'une collection des documents

35. Plate forme d'analyse morpho-syntaxique pour l'indexation automatique et la recherche d'information

36. Précis de recherche opérationnelle

67

37. Résumé automatique par filtrage semantique d'informations dans des textes

38. Système d'exploration contextuelle

39. Tout sur les Réseaux sans fil

40. Un systeme de visualisation pour l'extraction, l'evaluation, et l'exploration interactives des regles d'association

41. Une étude comparative de quelques travaux sur l'acquisition de connaissances

42. Vers le traitement de la masse de donnée disponible

43. Vers une acquisition automatique de connaissances

Soit un groupe de mots (simples ou composés) que nous devons chercher dans cette base de donnée :

1. règles d'associations

2. fouille de textes

3. ontologie

4. corpus

5. analyse syntaxique

6. extraction d'information

7. traitement du langage naturel

8. intelligence artificielle

9. treillis de galois

10. connaissances

11. recherche d'information

12. linguistique

13. représentation des connaissances

14. traitement automatique des langues

15. ingénierie des connaissances

16. contexte formel

17. connexion de galois

18. web sémantique

19. base de connaissances

20. base de données

Nous contruirons un contexte d'extraction K = (X, Y, R) où X est l'ensemble de livres de notre base de donnée, Y l'ensemble de termes ou mots clés de notre corpus et la relation R désignera la presence d'un mot dans un document et sera simbolisé par × dans la case correspondante au croisement de la ligne du nom d'un livre et la colonne du nom d'un motif tel que montré par la figure ci-dessous.

Les documents seront symbolisés par la variable x
·(j allant de 1 à 43) et les termes (ou mots clés) par les lettres de l'alphabet français (a = 1... t = 20).

TABLE 5.2 -- Contexte d'extraction associé à la base de données textuelle (Livres éléctroniques et mots clés)

68

'R.

a

h

c:

ci

cT

I

g

h

i

j

k

l

in

u

ca

p

c1

r

s

t

3: I

 
 
 
 
 
 
 

X

 

X

 
 
 
 
 
 
 
 
 
 

3:2

 

X

X

X

X

 
 
 
 

X

 
 
 
 

X

X

 
 
 
 

3:4.!

 
 

X

X

X

 
 

X

 

X

 

X

X

X

X

 
 

X

 
 

:4'i

 
 

X

X

X

 

X

X

 

X

 

X

 
 

X

 
 
 
 

X

;1::,

 

X

X

X

 
 
 
 

X

X

 

X

 
 
 
 
 
 
 

X

:!.'i;

 

X

X

X

 
 

X

X

 

X

 

X

X

 
 
 
 

X

 
 

r7

 

X

X

X

X

X

X

X

X

X

X

X

 

X

X

X

 
 

X

X

3:8

 
 

X

X

X

 
 
 
 

X

 

X

 

X

X

 
 
 

X

 

3:1i

 

X

 

X

 
 
 

X

 

X

 

X

X

X

 
 
 
 
 
 

11]

 
 

X

X

X

 
 

X

 

X

 

X

 

X

X

 
 

X

X

X

xii

 
 

X

X

X

 
 

X

 

X

 

X

 

X

 
 
 
 

X

 

X12

 
 
 
 
 
 
 
 
 

X

X

 
 
 
 
 
 
 
 

X

ZIA

 
 
 
 
 
 
 
 
 

X

X

 
 
 
 
 
 
 

X

X

ZIA

 
 
 
 
 
 
 
 
 

X

 
 
 
 
 
 
 
 
 
 

XII")

 
 
 
 
 
 
 
 
 

X

X

 
 
 
 
 
 
 
 

X

2Iy

 

X

X

X

 
 
 

X

 

T

X

 

X

X

X

X

 
 
 
 
 

x.17

 
 

X

X

 
 
 

X

 

X

 

X

X

 

X

X

 
 
 
 

3:1#]

 
 

X

X

 

X

X

X

 

X

 

X

X

X

X

 
 

X

X

X

3:19

 

X

X

X

X

 
 
 

X

X

 

X

 

X

 
 

X

X

X

X

3:21]

X

 
 
 
 
 
 
 
 

X

 
 
 
 
 
 
 
 

X

X

3:21

 
 
 

X

X

 
 

X

 
 
 

X

 
 
 
 
 
 
 
 

3:22

X

X

 

X

 
 
 
 

X

X

X

X

 
 
 
 

X

 
 

X

3:23

 
 

X

X

X

 
 
 
 

X

X

X

 
 
 
 
 
 

X

 

:#:2
·1

X

X

 

X

X

X

 
 
 

X

X

X

 

X

 
 
 
 
 
 

x25

 

X

 

X

X

 
 
 
 

X

 

X

 
 
 
 
 

X

 
 

:L`.){;

 

X

X

 
 
 
 
 

X

X

 
 
 
 
 
 

X

 

X

 

;i:27

 
 

X

X

 
 
 
 
 

X

 
 

X

X

X

 
 

X

 
 

z2A

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

X

3:29

 
 

X

 
 
 
 

X

 

X

X

X

 
 
 
 
 
 
 
 

3:34]

 
 
 
 
 
 
 

X

 

X

 
 
 
 
 
 
 

X

X

X

37-411

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

27;12

 
 

X

X

 
 
 

X

 

X

 

X

 

X

X

 
 
 

X

 

1:33

 
 

X

 
 
 
 

X

 

X

 

X

 
 
 
 
 

X

X

X

1.'34

 
 

X

X

X

X

 

X

 

X

X

X

X

X

X

 
 

X

X

X

;1.3r,

 
 

X

 
 

X

 
 
 

X

X

 
 

X

 
 
 
 
 

X

:a':cents,.

 
 
 

X

X

X

X

X

 

X

X

X

X

X

X

 
 

X

X

;a':g ;

 
 

X

X

 

X

 
 
 

X

 

X

X

 
 
 
 
 
 

X

3.';

 
 
 
 
 
 
 
 
 

X

 

X

 
 
 
 
 
 
 

X

3.';s1]~

 

X

X

 
 
 
 
 

X

X

X

X

 
 
 
 

X

 

X

 

l'..1 I)

 
 

X

X

 
 
 
 
 

X

 
 
 
 
 
 
 
 
 

X

1:4 L

 
 
 
 
 
 
 
 
 

X

 
 
 
 

X

 
 
 

X

X

:!',12

 
 
 
 
 
 
 
 
 

X

 
 

X

 

X

 
 

X

X

 

+1:
·1;s

 
 
 
 
 
 
 
 

X

X

 
 

X

 

X

 
 
 

X

 

69

5.3.3 Extraction de connaissances par règles d'association

L'extraction des connaissances est une technique qui consiste à trouver des éléments de sens à partir d'une base de données. Dans cette section, nous utiliserons la notion de règles d'association pour arriver à extraire ces connaissances.

En effet, les règles d'associations sont basées sur des motifs qui apparaissent fréquemment dans la base de donnée. Ainsi nous commencons par trouver des motifs et ne retenir que ceux qui sont fréquents.

3.3.1 Extraction de motifs fréquents

Pour extraire les motifs fréquents, nous nous baserons sur l'algorithme A-priori vu à la section 4.3.2 pour un seuil ó,9 = 15 43.Pour cela, on commence par déterminer les motifs fréquents de taille 1; on note cet ensemble L1. Ensuite, on construit l'ensemble C2 des motifs fréquents candidats de taille 2 (ce sont tous les couples construits à partir des motifs fréquents de taille 1). On obtient ainsi la liste des motifs fréquents de taille 2 qu'on note par L2. On ne conservera, bien sûr, que les éléments de C2 dont le support est supérieur au seuil. On construit encore l'ensemble C3 des motifs fréquents candidats de taille 3 et on ne retient que ceux dont le support est supérieur au seuil, ce qui produit L3. On continue le processus jusqu'à ce que l'ensemble Li n'ait plus d'éléments.

Génération de candidats de taille 1

La génération de motif candidat de taille 1 est présenté par le tableau suivant avec leurs motifs respectifs. Seuls les motis fréquents(support = 15

43) seront retenus

(valeurs en gras). Ainsi la liste L1 nous donne les motifs fréquents de taille 1.

L1 = {c, d, e, h, j, l, n, o, s, t}

Génération de candidats de taille 2 : Obtenus par combinaison 2 à 2 des candidats de taille 1 de L1. La liste L2 donne les motifs fréquents de taille 2.

L2 = {cd, cj, cl, dh, dj, dl, hj, hl,jl,jn,jo,js,jt}

Génération de candidats de taille 3 : Obtenus par combinaison 2 à 2 des candidats de taille 2 de L2. Nous ne considererons que les motifs dont la taille vaut

3. La liste L3 nous donne la liste des motifs fréquents de taille 3.

L3 = {cdj, cdl, cjl, djl, hjl}

Génération de candidats de taille 4 : Obtenus par combinaison 2 à 2 des candidats de taille 3 de L3. Nous ne considererons que les motifs dont la taille vaut

4. La liste L4 nous donne la liste des motifs fréquents de taille 4.

L4 = {cdjl}

Nous constatons qu'il ne sera pas possible de générer les candidats de taille 5. D'où L5 = Ø. Ainsi l'ensemble L de motifs fréquents est :

L = {L1,L2,L3,L4} (5.8)

Le tableau de tous les motifs candidats est montré à la table 5.3.

70

TABLE 5.3 - Mots clés candidats à l'analyse et leurs supports respectifs

71

3.3.2 Extraction de règles d'associations

Dans cette section nous allons extraire les règles d'associations en se basant sur les motifs fréquents. La probabilité ainsi que la confiance pour qu'une règle soit valide est de as = 15

42 = ac. Les règles d'associations étant de la forme A -? B, nous ne commencerons que par les motifs de longueur 2 afin que l'algorithme s'y applique sans anicroche.

Motifs fréquents de longueur 2 :cd, cj, cl, dh, dj, dl, hj, hl, jl, jn, jo, js, jt

Ainsi pour chacun des motifs fréquents m, on regarde les règles p1 -? p2 \ p1 avec p2 égal au motif.

- Pour m = p2 = cd, deux règles peuvent être engendrées : c -? d (pour p1 = c)

et d -? c (pour p1 = d). Le support de ces deux règles vaut :

19

support(c -? d) = support(d -? c) = 43

et la confiance donne :

19 19

confiance(c -? d) = 24 et confiance(d -? c) = 27 On obtient donc deux règles valides : c -? d et d -? c.

- Pour m = p2 = cj, on a deux règles c -? j et j -? c dont le support est le même et vaut :

24

support(c -? j) = support(j -? c) = 43

et la confiance donne :

24

confiance(c -? j) = 1 et confiance(j -? c) = 40

On obtient qu'une seule règle valide : c -? j

- Pour m = p2 = cl dont le support est 19

43, on a les règles c -? l de confiance

19

24 et l -? c de confiance 2s

Ainsi c -? l et l -? c sont valides

- Pour m = p2 = dh dont le support est 15

43, on a les règles d -? h de confiance

27 et h -? d de confiance 15

15 19.

Ainsi d -? h et h -? d sont valides

- Pour m = p2 = dj dont le support est 24

24

27 = 1 et j -? d de confiance 24

40 = 1.

43, on a les règles d -? j de confiance

Seul la règle d -? j est valide

- Pour m = p2 = dl dont le support est 2423, on a les règles d -? l de confiance

22

27 et l -? d de confiance 22

26.

Les deux règles sont valides.

-

17

19 et j -? h de confiance 17

40.

Ainsi h -? j et j -? h sont valides

Pour m = p2 = hj dont le support est 4137, on a les règles h -? j de confiance

- Pour m = p2 = hl dont le support est 4163, on a les règles h -? l de confiance

16

19 et l -? h de confiance 16

26.

Ainsi h -? l et l -? h sont valides

72

- Pour m = p2 = jl dont le support est 25

43, on a les règles j -? l de confiance

40 et l -? j de confiance 25

25 26.

Ainsi j -? l et l -? j sont valides

- Pour m = p2 = jn dont le support est 15

43, on a les règles j -? n de confiance

40 et n -? j de confiance 1.

15

Ainsi j -? n et n -? j sont valides

- Pour m = p2 = jo dont le support est 16

43, on a les règles j -? o de confiance

40 et o -? j de confiance 1.

16

Ainsi j -? o et o -? j sont valides

- Pour m = p2 = js dont le support est 19

43, on a les règles j -? s de confiance

40 et s -? j de confiance 1.

19

Ainsi j -? s et s -? j sont valides

- Pour m = p2 = jt dont le support est 21

43, on a les règles j -? t de confiance

40 et t -? j de confiance 1.

21

Ainsi j -? t et t -? j sont valides

Motifs fréquents de longueur 3 :cdj, cdl, cjl, djl, hjl. Pour chacun de ces motifs fréquents m, on considère les règles p1 -? p2 \ p1 avec p2 = m.

- Pour m = p2 = cdj dont le support est 19

43, on a les règles :

1. A conclusion de longueur 1 : cd -? j (de confiance égale 1), cj -? d

(de confiance 2194), dj -? c (de confiance 19

24)

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur

1) : c -? dj (de confiance 1924), d -? jc (de confiance 19

27), j -? dc (de

confiance 19

40)

- Pour m = p2 = cdl dont le support est 16

43, on a les règles :

1. A conclusion de longueur 1 : cd -? l (de confiance égale 16 19), cl -? d

(de confiance 16

19), dl -? c (de confiance 16

22)

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur

1) : c -? dl (de confiance 1624), d -? lc (de confiance 16

27), l -? dc (de

confiance 16

26)

- Pour m = p2 = cjl dont le support est 19

43, on a les règles :

1. A conclusion de longueur 1 : cj -? l (de confiance égale 19 24), cl -? j

(de confiance 1), jl -? c (de confiance 19

25)

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur

1) : c -? jl (de confiance 1924), j -? lc (de confiance 19

40), l -? jc (de

confiance 19

26)

- Pour m = p2 = djl dont le support est 21

43, on a les règles :

1. A conclusion de longueur 1 : dj -? l (de confiance égale 21 24), dl -? j

(de confiance 1), jl -? d (de confiance 21

25)

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur

1) : d -? jl (de confiance 2127), j -? ld (de confiance 21

40), l -? jd (de

confiance 21

26)

- Pour m = p2 = hjl dont le support est 4153, on a les règles :

1. A conclusion de longueur 1 : hj -? l (de confiance égale 15

17), hl -? j

(de confiance 15

16), jl -? h (de confiance 15

25)

73

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur 1) : h -? jl (de confiance 1519), j -? lh (de confiance 4150), l -? jh (de

confiance 15

26)

Motifs fréquents de longueur 4 : cdjl

Pour ce motif fréquent m de longueur 4 on ne considère que les règles dont

p1 -? p2 \ p1 avec p2 = m. Son support vaut 16

43. On a les règles suivantes :

1. A conclusion de longueur 1 : cdj -? l (de confiance 16

19), cdl -? j (de confiance

1), cjl -? d (de confiance 1619), djl -? c (de confiance 16

21).

2. A conclusion de longueur 2 (obtenue par union de conclusion de longueur 1) :

cd -? lj (de confiance 16

19), cj -? ld (de confiance 16

24), dj -? lc (de confiance

2146),

4) cl -? jd (de confiance 19), dl -? jc (de confiance 16

22), jl -? dc (de

confiance 16

25).

3. A conclusion de longueur 3 (obtenue par union de conclusion de longueur 2) :

j -? ldc (de confiance 16

40), c -? ldj (de confiance 16

24), d -? lcj (de confiance

16

27), l -? jdc (de confiance 26).

3.3.3 Indices statistiques associés aux règles d'association

Comme présenté dans la section 3.1.2, le support ainsi que la confiance ne sont pas les seuls indices capables de nous fournir des amples informations sur la qualité d'une règle. C'est ainsi que nous vous présentons, sous forme tabulaire, d'autres indices statistiques à même de nous apporter des informations supplémentaires.

Dépendance

Nous allons calculer la dépendance des motifs et nous ne considérerons que les motifs ayant engendrés des règles valides. Notons cependant qu'un motif B dépend fortement d'un motif A si le pourcentage de la règle A -? B est supérieur ou égal à 50%. La dépendance des règles d'association est montrée à la table 5.4.

Intérêt

Nous allons calculer l'interêt des motifs. Seuls ceux ayant engendrés des règles valides seront considérés. Notons cependant que plus la règle A -? B admet une valeur faible, intéressant est le motif B par rapport au motif A.L'intérêt des règles d'association est montrée à la table 5.5.

Le treillis ainsi obtenu à partir du contexte formel K = (X, Y, R) avec X l'en-semble de livres, Y l'ensemble de mots et R la relation montrant la correspondance entre mot et livre est montré à la figure 5.6.

En effet, le logiciel concept Explorer a été conçu par l'entreprise Serhiy Yevtu-shenko et associés en 2006. Il permet d'éditer un contexte formel et génère, les règles d'associations ainsi que le treillis associé à ce contexte en considerant un seuil égal au support minimum.

5.3.4 Interprétation des résultats

Nous avons au total 296 motifs qui ont engendrés 66 règles valides par rapport au seuil que nous nous sommes fixé. Nous nous baserons sur ces règles pour interpréter les résultats. Notons cependant qu'il est important, pour nous, de repérer quelles

74

TABLE 5.4 - Dépendance des règles d'association

75

TABLE 5.5 - Intérêt des règles d'association

76

FIGURE 5.6 - Treillis des concepts généré à partir du logiciel Concept Explorer 1.3

règles sont à nos yeux interprétables en se basant, non seulement, sur le support et la confiance mais aussi sur la dépendance et l'interêt d'une règle d'association. Ce qui nous amène à définir l'interprétabilité d'une règle.

Définition 8 (Règle inteprétable)

Une règle B = H est dite interprétable si l'on peut arriver à relier tous les termes de B et F afin que ceux ci nous emmène vers la connaissance recherchée. Il sera donc question d'expliquer pourquoi il est normal que tel terme apparaisse avec tel autre. Cet explication va souvent refléter ce qui est exprimé par des liens sémantiques(section 5.1.1) dans le domaine considéré.

3.3.1 Les meilleures règles interprétées

Nous vous présentons dans cette section quelques règles qui peuvent facilement nous permettre de trouver la connaissance recherchée.

Règle : 'ontologie' 'linguistique' 'connaissance' = 'corpus' support : "16"; Intérêt: "1.34"; Dépendance : "22%"

Cette règle indique les 16 documents cités présentent des notions sur la linguistique des connaissances mais aussi celles traitant de l'ontologie des connaissances qui est une branche de l'intelligence artificielle qui consiste à représenter les connaissances relatives à un domaine bien spécifique associant ainsi les concepts de base de ce domaine et ses relations afin qu'ils soient compréhensible par les machines. Elle admet un intérêt de 1.34 ce qui signifie que le motif corpus est moyennement intéressant

77

par rapport au motif 'ontologie' 'linguistique' 'connaissance' mais aussi admet une dépendance moyenne par rapport à celui-ci.

Règle : 'ontologie' 'connaissance' = 'corpus' 'linguistique' support : "16"; Intérêt: "1.51"; Dépendance : "28%"

Cette règle d'association admet le même support que pour la règle présentée précédemment en revanche elle a un indice de dépendance de 28% et un intérêt de 1.51. Ce qui signifie que la nouvelle conclusion devient intéressant par rapport à l'ancienne et admet une dépendance d'au moins 4% de plus que celui de son prédécesseur.

Il sied de noter qu'il existe plusieurs techniques qui peuvent nous permettre d'aboutir à des conclusions encore plus satisfaisantes en essayant de reduire par exemple le bruit lié à la synonymie ou encore à la polysémie. Pour aboutir à de tels résultats, les notions du Web sémantique mais aussi de l'ontologie relative au domaine sous études seront d'une grande importance. Il ne faut cependant pas sous estimer l'apport d'autres indices statistiques tels que la conviction et l'étonnement qui sont des outils des méthodes symboliques.

78

Chapitre 6

Conclusion et perspectives

Des travaux de recherche relativement récents dans le domaine de la prospection de données, plus particulièrement dans le processus de fouille de données textuelles, ont démontré l'intérêt des règles d'association. La découverte des règles d'associa-tions se fait en deux étapes : (i) la détermination de l'ensemble des motifs fréquents (c'est-à-dire ceux dont le support dépasse un seuil déterminé) à partir d'un contexte formel sur lequel une connexion de Galois est définie, puis (ii) la génération des règles d'association à partir de ces motifs. Cependant, l'interprétation de ces règles et l'évaluation de leur qualité par des indices statistiques restent difficiles à maîtriser. Le nombre de règles extrait ne permet pas une vue globale, précise et une exploitation efficace des régularités et d'éventuelles connaissances qui émergent d'un grand corpus de textes. Notons cependant que face à cette éventualité, il a été important de recourir encore aux « maths » avec une théorie inéluctable pour une étude qui se veut sérieuse dans le domaine de fouille de données et la représentation des connaissances. Les treillis de concepts formels sont une structure mathématique permettant de représenter et d'organiser l'information concernant des classes d'objets possédant des propriétés communes; ainsi ces concepts sont construits à partir de l'Analyse Formelle de Concepts. Etant une approche à la représentation des connaissances, l'AFC est une méthode qui répose sur la structure de treillis et est utilisée dans la structuration des connaissances.

Pour arriver à nos fins, nous avons eu à diviser notre travail de la manière que voici:

Le premier chapitre a été consacré à l'introduction afin de présenter le travail de manière sommaire. Le deuxieme chapitre a traité de la structure de treillis qui constitue même la théorie mathématique sur laquelle a porté notre étude. Le souci de rendre cette étude plus sérieuse nous ayant animé, afin d'attirer aussi les « non boréliens » ou les « non matheux », nous avons jugé utile de présenter un aspect algorithmique des treillis. Tel a été l'objet du troisième chapitre.

Les structures mathématiques, y compris les treillis, étant, cependant, des notions non concrètes, il s'est averé important de les utiliser dans un domaine concret afin de les rendre plus « palpables ». C'est ainsi que, l'exploration des données connue aussi sous le nom de fouille de données ou data mining a fait parti de notre domaine d'étude et nous y avons consacré tout un chapitre que nous avons intitulé Fouille de données et navigation dans un treillis.

Le data mining est cet art d'extraire des connaissances à partir de données, lesquelles connaissances auront besoin d'être traitées mais aussi représentées à des fins soit de prédiction, soit de description. En effet, pour manipuler ces connaissances, les notions sur les modèles de représentation des connaissances reposant essentiellement

79

sur des théories issues de la logique sont nécessaires. C'est dans ce cadre que, dans notre cinquième chapitre, nous avons eu à appliquer les structures vues au deuxième chapitre dans la représentation de ces connaissances et la recherche d'information.

Cependant, notre objectif étant d'étudier l'impact de ces structures dans le domaine de fouille de données afin de représenter les connaissances qui en seront extraites, nous avons jugé utile de les appliquer dans le domaine de fouille de données textuelles. Nous avons élaboré un corpus de 43 livres sous format électronique dont la plupart développe un thème axé sur l'intelligence artificielle et nous avons constitué un contexte d'extraction formé en colonne des livres et en ligne des mots clés qui en sont issus. Nous avons fixé un seuil minimum et à partir de cela nous avons extrait des motifs ainsi que des règles valides. A partir de ces règles nous avons tiré nos conclusions en nous basant sur l'intérêt et la dépendance qui sont des indices qui nous ont permis de tirer des règles interprétables.

Notre objectif en abordant ce sujet, n'était pas seulement de nous limiter à une application montrant l'importance de la structure de treillis dans le domaine de fouille de données et la représentation des connaissances, mais aussi de concevoir un outil pouvant nous aider à extraire et à représenter ces connaissances d'une manière automatique.

Etant dans une province qui regorge d'énormes gisements miniers, nous souhaiterions, comme perspective, poursuivre cette étude en thèse et appliquer les structures de treillis dans ce domaine afin de répondre aux objectifs d'une science qui se veut pratique.

80

Bibliographie

[1] Karell Bertet; Structure de treillis : Contributions structurelles et algorith-miques.Quelques usages pour des données images; Université de La Rochelle; 2011

[2] J. B. Nation; Notes on lattice theory; University of Hawaii

[3] Daniel Rajaonasy Feno; Mesures de qualité des règles d'association : normalisation et caractérisation des bases; Université de La Réunion; 2007

[4] Robert Faure; Précis de recherche opérationnel : Méthode et exercices d'ap-plication; Dunod; 1974

[5] Mr Belhadj Abdelaziz; Génération de treillis et propriétés algébrique; Mou-loud Mammeri; 2011

[6] Ganaël Jatteau; Approximation du treillis de concept pour la fouille de données; Université du quebec; 2005

[7] Robert Godin, Guy Mineau, Rokia Missaoui, Hafedh Mili; Méthodes de classification conceptuelle basées sur les treillis de Galois et applications; Intelligence Artificielle; 1995

[8] Sébastien Rohaut; Algorithmique : Techniques fondamentales de programmation (exemples en PHP); eni edition; 2009

[9] Saint Jean Djungu; Algorithmique et structure des données; Note de cours; 2012-2013

[10] Thomas Cormen, Charles Leiserson, Ronald Rivest, Clifford Stein; Introduction à l'algorithmique : Cours et algorithmique; Dunod; 2009

[11] Yannick Toussain; Fouille de textes : des méthodes symboliques pour la construction d'ontologies et l'annotation sémantique guidée par les connaissances; Ecole doctorale IAEM Lorraine; 2012

[12] Sondess Ben Tekaya, Sadok Yahia, Yahya Slimani; GenAll Algorithm: Decorating Galois lattice with minimal generators; Vaclav Snasel; 2005

[13] Lhouari Nourine, Olivier Raynaud; A fast algorithm for building lattices; Université Montpellier; 1999

[14] Djamel Abdelkader Zighed, Ricco Rakotomalala; Extraction des Connaissances à partir des Données (ECD); Techniques de l'Ingénieur; 2002

[15] Rob Mattison; Artech Computer Science Library; Data Warehousing and Data mining for Telecommunications; Artech House; 1997

[16] I. Tellier; Introduction à la fouille de textes; Notes de cours

[17] Philippe Preux; Fouille de données; Notes de cours

[18] Ronald J. Brachman, Tej Anand; The Process of Knowledge Discovery in Databases A First Sketch; Technical Report WS-94-03; 1994

[19] Gaël Le Mahec; Utilisation des arbres de radicaux pour les algorithmes de Data-Mining sur grille de calcul.; Université de Picardie Jules Verne; 2004

[20] M. H. Rouane, M. Dao, M. Huchard, P. Valtchev; Analyse formelle de données relationnelles pour la réingénierie des modèles UML; LMO; 2007

81

[21] M. JAY NORTON; Knowledge Discovery in Databases; The Board of Trustees; 1999

[22] Usama Fayyad, Gregory Piatetsky Shapiro, Padhraic Smyth; From Data Mining to Knowledge Discovery in Databases; Artificial Intelligence; 1996

[23] François Rioult; Extraction de connaissances dans les bases de donnùees comportant des valeurs manquantes ou un grand nombre d'attributs; Université de Caen Basse-Normandie; 2005

[24] PAOLO Giudici, SILVIA Figini; Applied Data Mining for Business and Industry; John Wiley Sons Ltd; 2009

[25] Pascal Poncelet, Maguelonne Teisseire, Florent Masseglia; Data Mining Patterns : New Methods and Applications; IGI Global; 2008

[26] Andrea Ahlemeyer Stubbe, Shirley Coleman; A Practical Guide to Data Mining for Business and Industry; John Wiley Sons, Ltd; 2014

[27] Mehdi Kaytoue, Sébastien Duplessis, Amedeo Napoli; L'Analyse Formelle de Concepts pour l'Extraction de Connaissances dans les Données d'Expression de Gènes; Intelligence artificielle; 2009

[28] Karima Mouhoubi, Lucas Létocart, Céline Rouveirol; Extraction de motifs ensemblistes dans des contextes bruités; LIPN; 2011

[29] Hacène Cherfi, Yannick Toussaint; Adéquation d'indices statistiques à l'in-terprétation de règles d'association; Journées internationales d'Analyse statistique des Données Textuelles; 2002

[30] Dictionnaire Larousse 2010

[31] Saint Jean, A.O, Djungu; Outils et langages du web n.0; Mediaspaul; 2013

[32] Brown, J., S, Burton, R. R.; Diagnostic models for procedural bugs in basis mathematical skills. Cognitive Science; learntec; 1978

[33] Dillenbourg P., Martin-Michiellot S.; le rôle de techniques d'IA dans les logiciels de formation; CBT; 1992

[34] Wenger E. ;Artificial intelligence and Tutoring systèms : Computational and cognitive approches to the communication of knoledge; Los Altos : Morgan Kauff-mann Publishers; 1987

[35] Pierre Dillenbourg, Silvère Martin-Michiellot; Le rôle des techniques d'in-telligence artificielle dans les logiciels de formation; Université de Genève; 1991

[36] Philippe Fournier-Viger; Un modèle de représentation des connaissances à trois niveaux de sémantique pour les systèmes tutoriels intelligents; Notes de cours

[37] Meghyn Bienvenu; Introduction à l'Intelligence Artificielle; Notes de cours

[38] Stuart Russell; Peter Norvig; Artificial Intelligence : A Modern Approach; Livre

[39] Vincent Isoz; Elements de mathématiques appliqués; sciences.ch; 2005

[40] Patrick Dehornoy; Logique du premier ordre; Notes de cours version 2006-07

[41] ML Mugnier; Bases de la logique du premier ordre; Notes de cours

[42] Musumbu, Kaninda; Logique propositionnelle; Notes de cours

[43] M'SAKNI Charfeddine; La logique Temporelle; Travail d'étude Licence Informatique; 18 juin 2004

[44] PAGANI Clara, SADAOUI Akim, CHABOT Simon; Introduction à la logique floue; Automne; 2011

[45] Franck Dernoncourt; Introduction à la logique floue; Paris; 2011

[46] G. Brewka, J. Dix, K. Konolige; Nonmonotonic Reasoning- An Overview; CSLI publications, Stanford; 1997

82

[47] Pierre Andrieux; La place de la géophysique dans l'exploiration minière; Cours

[48] Marcel Cori ; Qu'est-ce que le traitement automatique des langues; Notes de Cours

[49] Christian Jacquemin; Traitement automatique des langues pour l'accès au contenu des documents; LIMSI-CNRS; 2003

[50] Daniel FREDON; Myriam MAUMY-BERTRAND, Frédéric BERTRAND; Mathématiques Algèbre et géométrie en 30 fiches; Dunod,2009

[51] Jean Lieber, Fouille de données, Notes de Cours

[52] Paul LOTIN, Représentation de connaissances complexes: Un formalisme à base de rôles sémantiques, Université Blaise Pascal,1995,Novembre






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Enrichissons-nous de nos différences mutuelles "   Paul Valery