Sémantique lexicale et TALN
Vecteur conceptuelset apprentissage
Mathieu LafourcadeLIRMM - France
www.lirmm.fr/~lafourca
Analyse sémantiqueDésambiguïsation de SensIndexation de Textes en RITransfert Lexical en TA
Modèle de Vecteurs Conceptuels (MVC)Réminiscences
Modèles vectoriels lexicaux (Salton)
Modèles conceptuels (Sowa)
Concepts (et non des termes)Ensemble E choisi a priori (petit) / par émergence (grand)
Concepts interdépendants
Propagation sur arbre d’analyse morpho-syntaxique (pas d’analyse de surface)
Objectifs
Vecteurs conceptuelsUne idée
= combinaison linéaire de concepts= un vecteur
L’espace des idées= espace vectoriel
(que l’on ne connaît pas a priori - dont on se moque a posteriori--> pas de réduction de dimension)
Un concept= une idée = un vecteur = combinaison de lui-même + voisinage
Comment choisir les concepts ?
Vecteurs conceptuelsEnsemble de k concepts
Thesaurus Larousse = 873 concepts--> Un vecteur = 873 upletThesaurus Rodget = 1047 concepts
--> Un vecteur = 1047 uplet EDR (Japon) --> 40000 concepts
Espace des sens = espace vectoriel + ensemble de
vecteurs
Vecteurs conceptuelsExemple : ‘chat’
Noyau dont l’indexation est manuelle c:mammifère, c:caresse<… mammifère … caresse …><… 0,8 … 0,8 … >
Augmentéc: mammifère, c:caresse, c:zoologie, c:amour … <… zoologie … mammifère… caresse … amour …><… 0,5 … 0,75 … 0,75 … 0,5 … >
itération --> affinage des vecteurs selon le voisinageVecteurs sans aucun zéro--> danger ! Avoir des vecteurs trop plats
Espace vectorielLes concepts
Ne sont pas indépendants
Espace des sens = Espace générateur d’un espace V de dim k’ (inconnue)= k’ <= k
Suffisant Position relative des points
V’
V
Expérience TH873 Thesaurus Larousse
H : hiérarchie des concepts — K concepts feuilles (K = 873)C0 = racine , c1, c2 , c3, c4 = feuilles
V(Ci) : <a1, …, ai, … , a873>aj = 1/ (2 ^ Dum(H, i, j)) Dum= distance ultramétrique
1/41 1/41/41/161/16 1/64 1/64
2 64
Vecteurs conceptuels TH873 Concept c4:PAIX
c4:Paix
C2:’Relation hiérarchiques’
C3:‘Relations de conflit’
C1:‘Le Monde’ , C1:‘L’Homme’ C1:‘La Société’
Vecteurs conceptuels TH873Terme ‘Paix’
c4:Paix
finance
profitéchange
Distance entre VCangulaire (ou encore dite de magnitude)
Distance Angulaire DA(x, y) = angle (x, y)0 <= DA(x, y) <=
si 0 alors colinéaire - même idéesi /2 alors rien en communsi alors DA(x, -x) avec -x (anti-idée de x)
x’
y
x
Distance entre VCangulaire (ou encore dite de magnitude)
DA(x, x) = 0
DA(x, y) = DA(y, x)
DA(x, y) + DA(y, z) DA(x, z)
DA(0, 0) = 0 and DA(x, 0) = /2 par def.
DA(x, y) = DA(x, y) avec 0
DA(x, y) = - DA(x, y) avec 0
DA(x+x, x+y) = DA(x, x+y) DA(x, y)
QuickTime™ and aTIFF (LZW) decompressorare needed to see this picture.
Conceptual vector distanceExample
DA(sparrow, sparrow) = 0
DA(sparrow, passerine) = 0.4
DA(sparrow, bird) = 0.7
DA(sparrow, train) = 1.14
DA(sparrow, insect) = 0.62
sparrow = kind of insectivorous passerine …
Distance entre VCExemple
DA(moineau, moineau) = 0
DA(moineau, passereau) = 0.4
DA(moineau, oiseau) = 0.7
DA(moineau, train) = 1.14
DA(moineau, insecte) = 0.62
moineau = espèce de passereau insectivore …
TT
définitions du noyau (clous) - vecteurs invariants
définitions de dictionnaires - vecteurs modifiés lors des révisions
insecteK
insecteD
scarabéeD
plante.1K
plante.2K
plante.2D
plante.1D
Lexique de vecteurs conceptuels
Ensemble de (terme, vecteur) = (w, )*
Terme monosème ?Terme monodéfini
--> 1 sens (acception) --> 1 vecteur
(w, )
moineau
Lexique de vecteurs conceptuels
Construction pour les polysèmesTerme polysème ?Terme polydéfini
--> n sens (acceptions)--> n vecteurs
{(w, ), (w.1, 1) … (w.n, n) }
Ferme (NF)
• bâtiment• exploitation • fermage• élément de charpente
Danger : les sens minoritaires sont trop affaiblis
Lexique de vecteurs conceptuels Construction pour les
polysèmes
(w) = (w.i) ferme
• bâtiment (agricole)• exploitation (agricole) • fermage
• élément de charpente
Lexique de vecteurs conceptuels
Construction pour les polysèmes(w) = classification(w.i) aggregation ascendante binaire
ferme1:DA(3,4) & (3+2)
2:(ferme4)
7:(ferme2)6:(ferme1)
4:(ferme3)5: DA(6,7)& (6+7)
3: DA(4,5) & (4+5)
Portée du champ sémantique
LS(w) = LSt((w))LSt((w)) = 1 si est une feuille
LSt((w)) = (LS(1) + LS(2))/(2-sin2(D((w)))sinon
(w) = t((w))t((w)) = (w) si est une feuille
t((w)) = LS(1)t(1) + LS(2)t(2)
sinon
1:D(3,4), (3+2)
2:4
7:26:1
4:3 5:D(6,7), (6+7)
3:D(4,5), (4+5)
Permet de gérer les définitions multiples (redondantes)
(w) =
1:D(3,4) & (3+2)
2:(ferme4)
7:(ferme2)6:(ferme1)
4:(ferme3)5:D(6,7)& (6+7)
3:D(4,5) & (4+5)
Descente récursive sur t(w) comme arbre de décisionDA(’, i)
Arrêt sur une feuilleArrêt sur un nœud interne
Pondération / Sélection
Stats sur les vecteursNorm ()
[0 , 1] * C (215=32768)
Intensity ()Norme / C Généralement = 1 (sauf pour les fonctions
syntaxiques)
Écart type (ET)ET2 = variancevariance = 1/n * (xi - moy)2
Stats sur les vecteursCoefficient de variation (CV)
CV = ET / moyPas d’unité - indépendant de la normeForce conceptuelle (pour les concepts sous l’horizon)
si A Hyperonyme B CV(A) > CV(B)(on a pas )
vector « jus de fruit » (N)--> Moy = 527, ET = 973 CV = 1.88
vector « boisson » (N)--> Moy = 443, ET = 1014 CV = 2.28
Pour les concepts au-dessus de l’horizon,si A Hyperonyme B CV(A) < CV(B) (on a pas )
Opérations sur les vecteurs
SommeV = X Y vi = xi + yi
Element neutre : 0 X 0 = X
Généralisation à n termes : V = Vi
Normalisation de la somme : vi /|V|* c
Sorte de moyenne - barycentre - centroïde
Opérations sur les vecteurs
Produit terme à terme normé(pttn)V = X Y vi = xi * yi
Element neutre : 1 X 1 = X
Généralisation à n termes V = Vi
Intersection
Opérations sur les vecteursAmplification
V = X ^ n vi = signe(vi) * |vi|^ n V = V ^ 1/2 et n V = V ^ 1/n
V V = V ^ 2 si vi 0
Normalisation du ptt à n termes
V = n Vi
Opérations sur les vecteursContextualisation : somme + ppt (non normée)
(A, B) = A(AB)
Utilisée pour le calcul (simple) de vecteurs requête en RI
(A, A) = A(AA) = AAA(A, 0) = A(A0) = A0A(A, 1) = A(A1) = AAA
Ex : (frégate, frégate) bof ! (frégate, oiseau) ah oui !
Opérations sur les vecteurs
SoustractionV = X Y vi = xi yi
Soustraction pointéeV = X Y vi = max (xi yi, 0)
ComplémentaireV = C(X) vi = (1 xic) * c
…
Opérations ensemblistes
Autres distancesDistance d’intensité
Intensité (norme) du ptt non normé
0 ( (X Y)) 1 si |x| = |y| = 1
DI(X, Y) = acos(( X Y))
DI(X, X) = 0 et DI(X, 0) = /2
DI(moineau, moineau) = 0 (DA = 0)
DI(moineau, passereau) = 0.25 (DA = 0.4)
DI(moineau, oiseau) = 0.58 (DA = 0.7)
DI(moineau, train) = 0.89 (DA = 1.14)
DI(moineau, insecte) = 0.50 (DA = 0.62)
Autres distancesDistance de profil et généralisation
Profil Dp : Comparaison de la forme des vecteurs(sans tenir compte de la magnitude)
Généralisation DG : magnitude + profil
V V ’
Dp(V,V ’) = 0
DG(X,Y) = DA(X,Y) + ( -1)DP(X,Y)
Fonction Lexicale vectorielleSynonymie relative
SynR(A, B, C) — C est l’axe de projection
Rappel : (A, B) = A(AB)
SynR(A, B, C) = DA((A, C) , (B, C))
DA(charbon,nuit) = 0.9
SynR(charbon, nuit, couleur) = 0.4
SynR(charbon, nuit, noir) = 0.35
Synonymie relative
SynR(A, B, C) = SynR(B, A, C)
SynR(A, A, C) = DA(A(AC), A(AC)) = 0
SynR(A, B, 0) = DA(A, B)
SynR(A, B, 1) = DA(A, B)
SynR(A, 0, C) = /2
SynR(A, B, A) = DA(A(AA), B(BA))
= DA(A, B(BA))
68
Analyse « sémantique »Propagation de vecteurs sur l’arbre
(d’analyse morpho-syntaxique — Application SYGMART — J. Chauché)
Les rapidement
P
GV
GVA
GNP
termites
attaquent
les fermes
GN
GN
du toit
Les termites attaquent les fermes du toit rapidement
Les rapidement
P
GV
GVA
GNPattaquent
fermes
termites
les
GN
toit
GN
duExploitation agricole
bâtimentÉlément de charpente
(d’une) maisonTerme d ’anatomieau-dessus
agressercommencer
critiquer
Analyse sémantique
Initialisationles vecteurs sont attachés aux cerises puis propagés aux termes
Les rapidement
P
GV
GVA
GNP
termites
attaquent
les fermes
GN
GN
du toit
1
2
3
4
5
Analyse sémantique
1 1 1
1 1 11 1
poids
1
Propagation vers le haut (montée)(Ni ) = (Ni 1) … (Ni k)
Les rapidement
P
GV
GVA
GNP
termites
attaquent
les fermes
GN
GN
du toit
Analyse sémantique
Descente = contextualisation faible(Ni j) = (Ni j, Ni ) = (Ni j) ((Ni j) (Ni))
Les rapidement
P
GV
GVA
GNP
termites
attaquent
les fermes
GN
GN
du toit
1’
2’ 3’
4’
5’
Analyse sémantique
0.1 0.8 0.1
0.5 0.3 0.20.2 0.1 0.7
Contextualisation forte
Pondération/sélection de sens
Les rapidement
P
GV
GVA
GNP
termites
attaquent les ferme
s
GN
GN
du toitexploitation
bâtiment élément de charpente
d ’une maisonanatomieau-dessus
commencer attaquer
critiquer
Analyse sémantique
Schémas syntaxiques
S: NP(ART,N) (NP) = V(N)
S: NP1(NP2,N) (NP1) = (NP1) (N) 0<<1
(bateau à voile) = (bateau) 1/2 (voile)
(voile de bateau) = (voile) 1/2 (bateau)
Où est la tête (gouverneur) ?
Iteration et convergence
convergence ? (ou nb de cycles max)
Local D(i, i+1) pour racine
Global D(i, i+1) pour tout
Global : Meilleurs résultats mais coûteux et converge rarement (oscillations)
Local : Bons résultats et rapide
SYGMART Analyse morphosyntaxique(Sygmart)
Définitions Dico à usage humain(multisources)
Base de Vecteurs Conceptuels
Construction et affinage de la base de VC
Construction et affinage de la base de VC
Noyau manuel (nécessaire pour l’amorçage)
Analyses de définitions (dico, encyclo, etc. en ligne et hors ligne)
Boucle infinie --> apprentissage permanent
Supervision --> ajustements manuels(nouvelles def, plus précises, moins ambiguës, etc.)
itérations
synonymes
Mots inconnus des définitions
noyau
charançon : n (un) petit insecte qui détruit les grains .
NP
ART
un
ANP
ADJ N
petit insecte
REL
VPPR
V
détruit .
GN
grains
PUNCT
PH
qui
V1 V2= V2,1 V2.2 V3 V4
VPH
V=V1 2V2
V=VREL (VREL ,VPH )
GOV NART
les
charançon : n (un) petit insecte qui détruit le grain .
NP
ART
un
ANP
ADJ N
petit insecte
REL
VPPR
V
détruit .
GN
grains
PUNCT
PH
qui
V1 V2= V2,1 V2.2 V3 V4 = 0
VPH
V=V1 2V2
V=VREL (VREL ,VPH )
GOV NART
les
Analyse partielle
Mot inconnu
V4 = 0
Mot inconnu
V4 = 0
Mot inconnuOn tire le vecteur au hasard
On révisera au moment de l’apprentissage de ce mot
ÉmergenceExpérience EMER873
Pas de thésaurus - pas de noyauOn fixe juste la dimension de E (la taille des vecteurs)
Amplification pour éviter une convergence globale vers le vecteur 1(effet bouillie)
TT
Espace T
Maille fixe - densité lexicale variable
EE
Espace E
Maille variable - densité lexicale plus ou moins
constante
Points de test 1/2
EE
Écart type de la densité lexicale (test 1) ET(DL(E)) < ET(DL(T))
Les n vecteurs booléens (dans TH873 et EMER873 on a n = 873)
Points de test 2/2
EE
Écart type de la densité lexicale (test 2) ET(DL(E)) < ET(DL(T))
Les p premiers termes en fréquence d’usage (dans TH873 et EMER873 on a p = 1000)
Construction de taxonomiesFonctions lexicales
Hyperonymes/hyponymes (is-a)Holonymes/méronymes (part-of)Synonymes - Antonymes (agents à apprentissage D. Schwab)
Cause/effet ???
CombinaisonExtractions lexicales (classique)
Vecteurs conceptuels (pour la sélection des acceptions des termes)
Jouer à la fois : au niveau des termes - du sens - des relations
Problématique de fond : distinguer des sens par affinage successifs
Émeraude/pierre précieuse Émeraude/béryl
béryl
Pierre précieuse
Gemme/pierre précieuse Gemme/bourgeon Gemme/résine
Plus proche vecteur
Émeraude/gemme
…
v v
vv v
v
Émeraude/pierre précieuse Émeraude/béryl
béryl
Pierre précieuse
Gemme/pierre précieuse Gemme/bourgeon Gemme/résine
Émeraude/gemme
…
v v
vv v
v
Émeraude/pierre précieuse Émeraude/béryl
béryl
Pierre précieuse
Gemme/pierre précieuse Gemme/bourgeon Gemme/résine
0.81
0.9
0.70.85
Émeraude/béryl
béryl
Pierre précieuse
Gemme/pierre précieuse
0.81
0.9
0.85
Émeraude/vert Émeraude/couleur
Émeraude/vert
Vert/couleur des signaux
Couleur/matièreCouleur/sensation
Vert/couleur
…
…
…
Voiture/wagon
wagon
Moyen de transport
véhicule/Moyen de transport véhicule/vecteur
automobile
Voiture/automobile
Cheval/moyen de transport
Cheval/mammifère
mammifère
Cheval/viande
Viande/nourriture
aliment
nourriture
artefact
Cheval/unité de puissance
animal
hypo
hypohypo
Comparaisonentre les deux approches
Thésaurus
- discrimination- utilisation des ressources
+ évaluation par inspection ou par voisinage
Émergence
+ discrimination+ utilisation des ressources- évaluation par voisinage uniquement
++ pas besoin de thésaurus? Reconstitution du (d’un) thésaurus ? au moins partiellement
Concepts pertinents Concepts utiles
Il faut coupler l’analyse par définitions et l’analyse par corpus
Analyses intentionnelle (def), extentionnelle (ex), distributionelle (corpus)
ConclusionEmergence
Vecteurs (fort rappel)Taxonomies (forte précision)
Apprentissage permanentDifférent d’un entraînementMulti-sources
Termes - Lexies - AcceptionsAmas de lexies + nommage + réinjectionBouclages (cf Ch. Lecerf sur la Double boucle)
Expérience en cours avec une dim = 5000
Fin1. extremité2. mort3. but…