• Aucun résultat trouvé

Chapitre II – Approches de gestion de documents multistructurés

II. Solutions basées sur des langages

II.2. Autres langages

II.2.1. LMNL

Tennison et al., proposent d‘utiliser un nouveau langage de balisage (non XML) appelé LMNL (Layered Markup and Annotation Language) (Tennison et Piez 2002). Ce langage s‘articule autour de trois concepts de base à savoir les couches appelées « layers », les zones de document appelées « ranges » et les « annotations ». Un document LMNL

n‘est pas défini en terme d‘éléments comme c‘est le cas dans XML, mais de couches (une ou plusieurs) qui se superposent les unes aux autres. La couche la plus basse est une couche de texte qui est constituée d‘une chaîne de caractères. Les autres couches sont composées des zones du document (ranges) qui sont étiquetées et qui référencent soit d‘autres zones du document (localisées dans une autre couche), soit un ensemble de caractères de la dernière couche. L‘utilisation des « ranges » permet d‘assurer la gestion des recouvrements entre structures en traitant simultanément l‘ensemble des zones du document au lieu de les traiter de façon indépendante.

La Figure II.8 présente un exemple de représentation selon LMNL. Cet exemple présente deux structures concourantes résultant de la définition de deux langues : français et anglais.

Figure II.8. Deux représentations d’une date selon LMNL (Tennison et al. 2002).

Syntaxiquement, chaque couche est représentée par une expression admettant la forme suivante « [!layer name="…" base="…"] » (Cf. Figure II.9). L‘attribut « name » désigne le nom de la couche, l‘attribut « base » renseigne sur la nature du contenu de cette couche (des zones de documents ou des caractères). Ces couches sont référencées au niveau de chaque zone de document par une « ~ » suivie de son nom. En plus de cette référence, une zone de document admet une étiquette appelée « Tag ». Il y a trois types d‘étiquettes :

- étiquette de début : indique le début d‘une zone de document. Cette étiquette admet la forme suivante « '[' TagContent '}' » ;

- étiquette de fin : représente la fin d‘une zone de document. Cette étiquette admet la forme suivante « '{' TagContent ']' » ;

- étiquette vide : désigne une zone de document de longueur 0. Cette étiquette admet la forme suivante « '[' TagContent ']' ».

Des exemples des deux premiers types d‘étiquettes sont présentés dans la Figure II.9.

[!lmnl version="0.1"]

[!layer name="fr" base="#text"] [!layer name="type" base="#default"]

[date~type

}[an~fr}[year}2002{year]{an~fr ]-[mois~fr}[month}09{month]{mois~fr

]-[jour~fr}[day}12{day]{jour~fr]{date~type]

Figure II.9. Représentation syntaxique de l’exemple de la Figure II.8 (Tennison et al. 2002).

LMNL est un nouveau langage de balisage (non XML) qui n‘est pas défini en terme d‘éléments, mais de « layers » et de « ranges ». L‘utilisation des « layers » permet de faciliter la gestion des recouvrements entre structures en partageant des ensembles de « ranges » en commun au lieu de les traiter de façon indépendante. L‘inconvénient majeur de ce langage réside dans son non compatibilité avec les applications XML/SGML. En effet, les nouvelles notations nécessitent des parseurs spécifiques qui doivent être développés afin d‘assurer d‘une part l‘annotation et d‘autre part l‘exploitation.

II.2.2. MECS/TexMecs

MECS (Multi-Element Code System) est un langage développé par Wittgenstein Archive à l‘université de Bergen afin d‘encoder les structures non hiérarchiques des livres (Huitfeldt 1993). Ce langage partage plusieurs aspects avec le langage SGML. La principale différence entre ces deux langages réside dans leur modèle de données. SGML exige une représentation arborescente des structures alors que MECS ne l‘impose pas.

Dans MECS, un élément est représenté par une étiquette de début (start-tags) ayant la forme « <tag/ » et une étiquette de fin (end-tags) ayant la forme « /tag> » (Cf. Figure II.10). Afin de résoudre le problème de chevauchement des éléments, MECS préconise l‘usage du principe de la technique milestones : usage d‘éléments vides. Ces éléments seront représentés de la façon suivante : « <tag> ». A titre d‘exemple, dans la Figure II.10, nous avons utilisé « <phrase/ » pour marquer le début de l‘élément « phrase », « /phrase> » pour marquer la fin de ce même élément et nous avons ajouté un élément vide « <ligne> » afin de résoudre le chevauchement qui existe entre les éléments « ligne » et « phrase ». MECS admet d‘autres caractéristiques d‘encodage de document que nous ne décrivons pas dans ce manuscrit.

<paragraphe/ <phrase/

<ligne/ Over the next five years, computers users will be invited to abandon /ligne>

<ligne/ their worst habits: <ligne> /phrase>

<phrase/

<ligne>They will no longer have to work at every computer

/ligne> …

/paragraphe>

Figure II.10. Représentation d’un extrait du document présenté dans la Figure II.4 avec le language MECS.

TexMECS (Huitfeldt et Sperberg-McQueen 2001) est un langage de balisage développé dans le cadre du projet MLCD (Markup Languages for Complex Documents)

(Huitfeldt et Sperberg-McQueen 2004). Ce langage vise à profiter des avantages de XML, SGML et MECS. En effet, si le document représenté admet une structure hiérarchique claire, TexMECS doit être isomorphe à XML, sinon il doit être isomorphe à MECS.

TexMECS est défini au travers de plusieurs types d‘éléments, dont nous citons les plus importants :

- un élément vide marqué par une seule étiquette : « {e id="foo" lang="fr"} ». Les caractères « { » et « } » sont utilisés comme délimiteur syntaxique ;

- un élément classique marqué par une étiquette de début et une étiquette de fin : « {e id="foo" lang="fr"{le contenu}e} » ;

- un élément interrompu sert à représenter les éléments qui présentent un chevauchement : « {e id="foo" lang="fr"{première partie du contenu}-e}… {+e{deuxième partie du contenu}e} ». « }-e} » signale l‘interruption de l‘élément « e » c'est-à-dire que ce qui vient après n‘appartient pas à cet élément. « {+e{ » indique la reprise de l‘élément « e » ;

- etc.

{paragraphe {phrase

{ligne {Over the next five years, computers users will be invited to abandon} ligne}

{ligne {their worst habits:} –ligne}

phrase} {phrase

{+ligne {They will no longer have to work at every

computer} ligne}

Paragraphe}

Figure II.11. Représentation d’un extrait du document présenté dans la Figure II.4 avec le language TexMECS.

Dans MECS et TextMECS, bien que les structures concourantes soient gérées par des fragments de code incorporés au niveau des éléments, ces structures ne sont pas représentées sous forme d‘arbre. De ce fait, un parseur MECS n‘offre pas autant de fonctionnalités qu‘un parseur SGML.

II.2.3. RDF/RDFs

En se basant sur la richesse de RDF (Lassila et Swick 2000) et RDFs (Brickley et Guha 2004), (Tummarello et al. 2005) présentent une méthode pour gérer le chevauchement d‘éléments. L‘idée est de considérer les fragments textuels comme une ressource RDF. Ces ressources sont ainsi alignées, en utilisant la propriété « next », pour former une chaîne reflétant l‘organisation des différents fragments d‘origine. La propriété « printable content » est utilisée afin d‘associer la ressource à son fragment textuel. De la même manière, les éléments structurels sont considérés comme des ressources. La même méthode de chaînage est appliquée sur ces éléments structurels. Les relations hiérarchiques ne sont pas directement représentées dans un graphe RDF. Chaque nœud père identifie les

valeurs de la première et de la dernière ressource via les propriétés « first symbol » et « last symbol ». Les ressources de même niveau sont reliées au travers de la propriété « next ».

La Figure II.12 représente un extrait de structure traduit sous forme de ressource RDF. Chaque élément (mot ou ponctuation) correspond à un nœud RDF qui admet une propriété « printable content » référençant le contenu. Par exemple, l‘élément « Period » est considéré comme une ressource dont le contenu est identifié par les deux propriétés « first symbol » et « last symbol » ayant respectivement pour valeurs la première et la dernière ressource de la chaîne représentant le contenu.

Figure II.12. Extrait d’une structure représentée sous forme de ressource RDF.

La Figure II.13 illustre le cas de deux structures concourantes qui sont marquées par des entrelacements entre leurs éléments. La première structure est constituée d‘un ensemble de « Pages » et « Rows » et la deuxième structure est composée de « Chapters » et « Periods ». Les deux structures partagent le même contenu composé de mots (« words ») et de ponctuations (« ponctuations »).

Figure II.13. Deux structures concourantes représentées sous forme de graphe RDF. "I" "Think" "," "Therefore" "I" "Am" "."

Printable content Printable content Printable content Printable content Printable content Printable content Printable content

next next next next next next

First symbol Last symbol

Period

next next next

next

next next next next

Pages Rows Words and ponctuations Periods Chapters