• Aucun résultat trouvé

2.2 Documents semi-structur´es

2.2.2 La notion de structure

Comme nous l’avons vu dans le paragraphe pr´ec´edent, la structure des do- cuments est d´efinie par des balises encadrant les portions d’informations. Nous pr´esentons ici les notions de bases li´ees `a la structure, s’appliquant aussi bien `a des documents SGML que des documents XML.

Une balise (ou tag ou label ) est une suite de carat`eres encadr´es par ”<” et ”>”, comme par exemple <nombalise>. Un ´el´ement est une unit´e s´emantique identifi´ee, d´elimit´ee par des balises de d´ebut < b > et de fin < /b > [44], comme par exemple <mabalise> mon texte </mabalise>. Les ´el´ements peuvent ˆetre imbriqu´es :

<producteur>

<nom> Laurent Pinel </nom> <adresse>

<rue>Bd Jean Brunhes</rue> <ville>Toulouse</ville> </adresse>

</producteur>

Les attributs des balises sont sp´ecifi´es au d´ebut de l’´el´ement et apr`es le nom de la balise, en utilisant la syntaxe nomattribut=valeur. Par exemple,

<mabalise monattribut=mavaleur>texte </mabalise>.

La DTD (Document Type Definition) associ´ee au document contient l’en- semble des balises qu’il est possible d’inclure, ainsi que des relations de com- position entre ces balises.

Contrairement `a SGML, il n’est pas obligatoire d’associer une DTD `a un do- cument XML. Les documents XML doivent cependant ˆetre bien form´es, c’est `a dire qu’ils doivent respecter un certain nombre de r`egles lexicales et syn- taxiques concernant l’encodage, le pairage des balises de d´ebut et de fin, la

d´eclaration des attributs, les commentaires, etc. On trouvera un exemple de document XML bien form´e dans le tableau 2.1. Lorsque la grammaire d’un document est d´efinie dans une DTD et que le document respecte cette DTD, on parle de document valide. Le tableau 2.2 pr´esente une DTD correspondant au document de type article pr´esent´e dans le tableau 2.1. Notons enfin que l’on assiste aujourd’hui au d´eveloppement d’une nouvelle forme de grammaire, qui permet de d´efinir des ´el´ements plus complexes et poss`ede un typage des donn´ees plus riche, les XML-sch´emas [64].

<?xml version=”1.0” ?>

< !−−Exemple de fichier XML d´ecrivant un article scientifique −−> <article annee=”2003”>

<en-tete>

<titre>Recherche d’information sur le web : la grande r´evolution</titre> <auteur>Andr´e Dupont</auteur>

</en-tete> <corps>

<section>

<sous-titre>Histoire de l’hypertexte : des p`eres fondateurs au World Wide Web</sous-titre>

<par>Afin de maˆıtriser les enjeux des syst`emes hypertexte,

il convient, mˆeme si c’est une tˆache ardue, de d’essayer de les d´efinir... </par>

</section> <section>

<sous-titre>Moteurs de recherche</sous-titre>

<par>On distingue plusieurs types de moteurs de recherche...</par> <par>Les annuaires...</par>

<par>Les moteurs de recherche plein-texte...</par> <par>Les meta moteurs...</par>

</section> <section>

<sous-titre>L’analyse des liens</sous-titre> <par>...</par>

</section> </corps>

</article>

Tab. 2.1 – Exemple de fichier XML article.xml

Une classe de document poss`ede donc une structure g´en´erique d´efinie par la DTD (ou le sch´ema XML) alors qu’un document instance de cette classe poss`ede une structure sp´ecifique. Des documents peuvent aussi poss´eder des structures logiques similaires (repr´esentations hi´erarchiques et s´emantiques si- milaires) tout en ne suivant pas la mˆeme DTD. Par exemple, les deux docu-

<?xml version=”1.0” ?>

< !−−DTD pour l’exemple d’article −−> <!ELEMENT article (en-tete, corps)> <!ATTLIST article

annee CDATA #REQUIRED >

<!ELEMENT en-tete (auteur+, titre)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT titre (#PCDATA)> <!ELEMENT corps (section+)> <!ELEMENT section (sous-titre, par)> <!ELEMENT sous-titre (#PCDATA)>

<!ELEMENT par (#PCDATA)>

Tab. 2.2 – Exemple de DTD correspondant `a article.xml

ments du tableau2.3ont des structures logiques similaires. Ces documents nous permettent aussi de constater que les balises d’un document ne sont malheu- reusement pas forc´ement porteuses de s´emantique.

<RESTAURANT ID=”1”> <NOM> Le RU 1 </> <GUIDES>

<PREMIER> Michelin <NOTE> ****</NOTE> <REF>2005, page 52</REF> </PREMIER>

<SECOND> Le Guide du Routard <NOTE>A</NOTE>

<REF>2002, page 126</REF> </SECOND> </RESTAURANT> <RESTAURANT ID=”2”> <NOM> Le RU 2 </> <GUIDES> <G id=”1”> Michelin <N> **</N> <M>2005, page 53</M> </G>

<G id=”2”> Le Guide du Routard <N>B</N>

<M>2002, page 127</M> </G>

</RESTAURANT>

Tab. 2.3 – Exemple de documents XML poss´edant des structures logiques similaires

Les formats SGML et XML permettent de produire des documents struc- tur´es ou semi-structur´es.

Les documents structur´es poss`edent une structure r´eguli`ere, ne contiennent pas d’´el´ements mixtes (c’est `a dire d’´el´ements contenant du texte ET d’autres ´el´ements) et l’ordre des diff´erents ´el´ements qu’ils contiennent est g´en´eralement non significatif.

Les documents semi-structur´es quant `a eux sont des documents qui poss`edent une structure flexible et des contenus h´et´erog`enes. La modification, l’ajout ou

la suppression d’une donn´ee entraˆıne une modification de la structure de l’en- semble. Abiteboul, dans [1], donne la d´efinition suivante :

Par semi-structur´e, nous signifions que mˆeme si les donn´ees poss`edent une structure, celle-ci n’est pas aussi rigide, aussi r´eguli`ere ou compl`ete que la structure requise par les syst`emes de gestion de bases de donn´ees traditionnels.

On trouve une autre d´efinition dans [139] :

Nous appelons [...] donn´ee semi-structur´ee la donn´ee qui n’est (d’un certain point de vue) ni une donn´ee brute ni une donn´ee strictement typ´ee .

Dans notre contexte, nous nous int´eressons plus particuli`erement `a la recherche d’information dans des documents semi-structur´es, les documents structur´es servant plutˆot `a conserver des donn´ees au sens bases de donn´ees. Par abus de langage, on parlera cependant de RI structur´ee. Le format XML nous permettra d’illustrer nos propos.