1 / 57

Sémantique lexicale et TALN Vecteur conceptuels et apprentissage

Sémantique lexicale et TALN Vecteur conceptuels et apprentissage. Mathieu Lafourcade LIRMM - France www.lirmm.fr/~lafourca. Objectifs. Analyse sémantique Désambiguïsation de Sens Indexation de Textes en RI Transfert Lexical en TA Modèle de Vecteurs Conceptuels (MVC) Réminiscences

ciqala
Download Presentation

Sémantique lexicale et TALN Vecteur conceptuels et apprentissage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sémantique lexicale et TALN Vecteur conceptuelset apprentissage Mathieu Lafourcade LIRMM - France www.lirmm.fr/~lafourca

  2. Objectifs Analyse sémantique Désambiguïsation de Sens Indexation de Textes en RI Transfert 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)

  3. Vecteurs conceptuels Une 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 ?

  4. Vecteurs conceptuels Ensemble de k concepts Thesaurus Larousse = 873 concepts --> Un vecteur = 873 uplet Thesaurus Rodget = 1047 concepts --> Un vecteur = 1047 uplet EDR (Japon) --> 40000 concepts Espace des sens = espace vectoriel + ensemble de vecteurs

  5. Vecteurs conceptuels Exemple : ‘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 voisinage Vecteurs sans aucun zéro --> danger ! Avoir des vecteurs trop plats

  6. Espace vectoriel Les 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’

  7. 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/16 1/16 1/4 1 1/4 1/4 1/64 1/64 4 2 6

  8. Vecteurs conceptuels TH873 Conceptc4:PAIX c4:Paix C3:‘Relations de conflit’ C2:’Relation hiérarchiques’ C1:‘La Société’ C1:‘Le Monde’ , C1:‘L’Homme’

  9. Vecteurs conceptuels TH873Terme‘Paix’ c4:Paix

  10. échange profit finance

  11. 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ée si /2 alors rien en commun si  alors DA(x, -x) avec -x (anti-idée de x) x’ x  y

  12. 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)

  13. Conceptual vector distance Example 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 …

  14. Distance entre VC Exemple 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 …

  15. définitions du noyau (clous) - vecteurs invariants définitions de dictionnaires - vecteurs modifiés lors des révisions plante.1K scarabéeD plante.1D insecteK plante.2D insecteD plante.2K T

  16. Lexique de vecteurs conceptuels Ensemble de (terme, vecteur) = (w, )* Terme monosème ? Terme monodéfini --> 1 sens (acception) --> 1 vecteur (w, ) moineau

  17. Lexique de vecteurs conceptuelsConstruction pour les polysèmes • bâtiment • exploitation • fermage • élément de charpente Terme polysème ? Terme polydéfini --> n sens (acceptions) --> n vecteurs {(w, ), (w.1, 1) … (w.n, n) } Ferme (NF)

  18. Lexique de vecteurs conceptuels Construction pour les polysèmes (w) = (w.i) ferme • bâtiment (agricole) • exploitation (agricole) • fermage • élément de charpente Danger : les sens minoritaires sont trop affaiblis

  19. 1:DA(3,4) & (3+2) 3: DA(4,5) & (4+5) 2:(ferme4) 5: DA(6,7)& (6+7) 4:(ferme3) 6:(ferme1) 7:(ferme2) Lexique de vecteurs conceptuels Construction pour les polysèmes (w) = classification(w.i) aggregation ascendante binaire ferme

  20. 1:D(3,4), (3+2) 3:D(4,5), (4+5) 2:4 4:3 5:D(6,7), (6+7) 6:1 7:2 Portée du champ sémantique (w) = 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 Permet de gérer les définitions multiples (redondantes)

  21. 1:D(3,4) & (3+2) 3:D(4,5) & (4+5) 2:(ferme4) 5:D(6,7)& (6+7) 4:(ferme3) 6:(ferme1) 7:(ferme2) Pondération / Sélection Descente récursive sur t(w) comme arbre de décision DA(’, i) Arrêt sur une feuille Arrêt sur un nœud interne

  22. Stats sur les vecteurs Norm () [0 , 1] * C (215=32768) Intensity () Norme / C Généralement  = 1 (sauf pour les fonctions syntaxiques) Écart type (ET) ET2 = variance variance = 1/n * (xi - moy)2

  23. Stats sur les vecteurs Coefficient de variation (CV) CV = ET / moy Pas d’unité - indépendant de la norme Force 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  )

  24. Opérations sur les vecteurs Somme V = 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

  25. 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

  26. Opérations sur les vecteurs Amplification 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

  27. Opérations sur les vecteurs Contextualisation : somme + ppt (non normée) (A, B) = A(AB) Utilisée pour le calcul (simple) de vecteurs requête en RI (A, A) = A(AA) = AA = A (A, 0) = A(A0) = A0 = A (A, 1) = A(A1) = AA = A Ex : (frégate, frégate) bof ! (frégate, oiseau) ah oui !

  28. Opérations sur les vecteurs Soustraction V = X - Y --> vi = xi- yi Soustraction pointée V = X  Y --> vi = max (xi- yi, 0) Complémentaire V = C(X) --> vi = (1 - xi/c) * c … Opérations ensemblistes

  29. 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)

  30. 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)

  31. Fonction Lexicale vectorielleSynonymie relative SynR(A, B, C) — C est l’axe de projection Rappel : (A, B) = A(AB) 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

  32. Synonymie relative SynR(A, B, C) = SynR(B, A, C) SynR(A, A, C) = DA(A(AC), A(AC)) = 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(AA), B(BA)) = DA(A, B(BA))

  33. Analyse « sémantique » Propagation de vecteurs sur l’arbre (d’analyse morpho-syntaxique — Application SYGMART — J. Chauché) P GN GVA Les termites GV rapidement GNP attaquent les fermes GN du toit Les termites attaquent les fermes du toit rapidement 68

  34. Analyse sémantique P GN GVA Les termites GV rapidement GNP attaquent les fermes GN agresser commencer critiquer du toit Exploitation agricole bâtiment Élément de charpente (d’une) maison Terme d ’anatomie au-dessus

  35. Analyse sémantique Initialisation les vecteurs sont attachés aux cerises puis propagés aux termes P GN GVA Les termites GV rapidement 1 5 GNP attaquent 2 les fermes GN 3 du toit poids 4 1 1 1 1 1 1 1 1 1

  36. Analyse sémantique Propagation vers le haut (montée) (Ni ) = (Ni 1)  …  (Ni k) P GN GVA Les termites GV rapidement GNP attaquent les fermes GN du toit

  37. Analyse sémantique Descente = contextualisation faible (Ni j) = (Ni j, Ni ) = (Ni j)  ((Ni j) (Ni)) P GN GVA Les termites GV rapidement • 1’ • 5’ GNP attaquent • 2’ les fermes GN • 3’ du toit 0.1 0.8 0.1 • 4’ Contextualisation forte 0.5 0.3 0.2 0.2 0.1 0.7

  38. Analyse sémantique Pondération/sélection de sens P GN GVA GV Les termites rapidement GNP attaquent les fermes GN commencer  attaquer critiquer du toit exploitation bâtiment  élément de charpente  d ’une maison anatomie au-dessus

  39. Schémas syntaxiques Où est la tête (gouverneur) ? 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)

  40. Iteration et convergence convergence? (ou nb de cycles max) Local D(i, i+1)  pour  racine Global D(i, i+1)  pour tout Local : Bons résultats et rapide Global : Meilleurs résultats mais coûteux et converge rarement (oscillations)

  41. Construction et affinage de la base de VC Dico à usage humain (multisources) Définitions Base de Vecteurs Conceptuels SYGMART Analyse morphosyntaxique (Sygmart)

  42. 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.) synonymes Mots inconnus des définitions itérations noyau

  43. charançon : n (un) petit insecte qui détruit les grains . PH VPH NP REL PUNCT V=VREL (VREL ,VPH ) V=V1 2V2 ART VP ANP PR GN ADJ N V ART N GOV un petit insecte qui détruit les grains . V1 V3 V4 V2= V2,1  V2.2

  44. charançon : n (un) petit insecte qui détruit le grain . PH VPH NP REL PUNCT V=VREL (VREL ,VPH ) Analyse partielle V=V1 2V2 ART VP ANP PR GN ADJ N V ART N GOV un petit insecte qui détruit les grains . Mot inconnu V1 V3 V4 = 0 V2= V2,1  V2.2

  45. Mot inconnu V4 = 0

  46. ÉmergenceExpérience EMER873 • Pas de thésaurus - pas de noyau • On fixe juste la dimension de E (la taille des vecteurs) Mot inconnu On tire le vecteur au hasard V4 = 0 On révisera au moment de l’apprentissage de ce mot Amplification pour éviter une convergence globale vers le vecteur 1 (effet bouillie)

  47. T Espace T Maille fixe - densité lexicale variable

  48. E Espace E Maille variable - densité lexicale plus ou moins constante

  49. E Points de test 1/2 Les n vecteurs booléens (dans TH873 et EMER873 on a n = 873) Écart type de la densité lexicale (test 1) ET(DL(E)) < ET(DL(T))

  50. E Points de test 2/2 Les p premiers termes en fréquence d’usage (dans TH873 et EMER873 on a p = 1000) Écart type de la densité lexicale (test 2) ET(DL(E)) < ET(DL(T))

More Related