Une approche pour l extraction automatique de structures sémantiques de documents XML Salma Ben Mefteh*,**, Kaïs Khrouf*, Jamel Feki*, Maha Ben Kraiem*, Chantal Soulé-Dupuy** * Laboratoire MIR@CL, Université de Sfax, B.P. 1088, 3018 Sfax, Tunisie. ** Laboratoire IRIT- Université Toulouse I Capitole, 2 rue du Doyen Gabriel Marty, 31042 Toulouse Cedex 9, France Salma.BenMefteh@fsegs.rnu.tn, ailto: Khrouf.Kais@isecs.rnu.tn, Jamel.Feki@fsegs.rnu.tn, Maha.BenKraiem@hotmail.fr, Chantal.Soule- Dupuy@univ-tlse1.fr RÉSUMÉ. La nature des sources d informations et les possibilités de description des documents disponibles via ces sources sont en constante évolution. Cette évolution, et l enrichissement des informations qui en découle, est accélérée par l expansion du Web, et la mise à disposition de documents de type XML. Or la structure logique de ces documents XML, au travers de balises du genre Contenu, Section, Paragraphe, ne reflète pas nécessairement la sémantique des documents. Le développement d outils automatisés permettant de déterminer les structures sémantiques de ces documents XML nous semble être une nécessité. A cette fin, nous proposons dans cet article une approche de structuration sémantique des documents XML. ABSTRACT. The nature of information sources together with the description alternatives for the documents available within these sources are constantly changing. This development, and the enrichment of information that follows, is accelerated by the expansion of the Web and the availability of XML documents. However, the logical structure of XML documents, through tags such as Content, Section, Paragraph, does not necessarily reflect the semantics of documents. The development of automated tools to determine the semantic structures of XML documents seems to be a necessity. For that, we propose in this paper a novel approach to determine semantic structures of XML documents. MOTS-CLÉS : Documents XML, Structures sémantiques, Ontologies. KEYWORDS: XML DOCUMENTS, SEMANTIC STRUCTURES, ONTOLOGIES.
1. Introduction La numérisation des documents et le développement des technologies Internet engendrent une augmentation permanente de la masse de documents disponibles. Face à cette masse documentaire, XML s est imposé comme format standard de documents. Ainsi, un nombre de plus en plus important de documents deviennent disponibles sous ce format. Ces documents XML peuvent être classés en deux types : les documents XML orienté-données et les documents XML orienté-texte. Les documents XML orienté-données sont constitués d un ensemble d éléments généralement courts et précis et sont similaires aux données relationnelles. Ce type de documents est principalement utilisé par les applications d échange des informations (i.e. les données transactionnelles). Nous constatons que les balises utilisées pour ce genre de documents décrivent généralement d une manière précise son contenu, et apportent la sémantique nécessaire à la description de l information (Exemples de balises : Article, Client, Quantité, Prix) Les documents XML orienté-texte sont des documents riches en texte et constituent des versions électroniques des documents papiers (i.e. les articles scientifiques, les rapports internes). Les balises utilisées pour ce genre de documents présentent la plupart du temps un découpage (structure) logique (Exemples de balises : Contenu, Section, Paragraphe). Ces balises ne décrivent en aucun cas la sémantique de leur contenu. Partant de là, le développement d outils automatisés permettant de décrire la sémantique des documents devient une nécessité. A cette fin, nous proposons une approche d annotation automatique des différents granules d un document XML permettant ainsi d inférer une structure sémantique pour ce de document. (Abascal, 2005) définit la structure sémantique comme étant «un ensemble de balises sémantiques représentant des concepts associés entre eux par des relations». Dans notre contexte, nous considérons que la structure sémantique est une structure superposée à la structure logique d un document XML et qui décrit la sémantique du contenu (en particulier de ses éléments textuels). Cet article est structuré comme suit. Nous commençons par un état de l art sur les travaux abordant l aspect sémantique des documents. Ensuite, nous décrivons la démarche que nous proposons pour l extraction des structures sémantiques qui complètent les structures logiques des documents. Les sections 4, 5 et 6 détaillent les étapes les plus importantes de la démarche proposée. Enfin, nous terminons cet article par les expérimentations réalisées et les résultats obtenus. 2. Etat de l art La plupart des travaux qui ont abordé l aspect sémantique des documents (entre autres les documents XML) se sont intéressés à la représentation sémantique des contenus.
En recherche d information, l aspect sémantique a été abordé afin d améliorer le nombre de documents pertinents restitués par rapport à une requête utilisateur. Certaines approches, comme celle de (Zargayouna & Sallouti, 2004), représentent les documents sous forme de vecteurs de termes selon le modèle vectoriel de Salton (Salton et al., 1983), tout en reliant ces termes aux concepts de l ontologie. Les termes de la requête utilisateur seront par la suite remplacés par les concepts associés afin que les réponses soient plus appropriées aux besoins des utilisateurs. L inconvénient majeur de ces travaux est l utilisation d une ontologie de concepts reliée à un corpus. Dans le même esprit, (Harrathi & Calabretto, 2010) ont indexé, en plus du contenu textuel des documents, leurs structures par des concepts en utilisant l ontologie WordNet. Cependant, cette ontologie générale pose le problème de couverture terminologique, c est-à-dire seuls les termes des documents ou des requêtes les plus communs sont référencés par des concepts. Dans (Baziz et al. 2007), le modèle de représentation sémantique des documents et des requêtes repose sur un réseau sémantique (ensemble de concepts reliés par des liens). Cependant, ces travaux ont montré que l indexation sémantique (i.e., l affectation d un ensemble de concepts à un document) n apporte pas de résultat probant sauf si elle est combinée avec une indexation classique basée sur les mots-clés. Des approches traitant de la classification de documents intègrent aussi la notion de sémantique du contenu. Par exemple, Gesche et al. (Gesche et al., 2010) utilisent des ontologies de domaine pour enrichir des textes courts (généralement, articles de presse). Ils proposent trois types d enrichissement : enrichissement par généralisation (Exemple, l actualité parlant de «Michaël Jackson» sera enrichie par le concept «Rock»), enrichissement par spécialisation («Sport» peut être enrichi par les sports médiatiques) et enrichissement par catégorisation (Ajout des métadonnées : Auteur, Année ). Par contre, la classification proposée dans cet article est supervisée, c est-à-dire que les classes de documents doivent être connues à priori. Dans (Upasana et al., 2010), les auteurs ont présenté une classification des textes basée sur les techniques statistiques et contextuels (sémantique). Cette classification est réalisée en plusieurs étapes : la constitution d un vecteur de termes pour le document, la constitution d un vecteur de termes pour chaque domaine (Médecine, Cryptographie ) en utilisant Wordnet. Ensuite, il s agit de calculer la similarité entre le vecteur de documents et l ensemble des vecteurs des domaines. Enfin, le vecteur de domaine ayant le score le plus élevé sera affecté au document approprié. Cependant, ces travaux ont utilisé Wordnet qui représente une ontologie trop générale et peu formalisée pour modéliser correctement un domaine donné. Dans la littérature, peu de travaux (Abascal, 2005), (Tagarelli & Grec, 2010) se sont intéressés à la structuration sémantique des documents. (Abascal, 2005) propose une approche qui vise à permettre l accès à l ensemble de documents (thèses) par leur contenu sémantique. Ils ont proposé un modèle de documents fondé sur l utilisation de nouvelles métadonnées rajoutées, appelés «tags sémantiques». Ces métadonnées permettent ainsi d affiner la recherche et de mieux satisfaire l utilisateur. Cependant, l approche proposée est destinée à un type particulier de
documents, à savoir : les thèses. (Tagarelli & Grec, 2010) proposent d enrichir sémantiquement les noms des balises d un document XML. Pour cela, chaque chemin 1 du document XML représente un réseau et chaque balise de ce chemin constitue une couche (l ensemble des sens de la balise en question, extraits de Wordnet). L étape suivante consiste à calculer la mesure de similarité entre les différentes couches afin de trouver le meilleur chemin dans le réseau. L utilisation de Wordnet peut causer des difficultés pour le choix du sens le plus approprié pour une balise donnée surtout pour les termes polysémiques 2. Comme complément aux travaux abordant l aspect sémantique des contenus, nous proposons dans ce papier un découpage sémantique des documents XML. Plus précisément, nous proposons une approche d extraction automatique de structures sémantiques pour les documents XML en se basant sur leurs structures logiques et contenus, contrairement aux travaux de (Tagarelli & Grec, 2010) qui se sont focalisés uniquement sur les noms de balises. Ces travaux permettent ainsi de visualiser et d interroger les documents XML selon le point de vue souhaité (logique, sémantique ou les deux à la fois). 3. Notre démarche Dans (Khrouf et al., 2011), nous avons proposé une approche pour la classification et l analyse multidimensionnelle des documents. Ces travaux regroupent les structures logiques identiques ou similaires des documents XML dans des structures génériques (Ben Messaoud et al., 2011). L approche proposée a été vérifiée et validée pour les documents XML orienté-données (généralement qui contiennent peu du texte). Nous souhaitons étendre ces travaux pour les documents orienté-texte (rapports, articles scientifiques, news ). A cette fin, nous proposons de dériver et de proposer, à partir de la structure logique et du contenu d un document XML orienté-texte, une structure qui reflète sa sémantique, c est l objet de cet article. La Figure 1 montre un exemple de structure logique et de sa structure sémantique pour un document XML. <Article> <Titre>Modeling for DSS</Titre> <Auteur>Dupond</Auteur> <Contenu> <Section>A dimension constitutes a component </Section> <Section>The multidimensional analyses allow to users </Section> </Contenu> </Article> Document XML Titre Article Auteur Contenu Section Section Structure logique Datawarehouse Design Null Dimension Structure sémantique Figure 1. Exemple de structure logique et de sa structure sémantique. 1 L ensemble des balises reliant la racine à l élément feuille du document. 2 Un terme polysémique est un terme qui peut avoir plusieurs sens différents.
La démarche que nous proposons pour l extraction automatique de telles structures sémantiques est illustrée dans la Figure2. Structure Spécifique + contenu L Documents XML L11 L12 L1n L111L121L123 L1m Structure Sémantique Phase 1 : Extraction des termes Ontologies Phase 2 : Choix d ontologie Phase 3 : Association des concepts aux éléments feuilles Entrepôt de documents S S11 S12 S1n S111S121S123 S1m Phase 5 : Affectation des métadonnées Phase 4 : Inférence de concepts Figure 2. Démarche de détermination de la structure sémantique. Cette démarche se décompose en cinq phases : Phase 1 : Extraction des termes. Il s agit dans cette phase d extraire les mots-clés significatifs des éléments feuilles du document (fragments textuels associés aux éléments feuilles). L extraction des mots-clés repose sur un processus d indexation classique, tel que défini en recherche d information (Baeza-Yates et al., 1999). Phase 2 : Choix de l ontologie. L objet de cette phase est de déterminer, parmi un ensemble d ontologies de domaines, celle qui convient le mieux pour décrire la sémantique du document, et ce à partir des mots-clés du langage d indexation généré lors de la phase précédente. Phase 3 : Association de concepts aux éléments feuilles. Cette phase consiste, pour chaque élément feuille de la structure logique, à rechercher, dans l ontologie de domaine retenue à la phase précédente, le concept le plus approprié à la description de sa sémantique (qui traduit le mieux la sémantique de l élément feuille compte tenu des mots-clés qui le décrivent). Le concept trouvé est alors associé à l élément feuille. Phase 4 : Inférence de concepts aux éléments non-feuilles. Les concepts des éléments feuilles servent ensuite à inférer les concepts à associer à leurs ascendants à partir de l ontologie sélectionnée. Les phases 2, 3 et 4 sont détaillées dans les sections suivantes de cet article. Phase 5 : Affectation des métadonnées. Cette phase consiste à garder les balises de la structure logique qui représentent des métadonnées (i.e. Auteur, Editeur,
Année). Les métadonnées utilisées lors de cette phase sont celles du Dublin Core 3 Nous avons choisi de réaliser cette phase à la fin de la démarche proposée et non au début afin de laisser la possibilité de remplacer certaines métadonnées (i.e. Titre, Résumé) par la sémantique qu elles présentent. 4. Choix de l ontologie Selon notre approche, un entrepôt peut contenir des documents appartenant à plusieurs domaines ou thématiques et dispose donc d un ensemble d ontologies dites «de domaine». Afin d apporter de la sémantique aux différents éléments constituant un document, nous recourons aux ontologies de l entrepôt. Une ontologie peut être définie comme étant «l ensemble structuré des termes et concepts représentant le sens d un champ d informations, que ce soit par les métadonnées d un espace de noms, ou les éléments d un domaine de connaissances» 4. Dans nos travaux, l ontologie est représentée par un ensemble de concepts d un domaine, ainsi que des relations entre ces concepts (Synonymie, antonymie, polysémie, homonymie ). 4.1 Pondération des ontologies et de leurs concepts Rappelons que notre objectif est de créer une structure sémantique, essentiellement en exploitant plusieurs ontologies de domaine. Se pose alors le problème du choix d une ontologie, c est-à-dire répondre à la question : quelle est l ontologie la mieux appropriée pour rechercher les concepts de la structure sémantique du document? Notons que dans cet article, nous nous focalisons aux documents traitant chacun un seul domaine. Pour cela, nous ne devons pas considérer comme équi-importants tous les concepts des différentes ontologies. En effet, si nous avons le choix entre un concept-père et un concept-fils pour un élément d un document, nous optons pour le concept-fils car il présente une information plus fine et plus spécifique. En conséquence, il nous semble important de pondérer les concepts d une ontologie de manière à donner plus d importance aux concepts les plus spécifiques (i.e., se trouvant en bas de la hiérarchie). De plus, nous considérons que le poids d une ontologie est égal à la somme des poids de ses concepts. Pour effectuer cette pondération, nous sommes confrontés à un problème de taille des ontologies. En effet, nous pouvons trouver des ontologies plus détaillées et plus élaborées que d autres (cf. Figure 3), ces ontologies ne doivent pas avoir alors 3 http://www.dublincore.org/ 4 http://fr.wikipedia.org/wiki/ontologie_(informatique)
le même poids puisque ce poids sera réparti entre les différents concepts de l ontologie. Par exemple, si chacune des deux ontologies O 1 et O 2, possédant respectivement 4 et 10 concepts, ont un poids identique égal à 1, alors chaque concept de O 1 aura un poids de 0.25=1/4 et chaque concept de O 2 sera pondéré par 0.1=1/10. Normes Comptable (NC) 0.25 Information System (IS) 0.1 IFRS 0.25 GAAP 0.25 Norme Finançaise(NF) 0.25 File(FL) 0.1 Database(DB) 0.1 Data Warehouse(DW) 0.1 Storage(ST) Design(DS) 0.1 0.1 0.1 Cube(C) 0.1 Fact(F) 0.1 Dimension(D) 0.1 Ontologie O 1 Poids(0 1 ) = 1 Ontologie O 2 Poids(0 2 ) = 1 Figure 3. Pondération non discriminante des concepts des ontologies O1 et O2. Cette pondération non discriminante est à éviter car les concepts des ontologies les moins élaborées auront plus d importance et seront donc privilégiées. Pour pallier cela, nous pondérons chaque ontologie par rapport au nombre de concepts qu elle contient. Le calcul du poids d une ontologie O k s effectue selon la Formule 1. Ce poids mesure l importance de l ontologie O k puisqu il est calculé relativement par rapport au nombre total des concepts de toutes les ontologies de l entrepôt. Où : Ok PO( O ) = N Oi i = 1 k * PO(O k ) est le poids de l ontologie O k tel que PO(O k ) ]0, N] PO(O k ) = N PO(O k ) < N Si N > 1 N Si N = 1 (l entrepôt contient une seule ontologie) O k ( O i ) est le nombre de concepts dans l ontologie O k (respectivement O i ), et N est le nombre d ontologies disponibles. Reprenons l exemple de la Figure 3, avec une pondération selon la Formule 1, nous obtenons les poids suivants : PO(O 1 ) = 0,571 et PO(O 2 ) = 1,429. A ce stade, nous devons répartir le poids de l ontologie entre ses différents concepts de manière à donner plus d importance aux éléments les plus spécifiques [1]
dans l arborescence. Ainsi, les concepts d un niveau 5 i de l ontologie auront un poids supérieur à celui de ceux du niveau i-1. L affectation des coefficients s effectue comme suit : chaque élément père reçoit un coefficient égal à son niveau dans l ontologie. Dans la Figure 4, on affecte 1 à la racine «Information System», 2 au concept «Data Warehouse» et 3 au concept. continuer l affectation des coefficients aux concepts feuilles en commençant par ceux du niveau le plus élevé et en n incrémentant le coefficient qu en passant d un niveau i au niveau i+1. Dans la Figure 4, on affecte 4 aux concepts «File» et «DataBase», 5 aux concepts «Storage», «Design» et «Cube», etc. L affectation de cette manière permet de favoriser plus les descendants et surtout les feuilles (le plus bas niveau). Cette affectation est réalisée par la fonction Coeff(C i, O k ). La Figure 4 présente un exemple d affectation des coefficients pour l ontologie O 2. Information System (IS) 1 File(FL) 4 Database(DB) 4 Data Warehouse(DW) 2 Storage(ST) Design(DS) 5 5 3 Cube(C) 5 Fact(F) 6 Dimension(D) 6 OntologieO 2 Figure 4. Coefficients des niveaux des concepts de l ontologie O 2. A ce niveau, nous calculons une marge notée ε k (cf. Formule 2) qui sera utilisée pour la détermination des poids des concepts de l ontologie. En effet, ε constitue la marge entre un concept appartenant à un niveau i+1 par rapport à un concept d un niveau i dont l objectif est de favoriser les descendants qui apportent plus de sémantique que leurs ascendants. Où : εk PO ( Ok) = SO ( Ok) 2 Avec Ok SO ( Ok) = Coeff( C i, Ok) i = 1 PO(O k ) est le poids de l ontologie O k calculé selon la Formule 1, SO(O k ) est la somme des coefficients de l ontologie O k, Coeff(C i, O k ) est le coefficient du concept i dans l ontologie O k, O k est le nombre de concepts dans l ontologie O k. [2] 5 Un niveau dans une ontologie est tous les concepts situés à la même profondeur.
Dans le cas de l ontologie O 2 de la Figure 4, la valeur de ε est la suivante : ε PO( O2) 1.429 1. 429 = = = SO( O ) 2 ( 1 4 4 2 5 5 3 5 6 6) 2 41 2 2 + + + + + + + + + 2 = 0.0008 Nous déterminons à ce niveau le poids de base d un concept, noté λ k, c est-àdire sans tenir compte des coefficients des concepts. Il s agit de soustraire du poids de l ontologie la partie consacrée pour l ensemble des marges ( ε k * SO( Ok) ), divisé par le nombre de concepts. La formule est alors la suivante. Où : PO ( O k) λ k = εk O k * SO ( O k) PO(O k ) est le poids de l ontologie O k, SO(O k ) est la somme des coefficients des concepts de l ontologie O k, ε k est la marge d un niveau i+1 par rapport au niveau i, O k est le nombre de concepts dans l ontologie O k, [3] Le poids de base λ 2 d un concept de l ontologie O 2 est égal à : ( 2) * ( 2) PO O ε SO O 1.429 (0.0008* 41) λ 2 = = = 0.1396 O2 10 Après avoir calculé le poids de base d un concept, il s agit à ce stade de calculer le poids effectif de chaque concept en tenant compte de la marge et de son coefficient, comme l indique la Formule 4. ε PC ( Ci, Ok) = λ k + ( k * Coeff ( Ci, Ok)) Où : λk est le poids de base d un concept de l ontologie O k, ε k est la marge d un niveau i+1 par rapport au niveau i de l ontologie O k, Coeff(C i, O k ) est le coefficient du concept i de l ontologie O k. Notons que ces Formules garantissent que la somme des poids de tous les concepts d une ontologie est égale au poids de l ontologie (soit à 1.429 dans notre exemple pour l Ontologie O 2 ). De plus, elle diffère de celle utilisée dans la Figure 3 par le fait que les concepts feuilles auront plus d importance que les concepts pères. Les concepts de l ontologie O 2 auront alors les poids suivants (cf. Figure 5). [4]
Information System (IS) λ 2 +(ε 2 *1) Information System (IS) 0.1404 File(FL) Database(DB) λ 2 +(ε 2 *4) λ 2 +(ε 2 *4) Data Warehouse(DW) λ 2 +(ε 2 *2) File(FL) 0.1428 Database(DB) 0.1428 Data Warehouse(DW) 0.1412 Storage(ST) λ 2 +(ε 2 *5) Design(DS) λ 2 +(ε 2 *5) λ 2 +(ε 2 *3) Fact(F) λ 2 +(ε 2 *6) Cube(C) λ 2 +(ε 2 *5) Dimension(D) λ 2 +(ε 2 *6) Storage(ST) Design(DS) 0.1436 0.1436 Fact(F) 0.1444 Ontologie O 2 Poids(0 2 ) = 1.429 0.1420 Figure 5. Poids des concepts de l ontologie O2 après pondération. Cube(C) 0.1436 Dimension(D) 0.1444 4.2 Choix d une ontologie pour un document Selon notre approche, un entrepôt contient des documents appartenant à plusieurs domaines et dispose donc d un ensemble d ontologies. Il s agit de déterminer une seule ontologie par document. Généralement, un document traite un seul domaine et qui peut parler, dans certains cas, d autres domaines mais dans des parties du document. C est la raison pour laquelle, nous avons opté pour affecter une seule ontologie à un document. Ainsi, pour chaque ontologie de l entrepôt, nous calculons dans un premier temps, le poids de chaque concept C i par rapport à chaque élément feuille E j du document d. (cf. Figure 6). Cette pondération est définie selon la Formule 5. PC( Ci, Ej) = freq( Ci, Ej) * PC( Ci, Ok) freq( Ci, d) j Ej d [5] Où : PC(C i, E j ) est le poids du concept C i par rapport à l élément E j, freq(c i, E j ) est la fréquence d apparition du concept C i dans l'élément E j, freq(c i, d) est la fréquence d apparition du concept C i dans le document d, et PC(C i, O k ) est le poids du concept C i dans son ontologie. Pour la correspondance des termes des documents avec les concepts des ontologies, nous avons utilisé les techniques de la Recherche d Information (Baeza- Yates et al., 1999) en plus d un dictionnaire de synonymie. B A D C Ontologie O 1 E 0.3 Document d 0.4 0.3 0.4 0.5 Z Y X K W Ontologie O 2 Figure 6. Calcul des poids des concepts par rapport aux éléments du document.
Ensuite, nous calculons le poids de chaque concept C i par rapport à tout le document d. Ce poids est égal à la somme des poids de C i dans les différents éléments de d, selon la Formule 6. Où : m PC ( Ci, d ) = PC ( C i, Ej) j Ej d j = 1 PC (C i, d) est le poids du concept C i par rapport au document d, PC (C i, E j ) est le poids du concept C i par rapport à l élément E j, m est le nombre d éléments dans le document d. [6] A 0.9 X B D C Ontologie O 1 E 0.3 Document d 0.7 Z Y K W Ontologie O 2 Figure 7. Calcul des poids des concepts par rapport au document. Pour choisir l ontologie la plus appropriée par rapport au document d, nous additionnons les poids des différents concepts appartenant à l ontologie en question Ainsi, la Formule 7 donne le poids de l ontologie O k par rapport au document d. Où : O k PO ( O k, d ) = PC ( C i, d ) i = 1 PC (C i, d) est le poids du concept C i par rapport au document d (Formule 6), O k est le nombre de concepts de l ontologie O k. [7] A X B C 0.3 1.6 Y K D Ontologie O 1 E Document d Z W Ontologie O 2 Figure 8. Calcul des poids des ontologies par rapport au document. Ainsi, l ontologie, ayant le poids le plus élevé, sera retenue pour le document. Dans notre exemple, c est l ontologie O 2 (avec un poids de 1.6) qui sera retenu pour d.
5. Affectation des concepts aux éléments feuilles L objectif de cette phase est d affecter un seul concept représentatif à chaque élément feuille du document, en se basant sur les poids des concepts calculés par la Formule 5. Pour un élément feuille E k, différents cas se présentent : Cas 1 : Aucun concept déterminé pour E k (Exemple : les éléments Auteur, Editeur, Année ). Le concept Null sera affecté. Cas 2 : Un seul concept déterminé pour E k ; il sera retenu comme concept représentatif. Cas 3 : Plusieurs concepts déterminés appartenant à une même hiérarchie. Dans ce cas : - Si les poids calculés pour ces concepts sont très proches (presque identiques), nous affectons à E k le concept le plus spécifique dans la hiérarchie. - Si les poids de ces concepts sont divergents, nous affectons à E k le concept ayant le poids le plus élevé, indépendamment de sa position dans la hiérarchie. Cas 4 : Plusieurs concepts déterminés pour E k appartenant à plusieurs hiérarchies dans l ontologie. Dans ce cas, nous affectons à E k le concept ayant le poids le plus élevé. A la fin de cette phase, chaque élément feuille est associé à un et un seul concept de l ontologie O 2 retenue. Il s agit maintenant d attribuer des concepts aux autres éléments (i.e., non feuilles) de la structure logique du document, par des règles d inférence que nous définissons dans la section suivante. 6. Inférence des concepts aux éléments non-feuilles Jusqu'à présent, nous avons déterminé, pour chaque élément feuille de la structure sémantique d un document, un concept choisi dans l ontologie retenue pour le document. Nous poursuivons notre objectif afin de finaliser la structure sémantique. Il s agit maintenant d attribuer des concepts aux éléments non feuilles de la structure et ceci en procédant par inférence des concepts des feuilles vers leurs ascendants de la façon suivante : Règle 1 : Un élément père ayant un seul fils aura le même concept que son fils. Règle 2 : Si un élément père possède plusieurs éléments fils dont les concepts appartiennent à une même hiérarchie de l ontologie, alors on associera à ce père le concept le plus générique des concepts associés à ses fils (cf. Figure 9). Règle 3 : Si un élément père possède plusieurs éléments fils dont les concepts appartiennent à plusieurs hiérarchies de l ontologie, alors le concept attribué à ce père est l ancêtre commun des concepts associés à ses fils (cf. Figure 10).
Information System (IS) File(FL) Database(DB) Data Warehouse(DW) Design(DS) Storage(ST) Cube(C)? Fact(F) Dimension(D) Ontologie O 2? Design Null? Design Null Dimension Structure sémantique Figure 9. Application de la règle 2. Dimension Structure sémantique Après application de la règle 2 Information System (IS) File(FL) Database(DB) Data Warehouse(DW) Design(DS) Storage(ST) Cube(C)? Fact(F) Dimension(D) Ontologie O 2 Data Warehouse Design Null Design Null Dimension Structure sémantique Figure 10. Application de la règle 3. Dimension Structure sémantique Après application de la règle 3 A l issue de cette étape d inférence, tous les éléments de la structure logique du document sont associés soit à des concepts de l ontologie choisie, soit à la valeur Null. Il s agit maintenant de récupérer les métadonnées de la structure logique, en se référant aux métadonnées de Dublin Core. Dans notre exemple, la structure sémantique obtenue au final (après les 5 phases) est celle présentée dans la Figure 1. 7. Expérimentations Pour valider notre approche, nous proposons de tester les formules proposées dans cet article sur une collection des documents, dans les domaines des Sciences et
de la Médecine (issus de Wikipedia) et 18 ontologies de domaine que nous avons définies. La base de test utilisée est décrite dans le tableau 1. Description Nombre Documents 240 Eléments feuilles 944 Eléments non feuilles 480 Ontologies 18 Concepts 223 Tableau 1. Caractéristiques de la base de tests Afin de vérifier et de valider l apport de la pondération des ontologies, nous avons réalisé 2 séries de tests : (1) sans tenir compte des poids des concepts des ontologies (Algorithme Sans_Poids) et (2) en tenant compte de la pondération automatique des concepts des ontologies (Algorithme Avec_Poids). Dans ce qui suit, nous présentons les différents résultats obtenus. Le tableau 2 présente le nombre d ontologies associées aux documents selon les deux algorithmes. Description Sans_Poids Avec_Poids Nombre de documents ayant été associés à une seule ontologie 215/240 240/240 Tableau 2. Nombre d ontologies associées aux documents. Nous observons dans le tableau 2, qu avec l algorithme Avec_Poids, une seule ontologie a été associée à chaque document. Alors que, avec l algorithme Sans_Poids, deux ontologies ou plus ont été associées à 25 (=240-215) documents. Ce qui représente une amélioration de 10.42 % entre les deux algorithmes. Dans le tableau 3, nous avons examiné l association des ontologies aux documents pour savoir celles qui ont été correctement associées. Description Sans_Poids Avec_Poids Ontologies correctement associées 235 230 Ontologies non correctement associées 36 10 Tableau 3. Association des ontologies aux documents La pondération automatique des poids a amélioré l affectation des ontologies aux documents par rapport à l algorithme sans poids. Néanmoins, nous constatons que 10 documents parmi les 240 n ont pas été affectés aux bonnes ontologies, cela est dû au faite que les documents peuvent faire référence à d autres domaines. Nous nous intéressons maintenant à l apport de la pondération des concepts des ontologies sur l association de concepts aux éléments feuilles.
Description Sans_Poids Avec_Poids Nombre d éléments feuilles associés à un seul concept. 361/464 450/464 Nombre d éléments feuilles associés à plus qu un concept. 103/464 14/464 Tableau 4. Association des concepts aux éléments feuilles. Les documents intégrés dans la base de tests comprennent 944 éléments feuilles (480 éléments métadonnées comme Editeur et Date, et 464 éléments représentant des contenus textuels, tels que : Section et Paragraphe). Un seul concept a été associé à 361 éléments feuilles par l algorithme Sans_Poids et à 450 éléments feuilles par l algorithme Avec_Poids. Ce qui a apporté une amélioration de 19.18% entre les deux méthodes. Ces résultats s expliquent par le fait que dans un élément nous trouvons la même apparition d un concept et de son concept-fils, l algorithme Sans_Poids affecte ces deux concepts à l élément en question. Par contre, l algorithme Avec_Poids retient le concept fils (qui est plus précis) car la pondération automatique des ontologies proposée dans cette approche donne plus d importance aux concepts fils. Rappelons qu après l affectation des concepts aux éléments feuilles, nous nous intéressons à attribuer des concepts aux éléments non feuilles de la structure et ceci en procédant par inférence des concepts des feuilles vers leurs ascendants. Notre expérience consiste à tester le nombre d application des règles d inférences. Le tableau 5 présente le nombre d utilisation de chaque règle d inférence. Règles d inférence Nombre d utilisation Règle 1 78 Règle 2 162 Règle 3 40 Tableau 5. Fréquence d utilisation des règles. Nous remarquons que la règle 2 est la plus utilisée. Cela peut s expliquer par le fait que les documents traités dans notre collection traitent un seul domaine. 8. Conclusion Ce travail présente une approche pour la définition des structures sémantiques des documents XML à partir de leurs structures spécifiques et de leurs contenus. Cette approche commence tout d abord par l extraction des termes significatifs pour les éléments feuilles (fragments textuels) d un document XML. Ensuite, nous déterminons l ontologie qui sera affectée au document, celle qui décrit sa sémantique. Par la suite, nous associons, à chaque élément de la structure spécifique du document, le concept significatif de l ontologie retenue. Enfin, nous dérivons les métadonnées à partir de la structure logique. Les expérimentations réalisées
montrent que la pondération automatique des ontologies a amélioré l affectation des ontologies aux documents et l association des concepts aux éléments feuilles. Dans (Khrouf et al., 2011), nous avons proposé une approche d analyse multidimensionnelle des documents XML orienté-données, en se basant essentiellement sur leur structure logique. La détermination des structures sémantiques comme définies dans cet article permettra d étendre les analyses multidimensionnelles aux documents XML orienté-texte. Plusieurs perspectives à ces travaux sont envisageables. Dans un premier temps, il est important de réaliser des expérimentations sur une collection plus importante de documents XML. Il nous faudra pour cela construire une collection de tests car il n existe pas à ce jour de bases dédiées à ce type de traitements. Nous comptons également étendre ces travaux par la possibilité d associer plusieurs structures sémantiques à un même document XML (multi-structuralité sémantique des documents) afin de traduire les points de vue de plusieurs lecteurs. 9. Bibliographie Abascal R., «Nouveau modèle de documents pour une bibliothèque numériques de thèses accessible par leur contenu sémantique», Thèse de doctorat, INSA, Lyon, 2005. Baeza-Yates R., Ribero-Neto B., «Modern Information Retrieval», Addison Wesley, 1999. Baziz M., Boughanem M., Prade H., «Une approche de représentation de l'information en RI basée sur les sous-arbres», Conférence en Recherche d'information et Applications (CORIA 2007), p. 335-350, Saint-Etienne, France, 2007. Ben Messaoud I., Feki J., Khrouf K., Zurfluh G., «Unification of XML Document Structures for DOCW», International Conference on Enterprise Information Systems (ICEIS 11), p. 85-94, Beijing, China, 2011. Gesche S., Egyed-Zsigmond E., Calabretto S., Caplat G., Beney J., «Classification supervisée sémantique d articles de presse en français», Atelier Recherche d'information Sémantique, Marseille, France, 2010. Harrathi R., Calabretto S. «Une approche de recherche sémantique dans les documents semistructurés», Atelier Recherche d Information Sémantique, Marseille, France, 2010. Khrouf K., Feki J., Soulé-Dupuy C., «An Approach for Multidimensional Analysis of Documents», International Conference on Information Systems and Economic Intelligence, p. 46-53, Marrakech, Maroc, 2011. Salton G., Fox E.A., Wu H., «Introduction to Modern Information Retrieval», McGraw Hill International Book Company, 1983. Tagarelli A., Greco S., «Semantic clustering of XML documents», ACM Transactions on Information Systems (TOIS), Volume 28, Issue 1, January 2010. Upasana P., Chakraverty S., Rahul J., «Context Driven Technique for Document Classification», International Conference on Advances in Computer Science, India, 2010. Zargayouna, H., Salotti, S., «Mesure de similarité dans une ontologie pour l'indexation sémantique de documents XML», Ingénieries des Connaissances (IC 2004), 2004.