Vous êtes sur la page 1sur 10

Techniques d'Indexation et de Recherche Multimédia

TD4
Questions de cours
Pourquoi un terme est-il considéré comme important pour un document?

A. Parce qu’il est rare dans le document

B. Parce qu’il est rare dans la collection

C. Parce qu’il est fréquent dans la collection et rare dans le document


Je soumets une requête t1 t2 ⋯tn. Quel est le tf de chaque terme dans le vecteur représentant
cette requête?
A. 1/n
B. 1

C. 1/√n

Dans la figure suivante, qu’obtient-on en projetant un vecteur sur l’axe d’un terme t ?

A. La norme du vecteur multipliée par le cosinus

B. L’idf du terme t

C. Le tf du terme t
Quel est le but de la normalisation ?

A. Unifier la taille des vecteurs décrivant les documents

B. Effacer les écarts entre les fréquences de termes dans un document

C. Utiliser une même représentation pour tous les documents

Comment caractériser un mot qui n’a aucun intérêt pour une recherche?

A. C’est un mot dont l’idf vaut 1

B. C’est un mot dont l’idf vaut 0

C. C’est un mot qui n’apparaît que dans un seul document

Qu’est-ce qui détermine le classement du résultat?

A. On calcule toutes les distances entre chaque paire de documents, et on trie.

B. On calcule la distance par rapport à un document de référence: la requête

C. Les documents qui contiennent le plus de termes sont classés en premier

Exercice 1
Voici quelques documents textuels très courts.
— A : “Le loup est dans la bergerie.“
— B : “Les moutons sont dans la bergerie.“
— C : “Un loup a mangé un mouton, les autres loups sont restés dans la bergerie.“
— D : “Il y a trois moutons dans le pré, et un mouton dans la gueule du loup.“
Voici les requêtes.
q1 : “loup et pré”
q2 : “loup et mouton”
q3 : “bergerie”
q4 : “gueule du loup”
Prenons le vocabulaire suivant : “loup”, “mouton”, “bergerie”, “pré”, “gueule”.
1. Donnez les vecteurs des documents :
v (𝐴) = [1, 0, 1, 0, 0], v (𝐵) = [0, 1, 1, 0, 0], v (𝐶) = [1, 1, 1, 0, 0], 𝑣(𝐷) = [1, 1, 0, 1, 1]
2. Donnez les vecteurs des requêtes:
v (𝑞1 ) = [1, 0, 0, 1, 0] , 𝑣(𝑞2 ) = [1, 1, 0, 0, 0] , 𝑣(𝑞3 ) = [0, 0, 1, 0, 0] , 𝑣(𝑞4 ) = [1, 0,
0, 0, 1]

3. Donnez, pour chaque document, le tf (fréquence d'occurrence du terme dans un


document) de chaque terme.
Fréquence des termes par document (tf) :
— Document A : loup (1), bergerie (1)
— Document B : mouton (1), bergerie (1)
— Document C : loup (2), mouton (1), bergerie (1)
— Document D : loup (1), mouton (2), pré (1), gueule (1)
4. Donnez les idf des termes (ne pas prendre le logarithme, pour simplifier).
Fréquence inverse des termes dans les documents (idf) : loup (4/3), mouton (4/3), bergerie
(4/3), pré (4), gueule (4)
5. En déduire la matrice d’incidence montrant l’idf pour chaque terme et le tf pour
chaque cellule.

6. Calculez le classement pour la requête:


q5. « bergerie et gueule »
Vecteur de la requête: v(q5)=[0,0,1,0,1]

Calcul des classements:

E(q5,A)=√2;E(q5,B)=√2;E(q5,C)=√3;E(q2,D)=√4.

Tous les documents sont mieux classés que D, alors que « gueule » est un terme plus
discriminant.

E(v1,v2)=racine((v11−v12)2+(v21−v22)2+⋯+(vn1−vn2)2−)
Exercice 2

Voici trois recettes.

Panna cotta (pc): Mettre la crème, le sucre et la vanille dans une casserole et faire
frémir. Ajouter les 3 feuilles de gélatine préalablement trempées dans l’eau froide.
Bien remuer et verser la crème dans des coupelles. Laisser refroidir quelques heures.

Crème brulée (cb): Faire bouillir le lait, ajouter la crème et le sucre hors du feu.
Ajouter les jaunes d’œufs, mettre au four au bain marie et laisser cuire doucement à
180C environ 10 minutes. Laisser refroidir puis mettre dessus du sucre roux et le
brûler avec un petit chalumeau.

Mousse au chocolat (mc): Faire ramollir le chocolat dans une terrine. Incorporer les
jaunes et le sucre. Puis, battre les blancs en neige ferme et les ajouter délicatement au
mélange à l’aide d’une spatule. Mettre au frais 1 heure ou 2 minimum.

Pour la création de l’index et les calculs de classement.

On prend pour vocabulaire les mots suivants : crème, sucre, œuf, gélatine. Tous les
autres mots sont ignorés.

1. Donnez la matrice d’incidence avec l’idf de chaque terme, et le tf de chaque


paire (terme, document).
Matrice d’incidence :
Crème apparaît dans 2 documents sur 3, idf=3/2; sucre dans 3 sur 3 (idf=1), œuf dans 1
sur 3 (idf=3) comme gélatine. On obtient:
pc cb mc
crème (3/2) 2 1 0
sucre (1) 1 2 1
œuf (3) 0 1 0
gélatine (3) 1 0 0
1. Donnez les normes de vecteurs représentant chaque document.

2. Donner en utilisant les normes les résultats classés par combinaison tf (on ignore
l’idf) pour les requêtes suivantes
1. crème et sucre
2. crème et œuf
3. œuf et gélatine
3. Donnez l’idf en appliquant le logarithme.

Etudions maintenant l’impact de l’idf. En prenant le logarithme, on obtient :

idf(crème)=log(1.5)=0,176

idf(sucre)=log(1)=0

idf(œuf)=log(3)=0,477

idf(gélatine)=log(3)=0,477

On remarque que l’IDF de “sucre” vaut zéro, ce qui revient à dire que ce terme ne sert
à rien dans une requête. Cela reflête le fait que “sucre” apparaît dans tous les
documents et que son pouvoir de discrimination est nul. C'est-à-dire, un terme qui a
une valeur de discrimination élevée doit être apparaître seulement pour un petit
nombre de documents. Un terme qui apparaît dans tous les documents n'est
pas discriminant.

4. Donnez la matrice des tf.idf, que remarquez-vous ?

Un inconvénient immédiat apparaît: le document mc a tous ses coefficients à zéro et


n’apparaîtra dans aucun résultat, même pour les requêtes sur le sucre. Pour pallier
ce défaut, on peut prendre pour l’idf non pas le log(N/Nt) mais log(1+N/Nt). Cela fait
partie des très nombreux petits réglages qui font la qualité d’un moteur de
recherche.
Exercice 3

Soit les documents suivants

1. Donnez le tableau documents- termes en réduisant la dimensionnalité avec :


• Nettoyage du corpus (ex. retrait des chiffres, correction orthographique,
harmonisation de la casse, …)
• Certains mots ne sont pas intrinsèquement porteurs de sens (ex. most) stopwords (Un
mot vide est un mot communément utilisé dans une langue, non porteur de sens dans
un document)
• Certains mots partagent la même racine (stemming) (ex. imaging vs. images)
• Certains mots sont synonymes ou recouvrent le même concept (ex. store vs. save)
• Certains mots apparaissent très souvent, d’autres très rarement (filtrage sur les
fréquences)

Le choix des seuils reste arbitraire.


2. En utilisant la pondération binaire comptabiliser la présence de chaque terme
dans le document, sans se préoccuper du nombre d’occurrences (de la
répétition)

3. Pour chaque document donner la fréquence des termes, comptabiliser alors le


nombre d’occurrence des termes.

4. Utiliser la normalisation simple pour les fréquences des termes. Alors, on


pondère la fréquence par le nombre de termes présents dans le document pour
tenir compte de la longueur
5. Donner l’IDF de chaque terme

Log(1), log(4)=0.602, …., log(4 /3)=0.125

6. Calculer le TF-IDF