Cours 10 - PowerPoint PPT Presentation

About This Presentation
Title:

Cours 10

Description:

Quand un mot est ambigu, ses utilisations correspondent des sens diff rents ... Pour chaque mot ambigu, pour chaque occurrence, d terminer le sens pr cis ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 30
Provided by: lapo4
Category:
Tags: ambigu | anglais | cours

less

Transcript and Presenter's Notes

Title: Cours 10


1
Cours 10
  • Réseaux sémantiques
  • Relations sémantiques
  • WordNet
  • Parcours d'un réseau sémantique
  • Levée d'ambiguïtés
  • Cooccurrence

2
Ambiguïtés
  • Quand un mot est ambigu, ses utilisations
    correspondent à des sens différents
  • Luc a perdu la première manche
  • La chemise a perdu sa manche gauche
  • La pioche a perdu son manche
  • Chaque utilisation correspond à un sens précis
  • Vienne est la capitale de l'Autriche
  • Vienne est près de Valence
  • La Vienne fait partie de la région
    Poitou-Charentes
  • La Vienne se jette dans la Loire
  • Il faut absolument qu'il vienne

3
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

4
Granularité
  • Les étiquettes lexicales (catégorie grammaticale,
    genre, nombre) permettent déjà de distinguer 2
    des 3 sens
  • Luc a perdu la première manche Nfs
  • La chemise a perdu sa manche gauche Nfs
  • La pioche a perdu son manche Nms
  • mais cela ne distingue pas les 2 premiers qui
    sont pourtant très différents
  • La granularité n'est pas suffisante

5
Réseau sémantique
  • Comme un lexique mais
  • - plusieurs entrées différentes pour un mot
    ambigu
  • - une seule entrée pour plusieurs synonymes
  • Exemples d'entrées
  • 1. couillon - gogo - naïf - pigeon
  • 2. bar - loup - loup de mer - perche de mer
  • 3. bar - bistro - brasserie - café - estaminet
  • Une 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é)

6
Relations sémantiques
  • Relations entre synsets
  • X est une sorte de Y
  • bar - loup - loup de mer - perche de mer X
  • poisson - poiscaille Y
  • animal - bête Z
  • Y est une sorte de X
  • bar - bistro - brasserie - café - estaminet X
  • bar à vins Y

7
Relations sémantiques
  • X est une partie de Y
  • mets - plat
  • repas
  • Y est une partie de X
  • poiscaille - poisson
  • écaille
  • nageoire
  • ligne latérale
  • ouïe

8
Relations sémantiques
  • contraire
  • gagnant - vainqueur
  • perdant

9
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
  • La granularité de WordNet est beaucoup plus fine,
    parfois trop
  • Ex. 4 sens pour tribe "tribu"

10
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

11
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

12
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

13
Hyperonymes
timepiece/timekeeper/horologe
atomic clock
watch/ticker
sandglass
ammonia clock
sundial
...
caesium clock
timer
hourglass
clock
egg timer
alarm clock/alarm
chronograph
stopwatch/stopo watch
...
parking meter
14
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

15
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
  • Ontologies
  • Réseaux sémantiques plus structurés
  • Les noeuds ne sont pas forcément des synsets, ex.
    AlcoholicBeverage
  • Contiennent des connaissances formalisées, ex.
    toute boisson est un liquide, tout ce que
    quelqu'un boit est une boisson...

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

17
Exemple
  • Entrée sandglass
  • synset.assoc(1) egg timer, hourglass
  • synset.assoc(2) timepiece/timekeeper/horologe
  • synset.assoc(3) atomic clock, clock, sundial,
    timer, watch/ticker
  • synset.assoc(4) ammonia clock, caesium clock,
    alarm clock/alarm, chronograph, parking meter,
    stopwatch/stopo watch...
  • synset.assocLemmas(1) egg timer, hourglass
  • synset.assocLemmas(2) timepiece, timekeeper,
    horologe
  • synset.assocLemmas(3) atomic clock, clock,
    sundial, timer, watch, ticker
  • synset.assocLemmas(4) ammonia clock, caesium
    clock, alarm clock, alarm, chronograph, parking
    meter, stopwatch, stopo watch...

18
Levée d'ambiguïtés
  • Pour chaque mot ambigu, pour chaque occurrence,
    déterminer le sens précis
  • Objectifs
  • Recherche d'informations, traduction...
  • Le sens précis sera représenté par un synset
  • Hypothèse
  • Beaucoup de voisins d'un mot sont des hyponymes,
    des hyperonymes ou des coordonnés
  • Méthode
  • Pour chaque synset contenant le mot ambigu,
    compter les hyponymes, hyperonymes et coordonnés
    dans le voisinage

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

20
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

21
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
    mots
  • Critè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

22
Levée d'ambiguïtés avec WordNet
  • Entré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

23
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 synset possible s, on recueille les
    informations o ci-dessus
  • P(so) probabilité que le synset pertinent soit
    s connaissant o

24
Rappel la formule de Bayes
  • P(so)
  • valeur entre 0 et 1
  • argmaxs?S P(so)
  • la valeur de s?S pour laquelle P(so) est
    maximal
  • P(so) P(o) P(os) P(s)
  • formule de Bayes
  • argmaxs?S P(so) argmaxs?S P(os) P(s) /P(o)
  • argmaxs?S P(os) P(s)
  • car P(o) ne dépend pas de s

25
Application
  • o est un vecteur à n composantes o1 ... on
  • argmaxs?S P(so) argmaxs?S P(os) P(s)
  • ? argmaxs?S P(s) ?1?i?nP(ois)
  • 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(ois) 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

26
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

27
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

28
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

29
Apprentissage non supervisé et WordNet
  • Comparaison à WordNet
  • Pour chaque groupe, sélectionner les synsets dont
    la similarité avec la classe (similarité des
    vecteurs) est infé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
Write a Comment
User Comments (0)
About PowerShow.com