Matiere : RECHERCHE DINFORMATION

34
1 Matière : RECHERCHE D’INFORMATION Crédit : 4 Cours : 1h30 TD : 1h30 Semestre : S1 du M1 Assuré par: Herzallah Abdelkarim Programme 1-Introduction : Objectifs de la RI, Concepts de base : information, Besoin en information et pertinence, Processus général de la RI, Taches (RI, FI, CLIR, QA, etc.). 2-Indexation pour la RI : Introduction (Indexation manuelle vs. Indexation automatique), Etapes du processus d’indexation, Statistiques sur les termes (Loi, Zipf,…), Techniques de pondération des termes. 3- Modèles de RI : Taxonomie des modèles (Adhoc Vs Filtrage), Modèle booléen, Modèle booléen étendu, Modèle vectoriel, Modèle LSI (Latent Semantic Indexing), Modèle probabiliste, Modèle inférentiel, Modèle de langage, Modèle possibiliste. 4- Reformulation de requêtes : Expansion de requête, Réinjection de pertinence, Méthodes de sélection de termes. 5- Evaluation de la RI : Critères d’évaluation, Collections de tests, Bilan des campagnes d’évaluation. 6- RI sur le WEB 7- RI dans des documents structurés (XML)

Transcript of Matiere : RECHERCHE DINFORMATION

1

Matière : RECHERCHE D’INFORMATION Crédit : 4 Cours : 1h30 TD : 1h30 Semestre : S1 du M1 Assuré par: Herzallah Abdelkarim Programme

1-Introduction : Objectifs de la RI, Concepts de base : information, Besoin en information et pertinence, Processus général de la RI, Taches (RI, FI, CLIR, QA, etc.).

2-Indexation pour la RI : Introduction (Indexation manuelle vs. Indexation automatique), Etapes du processus d’indexation, Statistiques sur les termes (Loi, Zipf,…), Techniques de pondération des termes.

3- Modèles de RI : Taxonomie des modèles (Adhoc Vs Filtrage), Modèle booléen, Modèle booléen étendu, Modèle vectoriel, Modèle LSI (Latent Semantic Indexing), Modèle probabiliste, Modèle inférentiel, Modèle de langage, Modèle possibiliste.

4- Reformulation de requêtes : Expansion de requête, Réinjection de pertinence, Méthodes de sélection de termes.

5- Evaluation de la RI : Critères d’évaluation, Collections de tests, Bilan des campagnes d’évaluation.

6- RI sur le WEB 7- RI dans des documents structurés (XML)

2

1-Introduction

1.1 Définition La recherche d'information ou RI (ou encore SRI) prend plusieurs terminologies:

• recherche d'information, • informatique documentaire, • information retrieval, • document retrieval.

Salton définit la RI comme la branche de l'informatique qui consiste à acquérir, organiser, stocker; rechercher et sélectionner l'information. Les domaines d'application de la RI sont:

• Internet • Bibliothèques numériques «digital library» • Entreprises

La RI est un domaine vaste qui se situe dans les frontières de plusieurs disciplines tel que:

1. Recherche adhoc, 2. Classification /catégorisation (clustering), Question-réponses (Query answering), 3. Filtrage d’information (filtering/recommendation) 4. Méta-moteurs (data-fusion,Meta-search) 5. Résumé automatique (Summarization) 6. Croisement de langues (cross language) 7. Fouille de textes (Text mining)

1.2 Objectif

• Identifier en vue d’exploiter de l'information contenue dans des documents et des bases de données (son ,texte, image) par rapport à une requête formulée par un utilisateur.

• Le SRI devra nous retourner le moins possible de documents non pertinents • Les contenus des documents peuvent être non structurés ou semi structurés.

1.3 Bref historique de la RI La RI n'est pas un domaine récent :

• 1940 : Avec la naissance des ordinateurs, la RI se concentrait sur les applications dans des bibliothèques. Depuis le début de ces études, la notion de pertinence a toujours été un objet.

• 1950 : Début de petites expérimentations en utilisant des petites collections de documents (références bibliographiques). Le modèle utilisé est le modèle booléen.

• 1960-1970 : Expérimentations plus larges ont été menées. On a développé une méthodologie d'évaluation du système qui est aussi utilisée maintenant dans d'autres domaines (des corpus de test ont été conçus pour évaluer des systèmes différents).

• 1970 : Développement du système SMART. Les travaux sur ce système a été dirigés par G. Salton. Certains nouvelles techniques ont été implantées et expérimentées pour la première fois dans ce système (par exemple, le modèle vectoriel et la technique de relevance feedback). Du côté de modèle, il y a aussi beaucoup de développements sur le modèle probabiliste.

3

• 1980 : Les travaux sur la RI ont été influencés par l’avènement de l'intelligence artificielle. Ainsi, on tentait d'intégrer des techniques de l'IA en RI, par exemple, système expert pour la RI, etc.

• 1990 : Internet à propulser la RI en avant scène de beaucoup d'applications. La venue de l'Internet a aussi modifié la RI. La problématique est élargie. Par exemple, on traite maintenant plus souvent des documents multimédia qu'avant. Cependant, les techniques de base utilisées dans les moteurs de recherche sur le web restent identiques.

1.4)Architecture générale d'un Système de Recherche d'Information Requête Documents sélectionnés Utilisation et/ou Evaluation Modification En se basant sur cette requête, le système de RI exécute une série d’algorithmes qui permettent d’obtenir une liste de documents ordonnés par leur pertinence. 1.4.1) Information et besoin en information

Documents

Indexation Indexation

Représentation des documents

Processus d’appariement

(matchning) Documents - requêtes

Représentation de la requête

Besoins en informations

Expa

nsion

Jugements

Dictionnaire Thésaurus Onologie Modèle,

4

Une information est une donnée dont un individu a besoin pour résoudre un problème particulier. L'individu exprime donc un besoin sous forme de requête (question). Il existe deux types de besoins en information : le type fermé et le type ouvert.

a) Question fermée : A une requête correspond un ensemble fini de réponses. Les tâches d'Extraction d'Information (EI) et de Question Answering (QA) font partie de cette catégorie, et elles sont en général appliquées à un corpus spécialisé.

b) Question ouverte : Questions pour lesquelles il n'existe pas de réponse complète et définitive.

La RI s'intéressait à des BI ouverts et à des données non structurées. 1.4.2) indexation L’étape d’indexation permet de réaliser le passage d'un document textuel (ou une requête) à une représentation exploitable par un modèle de RI par la construction de mots clés appelé langage d’indexation.

Document textuel (ou requête) représentation exploitable par le SRI Indexation

Cette transformation appelée indexation consiste à extraire du texte un ensemble de mots clés appelés descripteurs. Ces descripteurs vont représenter le document dans le corpus. Chaque descripteur peut être accompagné de connaissances à priori pour mieux appréhender la recherche. 1.4.3) recherche ou appariement Une fois les documents transformés, il est possible de rechercher ceux qui répondent le mieux à une question d'un utilisateur grâce à la relation d’appariement. Cette relation s'appuie sur des approches mathématiques. On en distingue:

• L'approche ensembliste • L'approche algébrique (ou vectorielle) • L'approche probabiliste

Certains systèmes de RI dits assistés permettent l’interaction avec l'utilisateur, afin d'améliorer petit à petit les réponses du système de RI au cours d'une session de travail. L'utilisateur intervient à chaque étape pour « aider » le système à sélectionner les documents qu’il juge pertinents pour sa question. Ces indications peuvent aussi servir pour améliorer globalement le fonctionnement du système de RI. 1.4.4) La reformulation Un SR peut comporter une composante supplémentaire appelée reformulation automatique d la question (requête). Cette étape a pour objectif d'améliorer les performances du SRI, donc la précision dans les réponses du système. 1.4.5) Pertinence

5

La pertinence d'un document pour une question posée par l’utilisateur s'exprime dans les modèles de RI sous la forme d'une valeur de plausibilité déterminée grâce à une heuristique. A titre d’exemple, pour la question « base de données » la réponse sera d’autant plus pertinente si « base » et « donnée » se trouvent localisés dans une même phrase. Il le sera d’autant moins si ces deux mots sont répartis indifféremment dans le texte. 1.4.6) Précision et rappel La précision ou le rappel est un moyen permettant de mesurer la pertinence car la notion de valeur de plausibilité demeure assez vague.

Précision = Rr / R Taux documents pertinents dans les documents

rapportés Rappel = Rr / P Taux de documents pertinents rapportés Score F = (R + P) / (2RP) utilisées pour maximiser la moyenne harmonique

de la précision et du rappel Bruit : 1 – Précision Documents non pertinents rapportés par le SRI Silence : 1 – Rappel Documents pertinents non rapportés par le SRI a) Précision : Un système de RI sera très précis si presque tous les documents renvoyés sont pertinents. En fait c’est la proportion des documents pertinents parmi l'ensemble de ceux renvoyés (rapportés) par le système. b) Rappel : Un système de RI aura beaucoup de rappel s'il renvoie la plupart des documents pertinents du corpus pour une question. En fait c’est la proportion de documents pertinents renvoyés par le système parmi tous ceux qui sont pertinents Application : Soit : NP = nombre de documents pertinents Nr = nombre de documents rapportés

P: Collection des documents pertinents (Relevant documents)

R: Documents rapportés (retrieval documents)

Rr: Documents pertinents rapportés

D: Collection des documents

6

Nrp = nombre de documents pertinents rapportés Alors : Bruit : 1 – Précision = 1 – Nrp/Nr = (Nr – Nrp)/Nr Silence : 1 – Rappel = 1 – Nrp/Np = (Np – Nrp)/Np Ou bien encore : Rappel = card(RP) / card(P) Silence = 1–Rappel = card(P)-card(RP) / card(P) Précision = card(RP) / card(R) Bruit = 1–Préecision = card(R)–card(RP) / card (R) 1.4.7) Mesure F La mesure F [van Rijsbergen, 1979] prend en considération la précision et le rappel simultanément. Elle est définie par : Pour utiliser cette mesure, il est donc nécessaire de fixer préalablement un seuil de décision pour le classement, et de calculer la valeur de F pour ce seuil. Le paramètre permet de choisir l'importance relative que l'on souhaite donner à chaque quantité. On choisit en général de donner la même importance aux deux critères : on utilise F1 (noté F dans toute la suite de ce mémoire) qui s'écrit : F = 2.P.R P + R Une des propriétés intéressante de cette mesure est le fait que, si P = R = X, alors F = X ; cette mesure a alors une interprétation simple. 1.4.8) La courbe rappel / précision La précision est une fonction décroissante du rappel. Précision et rappel sont dans l'intervalle [0..1].

Considérons à titre d'exemple une requête pour laquelle cinq documents sont pertinents dans la base. Le système retourne 15 documents: {d1,.., d15}. Les documents pertinents sont marqués par la lettre "P" comme indiqué dans la troisième colonne du tableau suivant:

Document Score Pertinent Précision Rappel d1 9.92 P 1.00 0,20 d2 9.77 0.50 0,20 d3 9.76 P 0.67 0,40

7

d4 9.59 P 0.75 0,60 d5 8.72 0.60 0,60 d6 6.85 P 0.67 0,80 d7 6.51 P 0.57 0,80 d8 4,32 0,63 1,00 d9 4,16 0,56 1,00 d10 3,47 0,50 1,00 d11 2,69 0,45 1,00 d12 2,04 0,42 1,00 d13 1.84 0,38 1,00 d14 1,67 0,36 1,00 d15 0,07 0,33 1,00

On considère d'abord le premier document d1 restitué par le système. A ce point, on a retrouvé un document pertinent parmi les 5 existants. Donc, le rappel de 0.2, la précision est de 1/1. Le point de la courbe est donc (0.2, 1.0). On considère ensuite les deux premiers documents restitués. Le taux de rappel est toujours de 0.2 et la précision est cette fois de 0.5 (un document sur deux est pertinent). Le point est donc (0.2, 0.5). Ce processus est répété jusqu'à épuisement de la liste des réponses (qui peut être très longue en incluant tous les documents de la base). Les premiers points de la courbe sont alors représentés suivante: Précision 1 (0.2 , 1) 0.8 ( 0.6 , 0.75 ) (0.6 , 0.75 ) 0,4 (0,4, 0.67) 0.2 ( 0.2, 0.5 ) . rappel

8

0 0.2 0.4 0.6 0.8 1 2-Indexation pour la RI 2.1 Définition L’indexation a pour rôle de représenter un document ou une requête par un ensemble de descripteurs, appelés aussi mots clé. Ces descripteurs constituent une facilité d’exploitation des documents étant donné que le ceux-ci sont sous forme de textes libres. L’indexation peut être :

a) Manuelle : Chaque document est analysé par un documentaliste ou un spécialiste du domaine étudié. Il utilise à cet effet un vocabulaire contrôlé basé sur le thésaurus, le lexique,…). C’est une opération qui exige un effort particulier et peut prendre du temps. En raison de facteurs humains (telle que la subjectivité), un même document peut recevoir deux listes différentes de descripteurs s’il est travaillé par deux indexeurs différents.

b) Automatique : Le processus est complètement automatisé. L’indexation automatique a pour objectif de produire un ensemble de mots, ou termes, suffisamment informatifs pour bien représenter le contenu d’un document. Les mots d’un document ne sont pas tous également significatifs. En langage écrit, quelques termes portent plus de sémantique que d’autres. Ainsi, les documents sont pré-traités pour faire la sélection des termes adéquats. L’ensemble de termes présents dans un document conduit à une représentation imprécise de la sémantique des documents. Par exemple, le terme ’le’ ne représente pas un sujet en soi et peut conduire à donner comme résultat des documents non pertinents. On dit que la représentation d’un document par l’ensemble de tous ses termes génère du bruit en RI. Une façon de réduire ce bruit est de réduire l’ensemble de termes au travers d’un pré-traitement. Cette réduction augmente aussi la performance du système.

c) Semi automatique: Un premier processus automatique permet d'extraire les termes du document. Cependant le choix final reste au spécialiste du domaine ou au documentaliste pour établir les relations entre les mots clés et choisir les termes significatifs, et ce grâce à un interface interactif..

2.2 Etapes du processus d’indexation Au moins cinq grands niveaux de traitement linguistique :

• niveau du découpage , Tokénisation • niveau morphologique : reconnaissance du mot • niveau lexical : réduction du mot à sa forme canonique > lemmatisation • niveau syntaxique : niveau d'utilisation de la grammaire • niveau sémantique : niveau de la reconnaissance des concepts •

1) Niveau de découpage (Tokénisation) : La tokénisation est appelée aussi segmentation. Elle consiste à diviser un texte en unités lexicales (token) élémentaires. C’est une opération qui « localise» les chaînes de caractères entourées de séparateurs (caractère

9

blanc, ponctuations), et les identifie comme étant des mots. Il permet aussi de procéder à une première correction des fautes d’orthographe et des erreurs de saisie

2)Niveaux léxical et morphologique : Chaque mot de la langue lui correspond une catégorie morpho syntaxique.

b) Le lemme Le lemme s'obtient par une flexion (paradigme flexionnel). Exemple: Je travaille, tu travailles, il/elle travaille …. Le lemme est travailler. La catégorie grammaticale rattaché à ce lemme est un verbe. c) La racine La racine s'obtient par une dérivation ( paradigme dérivationnel ). Exemple: nation, nationalité, nationaliser…. La racine est nation . La catégorie rattachée un substantif. d) Le mot composé Mots non obligatoirement successifs qui doivent être reconnus comme formant une seule entité.

i. Racinisation : Cette première opération est indispensable pour pouvoir retrouver tous les

documents dans lesquels apparaissent différentes formes du même mot ». Exemple : écologie, écologiste, écologique sont "racinisés" par un seul mot : écologie.

ii. Le second traitement appelé aussi « étiquetage » ou tagging consiste à comparer chaque mot du texte (susceptibles d’être ambiguë), avec les termes du dictionnaire intégré (référentiel ou glossaire métier). Ceci, afin de leur attribuer une ou plusieurs étiquettes en fonction du sens qu’ils sont susceptibles d’avoir dans le contexte où ils sont utilisés. Cette opération permet aussi d’ « identifier » les mots composés et les expressions toutes faites.

iii. Recherche des lemmes : On a souvent besoin dans les logiciels d’indexation de texte de regrouper les mots qui se ressemblent. L’idéal serait de considérer la racine du mot, en la recherchant dans un dictionnaire. L’opération demandant beaucoup de temps, on a souvent recours à des heuristiques (mot savant pour dire « recette de cuisine ») simples, telle que celle-ci :

On garde toutes les lettres depuis le début du mot jusqu’à - La troisième consonne du mot incluse - Epuisement des lettres si la règle précédente n’a pu être satisfaite Seule compte une consonne non précédée d’une autre consonne (dans « elfe », on ne compte que le « l » car le « f » est une consonne précédée d’une autre consonne ; par contre dans « nain » on compte deux consonnes). Ainsi « chien » a pour racine « chien »

Exemple : Lemmatiser le mot « informatique » I N F O R M A T I Q U E

Non pris en compte a pour racine « informat ».

10

iv. Elimination des mots vides) : Les mots qui sont très fréquents dans les documents d’une collection n’ont pas un bon pouvoir discriminant et ne doivent pas être inclus dans l’index. C’est le cas des pronoms, des prépositions et des conjonctions, naturellement reconnus comme des mots vides. L’élimination des mots vides permet une réduction de l’index d’environ 40%. Vu que la réduction du nombre de termes augmente la performance, certains systèmes considèrent, aussi, comme des mots vides quelques verbes, adjectifs et adverbes.

Cette étape arrive à la constitution d'un index des termes non éliminés, considérés comme des index. La recherche se fait selon logique booléenne par exemple : dans la phrase "Prolétaires de tous les pays : unissez-vous", seuls les mots "prolétaires", "pays" et "unissez" sont gardés. A la recherche, il suffira de taper l'un de ces termes, ou une combinaison des termes, pour retrouver la phrase. Difficultés : o tous les mots gardés sont d’égale importance, et il n'y a pas d'ordre des mots. o apparition des différentes formes d'un mot (ex : un verbe va apparaître plusieurs fois sous des formes différentes o l'analyse porte seulement sur des mots isolés (des unitermes), et délaisse toutes les expressions (les syntagmes), souvent porteurs de sens. Ex : « pomme de terre » donnera deux mots "pomme" et "terre", analysés séparément o la synonymie n’est pas prise en compte (Ex : vol = aussi bien vol d’avion que vol à la tire l'analyse morphologique peut générer beaucoup de « bruit ou de silence » A noter aussi que certains moteurs de recherches n’éliminent même pas les mots vides pour une recherche. Les mots vides sont appelés une stoplist ou une stopword.

2.3) Résumé du processus de normalisation 1) Utilisation des règles de transformation du type CONDITION � ACTION. Exemple : un mot ayant une terminaison de s, supprimer le s. 2) L’algorithme Porter pour l’Anglais est basé sur la mesure de séquences voyelles-consonnes. Cette mesure est appelée m: mesure m pour un «stem» est [C](VC)m[VC] où C est une séquence de consonnes et V est une séquence de voyelles [] = option, comme par exemple :

m=0 (tree, by), m=1 (trouble, coats, trees, ivy), m=2 (troubles, private)

Les règles de désuffixage et de normalisation (en Porter) sont divisées en 3 étapes et sont examinées en séquence :

11

Etape 1: sses � ss ( caresses � caress) ies � i (ponies � poni) s � NULL (cats � cat)

Etape 2: En règle générale:

if m>0 eed � ee (agreed � agree) if *v*ed � NULL (plastered � plaster but bled � bled) Exemples: Y > I Happy > Happi ANT > NULL IRRITANT > IRRIT EMENT > NULL REMPLACEMENT > REMPLAC MENT > NULL JUSTEMENT > JUSTE

Etape 3: ATIONAL > ATE RELATIONAL > RELATE TIONAL > TION CONDITIONAL > CONDITION

3) La Troncature. Il s’agit de Tronquer les mots à X caractères Il s’agit de Tronquer les mots à X caractères (tronquer plutôt les suffixes). Un exemple de troncature à 7 caractères est : économiquement : écomoni La principale difficulté est comment déterminer la valeur optimale de X ?

2.3.1) Niveau léxical : Elle consiste à déterminer les regroupements structurels des mots au sein des phrases et les relations entre les mots. 2.3.2) Niveau sémantique :

Ce niveau s intéresser au regroupement de termes synonymes, aux familles de termes, pour dresser un réseau des relations sémantiques.

2.3.3) Autres niveaux :

o Indexation fondée sur le calcul statistique des occurrences, cad de la fréquence d'apparition de mots dans un texte. Tous les mots significatifs d'un texte sont relevés (les occurrences) et leur fréquence est calculée, selon un indice moyen de fréquence (par exemple 1 /1000).

o Méthode permet les calculs de pondération, cad l'importance d'un mot dans un document déterminé et l'élimination de termes moins significatifs.

2.3.4) Fichier inverse • Après analyse de documents d’un corpus, on obtient un tableau : document x termes • Utilisation en tableau direct « document -> terme » possible t1 t2 t3 tn

12

D1 …… …. ……. Dm • Génération d’un tableau inverse « terme -> document » (appelé fichier inverse)

D1 D2 D3 Dm t1 …… …. ……. tn Avantage : rapidité lors du traitement de requête, car pas de traitement séquentiel des documents 2.3.5) Typologie des langages documentaires Un langage documentaire est un langage "pivot" destiné à décrire le contenu des documents et le contenu des questions (requêtes) des utilisateurs que ce soit en entrée (humain) qu'en sortie (machine) Langagge libre Langage contrôlé Langage langage de Langage Combinatoire classification naturel Thésaurus Ontologie (description) (classes, règles, relatons) a) Thésaurus : langage documentaire fondé sur une structuration hiérarchisée d’un ou plusieurs domaines de la connaissance et dans lequel les notions sont représentées par des termes d’une ou plusieurs langues naturelles et les relations entre notions par des signes conventionnel. b) Ontologie

13

Une ontologie est un ensemble structuré de concepts organisés dans un graphe où les relations peuvent être: · Des relations sémantiques; · Des relations de composition et d'héritage (au sens programmation objet). Une ontologie permet de définir des termes les uns par rapport aux autres, chaque terme étant la représentation textuelle d'un concept. La construction d'une ontologie à partir d'un texte consiste à:

• parcourir le texte à la recherche de termes récurrents ou définis par l'utilisateur, • analyser la manière dont ces termes sont mis en relation dans le texte (par la

grammaire, et par les concepts qu'ils recouvrent et dont une définition peut être trouvée dans un lexique fourni par l'utilisateur).

Le résultat est une ontologie qui représente la connaissance globale que contient le corpus de texte dans le domaine d'application qu'il couvre. 2.3.6) Les pondérations La pondération consiste à répondre à la question si tous les termes ont la même importance ? et comment attribuer un poids aux termes extraits ? 2.3.6.1) Loi de ZIPF La loi de Zipf est une loi empirique énoncée en 1949 par G.K Zipf [Zipf, 1949]. Selon Zipf, les mots dans les documents ne s’organisent pas de manière aléatoire mais suivant une loi inversement proportionnelle à leur rang. Le rang d'un mot est sa position dans la liste décroissante des fréquences des mots du corpus. Ainsi, la fréquence du second mot le plus fréquent dans le corpus est la moitié de celle du premier, la fréquence du troisième mot le plus fréquent, son tiers, etc. Formellement, cette loi s'exprime par la probabilité d’apparition du nième mot le plus fréquent dans une collection de n’importe quelle langue est approximativement inversement proportionnelle à n (rang), soit : P (n) = C N / n On en déduit: fréquence * rang = Constante Fréquence

rang des termes

Les domaines concernés par la loi de ZIP sont nombreux. On peut citer:

• La répartition des pixels dans les images, • Les populations dans les grandes villes • Les pages web sur Internet, où la relation de popularité d'une page Web x nombre

d'accès à une page par mois prend la même forme.

14

Dans le domaine de la recherche d'information, la loi de Zipf est utilisée pour déterminer les mots qui représentent au mieux le contenu d'un document. Pour cela, un autre concept est introduit, il s'agit de la conjecture de Luhn.

2.3.6.2) Conjecture de Luhn La conjecture de Luhn est basée sur la loi de Zipf. Elle mesure l’ Informativité d’un document de la façon suivante :

• Les termes de rang faible (très fréquents) ne sont pas pertinents • Les termes de rang élevés (très rares) ne sont pas pertinents • Les descripteurs pertinents sont les termes de rang intermédiaire !

fréquence informativité seuil maxi seuil mini rang A B C A : mots très fréquents, peu intéressants C : mots peu fréquents, peu intéressants B : mots intéressants Voici un algorithme simple pour extraire et sélectionner

• Extraire les mots du corpus • Éliminer les mots-outils (anti-dictionnaire) • Lemmatiser (en anglais, algorithme de Porter) ; raciniser (déclinaisons

morphologiques, représentation uniforme : sing, masc sing, infinitif) • Fixer un seuil haut et un seuil bas : on ne garde que les mots se • situant entre les 2 seuils

3 LES MODELES III-1 Les modèles

Requête Recherche d’information (SRI) Document

15

Interprétation Bases de Indéxation Connaissances Représentation recherche ou Représentation des requêtes interrogation des contenus (langage de requêtes) Appariement (langage d’indéxation)

Recherche de l’information Modèle de Fonction de Modèle de Requêtes correspondance documents (contenus) modèle de connaissance Le langage de description de documents (langage d’indéxation), est basé sur un ensemble de termes T = { t1, t2,..., ti, ...} et de connecteurs (au moins la conjonction). On appelle généralement « indexation », ou « description », la représentation d’un document dans ce langage. Le langage de requêtes est aussi basé sur T, et comprend divers Connecteurs. Généralement on ne considère qu’une seule requête générique notée q, mais si nécessaire, Q = { q1, q2, ..., qi, ...} représentera l’ensemble des requêtes (qi est ainsi une liste d’éléments de T ou une expression booléenne construite sur T). L’algorithme d’appariement permet de construire une relation entre requête et indexation. Il est utilisé pour construire une fonction de pertinence, R (appelée « ranking » en anglais) III-2 Les différents modèles

MODELES MANUEL AUTOMATIQUE ADAPTATIF Booléen Vectoriel Probabilistes Booléen pondéré Latent semantic Indexed Réseau de neurones III-2-1 Le modèle booléen Le modèle booléen a été introduit en 1983 par Salton et McGill. Il s’est imposé grâce à la simplicité et à la rapidité de sa mise en œuvre. L’interface d’interrogation de la plupart des moteurs de recherche (Google, Alta Vista) est basée sur les principes de ce modèle. Il est

16

composé d’une liste de termes (mots-clés) pouvant être combinés à des opérateurs logiques ET, OU NON pour répondre au mieux à une requête d’un utilisateur. a) Modèle de connaissance : Un document T est indexé par des termes t1, t2, t3….tn : T = {ti}, i appartient à [1,n] b) Modèle de document : Un document D : D=t1 ET t2 Et t3,…. Une requête q : (t1 ET t2) OU (t5 ET t7)…. c) Fonction de correspondance : la fonction de correspondance est une implication logique de la logique des propositions. Un document (d) représenté par son ensemble de termes (ti), répond à une requête (q) exprimée comme une expression logique de termes, si l’implication d � q est valide. La correspondance C(d, q) est déterminée comme suit :

C(d, ti) = 1 si ti Є. d ; 0 sinon C(d, q1 Λ q2) = 1 si C(d, q1) = 1 et C(d, q2) = 1 ; 0 sinon C(d, q1 V q2) = 1 si C(d, q1) = 1 ou C(d, q2) = 1 ; 0 sinon C(d,¬q) = 1 si C(d, q) = 0 ; 1 sinon

Les termes t1 des documents sont identifiés et stockés en conservant les liaisons d’appartenance à chaque texte. On désigne cet ensemble sous le nom de fichier (index) inversé. La recherche des documents dans lesquels figure un terme est ainsi fortement accélérée. L’inconvénient majeur de ce modèle comme schématisé dans la Figure 2-4, est que les documents pertinents dont la représentation ne correspond qu’approximativement à la requête ne sont pas sélectionnés, et que tous les termes ont la même importance. Pour remédier à ces inconvénients, SALTON a proposé le modèle booléen étendu qui se propose qui corriger les inconvénients du modèle booléen. III-2-2 Le modèle booléen pondéré Il s’agit d’une extension du modèle booléen en intégrant le principe des pondérations. Il tient compte de l’importance des termes dans la représentation des documents et dans la requête, et ce, en affectant des poids à chaque terme du document et de la requête. a) Modèle de connaissances : T = {ti}, i Є [1, .. n], Les ti indexent les documents – Un document (D) est représenté par : • Une formule logique de la même manière que le modèle booléen) • Une fonction WD : t Є [0,1], qui pour chaque terme de T donne le poids de ce terme dans D. Le poids vaut 0 pour un terme non présent dans le document. b) Fonction de correspondance

17

b-1) Méthode-1 : Détermination de la correspondance COR d’un document D à une requête q notée COR(D, q) s’évalue selon le cadre classique des ensembles flous proposé par Zadeh [Zadeh, 1965]. Dans la théorie des ensembles flous, quand un élément a un degré d'appartenance à un ensemble, cet ensemble est dit ensemble flou. On obtient les relations suivantes :

COR(D, a Λ b) = Min [WD(a), WD(b) ] COR(D, a V b) = Max [WD(a), WD(b) ] COR(D, ¬a) = 1 – WD(a)

Limitation : on ne tient pas compte dans la réponse de tous les termes de la requête. Il semble ne pas convenir parfaitement à un processus de recherche d'information pour la raison suivante : Soit la requête a et b, un document Dj appartenant à l'ensemble flou relatif à a avec COR(Dj,a)=0.9 et à l'ensemble flou relatif à b avec COR(Dj,b)=0 sera considéré de la même manière qu'un document Di appartenant à l'ensemble flou relatif à a avec COR(Di,a)=0.9 et à l'ensemble flou relatif à b avec COR(Di,b)=0.9.

b-2) Méthode-2 : Sim(D, a V b) = sqr((WD(a)2 + WD(b)2)/2) Sim(D, a Λ b) = 1 - sqr(((1-WD(a))2 + (1-WD(b))2)/2) Exemple :

Booléen Booléen pondéré Documents A B A V B A Λ B A V B A Λ B

D1 1 1 1 1 1 1 D2 1 0 1 0 1/sqr(2) 1-1/sqr(2) D3 0 1 1 0 1/sqr(2) 1-1/sqr(2) D4 0 0 0 0 0 0

III-2-3 Le modèle vectoriel Le modèle vectoriel introduit par [Salton 1975] représente chaque document, ainsi que la requête, par un vecteur et calcule un coefficient de similarité entre

18

chaque document et la requête (appelé Retrieval Status Value ou RSV) ; Ce coefficient de similarité correspond, par exemple, au cosinus des angles entre le vecteur de la requête et le vecteur d'un document, afin de trouver les documents dont le vecteur de représentation est le plus colinéaire avec le vecteur de la requête. D1 D2 Requête D3 il est donc possible de classer les documents par ordre de pertinence décroissante. Dans ce modèle, chaque mot du corpus représente une dimension de l’espace et le codage des vecteurs par une fonction du nombre d’occurrences d’un mot dans le document. Les composantes des vecteurs, appelées termes dans la terminologie de la recherche d’information, peuvent également être des paires de mots ou des phrases. Avec cette approche :

• seule la présence ou l’absence de termes est porteuse d’information. • Aucune analyse linguistique n’est utilisée, ni aucune notion de distances

entre les mots : • Les documents sont représentés en "sacs de mots".

De nombreuses solutions ont été proposées dans la littérature pour coder les composantes des vecteurs, c’est-à-dire pour attribuer un poids à chaque terme (cf. [Salton et Buckley, 1990]). Historiquement, le plus connu de ces codages s’appelle tf.idf, et donne parfois son nom à l’approche vectorielle ; ce codage signifie : term frequency * inverse document frequency. III-2-3-1 Pondération TF.Idf Le terme Tf*Idf désigne un ensemble de pondérations et de sélections de termes. Tf=term frequency (importance du terme pour un document) Idf=Inverted document frequency (on mesure si le terme est discriminant).

19

Les termes importants dans un document doivent avoir un poids fort. Le facteur Tf (sac de mots, bag of words):

• Tenir compte de la fréquence d'un terme dans le document • Plus un terme est fréquent dans un document plus il est important dans la

description de ce document Le facteur IDF (Inverse Document Frequency) la fréquence du terme dans la collection :

• Tenir compte du nombre de documents contenant un terme donné • un terme apparaissant dans tous les documents n’est pas important

Avec : Idf =Log(N/ni), où N est la taille de la collection, et ni le nombre de documents contenant le terme ti On déduit la formule classique suivante :

Wij = freq(ti, dj) * log(taille corpus / docfreq(t)) Où bien : Wij = tfij * Log(taille_corpus / dfi) Où :

• Wij est le poids du terme ti dans le document Di. • tfij est donnée dans la matrice précédente (fréquence du terme ti dans le

document Di). • taille_corpus = nombre de documents du corpus (collection). • dfi = fréquence documentaire de ti, c'est-à-dire le nombre de documents

contenant le terme i (Le document apparaît au moins une fois). Les Tfij doivent être normalisées en divisant chaque Tfij par le maximum des fréquences pour un même document. III-2-3-2 Mesure de similarité Cette mesure correspond au cosinus de l'angle formé par les vecteurs dans l'espace multidimensionnel. D1 D2 Requête

20

D3 Le document D2 est le proche de la requête.

AVG-SIM 0,406 III-2-3-3 Distance Distance entre un document et une requête

Sim (Q, Di) = similitude entre la requête Q et le document Di

• dij = poids du terme Tj dans le document Di • wqj = poids du terme Tj dans la requête Q

III-2-4 Le modèle probabiliste Le modèle probabiliste consiste à calculer la pertinence d'un document en fonction de pertinences connues pour d'autres documents. Il y a différentes approches de calcul de probabilité dans le domaine de la RI :

1. Approche par modèle classique : A partir d’un document et d’une requête on détermine la probabilité d’avoir l’évènement pertinent.

2. Approche par modèle par Réseau d’inférences : A partir du contenu d’un document, on détermine la probabilité pour que la requête soit vraie.

3. Approche par modèle par langage : déterminer la probabilité pour qu’une requête soit générée à partir d’un document.

III-2-4-1 Modèle classique

21

1) Rappel du théorème de Bayes P(A|B) = probabilité conditionnelle qui signifie la probabilité de A sachant que

B est réalisé. A noter que A et B sont dépendants.

P(A|B) = P(A inter B) / P(B) P(A inter B) = |A inter B| / |E| P(B) = |B| / |E| P(A|B) = |A inter B| / |B|

Exemple : soit 2 dés. On observe que la somme des 2 dés vaut 6. Quelle est la probabilité que l’un des 2 dés vaut 2 ? Réponse : B = {Somme=6} A = {Au moins un des 2 dés donne 2} B = {(2,4), (4,2), (1,5), (5,1), (3,3)} A inter B = {(2,4), (4,2)} P(A|B) = 2/5 Alors que P(A) = 11/36 Nous avons : P(A|B) = P(A inter B) / P(B), ce qui donne: P(A inter B) = P(A|B) * P(B)

= P(B|A) * P(A)

P(A|B) = P(B|A) * P(A) / P(B) Théorème de Bayes Il permet d’inverser les probabilités conditionnelles Exemple : Soit 2 dés. On observe que la somme des 2 dés vaut 6. Quelle est la probabilité que l’un des 2 dés vaut 2 ? B = {Somme=6}

A

B A INTER B

22

A = {Au moins un des 2 dés donne 2} P(A|B) = P(B|A) * P(A) / P(B) = 2/11 * 11 / 5 = 2/5 P(B|A) = probabilité d’avoir 6 sachant qu’au moins l’un des 2 dés vaut 2 |A| = 11 |A inter B| = 2 P(B|A) = 2/11 P(A|B) = 2/11 * 11 / 5 = 2/5 2) le corpus

Corpus = pert U non pert 3/ Définition a/ On définit P (Di/nonpert) comme la probabilité pour que le document i fasse partie de l’ensemble des documents non pertinents à la requête q. b/ On définit P (Di/pert) comme la probabilité pour que le document i fasse partie de l’ensemble des documents pertinents à la requête q, soit : 4/ Fonction de recherche En supposant l’indépendance des variables documents « pertinents » et « non pertinents », la fonction de recherche peut être obtenue en utilisant la formule de Bayes.

Soit D i (t1, t2, t3, …., tN) où 1 si ti indexe le document Dj T = 0 sinon

a) P(pert/Di) = ( P(Di/pert) x P(pert) ) / P(Di) b) P(nonpert/Di) = ( P(Di/nonpert) x P(nonpert) ) / P(Di)

Documents pertinents (pert) Documents non pertinents (nonpert)

23

Où :

• P(Di/pert) : probabilité d’obtenir Di à partir des pertinents • P(pert) : probabilité de pertinence. Chance de prendre au hasard un

document pertinent. • P(pert/D

i) est la probabilité de pertinence du document Di sachant sa

description. P(Di) : Probabilité pour que le document i soit choisi.Elle est de:

P(Di)=p(D

i /pert) * p(pert) + p(D

i /Nonpert) * p(Nonpert)

4/ représentation du document et de la requête On ne prend en compte que l’absence ou la présence des termes dans les documents et dans la requête. Ainsi, les termes considérés ne sont pas pondérés mais prennent seulement des valeurs 0 (absent) ou 1 (présent). Le document D répond à la requête si : P(pert/D) P(D/pert) x P(pert) = > 1 P((nonpert/D) P(D/nonpert) x P(nonpert) P(D/pert) = P(D/nonpert) Il y a plusieurs hypothèses de calcul en tenant compte de l’indépendance des évènements. Parmi celles-ci, il y a le BIM (Binary Independance Model). Soit xi=0 si le terme ti est absent de D Xi=1 si le terme ti est présent de D Alors : P(D/pert) = Π P(xi/pert) P(D/nonpert) = Π P(xi/nonpert) Et pi = P(xi=1/pert) entraîne 1-pi = P(xi=0/pert) qi = P(xi=1/nonpert) entraîne 1-qi=P(xi=0/nonpert)

24

on a donc :

pi (1-pi) log Π + log Π D qi Q (1-qi)

5/ Estimation de pi et qi • R (ou Ri) : nombre de documents pertinents pour Q (contenant ti) • N: cardinalité du corpus • ri: nombre de documents pertinents contenant ti • ni : nombre de documents contenant le terme ti

Pertinent Non pertinent Total Terme ti présent ri ni - ri ni Terme ti non présent R – ri N – ni - (R – ri) N – ni Total R N – R N

Remarque :

• Pertinent et pertinent par rapport aux documents D • Terme ti (présent ou non présent) par rapport au document dont on veut

mesurer la pertinence par rapport aux documents D 6/ cote de document La formule globale est : ri (R - ri ) g(D) = log ni – ri N – R – ni + ri Nuancée, la formule de Robertson Spark Jones donne :

25

ri + 0.5 (R - ri + 0.5) g(D) = log ni – ri + 0.5 N – R – ni + ri +0.5 III 2 5 Le modèle de langue Ce modèle nécessite une analyse morpho syntaxique avec un étiquetage des catégories syntaxiques (Part-Of-Speech Tagging en anglais) en attribuant à chque mot sa catégorie grammaticale. Un modèle de langue est un concept probabiliste. Il faudra déterminer la probabilité de chque bigrammes qu'il apparaisse dans un texte donné ? La probabilité du bigramme est le produit de la probabilité de chacun des termes du bigramme. Ex:bigramme: m1, m2, la probabilité associée est p(m1)p(m2). On peut aussi travailler avec des probabilités conditionnelles. Étant donné une séquence observée de mots m1, m2, quelle est la probabilité qu’ils soient suivis d'une négation par exemple.? On note cette probabilité P(pas | m1,m2). Dace modèle, on évitera que le calcul de probabilité n’associe pas une valeur nulle à un des n-grammes qui n’apparaît pas dans le corpus. Pour ce faire, , on peut utiliser le lissage de Laplace où on ajoute « 1 » au nombre d’occurrences de tous les n-grammes. En d’autres mots, on prend pour acquis qu’avant même de consulter le corpus, tout n-gramme apparaît au moins une fois. On peut aussi utiliser la technique de Good-Turing, IV- Développement de la requête IV-1 Définition : On dit aussi expansion ou reformulation de la requête ou de la question. La qualité des réponses des systèmes de recherche d’information dépend de :

• La qualité du mécanisme d’appariement requête/documents, • des requêtes formulées par l’utilisateur.

26

Afin d’améliorer les possibilités d’exploitation des documents, un processus de développement de requêtes est adjoint au SRI. Dans ce processus de reformulation de requêtes, nous distinguons principalement deux approches : a) développement direct : Cette approche consiste à ajouter de nouveaux termes à la requête initiale. Cette modification de la requête initiale est réalisée grâce :

• aux liens de co-occurrence (termes reliés) entre les termes, ou bien • en s’appuyant sur un dictionnaire dans le cadre du multilingue, ou encore • sur une ontologie capable d’enrichir la requête initiale avec des termes dérivant de

relations sémantiques telles que synonymie. •

b) développement indirect : Cette approche permet de modifier la requête en tenant compte des documents déjà sélectionnés. Ce processus est appelé réinjection de la pertinence (relevance feed-back). IV-2 Problématique Une expansion de requête consiste à "élargir" le champ de recherche pour cette requête et à contenir plus de termes reliés. Dans le modèle vectoriel plus de documents seront repérés. C’est donc un traitement qui peut être vu comme un moyen d'augmenter le taux de rappel. Mais peut on perler de parler sans parler de précision. L’affirmation que l'expansion de requête va conduire à un meilleur rappel n'est pas tout à fait juste. L'utilité de l'expansion de requête dépend fortement de deux facteurs:

1. Quels mots doit-on utiliser pour étendre la requête? 2. Comment les nouveaux mots doivent-ils être ajoutés dans la requête?

IV-3 Méthodes proposées L'expansion de requête est souvent utilisée dans le modèle booléen et le modèle vectoriel. a) Cas du modèle booléen : Si on considère qu'il y a une relation forte entre A et B (ou s'il y a la relation d'implication entre B � A), et que A apparaît dans une requête booléenne, alors on remplace A par (A V B). Typiquement, cette expansion utilise des synonymes. Une requête booléenne n'est pas pondérée. Il n'y a donc pas de question de pondération pour les nouveaux mots. b) cas du model vectoriel : Si on considère qu'il y a une relation forte entre A et B (ou s'il y a la relation d'implication entre B � A), et que A apparaît dans une requête booléenne, alors on va ajouter B dans le

27

vecteur de la requête (s'il n'y est pas déjà). La question qu'on se pose est plutôt sur la pondération des nouveaux termes dans le vecteur. Cette pondération peur être :

• Le mot ajouté B est pondéré comme le mot initial A en relation avec B. • Le mot ajouté B est pondéré comme la pondération de A multiplié par un facteur. Ce

facteur peut être fixe (par exemple, 0.5), ou bien déterminé selon la pondération de B en relation avec A (L'idée est que si A conduit à beaucoup de mots B reliés, ces mots reliés doivent être pondérés plus faiblement).

Cette méthode de pondération a été expérimenté par plusieurs chercheurs, entre autres, Voorhees (1994). Elle utilise le thésaurus Wordnet pour déterminer les mots à ajouter dans le vecteur. Cependant, le résultat est négatif: avec cet ajout, la performance est dégradée. Ici, on doit se poser la question sur cette méthode naïve de faire l'expansion dans un vecteur. On peut observer que

• l'expansion n'est pas uniforme pour tous les mots de la requête. • Un concept étendu sera renforcé dans le vecteur obtenu,

Est-ce que ces concepts renforcés sont réellement importants dans la requête? IV-4 Choix des termes à ajouter Plusieurs démarches sont utilisées :

• Utilisation d’un dictionnaire de synonyme, ou un thésaurus. Les mots reliés sont utilisés dans l’expansion.

• Expansion automatique par des termes fortement reliés basée sur les co-occurrences: Plus deux mots co-occurent dans des textes, plus on suppose qu'ils sont fortement reliés.

• Processus d'expansion interactif: L'usager peut filtrer les mots proposés par le système. Cette approche est utilisée dans certains systèmes, par exemple, Medline qui intègre un thésaurus du domaine médical.

La plupart des approches considère chaque mot de la requête isolément des autres termes de la requête. Ils vaut mieux choisir des mots qui sont reliés à la requête qu'aux mots individuels de la requête. Autrement dit, ils calculent la relation entre un mot et la requête dans son ensemble, et choisissent à utiliser les mots les plus fortement reliés. Ils montrent que cette approche est meilleure que de faire expansion de mots. Chapitre V : Le Web sémantique Introduction Le nombre important et sans cesse croissant des documents de tout type sur Internet rend de plus en plus indispensable la possession d’un outil de recherche avancé qui permet d’obtenir des résultats pertinents.

28

Les moteurs de recherche traditionnels se basent sur l’occurrence d’un mot dans un document, il s’en suit que ces moteurs fournissent des documents non pertinents. Une approche plus judicieuse est d’introduire la notion du sens. Il suffirait alors d’un mot pour récupérer les termes qui ont une relation logique avec ce mot (les synonymes, les antonymes, etc.). Les résultats seraient donc mieux ciblés et on obtiendrait certainement moins de résultats mais dont la plupart sont susceptibles d’être intéressant s pour notre requête. Il faut noter que le problème de recherche de l’information est intimement lié à la structure des documents cibles de la recherche. La difficulté de la recherche sur la vision actuelle d’internet émane du fait que la plupart des documents sur le web sont en html. Or les documents html ont le défaut d’avoir un contenu non structuré. Seule la mise en page est structuré en balises html prédéfinies. Mais ces balises ne portent aucune information sur le contenu du document. Avantages Le Web sémantique est la continuation logique du Web actuel :

• Il comprend des documents structurés selon un formalisme permettant le traitement automatique de ces documents par des logiciels. On arrivera donc à générer, traiter et échanger des documents grâce à des logiciels. Dans le Web sémantique, la conception du document est donc une étape cruciale.

• De plus, des moteurs d’inférences pourront être mis en place pour raisonner sur les relations logiques qui peuvent être mis en place entre les différents documents.

• Ainsi même des données non explicites mais déductibles de documents existants, seront générés automatiquement, sans intervention humaine. Ceci est d’autant plus intéressant que la quantité de documents est grande. Pour parvenir à ces fonctionnalités, il faut d’abord structurer les documents.

Les Langages Web Sémantique Parmi les langages Web, il y a :

• XML : Resource Description Framework, est un modèle de données • RDF : Le langage XML pour, eXtensible Markup Language. C’est un des dialectes

XML. RDF est un outil fondamental du Web Sémantique: il permet de définir des métadonnées

• OWL (Web Ontology Language) et Ontologies : Il offre une grand e souplesse dans la définition des relations. N(Exemple : on peut préciser qu’une propriété est l’inverse de l’autre, ce qui permet d’inférer des relations non explicites. Par exemple « A est le père de B » nous dit également que B est fils de A. Ceci paraît trivial, mais en informatique, il faut établir ce genre de raisonnement de base afin d’avoir des informations traitées « intelligemment ».

XML • Il est basé sur les balises, seulement en XML toutes les balises doivent être fermées.

Cette rigueur facilite le traitement automatique d’un document.

29

• L’intérêt premier de XML est de séparer le fond (le contenu) de la forme (le contenant ou la mise en page).

• XML est un métalangage : il permet de décrire un vocabulaire et une grammaire associée selon un certain formalisme.

• La structure d’un document XML est définie par une DTD (Document Type Definition). La DTD peut être écrite dans un document à part puis référencée dans le document XML ou peut être directement intégrée dans ce dernier.

1. Exemple : une bibliographie <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Élément racine --> <biblio> <!-- Premier enfant --> <livre> <!-- Élément enfant titre --> <titre>Les Misérables</titre> <auteur>Victor Hugo</auteur> <nb_tomes>3</nb_tomes> </livre> <livre> <titre>L'Assomoir</titre> <auteur>Émile Zola</auteur> </livre> <livre lang="fr"> <titre>Le rouge et le noir</titre> <auteur>Stendhal</auteur> <nb_tomes>2</nb_tomes> </livre> </biblio> Cet exemple nous renseigne sur :

• Les premières lignes forment le prologue, constitué dans l'exemple précédent de la déclaration XML, et éventuellement d'une déclaration de type de document (une DTD) ;

• L'élément biblio est notre élément racine (en anglais : document element) ; il est constitué de trois éléments livre. Dans chacun d'entre eux nous retrouvons la même composition, c'est-à-dire : un élément titre, un élement auteur et éventuellement un élément nb_tomes. L'élément livre, de plus, a un attribut lang ; De même :

30

1. version : version du XML utilisée dans le document, 1.0 en ce qui nous concerne (la dernière version du langage, 1.1, date de février 2004 mais ne change rien quant à ses bases) ;

2. encoding : le jeu de codage de caractères utilisé. Le jeu de caractère standard pour la France est le ISO-8859-1 il a tendance à être remplacé par l'ISO-8859-15 en attendant la généralisation de l'Unicode. Par défaut, l'attribut encoding a la valeur UTF-8. Cela permet à l'ordinateur de "savoir" quel caractère il doit afficher en réponse aux combinaisons de 1 et de 0 que contient le fichier sur le disque dur ; 2. Déclaration de type de document (DTD)

Cette déclaration, lorsqu'elle est présente, permet de définir la structure du document. Elle peut être de deux types, externe ou interne. Exemple de déclaration de type de document :

< !DOCTYPE biblio SYSTEM « biblio.drd »>

3. Les commentaires En XML, les commentaires se déclarent de la même façon qu'en HTML. Ils commencent donc par <!-- et se terminent par -->. Ils peuvent être placés à n'importe quel endroit tant qu'ils se trouvent à l'extérieur d'une autre balise. 4. Règles sur les éléments Un élément permet de définir à l'aide d'expressions quels seront les fils possibles d'un élément et l'ordre dans lequel ils apparaissent. < !ELEMENT element exp>

Les expressions utilisent : • le mot EMPTY qui signifie un contenu vide.

o < !ELEMENT personne EMPTY> • un sous élément qui précise le fils de élément

o < !ELEMENT auteur (nom)> • des séquences à l'aide de la virgule exp1 , exp2 :

l'expression exp1 suit l'expression exp2. • des répétitions à l'aide

31

o du point d'interrogation exp? qui signifie 0 ou 1 occurrence de exp

o de l'étoile exp* qui signifie 0 ou plusieurs occurrences de exp

o le plus exp+ qui signifie au moins une occurrence de exp

• la disjonction exp1 | exp2 qui signifie soit exp1 soit exp2 • les parenthèses ( et ) qui permettent de grouper des sous-

expressions. • le mot ANY qui signifie n'importe quel contenu.

o < !ELEMENT personne ANY> • le mot #PCDATA qui signifie un contenu textuel. (Parsed

Character Data ou données textuelles analysées : analysées signifie ici que si des appels d'entités s'y trouvent, ils seront réalisés). : < !ELEMENT nom (#PCDATA)>

o Lorsque d'une déclaration est sous la forme (#PCDATA|exp)* alors l'élément peut contenir à la fois des données textuelles et des éléments. On parle alors de contenu mixte.

Exemple d’un DTD La déclaration de type est réalisée à l'interne, c'est-à-dire dans le document lui-même.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cv [ <!ELEMENT cv (etatcivil,formation*)> <!ELEMENT etatcivil (nom, prénom,date,lieu)> <!ELEMENT formation (titre,date,lieu,mention?,description?)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prénom (#PCDATA)> <!ELEMENT date (#PCDATA)> <!ELEMENT lieu (#PCDATA)> <!ELEMENT année (#PCDATA)> <!ELEMENT titre (#PCDATA)> <!ELEMENT mention (#PCDATA)> <!ELEMENT description (#PCDATA)> ]>

32

<cv> <etatcivil>

<nom>Hamiche</nom> <prénom>Khaled</prénom> <date>12 janvier 1957</date> <lieu>Oran</lieu>

</etatcivil> <formation>

<titre>Baccalauréat</titre> <date>12 juin 1975</date> <lieu>Alger</lieu> <mention>Passable</mention>

</formation> </cv>

Règles sur les attributs La déclaration des attributs se réalise comme suit :

<ATTLIST element1 declaration1 element2 declaration2 ............. >

La déclaration est la donnée d'un nom d'attribut, suivi d'un type et d'une qualification. Les types possibles sont :

• CDATA : des données textuelles (non analysées) • NMTOKEN (NMTOKENS) : une unité (ou une liste d'unités) lexicale(s)

nominale(s) qui est un nom Xml pouvant commencer par un chiffre ou un symbole.

• ID un nom Xml qui devra avoir une valeur unique dans le document pour tous les attributs ID. La valeur est un nom xml qui ne peut donc pas commencer par un chiffre.

33

• IDREF (IDREFS) un nom Xml qui devra prendre pour valeur parmi les les valeurs prises par les attributs ID du document (Une liste de noms Xml...).

Nous reviendrons par la suite sur les notions d'entités. La qualification dans la déclaration peut prendre les valeurs suivantes :

• #IMPLIED qui signifie optionnel • #REQUIRED qui signifie obligatoire • #FIXED qui signifie constant (intérêt assez limité...) • la valeur par défaut donnée entre guillemets

Lecture

William B. Frakes and Ricardo Baeza. Information Retrieval: Data Structures and Algorithms, -Yates, Prentice Hall, 1992. M.Boughanem : Université de Toulouse. Université Paul Sabatier de Toulouse; Laboratoire IRIT (plusieurs contributions dans le domaine de la RI)). Mustapha Baziz: indexation conceptuelle guidée par ontologie

34

Pour la recherche d'information, Thèse doctorat, Université de Toulouse. Université Paul Sabatier de Toulouse. Gaussier et al., 03] : Eric Gaussier, Christian Jacquemin, & Pierre Zweigenbaum. Traitement automatique des langues et recherche d'information. In Éric Gaussier and Marie-Hélène Stefanini, editors, Assistance intelligente à la recherche d'informations, chapter 2, pages 71-96. Hermès-Lavoisier, Paris, 2003 Salton, 83] : Salton, G., & McGill, M.. Introduction to Modern Information Retrieval. McGraw-Hill, New York, 1983. Voorhees, 93] : E. Voorhees, "Using WordNet to Disambiguate Word Senses for Text Retrieval", Proceedings of the 16thAnnual Conference on Research and Development in Information Retrieval, SIGIR'93, Pittsburgh, PA, 1993