Vous êtes sur la page 1sur 32

RICM 4

` et recherche dinformation
HMUL8R6B: Acces

Indexation, representation

Massih-Reza Amini
Universite Joseph Fourier
Laboratoire dInformatique de Grenoble
Massih-Reza.Amini@imag.fr

2/32

Introduction

Representation

Indexation

Objectifs du module
`
q Lobjectif de cours est dintroduire les principaux modeles
en Recherche dInformation (RI).
et algorithmes utilises

q Nous nous interesserons


en particulier a` :

1. Lindexation et la representation
des documents

2. Les modeles
standard de la RI
3. La RI sur le web

q Projet : moteur de recherche texte


q Cours base sur louvrage :

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

3/32

Representation

Introduction

Indexation

Les faits marquants de levolution


de RI
RI sta6s6que
1959

1re confrence SIGIR


1978

LDA
2002

1re confrence ECIR


1979
1er systme RI
< 1950

1950

Modle informa6onnel
2010
Modle de langue
1998
LSA
1re confrence CORIA
1990
2004
Google
1998

1er livre de Salton


1968

1960

1970

Inven6on mot RI
1950

1980

1990

MIB
1977
RI vectoriel
1965

RI probabiliste
1960
Massih-Reza.Amini@imag.fr

Dbut OKAPI
1983

2000

2010

BM25
1994
PLSA
1998

1er Modle Learning to Rank


1989

1re confrence ICTIR


2007
DFR
2002
` a` linformation
RICM4, Acces

4/32

Representation

Introduction

Indexation

Indexation et representation
d1

Collection de documents

Reprsentation
de documents

di

dn

d2

d1

d5
d6

dj

Reprsentation dans
lespace des termes

d3
d4
d8
dN

Vocabulaire
Prtraitements
linguistiques

Indexation
de termes

t1

d1 d4 d101

t2

d2 d7

t3

d1 d31

.
.

.
.

Termes du
vocabulaire
Massih-Reza.Amini@imag.fr

Index
invers

` a` linformation
RICM4, Acces

5/32

Introduction

Representation

Indexation

Pretraitements
linguistiques : segmentation

Segmentation (en anglais tokenisation) consiste a` separer


une
`
ements

suite de caracteres
en el
semantiques,
ou mots :
linformation donne sens a` lesprit
` segmentation l, information, donne, sens, a,
` l, esprit
Apres
soit 7 mots mais seulement 6 types.

Un type de mot est la classe de tous les mots ayant la meme

`
sequence
de caracteres.

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

6/32

Introduction

Representation

Indexation

Pretraitements
linguistiques : segmentation

q Une bonne segmentation depend


de la prise en compte

de la langue des textes traites.

des specificit
es
q Pour certaines langues asiatiques comme par exemple le

par
chinois, les mots dans un texte ne sont pas separ
es

des espaces, la segmentation est dans ce cas une tache


ardue.

q Pour des langues indo-europeennes


la tache
de
puisque lespace, et les
segmentation est plus aisee
` indication de
signes de ponctuation donnent une premiere

ements

separation
entre les differents
el
lexicaux.

Neanmoins,
chaque langue de ce groupe linguistique a sa

specificit
e propre.

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

7/32

Introduction

Representation

Indexation

Pretraitements
linguistiques : segmentation
q Par exemple pour le francais, nous avons
lexicaux a` trait dunion comme chasse-crois

q Les composes
e,

peut-etre,
rendez-vous, etc.
lexicaux a` apostrophe comme jusquou,
q Les composes
`
aujourdhui, prudhomme, etc.

q Les expressions idiomatiques comme au fait, poser un lapin,


tomber dans les pommes, etc.
comme Gadzarts (les gars des Arts et
q Les formes contractees

Metiers),
Msieur, j, etc.
` P.-V., etc.
q Les sigles et les acronymes comme K7, A.R., CV, cad,

q Ce probleme
devient meme
extreme
avec lallemand, ou`
secrivent

les noms composes


sans espace; par exemple :
Rindfleischetikettierungsuberwachungsaufgaben
ubertra

gungsgesetz
Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

8/32

Introduction

Representation

Indexation

Pretraitements
linguistiques : segmentation

q Pour les langues europeennes,


differents
logiciels de
segmentation commerciaux existent.
q Le but de certains de ces logiciels est de faire une analyse
du texte en associant aux mots dune phrase
plus poussee
leur fonction grammaticale.

q La segmentation dans ces cas est une etape


preliminaire
a`
cette analyse. On peut citer ici le logiciel TreeTagger qui
` et est couramment utilise pour cette
est en libre acces

tache
:
http://www.ims.uni-stuttgart.de/projekte/
corplex/TreeTagger/.

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

9/32

Introduction

Representation

Indexation

Pretraitements
linguistiques : normalisation
q La normalisation de mots est le processus qui transforme

tous les mots dune meme


famille sous une forme normale
ou canonique de facon a` ce que lappariement entre les
et ceux de lindex puissent avoir lieu,
termes dune requete

et ce malgre les differences


qui peut y avoir entre les

sequences
de caracteres
de leurs mots associes.

P.V., P.-V. et PV seront mis sous meme


forme normale
`
q Les regles
de normalisation varient suivant les deux types
de normalisation surfacique ou textuelle et normalisation
linguistique

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

10/32

Introduction

Representation

Indexation

Pretraitements
linguistiques : normalisation
textuelle

La normalisation textuelle rend les mots dune meme


famille
sous leur forme canonique en effectuant quelques

`
transformations superficielles sur les sequences
de caracteres
de ces mots.
`
a` lexemple ci-dessus,
q Les ponctuations. La regle
de base appliquee
et qui concerne tous les acronymes, est denlever les points et les traits
dunion apparaissant dans les mots.

q La casse. Une strategie


classique est de reduire
certaines lettres en

eraliser

minuscules. Cette strategie


ne peut pas se gen
a` cause de
certains noms propres (Blanc, Noir) et des acronymes.
`
consiste gen
eralement

q Les accents. La regle


appliquee
a` enlever les
diacritiques sur tous les mots (par exemple ambigue devient ambigue
qui devient foret).
ou foret

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

11/32

Introduction

Representation

Indexation

Pretraitements
linguistiques : normalisation
linguistique

La normalisation linguistique consiste a` ramener un mot flechi


sous sa forme canonique.

q La racinisation consiste a` regrouper les differentes


variantes

morphologiques dun mot autour dune meme


racine (en anglais stem).
e repose sur un ensemble de regles
`
Ce proced
pour supprimer les

flexions et les suffixes des mots, et il est fortement dependant


de la

langue utilisee.
http://snowball.tartarus.org/algorithms/french/
stemmer.html
pour enlever les
q La lemmatisation fait une analyse linguistique poussee
variantes flexionnelles des mots afin de les ramener sous leur forme
ou encyclopedique.

lemmatisee

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

12/32

Representation

Introduction

Indexation

Pretraitements
linguistiques : Filtrage

q Le filtrage supprime les mots qui tendent a` etre


presents

ee
dans tous les documents dune
avec une frequence
elev
collection et qui napportent que peu dinformation sur le
contenu dun document.

q Les 42 mots les plus frequents


(et peu informatifs)

presents
dans la collection de Wikipedia
francais :
de
des
au
qui
quel
ou

la
d
dans
que
quelle
se

le
les
par
avec
s
sont

et
est
pour
son
pas
aux

en
un
sur
plus
n
qu

l
une
date
se
je
sa

du
il
a
sans
y
elle

Sac-de-mots : inform, don, sens, esprit


Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

13/32

Introduction

Representation

Indexation

Quelques statistiques sur la collection de

Wikipedia
francais pretrait
ee

Variables
# de documents de la collection
# total doccurrences des mots

Symboles
N
M

# moyen de mots par document

sur le disque
Taille de la collection segment
ee
# de types de mots
` racinisation
# de types de mots apres
# de termes du vocabulaire
# moyen de termes par document

sur le disque
Taille de la collection pretrait
ee

Massih-Reza.Amini@imag.fr

My
MNor
V

Valeurs
1 349 539
696 668 157
416
4.6 GB
757 476
604 444
604 244
225
2.8 GB

` a` linformation
RICM4, Acces

14/32

Representation

Introduction

Indexation

Les deux lois de base en RI


q On remarque dabord la grande taille du vocabulaire de la collection. Le
et le Grand Robert en contient
Petit Robert contient 60, 000 entrees
75, 000, le releve le plus exhaustif montre que la langue francaise
` 700, 000 mots. La question ici est alors de
contiendrait a` peu pres

savoir pourquoi y-a-t-il un si grand nombre de mots differents


(757, 476)

dans le Wikipedia
francais?
q On note ensuite que le filtrage des documents par lanti-dictionnaire,

constitue des 200 mots vides, a reduit


le nombre moyen doccurrence
` de 45%
de mots dans les documents de 416 a` 225. Autrement dit, pres

des occurrences de mots dans les textes de Wikipedia


correspond aux

200 mots les plus frequents


de la collection. Et on voit que leur filtrage
`
` de 39% (de 4.6 GB a` 2.8 GB).
allege
lespace disque de pres

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

15/32

Representation

Introduction

Indexation

Loi de Heaps
La loi de Heaps stipule que la taille du vocabulaire (V ) crot

exponentiellement en fonction du nombre de mots presents


(M).
dans une collection donnee
V = K M
700000
600000
500000
400000
V
300000
200000
100000
0
0

Massih-Reza.Amini@imag.fr

1e+08 2e+08 3e+08 4e+08 5e+08 6e+08 7e+08


M
` a` linformation
RICM4, Acces

16/32

Representation

Introduction

Indexation

Loi de Zipf

La loi de Zipf specifie


que la frequence
doccurrence fc(m) dun
mot m dans une collection de documents est inversement
proportionnelle a` son rang :
m, fc(m) =

18
16
14

ln(fc)

12
10
8
6
4
2
0
0

10

ln(rang)

Massih-Reza.Amini@imag.fr

12

14

16

18

rang(m)
rang
1
2
3
4
5
6
7
8

mot
de
la
le
et
en
l
du
des

frequence
36, 875, 868
16, 565, 726
12, 639, 034
11, 587, 487
10, 885, 221
8, 937, 203
8, 541, 846
8, 302, 026
` a` linformation
RICM4, Acces

17/32

Introduction

Representation

Indexation

Exercices

On suppose que la presence


dun mot dans un document est le resultat
du

tirage aleatoire
avec remise dans lensemble des My differents
types de mots
de la collection de documents.

q Soit Xk la variable aleatoire


binaire correspondant au resultat
de
enement
`

e tire lors du tirage.


lev
Ek : le k ieme mot le plus frequent
a et
1
Montrer que P(Xk = 1) = k ln(M
.
y)
Indication : On suppose que

Z r
r
X
dx
1
par
est approchee
= ln r
i
1 x
i=1

q Soit d un document de longueur n (en nombre de mots). On cherche a`

calculer le nombre moyen de fois ou` le k ieme mot le plus frequent


de la
collection apparat dans d. Montrer que la somme Sk de n variables

Xk ,i , i {1, ..., n}, independantes,


exprimant chacune le resultat
de
enement
`

lev
Ek , suit une loi binomiale dont on precisera
les
`

parametres.
En deduire
lesperance
de Sk .

q Pour un document de la collection Wikipedia,


quel serait le nombre

moyen dapparitions du mot le plus frequent,


de, dans un document de

taille 416 mots ? Comparer ce resultat


avec le nombre moyen
de de dans un document de la collection (27).
dapparitions observees
Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

18/32

Introduction

Representation

Indexation

Exercices

a une
On suppose que le 50ieme mot le plus frequent
dune langue ` donnee
probabilite dapparition de 0.02 dans nimporte quelle collection de cette
langue. Soit C` un corpus de documents de la langue ` contenant 10, 000

mots differents.
q Quel est le rang dun mot qui apparat 40 fois dans C` ?

q Dans C` , combien de mots ont une frequence


dapparition egale
a` 10 ?

q Pour une collection de documents avec une constante de Zipf egale


a`

, quel est le dernier rang r a` partir duquel des mots differents


peuvent

avoir une meme


frequence
?

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

19/32

Introduction

Representation

Indexation

Representation
vectorielle des docs
` vectoriel (ou Vector Space Model), propose par
q Le modele

Gerard Salton, definit


la representation
documentaire

dans differentes

`
communement
utilisee
taches
de lacces
a` linformation.

q Avec cette representation


on associe a` chaque document
d dune collection C, un vecteur d, dont la dimension
correspond a` la taille du vocabulaire. Lespace vectoriel
e est donc un espace vectoriel de termes dans
consider
a` un terme de la
lequel chaque dimension est associee
collection.
d C, d = (wid )i{1,...,V }

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

20/32

Representation

Introduction

Indexation

Ponderations
de termes les plus usuelles

d C, i {1, .., V }, wid = nd ptf pdft


ti ,d
i
ptf
pdft
nd
ti ,d

tfti ,d
1+ln(tfti ,d )

1+ln(moy tf (d))

idfti

1 + ln(tfti ,d ) si tfti ,d > 0,


0
sinon.
tf
0.5 + 0.5 ti ,d
tf
maxd
(
1 si tfti ,d > 0,
0 sinon.

Massih-Reza.Amini@imag.fr

max{0, ln

1
1
kdk

Ndfti

dfti

= P1V

i=1

1
(Chard ) , 0

wid

<<1

` a` linformation
RICM4, Acces

21/32

Representation

Introduction

Indexation

Exercice : Cest quoi lidf ?

par une variable aleatoire

Lentropie de Shannon dune source, represent


ee
(v .a.) X prenant b valeurs differentes,
ee
par cette source. Formellement, sur un ensemble
est la quantite dinformation contenue ou delivr

par:
S = {x1 , ..., xn } contenant n observations qui sont chacune une realisation
de X , cette entropie est estimee

Hb (X ) =

n
X

P(X = xi ) logb (P(X = xi ))

i=1

erien,

Dans la suite de cet exercice on ne considerera


que le logarithme nep
puisque tout logarithme dune base
quelconque b R
+ peut sobtenir en fonction de ce dernier.

dune variable
Soit C = {dj }N
` chaque document dj C est la realisation
j=1 une collection de N documents, ou

aleatoire
D suivant une loi de probabilite uniforme. Montrer dans ce cas que lentropie de D est :

H(D) = ln

1
N

Dans le cas ou` lon dispose de deux sources X et Y , lentropie restante provenant de la v .a. X lorsque lon connat
par :
parfaitement Y , sappelle lentropie conditionnelle, H(X | Y ), et est calculee
H(X | Y ) =



P(X = xj | Y ) ln P(X = xj | Y )

j=1

a` la collection C sont des realisations

On suppose que les termes du vocabulaire V = {ti }V


dune v .a.,
i=1 associe
` le sous-ensemble Ct C contenant dft documents dont chacun contient le terme ti V.
T , et on considere
i
i
Dans le cas ou` les documents de Ct suivent une loi uniforme, exprimer lentropie conditionnelle H(D | T = ti ) en
i
fonction de df(ti ) et de idft .
i

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

22/32

Introduction

Representation

Indexation

Representation
vectorielle des docs (2)

permet davoir
La representation
vectorielle adoptee
`

:
directement acces aux outils mathematiques associes
reduction

distances, similarites,
de dimensions, ...
Exercices

q Chaque document est represent


e par un tableau a` V

dimensions contenant les poids (coordonnees)


des termes

(types, mots) ; ecrire


un algorithme qui calcule le produit
scalaire entre 2 documents
q Quelle est la complexite dun algorithme qui calcule le
produit scalaire entre un document et tous les autres
documents de la collection ?

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

23/32

Representation

Introduction

Indexation

Une representation
creuse !
La majorite des termes de la collection napparaissent pas dans
un document donne ; chaque document a donc la majeure
nulles ; un gain despace peut etre

partie de ses coordonnees

nulles
obtenu en ne representant
pas ces coordonnees

Exemple de representation
creuse :

int l

TabTermes int[l]
document d
TabPoids float[l]

(long. du doc. (types))


(indices des termes)
(poids des termes)

edent

Reprendre lexercice prec


avec cette representation

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

24/32

Introduction

Representation

Indexation

Index inverse
qui fait correspondre chaque
q La structure de donnees
terme du vocabulaire a` la liste des documents qui le
contiennent est la facon la plus rapide pour trouver un
donnee
dans une collection de
terme dune requete
index inverse.

documents. Cette structure est appelee


les plus utilisees

q Les deux types de structure de donnees

pour la construction de lindex inverse sont des tables de


hachage ou des arbres.
`
q Pour un meilleur rendement, les systemes
de recherche
eralement

mettent gen
le vocabulaire et une partie des

listes des identifiants de documents dans la memoire


vive,

sur disque.
les autres informations etant
stockees

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

25/32

Representation

Introduction

Indexation

Construction de lindex inverse : cas statique


t2

Extrac,on

t4

t5

d1
t1

t2

t4

t1

d2
t5

t2

t1

t3

d3

Collec,on
Massih-Reza.Amini@imag.fr

terme

Iddoc

t2
t4
t5
t1
t2
t4
t1
t5
t2
t1
t3

1
1
1
2
2
2
2
3
3
3
3

Trie
terme

t1
t1
t1
t2
t2
t2
t3
t4
t4
t5
t5

Regroupement

Iddoc
2
2
3
1
2
3
3
1
2
1
3

terme; df

Liste de docs; 6

t1 ; 2

2; 2

3; 1

t2 ; 3

1; 1

2; 1

t3 ; 1

3; 1

t4 ; 2

1; 1

2; 1

t5 ; 2

1; 1

3; 1

3; 1

Indexeur
` a` linformation
RICM4, Acces

26/32

Introduction

Representation

Indexation

Construction de lindex inverse : cas statique

Dans le cadre dune collection statique, 3 etapes


principales

regissent
la construction du fichier inverse :
1. Extraction des paires didentifiants (terme, doc), passe
` sur la collection
complete
2. Tri des paires suivant les id. de terme, puis les id. de docs

3. Regroupement des paires pour etablir,


pour chaque terme,
la liste des docs

`
Ces etapes
ne posent aucun probleme
dans le cas de petites

collections ou` tout se fait en memoire


Quid des grandes collections ?

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

27/32

Representation

Introduction

Indexation

Cas de memoire
insuffisante
Il faut dans ce cas stocker des informations temporaires sur
disque

Trois etapes
:

1. Collecte des paires TermId-DocId et ecriture


dans un
fichier
2. Lecture par blocs de ce fichier, inversion de chaque bloc et

ecriture
dans une serie
de fichier

le fichier inverse
3. Fusion des differents
fichier pour creer
Algorithme associe : Blocked sort-based indexing (BSBI)

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

28/32

Introduction

Representation

Indexation

Lalgorithme BSBI (1)


1. n 0
e traites)

2. Tant que (tous les docs nont pas et


3. faire
4.

n n+1

5.

block ParseBlock()

6.

BSBI-Invert(block)

7.

WriteBlockToDisk(block,fn )

8. Fin tant que


9. MergeBlocks(f1 , ..., fn ;fmerged )

Massih-Reza.Amini@imag.fr

` a` linformation
RICM4, Acces

29/32

Introduction

Representation

Indexation

Lalgorithme BSBI (2)


Linversion, dans BSBI, consiste en un tri sur les identifiants de
cle)
et les identifiants de documents
termes (premiere

Le resultat

(deuxieme
cle).
est donc un fichier inverse pour le
bloc lu. Complexite en O(T log T ) ou` T est le nombre de paires

terme-document (mais etapes


de lecture et de fusion peuvent

etre
plus longues)
Exemple
t1 = brutus, t2 = caesar, t3 = julius, t4 = kill, t5 = noble
t1 : d1 , d2
t2 : d2 , d3
t3 : d 4
Massih-Reza.Amini@imag.fr

t1 : d5
t2 : d5 , d6
t3 : d7

t2 : d8
t4 : d8
t5 : d8
` a` linformation
RICM4, Acces

30/32

Representation

Introduction

Indexation

cas distribue
Index inverse:

J-R

A-I

J-R

Serveur

Serveur

S-Z

terme

Liste de docs

J-R

Regroupement

A-I

A-I

S-Z

S-Z
A-I

J-R
S-Z

Collec&on

Massih-Reza.Amini@imag.fr

Analyseurs

Inverseurs

` a` linformation
RICM4, Acces

31/32

Introduction

Representation

Indexation

cas dynamique
Index inverse:
La technique de mise a` jour directe sur place
Vocabulaire
Index sur le
disque

Nouvelles Listes
en mmoire

Vocabulaire

Index actualis
sur le disque

Massih-Reza.Amini@imag.fr

t1 t2 t3 t4 t5

2 LD(t1) Libre 3 LD(t2) 1 LD(t3) 2 LD(t4) Libre 2 LD(t5)

t1

1 LD(t1)

t3

1 LD(t3)

t1 t2 t3 t4 t5

3 LD(t1) 3 LD(t2) 2 LD(t4) Libre 2 LD(t5) 2 LD(t3)

` a` linformation
RICM4, Acces

32/32

Introduction

Representation

Indexation

cas dynamique
Index inverse:
La technique de fusion
Vocabulaire
Index sur le
disque

Nouvelles Listes
en mmoire

Vocabulaire

Nouvel index cre


sur le disque

Massih-Reza.Amini@imag.fr

t1 t2 t3 t4 t5

2 LD(t1) 3 LD(t2) 1 LD(t3) 2 LD(t4) 2 LD(t5)

t1

1 LD(t1)

t3

1 LD(t3)

t1 t2 t3 t4 t5

3 LD(t1) 3 LD(t2) 2 LD(t3) 2 LD(t4) 2 LD(t5)

` a` linformation
RICM4, Acces