View
3
Download
0
Category
Preview:
Citation preview
Recherche d’information sémantique dans les documents XML :
une approche fondée sur l’appariement flou entre termes
Arnaud Renard,
Encadrement : Sylvie Calabretto, LIRIS UMR 5205 - INSA de Lyon,
7 avenue Jean Capelle, 69621 Villeurbanne cedex, France,
arnaud.renard@insa-lyon.fr
Résumé. La sémantique constitue aujourd’hui un enjeu majeur dans l’évolution
des systèmes de RI1 en général, et dans les systèmes de RI (semi-)structurée en
particulier. C’est pourquoi nous nous sommes intéressés aux différentes façons de
la prendre en compte. Ainsi, cette prise en compte passe notamment par l’emploi
de ressources sémantiques externes à la collection de documents. Il est également
nécessaire de disposer de mesures de similarité sémantique pour pouvoir effectuer
des comparaisons entre concepts et, par conséquent, exploiter cette ressource. Ces
mesures de similarité supposent que les concepts aient pu être identifiés sans
ambiguïté. Toutefois, la présence d’erreurs au sein des documents perturbe
l’appariement entre les termes et les concepts. Ainsi, les différents systèmes de RI
(semi-)structurée sémantique que nous avons étudiés s’appuient sur des méthodes
d’identification simples des concepts et ne prennent hélas pas en compte
l’incertitude liée aux termes. Nous nous intéressons donc à cet aspect et nous
proposons une méthode de détection des termes erronés, ainsi qu’une formule de
pondération sémantique floue pouvant être intégrée dans le processus d’indexation
d’un système de RI. Afin d’évaluer les gains potentiels de notre proposition, nous
avons développé un prototype dont les résultats semblent prometteurs. Abstract. Nowadays, semantic is one of the greatest challenges in IR1 systems
evolution, in particular when it comes to (semi-)structured IR systems. That’s the
reason why we tried in this paper to figure out different ways to take semantic into
account. Usually, this task needs the use of an additional external semantic
resource related to the documents collection. Therefore, it is necessary to have
semantic similarity measures for concepts comparisons and semantic resources
exploitation. Similarity measures assume that concepts related to the terms have
been identified without ambiguity. Therefore, misspelled terms interfere in term to
concept matching process. So, semantic aware (semi-)structured IR systems we
studied lay on basic concept identification and don’t care about terms spelling
uncertainty. We choose to deal with this aspect and we suggest a way to detect and
correct misspelled terms through a fuzzy semantic weighting formula which can be
integrated in an IR system. In order to evaluate expected gains, we have developed
a prototype which results sounds interesting. Mots clés: recherche d’information, document (semi-)structuré, XML2,
hétérogénéité, appariement sémantique flou, ressource sémantique, thesaurus,
ontologie.
1 RI : Recherche d’Information IR : Information Retrieval 2 XML : eXtensible Markup Language
2 Arnaud Renard,
1 Introduction
La société actuelle évolue et adopte de plus en plus les outils et pratiques liés aux
technologies de l’information et de la communication. Il en résulte un accroissement
important de la quantité et de la diversité des informations produites. Le problème ne
réside donc plus dans la disponibilité des informations mais plutôt dans l’accès aux
informations pertinentes pour l’utilisateur. Pour faciliter la réponse à cette
problématique, le Web qui reçoit une part importante de ces informations est amené à
évoluer selon deux grandes tendances : une structuration de plus en plus importante
des données, et la prise en compte de la sémantique qui y est rattachée.
Dans le cadre des travaux menés ici, nous ne prétendons pas nous intéresser à la
recherche dans tous les types d’informations, mais seulement à un sous-ensemble qui
concerne les informations textuelles regroupées dans des documents, eux-mêmes
regroupés en collections. Ces documents ont évolué et sont progressivement passés de documents dits « plats » à des documents dits « (semi-)structurés » avec les formats
tels que SGML3, et plus récemment XML. Nous nous sommes donc principalement
intéressés à ce dernier type de documents dont les problématiques sont liées à la prise
en compte simultanée des informations de contenu, mais aussi structurelles. Il existe
dans la littérature de nombreux systèmes de RI qui ont pour but de renvoyer aux
utilisateurs les informations pertinentes présentes dans une collection de documents.
Afin de satisfaire au mieux les requêtes traduisant le besoin d’un utilisateur, ces
systèmes tentent de maximiser les critères de spécificité et d’exhaustivité de la
réponse vis-à-vis de la requête.
Un problème fréquemment rencontré en RI relève de l’hétérogénéité des
documents présents dans les collections considérées, et notamment une hétérogénéité structurelle en ce qui concerne la RI dans les documents XML, ce qui signifie que les
documents considérés ne suivent ni la même DTD4 ni le même schéma XML. Cette
disparité a la plupart du temps pour origine l’absence de consensus entre les
différentes sources d’informations.
La sémantique5 consiste en l’étude de la signification des mots ainsi que les
rapports de sens entre ces derniers (tels que l’homonymie, la synonymie, l’antonymie,
l’hyperonymie, l’hyponymie). Elle est donc en mesure de permettre un meilleur
niveau de compréhension du sens des informations ce qui est d’autant plus important
dans un contexte hétérogène. Ainsi, son introduction dans la RI est devenue un facteur
clé dans le perfectionnement des moteurs de recherche, qu’ils soient grand public ou
spécialisés dans des domaines particuliers de la RI. Divers exemples peuvent ainsi
être cités, notamment celui du moteur de recherche Google qui a récemment intégré la prise en compte de notions sémantiques au sein de son moteur de recherche avec
l’objectif de combler le fossé sémantique entre les besoins réels des utilisateurs et
ceux qu’ils expriment au travers de l’interface fournie par le moteur de recherche.
Plus récemment encore, Microsoft a lancé le moteur de recherche sémantique
« Bing ». Il s’agit donc d’un domaine qui focalise actuellement beaucoup d’attentions.
Il est communément accepté que l’utilisation de ressources sémantiques comme
3 SGML : Standard Generalized Markup Language 4 DTD : Document Type Definition 5 Définition Wikipedia plus complète de la sémantique (http://en.wikipedia.org/wiki/Semantic)
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
3
des ontologies et des taxonomies de concepts améliore les performances des systèmes
de RI [Rosso’04]. Il est pour cela nécessaire d’être en mesure de réaliser un
appariement entre les termes des documents et les termes représentant les instances de
concepts dans une ressource sémantique lexicalisée. Quelques systèmes tentent déjà
d’utiliser de telles ressources dans le cadre de la RI semi-structurée, mais ces derniers
sont encore peu nombreux.
Comme nous l’avons déjà mentionné précédemment la quantité et la diversité des
informations produites augmentent. Les sources de ces données sont également de plus en plus variées, ce qui est à l’origine de supposées nombreuses erreurs de saisie :
telles que des fautes de frappe, mais aussi d’autres types de fautes moins fortuites, ou
encore des figures de style trompeuses. A notre connaissance, à l’heure actuelle aucun
travail ne prend en compte ces anomalies. Nous nous appuierons donc sur les travaux
existants afin de proposer une solution pour la prise en compte de ces erreurs. Pour
atteindre cet objectif, nous proposerons une méthode permettant l’appariement
sémantique flou entre les termes des documents et ceux d’une ressource sémantique
externe. Nous souhaitons pour cela nous appuyer sur des ressources issues du Web
sémantique, l’objectif étant à terme de prendre en compte aussi bien la sémantique du
contenu textuel des documents que la sémantique portée par leur structure. Ainsi, lors
de notre étude, l’accent sera mis sur les ressources sémantiques et les mesures
nécessaires à leur exploitation. Nous étudierons notamment une ressource qui semble prometteuse même si elle est pour l’instant relativement peu utilisée : DBpedia6, une
vaste ontologie multi-domaine et multi-lingue.
La suite du document est organisée de la façon suivante. Nous présenterons dans la
partie 2 le cadre dans lequel se déroulent nos travaux, puis dans la partie 3 les
différentes approches dans la littérature prenant en compte l’aspect sémantique dans
la RI (semi-)structurée. Nous décrirons également dans cette partie, les outils
nécessaires à la prise en compte de la sémantique, notamment les ressources
sémantiques (thesaurus, ontologie, …), ainsi que les mesures de similarité entre
concepts. Nous présenterons ensuite notre proposition théorique dans la partie 4,
l’architecture et l’implémentation de cette dernière dans la partie 5, et son évaluation
dans la partie 6. Enfin, nous conclurons et nous indiquerons les perspectives d’évolution que nous envisageons en partie 7.
2 Préliminaires
Avant de dresser un état de l’art, il est nécessaire de préciser davantage le cadre dans
lequel nous allons évoluer. Cela nous permettra ainsi de clarifier certains points
pouvant prêter à confusion.
2.1 Distinction entre les types de documents : structurés/semi-structurés
Trois types de documents textuels peuvent être distingués : les documents plats, les
documents structurés, et enfin les documents semi-structurés. Nos travaux
6 DBPedia (http://wiki.dbpedia.org)
4 Arnaud Renard,
s’intéressant principalement à la RI dans les documents XML semi-structurés, nous
n’aborderons pas ici le cas des documents plats. Les différences entre les deux autres
types de documents étant moindres, les documents semi-structurés sont souvent
qualifiés abusivement de documents structurés. Ces deux types de documents, bien
que représentables tous les deux sous la forme de documents XML, font l’objet
d’approches différentes de la recherche d’information.
En effet, les documents structurés respectent un modèle de document défini (DTD,
ou schéma XML) et ont ainsi une structure régulière qui ne varie pas d’un document à l’autre. De plus, ce type de document ne contient pas d’élément mixte (élément qui
contient du texte et des sous-éléments). Enfin, l’ordre des éléments n’a pas
d’importance. En revanche, les documents semi-structurés ne respectent pas
nécessairement un modèle de document commun et ont donc une structure plus
flexible. Ainsi, l’ajout, la suppression, ou même la modification de données peut être
à l’origine de modifications de la structure des documents. De plus, leur contenu est
très souvent hétérogène.
Dans le cadre d’une approche orientée base de données, ce sont plutôt des
documents structurés qui sont considérés. Toutefois, dans le cadre d’une approche
orientée RI, on considèrera plutôt des documents semi-structurés. Nous essayerons
donc dans la suite de ce document de bien distinguer ces deux types de documents.
2.2 Description des documents XML
La structure des documents est définie par des balises encadrant les fragments
d’informations. Une balise7 est une suite de caractères encadrés par « < » et « > ». Par
exemple : « <nombalise> ».
Un élément est une unité syntaxique délimitée par des balises de début <balise>, et
de fin </balise>. Par exemple : « <balise>contenu textuel</balise> ». Les éléments peuvent être imbriqués, mais ne doivent pas se chevaucher.
Les attributs des éléments sont intégrés à la balise de début en utilisant la syntaxe
nomattribut="valeur". Par exemple : « <balise attribut="valeur">contenu
textuel</balise> ».
<?xml version="1.0" ?>
<article> <name>Anne Frank</name> <section>
<title>introduction</title> <paragraph>book writings dairy girl family diary journal</paragraph>
</section> </article>
article
name
Anne Frank
section
paragraphtitle
introduction
book writings dairy
girl family diary
journal
Fig. 1. Exemple de document XML (gauche) et sa représentation en arbre DOM (droite)
7 Les balises sont fréquemment nommées tags ou labels
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
5
Un document XML est donc représenté sous la forme d’un fichier texte respectant
la syntaxe définie (cf. Fig. 1. gauche) et peut être représenté graphiquement sous la
forme d’un arbre appelé arbre DOM8 (cf. Fig. 1. droite).
Un arbre DOM comporte une racine qui représente le document complet (ex :
article), des nœuds internes qui représentent les éléments (ex : section), et des nœuds
feuilles qui représentent le contenu textuel des éléments (ex : name, title, paragraph).
Notre environnement de travail étant défini, nous pouvons maintenant présenter les
différents travaux relatifs aux nôtres.
3 Travaux connexes
Comme nous pourrons le constater par la suite dans les différents systèmes de RI
(semi-)structurée que nous présenterons, il est nécessaire de disposer de ressources
sémantiques externes ainsi que de mesures permettant d’effectuer des comparaisons
afin d’être en mesure de prendre en compte l’aspect sémantique des documents. Ceci amène Zoulikha Bellia à définir la notion de cadre sémantique [Bellia’08a]. Cette
notion repose sur deux notions complémentaires à savoir : la ressource sémantique
(externe) et le modèle de mesure de similarité entre concepts. Nous verrons par la
suite, comment ces ressources sont employées dans le cadre de la RI semi-structurée
sémantique.
3.1 Ressources sémantiques
Différents types de ressources sémantiques peuvent être distingués parmi lesquels se
trouvent les thesaurus, et les ontologies. Les ressources sémantiques peuvent se
distinguer selon l’étendue des connaissances qu’elles couvrent en deux catégories : les
ressources de domaine, et les ressources généralistes. Etant donné que les collections
de documents XML semi-structurés sont très souvent hétérogènes en termes de
contenu, seules les ressources généralistes seront abordées dans ce document.
3.1.1 Taxonomie
Une taxonomie est un vocabulaire contrôlé organisé sous une forme hiérarchique
simple. Les liens hiérarchiques dans une taxonomie correspondent à des liens de
spécialisation affinant le sens d’un terme. La taxonomie, à la différence du thesaurus
ne permet pas de parcourir la hiérarchie de manière connexe ni de restreindre ou de
spécialiser le champ des connaissances [Bellia’08b].
3.1.2 Thesaurus
Un thesaurus constitue un dictionnaire (vocabulaire contrôlé) hiérarchisé. Ce
vocabulaire est normalisé et présente les termes (génériques ou spécifiques à un
domaine) composant le vocabulaire sous une forme standard (lemme). Les termes y
8 DOM : Document Object Model
6 Arnaud Renard,
sont organisés dans une hiérarchie de concepts liés par des relations. Un thesaurus
peut également fournir des définitions. Les relations couramment présentes dans un
thesaurus sont des relations taxonomiques (hiérarchie), d’équivalence (synonymie),
d’association (proximité sémantique, proche-de, relié-à, …). Il existe des thesaurus
spécialisés dans des domaines précis tels que MeSH (domaine biomédical), le
thesaurus généraliste de référence étant Wordnet [Fellbaum’98].
Wordnet9
Wordnet est un thesaurus à caractère généraliste pour la langue anglaise dont
l'organisation dépend du bon sens humain. Les noms, verbes, adjectifs et adverbes
sont organisés en ensembles de synonymes (appelés synsets), chaque ensemble
représentant un concept lexical. De plus, différentes relations lient les ensembles de
synonymes.
3.1.3 Ontologie
Les ontologies permettent de décrire un ensemble de connaissances spécifiques ou
générales, mais aussi de représenter des relations entre concepts complexes, ainsi que
des axiomes et règles absentes des thesaurus. Cette formalisation permet aux outils
informatiques de raisonner ce qui leur confère un meilleur niveau de « compréhension
» [Bellia’08b]. Il devient ainsi possible d’inférer de nouvelles connaissances à partir de celles déjà acquises ce qui permet également de maintenir une plus grande
cohérence en validant ces connaissances.
YAGO10
YAGO [Suchanek’07] est une ontologie généraliste de grande taille et extensible qui s’appuie sur les entités et relations extraites à partir de Wikipedia. Le contenu de
YAGO a été extrait automatiquement de Wikipedia et unifié avec la sémantique de
Wordnet. Tous les objets (villes, personnes, même les URLs) sont représentés comme
des entités dans le modèle de YAGO. YAGO n’utilise pas la totalité de la hiérarchie
des catégories de Wikipedia mais associe les catégories feuilles à la taxonomie de
Wordnet pour établir des relations de type « subClassOf ». Ainsi, la relation
« subClassOf » de YAGO est utilisée par [Demartini’08] pour obtenir les concepts
décrivant les entités de Wikipedia.
DBpedia
Comme cela est expliqué dans [Auer’07], DBpedia est la résultante d’un effort de
toute une communauté pour extraire des informations structurées à partir de
Wikipedia et les mettre à disposition sur le Web. DBpedia présente l’avantage de
permettre l’interrogation des données de Wikipedia au moyen de requêtes complexes.
De plus, DBpedia permet de lier d’autres ressources présentes sur le Web à celles
extraites de Wikipedia. Une part importante des ressources de DBpedia est disponible
dans 36 langues différentes. Toutefois, la version anglaise de Wikipedia étant la plus
9 Wordnet (http://wordnet.princeton.edu) 10 YAGO : Yet Another Great Ontology (http://www.mpi-inf.mpg.de/yago-naga/yago)
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
7
utilisée, la plus grande partie des ressources sont disponibles dans cette langue.
L’ensemble des instances de concepts de DBpedia sont décrites par un résumé
disponible dans la plupart de ces langues. Toutes les connaissances stockées par
DBpedia décrivent environ 2,6 millions d’objets, incluant 213000 personnes, 328000
lieux, 57000 albums musicaux, 36000 films, 20000 entreprises. La base de
connaissances totalise ainsi 274 millions de triplets RDF11 et représente également
609000 liens vers des images, 3150000 liens vers des pages Web externes, 4878100
liens vers des données RDF externes. Ces informations sont organisées dans 415000 catégories de Wikipedia, et sont rattachées à 75000 catégories de l’ontologie YAGO.
L’ensemble des données de DBpedia est accessible par trois moyens différents à
savoir : des données liées (accessibles par une URL respectant un modèle standard),
l’interrogation SPARQL12 d’un serveur de triplets RDF en ligne, et des sauvegardes
des fichiers RDF. La richesse des interconnexions entre DBpedia et de nombreuses
autres ressources place DBpedia au cœur du projet LOD13 du W3C14 (cf. 9.1 Annexe
1 : Ressources du LOD cloud).
Même si relativement peu de projets de RI s’appuient sur DBpedia pour l’instant,
la récente mise à disposition d’une ontologie OWL15 facilitant l’exploitation de la
structure de la ressource devrait faire évoluer les choses. On trouve ainsi dans les
« use cases » de DBpedia son emploi en tant que vaste ontologie multi-domaine et
multi-lingue. Comparée à des ontologies de domaine qui sont en général créées par de petits groupes d’ingénieurs et qui sont très coûteuses à mettre à jour avec les
évolutions du domaine, DBpedia présente plusieurs avantages dont le fait qu’elle
couvre de nombreux domaines, qu’elle représente un consensus réel de la part d’une
communauté, et enfin qu’elle évolue « automatiquement » avec les changements de
Wikipedia. De la même façon que YAGO a été utilisé par [Demartini’08],
[Kobilarov’09] propose l’utilisation de DBpedia pour interconnecter les multiples
sites spécifiques à différents domaine de la BBC16 en utilisant DBpedia pour les
unifier.
Parmi toutes les informations contenues dans DBpedia, certains sous-ensembles
sont plutôt riches d’un point de vue sémantique dans le sens où ils contiennent des
informations très spécifiques. Au contraire, d’autres contiennent des métadonnées et sont plutôt pauvres. Toutefois, ces métadonnées peuvent servir à calculer des mesures
de proximité entre concepts, ou de pertinence dans les résultats de recherche.
Bien que le choix d’une ressource sémantique adaptée constitue un point
déterminant dans les performances d’un système de RI (semi-)structurée sémantique,
il est nécessaire de disposer de mesures de similarité s’appliquant sur cette ressource
pour être en mesure de l’exploiter.
11 RDF : Ressource Description Framework 12 SPARQL : Acronyme récursif signifiant : SPARQL Protocol And RDF Query Language 13 LOD : Linking Open Data – Il s’agit d’un projet du W3C dont le but est d’interconnecter
l’ensemble des sources de données du Web pour passer d’un Web de liens à un Web de
données: http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData 14 W3C : World Wide Web Consortium (http://www.w3.org) 15 OWL : Ontology Web Language 16 BBC : British Broadcasting Corporation (http://www.bbc.co.uk)
8 Arnaud Renard,
3.2 Mesures de similarité sémantique
La mesure du degré de similarité entre deux concepts permet de comparer les
concepts entre eux. Cette comparaison est notamment utilisée dans le processus de
pondération des termes, lors de l’interrogation par les concepts, mais également lors de la désambiguïsation sémantique. Un état de l’art complet de la désambiguïsation
peut être trouvé dans [Navigli’09]. En premier lieu, il est nécessaire d’effectuer la
distinction, entre la similarité sémantique et la proximité sémantique
[Zargayouna’05]. En effet, cette dernière notion prend en considération tout type de
relation entre les concepts et elle recouvre donc un champ plus large que la « simple »
notion de similarité. Il est souligné dans ces travaux que la notion de similarité semble
plus pertinente dans le cadre de la RI même si elle est plus restrictive. Il existe de
multiples états de l’art concernant les mesures de similarité et de distance sémantique.
Ainsi, cinq mesures de similarité/distance sémantique s’appuyant sur Wordnet sont
comparées dans [Budanitisky’01].
Deux types de mesures de similarité sémantiques peuvent être distingués. Le premier type s’appuie sur la structure de la ressource sémantique en proposant un
comptage plus ou moins élaboré du nombre d’arcs séparant deux concepts. En
revanche, le deuxième type de mesures s’appuie sur le contenu informationnel. Le
contenu informationnel traduit la pertinence d’un concept dans la collection en tenant
compte de la fréquence de son apparition dans la collection ainsi que de la fréquence
d’apparition des concepts qu’il subsume. Toutefois, [Zargayouna’05] ayant montré
que le premier type de mesure pouvait être aussi performant que le deuxième, seul le
premier type de mesure sera abordé dans ce document. En effet, les mesures du
deuxième type nécessitent un apprentissage, elles sont dépendantes de la qualité de
l’apprentissage et s’avèrent plus contraignantes (en particulier du fait de la difficulté à
trouver une collection d’apprentissage adapté). On peut notamment citer dans ce domaine, les travaux de [Resnik’95] qui a introduit le contenu informatif, ainsi que
ceux de [Jiang’97] et [Lin’98] qui utilisent une approche mixte, et plus récemment
ceux de [Formica’09]. De plus, selon [Budanitsky’06] la mesure de Jiang-Conrath
permet de mieux prendre en compte les erreurs dans l’écriture des termes que
l’ensemble des autres mesures.
Dans [Rada’89], il a été suggéré que la similarité au sein d’un réseau sémantique
peut être calculée en se basant sur les liens taxonomiques exprimant des relations de
type hyperonyme/hyponyme, et plus précisément de type « est-un ». A partir de ce
constat, la similarité sémantique peut être mesurée dans une taxonomie en calculant la
distance entre les concepts en suivant le plus court chemin qui les sépare. Il est
toutefois mentionné dans cet article que cette méthode n’est valable que pour les liens
de type hiérarchique (« est-un », « sorte-de », « partie-de », …) mais qu’elle pourrait être modifiée pour prendre en considération d’autres types de liens (relations de
causalité, …).
Dans les travaux de [Wu’94], une mesure de similarité entre concepts a été mise au
point pour permettre la traduction automatique entre l’anglais et le mandarin chinois.
En effet, dans un cadre multilingue, il est préférable de comparer les termes sur un
plan conceptuel car cela évite les problèmes d’ambiguïté entre les différents sens
possibles d’un terme (homonymie). La mesure qu’ils ont proposée est définie par
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
9
rapport à la distance qui sépare deux concepts de leur plus petit ancêtre commun (le
concept le plus spécifique qui les subsume tous les deux), ainsi que la racine de la
hiérarchie. La similarité entre deux concepts 𝐶1 et 𝐶2 se calcule ainsi par la formule :
𝑆𝑖𝑚𝑊𝑃 𝐶1 ,𝐶2 =2 ∗ 𝑝𝑟𝑜𝑓(𝐶)
𝑑𝑖𝑠𝑡 𝐶,𝐶1 + 𝑑𝑖𝑠𝑡 𝐶,𝐶2 + 2 ∗ 𝑝𝑟𝑜𝑓 𝐶 (1)
Où, 𝐶 est le plus petit ancêtre commun de 𝐶1 et 𝐶2 (en nombre d'arcs), 𝑝𝑟𝑜𝑓(𝐶) est
le nombre d'arcs qui séparent 𝐶 de la racine, et 𝑑𝑖𝑠𝑡(𝐶,𝐶𝑖) le nombre d'arcs qui
séparent 𝐶𝑖 de 𝐶.
Dans [Zargayouna’05], la mesure de similarité proposée est inspirée de celle de
[Wu’94]. Le lien père-fils est ainsi privilégié par rapport aux autres liens de voisinage
en adaptant la mesure de Wu-Palmer qui pénalise dans certains cas les fils d'un concept par rapport à ses frères. L’adaptation de la mesure est faite au travers de la
fonction de calcul du degré de spécialisation d’un concept (𝑠𝑝𝑒𝑐) qui mesure sa
distance par rapport à l’anti-racine. Cela permet ainsi de pénaliser les concepts qui ne
sont pas de la même lignée.
𝑆𝑖𝑚𝑍𝑆 𝐶1,𝐶2 =2 ∗ 𝑝𝑟𝑜𝑓(𝐶)
𝑑𝑖𝑠𝑡 𝐶,𝐶1 + 𝑑𝑖𝑠𝑡 𝐶,𝐶2 + 2 ∗ 𝑝𝑟𝑜𝑓 𝐶 + 𝑠𝑝𝑒𝑐(𝐶1 ,𝐶2) (2)
𝑠𝑝𝑒𝑐 𝐶1 ,𝐶2 = 𝑝𝑟𝑜𝑓𝑏 𝐶 ∗ 𝑑𝑖𝑠𝑡 𝐶,𝐶1 ∗ 𝑑𝑖𝑠𝑡 𝐶,𝐶2 (3)
Où, 𝑝𝑟𝑜𝑓𝑏 (𝐶) correspond au nombre maximum d’arcs qui séparent le plus petit
ancêtre commun du concept « virtuel » représentant l’anti-racine : .
Les travaux menés dans [Torjmen’08] sur la RI multimédia basée sur la structure
font l’hypothèse selon laquelle la structure d’un document XML peut se rapprocher
d’une ontologie. Cela permet ainsi d’utiliser une mesure dérivée de celle de Wu-
Palmer [Wu’94], et de [Zargayouna’05] pour l’exploiter directement sur la structure même des documents XML.
Différents travaux visent à prendre en compte la sémantique dans la RI structurée,
ce qui passe par l’emploi des outils et ressources que nous venons de présenter. Nous
allons maintenant présenter les fondements servant de support à la RI semi-structurée
sémantique.
3.3 RI sémantique dans les documents XML
3.3.1 Processus de RI
On peut distinguer deux grandes phases dans les processus de RI : l’indexation qui
vient en amont permettre l’interrogation. Afin de permettre les deux types de
recherche présentés, les méthodes de RI « classiques » ont dû être adaptées pour
prendre en compte la structure des documents.
10 Arnaud Renard,
Indexation
En RI classique, l’indexation des documents se fait principalement en fonction de leur
contenu textuel. L’indexation consiste alors à extraire les termes les plus
représentatifs des documents. Les termes sont alors pondérés en fonction de leur
représentativité dans le document et dans la collection à laquelle appartient le
document (TF-IDF) [Salton’71].
Dans le cadre de la RI dans des documents XML, cela s’avère insuffisant et il est nécessaire d’indexer également l’information structurelle associée au contenu du
document. La pondération ne doit plus alors tenir compte uniquement de l’importance
des termes dans le document et de façon globale dans les documents de la collection,
mais aussi dans les éléments de la collection (introduction du facteur discriminant
IEF17, et du TF-ITDF18). Trois approches peuvent être distinguées : l’indexation par
les champs qui présente le désavantage de ne pas conserver les liens hiérarchiques
entre les champs, l’indexation par les chemins qui permet de traiter les requêtes sur la
structure des documents de façon efficace mais qui ne permet pas de retrouver les
relations entre les éléments du document, et enfin, l’indexation par les arbres qui
permet de reconstruire l’intégralité de la structure du document, et constitue ainsi
l’approche la moins limitée. L’intégration de la sémantique dans le processus de RI nécessite l’emploi d’une
troisième structure d’index représentée par l’indexation par les concepts d’une
ressource sémantique. Cette structure d’index peut être utilisée à la place ou en
complément de l’indexation par les termes. Les mesures de similarité entre concepts
sont ainsi utiles pour être en mesure d’effectuer des comparaisons.
Cela permet ainsi lors de la phase d’interrogation d’effectuer des recherches par les
termes, par la structure, et par les concepts.
Interrogation
Un utilisateur interrogeant une collection de documents XML peut formuler deux
types de requêtes : des requêtes sur le contenu des unités d’information, ainsi que des
requêtes portant sur le contenu et la structure des unités d’information. De nombreux
langages permettant d’exprimer ces requêtes ont été créés, et s’inspirent plus ou
moins des travaux réalisés dans le cadre des bases de données : XML-QL, XQL,
Xquery, XIRQL.
Les requêtes sur le contenu sont composées de simples mots-clés et il est ainsi
laissé au système le choix de la granularité d’information à renvoyer qui semble la
mieux adaptée.
Les requêtes sur le contenu et la structure introduisent des contraintes supplémentaires sur les éléments de structure, précisant ainsi sa recherche et indiquant
le type d’élément recherché. Etant donnée l’hétérogénéité des collections de
documents XML semi-structurés, les utilisateurs sont dans l’incapacité d’avoir des
connaissances à la fois complètes et précises des structures des documents d’une
collection. De fait, les utilisateurs éprouvent des difficultés à exprimer des requêtes
comportant des contraintes sur la structure. Il est donc pertinent de ne considérer que
les requêtes sur le contenu. Nous nous contenterons dans un premier temps de gérer
17 IEF : Inverse Element Frequency 18 TF-ITDF : Tag Frequency – Inverse Tag and Document Frequency
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
11
les hétérogénéités au niveau des termes pouvant représenter aussi bien le contenu
textuel des documents que les éléments de structure.
L’objectif est le même dans les deux cas, il s’agit de retrouver les éléments les plus
exhaustifs et spécifiques qui sont pertinents vis-à-vis d’une requête, i.e. les sous-
arbres pertinents de taille minimale. Les résultats sont ensuite présentés par ordre de
pertinence décroissante à l’utilisateur.
Deux approches [Pinel’08] coexistent dans le traitement des requêtes. La première
consiste à propager les termes des documents des nœuds feuilles vers les nœuds de niveau supérieur. En revanche, la seconde approche propage seulement le score de
pertinence obtenu par les nœuds feuilles aux nœuds de niveau supérieur. La première
approche présente l’inconvénient d’alourdir fortement l’index vis-à-vis de la seconde
qui est beaucoup plus légère. Cela est dû au fait qu’il y a une redondance importante
qui est introduite dans l’indexation des termes dans la première approche (à chaque
niveau de l’arbre du document).
Les travaux suivants intègrent tous, les deux processus d’indexation et de
recherche que nous venons de présenter.
3.3.2 Systèmes de RI (semi-)structurée sémantique
Les travaux sur les systèmes de RI sémantique prennent en compte seulement la
sémantique du contenu textuel des documents et pas celle de leur structure. Selon
[Zargayouna’05], jusqu’en 2005, très peu de travaux tentaient de combiner ces deux
aspects. Il n’y avait alors que le système XXL19 qui intégrait déjà une ontologie dans
le processus d’indexation. La situation a beaucoup évolué depuis car de plus en plus
de systèmes tendent à prendre en compte la sémantique. Le langage de requête du
système XXL permet l’interrogation de documents XML avec une syntaxe proche de la syntaxe SQL20. En effet, il est fondé sur les langages de requêtes tels que XML-QL
et XQuery auxquels il ajoute un opérateur de similarité sémantique noté « ˜ ». Cet
opérateur permet d’exprimer des conditions de similarité sémantique sur les éléments
ainsi que sur leur contenu textuel. L’évaluation de la requête est fondée sur un calcul
de similarité dans une ontologie ainsi que sur des techniques de pondération des
termes. Le moteur de recherche XXL présente une architecture s’appuyant sur 3
structures d’index [Schenkel’05] pour être en mesure de prendre en compte la
sémantique. Ce moteur a été un précurseur en ce qui concerne l’indexation par les
concepts d’une ressource sémantique.
Dans les travaux de [Zargayouna’05] concernant l’indexation sémantique et ayant
abouti au prototype SemIndex (dédié à l’indexation sémantique) et SemIR (dédié à
l’interrogation), la dimension sémantique est prise en compte tant au niveau du contenu textuel que de la structure. La mesure de similarité entre concepts définie
précédemment est utilisée pour désambiguïser le sens des termes en favorisant le sens
rattaché au concept qui maximise la densité du réseau sémantique. L’originalité de
l’approche consiste principalement dans la mesure de similarité utilisée pour enrichir
la méthode de pondération des termes.
19 XXL : fleXible XML search Language 20 SQL : Structured Query Language
12 Arnaud Renard,
Une première version des travaux de [Zargayouna’04] a été reprise dans
[Bellia’08a] pour être intégrée à la mesure de [Mercier’05] qui ne tient pas compte de
la sémantique. Ainsi, dans [Bellia’07] cette mesure est enrichie de façon à prendre en
considération des liens de similarité latents entre documents et à l’adapter au
formalisme XML. D’autres systèmes de RI structurée sémantique peuvent être cités
tels que CXLEngine21 [Taha’08], système dérivé de travaux précédents ayant abouti à
OOXSearch.
Dans une étude de [Van Zwol’07] sur le système de RI XSee, l’approche suivie montre que la sémantique impacte positivement les performances des systèmes qui
prennent en compte la structure des documents. En effet, ils montrent qu’une
structuration sémantique riche d’un document contribue à l’amélioration significative
des systèmes de RI structurée. Il est donc pertinent à terme de prendre en compte la
sémantique du contenu mais également celle de la structure dans le cas où celle-ci
comporte une sémantique propre.
3.4 Considérations à propos de l’indexation sémantique
La prise en compte de la sémantique n’a été vraiment considérée qu’assez récemment
car elle alourdit le processus d’indexation. Même s’il est communément accepté que
la prise en compte de sémantique améliore les performances des systèmes, certains
travaux rapportent une dégradation des performances. En effet, il peut paraître
préférable pour l’indexation des documents de prendre en compte un maximum de
sémantique. Toutefois, l’indexation d’une trop grande quantité de termes peut
s’avérer contre productive car elle accroit le temps de traitement et réduit la précision.
Il est donc nécessaire de limiter la quantité de termes indexés en filtrant les termes
avec une « stop-list », avec des étiquettes marquant le discours, en fonction de leur
fréquence, ou via des techniques statistiques. Ces techniques n’étant pas adaptées dans le cadre de l’utilisation de ressources sémantiques, certains travaux effectuent
des regroupements de concepts pour n’indexer que les concepts qui les subsument.
D’autres travaux plus poussés tentent de trouver des coupes optimales en utilisant des
critères basés sur la théorie de l’information [Seydoux’05].
Un autre problème dans l’indexation par les concepts réside dans l’appariement des
termes présents dans un document avec les concepts d’une ressource sémantique,
surtout lorsque les termes contiennent des erreurs résultant d’une mauvaise épellation.
Aucun des systèmes présentés ci-dessus ne prend en compte cette incertitude sur les
termes.
4 Proposition
4.1 Introduction
L’indexation des documents contenant des termes erronés est faussée par ces termes.
Ces erreurs qui peuvent avoir de multiples origines, perturbent l’appariement entre
21 CXLEngine : Comprehensive XML Loosely structured search Engine
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
13
ces termes erronés et les termes représentant les concepts d’une ressource sémantique
lexicalisée : les concepts peuvent être mal identifiés, voire pas identifiés du tout.
Classiquement, les termes erronés sont indexés en l’état et sont considérés au même
titre que n’importe quel autre terme présent dans le document. La prise en compte de
l’incertitude liée aux termes dans le processus d’indexation est donc susceptible
d’apporter une amélioration significative des performances. Les systèmes présentés
ci-dessus ne prennent pas en compte l’incertitude relative à l’écriture d’un terme.
Exemple : Un document traitant d’Anne Frank est indexé. Il est pertinent de
trouver dans ce document des termes faisant référence à son journal intime « diary ».
Toutefois, on retrouve dans ce document le terme « dairy » (qui signifie crèmerie). On
peut intuitivement penser qu’il s’agit d’une erreur car ce terme est situé complètement
hors de son contexte.
4.2 Types d’erreurs rencontrés
Dans l’exemple donné précédemment, l’erreur commise avait pour origine la simple
inversion de deux lettres. Cependant, d’autres types d’erreurs peuvent survenir. Un
terme peut être écrit en fonction de sa prononciation et donc de sa phonétique par une
personne qui en ignore l’orthographe, ou bien un terme peut faire l’objet d’une figure
de style rhétorique, etc. Cela peut aboutir à des termes qui peuvent ne pas être les
bons, ou même ne pas exister.
Ces erreurs sont susceptibles d’être commises fréquemment. En effet, dans le
premier cas il s’agit d’une simple inversion de deux lettres ce qui arrive souvent
lorsque l’on écrit sur un clavier d’ordinateur. Le second cas peut lui aussi survenir
assez souvent lorsque l’orthographe n’est pas correctement maîtrisée. Le troisième cas
quant à lui revient potentiellement moins souvent mais peut tout de même s’avérer fréquent dans certains types de documents.
Une caractéristique commune peut être dégagée, l’ensemble des termes faisant
l’objet d’une erreur sont hors contexte par rapport aux autres termes présents dans le
document. Afin de prendre en compte ces erreurs pendant le processus de pondération
des termes lors de la phase d’indexation, il sera nécessaire de détecter un terme hors
contexte pour tenir compte de ces erreurs.
4.3 Bases théoriques
Lors de notre étude des travaux similaires, nous avons pu identifier les travaux menés
dans [Zargayouna’04, Zargayouna’05] comme étant particulièrement intéressants vis-
à-vis de l’intégration de la sémantique dans les systèmes de RI. Nous sommes donc
repartis de ces travaux pour y intégrer la prise en compte de l’incertitude liée aux
termes des documents. En ce qui concerne la gestion des incertitudes sur les termes,
nous nous sommes inspirés des travaux de [Tambellini’07] sur la gestion des données
incertaines. Nous proposons donc une extension de la formule de pondération
sémantique présentée dans [Zargayouna’04] pour que celle-ci réalise un appariement
flou entre les termes présents dans les documents de la collection et les termes
reflétant les concepts d’une ressource sémantique lexicalisée (thesaurus ou ontologie).
14 Arnaud Renard,
4.3.1 Pondération sémantique des termes
Dans [Zargayouna’04], le poids sémantique 𝑆𝑒𝑚𝑊 du terme 𝑡 au sein d’une balise 𝑏
d’un document 𝑑 correspond à la somme de son poids TF-ITDF et des poids des
termes 𝑡𝑖 qui lui sont proches sémantiquement. Les termes 𝑡𝑖 considérés comme étant
sémantiquement proches sont ceux dont la similarité est supérieure à un seuil initialisé
en fonction de la similarité entre le terme 𝑡 et la balise 𝑏.
𝑆𝑒𝑚𝑊 𝑡, 𝑏,𝑑 = 𝑇𝐹𝐼𝑇𝐷𝐹 𝑡, 𝑏,𝑑 + 𝑆𝑖𝑚𝑍𝑆 𝑡, 𝑡𝑖 ∗ 𝑇𝐹𝐼𝑇𝐷𝐹(𝑡𝑖 , 𝑏,𝑑)𝑛
𝑖=1
𝑛 (4)
L’estimation de ce seuil peut toutefois poser problème dans le cas où les balises d’un
document ne comportent pas de sémantique propre, par exemple si elles représentent
la structure logique d’un document. De plus, le TF-ITDF se basant sur le nombre
d’occurrences d’un terme dans un type de balise précis semble moins pertinent dans
un environnement dans lequel la structure des documents est fortement hétérogène, et dans lequel les balises rencontrées sont très souvent différentes.
4.3.2 Gestion de l’incertitude liée aux termes
Notre première idée a été de repartir de la formule de pondération sémantique
proposée dans [Zargayouna’04] pour l’enrichir en prenant en compte les incertitudes
quant à l’écriture des termes. Afin d’intégrer cet aspect, nous nous sommes inspirés
des travaux de [Tambellini’07] en termes de gestion des données incertaines. Etant donné que nous nous basons sur une ressource sémantique lexicalisée dans
laquelle les concepts sont représentés par des termes, nous pensons qu’il peut être
profitable d’effectuer un appariement flou entre les termes des documents de la
collection et ceux de la ressource sémantique lexicalisée.
Ainsi, selon [Tambellini’07], deux termes 𝑡1 et 𝑡2 s’apparient en fonction de : leur
concordance c’est-à-dire leur positionnement relatif noté 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2), et de leurs
intersections c’est-à-dire les zones communes aux deux termes notées 𝐼𝑛𝑡𝑒𝑟(𝑡1 , 𝑡2).
Concordance
La concordance est caractérisée par un sous-ensemble de relations spatiales dérivé des
relations d’Allen : « débute », « pendant », « termine », « chevauche », « concorde »,
et « ne concorde pas » (cf. 9.2 Annexe 2 : Détail des relations de concordance). Ainsi,
la valeur de concordance notée 𝑉𝑎𝑙𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) est déterminée à partir de la
caractérisation de la concordance des termes. Chaque caractérisation est ensuite
associée à une valeur 𝛼𝑖 pour obtenir la valeur de concordance. On peut souligner que
dans les travaux de [Tambellini’07] les valeurs de 𝛼𝑖 sont fixées empiriquement.
𝑉𝑎𝑙𝐶𝑜𝑛𝑐 𝑡1 , 𝑡2 =
𝛼1 = 0.8, 𝑠𝑖 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) 𝑣𝑎𝑢𝑡 𝑑é𝑏𝑢𝑡𝑒 𝛼2 = 0.6, 𝑠𝑖 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) 𝑣𝑎𝑢𝑡 𝑝𝑒𝑛𝑑𝑎𝑛𝑡 𝛼3 = 0.8, 𝑠𝑖 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) 𝑣𝑎𝑢𝑡 𝑡𝑒𝑟𝑚𝑖𝑛𝑒 𝛼4 = 0.2, 𝑠𝑖 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) 𝑣𝑎𝑢𝑡 𝑐𝑒𝑣𝑎𝑢𝑐𝑒 𝛼5 = 1, 𝑠𝑖 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) 𝑣𝑎𝑢𝑡 𝑐𝑜𝑛𝑐𝑜𝑟𝑑𝑒 𝛼6 = 0, 𝑠𝑖 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) 𝑣𝑎𝑢𝑡 𝑛𝑒_𝑐𝑜𝑛𝑐𝑜𝑟𝑑𝑒_𝑝𝑎𝑠
(5)
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
15
Intersection
Une fois la concordance entre les termes caractérisée, il est possible d’en déduire les
zones communes entre les termes qui déterminent l’intersection. Nous pouvons ainsi
définir l’intersection comme une sous-séquence commune de caractères que nous
appellerons 𝑠𝑡1 pour le terme 𝑡1 et 𝑠𝑡2 pour le terme 𝑡2. Toutefois, cette sous-
séquence n’est pas nécessairement identique entre les deux termes. On peut ainsi déterminer la valeur d’intersection suivant la règle :
𝑉𝑎𝑙𝐼𝑛𝑡𝑒𝑟 𝑠𝑡1, 𝑠𝑡2 = 1, 𝑠𝑖 𝑠𝑡1 = 𝑠𝑡2
0 ≤ 𝑉𝑎𝑙𝐼𝑛𝑡𝑒𝑟 𝑠𝑡1,𝑠𝑡2 < 1, 𝑠𝑖𝑛𝑜𝑛 (6)
La problématique de l’incertitude des données est présente dans de nombreux
domaines. Ainsi, les systèmes de correction orthographique se basent également sur la
problématique de l’incertitude des données en cherchant à rapprocher deux termes
ayant des lettres en commun. Des systèmes permettent déjà de déterminer si deux
termes sont phonétiquement identiques tels que l’algorithme du Soundex22 et ses
dérivés : Metaphone qui en corrige certaines lacunes, et Double-Metaphone qui est
une version plus pointue de Metaphone. Ces différents algorithmes sont utilisables
pour déterminer 𝑉𝑎𝑙𝐼𝑛𝑡𝑒𝑟(𝑠𝑡1 , 𝑠𝑡2) dans le cas où les zones communes entre termes
ne sont pas exactement égales. Dans le cadre de l’implémentation d’un prototype nous
prévoyons d’utiliser un algorithme phonétique, plus précisément une version
améliorée de Soundex.
L’algorithme dérivé de Soundex que nous utilisons ne code pas les chaînes de
caractères sur quatre caractères, mais sur un nombre de caractères variable. Nous
estimerons donc la distance entre deux codages phonétiques 𝑐𝑠𝑡1 et 𝑐𝑠𝑡2 par :
𝑑𝑖𝑠𝑡 𝑐𝑠𝑡1 , 𝑐𝑠𝑡2 =𝑑𝑖𝑠𝑡𝐻𝑎𝑚𝑚𝑖𝑛𝑔 𝑐𝑠𝑡1, 𝑐𝑠𝑡2
max(𝑙𝑒𝑛𝑔𝑡 𝑐𝑠𝑡1 , 𝑙𝑒𝑛𝑔𝑡(𝑐𝑠𝑡2) (7)
Ainsi, la valeur d’intersection correspond à 75% de la similarité phonétique entre
les zones d’intersections. En effet, on accorde moins d’importance à une intersection
phonétique parfaite (lorsque 𝑐𝑠𝑡1 = 𝑐𝑠𝑡2), qu’à une intersection syntaxique parfaite
(lorsque 𝑠𝑡1 = 𝑠𝑡2). Il s’agit donc d’un facteur reflétant la confiance moindre dans
l’appariement phonétique.
𝑉𝑎𝑙𝐼𝑛𝑡𝑒𝑟 𝑠𝑡1,𝑠𝑡2 = 0.75 ∗ 1 − 𝑑𝑖𝑠𝑡 𝑐𝑠𝑡1, 𝑐𝑠𝑡2 (8)
Appariement
Nous pouvons ensuite à partir de ces deux valeurs, déterminer une valeur
d’appariement entre les termes notée 𝑉𝑎𝑙𝐴𝑝𝑝(𝑡1 , 𝑡2) :
𝑉𝑎𝑙𝐴𝑝𝑝 𝑡1, 𝑡2 = 𝑉𝑎𝑙𝐶𝑜𝑛𝑐 𝑡1 , 𝑡2 ∗ 𝑉𝑎𝑙𝐼𝑛𝑡𝑒𝑟 𝑡1 , 𝑡2 (9)
22 Une implémentation de l’algorithme de Soundex et d’autres algorithmes dérivés de celui-ci
est fournie par le projet Codec (http://commons.apache.org/codec) de la fondation Apache.
16 Arnaud Renard,
Un terme 𝑡1 d’un document peut être considéré comme présent dans la ressource
sémantique si il existe un terme 𝑡2 dans la ressource sémantique tel que leur
concordance 𝐶𝑜𝑛𝑐(𝑡1 , 𝑡2) prend la valeur « concorde » dans l’ensemble des relations
de concordance défini précédemment, et si sa valeur d’intersection 𝑉𝑎𝑙𝐼𝑛𝑡𝑒𝑟(𝑡1 , 𝑡2)
vaut 1. De la même façon, si leur concordance vaut « ne concorde pas », alors celui-ci est absent de la ressource sémantique.
Approximation d’un terme
A partir de là, il est possible de définir l’ensemble des approximations d’un terme 𝑡 de
la collection de documents comme étant l’ensemble des termes représentant les
concepts de la ressource sémantique qui ne sont ni absents ni exactement présents. De
façon plus formelle, cela peut s’écrire :
~𝑡 = 𝑡𝑅𝑆 ∈ 𝐶𝑅𝑆 |𝑡 ≈ 𝑡𝑅𝑆 (10)
Où ~𝑡 est l’ensemble des termes 𝑡𝑅𝑆 représentant les concepts 𝐶𝑅𝑆 de la ressource
sémantique 𝑅𝑆 qui sont presque égaux à un terme 𝑡 présent dans les documents de la
collection.
4.4 Approche proposée : pondération sémantique floue des termes
L’approche que nous proposons constitue une première étape dans la pondération
sémantique floue des termes. Le processus spécifique de pondération sémantique
floue s’insère dans le processus plus général que constitue l’indexation. Il est donc
nécessaire dans un premier temps d’extraire les termes présents dans le contenu
textuel des nœuds feuilles. Nous nous appuierons pour cela sur un analyseur
morphosyntaxique fournissant un étiquetage des termes selon leur POS23 et un
lemmatiseur transformant les termes sous une forme normalisée (pluriel singulier,
etc.). Nous sélectionnons les termes identifiés comme étant des noms, car ce sont ces
termes qui sont porteurs de sens dans les documents. Nous présentons ci-dessous la partie centrale de notre proposition qui influe principalement sur la pondération des
termes indexés.
4.4.1 Détection des termes hors contexte
La détection d’un terme hors contexte peut être réalisée en calculant la fréquence du
terme ainsi que celle de l’ensemble des termes qui en sont sémantiquement proches.
Nous appellerons cette mesure la fréquence sémantique du terme.
𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑡, 𝑏,𝑑 = 𝑇𝐹 𝑡, 𝑏,𝑑 + 𝑆𝑖𝑚𝑍𝑆 𝑡, 𝑡𝑖 ∗ 𝑇𝐹 𝑡𝑖 ,𝑏,𝑑 𝑛
𝑖=1
𝑛 (11)
En effet, si un terme 𝑡 est hors contexte, sa fréquence sémantique sera très faible.
23 POS : Part Of Speech, analyse du discours permettant l’identification des noms, des adjectifs,
des verbes, etc.
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
17
Nous définissons donc une fonction indicatrice CPI24 indiquant si un terme se
trouve hors contexte ou non en fonction d’un seuil sur sa fréquence défini
empiriquement :
𝐶𝑃𝐼 𝑡, 𝑏,𝑑 = 1, 𝑠𝑖 𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑡, 𝑏,𝑑 > 𝑠𝑒𝑢𝑖𝑙 0, 𝑠𝑖𝑛𝑜𝑛
(12)
Où, 𝐶𝑃𝐼(𝑡,𝑏, 𝑑) vaut 1 si le terme 𝑡 se trouve dans son contexte, et 0 sinon. Nous appliquerons donc la formule de pondération sémantique floue des termes uniquement
lorsqu’un terme hors contexte sera détecté. En effet, il pourrait s’avérer pénalisant
d’utiliser l’appariement flou pour corriger une erreur qui n’en est pas une car cela
risque alors d’introduire un bruit superflu dans le système.
Nous avons pu vérifier expérimentalement sur plusieurs jeux de documents dans
lesquels nous avons introduit des erreurs que les termes erronés ont une fréquence
sémantique inférieure à 1
𝑛+ 0.4 ∗
1
𝑛 , 𝑛 étant le nombre de termes dans l’élément. Dans
un premier temps, nous déterminerons donc le seuil de cette façon. Toutefois, nous
envisageons par la suite de nous appuyer sur un algorithme de détection des valeurs
anormalement éloignées des autres (outliers) utilisé en datamining.
4.4.2 Pondération sémantique floue
Nous disposons ainsi de tous les éléments nécessaires à la définition de notre formule
de pondération sémantique floue des termes. Si 𝐶𝑃𝐼(𝑡,𝑏,𝑑) vaut 1, le terme 𝑡 est dans
son contexte et on pondère ce terme par une variation de la formule de pondération
sémantique des termes de [Zargayouna’04] mettant en œuvre le TF-IEF-IDF25 en lieu
et place du TF-ITDF. En effet, comme nous l’avons indiqué dans le chapitre 4.3.1
Pondération sémantique des termes, le TF-ITDF ne semble pas adapté aux collections
de documents hétérogènes de par sa spécificité vis-à-vis du type de balise. Le TF-IEF-IDF ne présente pas cet inconvénient, c’est pourquoi nous avons choisi
de l’intégrer à la formule de pondération sémantique. Il possède trois composantes :
- Le TF correspond à l’importance du terme dans un élément : importance qui
est proportionnelle à la fréquence d’apparition du terme dans l’élément.
- L’IEF est un facteur discriminant correspondant à l’importance d’un terme
parmi l’ensemble des éléments de la collection de documents. Un terme
présent dans tous les éléments ne permettra pas de distinguer deux éléments
et aura donc un facteur IEF nul.
- L’IDF est un facteur discriminant correspondant à l’importance d’un terme
parmi l’ensemble des documents d’une collection. Un terme présent dans
tous les documents ne permettra pas de distinguer deux documents et aura donc un facteur IDF nul.
La formule de pondération sémantique des termes modifiée est donc :
𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑡, 𝑏,𝑑 = 𝑇𝐹𝐼𝐸𝐹𝐼𝐷𝐹 𝑡, 𝑏,𝑑 + 𝑆𝑖𝑚𝑍𝑆 𝑡, 𝑡𝑖 ∗ 𝑇𝐹𝐼𝐸𝐹𝐼𝐷𝐹 𝑡𝑖 , 𝑏,𝑑 𝑛
𝑖=1
𝑛 (13)
24 CPI : Context Presence Indicator 25 TF-IEF-IDF : Term Frequency – Inverse Element Frequency – Inverse Document Frequency
18 Arnaud Renard,
Dans le cas ou 𝐶𝑃𝐼(𝑡, 𝑏,𝑑) vaut 0, le terme 𝑡 est hors contexte. Nous choisissons
donc de pondérer également le terme 𝑡𝑗 ∈ ~𝑡 (parmi les termes approximations de 𝑡)
qui semble être le plus pertinent dans le contexte. Pour cela, on conserve le terme 𝑡𝑗
dont la fréquence sémantique pénalisée par sa valeur d’appariement avec le terme 𝑡 obtient le meilleur score. On pondère ensuite ce terme 𝑡𝑗 par son poids sémantique
pénalisé par sa valeur d’appariement avec le terme 𝑡. Dans le cas où ce terme 𝑡𝑗 ∈ ~𝑡
fait partie des termes de l’élément, son poids sémantique doit être ajouté au poids
déterminé par appariement flou avec le terme 𝑡. Ainsi :
𝑡𝑗 ∈ ~𝑡 max1≤𝑗≤𝑛 ′
𝑉𝑎𝑙𝐴𝑝𝑝 𝑡, 𝑡𝑗 ∗ 𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑡𝑗 ,𝑏,𝑑 (14)
𝑆𝑒𝑚𝑊𝑓𝑙𝑜𝑢 𝑡𝑗 ,𝑏,𝑑
= 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑡𝑗 ,𝑏,𝑑 + 𝑉𝑎𝑙𝐴𝑝𝑝 𝑡, 𝑡𝑗 ∗ 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑡𝑗 ,𝑏,𝑑 , 𝑠𝑖 𝑡𝑗 ∈ 𝑏
𝑉𝑎𝑙𝐴𝑝𝑝 𝑡, 𝑡𝑗 ∗ 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑡𝑗 ,𝑏,𝑑 , 𝑠𝑖𝑛𝑜𝑛 (15)
Où, n’ correspond à la cardinalité de ~𝑡 ensemble approximation du terme 𝑡, et
𝑉𝑎𝑙𝐴𝑝𝑝(𝑡, 𝑡𝑗 ) correspond à la valeur d’appariement des termes qui permet d’exprimer
le degré de similarité entre les termes 𝑡 et 𝑡𝑗 .
Etant donné que le terme 𝑡 est pondéré dans tous les cas par son poids sémantique
(13), il reste possible de le retrouver même si le terme n’était pas hors contexte et que
l’erreur a été détectée à tort.
Nous avons ainsi défini une formule de pondération sémantique floue des termes
présents dans les documents d’une collection. Cette mesure de pondération doit
ensuite être intégrée au sein d’un système de RI structuré sémantique existant (ou
développé sur la base d’un système existant) pour pouvoir être évaluée.
4.4.3 Exemple
Admettons qu’un document contienne un terme « dairy » (crêmerie) alors que l’auteur aurait voulu écrire « diary » (agenda). Il est évident que le terme « dairy » se trouve
hors contexte et sa fréquence sémantique sera très faible.
Toutefois, ces deux termes « concordent » et leur codage phonétique anglais est
identique, on peut donc déterminer leur valeur d’appariement :
𝑉𝑎𝑙𝐴𝑝𝑝 𝑡1, 𝑡2 = 𝑉𝑎𝑙𝐶𝑜𝑛𝑐 𝑡1 , 𝑡2 ∗ 𝑉𝑎𝑙𝐼𝑛𝑡𝑒𝑟 𝑡1 , 𝑡2 = 1 ∗ 0,75 = 0,75
Leur valeur d’appariement est donc maximale pour des termes qui ne sont pas
identiques. Ainsi, il est probable que l’approximation « diary » obtienne un poids
supérieur car celle-ci ne sera que peu pénalisée par sa valeur d’appariement. De plus,
le terme « diary » étant le terme que l’auteur souhaitait écrire, il sera dans son
contexte et obtiendra aura une fréquence sémantique élevée car il correspondra bien au contexte de l’élément, et lui et ses termes proches seront donc plus fréquents que le
terme « dairy ». Le poids sémantique de « diary » sera donc augmenté.
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
19
5 Architecture et implémentation du prototype
L’évaluation de notre proposition étant trop complexe pour être réalisée via des
calculs manuels, il était impératif d’implémenter un prototype la mettant en œuvre.
5.1 Contraintes d’implémentation
Les contraintes d’implémentation du prototype nous permettant d’évaluer notre
proposition ont de multiples origines.
D’une part, le fait que l’on se place dans le cadre de la RI dans des documents XML semi-structurés impose la prise en compte de la variabilité des balises XML
entre documents. De plus, il est judicieux de prendre en compte la structure des
documents et de ne pas considérer celle-ci uniquement comme une suite de champs
s’apparentant aux attributs d’une base de donnée relationnelle. Ainsi, il existe peu de
systèmes et de librairies disponibles qui soient adaptés à la prise en compte de ces
deux contraintes.
D’autre part, l’emploi de ressources sémantiques nécessite l’emploi de librairies
facilitant l’exploitation de ces ressources. Ces librairies étant disponibles à notre
connaissance quasi-exclusivement en Java, cela a abouti à l’abandon du C/C++ dans
le développement du prototype pour se tourner vers le Java.
Enfin, nos perspectives de validation à grande échelle dans le cadre de la campagne
d’évaluation INEX26 imposent au prototype des contraintes supplémentaires en termes de performances. En effet, étant donnée la taille de la collection de documents, le
passage à l’échelle n’est pas assuré et une implémentation « naïve » ne permettrait pas
son succès.
L’ensemble de ces contraintes nous a amené à réaliser une étude détaillée d’un
panel relativement important de systèmes et de librairies dédiés à la RI dont les
principaux sont exposés en Table 1.
5.2 Synthèse de l’étude détaillée des systèmes et librairies dédiés à la RI
Dans le cadre de l’étude détaillée des systèmes et librairies dédiés à la RI, nous avons
été amenés à étudier les possibilités offertes par les outils suivants : Lucene27,
Terrier28, GATE29, Dragon Toolkit30, Lemur Toolkit31, Zettair32. Les résultats de cette
étude sont présentés dans le tableau en Table 1.
Un de ces outils, bien qu’il ne réponde pas à toutes les contraintes, a
particulièrement retenu notre attention du fait de sa flexibilité : GATE. Il s’agit d’une
plateforme d’ingénierie linguistique développée à l’Université de Sheffield. Le
26 INEX : Initiative for the Evaluation of XML retrieval (http://www.inex.otago.ac.nz) 27 Lucene : (http://lucene.apache.org) 28 Terrier : TERabyte RetrIEveR (http://ir.dcs.gla.ac.uk/terrier) 29 GATE : General Architecture for Text Engineering (http://gate.ac.uk) 30 Dragon Toolkit : (http://dragon.ischool.drexel.edu) 31 Lemur Toolkit : (http://www.lemurproject.org) 32 Zettair : Zetta IR (http://www.seg.rmit.edu.au/zettair)
20 Arnaud Renard,
principe de cette plateforme est de créer des applications en appliquant
successivement des ressources de trois types sous forme de pipeline :
- Ressources linguistiques : corpus de documents, ressources sémantiques (par
exemple : Wordnet, ontologie OWL, …) ;
- Ressources de traitement sur un document : analyseurs morphosyntaxiques,
stemmer, lemmatiseur (par exemple : TreeTagger, …) ;
- Ressource application : autre application créée à partir d’un pipeline de
ressources. Cette plateforme est écrite en Java et propose nativement de nombreuses
ressources via des modules permettant de l’interfacer avec des outils variés tels que
ceux cités en exemple ci-dessus. De plus, cette plateforme possède un module de RI
s’appuyant sur Lucene : une librairie Java dédiée à la RI. La modularité offerte par la
plateforme GATE nous permettra d’implémenter nous-mêmes les modules
nécessaires à la réalisation de notre prototype tout en nous appuyant au mieux sur les
modules déjà proposés par la plateforme.
Lucene TERRIER GATE Dragon Tk Lemur Tk ZettaIR
Licence Apache
Mozilla
MPL LGPL
~BSD
Spécifique
~BSD
Spécifique
~BSD
Spécifique
Langages Java, C#,
C++, Perl,
Python
Java
Java +
Modules en
C, Perl, …
Java C++ C
Plateforme Multi Multi Multi Multi Multi Multi
Modularité + + ++ - + -
Passage à
l’échelle + ++ ~Modules ++ ++ ++
Langages
APIs Cf. langage Java Java Java
C++, Java,
C# /
Type
Indexation Champs Champs
Idem
Lucene Plein Texte Structure Plein Texte
Taille Index Compressé
20-30 %
Compressé
40-50%
Idem
Lucene Compressé Compressé Compressé
Extraction,
Normal.
Termes
Stoplist
Porter
Snowball
Stoplist
Porter
Snowball
Idem
Lucene +
Modules:
TreeTagger,
…
Porter
Hepple
Medpost
Brill
/
(Pb. API
Java)
/
Res. Sem.
Non Non
Modules:
OWLIM,
…
Oui Non Non
Table 1. Comparatif des systèmes et librairies dédiés à la RI
5.3 Architecture
Malgré les multiples contraintes posées par le développement d’un prototype, nous
avons été en mesure de réaliser une première implémentation. Il n’y avait pas de
prototype sur lequel s’appuyer au sein de l’équipe, et sa réalisation ex-nihilo dépassait
le cadre théorique de notre proposition. Celle-ci constitue en effet un maillon du
processus d’indexation et son implémentation ne peut pas se limiter uniquement à la
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
21
Indexation
formule de pondération sémantique floue des termes (cf. Fig. 2. dans laquelle notre
proposition est encadrée).
Fig. 2. Processus intervenant dans un système de RI semi-structurée sémantique
Dans le cadre de notre expérimentation, il était donc nécessaire que nous
implémentions l’ensemble des composants venant supporter notre proposition. Il
n’était donc pas possible de développer un prototype qui satisfasse à la fois toutes les
contraintes et qui propose l’ensemble des fonctionnalités nécessaire. Nous avons donc choisi suite à une analyse de la valeur de relâcher la contrainte du passage à l’échelle.
INTERNET
DBpedia
Local OpenLink Virtuoso
DBpedia instance
+ SGBD relationnel
Application
Structure documents XML
Appariement flou entre terme
Librairies externes
JenaVirt_Jena
GATE
TreeTagger Lucene
RechercheIndexation
Apa
che
Cod
ec JWI
Fichiers de
données
Wordnet 3.0
Fig. 3. Architecture applicative globale
Nous avons développé un premier prototype couvrant l’ensemble des
fonctionnalités requises et s’appuyant sur un sous-ensemble des librairies de
l’architecture présentée en Fig. 3. Celui-ci possède les trois types de structures
d’index que nous avons déjà évoqués au chapitre 3.3.1 Processus de RI. De plus,
Collection de documents XML semi-structuré
Extraction des termes
• Etiquetage en fonction du discours
• Lemmatisation• Désambiguisation
• Sélection des termes porteurs de sens en fonction de leur étiquetage (noms)
• + structure
Pondération des termes
• Détection des termes hors contexte
• Pondération des termes• sémantique si dans le contexte
• sémantique floue si hors contexte
Interrogation
• Requêtes sur le contenu seulement
• Requêtes sur le contenu et la structure
Résultats
• Evaluation de la pertinence des noeuds feuille
• Propagation de la pertinence aux noeuds supérieurs
• Tri par ordre de pertinence décroissante
22 Arnaud Renard,
notre prototype comporte un index phonétique des termes de la ressource sémantique
lexicalisée afin d’accélérer les comparaisons phonétiques entre termes au moment du
calcul de l’approximation des termes. Ces différentes structures d’index permettent de
minimiser les traitements à réaliser lors de l’interrogation ce qui permet un meilleur
temps de réponse. Pour des raisons de rapidité de développement celui-ci ne s’appuie
pas encore sur DBpedia. En effet, il n’existe pas de librairie implémentant des
mesures de similarité entre concepts pour DBpedia et son exploitation s’avère donc
plus complexe que celle de Wordnet. Nous avons donc utilisé Wordnet comme ressource sémantique de ce premier prototype. Afin de permettre une transition vers
une solution permettant le passage à l’échelle, l’architecture applicative modulaire
que nous avons réalisée (cf. Fig. 3.) devra lors de sa prochaine évolution s’appuyer
sur la plateforme GATE, et notamment sur Lucene.
6 Evaluation
La validation de notre proposition se décompose en deux parties : d’une part la
méthode de détection des termes hors contextes, et d’autre part la pondération
sémantique floue des termes détectés comme étant hors contexte.
6.1 Validation de principe
Afin de confirmer l’intérêt de notre proposition, nous avons développé un premier
prototype ne satisfaisant pas l’ensemble des contraintes énoncées précédemment, et notamment celle concernant le passage à l’échelle. Cela nous a permis d’étudier le
comportement de notre proposition face à une collection de documents présentant le
type d’anomalies que nous souhaitons corriger. Nous détaillerons notre proposition
sur un jeu de test comportant 4 documents XML.
6.1.1 Collection de documents
Voici une représentation du contenu textuel des éléments d’une collection de quatre
documents. Seuls les éléments comportant un contenu textuel sont représentés tels
qu’ils seraient suite à une sélection des termes et à une lemmatisation réalisée grâce à
un analyseur morphosyntaxique tel que TreeTagger.
Doc1 Doc2 Doc3 Doc4
name {Anne, Frank} {concert}
{supermarket,
grocery, store} {movie, theater}
sect/title {introduction} {introduction} {introduction} {introduction}
sect/par
{book, writings,
dairy, girl,
family, diary,
journal}
{concert, music,
musician, recital,
ensemble, orchestra,
choir, band, show,
tour}
{food, merchandise,
meat, produce,
dairy, pharmacy,
pet, medicine,
clothe}
{movie, theater, movie,
theatre, picture, theatre,
film, theater, cinema,
motion, picture, ticket,
projector, screen,
auditorium}
Table 2. Répartition des termes par document et par élément
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
23
Les poids des termes de tous les documents peuvent être calculés, toutefois seuls
les calculs des poids des termes du « Doc1/sect/par » seront détaillés. Nous avons
volontairement introduit une erreur dans cet élément pour tenter de mettre en
évidence l’intérêt de notre proposition. En effet, le terme « diary » a été remplacé par
le terme « dairy », représenté en gras dans la Table 2.
6.1.2 Calcul classique du poids des termes
Nous avons dans un premier temps commencé par calculer le poids des termes selon
une formule de pondération « classique » TF-IEF-IDF ne prenant pas en compte la
sémantique des termes. Les termes book, writings, girl, family, diary et journal
présentent les mêmes statistiques d’apparition dans les documents de la collection
présentée dans la Table 3. Il est donc normal que leurs poids TF-IEF-IDF soit le
même, et nous ne détaillons donc le calcul qu’une fois :
𝑇𝐹𝐼𝐸𝐹𝐼𝐷𝐹 𝑏𝑜𝑜𝑘,𝑝𝑎𝑟,𝐷𝑜𝑐1 =1
7∗ log
12
1 ∗ log
4
1 = 0.0928
𝑇𝐹𝐼𝐸𝐹𝐼𝐷𝐹 𝑑𝑎𝑖𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 =1
7∗ log
12
2 ∗ log
4
2 = 0.0335
Les poids obtenus sont analysés dans le paragraphe 6.1.6 Comparaison des résultats, qui fournit une analyse comparative des poids obtenus par chacune des formules de
pondération.
6.1.3 Calcul du poids sémantique des termes
Nous avons ensuite pu calculer le poids sémantique de chacun des termes.
Contrairement au calcul des poids par le TF-IEF-IDF, nous ne pouvons pas faire de
regroupements car chaque terme est unique et possède une sémantique qui lui est propre. Les poids obtenus par la variante (13) de la formule de pondération
sémantique de [Zargayouna’04] que nous avons présentée dans le paragraphe 4.3.1
Pondération sémantique des termes, sont les suivants :
𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑏𝑜𝑜𝑘,𝑝𝑎𝑟,𝐷𝑜𝑐1
= 𝑇𝐹𝐼𝐸𝐹𝐼𝐷𝐹 𝑏𝑜𝑜𝑘,𝑝𝑎𝑟,𝐷𝑜𝑐1
+ 𝑆𝑖𝑚𝑍𝑆 𝑏𝑜𝑜𝑘, 𝑡𝑖 ∗ 𝑇𝐹𝐼𝐸𝐹𝐼𝐷𝐹 𝑡𝑖 ,𝑝𝑎𝑟,𝐷𝑜𝑐1 6
𝑖=1
6= 0.15601364
𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑤𝑟𝑖𝑡𝑖𝑛𝑔𝑠,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.138112107 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑑𝑎𝑖𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.061212503 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑔𝑖𝑟𝑙,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.12975896 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑓𝑎𝑚𝑖𝑙𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.137631528 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑑𝑖𝑎𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.148727891 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑗𝑜𝑢𝑟𝑛𝑎𝑙,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.150358351
24 Arnaud Renard,
Les poids obtenus sont analysés dans le paragraphe 6.1.6 Comparaison des résultats,
qui fournit une analyse comparative des poids obtenus par chacune des formules de
pondération abordée.
6.1.4 Calcul de la fréquence sémantique
Afin de déterminer les termes hors contexte nécessitant une pondération floue, nous
devons calculer la fréquence sémantique de chacun des termes. De même que lors du
calcul du poids sémantique des termes, nous ne pouvons pas faire de regroupements
car chaque terme possède une sémantique qui lui est propre.
Nous allons dans un premier temps déterminer la valeur seuil de l’élément :
𝑠𝑒𝑢𝑖𝑙 =1
𝑛+ 0,4 ∗
1
𝑛=
1
7+ 0,4 ∗
1
7= 0,2
Les termes ayant une fréquence sémantique inférieure à ce seuil seront considérés
comme hors contexte, et seront pondérés selon la formule de pondération sémantique
floue définie par les formules (13), (14) et (15).
𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑏𝑜𝑜𝑘,𝑝𝑎𝑟,𝐷𝑜𝑐1 =1
7+ 𝑆𝑖𝑚𝑍𝑆 𝑏𝑜𝑜𝑘, 𝑡𝑖 ∗ 𝑇𝐹(𝑡𝑖 ,𝑝𝑎𝑟,𝐷𝑜𝑐1)6
𝑖=1
6= 0.2455
𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑤𝑟𝑖𝑡𝑖𝑛𝑔𝑠,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.2145 𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑑𝑎𝑖𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.1856 𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑔𝑖𝑟𝑙,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.2048 𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑓𝑎𝑚𝑖𝑙𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.2169 𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑑𝑖𝑎𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.2337 𝐹𝑟𝑒𝑞𝑆𝑒𝑚 𝑗𝑜𝑢𝑟𝑛𝑎𝑙,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.2365
Pour une meilleure lisibilité des résultats, nous les avons représentés sous la forme
d’un histogramme. Celui-ci (Fig. 4.) représente donc les fréquences sémantiques de
chacun des termes :
Fig. 4. Histogramme des fréquences sémantiques des termes
00,05
0,10,15
0,20,25
0,3
book dairy diary family girl journal writings
Fré
qu
en
ce s
ém
anti
qu
e
Termes
seuil
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
25
Nous pouvons observer sur cet histogramme qu’il n’y a qu’un seul terme dont la
fréquence sémantique est inférieure au seuil défini, symbolisé par une ligne
horizontale rouge. Le terme « dairy » peut donc être identifié comme hors contexte, et
la formule de pondération sémantique floue peut donc lui être appliquée.
6.1.5 Calcul du poids sémantique flou
Les termes devant faire l’objet d’une pondération sémantique floue étant identifiés,
nous calculons le poids sémantique flou de ces termes. La pondération sémantique
floue des autres termes est identique à leur pondération sémantique classique.
𝑆𝑒𝑚𝑊𝑓𝑙𝑜𝑢 𝑑𝑎𝑖𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑑𝑎𝑖𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0.0612
Il est ensuite nécessaire de rechercher le terme représentant le mieux le terme
supposé erroné. L’ensemble des termes représentant les concepts de la ressource
sémantique sont donc appariés avec le terme erroné. Ainsi, la valeur d’appariement
déjà calculée dans un exemple précédent pour « dairy » et « diary » est de 0,75. La
fréquence sémantique de chacun de ces termes est également calculée. Les termes de
la ressource sémantique présents dans le contenu textuel de l’élément sont avantagés
de ce point de vue là. Ainsi, le terme de la ressource sémantique ayant obtenu le
meilleur score vis-à-vis de « dairy » est « diary ». Le poids du terme « diary » est
donc enrichi et :
𝑆𝑒𝑚𝑊𝑓𝑙𝑜𝑢 𝑑𝑖𝑎𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1
= 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑑𝑖𝑎𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 + 𝑉𝑎𝑙𝐴𝑝𝑝 𝑑𝑎𝑖𝑟𝑦,𝑑𝑖𝑎𝑟𝑦 ∗ 𝑆𝑒𝑚𝑊𝑚𝑜𝑑 𝑑𝑖𝑎𝑟𝑦,𝑝𝑎𝑟,𝐷𝑜𝑐1 = 0,1487 + 0,75 ∗ 0,1487 = 0,2602
Nous observons ainsi un accroissement de l’importance du terme « diary » presque
comme s’il n’y avait pas eu d’erreur et qu’il avait été comptabilisé. Son importance
est quand même moindre du fait de l’incertitude de l’appariement réalisé avec ce
dernier.
6.1.6 Comparaison des résultats
Les poids obtenus par application des trois formules de pondération utilisées sont
réunis dans l’histogramme représenté dans la Fig. 5.
En observant les premières séries de barres (barre pleine bleu) correspondant aux
poids obtenus par TF-IEF-IDF, nous pouvons remarquer que le fait que de nombreux
termes aient une pondération égale est révélateur de l’incapacité de cette méthode
purement statistique à retranscrire la sémantique des termes. En effet, des termes
comme « book » et « girl » qui n’ont a priori rien en commun se voient affecter un
poids identique. En observant les deuxièmes séries de barres (barre vide rouge) correspondant aux
poids obtenus par la variation de la formule de pondération sémantique des termes
(13), nous pouvons affirmer que contrairement au calcul par le TF-IEF-IDF, chacun
des poids calculés est différent. Cela reflète bien le fait que tous les termes sont
uniques et n’ont donc pas tous la même importance.
26 Arnaud Renard,
Fig. 5. Comparaison des poids des termes selon la formule de pondération
Nous pouvons remarquer qu’aucune de ces deux formules de pondération n’a
détecté l’écriture erronée d’une occurrence du terme « diary » en « dairy », ce qui
constitue le comportement normal attendu de ces formules. En observant la troisième
série de barres (barre hachurée verte) correspondant aux poids obtenus par la formule
de pondération sémantique floue, nous pouvons remarquer que le terme « diary » se
voit affecter un poids supérieur aux autres termes. Ceci est possible car notre
approche intègre une mesure permettant la détection des termes erronés comme
« dairy ». Il est ainsi possible de comptabiliser ce terme comme une occurrence de « diary » modulo un degré de confiance accordé à cet appariement. Notre approche
semble donc intéressante car elle permet dans une certaine mesure de corriger des
termes erronés et de rétablir le terme tel qu’il aurait dû être. L’approche que nous
proposons peut être vue comme un moyen de renforcer la mesure de similarité
sémantique en permettant la comparaison de concepts pour des termes dont le concept
n'avait pas pu être identifié ou avait été mal identifié. Nous espérons ainsi obtenir des
résultats intéressants en expérimentant dans le cadre de la prochaine campagne
d’évaluation INEX 2009.
6.2 Campagne d’évaluation INEX
Il semble intéressant d’évaluer notre proposition lors d’une campagne d’évaluation
fournissant une collection de documents pour laquelle on dispose d’un certain nombre
de requêtes et des jugements des documents et parties de documents pertinentes. Ces
campagnes d’évaluation permettent ainsi de quantifier précisément l’intérêt de
l’approche proposée. Notre objectif est donc la participation à la campagne
d’évaluation INEX. La collection de documents d’INEX est dérivée du corpus de
documents Wikipedia XML et compte ainsi 659338 articles en provenance de la
0
0,05
0,1
0,15
0,2
0,25
0,3
book dairy diary family girl journal writings
Po
ids
Termes
TFIEFIDF SemWmod FuzzySemW
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
27
version anglaise de Wikipedia, ce qui représente un volume total de 4,5Go. En
moyenne un article contient 161 nœuds XML avec une profondeur moyenne des
arbres de documents de 6,72. Dans cette collection, la syntaxe originale du Wiki a été
convertie en XML en utilisant à la fois les balises générales de la structure logique
(article, section, paragraph, title, list et item), des balises typographiques (bold,
emphatic), et des balises de liaisons fréquentes. La prise en compte de la sémantique
sur les balises présentes dans cette collection de documents XML risque donc d’être
peu concluante car ce type de balise ne porte pas d’information sémantique. Néanmoins, cela est en passe de changer avec la publication très récente d’une
nouvelle collection de documents pour INEX 2009 dont la structure comporte des
annotations sémantiques issues des entités de YAGO. En ce qui concerne
l’évaluation de notre proposition, étant donnée la nature de cette collection de
documents (dérivée de Wikipedia), celle-ci est susceptible de comporter des fautes
dans l'écriture des termes présents dans les articles (contenu textuel des documents
XML), ainsi que dans les balises employées pour structurer les documents.
7 Conclusion et perspectives
Nous avons présenté dans ce document les principes généraux de la RI, et les
particularités de la RI dans les documents semi-structurés. L’intégration de la
sémantique dans ces systèmes étant devenue un facteur clé dans leur
perfectionnement, nous avons présenté un état de l’art des ressources et mesures utiles
à la prise en compte de la sémantique dans ces systèmes. Nous avons également
présenté les quelques systèmes de RI (semi-)structurée sémantique existants. Aucun
de ces systèmes ne prend en compte à un quelconque niveau l’incertitude qu’on peut
avoir sur l’exactitude de certains termes, nous avons donc tenté d’intégrer cet aspect dans notre approche. Nous proposons donc une formule de pondération sémantique
des termes qui se veut floue, car elle peut être amenée à pondérer un terme différent
du terme écrit si celui-ci s’avère trop incertain. Cette dernière bien que n’ayant pas
encore été évaluée dans le cadre d’une campagne d’évaluation à grande échelle, a
fourni des résultats prometteurs sur les collections tests que nous avons construites
(cf. 6.1 Validation de principe). Tous les documents ne sont pas égaux (il semble par
exemple que les documents écrits sur le Web soient de moindre qualité) ce qui peut
être à l’origine de variations importantes de performances. Nous sommes conscients
que dans un texte, les termes présents sont majoritairement exacts et cela est d’autant
plus vrai que les éditeurs de texte intègrent des correcteurs orthographiques et
grammaticaux. Toutefois, là où ces correcteurs se contentent la plupart du temps
d’une analyse syntaxique validée par une base de règles, nous allons plus loin en intégrant la sémantique des termes dans notre analyse. Ainsi, notre approche est en
mesure de détecter un terme valide d’un point de vue syntaxique mais employé dans
un contexte dans lequel il n’a pas de sens. En revanche, un correcteur classique se
verra incapable de détecter cette erreur et sera donc dans l’incapacité d’effectuer une
correction. L’approche que nous proposons n’est donc pas dénuée d’intérêt et nos
28 Arnaud Renard,
travaux ont d’ailleurs été validés par une publication dans l’atelier RISE33 rattaché au
congrès INFORSID 2009 [RENARD’09].
Nous aurions souhaité être en mesure d’évaluer notre approche dans le cadre d’une
campagne d’évaluation, toutefois, le développement d’un prototype présentait déjà de
nombreuses contraintes et il n’était pas possible de respecter la contrainte du passage
à l’échelle dans un temps aussi court que celui du stage. Nous prévoyons toutefois de
réaliser une implémentation passant à l’échelle dans le courant de l’été. Cela nous
permettra ainsi d’expérimenter dans le cadre d’INEX 2009 et éventuellement de soumettre nos résultats. Dans cette perspective, la réalisation de notre premier
prototype nous sera utile car elle constitue une partie de l’implémentation du
prototype final et nous a permis d’identifier les verrous empêchant le passage à
l’échelle. Dans un souci de performance et de réutilisabilité, la prochaine version de
notre prototype s’appuiera donc davantage sur les librairies dédiées à la RI reconnues
pour leur efficacité que nous intègrerons au sein de notre architecture modulaire. Le
problème du passage à l’échelle est d’autant plus important que la nouvelle collection
de documents d’INEX 2009 comportant des annotations sémantiques voit son nombre
de documents multiplié par un facteur 4 alors que sa taille est multipliée par 10.
Une des difficultés identifiée du passage à l’échelle vient du fait que le calcul de la
pondération sémantique floue est très couteux. En effet, il nécessite des comparaisons
phonétiques entre chaque terme de chaque document, et chaque terme de la ressource
sémantique. Cela fait donc pour un document comportant 𝑛 termes, et une ressource
sémantique comportant 𝑚 termes, 𝑛 ∗ 𝑚 comparaisons sachant que 𝑚 est très grand
(𝑚 > 150000 dans le cas de Wordnet, et 𝑚 > 2,8 𝑚𝑖𝑙𝑙𝑖𝑜𝑛 dans le cas de DBpedia).
Nous envisageons donc une optimisation qui consiste à ne conserver que les
comparaisons avec les termes de la ressource sémantique qui sont présents dans
l’élément. En effet, les termes qui n’y sont pas présents sont pénalisés au moment du
calcul du poids sémantique car leur fréquence est nulle dans l’élément ce qui réduit
leurs chances (vis-à-vis des termes présents dans l’élément) d’émerger en tant que
meilleur candidat. Il sera donc nécessaire d’étudier l’impact de cette optimisation sur la pertinence des résultats.
Hormis la résolution du problème de passage à l’échelle, nous envisageons
d’apporter des améliorations fonctionnelles à notre prototype. Ainsi, nous pensons
utiliser un algorithme de datamining nous permettant de détecter les termes ayant des
valeurs de fréquence sémantique anormalement faibles (outliers). Cela nous évitera
ainsi de fixer un seuil empirique pour la détection des termes hors contexte. Un
algorithme de datamining sera mieux adapté à la détection de ces valeurs anormales.
Nous pensons également intégrer la prise en compte de l’aspect sémantique de la
structure dans la proposition actuelle. En effet, alors que cela ne présentait que peu
d’intérêt dans la collection de documents d’INEX 2008, la collection de documents
d’INEX 2009 a été annotée sémantiquement et on peut donc s’attendre à un gain important lors de la prise en compte de la sémantique de la structure des documents
[Van Zwol’07]. Toutefois, nous ne possédons pas encore les jeux de requêtes ni
même les jugements de pertinence qui permettent d’évaluer les systèmes, et nous ne
pourrons confirmer cette hypothèse qu’après expérimentation.
33 RISE : Recherche d’Information SEmantique
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
29
Enfin, la dernière évolution que nous envisageons dans l’immédiat consiste à nous
appuyer sur DBpedia à la place de Wordnet du fait de sa richesse. Dans le principe,
les mesures exploitant la structuration de la ressource sémantique valables sur
Wordnet comme la mesure de Wu-Palmer, ou la variante proposée par Zargayouna
devraient aussi l’être sur DBpedia. Toutefois, aucune librairie ne les implémente pour
DBpedia, et il serait donc nécessaire dans un premier temps de réaliser une adaptation
des mesures de similarités classiques pour cette ressource.
8 Références bibliographiques
[Auer’07]. Auer, S., Bizer, C., Kobilarov, G., Lehmann, J., Cyganiak, R., Ives, Z.:
Dbpedia: A nucleus for a web of open data. In: LNCS (ed.): 6th International Semantic Web
Conference (ISWC 2007), Vol. 4825, Busan, Korea (2007) 722-735
[Bellia’07]. Bellia, Z., Vincent, N., Stamon, G., Kirchner, S.: Extension sémantique du
modèle de similarité basé sur la proximité floue des termes. 7èmes journées d'Extraction et
de Gestion des Connaissances (EGC 2007), Namur (2007)
[Bellia’08a]. Bellia, Z., Vincent, N., Kirchner, S., Stamon, G.: Assignation automatique
de solutions à des classes de plaintes liées aux ambiances intérieures polluées. 8èmes
journées d'Extraction et de Gestion des Connaissances (EGC 2008), Sophia-Antipolis (2008)
[Bellia’08b]. Bellia, Z.: Modélisation et classification de textes. Application aux plaintes
liées à des situations de pollution de l'air intérieur. Thèse. Université Paris Descartes, Paris
(2008) 173
[Budanitsky’01]. Budanitsky, E., Hirst, G.: Semantic distance in WordNet: An experimental,
application-oriented evaluation of five measures. Proceedings of the NAACL 2001
Workshop on WordNet and other lexical resources (2001)
[Budanitsky’06]. Budanitsky, A., Hirst, G.: Evaluating wordnet-based measures of lexical
semantic relatedness. Computational Linguistics 32 (2006) 13-47
[Demartini’08]. Demartini, G., Firan, C.S., Iofciu, T., Nejdl, W.: Semantically Enhanced
Entity Ranking. In: LNCS (ed.): 9th International Conference on Web Information Systems
Engineering (WISE 2008), Vol. 5175, Auckland, New Zealand (2008) 176-188
[Denoyer’06]. Denoyer, L., Gallinari, P.: The Wikipedia XML Corpus. SIGIR Forum
(2006) 64-69
[Fellbaum’98]. Fellbaum, C.: WordNet: An electronic lexical database. MIT press (1998)
[Formica’09]. Formica, A.: Concept similarity by evaluating information contents and
feature vectors: a combined approach. Commununications of the ACM 52 (2009) 145-149
[Jiang’97]. Jiang, J.J., Conrath, D.W.: Semantic similarity based on corpus statistics
and lexical taxonomy. Proceedings on International Conference on Research in
Computational Linguistics (1997)
[Kobilarov’09]. Kobilarov, G., Scott, T., Raimond, Y., Oliver, S., Sizemore, C., Smethurst,
M., Lee, R.: Media Meets Semantic Web - How the BBC Uses DBpedia and Linked Data to
Make Conections. European Semantic Web Conference (ESWC 2009), Semantic Web in
Use Track, Crete (2009) (à paraître)
[Lin’98]. Lin, D.: An Information-Theoretic Definition of Similarity. Proceedings of
the Fifteenth International Conference on Machine Learning. Morgan Kaufmann Publishers
Inc. (1998) 296-304
[Mercier’05]. Mercier, A., Beigbeder, M.: Application de la logique floue à un modèle de
recherche d'information basé sur la proximité. Actes LFA 2004 (2005) 231-237
30 Arnaud Renard,
[Navigli’09]. Navigli, R.: Word sense disambiguation: A survey. ACM Computing
Surveys (CSUR) 41 (2009) 1-69
[Pinel’08]. Pinel-Sauvagnat K., C.C.: XML et recherche d'information. In: Hermès
(ed.): Recherche d'information. Etat des lieux et perspectives. Boughanem M., Savoy J.
(2008) 99-138
[Rada’89]. Rada, R., Mili, H., Bicknell, E., Blettner, M.: Development and application
of a metric on semantic nets. IEEE transactions on systems, man and cybernetics 19 (1989)
17-30
[Renard’09]. Renard, A., Calabretto, S., Rumpler, B.: Appariement Sémantique Flou de
Documents Semi-structurés. Atelier Recherche d’Information SEmantique RISE, 27ème
Congrès INFORSID, Toulouse, France (2009) 86-102
[Resnik’95]. Resnik, P.: Using information content to evaluate semantic similarity in a
taxonomy. Proceedings of the 14th International Joint Conference on Artificial Intelligence
(1995) 448-453
[Rosso’04]. Rosso, P., Ferretti, E., Jimenez, D., Vidal, V.: Text categorization and
information retrieval using wordnet senses. Proceedings of the 2nd Global Wordnet
Conference (GWC 2004), Czech Republic (2004) 299-304
[Salton’71]. Salton, G.: The SMART Retrieval System - Experiments in Automatic
Document Processing. Prentice-Hall, Inc. (1971)
[Schenkel’05]. Schenkel, R., Theobald, A., Weikum, G.: Semantic Similarity Search on
Semistructured Data with the XXL Search Engine. Information Retrieval 8 (2005) 521-545
[Seydoux’05]. Seydoux, F., Chappelier, J.-C., Angelova, G., Bontcheva, K., Mitkov, R.,
Nicolov, N.: Minimum Redundancy Cut in Ontologies for Semantic Indexing Progress in
Artificial Intelligence. Proceedings of International Conference on Recent Advances in
Natural Language Processing (RANLP 2005) (2005) 486-492
[Suchanek’07]. Suchanek, F.M., Kasneci, G., Weikum, G.: Yago: a core of semantic
knowledge. Proceedings of the 16th international conference on World Wide Web, Vol. 6.
ACM, Banff, Alberta, Canada (2007) 203-217
[Taha’08]. Taha, K., Elmasri, R.: CXLEngine: a comprehensive XML loosely
structured search engine. Proceedings of the 2008 EDBT workshop on Database
technologies for handling XML information on the web, Vol. 261. ACM, Nantes, France
(2008) 37-42
[Tambellini’07]. Tambellini, C.: Un système de recherche d’information adapté aux données
incertaines : adaptation du modèle de langue. Vol. Thèse. Université Joseph Fourier
(Grenoble 1), Grenoble (2007) 182
[Torjmen’08]. Torjmen, M., Pinel-Sauvagnat, K., Boughanem, M.: Towards a structure-
based multimedia retrieval model. Proceeding of the 1st ACM international conference on
Multimedia information retrieval. ACM, Vancouver, British Columbia, Canada (2008) 350-
357
[Van Zwol’07]. Van Zwol, R., Van Loosbroek, T.: Effective Use of Semantic Structure in
XML Retrieval. In: LNCS (ed.): 29th European Conference on IR Research (ECIR 2007),
Vol. 4425, Rome, Italy (2007) 621
[Wu’94]. Wu, Z., Palmer, M.: Verbs semantics and lexical selection. Proceedings of
the 32nd annual meeting on Association for Computational Linguistics. Association for
Computational Linguistics, Las Cruces, New Mexico (1994) 133-138
[Zargayouna’04]. Zargayouna, H., Salotti, S.: Mesure de similarité dans une ontologie pour
l'indexation sémantique de documents XML. Actes de la conférence IC'2004 (2004)
[Zargayouna’05]. Zargayouna, H.: Indexation sémantique de documents XML. Thèse.
Université Paris-Sud (Orsay), Paris (2005) 227
Recherche d’information sémantique dans les documents XML : une approche
fondée sur l’appariement flou entre termes
31
9 Annexes
9.1 Annexe 1 : Ressources du LOD cloud
Fig. 6. LOD cloud (source: http://www4.wiwiss.fu-berlin.de/bizer/pub/lod-datasets_2009-03-
27_colored.png)
9.2 Annexe 2 : Détail des relations de concordance
Schéma de relations Signification Notation
x débute y Conc(x,y) = debute
x pendant y Conc(x,y) = pendant
x termine y Conc(x,y) = termine
x chevauche y Conc(x,y) = chevauche
x concorde y Conc(x,y) = concorde
x ne_concorde_pas y Conc(x,y) = ne_concorde_pas
Fig. 7. Relations spatiales de Allen adaptées à la concordance
Recommended