Présentation PowerPoint - Cours sur le traitement automatique des ...

55
Cours sur le traitement automatique des langues La sémantique (III) Violaine Prince Université de Montpellier 2 LIRMM-CNRS

Transcript of Présentation PowerPoint - Cours sur le traitement automatique des ...

Page 1: Présentation PowerPoint - Cours sur le traitement automatique des ...

Cours sur le traitement automatique des languesLa sémantique (III)

Violaine PrinceUniversité de Montpellier 2LIRMM-CNRS

Page 2: Présentation PowerPoint - Cours sur le traitement automatique des ...

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)

Page 3: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 4: Présentation PowerPoint - Cours sur le traitement automatique des ...

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 »

Page 5: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

A1A2….

…..An

Où les ai sont les valeursDe la projection de V sur descomposantes

Page 6: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 7: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 8: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 9: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 10: Présentation PowerPoint - Cours sur le traitement automatique des ...

10

Fonctions et distances Distance entre deux vecteurs

Il existe plusieurs sortes de distance Distance angulaire

V1

V2Angle

Si 0 alors V1 V2, les « sens » des éléments sont très proches

Page 11: Présentation PowerPoint - Cours sur le traitement automatique des ...

11

Angles de vecteursV1

V2

Vecteurs orthogonaux:« sens » totalement divergents

V1V2 Les vecteurs étant toujours

Interprétés dans le quartPositif de l ’espace, c ’est

- (V1,V2) qui est considéré.

On prend toujours l ’angle modulo (0, /2)

Page 12: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 13: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 14: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 15: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 16: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 17: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 18: Présentation PowerPoint - Cours sur le traitement automatique des ...

18

Le modèle vectoriel de Salton

Une base d ’indexation B extraite comme indiqué précédemmentUne 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.

Page 19: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 20: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 21: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 22: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 23: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 24: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 25: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 26: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 27: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 28: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 29: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 30: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 31: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 32: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

.

Page 33: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

.

Page 34: Présentation PowerPoint - Cours sur le traitement automatique des ...

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:

.

Page 35: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

.

Page 36: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 37: Présentation PowerPoint - Cours sur le traitement automatique des ...

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= (1, 2,…,873) avec i= 1 si Ci indexe t, et i= 0 sinon. Puis ce vecteur est normé..

Page 38: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

.

Page 39: Présentation PowerPoint - Cours sur le traitement automatique des ...

39

Exemple • Sur un groupe nominal prépositionnel N1

[prep] N2. Le moulin à vent. Analyse syntaxique :

GPREP

SN PREPSN

N àDET N

Le moulin vent

Page 40: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 41: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 42: Présentation PowerPoint - Cours sur le traitement automatique des ...

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() = V(soi)V()= V(manger)

V(PH) = 8 V() 10 V() 6 V()

Page 43: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 44: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 45: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 46: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 47: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 48: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 49: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 50: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 51: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 52: Présentation PowerPoint - Cours sur le traitement automatique des ...

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

Page 53: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 54: Présentation PowerPoint - Cours sur le traitement automatique des ...

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.

Page 55: Présentation PowerPoint - Cours sur le traitement automatique des ...

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?