Alignement approximatif d'arbres pour la recherche d ... - Irisa

Technique et sciences informatiques. Volume 22 ...... numériques les modèles dérivés de la logique floue (Zadeh, 1965) sont bien adaptés. Pour les attributs à ...
388KB taille 8 téléchargements 373 vues
Alignement approximatif d’arbres pour la recherche d’information en contexte dans les données XML hétérogènes Fusion d’information structurées et textuelles Pierre-François Marteau & Gildas Ménier VALORIA Université de Bretagne Sud Rue Yves Mainguy, 56 000 Vannes RÉSUMÉ.

Nous proposons des algorithmes dédiées à l'indexation et à la recherche approximative d'information dans les banques de données hétérogènes semi-structurées XML. Le modèle d'indexation proposé est bien adapté à la caractérisation de la recherche de contenu peu structuré (texte, image, séries temporelles) dans les contextes XML définis par les structures d'arbres associées aux documents indexés. Les mécanismes de recherche mis en œuvre s'appuient sur des principes d'alignement quasi-optimaux d'arbres qui exploitent une distance de Levenstein modifiée et sur des heuristiques de fusion d'information. La complexité des algorithmes proposés est étudiée. Une implémentation qui exploite simultanément l'information structurée, i.e. l’arborescence des éléments XML, les relations ‘attribut/valeur’ qui sont attachés à ces éléments, et le contenu texte libre des documents indexés est décrite. Une analyse préliminaire de performance est présentée pour cette implémentation. MOTS-CLÉS : XML, Base de données hétérogènes, recherche et extraction d'information, fusion d'information, distance d'édition de Levenstein, opérateurs de recherche basés sur des heuristiques. ABSTRACT. We propose specific data structures designed to the indexing and retrieval of information elements in heterogeneous XML data bases (originated from a set of WEB pages for instance). The indexing scheme is well suited to the management of various contextual searches, expressed either at a structural level or at an information content level. Search mechanisms are based on context tree matching algorithms that involve a modified Levenstein editing distance and information fusion heuristics. Complexity of main algorithms is studied and performance analyzed. The implementation that is finally described highlights the mixing of structured information presented as field/value instances and free text elements. KEYWORDS: XML, Heterogeneous data base, information retrieval, information fusion, Levenstein edition distance, heuristic based operators.

Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

2 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

1

Introduction

La société de l'information engendre un nombre considérable de documents hétérogènes, tant en forme qu'en nature. Une part croissante de ces documents est accessible sur la toile (web) constituée par l'interconnexion de sources d'information plus ou moins indépendantes. En contrepartie, la qualité des accès à ces sources distribuées limite de manière importante l'exploitation des contenus documentaires disponibles. Les moteurs de recherche actifs sur la toile se heurtent en effet à une sorte de facteur d'incertitude constitué du produit des grandeurs 'précision' (le rapport entre le nombre de réponses pertinentes ramenées par le système et le nombre total de réponse) et 'rappel' (le rapport entre le nombre de réponses pertinentes ramenées par le système et le nombre total de réponses pertinentes) inhérent à la recherche d'informations non ou peu structurées tel que les textes, les images ou encore les séries temporelles. D'autres causes, telles que l'aspect volatil de l'information, la topologie du réseau d'interconnexions constitué par la toile, et la qualité intrinsèque du contenu des sources d'information elles-mêmes constituent autant de facteurs aggravants. Face à l'hétérogénéité des sources d'information et de leurs contenus, l'émergence d'XML (Bray & al., 2000) traduit un effort croissant qui vise à normaliser la présentation et l'archivage de l'information. Dans nombre de domaines de spécialité comme la chimie, la biologie, la santé, ou encore dans le cadre de la gestion des processus industriels (gestion de production, gestion des 'back office', CAO, etc.) des structures de documents standardisés (Document Type Definition) sont proposées pour améliorer le partage, l'échange d'information et l'interopérabilité des applications. Cet effort de normalisation, s'il permet d'espérer une amélioration de la qualité de l'information accessible en ligne ne résout pas cependant l'ensemble des difficultés concernant l'accès à l'information. On ne peut pas en effet imaginer que l'utilisateur puisse disposer d'une connaissance suffisante sur la structure des documents accessibles pour orienter sa recherche d'information. Des outils spécialisés doivent être mis en œuvre pour guider et naviguer efficacement dans les contenus informationnels semi-structurés pour rentabiliser l'effort de structuration et encourager les développeurs de site web à participer à cet effort. Cet effort de normalisation s'accompagne donc de développements de systèmes de gestion de l'information semi-structurée (Zhao et al., 1999), ( XQuery, 2000), (Bonifati et al., 2000) etc. Dans cet article, en faisant le pari d'XML, nous proposons plus précisément une amélioration de la qualité d'accès à l'information en développant des principes algorithmiques susceptibles de s'appuyer sur les éléments structurants des documents semi-structurés pour affiner l'analyse et la recherche des contenus non structurés. La suite de cet article présente un modèle d'indexation de documents semi-structurés

Alignement approximatifs d’arbres pour la recherche d’information en contexte 3

XML et le paradigme de recherche d'information qui lui est associé. Une implémentation de ce modèle est finalement décrite.

2

Indexation en contexte XML UK: UK shares start weaker as Wall Street weighs. UK shares start weaker as Wall Street weighs. LONDON 1996-08-27

London shares started sharply lower on Tuesday after the long holiday weekend as a disappointing performance on Wall Street and technical positions in the market sparked an early markdown, traders said.

The FTSE 100 opened some 18.0 points lower at 3,889.5 as shares retrenched after the string of all-time highs last week.

(c) Reuters Limited 1996 <metadata>

Figure 1. Exemple de fichier XML extrait du corpus Reuters (Reuters 2000).

Un document XML est appréhendable sous la forme d’une structure arborescente appelée DOM (Document Object Model) dont les feuilles contiennent des éléments d’information textuels ou binaires (TEXT ou CDATA) et dont les nœuds correspondent à des éléments XML auxquels sont éventuellement associés des couples (attributs, valeurs).

4 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

Les feuilles de cet arbre peuvent faire référence à des éléments externes tels que des images, des bandes sonores, des vidéos ou du texte. Pour tout document XML bien formé, cet arbre peut-être extrait en utilisant un analyseur syntaxique (parseur) XML (IBM, 2000), (XERCES, 2002). Un exemple de document XML est présenté en figure 1, l’arbre DOM qui lui correspond est présenté en figure 2.

copyright

newsitem

dc

title

dc

headline

dc

dateline

text

p

PCDATA

metadata

p

PCDATA

codes

code

dc dc dc dc

editdetail

Figure 2. Arbre DOM correspondant à l’exemple présenté en figure 1. L’élément PCDATA correspond à des feuilles décomposables (éléments textuels par exemple)

La structure des documents XML varie en général d'un document à l'autre. Elle est implicitement véhiculée par le document lui-même et pas systématiquement déterminée par une organisation structurelle globale stable (DTD). Pour cette raison, les documents XML sont considérés plutôt comme des documents semistructurés, par opposition aux documents structurés pour lesquels aucune irrégularité structurelle n'existe (Abiteboul, 1997). Il existe bon nombre d’approches qui se sont historiquement intéressées à la question de l’interrogation de banques de données semi-structurées. Certaines relèvent du modèle relationnel (Codd, 1983) : par exemple (Stonebraker et al.), d’autres mettent en exergue les modèles classiques de recherche et d’information

Alignement approximatifs d’arbres pour la recherche d’information en contexte 5

(modèle booléen, vectoriel, etc.) (Salton et McGill 1983, Frakes et Baeza-Yates 1992), d’autres proposent des modèles d’hyperdocument (Conklin 1987), ou encore des modèles orientés objets (Kim et Lochovski 1989, Cattell 1991). Aucune de ces approches initiales ne permettent de gérer de manière coordonnée les éléments de structures et les données non structurées. Plus récemment, de nouvelles approches ont été développées pour traiter cette question de la recherche d’information en contexte structurel, ce type de recherche pouvant tenir compte plus ou moins précisément de la localisation dans la structure du document de l’occurrence de l’information non structurée recherchée. Les travaux de Baeza-Yates (Baeza-yates et al., 1997), de Sung Hyon Myaeng (Sung Hyon Myaeng et al., 1998) ou encore de Bremer (Bremer et Gertz, 2000) et Wolf (Wolff et al., 1999) visent tout particulièrement le développement d'algorithmes de recherche d'information semistructurée efficaces basés sur une exploitation des contextes structurels d'occurrence des éléments informationnels et sur des heuristiques de classement des réponses. Ces approches introduisent des algèbres sur des ensembles d’éléments structurels hiérarchiques qui correspondent à la structure arborescente de la base documentaire traitée. La nécessité d’une connaissance parfaite de la structure arborescente de la base documentaire pour exploiter la richesse des fonctions de recherche constitue la principale limite rencontrée par ces dernières approches. Dans cette dynamique, nous proposons également des principes d'indexation et de recherche d'information semi-structurée qui mettent en œuvre des mécanismes de recherche qui exploite simultanément les éléments des structures documentaires indexées et les contenus non structurés. L’innovation proposée par rapport aux dernières approches référencées repose sur l’introduction de mécanismes d’alignement approximatif des éléments structurels indexés. Ces mécanismes ont pour objectifs d’assouplir les critères de recherche portant sur le contexte structuré pour permettre à l’utilisateur d’interroger une bases d’information en faisant appel à une connaissance nulle, incomplète, imprécise ou totale de la structure de la base documentaire exploitée. Ces principes sont détaillés dans les paragraphes qui suivent.

2.1

Contexte XML

Dans la structure de l’arbre DOM, chaque nœud n (en particulier chaque feuille) peut être rattachée à la racine de l’arbre par l’intermédiaire du chemin p(n. Ce chemin est une suite ordonnée d’éléments XML. Il constitue le contexte d’occurrence du nœud n dans le document considéré. Dans le cas où une feuille l de l’arbre DOM peut être décomposée en sous éléments {ei}, on considérera que chaque sous élément ei est rattaché au contexte XML p(l). En particulier, si une feuille de l’arbre DOM est identifiée à une entité textuelle, chaque mot ei (lemme ou chaîne de caractères) présent dans l’entité textuelle pourra être également rattaché au contexte XML p(l). Ce contexte XML associé à la position de ei dans la feuille l caractérise l’occurrence de ei dans le document.

6 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

Plus précisément, p(n) est identifiable à une séquence ordonnée de nœuds

p (n) = n0 n1 ...n d n , où n0 est le nœud racine, et d+2 est la longueur de la

séquence de nœuds contenus dans le chemin p(n). Un ensemble de couples A(ni) est attaché à chaque nœud ni de la séquence ordonnée, de telle sorte que p(n) peut être représenté sous la forme suivante :

p(n) =< n0 , A(n0 ) >< n1 , A(n1 ) > ... < n, A(n) > n sera appelé dans la suite le nœud extrémité du chemin p(n). Dans le cas où le nœud considéré est une feuille l décomposable, chaque sousélément ei qu’il contient est considéré comme un nœud terminal ne possédant pas d’attribut. Dans ce cas, on considèrera que le contexte d’occurrence de ei est le chemin suivant :

p(ei ) =< n0 , A(n0 ) >< n1 , A(n1 ) > ... < l , A(n) >< ei , Æ > 2.2

Modèle d’indexation

Nous proposons un modèle d’indexation basé sur la notion de listes inverses pour la prise en compte des contextes XML. La notion de liste inverse est une structure de données qui, à l’inverse des documents, prends en entrées des éléments de contenus documentaires et fournit en sortie les références documentaires qui contiennent ces élément de contenus. Pour le modèle proposé, les entrées de la liste inverse sont soit: ·

des sous-éléments d’une feuille

·

des nœuds de l’arbre DOM

Pour un sous élément ei d’une feuille l, trois éléments d’informations sont rattachés : · un lien vers l’adresse permettant de localiser le document (Uniform Resource Locator : URL). Ce lien permet de retrouver la source du document indexé, · un index spécifiant la localisation de l’élément à l’intérieur de la feuille, · un lien vers le contexte XML p(l) caractérisant l’occurrence de la feuille l dans l’arbre DOM. Pour un nœud n de l’arbre DOM, seul le lien sur l’URL du document et le lien vers le contexte XML p(n) d’occurrence du nœud n sont requis. Les arbres de recherches binaires aléatoires appelés TREAP (Seidel et al., 1996) associés à des tables de hachage constituent des structures algorithmiques particulièrement efficaces pour encoder les listes inverses résultantes d’un processus d’indexation. Les TREAP sont des structures dynamiques qui peuvent entre autres être

Alignement approximatifs d’arbres pour la recherche d’information en contexte 7

rééquilibrées en fonction de paramètres tels que la fréquence d’apparition des items constitutifs des requêtes soumises, ce qui permet des temps de réponse meilleurs comparativement à l’utilisation de tables de hachage pures par exemple.

3

Paradigme de recherche d’information

Du fait de l’hétérogénéité des structures et des contenus des documents disponibles au format XML, il n’est pas envisageable d’imaginer que l’utilisateur puisse être à même de connaître l’ensemble des structures DOM correspondantes. Par suite, l’utilisateur n’est pas à même de spécifier de manière systématique une requête précise, tant dans sa structure que dans son contenu sémantique. Dans une telle situation, il semble raisonnable de proposer des principes de recherche d’information exacts et approchés pour gérer au mieux l’incertitude inhérente à la requête de l’utilisateur. Le format des documents indexés étant XML, il n’est pas restrictif de concevoir que la requête elle même puisse être représentée par un arbre DOM : la requête elle même peut être d’une manière générale traduite sous la forme de document XML dont la DTD (Document Type Definition) reproduit la syntaxe du langage de requête. Si tel est le cas, la recherche de bas niveau peut être appréhendée par le biais d’algorithmes d’alignement approximatif d’arbres, dans le but de faire correspondre de manière approchée certaines branches de l’arbre DOM issu de la requête avec les arbres DOM issus des documents indexés. C’est l’option conceptuelle que nous avons adoptée. Les algorithmes d’alignement approximatifs d’arbres décrits dans la littérature sont basés sur des distances d’édition et des fonctions d’association ou de correspondance (Tai, 1979) (Wang et al., 1998). Pour (Tai, 1979) l’alignement de deux arbres T1 et T2, est caractérisé par une complexité qui s’exprime a minima en O(|T1|.|T2|) où |Ti| est le nombre de nœuds contenus dans Ti. Cette complexité est bien supérieure pour (Wang et al., 1998). Ces principes d’alignement d’arbres ne sont pas adaptés à la tâche que l’on envisage ici. En premier lieu, la complexité algorithmique est trop élevée au regard du grand volume documentaire qu’il est nécessaire de considérer pour une exploitation à grande échelle. En deuxième lieu, la sémantique du langage d’interrogation qui découle de tels algorithmes est trop limitée comparativement aux langages d’interrogation plus spécifiques tels que XQL (Robie et al., 1998) Nous recherchons plutôt des principes de recherche de bas niveau capables d’aligner approximativement des sous chemins de type p(n) contenus dans les arbres DOM des documents indexés avec un ou des sous chemin p(r) contenus dans la spécification d’une requête. Plus précisément, plutôt que d’envisager des alignements portant sur des arbres complets, nous recherchons des alignements de chemins de type « racine-feuille » ou « racine-nœud ». A plus haut niveau nous recherchons à définir un langage de requête plus évolué, qui intègre des expressions élémentaires {p(n)} et des expressions complexes, constituées à partir de

8 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

l’assemblage d’expressions élémentaires qui exploitent des opérateurs booléens classiques ou ensemblistes, des opérateurs flous ou encore des opérateurs basés sur des heuristiques dédiées.

3.1

Alignement approximatif des sous-structures p(n)

Soit R une requête élémentaire exprimée sous la forme d’un chemin pR, pour lequel les couples sont remplacés par des conditions ou contraintes Cd qui portent sur les valeurs d’attributs.

p R =< n0 , Cd (n0 ) >< n1 , Cd (n1 ) > ... < n, Cd (n) > Nous proposons d’évaluer la similarité entre un chemin pR représentant une requête élémentaire et l’arbre DOM, noté TD , correspondant à un document D indexé de la manière suivante :

d ( p R , T D ) = Min d L ( p R , piD ) i

où dL s’apparente à une pseudo distance d’édition de type Levenstein (Levenstein, 1966) et {

piD } est l’ensemble des chemins de la racine de l’arbre DOM à un nœud

quelconque de l’arbre DOM. Cette pseudo distance est explicitée au paragraphe 3.2.1 La complexité d’un tel algorithme est : O(l(pR).prf(TD).|{ chemins {

piD }|), avec |{ piD }| le cardinal de l’ensemble des

piD }, i.e. le nombre de nœuds contenus de l’arbre TD, l(p) la

longueur du chemin p et prf(T) la profondeur de l'arbre T. Pour des documents engendrant des arbres DOM de petite taille, cette complexité est parfaitement gérable, même lorsque le nombre de documents indexés est grand à condition que le nombre de feuilles de l’arbre DOM reste raisonnable. Cependant, pour la plupart des documents produits quotidiennement, les arbres DOM équivalents sont caractérisés par une profondeur très petite comparativement à leur largeur très grande, impliquant un nombre de feuilles souvent très significatif. Ceci conduit à une difficulté importante puisque la complexité augmente linéairement avec le terme :|{ réduire {

piD }|. Pour contourner cet obstacle, une approche consiste à

piD } en l’ensemble { piD , R } des chemins issus de la racine de l’arbre DOM

du document D et dont le nœud extrémité correspond de manière stricte ou approximative au nœud extrémité du chemin pR correspondant à la requête. En

Alignement approximatifs d’arbres pour la recherche d’information en contexte 9

effectuant cette réduction de {

piD } en { piD , R } on aboutit au nouveau calcul de

similarité :

d ( p R , T D ) = Min d L ( p R , piD , R ) Chaque fois que |{ piD , R }| | ³ | < | £ | near Op2 ::= exist Op3 ::= in Attribut : := Identificateur d’attribut Valeur : := entier | réel | caractère | chaîne-de-caractères Figure 5. BNF pour la spécification des contraintes sur les attributs.

La BNF décrite en figure 5 présente la syntaxe élémentaire des contraintes que nous envisageons à ce jour. La liste des opérateurs proposés pour la construction des

Alignement approximatifs d’arbres pour la recherche d’information en contexte 15

contraintes complexes n’est pas exhaustive1, mais donne un aperçu des mécanismes en jeu. Le degré de satisfaction de ces contraintes est évalué au travers du calcul de l’heuristique a qui repose sur le calcul récursif suivant, pour lequel n représente le nœud contenant les attributs sur lequel les contraintes sont évaluées et Ci représente une contrainte : a(and C1(n), C2(n), …,Ck(n)) = Mini {a(Ci(n)} a(or C1(n), C2(n), …,Ck(n)) = Maxi {a(Ci(n)} a(not C1(n)) = 1 - a(Ci(n)) a(exist _attribut) = 1 si l’attribut ‘_attribut’ existe pour le nœud n, 0 sinon. a(==_ attribut _valeur) = 1 si l’attribut ‘_attribut’ existe pour le nœud n et si sa valeur est égale à ‘_valeur’, 0 sinon. a(> _attribut _valeur) = 1 si l’attribut ‘_attribut’ existe pour le nœud n et si sa valeur est supérieure à ‘_valeur’, 0 sinon. a(³ _attribut _valeur) = 1 si l’attribut ‘_attribut’ existe pour le nœud n et si sa valeur est supérieure ou égale à ‘_valeur’, 0 sinon. a(< _attribut _valeur) = 1 si l’attribut ‘_attribut’ existe pour le nœud n et si sa valeur est inférieure à ‘_valeur’, 0 sinon. a(£ _attribut _valeur) = 1 si l’attribut ‘_attribut’ existe pour le nœud n et si sa valeur est inférieure ou égale à ‘_valeur’, 0 sinon. a(in _attribut _valeur1 _valeur2 … _valeurj) = 1 si l’attribut ‘_attribut’ existe pour le nœud n et si sa valeur est identifiable à ‘_valeur1’, ‘_valeur2’, …, ou ‘_valeurj’, 0 sinon. a(near _attribut _valeur) = D(valeur(attribut), _valeur) si l’attribut ‘_attribut’ existe pour le nœud n, 0 sinon. D(valeur(_attribut), valeur) est une fonction qui varie entre 0 et 1 et qui exprime la proximité entre la valeur ‘_valeur’ et la valeur de l’attribut ‘_attribut’

3.5

Requêtes complexes

Des requêtes complexes sont construites à partir de requêtes élémentaires et d'opérateurs de composition booléens ou relevant d'heuristiques spécifiques : à ce jour, nous proposons 8 opérateurs pour la construction des requêtes hors prise en compte des attributs, et 11 opérateurs pour la spécification des contraintes portant sur les attributs. Ces listes d’opérateurs ne sont pas exhaustives mais présentent les 1

Des opérateurs flous peuvent être introduit pour satisfaire certaines applications, comme la recherche de données dans des bases de données floues (Fagin, 1998)

16 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

principes de construction d’un langage de requête et de la sémantique qui lui est associée, cette dernière s’exprimant en terme de calcul de similarité et d’heuristiques h(nR,n) et a( nR,n). 3.5.1

Opérateurs de composition complexes

pour l’écriture de requêtes

requêtes

Les huit opérateurs proposés pour la construction du langage de requête sont les suivants : ·

Les opérateurs booléens ou ensemblistes n-aires{or, and},

·

L’opérateur ensembliste binaire{without} qui permet d'éliminer de la liste des résultats en cours, les résultats d'une autre requête.

·

L’opérateur permettant de rechercher une séquence d’arguments {seq} : par exemple, (seq message * erreur) recherchera les documents contenant les mots ‘message’ suivi par un mot quelconque (*), suivi par le mot ‘erreur’.

·

Les opérateurs de recherche en contexte : {in, same} qui permettent de rechercher une liste d’arguments respectivement dans un contexte XML déterminé ou dans un même contexte XML quelqu'il soit,

·

Les deux opérateurs {+, same+} permettant de pondérer les arguments de l'opérateur en fonction d'une heuristique prédéfinie, TFIDF (term frequency by inverse document frequency) (Salton et al. 1988) par exemple.

En s’inspirant des principes de décision multicritères floue (Zadeh, 1965) (Bellman et Zadeh, 1970) (Yager, 1977) le calcul de similarité entre les expressions complexes et un document D s'effectue de manière récursive de la manière suivante, où argi représente une requête élémentaire ou complexe, sauf si défini autrement :

d ((or arg1 ,..., arg n ), T D ) = Max(d (arg i , T D )) i

d ((and arg1 ,..., arg n ), T ) = Min(d (arg i , T D )) D

i

{

}

d (( without arg1 , arg 2 ), T D ) = Max 0, d (arg1 , T D ) - d (arg 2 , T D ) d (( seq arg 1 ,..., arg n ), T D ) = 1 si arg1,arg2, …, argn apparaissent en

séquence dans l’une des feuilles décomposables de l’arbre DOM TD, 0 sinon.

d ((in ctx arg 1 ,..., arg n ), T D ) = Min(d (ctx / arg i , T D ) i

où ctx est un contexte XML (i.e. un chemin ou sous-chemin) de recherche et ctx/argi le chemin constitué de la concaténation de ctx et de argi..

Alignement approximatifs d’arbres pour la recherche d’information en contexte 17

d (( same arg1 ,..., arg n ), T D ) = Max (d (ctx D / arg i , T D ) D ctx

où ctxD est un chemin quelconque de l'arbre DOM extrait de D.

d ((+ arg 1 ,..., arg n ), T D ) = å li (d (arg i , T D ) i

où li est un facteur de pondération qui caractérise le pouvoir discriminant de argi, ici considéré comme élément d’une feuille décomposable de TD. On peut choisir pour li l'heuristique TFIDF par exemple .

ì ü d (( same + arg1 ,..., arg n ), T D ) = Max li (d (ctx D / arg i , T D )ý í å D ctx î i þ

où ctxD est un chemin quelconque de l'arbre DOM extrait de D et li est un facteur de pondération qui caractérise le pouvoir discriminant argi. On peut choisir ici également pour li l'heuristique TFIDF par exemple. 4

Première implémentation pour la fouille de documents textuels semistructurés

Les documents textuels sont caractérisés par un très grand nombre de chemins différents reliant la racine de l'arbre DOM aux feuilles constituées d'éléments de texte libre décomposables en séquences de chaînes de caractères. En effet, chaque chaîne s contenue dans un élément texte libre est étiquetée dans l'arbre DOM par les chemins qui caractérisent les contextes d'occurrence de s. Par suite, la réduction de l'ensemble des chemins {

piD } en l'ensemble { piD , R } est plus que jamais nécessaire

pour maintenir une complexité gérable. {

piD , R } est directement lié à la liste inverse

dont les entrées sont les chaînes de caractères ou les nœuds des arbres DOM associés aux documents. 4.1

Fusion des informations issues des données textuelles et des attributs

Faute de recul suffisant à ce jour,, la fusion des heuristiques h(nR,n), a(CnR(n)) est implémentée de manière triviale grâce à l'utilisation d'une fonction linéaire qui permet d'ajuster le poids relatif d'une source d'information par rapport à l'autre :

h(h (n R , n),a (Cn R (n))) = (1 - l ).h (n R , n) + l.(1 - a (Cn R (n))) avec l Î [0, 1[ , facteur permettant de pondérer l'importance des attributs vis-à-vis des éléments XML. La valeur a associer à ce paramètre est laissé à l’appréciation de l’utilisateur.

18 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

4.1.1

Heuristique h(nR,n)

En nous appuyant sur quelques résultats issus d’expérimentations qui visent à intégrer des techniques de traitement automatique des langues dans les outils de recherche documentaire (de Loupy, 1999), nous proposons, à défaut d’autres résultats significatifs, l’heuristique suivante pour pondérer les relations conceptuelles exploitées pour rapprocher les nœuds de l’arbre DOM ou les souséléments linguistiques (termes) des feuilles décomposables de cet arbre avec les spécifications de la requête: h(nR,n)=wsy= 0.8 si nR et n sont synonymes, h(nR,n)=whr = 0.7 si nR est hyperonymes de n, h(nR,n)=who = 0.1 si nR est hyponymes de n. 4.1.2

Heuristique a(CnR(n))

L’ensemble des opérateurs définis au paragraphe 3.4 sont implémentés à l’exception de l’opérateur de proximité ‘near’.

4.2

Evaluations

Durées d'indexation en seconde

Les évaluations concernent l'évolution du temps d'indexation et de recherche de l'information en fonction du volume de données traitées. Pour assurer un minimum d’hétérogénéité, les tests portent sur les bases documentaires Reuters (Reuters 2000) et Le monde (Le Monde 1987) constituée de dépêches d’agence de presse et d’articles. Les données sont préalablement stockées sur disque dur local. 10000

Temps CPU Temps écoulé

1000 100 10 1 0,1

1

10

100

Volume indexé en mega octets

Figure 6. Durées d'indexation en fonction de la taille des données indexées. Le temps CPU indique le temps consacré par la machine multi processus à l ‘exécution du processus d’indexation. Le temps écoulé absolu observé pour l’éxecution du processus.

Alignement approximatifs d’arbres pour la recherche d’information en contexte 19

Temps de réponse (milliseconde)

La figure 6 présente l'évolution des durées d'indexation (temps CPU et temps écoulé sur un Pentium III, 1,2 Giga Hz de fréquence d'horloge, 256 Mega Octets de mémoire RAM) pour la base Reuters en fonction du volume des données indexées que l'on fait varier de 100 Kilo octets à 100 méga octets. Ces évolutions quasi linéaires montrent que l'indexation de grandes bases documentaires XML (de l'ordre du Giga octets) est un objectif atteignable, la parallélisation des algorithmes d’indexation et de recherche ne constituant pas un obstacle technique important (il s’agit plus d’une parallélisation des données que d’une parallélisation des traitements). 100000 10000 1000 100 10 1 0,1

1

10

100

volume indexé (mega octets)

Figure 7. Temps de réponse moyen en fonction de la taille des données indexées.

Le temps de réponse moyen du système est estimé sur la base d'un jeu de requêtes complexes soumis sur les données Reuters et Le Monde exploitées (dont la taille globale varie de 100 kilo octets à 100 méga octets). 50 requêtes complexes sont générées semi aléatoirement pour les besoins du test sur la base des structures et termes indexés automatiquement. Celles ci sont enrichies par utilisation d'un thésaurus de 35000 entrées (MeSH, 2002). Un exemple de requête et d'enrichissement est donné en figure 8. Cet exemple présente une erreur au niveau de l’élément ‘newsitem’ codé ‘news’ dans la spécification qui exploite l’opérateur ‘in’. Il montre la possibilité de mixer une connaissance précise de la structure des documents recherchés via l’opérateur de recherche en contexte ‘in’ une connaissance imparfaite sur cette structure (‘news’ à la place de ‘newsitem’) et une connaissance quasi inexistante via l’utilisation de l’opérateur en contexte ‘same’.

20 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

(and (in [/news/title/] uk shares) (same+ wall street (seq cut rate)) [/newsitem/metadata/dc(and (== element dc.date.published) (>= value 1995-01-01))/]) (and (in [/news/title/] (OR angleterre uk (seq great britain ) (SAME united kindom ) (seq royaume uni ) England Wales London (seq Channel Islands ) Guernsey Hebrides (seq Northern Ireland ) Scotland ) Share ) (same+ wall street (seq cut rate)) [/metadata/dc(and (== element dc.date.published) (>= value 1995-01-01))/]) Figure 8. Un exemple de requête complexe et le résultat de son enrichissement en caractères italiques. Notez que le chemin spécifié dans l’opérateur ‘in’ ‘/news/title/’ est inexact : il aurait fallut spécifier ‘/newsitem/title/’. L’algorithme d’alignement approximatif permet de corriger en partie ce défaut de spécification.

La figure 7 présente l'évolution du temps de réponse moyen en fonction du volume des données indexées (de 100 kilo octets à 100 méga octets). Cette courbe montre également un comportement quasi constant des algorithmes de recherche. La dégradation du temps de réponse très lente (on passe de 9 secondes à 11 secondes et demi) ouvre là encore des perspectives très encourageantes pour le traitement de banques d'information de grandes tailles. Quant à la qualité des accès, les performances exprimées en terme de taux de rappel et de précision n’ont pas pu être évaluées selon un protocole expérimental précis comme dans TREC (TREC, 2002) par exemple. Il n’est pas certain que de tels protocoles soient adaptés à l’extraction d’information dans les bases de données hétérogènes et semi structurées. Des protocoles dédiés non disponibles à ce jour doivent être proposés pour valider et comparer plus précisément nos travaux. Les travaux en cours dans le cadre de la constitution du WEB XML (Mignet et al., 2002) et de l’évaluation des moteurs de recherche sur le WEB (TREC10, 2001) (Soboroff, 2002) devront permettre dans une certaine mesure d’évaluer de manière plus quantitative l’intérêt de l’approche proposée. Quoiqu’il en soit, les mécanismes de recherche approximative sur le contexte structurel d’occurrence du contenu non structuré n’a pas fait l’objet à notre connaissance de développement comparable à ce qui nous proposons, ce qui limite à ce jour l’impact d’une étude comparative avec des systèmes existants.

Alignement approximatifs d’arbres pour la recherche d’information en contexte 21

5

Conclusion

Nous avons présenté des algorithmes de recherche approximative pour retrouver des informations enfouies dans des bases de documents (par exemple extraits du WEB) et converti au format XML. Ces algorithmes reposent sur des mécanismes d'alignement de chemins issus d'une interprétation de la requête d'une part et des sous-structures des arbres DOM associés aux documents indexés d'autre part. La complexité des algorithmes d'alignement est maintenue aussi basse que possible en ramenant un problème d'alignement d'arbre à un ensemble d'alignements de chemins simples contraints par les caractéristiques de la requête. Ces mécanismes permettent la fusion de données : ·

structurées sous la forme de paires , ou de chemins caractérisant l'organisation structurelle du document ( …)

·

non ou peu structurées comme les données textuelles ou les séries temporelles, objet de développements à venir.

La similarité entre une requête et un document est évaluée grâce à l'utilisation d'une distance de Levenstein qui intègre des heuristiques, i.e. des fonctions de pondération, pour prendre en compte une forme de sémantique lexicale au niveau des éléments XML ou au niveau des données structurées, et pour intégrer des mécanismes d’alignement flous au niveau des attributs associés aux éléments XML. Ces mécanismes permettent de s’affranchir d’une connaissance complète ou rigoureuse de la structure des documents exploités. Un langage de requête simple basé sur un ensemble d'opérateurs ensemblistes ou booléens, d'opérateurs qui intègrent des heuristiques type TFIDF et des opérateurs permettant de spécifier des contraintes sur les attributs a été développé dans le cadre d'une implémentation qui permet de fusionner information structurée et texte libre (PCDATA) contenus dans les documents XML. Les résultats obtenus qui s'expriment en terme de vitesse d'indexation, taux d'occupation mémoire et temps de réponse démontrent la faisabilité de l'approche proposée pour le traitement de grands volumes de données. La procédure de validation reste néanmoins limitée. Une étude comparative entre différentes approches n’a pas pu être menée à bien à ce jour, faute de protocole d’évaluation adapté. Par ailleurs, les mécanismes de recherche approximative sur les éléments structurels mis en jeux n’ont pas d’équivalent à notre connaissance, ce qui limite en soit toute étude comparative. Les perspectives envisagées à ce jour concernent l'élargissement des fonctionnalités algorithmiques pour traiter d'autres types de données non structurées telles que les séries temporelles ou les données séquentielles. Elles concernent également l’élargissement des opérateurs dédiés à la construction des requêtes tels que les opérateurs de jointure ou encore les opérateurs de satisfaction floue des contraintes sur les attributs. Enfin la parallélisation des algorithmes d’indexation et de recherche proposés constitue un dernier axe nécessaire de développement pour l’exploitation des principes proposés dans le contexte de la gestion des grandes masses de données.

22 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034

6

References

Abiteboul S. « Querying semi-structured data ». In F. Afrati and Ph. Kolaitis, editors, Proc. of the 6th Int. Conf. on Database Theory (ICDT), Lecture Notes in Computer Science 1186, pages 1-18. Springer, January 1997. Baeza-Yates R. and Navarro G. « Proximal Nodes: A Model to query document databases by contents and structure », ACM Transactions on Information Systems 15 (4), October 1997, pp. 401-435., 1997. Bellman,R.E. and L.A. Zadeh.. « Decision Making in a Fuzzy Environment », Management Science, 17,141-164, 1970. Bonifati A., Ceri S. « Comparative Analysis of Five XML Query Languages » ACM SIGMOD Volume 29 Issue 1 P.68-69 Mars 2000 Bray T., Paoli J., Sperberg-McQueen C.M., Maler E. « Extensible Markup Language (XML) » 1.0 (Second Edition) W3C Recommendation 6 October 2000. Chanod J.P.- « Natural Language Processing and Digital Libraries », in Information Extraction, ed. M.T.Pazienza, LNAI 1714, pp.17-31, 1999. Fagin R., « Fuzzy querries in multimedia database systems », Proc. ACM SIGACT-SIGMODSIGART symposium of database systems, , pages 1--10, June 1998. IBM (International Business Machine Corporation), XML Extender (Administration and Programming), 2000 Le Monde, Electronic archiving of "Le Monde" articles started on 1 January 1987. http://www.elra.info/ , 1987. Levenstein A., « Binary Codes Capable of Correcting Deletions, Insertions and Reversals ». Sov.Phy. Dohl. Vol.10, P.707-710, 1966 de Loupy Claude, « Évaluation de l’Apport de Connaissances Linguistiques en Désambiguïsation Sémantique et Recherche Documentaire », Thèse de doctorat, Laboratoire d’Informatique d’Avignon, Université d’Avignon et des Pays de Vaucluse, 1999 Ménier G., Marteau P.F., « Information retrieval in heterogeneous XML knowledge bases », The 9th International Conference on Information Processing and Magement of Uncertainty in Knowledge-Based Systems , IEEE, 1-5 July, Annecy, France, 2002. Mignet L, Barbosa D. and Veltri P., (2002) « The XML Web: a First Study ». In Proceedings of the Twelfth International World Wide Web Conference. MeSH, the National Library of Medicine's http://www.nlm.nih.gov/mesh/meshhome.html

controlled

vocabulary

Reuters Corpus, English language, Vol. 1, 1996-08-20 http://www.reuters.com/researchandstandards/corpus, 2000.

to

thesaurus. 1997-08-19,

Revault J., « Propagation of Pertinence Indicator using Distance Models », The 9th International Conference on Information Processing and Magement of Uncertainty in Knowledge-Based Systems , IEEE, 1-5 July, Annecy, France, 2002.

Alignement approximatifs d’arbres pour la recherche d’information en contexte 23 J. Robie, J. Lapp, D. Schach, « XML Query Language (XQL) », W3C-QL '98 workshop paper: http://www.w3.org/TandS/QL/QL98/pp/xql.html, 1998. Salton G. and Buckeley C., « Term-weighting approaches in automatic text retrieval », Information Processing and Management, 24, 513-523, 1988 Scheffner D., Conrad R. « Access Support Tree & TextArray: A Model for Physical Storage of XML Documents ». Workshop "Web Databases" of the Annual Conference of the German and Austrian Computer Societies 26.- 28. September 2001 in Vienna, Austria Seidel R. and Aragon C. R. « Randomized Binary Search Trees ». Algorithmica, 16(4/5):464497, 1996. Soboroff I., Does « WT10g look like the web? » Proceedings of the 25th annual international ACM SIGIR conference on Research and development in information retrieval, 2002 , Tampere, Finland Sowa J.F.- « Reading Template to Language and Logic, ed. Pazienza », Information Extraction, LNAI, 1714, pp.95-119, Springer-Verlag, 1999 Sung Hyon Myaeng and Dong-Hyun Jang. « A flexible model for retrieval of sgml documents ». SIGIR98, 1998. Tai, K.C « The tree to tree correction problem ». J.ACM, 26(3):422-433, 1979. Todirascu A., de Beuvron F., « Using Description Logics for Ontology Extraction », Conférence TALN 2000, Lausanne, 16-18 octobre, 2000 TREC, The Text REtrieval Conference (TREC), http://trec.nist.gov/, 2002. TREC 10, http://trec.nist.gov/pubs/trec10/t10_proceedings.html, 2001 Wagner R., Fisher M. « The String-to-String Correction Problem ». Journal of the Association for Computing Machinery, Vol.12, No.1, p.168-173, 1974 Wang T.L.J, Shapiro B., Shasha D., Zhang K., Currey K.M.. « An algorithm for finding the largest approximately common substructures of two trees ». In J. IEEE Pattern Analysis and Machine Intelligence, vol.20, N°8, August 1998. J.E. Wolff, H. Flörke, A.B. Cremers: "XPRES: a Ranking Approach to Retrieval on Structured Documents". Technical Report IAI-TR-99-12, University of Bonn, ftp://ftp3.informatik.uni-bonn.de/pub/paper/tr/IAI-TR-99-12.ps.gz , July 1999. Xerces- XML parsers in Java, C++ (with Perl and COM bindings). http://xml.apache.org/, 2002. XQuery by Xhive http://www.xhive.com/ Yager, R.R. « Multiple Objective Decision-Making Using Fuzzy Sets » Intl. J. Man-Machine Studies, 9, 375-382, 1977. Zadeh. L.A.. « Fuzzy Sets » Information and Control, 8, 338-353, 1965 Zhao B. Y., Anthony Joseph, « XSet: A Lightweight XML Search Engine for Internet Applications », http://www.cs.berkeley.edu/~ravenben/xset/, 1999.

24 Technique et sciences informatiques. Volume 22 – n°7-8/2003, Pages 1011-1034 Biographie Pierre-François Marteau est professeur des universités à l'Université de Bretagne Sud. Il est ingénieur de l’Ecole Nationale Supérieure d’Electronique, d’Informatique et de Radioélectricité de Bordeaux, docteur de l’Institut National Polytechnique de Grenoble. Il anime le thème « Apprentissage et Recherche d’Information » (APRIME) au sein du laboratoire de recherche VALORIA. Ses recherches sont centrées sur la modélisation et le traitement de données numériques et symboliques.

Gildas Ménier est Maître de conférences au laboratoire Valoria de L'Université de Bretagne Sud et participe à l'animation du groupe APRIME (Apprentissage Recherche d'Information et Modélisation de l'Expertise). Il est titulaire d'un doctorat de Rennes, IRISA dans le domaine de l'interprétation de forme par méthode évolutionniste. Ses centres d'intérêt regroupent les méthodes d'apprentissage automatique et l'intelligence artificielle non symbolique et les applications dans le domaine de la recherche d'information.