Cours 10 Rseaux smantiques Relations smantiques Word Net

  • Slides: 29
Download presentation
Cours 10 Réseaux sémantiques Relations sémantiques Word. Net Parcours d'un réseau sémantique Levée d'ambiguïtés

Cours 10 Réseaux sémantiques Relations sémantiques Word. Net Parcours d'un réseau sémantique Levée d'ambiguïtés Cooccurrence

Ambiguïtés Quand un mot est ambigu, ses utilisations correspondent à des sens différents Luc

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

Synonymes C'est un gros avion C'est un gros achat Luc est trop gros C'est

Synonymes C'est un gros avion C'est un gros achat Luc est trop gros C'est un grand avion ? C'est un grand achat Luc est trop grand Critère Possibilité de remplacer un mot par l'autre dans au moins un contexte sans "trop" changer le sens

Granularité Les étiquettes lexicales (catégorie grammaticale, genre, nombre) permettent déjà de distinguer 2 des

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 N: fs La chemise a perdu sa manche gauche N: fs La pioche a perdu son manche N: ms mais cela ne distingue pas les 2 premiers qui sont pourtant très différents La granularité n'est pas suffisante

Réseau sémantique Comme un lexique mais - plusieurs entrées différentes pour un mot ambigu

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

Relations sémantiques Relations entre synsets X est une sorte de Y bar - loup

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

Relations sémantiques X est une partie de Y mets - plat repas Y est

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

Relations sémantiques contraire gagnant - vainqueur perdant

Relations sémantiques contraire gagnant - vainqueur perdant

Word. Net Anglais Version 3. 0 : 120 000 synsets Miller, 1995 - Fellbaum,

Word. Net 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 Word. Net est beaucoup plus fine, parfois trop Ex. : 4 sens pour tribe "tribu"

Word. Net Principales relations entre synsets est un instance partie membre similaire V/V N/N

Word. Net Principales relations entre synsets est un instance partie membre similaire V/V N/N N/N A/A exhale/breathe; inhale/breathe cat/feline Eiffel Tower/tower France/European Union dying/moribund

Word. Net Principales relations entre lemmes contraire appartenance dérivé A/A good/bad A/N academic/academia Adv/A

Word. Net Principales relations entre lemmes contraire appartenance dérivé A/A good/bad A/N academic/academia Adv/A boastfully/boastful N/V killing/kill A/N dark/darkness

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

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

Hyperonymes timepiece/timekeeper/horologe atomic clock watch/ticker ammonia clock sandglass sundial caesium clock alarm clock/alarm hourglass

Hyperonymes timepiece/timekeeper/horologe atomic clock watch/ticker ammonia clock sandglass sundial caesium clock alarm clock/alarm hourglass egg timer chronograph. . . timer . . . stopwatch/stopo watch parking meter

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

Coordonnés d'un synset : les synsets qui ont un même hyperonyme Coordonnés de watch/ticker atomic clock sandglass sundial timer Les coordonnés d'un synset ne sont pas directement accessibles par les fonctions NLTK d'accès à Word. Net Recher les hyperonymes puis les hyponymes

Autres Word. Nets Euro. Word. Net Français (23 000 synsets), anglais, néerlandais, italien, espagnol,

Autres Word. Nets Euro. Word. Net Français (23 000 synsets), anglais, néerlandais, italien, espagnol, allemand, tchèque, estonien Liens entre langues et avec l'anglais Balka. Net 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. Alcoholic. Beverage Contiennent des connaissances formalisées, ex. toute boisson est un liquide, tout ce quelqu'un boit est une boisson. . .

Parcours d'un réseau sémantique Entrée : un synset Sorties : des ensembles de lemmes

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. assoc(2) = les hyperonymes de synset. assoc(3) = les coordonnés de synset. assoc(4) = les hyponymes des éléments de synset. assoc(3) pour i de 1 à 4 synset. assoc. Lemmas(i) = union des éléments de synset. assoc(i)

Exemple Entrée : sandglass synset. assoc(1) = egg timer, hourglass synset. assoc(2) = timepiece/timekeeper/horologe

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

Levée d'ambiguïtés Pour chaque mot ambigu, pour chaque occurrence, déterminer le sens précis Objectifs

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

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

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

Cooccurrence du premier ordre On utilise un corpus de référence qui peut être lemmatisé

Cooccurrence du premier ordre On utilise un corpus de référence qui peut être lemmatisé Deux mots m 1 et m 2 On calcule nb_occ(m 1), nb_occ(m 2) nb_occ(m 1, m 2) : nombre d'occurrences de m 1 et m 2 dans le même paragraphe ou dans le même document ou à une distance inférieure à un seuil (5 à 10 tokens) nb_occ(m 1, m 2)/nb_occ(m 1) x nb_occ(m 2) valeur comprise entre 0 et 1 Plus m 1 et m 2 apparaissent souvent ensemble, plus cette valeur se rapproche de 1

Cooccurrence du second ordre On utilise un corpus de référence qui peut être lemmatisé

Cooccurrence du second ordre On utilise un corpus de référence qui peut être lemmatisé Deux mots m 1 et m 2 On calcule voisins(m 1) et voisins(m 2), sacs de mots Critères : - paragraphe ou distance - différents de m 1 ou m 2 - catégorie nom ou pertinence D/d(v) On calcule la similarité entre les deux vecteurs (cosinus de l'angle) Plus m 1 et m 2 apparaissent avec les mêmes voisins, plus cette valeur est élevée

Levée d'ambiguïtés avec Word. Net Entrée : un texte étiqueté et lemmatisé ; Word.

Levée d'ambiguïtés avec Word. Net Entrée : un texte étiqueté et lemmatisé ; Word. Net ; 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. 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

Apprentissage supervisé de la levée d'ambiguïtés On utilise un corpus d'apprentissage dans lequel on

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(s|o) : probabilité que le synset pertinent soit s connaissant o

Rappel : la formule de Bayes P(s|o) valeur : entre 0 et 1 argmaxs

Rappel : la formule de Bayes P(s|o) valeur : entre 0 et 1 argmaxs S P(s|o) la valeur de s S pour laquelle P(s|o) est maximal P(s|o) P(o) = P(o|s) P(s) formule de Bayes argmaxs S P(s|o) = argmaxs S P(o|s) P(s) /P(o) = argmaxs S P(o|s) P(s) car P(o) ne dépend pas de s

Application o est un vecteur à n composantes o 1. . . on argmaxs

Application o est un vecteur à n composantes o 1. . . on argmaxs S P(s|o) = argmaxs S P(o|s) P(s) argmaxs S P(s) 1 i n. P(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

Apprentissage non supervisé On n'utilise pas de réseau sémantique Apprentissage On associe à chaque

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

Apprentissage non supervisé Chaque groupe représente un sens Levée d'ambiguïtés Pour une occurrence du

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

Apprentissage non supervisé et Word. Net Graphe de similarité Noeuds : les mots Arcs

Apprentissage non supervisé et Word. Net 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

Apprentissage non supervisé et Word. Net Comparaison à Word. Net Pour chaque groupe, sélectionner

Apprentissage non supervisé et Word. Net Comparaison à Word. Net 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