Analyse syntaxique Réseaux sémantiques

Slides:



Advertisements
Présentations similaires
L-System et modélisation de plantes…
Advertisements

Algorithmes et structures de données avancées Cours 7
Algorithmes et structures de données avancées Cours 6 Patrick Reuter
Classification et prédiction
Classification et prédiction
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Application de réseaux bayésiens à la détection de fumées polluantes
C.
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
Chap 1 Grammaires et dérivations.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
La fonction Style Permet de créer des types de texte, par exemple
Principe de défilement du document dans un traitement de texte
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Vers une approche de construction de composants ontologiques pour le web sémantique – synthèse et discussion. Nesrine Ben Mustapha (RIADI, ENSI Tunis)
Introduction à l'informatique linguistique
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
Représentation des connaissances Cours 2. Réseaux sémantiques
Récursivité.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
II. Chaînage, SDD séquentielles
Bibliothèque standard du C++
Méthode des k plus proches voisins
4 - Les automates et les lexiques morphologiques : le contenu mot fléchilemmepartie du discourstraits de flexion Habituellement, un lexique morphologique.
Publispostage Menu Outils / Lettres et publipostage
La segmentation
Bases de données lexicales
FICHIERS : Définition : Algorithme général:
LA STRUCTURE D'ARBRE-B Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Automates à pile LR Notion de poignée.
IFT Complexité et NP-complétude
Traduction dirigée par la syntaxe
Outils pour le traitement des textes Levée d'ambiguïtés morpho-syntaxiques Éric Laporte Université Paris-Est Marne-la- Vallée.
Outils pour le traitement des textes Levée d'ambiguïtés morpho-syntaxiques Éric Laporte Université Paris-Est Marne-la- Vallée.

Cours 7 Grammaires algébriques Constituants syntaxiques.
Cours 10 Réseaux sémantiques Relations sémantiques WordNet
Cours 2 Recherche d'informations Espace vectoriel des sacs de mots.
Les applications évoluées (traduction automatique) nécessitent beaucoup d'informations lexicales : délimitation des mots composés, lemmes... Cela fait.
Cours 6 Paires attribut-valeur Structures de traits Unification.
Syntaxe et analyse syntaxique Réseaux sémantiques
Syntaxe et analyse syntaxique
Le Sémiographe Outil générique pour effectuer des opérations texte sens texte ou texte sens actions
Algorithmes d ’approximation
Recherche Opérationnelle
Applications des langages hors-contextes Les analyseurs syntactiques ascendants GNU Yacc et Bison.
Chapitre 3 Syntaxe et sémantique.
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Partie II Sémantique.
Programmation dynamique
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Exploration systématique de graphes
Classification automatique de textes
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Paradigmes des Langages de Programmation
Le langage XML.
Optimisation de requêtes
Modes d’adressage (1) Référence aux cellules dans les formules – Important lors des copier/coller Adressage relatif (dépend de la cellule d’origine) –
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Arbres binaires et tables de hachage
Tutorat en bio-informatique
Projet : Automatiser la découverte de moyens mnémotechniques
Problème de double digestion
Cours LCS N°4 Présenté par Mr: LALLALI
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
L’enregistrement d’un classeur 1. Activer le menu « Fichier », 2. Choisir la commande « Enregistrer sous… », 3. Dans la boite du dialogue qui s’affiche,
Règles d’or à suivre en rédaction
Transcription de la présentation:

Analyse syntaxique Réseaux sémantiques Eric Laporte Institut Gaspard-Monge Université de Marne-la-Vallée France http://www-igm.univ-mlv.fr/~laporte/

Analyse syntaxique Réseaux sémantiques Analyse syntaxique ascendante Analyse syntaxique descendante Réseaux sémantiques Relations sémantiques WordNet Parcours d'un réseau sémantique Levée d'ambiguïtés Cooccurrence

Têtes des constituants Le mot le plus important de chaque constituant est appelé sa tête P (préfère) GN (compagnie) GN (Luc) Det (cette) N (compagnie) Luc préfère cette compagnie

Grammaires de dépendance On remplace chaque symbole non terminal par la tête correspondante, puis on supprime le noeud redondant Arbre de dépendance préfère préfère compagnie compagnie Luc Luc compagnie cette cette Luc préfère cette compagnie

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 objet sujet compagnie Luc déterminant cette

Lexicalisation Lorsqu'un mot a des compléments, la forme des compléments dépend du mot P --> GN <préférer> GN à GN Luc préfère cette compagnie à la concurrence P --> GN <quitter> GN Luc quitte Paris P --> GN <partir> Prép GN Luc part pour Toulouse Nombre de compléments Prépositions devant les compléments Grammaire lexicalisée Chaque 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

Grammaires non lexicalisées On regroupe tous les mots qui entrent dans une même construction On fait une règle commune P --> GN V GN à GN { V.N1àN2 = "+" ; } Luc préfère cette compagnie à la concurrence P --> GN V GN { V.N1 = "+" ; } Luc quitte Paris Luc préfère cette compagnie P --> GN V Prép GN { V.PrépN1 = "+" ; V.Prép = Prép ; } Luc part pour Toulouse

Analyse syntaxique Parsing Entrées : une phrase étiquetée et une grammaire algébrique Sorties : le ou les arbres de dérivation de la phrase Algorithmes Ascendants Descendants Programmation dynamique Cascade de transducteurs

Transducteurs Un 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 4 Transitions : 0b/p1 1r/f2 2r/f3 3/2 3!/!4 Etats initiaux : 0 Etats finaux : 4 b/p !/! r/f r/f 4 1 2 3 /

Transducteurs Les règles d'une grammaire algébrique peuvent être représentées par des transducteurs Exemple : 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 @/@ @/@ Det/ N/ /GN 3 1 2 @/@

Cascade de transducteurs Mode 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+1 Sortie : 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

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+1 jusqu'à Si-1 = Si Sortie : Si Si Si contient l'axiome, S0 est conforme à la grammaire Pour construire l'arbre de dérivation, il faut marquer les relations entre les séquences de Si et celles de Si+1

Exemple de grammaire algébrique P --> GN <disparaître> P --> GN <empirer> P --> GN <orchestrer> GN P --> GN <aimer> GN GN --> Det N GN --> Npr Det --> <le> Det --> <ce> Det --> <un> Det --> tous les Det --> toutes les N --> <mélodie> N --> <corruption> N --> <orchestre> N --> <empire> Npr --> Luc Npr --> Anne

Algorithme (1/2) ensSeqArbres = un ensemble de séquences d'arbres vide pour chaque combinaison de non-terminaux compatible avec phrase ensSeqArbres.ajouterSeqArbres(combinaison) tant que ensSeqArbres n'est pas vide nouvEnsSeqArbres = un ensemble de séquences d'arbres vide pour 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)

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

Inconvénients On utilise peu la grammaire Avec Les orchestres aiment cette mélodie, toutes les séquences qui contiennent <orchestrer> suivi de <aimer> sont incompatibles avec la grammaire

Analyse syntaxique descendante Les orchestres aiment cette mélodie P P P GN <disparaître> GN <disparaître> Det N P GN <disparaître> Det N <le>

Analyse descendante P P GN <disparaître> GN <disparaître> exploration arborescente : on essaye autre chose Det N Det N <le> <le> <mélodie> <corruption> P P GN <disparaître> GN <disparaître> Det N Det N <le> <le> <orchestre> <empire>

Analyse descendante P P GN <disparaître> etc. GN <empirer> Npr P P GN <aimer> GN GN <orchestrer> GN

Arbre produit P GN GN <aimer> Det N Det N <ce> <mélodie> <le> <orchestre>

Analyse descendante phrase.desc(arbre, feuilleCourante, tokenCourant) : pour chaque feuille1 à partir de feuilleCourante symbole = feuille1.étiquette si symbole est terminal si symbole est compatible avec token token = phrase.suivant(token) sinon détruire arbre ; sortir de la fonction sinon 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 fonction arbre.écrire()

Inconvénients On utilise peu le texte Avec 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é gauche Une règle comme GN --> GN Adj lance l'algorithme dans une boucle infinie

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

Les sous-arbres Un 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 P GN GN Det N Det N <le> <orchestre> <aimer> <ce> <mélodie> 0 1 2 3 4 5

Les sous-arbres Exemple 2 GN --> Det N . 0-2 Exemple 3 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 P GN GN Det N Det N <le> <orchestre> <aimer> <ce> <mélodie> 0 1 2 3 4 5

L'algorithme On 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

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)

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)

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

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

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 Hyponyme - hyperonyme

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 Méronyme - holonyme

Relations sémantiques contraire gagnant - vainqueur perdant Antonyme

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

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

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

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 timer hourglass clock egg timer alarm clock/alarm chronograph stopwatch/stopo watch ... parking meter

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

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

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)

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

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

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

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

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

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 o1 ... on argmaxsS P(s|o) = argmaxsS P(o|s) P(s)  argmaxsS P(s) 1inP(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 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 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 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

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