Recherche de sous-structures fréquentes pour l’intégration de schémas XML
travaux réalisés dans le contexte de la fouille de données afin d’obtenir un schéma fréquent ou
un ensemble de sous-schémas fréquents. Ces derniers offrent alors des éléments pertinents pour
la construction du schéma médiateur. Dans le but de proposer une approche permettant de ré-
pondre à cette dernière problématique, nous nous focalisons sur la recherche de sous-structures
fréquentes au sein d’une base de données de schémas XML. Une sous-structure fréquente est
un sous-arbre se trouvant dans “la plupart” des schémas XML considérés. Cette proportion
est examinée au sens d’un support qui correspond à un nombre minimal d’arbres de la base
dans lesquels le sous-arbre doit se retrouver pour être considéré comme fréquent. Une telle
recherche est complexe dans la mesure où il est nécessaire de traduire l’ensemble des sché-
mas en une structure aisément manipulable. Cette transformation des données conduit parfois
à doubler ou tripler la taille de la base initiale dès lors que l’on souhaite utiliser des propriétés
spécifiques permettant d’améliorer le processus de fouille. Il n’existe pas de solution efficace
à ce problème alliant une représentation compacte à des propriétés intéressantes. L’objet de
cet article est la définition d’une approche de fouille de données de type XML répondant à cet
objectif.
Cet article est structuré de la manière suivante : la section 2 introduit les définitions des
différentes inclusions dans le contexte des structures hiérarchiques et propose un aperçu des
principales approches existantes de fouille de données arborescentes. Nous présentons égale-
ment en détail la problématique étudiée. La section 3 présente notre proposition : une méthode
de recherche de sous-schémas fréquents utilisant les propriétés d’une structure de données
arborescentes compacte et originale. Les différentes expérimentations menées sur des bases
de schémas XML sont décrites dans la section 4. Enfin, la section 5 conclut et présente les
principales perspectives associées à nos travaux.
2 Définitions, problématique et travaux connexes
2.1 Définitions préliminaires
Un arbre est un graphe orienté, connexe sans cycle. Il est composé d’un ensemble de nœuds
reliés par des arcs et il existe un nœud particulier nommé racine. Il s’agit d’un arbre ordonné
s’il existe un ordre entre les fils d’un nœud et d’un arbre non ordonné sinon.
Définition 1 Un arbre enraciné, étiqueté et ordonné T= (N, B, Σ,L,r,≺)est tel que : N
est un ensemble fini de nœuds ; Best un ensemble de branches (B⊆N2). Chaque branche
b∈Best un couple ordonné (u, v)de nœuds où uest le père de v;Σest un ensemble fini
d’étiquettes ; Lest une fonction L:N→Σ,L(u) = l,{u∈N, l ∈Σ};rest la racine de
T,r∈N; et ≺est une relation d’ordre entre les fils de chaque nœud interne. La taille de T,
notée |T|, est le nombre de nœuds de T.
Lorsque nous manipulerons plusieurs arbres, nous noterons, pour un arbre T,NT,BT,LT,
et ≺Tpour N, B, L, r et ≺. De plus, dans la suite de cet article, nous utilisons le mot arbre
pour un un arbre enraciné, étiqueté et ordonné.
Définition 2 (inclusion) Soient Set Tdeux arbres, nous disons que Sest inclu dans un arbre
Tnoté par SvT, s’il existe une fonction injective φ:NS→NTdes noeuds de Saux noeuds
de T, qui vérifie des conditions suivantes pour tout noeud u, v ∈NS:
RNTI - X - 2