Cours approche de la construction d’index, tutoriel & guide de travaux pratiques en pdf.
Indexation automatique
Dans ce type d’indexation, nous nous inspirons des travaux de Baziz et al. La construction des index utilisés par les services web proposés dans l’indexation automatique, se fait en deux phases principales : l’indexation syntaxique et l’indexation sémantique, comme il est montré dans la Figure 4.2.
Fig. 4.2: Phases de l’indexation automatique
Indexation syntaxique
L’objectif de l’indexation syntaxique est d’extraire les termes des documents et de les stocker avec leur nombre d’occurrences dans un index physique (voir la Figure 4.3).
Fig. 4.3: Phases de l’indexation syntaxique
– Extraction des mots
Dans cette premiµere phase de construction des index, il s’agit d’extraire les termes si-gniflcatifs du document, c’est-µa-dire de voir pour chaque terme rencontré, s’il ne fait pas partie d’une liste de mots vides (non utiles), exemple : les articles, les pronoms, . . .
etc, nommés aussi les » stop-words « . Si le terme est un stop-word il sera alors ignoré et ne sera pas pris pour indexer le document, Sinon il sera pris dans l’index.
– Calcul de la fréquence d’apparition du mot
Pour les mots signiflcatifs, la fréquence d’occurrences doit etre calculée. A chaque fois qu’un mot est rencontre dans le document, on incrémente sa fréquence (nombre d’ap-parition). Cette valeur obtenue est nommée tf (Term Frequency).
Le résultat de cette phase est le flchier » Index Syn » : Index Syntaxique.
Il est constitué comme suit :
Pour chaque document, on trouve tous les mots qui appartiennent µa ce document avec leurs fréquences d’occurrence.
N” document => f(terme1, i fois),. . ., (termen, j fois)g, i,j : nombre d’occurrence du mot.
Comme exemple du résultat de cette étape, (voir la Figure 4.4)
Fig. 4.4: Exemple d’index syntaxique
La phase de l’indexation syntaxique (élimination des stop-words et calcul du tf ) se résume par l’algorithme suivant (Algorithm 1) :
L’algorithme précédent (Algorithm 1) se déroule ainsi :
{ On fait le traitement suivant pour tous les flchiers :
{ Ouvrir le flchier en cours, et pour toutes les lignes du flchier, faire le traitement suivant :
{ Pour la ligne en cours, on compare tous ses termes avec la stop liste, pour déter-miner si le terme est un mot vide.
{ Si le terme n’est pas un mot vide et qu’il ne flgure pas déjµa dans l’index Syn, on l’ajoute et son tf sera égal µa 0. Sinon, si le terme flgure dans l’index Syn alors on incrémente son tf (sa fréquence d’apparition).
{ Sinon si le terme est un mot vide, il sera alors ignoré.
{ A la fln du flchier en cours, on fait un saut de ligne dans l’index Syn, afln de stocker, s’il y en a, les termes du flchier suivant.
Indexation sémantique
Cette phase accepte en entrée les informations issues de l’indexation syntaxique.
Elle est constituée des étapes suivantes (voir la Figure 4.5) :
Dans l’Index Syn (issu de l’indexation syntaxique) et pour chaque document, on fait :
{ Détection des concepts
Un terme est dit concept s’il appartient µa au moins une entrée de l’ontologie. La détection des concepts se fait en prenant les termes un µa un et en les projetant sur l’ontologie pour détecter ce qui est concept de ce qui ne l’est pas.
Exemple : « Diabµete » est un concept car il correspond µa une entrée de l’ontologie qui est de type maladie alors que le terme « agir » par exemple ne sera pas pris comme concept.
A la difiérence de l’approche de Baziz et al. [26], le cas de détection des concepts formés par mots adjacents exemple : » infections pulmonaires « , n’est pas traité. On aura alors le terme » infections » qui sera pris comme un premier concept ainsi que » pulmonaire » qui sera pris comme un second concept.
Les concepts multi mots formés par l’approche de Baziz [26] sont rarement am-bigus. Mais pour des raisons d’optimisation de la performance, d’amélioration de vitesse d’exécution et afln de diminuer la complexit de l’algorithme, nous avons opté pour cette démarche qui ne traite que les mots simples.
Dans cette étape, on fait la projection du document sur l’ontologie.
{ Expansion des concepts en utilisant l’ontologie
Pour chaque concept détecté, un traitement spéciflque est fait, il consiste µa :
* Détecter les liens entre les difiérents concepts et de les relier ensemble en se basant sur l’ontologie.
* Etendre les concepts par leurs synonymes, dérivés et concepts de la meme famille.
Une liste de synonymes et de sens sera attribuée µa chaque concept, des liens et des relations entre concepts seront créés, ce qui forme une sorte de réseau pour chaque concept.
Dans cette étape on fait la projection de l’ontologie sur le document.
{ Construction du réseau sémantique
Dans les deux étapes précédentes, nous avons utilisé notre ontologie pour représenter le contenu des documents sous forme de :
– Concepts.
– Relations entre concepts.
Nous avons eu comme résultat et pour chaque concept un nombre de termes qui lui sont associés. On appellera cette association le réseau sémantique du terme. Nous déflnissons un réseau sémantique comme suit :
Déflnition
L’ensemble de termes Rk= f t1,…,tp g forme un réseau avec un terme t du document doc, c’est-µa-dire :
– Rk est formé par l’union des eléments ni de type terme qui sont en relation avec t, oµu relation =f synonymie, dérivé, meme_famille, …g.
– ET 8 t(ni) 2 Rk, t(ni) 2 doc.
{ Pondération des concepts
Il existe plusieurs approches pour pondérer les termes signiflcatifs d’un document ou d’une requete. Nombre d’entre elles se basent sur les facteurs tf et idf qui permettent de considérer les pondérations locales et globales d’un terme.
Dans ce mémoire, on distingue la fréquence d’apparition d’un terme dans un document (term frequency, tf ) qui a et déjà calculée dans l’indexation syntaxique et la fréquence d’apparition de ce meme terme dans toute la collection considérée (inverse document frequency, idf ).
La mesure tf *idf permet d’approximer la représentativité d’un terme dans un document, surtout dans les corpus de documents de tailles homogµenes. Dans notre approche, nous allons utiliser une variante de cette mesure qui le Cf *idf.