4.2 Construction incrémentale de la Topic Map
4.2.1 Extraction de Topics et d’associations à partir d’un document
L‟objectif de cette phase est d‟extraire des Topics et des associations entre ces Topics à
partir d‟un document du référentiel. Comme mentionné dans notre méta-modèle de Topic
Map, les associations que nous souhaitons extraire correspondent aux liens ontologiques et
structurels (lien « est un », lien « partie de ») et aux liens sémantiques associés au domaine de
la Topic Map. Pour cela, nous nous appuyons, dans un premier temps, sur les résultats de la
segmentation thématique avec l‟algorithme TextTiling et de l‟indexation sémantique avec la
méthode LSI appliqués aux documents du référentiel pour l‟extraction de Topics. Dans un
second temps, nous proposons d‟ajouter des liens ontologiques et associatifs entre les Topics
extraits en utilisant plusieurs techniques que nous explicitons dans ce qui suit.
Nous commençons tout d‟abord par présenter l‟algorithme général que nous proposons
permettant d‟identifier les Topics et les liens entre eux, ensuite nous détaillons ses différentes
étapes.
Cet algorithme se résume en ce qui suit :
Entrées : Document di indexé et segmenté du référentiel, Matrice LSI termes et concepts/contextes
pondérée avec contexte document ou segment.
Sortie : Topic Map construite à partir du document di
Pour chaque terme ti et concept ci indexant le document et ses segments résultant de la matrice LSI
faire
1) Ajouter un nouveau Topic Ti correspondant à ce terme (ou concept) dans les deux langues.
2) Placer Ti dans la Topic Map
{ajouter un lien ontologique entre Ti et T avec Ti {Topics extraits de
documents}
Et T {Topics thèmes des segments}
3) Ajouter les liens occurrences pondérés avec les tf×idf (dans le cas où le Topic correspond à un terme) et tof×idf (dans le cas où le Topic correspond
à un concept) reliant chaque Topic Ti aux documents et aux segments à partir
desquels il est extrait Fin pour
Valider la Topic Map par des experts du domaine
1) Préciser la sémantique de certains liens
141
4.2.1.1 Extraction de Topics
Le référentiel de documents contient pour chaque document, la liste des segments
thématiques présents dans ce document et pour chaque segment et document, la liste des
termes et des concepts représentatifs de leurs contenus.
La segmentation thématique des documents avec TextTiling produit pour chaque
document, un ensemble de segments thématiquement homogènes et l‟application de la
méthode LSI sur les documents et leurs segments produit une matrice terme et
concepts/contexte, le contexte peut être un document ou un segment et donne pour chaque
document et pour chaque segment la liste des termes et des concepts pertinents avec leurs
poids respectifs tf×idf et tof×idf.
La figure 4.12 illustre l‟utilisation de la matrice termes et concepts/contextes de LSI
pour l‟identification des Topics avec leurs poids respectifs.
Figure 4.12 Utilisation de la matrice termes et concepts/contexte de LSI pour la construction
de la Topic Map
A ce stade, la Topic Map résultante ne contient que des Topics correspondant aux
concepts et aux termes indexant le document et ses segments, en se basant sur le méta-modèle
de Topic Map que nous avons définit dans le chapitre précédent, ces Topics ajoutés peuvent
être des Topics thèmes, des Topics concepts du domaine, des sous Topics, des instances de
Topics. Il s‟agit maintenant de relier ces Topics entre eux et de les organiser, ce ci revient à
ajouter des liens ontologiques (est un, partie de) et des liens associatifs (relatifs au domaine)
entre ces Topics.
142
4.2.1.2 Ajout des liens ontologiques et associatifs
L‟objectif de cette étape est d‟ajouter les liens structurels et associatifs entre les Topics
présents dans la Topic Map.
Le résultat de la segmentation de l‟algorithme TextTiling appliquée à notre corpus,
produit, pour chaque document, un ensemble de segments thématiques où chacun représente
un thème majeur et éventuellement un ou plusieurs thèmes mineurs. Par conséquent, notre
problème revient à trouver quel type de lien il y a entre un Topic thème d’un segment et un
Topic du document.
Plus précisément, nous définissons les Topics thèmes comme l‟ensemble des concepts
les plus représentatifs du contenu d‟un segment (ayant les tof×idf le plus élevés), pour cela
nous avons fixé un seuil pour la valeur de tof×idf indiquant les concepts choisis comme
Topics thèmes. Par exemple les concepts ayant un tof×idf > 0,8 dans le segment sont
considérés comme des Topics thèmes puisqu‟ils représentent le plus le contenu du segment.
Ces Topics thèmes sont, bien évidement, reliés aux Topics extraits à partir du document
(à partir duquel on a obtenu le segment), ces liens peuvent être des liens de type « est un »
(figure 4.13), « partie de » (figure 4.14) ou bien d‟autres liens sémantiques tels que « est traité
par », « est relié à », etc.
Document sur les effets sur la santé du chauffage au bois
Segment thématique 1 sur les nausées
Segment thématique 2 sur l'irritation du sytème
respiratoire
Segment thématique j sur les bronchites
effets sur la santé
nausées irritation du sytème respiratoire bronchites est un est un est un Topic Map Base de documents Topic
Figure 4.13 Ajout d‟un lien « est un » entre le Topic extrait du document et les Topics thèmes
dans le document
143
Document sur les chaudièresSegment thématique 1 sur les bruleurs de chaudière
Segment thématique 2 sur les reservoirs de chaudières chaudière bruleur de chaudière réservoir de chaudière partie de partie de Topic Map Base de documents Topic
Figure 4.14 Ajout d‟un lien « partie de » entre le Topic extrait du document et les Topics
thèmes dans le document
Pour résoudre ce problème d‟ajout de liens entre Topics, plusieurs solutions ont été
proposées dans la littérature, en effet, c‟est un problème très ancien, il a été longuement traité
en particulier dans le contexte de construction et d‟enrichissement d‟ontologies à partir de
textes où il existe plusieurs méthodes de détection de relations entre les concepts d‟une
ontologie.
Dans le cadre de notre travail, nous proposons de combiner certaines des solutions
existantes pour trouver le lien entre un Topic thème d‟un segment et un Topic extrait du
document. Notre démarche inclut les alternatives qui seront détaillées dans la suite.
Nous procédons, en premier lieu, à une analyse du langage naturel pour chercher s'il
y a un lien de type « est un » ou un lien « partie de » entre le Topic du segment et le Topic du
document. Nous pouvons parfois le trouver dans les phrases du document, il s‟agit de
chercher s'il y a des phrases avec le verbe être par exemple : « une chaudière à bois est une
chaudière … », ou des phrases avec « avoir », ou « est composé de », par exemple « une
chaudière est composée d‟un bruleur et d‟un réservoir … » ;
Il existe plusieurs outils et plateformes pour l‟extraction des termes et des relations à
partir de documents texte, Dans le cadre de notre travail, notre choix s‟est porté sur la
plate-forme GATE qui a l‟avantage de proposer une solution générique pour le traitement
linguistique des documents textuels à travers un ensemble de modules paramétrables. Ces
modules peuvent être combinés, enrichis et adaptés selon nos besoins. GATE propose un
module appelé gazetter, pour la reconnaissance d‟entités nommées à partir de dictionnaires
préétablis. Ces dictionnaires peuvent être enrichis avec les termes du domaine étudié. De
144
plus, GATE nous donne la possibilité d‟intégrer une ressource externe représentée par le
thésaurus du domaine pour construire la hiérarchie de Topics et ajouter d‟autres liens
ontologiques dans la Topic Map. Cette étape d‟enrichissement à partir du thésaurus sera
discutée dans la prochaine section ;
La deuxième solution consiste à rechercher une première structure de liens « est un »
par un moteur de recherche tel que Google, par exemple, si on lance une recherche
automatique sur Internet et on saisit la phrase suivante « la pompe à chaleur est un
équipement de chauffage » alors on aura de nombreuses réponses et d‟autres renseignements
tels que les types de pompe à chaleur, les performances, le coût d‟installation, ou bien des
adjectifs (exemple : la pompe à chaleur est un équipement de chauffage géothermique) alors
que si on lance la recherche de cette phrase : « un panneau solaire est une maladie », dans ce
cas, on n‟aura aucun résultat.
Nous pouvons également rechercher d‟autres liens, par moteur de recherche, tels que les
liens « réalisé par », « est composé de ».
Une dernière alternative consiste à utiliser notre algorithme [Lammari et Métais, 2004]
fondé sur les contraintes d‟existence mutuelles, exclusives et conditionnelles.
Le principe de cet algorithme est le suivant : compte tenu d‟un ensemble de contraintes
entre les mots clés décrivant des concepts, nous déduisons une hiérarchie de concepts. Trois
types de contraintes sont définis : contraintes d‟existence mutuelles, exclusives et
conditionnelles [Lammari et al. 2008]. Une contrainte d‟existence mutuelle, définie entre
deux mots clés x et y d‟un concept c, dénotée par
,décrit le fait que chaque instance
associée au concept c peut être décrite simultanément par les mots clés x et y. La contrainte
d‟existence exclusive, définie entre deux mots clés x et y d‟un concept c, dénotée ,
décrit de fait que chaque instance associée au concept c décrite par le mot clé x, ne peut pas
être décrite par le mot clé y et inversement. Enfin, la contrainte d‟existence conditionnelle,
dénotée introduit le fait que chaque instance du concept c décrite par le mot clé x doit
être aussi décrite par le mot clé y (l‟inverse n‟est pas toujours vrai). Nous utiliserons
également ces contraintes dans l‟étape d‟enrichissement de la Topic Map à partir du thésaurus
qui sera détaillée dans la prochaine section.
Nous commençons dans un premier temps par découvrir les mots clés caractérisant les
deux Topics et par la suite regarder s‟il y a inclusion entre eux. Pour la recherche de mots clés
caractérisant un Topic, plusieurs solutions peuvent être adoptées :
145
a) Effectuer une recherche automatique en utilisant un moteur de recherche sur
internet ;
b) Utiliser une méthode statistique des mots associés dans les documents par
exemple : Recherche des documents sur « chauffage », génération de la matrice
d'occurrence des termes de ces documents, et sélection des termes les plus
fréquents (pompe à chaleur, pollution, économie d‟énergie, etc.). Ces termes
peuvent être des mots clés ou des Topics reliés sémantiquement au Topic
« chauffage » ;
c) Compléter cette recherche par une analyse linguistique des documents avec les
phrases « a », « possède », etc, en utilisant un outil ou une plateforme d‟analyse
du langage naturel tel que GATE.
A partir d'une liste de mots clés, il existe des techniques pour créer la hiérarchie «
Is-A » entre les Topics par exemple les treillis de Galois qui se basent sur un regroupement
conceptuel des données ayant des propriétés communes. Pour notre cas, nous utilisons les
contraintes d‟existence mutuelles, exclusives et conditionnelles citées précédemment pour
voir s‟il y a inclusion entre les Topics et les algorithmes d‟extraction, de normalisation et de
translation proposés par [Lammari et Métais, 2004] pour la création des hiérarchies « Is-A »,
la figure 4.15 illustre un exemple d‟application de ces algorithmes :
Figure 4.15 Exemple de construction d‟une hiérarchie « est un » en utilisant des mots clés
communs entre Topics
146
Si après toutes les alternatives citées précédemment, nous ne trouvons pas le type de
lien recherché alors dans ce cas nous décidons d‟appeler le lien « relié à » entre le Topic
thème du segment et le Topic du document puisque cette notation est générale et pourrait
convenir à n‟importe quelle situation (figure 4.16).
Document sur le chauffage au bois résidentiel
Segment thématique 1 sur les effets sur la santé du
chauffage au bois
Segment thématique 2 sur l'éfficacité du chauffage au
bois
Segment thématique i sur les normes du chauffage au
bois
Chauffage au bois résidentiel
Effets sur la santé
efficacité Normes Problème de définition de ces liens relié à relié à relié à Topic Map Base de documents Topic