Transcript
Page 1: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Eric LaporteInstitut Gaspard-Monge

Université de Marne-la-ValléeFrance

http://www-igm.univ-mlv.fr/~laporte/

Analyse syntaxiqueRéseaux sémantiques

Page 2: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Analyse syntaxiqueRéseaux sémantiques

Analyse syntaxique ascendanteAnalyse syntaxique descendanteRéseaux sémantiquesRelations sémantiquesWordNetParcours d'un réseau sémantiqueLevée d'ambiguïtésCooccurrence

Page 3: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Têtes des constituants

Le mot le plus important de chaque constituant est appelé sa tête P

(préfère)

GN(Luc)

préfère

GN(compagnie)

N(compagnie)

Det(cette)

cetteLuc compagnie

Page 4: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Grammaires de dépendanceOn remplace chaque symbole non terminal par

la tête correspondante, puis on supprime le noeud redondant

Arbre de dépendancepréfère

Luccompagnie

cette

préfère

Luc

préfère

compagnie

compagniecette

cetteLuc

compagnie

Page 5: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Grammaires de dépendance

Informations perdues- étiquettes des constituants (on compense

en ajoutant des étiquettes aux arêtes)- ordre des mots (on compense si

nécessaire en ajoutant des contraintes sur l'ordre des mots)

préfère

Luccompagnie

cette

sujetobjet

déterminant

Page 6: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

LexicalisationLorsqu'un mot a des compléments, la forme des

compléments dépend du motP --> GN <préférer> GN à GN

Luc préfère cette compagnie à la concurrenceP --> GN <quitter> GN Luc quitte ParisP --> GN <partir> Prép GN Luc part pour Toulouse

Nombre de complémentsPrépositions devant les complémentsGrammaire lexicaliséeChaque règle comporte au moins un mot du lexique (la

tête en général)Nombre de règles = nombre de mots x nombre de

constructions

Page 7: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Grammaires non lexicaliséesOn regroupe tous les mots qui entrent dans une

même constructionOn fait une règle commune

P --> GN V GN à GN{ V.N1àN2 = "+" ; }Luc préfère cette compagnie à la

concurrenceP --> GN V GN { V.N1 = "+" ; }

Luc quitte ParisLuc préfère cette compagnie

P --> GN V Prép GN {V.PrépN1 = "+" ; V.Prép = Prép ; }Luc part pour Toulouse

Page 8: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Analyse syntaxiqueParsingEntrées : une phrase étiquetée et une grammaire

algébriqueSorties : le ou les arbres de dérivation de la phrase

AlgorithmesAscendantsDescendantsProgrammation dynamiqueCascade de transducteurs

Page 9: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

TransducteursUn transducteur fini est un automate fini dont les

transitions sont étiquetées par des couples de séquences : une séquence d'entrée, une séquence de sortie

Entrée : brrr ! Sortie : pfff !Etats : 0 1 2 3 4Transitions : 0b/p1 1r/f2 2r/f3 3/2 3!/!4Etats initiaux : 0Etats finaux : 4

0 1 2 3 4b/p r/f r/f !/!

/

Page 10: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

TransducteursLes règles d'une grammaire algébrique peuvent

être représentées par des transducteursExemple : GN --> Det N

@/@ : l'ensemble des couples a/a pour tout symbole a

Entrée : Det N V GN à GN Sortie : GN V GN à GN

0 1 2 3

@/@Det/ N/ /GN

@/@

@/@

Page 11: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Cascade de transducteursMode d'application d'un ensemble de transducteurs à un

ensemble de séquences S0

Entrée : S0 i = 0 ;tant que (condition)

appliquer un transducteurTi aux séquences de Si, obtenir Si+1

i = i+1Sortie : Si

Variantes- on a n transducteurs T1, T2... Tn et on les applique dans

l'ordre- on a un seul transducteur et on l'applique itérativement

jusqu'à ce que Si+1 = Si

Page 12: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Analyse syntaxique par cascade de transducteurs

Entrées : une phrase étiquetée S0 et les transducteurs des règles

i = 0 ;faire

appliquer des transducteurs aux séquences de Si, obtenir Si+1

i = i+1jusqu'à Si-1 = Si

Sortie : Si

Si Si contient l'axiome, S0 est conforme à la grammairePour construire l'arbre de dérivation, il faut marquer les

relations entre les séquences de Si et celles de Si+1

Page 13: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Exemple de grammaire algébrique

P --> GN <disparaître>P --> GN <empirer>P --> GN <orchestrer>

GNP --> GN <aimer> GNGN --> Det NGN --> NprDet --> <le>Det --> <ce>Det --> <un>

Det --> tous les

Det --> toutes les

N --> <mélodie>

N --> <corruption>

N --> <orchestre>

N --> <empire>

Npr --> Luc

Npr --> Anne

Page 14: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Algorithme (1/2)ensSeqArbres = un ensemble de séquences d'arbres videpour chaque combinaison de non-terminaux compatible avec

phraseensSeqArbres.ajouterSeqArbres(combinaison)

tant que ensSeqArbres n'est pas vide nouvEnsSeqArbres = un ensemble de séquences d'arbres videpour chaque seqArbres dans ensSeqArbres seqRacines = seqArbres.seqRacines() pour chaque facteur de seqRacines

pour chaque règle dont le membre droit corresp. à facteur

copieSeqArbres = seqArbres.copier() copieSeqArbres.ajouter(facteur, règle) nouvEnsSeqArbres.ajouter(copieSeqArbres)

Page 15: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Algorithme (2/2)pour chaque seqArbres dans nouvEnsSeqArbres

si seqArbres est un arbre et si sa racine est l'axiome

seqArbres.écrire() nouvEnsSeqArbres.supprimer(seqArbres)

ensSeqArbres = nouvEnsSeqArbres

Page 16: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

InconvénientsOn utilise peu la grammaireAvec Les orchestres aiment cette mélodie, toutes

les séquences qui contiennent <orchestrer> suivi de <aimer> sont incompatibles avec la grammaire

Page 17: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Analyse syntaxique descendante

P

GN <disparaître>

P

P

GN <disparaître>

Det NP

GN <disparaître>

Det N

<le>

Les orchestres aiment cette mélodie

Page 18: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Analyse descendante

P

GN <disparaître>

Det N

<le>

P

GN <disparaître>

Det N

<le> <corruption>

P

GN <disparaître>

Det N

<le> <mélodie>

<orchestre>

P

GN <disparaître>

Det N

<le> <empire>

explorationarborescente :on essayeautre chose

Page 19: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Analyse descendante

P

GN <empirer>

P

GN <orchestrer> GN

P

GN <aimer>GN

P

GN <disparaître>

Npr

etc.

Page 20: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Arbre produit

P

GN

<aimer>

GN

Det N Det N

<le> <orchestre><ce> <mélodie>

Page 21: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Analyse descendantephrase.desc(arbre, feuilleCourante, tokenCourant) :

pour chaque feuille1 à partir de feuilleCourantesymbole = feuille1.étiquettesi symbole est terminal

si symbole est compatible avec tokentoken = phrase.suivant(token)

sinon détruire arbre ; sortir de la fonctionsinon si symbole est une variable

pour chaque règle dont le membre gauche est symbole

copieArbre = arbre.copier()feuille2 = équivalent de feuille1 dans

copieArbre copieArbre.ajouter(règle, feuille2)feuille3 = copieArbre.premierFils(feuille2)phrase.desc(copieArbre, feuille3, token)

sortir de la fonctionarbre.écrire()

Page 22: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

InconvénientsOn utilise peu le texteAvec Les orchestres aiment cette mélodie, les 10

premiers arbres contiennent disparaître, qui ne figure pas dans la phrase

On construit plusieurs fois les mêmes sous-arbres

Le sous-arbre pour Les orchestres est construit 4 fois et détruit 3 fois

Boucle en cas de récursivité gaucheUne règle comme GN --> GN Adj lance

l'algorithme dans une boucle infinie

Page 23: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

L'algorithme d'Earley (1970)Analyse descendante

Sauvegarde dans un tableau tous les résultats intermédiaires réutilisables (programmation dynamique)

Tableau indicé par les tokens de la phrase

Phrase : Les orchestres aiment cette mélodie

Indices : 0 1 2 3 4 5

Pour chaque indice, le tableau contient un ensemble de sous-arbres correspondant à des analyses partielles

On remplit le tableau de gauche à droite, sans retours en arrière

On ne détruit jamais des sous-arbres déjà créés

Pour construire les arbres de dérivation, on combine les sous-arbres du tableau

Page 24: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Les sous-arbresUn sous-arbre est représenté par

- une règle pointée (le point indique jusqu'où on a analysé)

- deux positions dans la phrase, correspondant :

- au début de la règle

- et au point jusqu'où on a analysé

Exemple 1

P --> GN <aimer> . GN

0-3

<le> <orchestre> <aimer> <ce> <mélodie>

Det N Det N

GN GN

P

0 1 2 3 4 5

Page 25: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Les sous-arbresExemple 2

GN --> Det N .

0-2

Exemple 3

GN --> . Det N

3-3

Si la 2e position d'un sous-arbre est j, ce sous-arbre est rangé à l'indice j dans le tableau

Exemple 2 : rangé à l'indice 2 Exemple 3 : rangé à l'indice 3

<le> <orchestre> <aimer> <ce> <mélodie>

Det N Det N

GN GN

P

0 1 2 3 4 5

Page 26: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

L'algorithmeOn parcourt le tableau de gauche à droite

Quand on est à l'indice i, on parcourt les sous-arbres et on crée de nouveaux sous-arbres à l'indice i (queue FIFO) et à l'indice i + 1

On suppose que l'axiome de la grammaire apparaît une seule fois, dans une règle P0 --> P

Début P0 --> . P

0-0

Fin P0 --> P .

0-n (n = nombre de tokens dans la phrase)

Règle pointée complétée : règle dont le point est à la fin

Page 27: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

L'algorithme

analyseur.table[0].enfiler(P0 --> . P, 0, 0)

pour i de 0 à n

pour chaque sousArbre dans table[i]

si sousArbre.complétée()

analyseur.compléter(sousArbre)

sinon si sousArbre.prochainSymbole() est terminal

analyseur.vérifier(sousArbre)

sinon analyseur.prédire(sousArbre)

si analyseur.table[n].contient(P0 --> P ., 0, n)

analyseur.construireArbres(n)

Page 28: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

L'algorithme

compléter(B --> w ., j, k) :

pour chaque (A --> u . B v, i, j) dans table[j]

table[k].enfiler(A --> u B . v, i, k)

vérifier(A --> u . t v, i, j) :

si t correspond à token[j]

table[j + 1].enfiler(A --> u t . v, i, j + 1)

prédire(A --> u . B v, i, j) :

pour chaque (B --> w) dans règles(B)

table[j].enfiler(B --> . w, j, j)

Page 29: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

AmbiguïtésQuand un mot est ambigu, ses utilisations correspondent à des sens

différentsLuc a perdu la première mancheLa chemise a perdu sa manche gaucheLa pioche a perdu son mancheChaque utilisation correspond à un sens précisVienne est la capitale de l'AutricheVienne est près de ValenceLa Vienne fait partie de la région Poitou-CharentesLa Vienne se jette dans la LoireIl faut absolument qu'il vienne

Page 30: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Synonymes

C'est un gros avion C'est un grand avion

C'est un gros achat ?C'est un grand achat

Luc est trop gros Luc est trop grand

Critère

Possibilité de remplacer un mot par l'autre dans au moins un contexte sans "trop" changer le sens

Page 31: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Réseau sémantiqueComme un lexique mais- plusieurs entrées différentes pour un mot ambigu- une seule entrée pour plusieurs synonymes

Exemples d'entrées1. couillon - gogo - naïf - pigeon2. bar - loup - loup de mer - perche de mer3. bar - bistro - brasserie - café - estaminetUne entrée = un ensemble de synonymes (synset)Membres d'un synset- lemmes et non formes fléchies- mots et non tokens (loup de mer : mot composé)

Page 32: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Relations sémantiquesRelations entre synsets

X est une sorte de Ybar - loup - loup de mer - perche de mer X

poisson - poiscaille Yanimal - bête Z

Y est une sorte de Xbar - bistro - brasserie - café - estaminet X

bar à vins Y

Hyponyme - hyperonyme

Page 33: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Relations sémantiquesX est une partie de Y

mets - plat

repas

Y est une partie de X

poiscaille - poisson

écaille

nageoire

ligne latérale

ouïe

Méronyme - holonyme

Page 34: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Relations sémantiques

contraire

gagnant - vainqueur

perdant

Antonyme

Page 35: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

WordNet

Anglais

Version 3.0 : 120 000 synsets

Miller, 1995 - Fellbaum, 1998

Le réseau sémantique le plus utilisé au monde

Développement à partir de 1985 - Première version 1991

4 sous-réseaux : noms, verbes, adjectifs, adverbes

Page 36: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

WordNet

Principales relations entre synsets

est un V/V exhale/breathe; inhale/breathe

est un N/N cat/feline

instance N/N Eiffel Tower/tower

partie N/N France/Europe

membre N/N France/European Union

similaire A/A dying/moribund

Page 37: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

WordNet

Principales relations entre lemmes

contraire A/A good/bad

appartenance A/N academic/academia

appartenance Adv/A boastfully/boastful

dérivé N/V killing/kill

dérivé A/N dark/darkness

Page 38: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Hyperonymes

Le synset de breathe est un hyperonyme de ceux de exhale et inhale

Le synset de feline est un hyperonyme de celui de cat

Un synset a souvent un seul synset hyperonyme, mais peut en avoir plusieurs

Exemple

eat "manger" a deux hyperonymes :

eat "prendre un repas" (contestable)

et consume/ingest/take in/take/have

Le synset de cat est un hyponyme de celui de feline

Page 39: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Hyperonymes

timepiece/timekeeper/horologe

atomic clock

clock

sandglasssundial

timer

watch/ticker

ammonia clock

caesium clock

alarm clock/alarmegg timer

hourglass

chronograph

parking meter

stopwatch/stopo watch

...

...

Page 40: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Coordonnés

Coordonnés d'un synset : les synsets qui ont un même hyperonyme

Coordonnés de watch/ticker

atomic clock

clock

sandglass

sundial

timer

Les coordonnés d'un synset ne sont pas directement accessibles par les fonctions NLTK d'accès à WordNet

Rechercher les hyperonymes puis les hyponymes

Page 41: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Autres WordNets

• EuroWordNet

Français (23 000 synsets), anglais, néerlandais, italien, espagnol, allemand, tchèque, estonien

Liens entre langues et avec l'anglais

• BalkaNet

Tchèque, roumain, grec, turc, bulgare, serbe

Page 42: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Parcours d'un réseau sémantique

Entrée : un synset

Sorties : des ensembles de lemmes "associés" au synset d'entrée

synset.assoc(1) = les hyponymes de synset

synset.assoc(2) = les hyperonymes de synset

synset.assoc(3) = les coordonnés de synset

synset.assoc(4) = les hyponymes des éléments de synset.assoc(3)

pour i de 1 à 4

synset.assocLemmas(i) = union des éléments de synset.assoc(i)

Page 43: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

ExempleEntrée : sandglass

synset.assoc(1) = egg timer, hourglasssynset.assoc(2) = timepiece/timekeeper/horologesynset.assoc(3) = atomic clock, clock, sundial, timer, watch/tickersynset.assoc(4) = ammonia clock, caesium clock, alarm clock/alarm,

chronograph, parking meter, stopwatch/stopo watch...

synset.assocLemmas(1) = egg timer, hourglasssynset.assocLemmas(2) = timepiece, timekeeper, horologesynset.assocLemmas(3) = atomic clock, clock, sundial, timer, watch,

tickersynset.assocLemmas(4) = ammonia clock, caesium clock, alarm clock,

alarm, chronograph, parking meter, stopwatch, stopo watch...

Page 44: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Levée d'ambiguïtés

Pour chaque mot ambigu, pour chaque occurrence, déterminer le sens précis

ObjectifsRecherche d'informations, traduction...Le sens précis sera représenté par un synsetHypothèseBeaucoup de voisins d'un mot sont des hyponymes, des

hyperonymes ou des coordonnésMéthodePour chaque synset contenant le mot ambigu, compter les

hyponymes, hyperonymes et coordonnés dans le voisinage

Page 45: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Cooccurrence

Cooccurrence du premier ordre

Deux mots sont cooccurrents du premier ordre s'ils sont souvent voisins

Exemple : vendre/produit

Cooccurrence du second ordre

Deux mots sont cooccurrents du second ordre s'ils ont souvent les mêmes voisins

Exemple : vendre/acheter

Voisins communs : produit, prix, fournisseur, client...

Page 46: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Cooccurrence du premier ordre

On utilise un corpus de référence qui peut être lemmatisé

Deux mots m1 et m2

On calcule nb_occ(m1), nb_occ(m2)

nb_occ(m1, m2) : nombre d'occurrences de m1 et m2 dans le même paragraphe ou dans le même document ou à une distance inférieure à un seuil (5 à 10 tokens)

nb_occ(m1, m2)/nb_occ(m1) x nb_occ(m2)

valeur comprise entre 0 et 1

Plus m1 et m2 apparaissent souvent ensemble, plus cette valeur se rapproche de 1

Page 47: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Cooccurrence du second ordre

On utilise un corpus de référence qui peut être lemmatisé

Deux mots m1 et m2

On calcule voisins(m1) et voisins(m2), sacs de motsCritères :

- paragraphe ou distance

- différents de m1 ou m2

- catégorie nom ou pertinence D/d(v)On calcule la similarité entre les deux vecteurs (cosinus de l'angle)

Plus m1 et m2 apparaissent avec les mêmes voisins, plus cette valeur est élevée

Page 48: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Levée d'ambiguïtés avec WordNetEntrée : un texte étiqueté et lemmatisé ; WordNet ; un corpus de référence

Sortie : pour chaque mot ambigu du texte, un synset

pour chaque mot du texte

si mot appartient à plusieurs synsets

sélectionner des voisins v de mot dans le texte (critères :

- paragraphe ou distance

- différents de mot

- catégorie nom ou pertinence D/d(v))

pour chaque synset

synset.assoc = union synset.assoc(i) pour i de 1 à 4

synset.score = nombre de v dans synset.assoc

mot.synset = le synset dont synset.score est maximal

Page 49: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Apprentissage supervisé de la levée d'ambiguïtés

On utilise un corpus d'apprentissage dans lequel on a indiqué à la main pour chaque mot ambigu le synset pertinent

Après l'apprentissage, le système appliqué à un nouveau texte choisit pour chaque mot ambigu un des synsets correspondants

Informations utilisées par le système pour choisir

- les nombres d'occurrences de certains mots dans le voisinage (les mots les plus fréquents et pertinents proches du mot ambigu dans le corpus)

- le lemme et la catégorie grammaticale de 2 mots avant et après le mot ambigu

Pour chaque mot ambigu, on recueille les informations o ci-dessus

P(s|o) : probabilité que le synset pertinent soit s connaissant o

Page 50: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Rappel : la formule de Bayes

P(s|o)valeur : entre 0 et 1

argmaxsS P(s|o)la valeur de sS pour laquelle P(s|o) est maximal

P(s|o) P(o) = P(o|s) P(s)formule de Bayes

argmaxsS P(s|o) = argmaxsS P(o|s) P(s) /P(o)

= argmaxsS P(o|s) P(s)car P(o) ne dépend pas de s

Page 51: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Application

o est un vecteur à n composantes o1 ... on

argmaxsS P(s|o) = argmaxsS P(o|s) P(s)

argmaxsS P(s) 1inP(oi|s)

On estime ces valeurs à l'aide du corpus d'apprentissage :P(s) = nb_occ(s, mot)/nb_occ(mot)nb_occ(s, mot) : nombre d'occurrences de mot avec le sens s

P(oi|s) = nb_occ(oi, s)/nb_occ(s)

nb_occ(oi, s) : nombre d'occurrences du sens s où la ie composante du vecteur vaut oi

Page 52: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Apprentissage non supervisé

On n'utilise pas de réseau sémantique

Apprentissage

On associe à chaque occurrence du mot dans un corpus d'apprentissage un vecteur qui représente ses voisins (critères :

- paragraphe ou distance

- différents du mot

- catégorie nom ou pertinence D/d(v))

On met chaque vecteur dans un groupe-singleton

Itérativement, on fusionne les deux groupes les plus proches si leur similarité (cosinus de l'angle entre les vecteurs) est supérieure à un seuil

On s'arrête quand toutes les similarités sont inférieures au seuil

Page 53: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Apprentissage non supervisé

Chaque groupe représente un sens

Levée d'ambiguïtés

Pour une occurrence du mot dans un nouveau texte

- on représente ses voisins par un vecteur (comme pour l'apprentissage)

- on compare le vecteur à chacun des groupes

On choisit le sens correspondant au groupe le plus similaire au vecteur

Page 54: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Apprentissage non supervisé et WordNet

Graphe de similarité

Noeuds : les mots

Arcs : relient les paires de mots dont la similarité (cooccurrence du second ordre dans le corpus de référence) est supérieure à un seuil

Les arcs sont étiquetés par ces similarités

Classes dans le texte

Sélectionner des mots du texte à traiter (catégorie nom, ou fréquence, ou pertinence)

Relier ces mots par les mêmes arcs que dans le graphe de similarité

Chaque composante connexe du graphe obtenu définit un groupe

Page 55: Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France laporte/ Analyse syntaxique Réseaux sémantiques

Apprentissage non supervisé et WordNet

Comparaison à WordNet

Pour chaque groupe, sélectionner les synsets dont la similarité avec la classe (similarité des vecteurs) est supérieure à un seuil

Si un seul synset est sélectionné, on associe au synset tous les mots qui appartiennent à la fois au groupe et au synset


Top Related