Cours – Master Data Science
Natural Language Processing
3. Modèle Vectoriel (Vector Space Model)
Afef Bahri
Maître Assistante ESC, NLP and Big Data expert
1
Plan
• Modèle en Recherche d’Information : Définition
• Modèles RI
• Modèle Booléen
• Modèle Vectoriel
• Bag Of Words
• TF-IDF
• Similarité cosine
2
Qu’est ce qu’un modèle de RI ?
• Un modèle est une abstraction d’un processus
• Les modèles mathématiques sont utilisés pour
formaliser les propriétés d‘un processus (prévision,
conclusion)
• Les modèles de RI se distinguent par le principe
d’appariement (matching)
• Modèles RI : processus de mesure de pertinence,
termes, utilisateurs, requêtes, interactions
3
Modèles RI
• Modèle booléen (±1950)
• Modèle vectoriel (±1970)
• Modèle LSI1 (± 1994)
• Modèle probabiliste (±1976)
• Modèle inférentiel (±1992)
• Modèle connexionniste (±1989)
• Modèle de langage (±1998)
1Latent semantic indexing 4
irit.fr/~Mohand.Boughanem/slides/RI/chap4-mod-bool-vect.pdf
Le modèle Booléen
• Le premier modèle de Recherche d’Informations
• Basé sur la théorie des ensembles
• Un document est représenté un ensemble de termes
• Ex : d1(t1,t2,t5); d2(t1,t3,t5,t6); d3(t1,t2,t3,t4,t5)
5
Le modèle Booléen
• Une requête est un ensemble de mots avec des
opérateurs booléens :
AND (∧), OR(∨), NOT (¬)
• Exemple :
Requête, q = t1 ∧ (t2 ∨ ¬t3)
Documents : d1(t1,t2,t5); d2(t1,t3,t5,t6); d3(t1,t2,t3,t4,t5)
• Appariement Exact basé sur la présence ou l’absence
des termes de la requête dans les documents
Appariement (q,d) = 1 ou 0
6
Inconvénient du Modèle Booléen
• Décision binaire : sélection d’un document
• Pas d’ordre pour les documents sélectionnés
• Difficulté de formulation de requêtes
• Collection volumineuse : nombre de documents retournés
peut être considérable
7
Modèle Vectoriel
• Proposé par Salton dans le système SMART (Salton, G. 1970)
• Le représente les documents et les requêtes comme des
vecteurs d'entités représentant des termes
• Les caractéristiques se voient attribuer une valeur numérique
qui est généralement une fonction de la fréquence des
termes
• L'algorithme de classement calcule la similarité entre les
vecteurs de document et de requête pour donner un score
de récupération à chaque document
8
Documents comme Vecteurs
• Chaque document d est vu comme un vecteur de valeurs,
une composante pour chaque terme
• On a donc un espace vectoriel
Les termes sont des axes
T (un terme = une dimension)
Les documents et les requêtes sont représentés dans
cet espace
9
Vector Space Model
• Soit un ensemble fini de n documents :
D = {d1, d2, ...,dj,...,dn}
et un ensemble fini de m termes :
T = {t1, t2, ...,ti,...,tm}
• Chaque document sera représenté par un vecteur
colonne de poids comme suit :
(w1j, w2j, w3j, . . wij , … wmj)t
wij est le poids du terme ti dans un document dj
10
Vector Space Model
• La collection de documents dans son ensemble sera
représentée par une matrice m x n terme-document
comme suit :
w11 w12 .... w1j ... w1n
w21 w22 .... w2j ... w2n
wi1 wi2 .... wij ... win
wm1 wm2 .... wmj ... wmn
• La requête est également représentée par un vecteur
11
Exemple : Vector Space Model
• On considère que les poids sont attribués en fonction de
la fréquence du terme dans le document
• La matrice terme-document est définie comme suit :
2 1 0
2 0 1
1 1 1
12
Modèle Bag of Words
• Nous considérons le texte comme une séquence de
mots
• Un sac de mots : compte combien de fois chaque mot
apparaît dans une phrase (ou un document)
https://towardsdatascience.com/a-simple-explanation-of-the-bag-of-words-model-b88fc4f4971 13
Normalisation des pondérations des termes
• Normaliser les vecteurs des documents : réduire
l'importance de la longueur des vecteurs de document
• La normalisation change tous les vecteurs à une
longueur standard
• Nous pouvons convertir les vecteurs de document en
unité de longueur en divisant chaque dimension par la
longueur totale du vecteur
14
Normalisation des pondérations des termes
• Normalisation de la matrice terme-document :
2 1 0
2 0 1
1 1 1
• On obtient :
0.67 0.71 0
0.67 0 0.71
0.33 0.71 0.71
• Les éléments de chaque colonne sont divisés par la
longueur du vecteur colonne 2
i
w
ij
15
Normalisation des pondérations des termes
An Algorithm for Clustering of Web Search Results 16
Pondération des termes
• Postulats
• Plus un document contient un mot donné, plus ce
document concerne un concept représenté par ce mot
• Moins un terme apparaît dans un document particulier
d'une collection, plus ce terme est discriminant
17
Pondération des termes
• Le premier facteur signifie simplement que les termes
qui apparaissent plus fréquemment représentent plus
fortement sa signification que ceux qui apparaissent
moins fréquemment
• Le deuxième facteur tient compte de la distribution des
termes dans la collection de documents
18
Pondération des termes
• Une mesure favorisant les termes apparaissant dans
moins de documents est requise
La fraction n/ni, donne exactement cette mesure
n est le nombre total de documents dans la collection
ni est le numéro du document dans lequel le terme i apparaît
19
Pondération des termes
• Comme le nombre de documents dans une collection est
généralement important
• Le logarithme de cette mesure est généralement pris
• Ce qui se traduit par la forme suivante de pondération du
terme de fréquence de document inverse (idf) :
20
Schéma de pondération Tf-idf
• tf : statistique spécifique au document qui mesure
l'importance du terme dans le document
• idf : est une statistique globale incluant la distribution
des termes dans la collection de documents
21
Tf-idf
22
TF-IDF
23
TF-IDF : exemple
• Document 1: The beautiful cherry blossoms in Japan.
• Document 2: Japan is beautiful in spring.
https://medium.com/@ashiddk95/tf-idf-term-frequency-inverse-document-frequency-algorithm-5b16ea86eeff 24
Etapes : texte -> vecteur
• Étape 1. Tokénisation : Cela extrait les termes individuels
(mots) du document, convertit tous les mots en
minuscules et supprime les signes de ponctuation. La
sortie de la première étape est une représentation du
document sous la d’un ensemble de termes
• Étape 2. Élimination des stop words : supprime les mots
qui apparaissent plus fréquemment dans la collection de
documents
25
Etapes : texte -> vecteur
• Étape 3. Stemming : réduire les termes restants à leur
racine linguistique, pour obtenir des termes d'index
• Étape 4. Pondération des termes : attribue des poids
aux termes en fonction de leur importance dans le
document, dans la collection ou une combinaison des
deux.
26
Exemple
Stemmed terms Document 1 Document 2 Document 3
inform 0 0 1
intellig 0 0 1
model 1 1 0
probabilist 0 1 0
retriev 0 1 1
space 1 0 0
technique 0 0 1
vector 1 0 0
27
Similarité de vecteurs : idée
• Documents « rapprochés » dans l'espace vectoriel parle
des mêmes choses
t3
d2
d3
d1
θ
φ
t1
d5
t2
d4
28
Distance Euclidienne
• La distance entre d1 et d2 est la longueur du vecteur |d1
– d2|.
Distance euclidienne
• Les documents courts seraient plus similaires les uns
aux autres en raison de leur longueur et non de leur
sujet
• Cependant, nous pouvons implicitement normaliser en
regardant les angles
29
Cosine Similarity
• Distance entre les vecteurs d1 et d2 capturée par le
cosinus de l'angle x entre eux
• NB : il s'agit de similitude, pas de distance
t3
d2
d1
θ
t1
t2
30
Similarity Measures
(dj , qk )
w ij wik
sim(dj , qk ) i 1
dj qk m m
w
i 1
ik
2
w
i 1
ij
2
31
Bibliographie
• https://www3.nd.edu/~dchiang/teaching/nlp/2017/notes/chapte
r10v1.pdf
• https://www.irit.fr/~Mohand.Boughanem/slides/RI/chap4-
mod-bool-vect.pdf
• https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&
doi=f3743501e41b6ec1e02505cbcfd2cd5f873d0683