Recherche de sous-structures fréquentes pour l’intégration
de schémas XML
F. Del Razo López, A. Laurent
P. Poncelet∗∗,M. Teisseire
LIRMM - Université Montpellier II, 161 rue Ada 34392 Montpellier cedex 5
{delrazo,laurent,teisseire}@lirmm.fr
∗∗EMA - LGI2P/Site EERIE, Parc Georges Besse 30035 Nîmes cedex 1
Résumé. La recherche d’un schéma médiateur à partir d’un ensemble de sché-
mas XML est une problématique actuelle où les résultats de recherche issus
de la fouille de données arborescentes peuvent être adoptés. Dans ce contexte,
plusieurs propositions ont été réalisées mais les méthodes de représentation des
arborescences sont souvent trop coûteuses pour permettre un véritable passage
à l’échelle. Dans cet article, nous proposons des algorithmes de recherche de
sous-schémas fréquents basés sur une méthode originale de représentation de
schémas XML. Nous décrivons brièvement la structure adoptée pour ensuite
détailler les algorithmes de recherche de sous-arbres fréquents s’appuyant sur
une telle structure. La représentation proposée et les algorithmes associés ont
été évalués sur différentes bases synthétiques de schémas XML montrant ainsi
l’intérêt de l’approche proposée.
Mots clefs : XML, Sous-schémas fréquents, Fouille de données arborescentes
1 Introduction
Étant donné l’explosion du volume de données disponibles sur Internet, il devient indispen-
sable de proposer de nouvelles approches pour faciliter l’interrogation de ces grandes masses
d’information afin de retrouver les informations souhaitées. L’une des conditions sine qua non
pour permettre d’interroger des données hétérogènes est de disposer d’un (ou de plusieurs)
“schéma général” que l’utilisateur pourra interroger et à partir duquel les données sources pour-
ront être directement accédées. Malheureusement les utilisateurs ne disposent pas de moyen de
connaître les modèles sous-jacents des données qu’ils souhaitent accéder et l’un des challenges
dans ce contexte est donc de fournir des outils pour extraire, de manière automatique, ces sché-
mas médiateurs. Un schéma médiateur est alors considéré comme une interface permettant à
l’utilisateur l’interrogation des sources de données : l’utilisateur pose ses requêtes de manière
transparente et n’a pas à tenir compte de l’hétérogénéité et de la répartition des données.
XML étant maintenant prépondérant sur Internet, la recherche de moyens d’intégration
de tels schémas est un domaine de recherche actif. Si les recherches permettant l’accès aux
données, quand un schéma d’interrogation, est connu sont maintenant bien avancées Xyleme
(2001), les recherches concernant la définition automatique d’un schéma médiateur restent in-
complètes et non satisfaisantes (Tranier et al., 2004). Il est alors intéressant de considérer les
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 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 (BN2). Chaque branche
bBest 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,{uN, l Σ};rest la racine de
T,rN; 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 φ:NSNTdes noeuds de Saux noeuds
de T, qui vérifie des conditions suivantes pour tout noeud u, v NS:
RNTI - X - 2
Del Razo et al.
a
b c
aaa
T3
S T1T2
b c c b b
c
FIG. 1 – Exemple d’arbres pour l’inclusion induite et incrustée.
1. φpréserve les étiquettes, LS(u) = LT(φ(u))
2. φpréserve la relation d’ordre entre frères, si uSvalors φ(u)Tφ(v)
3. φpréserve les relations :
(a) de parenté tel que u, v NS, si (u, v)BSalors (φ(u), φ(v)) BT, ou
(b) d’d’ancestralité tel que u, v NS, si (u, v)BSalors (φ(u), φ(v)) B+
T
Une inclusion est dite induite si les relations de parenté sont préservées. Par ailleurs, si les
relations d’ancestralité sont respectées, il s’agit d’une inclusion incrustée.
Par exemple, considérons les arbres S,T1,T2, et T3représentés dans la figure 1. Si les
relations de parenté sont respectées, il s’agit d’une inclusion induite, donc Sest inclus de
manière induite dans l’arbre T1(SvT1). Si les relations d’ancestralité sont conservées, alors
on trouve une inclusion incrustée avec SvT1et SvT3.Sn’est pas inclu dans T2car φne
préserve pas l’ordre entre les frères.
Dans la suite de cet article, nous considérons une inclusion de type induite car nous sou-
haitons traiter l’ordre existant entre les nœuds dans la hiérarchie de façon directe et l’ordre
entre les nœuds de même niveau de façon indirecte. Nous pouvons donc définir le support d’un
sous-arbre selon cette inclusion de la manière suivante :
Définition 3 (support) Soit Dune forêt d’arbres. Soit Sun arbre de D. Soit σun support
minimal spécifié par l’utilisateur.
Le support de Sest défini par Support(S) = P(S)
N
P(S)est le nombre d’arbres dans Dincluant S(inclusion induite) ;
Nest le nombre d’arbres dans D.
Si Support(S)σalors l’arbre Sest dit fréquent dans D.
2.2 Problématique
La problématique étudiée au sein de cet article est la recherche de sous-structures fré-
quentes, i.e. de sous arbres qui apparaissent suffisamment fréquemment dans des documents
XML. Nous considérons, par la suite, qu’une étape initiale de pré-traitement est réalisée sur
les documents XML de manière à ne retenir que leur structure sous forme d’arbre. Nous consi-
dérons également qu’à l’issue de cette phase, l’étiquetage des nœuds est homogène, i.e deux
nœuds de même étiquette dans deux arbres différents partagent non seulement la même syntaxe
mais également la même sémantique.
L’objectif consiste alors à rechercher, à partir de la forêt d’arbres obtenue Det en fonction
d’un support minimal spécifié par l’utilisateur, les sous arbres qui apparaissent suffisamment
fréquemment, i.e. dont leur nombre d’occurrences dans Dest supérieur ou égal au support
RNTI - X - 3
Recherche de sous-structures fréquentes pour l’intégration de schémas XML
minimal. Pour répondre à cette problématique, nous nous trouvons donc confrontés aux deux
problèmes suivants :
1. Quelle structure de représentation efficace utiliser ? Idéalement, étant donné que nous
considérons de grandes quantités d’arbres, nous souhaitons avoir une structure qui non
seulement soit efficace en mémoire mais également adaptée aux traitements que nous
souhaitons faire.
2. Comment tester efficacement l’inclusion d’un arbre dans un sous arbre ? Rechercher
l’ensemble des sous arbres fréquents nécessite de parcourir tous les arbres et d’effectuer
de très nombreuses comparaisons pour réussir à extraire des sous parties communes. Il
est donc indispensable de pouvoir trouver rapidement à partir de quel nœud la compa-
raison peut être effectuée si nous souhaitons améliorer l’efficacité de la recherche.
2.3 Les travaux existants
Dans cette partie, nous nous intéressons non seulement aux approches de recherche mais
nous examinons également les méthodes de représentation des arbres. Les travaux dans le
domaine de la fouille de données arborescentes peuvent être distingués selon qu’ils traitent les
arbres ordonnés ou non. Nous situant dans le contexte de schémas XML, il s’avère nécessaire
de traiter l’ordre des éléments si celui-ci est spécifié. Nous nous focaliserons donc sur des
propositions prenant en charge les arbres ordonnés.
A notre connaissance, il existe très peu de travaux proposant des méthodes d’extraction
pour les arbres ordonnés (Zaki, 2002; Asai et al., 2002). Ainsi Zaki (2002) propose l’algo-
rithme TreeMiner pour extraire des sous-arbres fréquents selon une inclusion incrustée. Une
représentation originale des arbres facilite la gestion des candidats et offre des performances
intéressantes. (Asai et al., 2002) traitent également de la problématique des arbres ordonnés
selon la définition de l’inclusion induite. L’approche proposée, FREQT, adopte une structure
de représentation du type «First-child/next-sibling» comme illustrée figure 2. Lors du proces-
sus de fouille, pour chaque structure fréquente, FREQT conserve la liste des nœuds les plus
à droite dans les arbres de la base de données supportant cette structure. Nous illustrons ceci
figure 3 où pour le fréquent a, les 6 positions dans la base de données sont stockées, et pour le
fréquent cales 3 positions les plus à droite sont stockées. Cette information représente les
positions où cette structure est supportée dans la base.
Si nous examinons plus attentivement la représentation verticale adoptée dans TreeMiner,
elle aboutit en fait à stocker trois fois la taille d’un arbre, i.e. 3|T|. De la même manière la
structure utilisée dans FREQT offre des performances attractives, mais cette représentation
conduit également à tripler la taille de la base afin de stocker les informations nécessaires.
Même si elles n’abordent pas la même problématique, des approches de représentation
efficaces des arbres en 2|T|ont été récemment proposées (Wang et al., 2004; Chi et al., 2004,
2003). Cependant, outre le fait qu’elles ne considèrent pas la notion d’ordre, elles n’utilisent
pas des propriétés aussi intéressantes que les travaux précédents afin d’améliorer le processus
d’extraction.
Notre objectif est donc de permettre une recherche de sous-arbres ordonnés mais, contrai-
rement aux approches existantes dans ce contexte, d’utiliser une représentation peu coûteuse
en mémoire, i.e. en 2|T|. Cette structure doit en outre posséder des propriétés intéressantes
RNTI - X - 4
Del Razo et al.
Représentation "first child − next sibling" de T
b a c aa
2 3 410
1 2 3
4next
first
lb
T
a
b a
c
a
T
0
1
2
3
4
FIG. 2 – FREQT : représentation d’un arbre
b
c
a
cb b
c
c
a
c
b
7
8
9
10
11
12
b
c a b
a
14
15
16 17
13
a
c
a c
c
22
2120
19
18
4
T
3
T
1
T
a
F1
b
c
(p=0, l=a)
c
a
F2
...
...
{4, 11, 20}
c
a
c {5, 12}
F3
...
...
{4, 11, 13, 16, 18, 20}
{3, 6, 7, 9, 15, 17}
{2, 5, 8 ,10, 12, 14, 19, 21, 22}
(p=0, l=c)
min_supp = 0.5
2
3 4
5 6
D
2
T
FIG. 3 – FREQT : stockage de la liste des positions des fréquents
pour améliorer le processus d’extraction. C’est dans ce contexte que se situe notre proposition
RSF décrite à la section 3.
3 Proposition
Dans cet article, nous proposons de nouveaux algorithmes permettant l’extraction efficace
de sous-arbres fréquents ordonnés au sein d’une base de données arborescentes. Dans un pre-
mier temps, nous décrivons la structure adoptée et nous en soulignons ses intérêts. Dans un
second temps, nous proposons un survol de notre approche et nous montrons de quelle façon
les propriétés de cette structure sont utilisées afin d’améliorer le processus de fouille. Finale-
ment, nous décrivons plus formellement les algorithmes proposés.
Pour illustrer nos propos, nous utiliserons la base d’arbres indiquée figure 4.
3.1 Représentation des arbres
Pour représenter les différents arbres manipulés au sein de notre approche, nous adoptons
la représentation proposée dans (Razo et al., 2005). Un arbre est ainsi décrit à l’aide de deux
vecteurs comme proposé dans Weiss (1998). Le premier, nommé st, conserve la position du
RNTI - X - 5
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !