• Aucun résultat trouvé

Chapitre II – Approches de gestion de documents multistructurés

III. Solutions basées sur des modèles

III.2. Le modèle Proximal Node

Le modèle « Proximal Node » a été introduit par Navarro et Baeza-Yates (Navarro et Baeza-Yates 1997) dans l‘objectif de proposer un langage d‘interrogation de documents qui exploite aussi bien le contenu que la ou les structures d‘un document. Ce modèle est spécifique aux documents texte. Chaque structure est une arborescence indépendante des autres représentée sous la forme d‘une vue. Au travers de ce modèle, (Navarro et Baeza-Yates 1997) ont proposé un langage d‘interrogation exploitant les différentes structures associées à un document.

Formellement, le modèle Proximal Node s‘articule autour de 7-uplets : ), où :

- est l‘ensemble de l‘alphabet utilisé ;

- représente la chaîne de caractères du texte global de taille T, c'est-à- dire une suite de T éléments appartenant à l‘alphabet ;

- est l‘ensemble fini des vues du texte. La vue textuelle est un élément de cet ensemble noté ;

- est un ensemble fini de constructeurs. Le constructeur textuel est un élément de cet ensemble noté ;

- est un ensemble fini de nœuds. Les nœuds textuels notés sont inclus

dans cet ensemble tel que ;

- est l‘ensemble des constructeurs de chaque vue noté ou encore avec pour contraintes : ;

- est l‘ensemble de nœuds de chaque vue noté ou encore avec pour contraintes : ;

- est la relation binaire qui définit l‘arborescence de chaque vue du texte. Pour la vue cette relation est notée ou encore . Cette relation doit vérifier les contraintes suivantes : ; - est le constructeur de chaque nœud. Cette fonction est définie de la

manière suivante : . Ce qui implique ;

- détermine le segment associé à chaque nœud de la manière suivante : et . Le modèle Proximal Node présente une dichotomie entre structure et contenu. Une telle approche permet de gérer un contenu commun partagé entre les différentes structures. Les correspondances entre le contenu et les structures se font au travers d‘une fonction de calcul de positions (début et fin) de chaque segment. Etant donné que le contenu est une chaîne textuelle, cette fonction utilise le début de texte comme repère et la taille d‘un caractère de l‘alphabet comme unité de mesure. En plus de son rôle de restitution de document, ce mécanisme permet de gérer le chevauchement éléments. En contrepartie, ce modèle représente chaque structure indépendamment des autres sans assurer la relation entre ces structures. De plus, ce modèle ne gère pas le partage d‘éléments (nœuds) entre les structures. Ainsi, la duplication de certains éléments est nécessaire pour construire les différentes vues formant chacune des structures.

Afin d‘interroger les documents multistructurés représentés selon le modèle Proximal Node, un langage spécifique est proposé. Ce langage est traduit par une algèbre qui définit trois types d‘opérations (Cf. Figure II.16) :

- des opérateurs d‘extraction de contenu. Ces opérateurs sont basés sur des fonctions d‘appariement « Opers on matches ». Ces fonctions sont les seules à pouvoir accéder aux contenus textuels. Le langage d‘appariement défini permet de générer à partir des prédicats de la requête, des ensembles de segments textuels disjoints ;

- des opérateurs d‘extraction de structures. Ces opérateurs traitent les prédicats qui intègrent les structures de documents. Les auteurs proposent deux types d‘opérateurs : ceux qui s‘appliquent aux noms des composantes structurelles (les nœuds) et à leurs types : « Constructor », et ceux qui concernent les noms des hiérarchies et leurs types : « View » ;

- des opérateurs de composition. Ces opérateurs permettent la combinaison des résultats des autres opérateurs définis ci-dessus. Ces derniers seront intégrés dans la requête sous forme d‘opérandes. On distingue cinq sous types d‘opérateurs :

 les opérateurs d‘inclusion « By including elements » permettent de sélectionner des éléments à partir du premier opérande qui sont inclus dans l‘un des deuxièmes opérandes. Ces opérateurs sont « in », « begin » et « end ». Par exemple, « P in Q » représente l‘ensemble des nœuds de P qui sont inclus dans un nœud de Q,

 les opérateurs d‘inclusion « By included elements » sélectionnent à partir du premier opérande les éléments incluant des éléments du second opérande. Ces opérateurs sont « with », « withbegin » et « withend ». Par exemple, « P with (k) Q » représente l‘ensemble des nœuds de P qui sont inclus dans au moins k nœuds de Q,

 les opérateurs structurels permettent de sélectionner des éléments à partir du premier opérande en se basant sur des critères structurels. Les opérateurs proposés sont « parent » et « child ». A titre d‘exemple, « [s] P childs Q » est l‘ensemble des nœuds de P sont des descendants (dans une arborescence particulière) des nœuds de Q,

 les opérateurs de distance ou encore de positionnement « Positional » permettent de sélectionner à partir du premier opérande des éléments qui admettent une relation de distance avec des éléments du second opérande sous certaines conditions. Les opérateurs de cette catégorie sont « after », « before », « after(k) » et « before(k) ». Par exemple, « P before Q (C) » représente l‘ensemble des nœuds de P dont le segment de contenu relatif commence après la fin du segment de contenu d‘un nœud de Q,

 les opérateurs de manipulation « set manipulation » permettent de combiner les opérandes deux à deux. Les auteurs considèrent les opérandes comme étant des ensembles. Ce qui leur permet de proposer des opérateurs d‘union (« + »), de différence (« - »), d‘intersection (« is ») et l‘identité (« same ») sous plusieurs critères. Par exemple, « P same Q » représente l‘ensemble des nœuds de P dont le segment de contenu relatif est le même que celui d‘un nœud de Q.

En résumé, grâce à ce langage, trois types d‘exploitation de documents sont possibles : recherche plein texte, interrogation selon une même structure, et une exploration combinant toutes les structures. En revanche, l‘algèbre proposée ne permet pas de restituer des nœuds de structures différentes dans le résultat d‘une même requête. Les auteurs ne proposent pas de mécanisme de calcul de chevauchement d‘éléments.

Figure II.16. Les opérations d’interrogation pour le modèle proximal node, classifiées par type.