More than Just Lines on a Map: Best Practices for U.S Bike Routes
Cours sur le traitement automatique des languesLa sémantique (III)
1. Cours sur le traitement
automatique des langues
La sémantique (III)
Violaine Prince
Université de Montpellier 2
LIRMM-CNRS
2. 2
Éléments
Origines du modèle vectoriel
Le modèle de Salton
Applications et limites en RI
Le modèle à famille génératrice:
L ’hypothèse du noyau
Les vecteurs sémantiques
Les vecteurs conceptuels
(introduction brève)
3. 3
Introduction
Les modèles numériques
La limite des représentations logiques:
Vérification de cohérence versus calcul du sens
Modèles calculatoires
Logiques multi-valuées
Réseaux de neurones
Logique floue
Modèle vectoriel
4. 4
Présentation brève
Logique multi-valuée:
Quelques valeurs (nombre fini et petit)
Tables de définition des opérateurs
Réseaux de neurones formels
Plusieurs cellules (nombre élevé)
Fonction de couplage
Logique floue
Espace de valeurs continu
Fonction de « fitness »
5. 5
Modèle vectoriel
Tout mot se représente par un vecteur
Composantes : éléments sur lesquels le mot est
projeté => différemment définis
Valeurs : « poids » de la composante dans la
constitution du sens du mot
M V
A1
A2
….
…..
An
Où les ai sont les valeurs
De la projection de V sur des
composantes
6. 6
Propriétés du modèle
Règles de composition interne
Somme de vecteurs : permet de représenter
l ’union des « sens » des mots correspondants
=> On peut représenter le vecteur d ’un ensemble
de mots, i.e, on peut calculer le sens d ’un
syntagme, d ’une phrase, d ’un texte.
Produit scalaire de vecteurs : permet de
représenter 2 choses
l ’intersection des « sens » des mots
correspondants
7. 7
Propriétés (suite)
Règles de composition interne
Produit scalaire de vecteurs :
Co-occurrence de termes (M1, M2)
=> on peut calculer M1 et M2 (au sens logique)
Différence de vecteurs (soustraction)
La divergence sémantique entre des éléments
Peut ne pas avoir de correspondant.
Vecteur nul : 0
Neutre pour l ’addition
8. 8
Propriétés (suite)
Vecteur nul:
Absorbant pour le produit scalaire
Ne correspond à rien linguistiquement.
Vecteurs négatifs:
Si V est le vecteur de M, -V n ’est PAS le vecteur
de l ’antonyme de M
Les vecteurs négatifs n ’étant pas interprétables,
on considère toujours la valeur absolue.
Règle de composition externe:
Produit V où est un réel: « renforcement » du
poids de V.
9. 9
Fonctions et distances
Barycentre et vecteurs moyens pondérés
V= V1 V2 ... Vn est le vecteur barycentre
des vecteurs V1, V2,…, Vn.
V=1V1 2V2 ... nVn où les i sont des
scalaires est un vecteur moyen pondéré, chaque
vecteur Vi pesant i.
=> important pour calculer, par exemple, le sens
d ’un groupe nominal prépositionnel :
« voile de bateau » : « voile » est le gouverneur
« bateau à voile » : « bateau » est le gouverneur
10. 10
Fonctions et distances
Distance entre deux vecteurs
Il existe plusieurs sortes de distance
Distance angulaire
V1
V2
Angle
Si 0 alors V1 V2, les « sens » des
éléments sont très
proches
11. 11
Angles de vecteurs
V1
V2
Vecteurs orthogonaux:
« sens » totalement divergents
V1
V2
Les vecteurs étant toujours
Interprétés dans le quart
Positif de l ’espace, c ’est
- (V1,V2) qui est considéré.
On prend toujours l ’angle modulo (0, /2)
12. 12
Norme et « similarité »
Vecteurs barycentres ou vecteurs moyens
pondérés normés:
Valeurs des projections sur les composantes
comprises entre 0 et 1.
Somme normée : V=V1V2 / ai=(ai1+ai2)/ V
Similarité (Salton):
Sim(A,B)=cos(A,B) = A . B/ A x B
13. 13
Origine du modèle vectoriel
Modèle de Salton (1968)
Informatique documentaire
Comment classer des documents (indexation)
Comment retrouver des documents
(recherche d ’information)
En fonction des mots qu ’ils contiennent
Fréquence d ’occurrence
14. 14
Importance des mots
Hypothèse de Salton :
La fréquence d ’apparition d ’un terme en
langage naturel est liée à son pouvoir de
représentation du contenu de ce texte.
Indexation automatique :
Analyse lexicale des documents et extraction
des termes significatifs de leur contenu (1)
Pondération des termes pour déterminer leur
degré de représentativité (2).
15. 15
Extraction des termes
représentatifs
Méthode
Lemmatiser le texte
Récupérer les lemmes -> lexies de
dictionnaires
Eliminer les lexies dont la catégorie est
fonctionnelle : prépositions, conjonction,
déterminants, pronoms, etc.
Sur le reste: essentiellement les noms
communs, les adjectifs, les verbes et les
adverbes.
16. 16
Extraction des termes
représentatifs
Séparer
• Catégories « nobles » : noms et verbes
• Catégories auxiliaires : adjectifs et adverbes =>
retriés (épithète, attributs, adverbes de temps et de
lieu).
Enlever les mots ordinaires et athématiques
(mots d ’usage courant).
Par complémentarité, les termes significatifs
sont conservés et représentent le document:
BASE DU DOCUMENT
17. 17
Pondération des termes
Dans la base d ’un document Dk, on calcule
la fréquence d ’occurrence tfki d ’un terme ti .
La pondération fournie par Salton (1990)pour
désigner l ’importance discriminatoire et
sémantique de ce terme est la suivante :
Wki = (log(tfki) + 1)/ (k=1
N(log(tfki) +1))
N est le nombre total de documents
considérés.
Quand il s ’agit d ’un document unique le
poids est de 1.
18. 18
Le modèle vectoriel de
Salton
Une base d ’indexation B extraite
comme indiqué précédemment
Une requête Q: Q est un ensemble de
termes tqi (dans laquelle on a fait le
même traitement que sur B)
Salton pose l ’hypothèse que:
On peut représenter chacun des termes
de B par un vecteur
B forme la base d ’un espace vectoriel.
19. 19
Le modèle vectoriel de
Salton
B, base de termes = {t1B, t2B, …, tnB}
A chaque tiB on associe un vecteur ViB de
dimension n, tel que ViB = (0 0……1……..0)
La ième composante du vecteur vaut 1, et 0
sinon.
{V1B, V2B, …,VnB} engendre un espace vectoriel
B. Le système {V1B, V2B, …,VnB} est libre, c ’est
donc une base.
20. 20
Le modèle vectoriel de
Salton
Soit Dj un document sur lequel on veut faire
une requête Q .
Dans l ’espace B, Dj est représenté par un
vecteur Dj = (dj1, dj2,…,djn) où chacun des
éléments correspond au poids du terme tiB de
la base B (et donc le poids de la composante
vectorielle ViB dans B). Ce poids est calculé
selon la formule précédente (en fonction de la
fréquence d ’occurrence du terme tiB dans Dj).
21. 21
Le modèle vectoriel de
Salton
De la même manière on considère que Q est
représenté dans l ’espace B par un vecteur :
Q= (q1,q2,…qn) où qi est le poids du terme tiB
(de la base) dans la requête Q.
L ’appariement de la requête et du document
se fait par le calcul de la similarité entre les
vecteurs Q et Dj qui est donnée par la formule
du cosinus (produit scalaire des vecteurs
normalisés).
22. 22
Particularités du modèle
vectoriel de Salton
Une base par « collection de documents »
La dimension peut varier
Les composantes peuvent varier
Base vraie
Représentation d ’un document par un
vecteur unique
Les poids des termes varient en fonction de
l ’état de la collection de documents => à
recalculer entièrement pour tout nouveau
document
23. 23
Particularités du modèle
vectoriel de Salton
Les termes qui ne sont pas dans la base ne
sont pas représentés
Les mesures permettent de constater la
pertinence d ’un document par rapport à
une requête et donc il s ’agit d ’une mesure
de pertinence pas d ’une mesure de
proximité thématique.
Le modèle de Salton a une base vectorielle
booléenne sur le critère : présent/absent.
24. 24
Modèle de Salton en
langage naturel
Représentations de la sémantique du langage
naturel :
La non représentation de tous les termes de la
langue est un problème.
=> Une base avec les 70000 mots d ’un
dictionnaire ?
Sinon que choisit-on comme base ?
Le nombre de productions en langue
(discours) est infini : N ->. Comment calcule
t-on les poids ? De plus, il est inaccessible.
25. 25
Modèle de Salton en
langage naturel
Représentations de la sémantique du langage
naturel :
La pertinence par co-occurrence de termes n ’est
pas le problème de la sémantique:proximité
thématique entre tiB et t(i+1)B? .
Une requête est appariée avec un document
contenant les mêmes termes qu ’elle. Comment
l ’apparier avec un document comprenant des
termes synonymes ? => fonctions lexicales.
26. 26
Modèle de Salton en
langage naturel
La syntaxe et la sémantique en langage naturel
ne sont pas indépendantes.
La voile du bateau et le bateau à voile donnent la
même requête Q={voile, bateau}= {bateau, voile}
Les fonctions syntaxiques analytiques donnent
des informations importantes sur le rôle
sémantique (casuel) des portions de textes.
Un sujet et un complément de manière n ’ont pas le
même poids dans un texte.
27. 27
En conclusion sur le
modèle de Salton
Hors recherche d ’information
Le modèle de Salton est impropre à la
représentation de la sémantique du langage
naturel, de manière générale.
Mais le modèle algébrique vectoriel peut être
conservé moyennant de pallier les défauts
observés.
28. 28
Le modèle à famille
génératrice
Démarche:
Il faut trouver une famille de termes en nombre
relativement faible telle que :
Elle puisse servir de base d ’index à tous les
autres termes de la langue
On représente ces termes sous forme de
vecteurs (booléens)
La famille de ces vecteurs est génératrice et
engendre un espace vectoriel L pour la langue.
29. 29
Le modèle à famille
génératrice
Hypothèse du noyau:
Certains termes sont à la fois termes, concepts et
concepts générateurs.Ils ont une capacité élevée
à engendrer les autres.
Linguistique : les universaux
Sciences sociales : hypothèse anthropologique
sur la nature des universaux.
30. 30
Le noyau
lexicologique:l ’initiative
Roget
En lexicologie: au XIXème siècle, une initiative a
été prise à Oxford de proposer un thésaurus de
la langue anglaise. (P. Roget)
On propose une hiérarchie de concepts.
On indexe tous les mots par rapport à cette
hiérarchie.
Exemple : le terme « vie » s ’indexe sur le
concept « existence », sur le concept « durée » ,
sur le concept « animé » et est aussi un concept.
31. 31
L ’initiative Roget
Autres exemples:
Le terme « papillon » n ’est pas un concept
de la hiérarchie.Il est indexé sur
« animal », « insecte », « beauté »,
« légèreté ».
Indexer un terme par rapport à un concept
signifie considérer que le concept
participe au sens de ce terme.
.
32. 32
L ’initiative Roget
Les concepts étant eux aussi des termes
ils s ’indexent les uns par rapport aux
autres.
Dans le thésaurus Roget, la hiérarchie
présentée comprend environ 1000
concepts, hiérarchisés en 6 niveaux, du
plus général au plus particulier.
.
33. 33
Le thésaurus Larousse
100 ans plus tard, les lexicologues
produisant le dictionnaire Larousse ont
cherché à dupliquer l ’initiative Roget pour
le Français.
Ils ont produit une hiérarchie à 873
concepts en 4 niveaux, et ont indexé tous
les mots — hors emprunts, noms d ’unités
ou noms spécifiques— présents dans le
dictionnaire Larousse.
.
34. 34
Les vecteurs sémantiques
En 1990 Chauché propose une utilisation
du thésaurus Larousse dans un modèle
vectoriel de représentation de la
sémantique.
Les vecteurs de la hiérarchie (les 873)
sont la famille génératrice G d ’un espace
vectoriel F pour le Français.
Chaque vecteur Ci de G représente le
concept Ci de la hiérarchie et s ’écrit de la
manière suivante:
.
35. 35
Les vecteurs sémantiques
Ci = (c1i, c2i,…, c873i) où cji = 1 si le
concept Ci s ’indexe sur le concept Cj de
la hiérarchie, et il vaut 0 sinon. En
particulier Cii = 1.
Exemple : on mettra des 1 pour le concept
de « vie » sur les composantes suivantes :
le vecteur de « existence », le vecteur de
« durée », le vecteur de « animé » et le
vecteur de « vie ».
.
36. 36
Les vecteurs sémantiques
On norme ensuite Ci pour que cij = 1
Remarque : la famille G n ’est pas libre
puisque les concepts s ’indexent les uns
par rapport aux autres. G n ’est pas une
base à proprement parler. S ’il existe une
famille libre Fl telle que Fl soit génératrice
de F alors:
Fl serait une vraie base de F
Dimension de F <873.
On ne sait pas trouver Fl !!!
.
37. 37
Les vecteurs sémantiques
On fait l ’hypothèse que L est un espace
vectoriel dans lequel on peut définir une
distance euclidienne.
Les lois de composition interne et externe
sont définies (voir début).
Tout terme t de la langue se projette sur G
et se voit calculer son vecteur
T= (t1, t2,…,t873) avec ti= 1 si Ci indexe t,
et ti= 0 sinon. Puis ce vecteur est normé.
.
38. 38
Les vecteurs sémantiques
Grâce aux lois de composition interne et
externe, on peut calculer les vecteurs de
segments (comprenant plusieurs termes).
En tenant compte des marqueurs
syntaxiques
Et des rôles syntaxiques et sémantiques
dans la phrase.
.
39. 39
Exemple
• Sur un groupe nominal prépositionnel N1
[prep] N2.
Le moulin à vent.
Analyse syntaxique :
GPREP
SN
PREP
SN
N à
DET N
Le moulin
vent
40. 40
Calcul d ’un vecteur de
groupe
La structure syntaxique donne:
Un rôle de gouverneur pour « moulin » =>
poids de moulin = 2.
La structure (det, N,« à », N) indique un rôle de
complément circonstanciel pour le deuxième
élément. => poids de « vent » = 0, 5.
On calcule le vecteur du groupe par:
V(groupe(moulin à vent)) = 2V(moulin)0,5 V
(vent) puis V(groupe (moulin à vent)) est
normé.
41. 41
Calcul d ’un vecteur de
phrase
On commence par calculer le vecteur de
chaque groupe, puis on calcule le vecteur
moyen pondéré de la phrase en fonction de
l ’importance des rôles syntaxiques.
Exemple :
Je mange une pomme verte.
42. 42
PH
GN GV
PRP
Je
SV GA
V
manger
GN A
SN
SN
DET N
un pomme
vert
V() = 2V(pomme)0,5V(vert)
V(g) = V(soi)
V(b)=
V(manger)
g
b
V(PH) = 8 V(g) 10 V(b)
6 V()
43. 43
Segments d ’ordre
supérieur
Le vecteur d ’un ensemble de phrases
(paragraphe, texte) est le barycentre des
vecteurs de phrases.
Si T= {PH1, PH2, …, PHn}
Alors T = V(PH1) V(PH2) … V(PHn)
De la même manière, si D est un ensemble
de textes :
D= {T1, T2, …, Tm} alors D = T1 T2 …
Tm.
44. 44
Effets de macro-
structuration
On peut, dans un texte, ou dans un ensemble de
textes, tenir compte d ’un effet « d ’accroche »
sémantique (ou non) d ’un sous-ensemble par
rapport à un autre en substituant au vecteur
barycentre un vecteur moyen pondéré.
Exemple: l ’introduction d ’un article est un sous-
texte pour lequel on peut estimer que son vecteur
« pèse plus » que celui d ’un sous-texte
quelconque du corps de l ’article. =>
catégorisation d ’un genre donné de documents.
45. 45
Les vecteurs
conceptuels
Variante du cas précédent.
Proposé par M. Lafourcade.
Divergence : au lieu d ’avoir un vecteur
booléen issu seulement du thésaurus, on
modifie tout vecteur de terme t (et de
concept) par le vecteur de texte T où T
est l ’ensemble des définitions de t.
46. 46
Les vecteurs
conceptuels
Soit t(init) le vecteur d ’un terme t défini
précédemment.
Dans des dictionnaires en ligne, t a un certain
nombre de définitions. Ces définitions
forment un texte.
Soit T le texte des définitions de t. Le vecteur
T est calculé à partir de l ’analyse syntaxique
de T et comme un vecteur moyen pondéré,
où les pondérations tiennent compte des
rôles dans une définition.
47. 47
Les vecteurs
conceptuels
Exemple :
Transmuter :
(def 1) action de transformer un matériau en un
autre.
Transformer est plus important que « action »
alors que la forme « N1 prep V(inf) » a
tendance à favoriser N1 par rapport à tout
autre élément après la préposition.
48. 48
Les vecteurs
conceptuels
t := t +T (fonction « générique »).
A la première occurrence, t vaut t(init), vecteur
initial.Puis à chaque fois que les textes de
définition sont modifiés, le vecteur t se modifie.
Par ailleurs, la hiérarchie du thésaurus est elle-
même modulée: au lieu d ’avoir les vecteurs Ci
définis comme précédemment,
Ci = Ci (init) +jajCj où les ai représentent des
poids issus de la distance ultramétrique dans
l ’arborescence.
49. 49
Divergences
Remarques :
Le vecteur de terme et le vecteur de
concept, pour un même mot qui se décline
dans les deux, ne sont pas confondus dans
le modèle des vecteurs conceptuels.
Le vecteur du terme t=« vie » est distingué du
vecteur du concept (c4: vie)
Alors qu ’ils le sont dans le modèle des
vecteurs sémantiques.
50. 50
Divergences
Les vecteurs de terme sont en évolution
permanente dans le MVC et sont statique
dans le MVS.
De nouveaux termes peuvent être
représentés par calcul de définition dans le
MVC, alors que ce n ’est pas le cas dans le
MVS.
51. 51
Divergences
En revanche, les vecteurs de MVS, bien
que plus pauvres, sont beaucoup plus
discriminants
Les vecteurs calculés par « apprentissage »
sur des sources textes sont très denses.
Ils sont aussi moins bruités
La qualité des sources d ’apprentissage peut
entraîner une surabondance d ’information.
52. 52
La qualification par
l ’application
En réalité, tout dépend de ce à quoi on veut
appliquer ces modèles
En catégorisation pure, MVS est
probablement plus sûr (précision) mais peu
prolixe(silence, faible rappel)
En découverte thématique, explication MVC
est plus riche (bruit mais très bon rappel).
53. 53
les avantages des modèles
vectoriels de la
sémantique
L ’espace L est beaucoup plus grand que
l ’ensemble des mots connus, ce qui fait que
l ’on peut y trouver des vecteurs de segments
de toutes tailles.
La sémantique y est cohérente: chaque fois
qu ’un texte est analysable, alors on peut lui
trouver un sens.
On peut inventer de nouveaux mots, il suffit
d ’être capable de les indexer ou d ’en donner
des définitions.
54. 54
En conclusion
Les modèles vectoriels expriment l ’aspect
relationnel de la sémantique: chaque mot est
défini par d ’autres et se relie à d ’autres.
C ’est le contraire d ’un aspect « essentiel » :
ce n ’est pas ce qu ’est un « mot en
soi »(définition ontologique).
Le vecteur ne capture que la relation, pas
l ’essence(monde), et le calcul du sens se fait
par des fonctions sur des relations évaluées.
55. 55
En conclusion
Les problèmes que l ’on se pose sont:
L ’espace L apparaît comme étant de densité
très hétérogène. Pourquoi ?
Que se passe-t-il sur les très petites distances
entre les vecteurs ? Comment discriminer plus
finement ? => la base de 873 ne représente-t-
elle pas des fois un maillage « trop faible » ?
La hiérarchie du thésaurus Larousse est donnée
et c ’est sur elle que s ’appuie le reste. Peut-on
la retrouver comme un résultat de calcul ?
Sinon,peut-on calculer une base ? Et comment?