représentation des connaissances cours 2. réseaux sémantiques réseaux sémantiques systèmes de...

32
Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet Parcours d'un réseau sémantique Levée d'ambiguïtés Cadres ou Frames

Upload: narcisse-lemaitre

Post on 03-Apr-2015

114 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Représentation des connaissancesCours 2. Réseaux sémantiques

Réseaux sémantiques

Systèmes de représentation des connaissances

Relations sémantiques

WordNet

Parcours d'un réseau sémantique

Levée d'ambiguïtés

Cadres ou Frames

Page 2: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 3: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 4: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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

Page 5: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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é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 (noeud du réseau)

Page 6: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Systèmes de représentation des connaissances

Méthodes symboliquesOn représente les concepts et propositions par des symboles formels :

prédicats, formules, noeuds du réseau...On manipule les symboles pour produire des résultats sous la forme de

nouveaux symbolesLes symboles forment un système de représentation des connaissances

Méthodes non symboliquesOn utilise les symboles uniquement pour l'entrée et la sortie des

programmes de résolution de problèmesLes programmes eux-mêmes utilisent des statistiques, des probabilités,

des réseaux de neurones, des algorithmes génétiques...

Page 7: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Systèmes de représentation des connaissances

Les connaissances et le logiciel de raisonnementLes langages Prolog et Lisp permettent de mélanger la

représentation des connaissances dans le logiciel

Représentation des connaissances Experts du domaineExpliciteDéclaratif

Logiciel de raisonnement Développeurs

Ce sont des métiers différents : mieux vaut séparer

Page 8: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Systèmes de représentation des connaissances

Éditer Ajouter, supprimer, modifier des éléments

TesterCohérence, non-régression

ConsulterQuelles sont les propositions compatibles avec les connaissances ?Une proposition donnée est-elle compatible ?

Page 9: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Réseau sémantiqueOrigineRéflexion sur la mémoire associative humaine, le langage

NoeudsLes concepts : plusieurs noeuds différents pour un mot ambigu,un seul noeud pour plusieurs synonymes

Exemples de noeuds1. couillon - gogo - naïf - pigeon2. bar - loup - loup de mer - perche de mer3. bar - bistro - brasserie - café - estaminet

Page 10: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Réseau sémantique

ArcsRelations entre concepts

Exemples d'arcs

humain, personne

cheveux, tifs,

chevelure

a

Luc Marieaime

Page 11: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Relations sémantiques

Relations permettant des classifications

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

Page 12: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Relations sémantiques

Relations permettant des classifications

X est un YLuc X

personne - humain Y

X est un YTour Eiffel X

monument Y

Page 13: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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

Page 14: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Relations sémantiques

contraire

gagnant - vainqueur

perdant

Page 15: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Réseau sémantique

Classification

Héritage de propriétés

humain, personne

cheveux, tifs,

chevelurea

Luc Marieaime

homme, mec, gars

femme, nana

est un est un

sorte de sorte de

Page 16: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

WordNetCélèbre réseau sémantiqueNoeuds : « synsets »1. 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é)Définitions informellesAny of various mostly cold-blooded aquatic vertebrates usually

having scales and breathing through gills

Page 17: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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"

Page 18: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

WordNet

Principales relations entre synsets

sorte de V/V exhale/breathe; inhale/breathe

sorte de N/N cat/feline

est un N/N Eiffel Tower/tower

partie N/N France/Europe

membre N/N France/European Union

similaire A/A dying/moribund

Page 19: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 20: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 21: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 22: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 23: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Autres WordNets

EuroWordNetFrançais (23 000 synsets), anglais, néerlandais, italien, espagnol,

allemand, tchèque, estonienLiens entre langues et avec l'anglaisBalkaNetTchèque, roumain, grec, turc, bulgare, serbeOntologiesRéseaux sémantiques plus structurésLes noeuds ne sont pas forcément des synsets, ex.

AlcoholicBeverageContiennent des connaissances formalisées, ex. toute boisson est un

liquide, tout ce que quelqu'un boit est une boisson...

Page 24: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 25: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 26: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 27: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 28: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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)

2 . nb_occ(m1, m2)/(nb_occ(m1) + nb_occ(m2))

valeur comprise entre 0 et 1

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

Page 29: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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(m)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 30: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

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 31: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Cadres ou Frames

Origine

Marvin Minsky, années 1970

Un cadre représente un concept

Il a un nom et des attributs ou propriétés

Chaque attribut est décrit par un nom et des paires facette/valeur

Luc

(est-un (valeur personne))

(s'appelle (valeur Luc))

(fils-de (valeur Jean))

Page 32: Représentation des connaissances Cours 2. Réseaux sémantiques Réseaux sémantiques Systèmes de représentation des connaissances Relations sémantiques WordNet

Cadres ou Frames

Un cadre représente une personne ou un concept concret ou abstrait

Facettes

valeur, défaut

types : doit-être, possibilité, liste-de, intervalle...

attachements procéduraux : si-besoin, si-ajout, si-modif, si-supprime

Personne

(âge (doit-être entier) (si-besoin (compter ...)))

Planète

(a-atmosphère (doit-être booléen) (défaut faux))