37
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

Représentation des connaissances Cours 2. Réseaux sémantiques

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Représentation des connaissances Cours 2. Réseaux sémantiques

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

Page 2: Représentation des connaissances Cours 2. Réseaux sémantiques

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

Page 3: Représentation des connaissances Cours 2. 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 4: Représentation des connaissances Cours 2. Réseaux sémantiques

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

Page 6: Représentation des connaissances Cours 2. Réseaux sémantiques

Systèmes de représentation des

connaissancesMéthodes symboliques

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

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

Méthodes non symboliques

On utilise les symboles uniquement pour l'entrée et la sortie des programmes de résolution de problèmes

Les 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

Systèmes de représentation des

connaissancesLes connaissances et le logiciel de raisonnement

Les langages Prolog et Lisp permettent de mélanger la représentation des connaissances dans le logiciel

Représentation des connaissances

Experts du domaine

Explicite

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

Systèmes de représentation des

connaissances

Éditer

Ajouter, supprimer, modifier des éléments

Tester

Cohérence, non-régression

Consulter

Quelles 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éseau sémantique

Origine

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

Noeuds

Les concepts : plusieurs noeuds différents pour un mot ambigu,

un seul noeud pour plusieurs synonymes

Exemples de noeuds

1. couillon - gogo - naïf - pigeon

2. bar - loup - loup de mer - perche de mer

3. bar - bistro - brasserie - café - estaminet

Page 10: Représentation des connaissances Cours 2. Réseaux sémantiques

Réseau sémantique

Arcs

Relations entre concepts

Exemples d'arcs

humain,

personne

cheveux,

tifs,

chevelure

a

enfant sucreaime

Page 11: Représentation des connaissances Cours 2. Réseaux sémantiques

Réseau sémantique

Instances

Individus uniques

Classes

La plupart des concepts peuvent correspondre à plusieurs individus

humain,

personne

cheveux,

tifs,

chevelure

a

Luc Marieaime

a

Page 12: Représentation des connaissances Cours 2. Réseaux sémantiques

Relations sémantiques

Relation instance/classe

X est un Y

Luc X

personne - humain Y

X est un Y

Tour Eiffel X

monument Y

Page 13: Représentation des connaissances Cours 2. Réseaux sémantiques

Relations sémantiques

Relation instance/classe

Pour les personnes, certains lieux... les instances ont des noms

Luc la Tour Eiffel

Pour d'autres types d'entités, les instances n'ont pas de noms

les cheveux de Luc

Pour certains concepts, il n'y a pas d'instances

bleu

rapide

air

Page 14: Représentation des connaissances Cours 2. Réseaux sémantiques

Relations sémantiques

Relations permettant des classifications : entre classes

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

Page 15: Représentation des connaissances Cours 2. Réseaux sémantiques

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 16: Représentation des connaissances Cours 2. Réseaux sémantiques

Relations sémantiques

contraire

gagnant - vainqueur

perdant

Page 17: Représentation des connaissances Cours 2. Réseaux sémantiques

Réseau sémantique

Classification

Héritage de propriétés

humain,

personne

cheveux,

tifs,

chevelurea

Luc Marieaime

homme,

mec, garsfemme,

nana

est un est un

sorte desorte de

Page 18: Représentation des connaissances Cours 2. Réseaux sémantiques

WordNetCélèbre réseau sémantique

Noeuds : « synsets »

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

Définitions informelles

Any of various mostly cold-blooded aquatic vertebrates usually having scales and breathing through gills

Page 19: Représentation des connaissances Cours 2. 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

La granularité de WordNet est beaucoup plus fine, parfois

trop

Ex. : 4 sens pour tribe "tribu"

Page 20: Représentation des connaissances Cours 2. Réseaux sémantiques

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 21: Représentation des connaissances Cours 2. 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 22: Représentation des connaissances Cours 2. 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 23: Représentation des connaissances Cours 2. Réseaux sémantiques

Hyperonymes

timepiece/timekeeper/horologe

atomic clock

clock

sandglass

sundialtimer

watch/ticker

ammonia clock

caesium clock

alarm clock/alarmegg timer

hourglass

chronograph

parking meter

stopwatch/stopo watch

...

...

Page 24: Représentation des connaissances Cours 2. 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 25: Représentation des connaissances Cours 2. 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

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

Page 26: Représentation des connaissances Cours 2. Réseaux sémantiques

Voisins dans 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 27: Représentation des connaissances Cours 2. Réseaux sémantiques

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

Page 28: Représentation des connaissances Cours 2. Réseaux sémantiques

Levée d'ambiguïtés

Problème

Objets ambigus : des occurrences de mots dans des documents

Pour chaque occurrence, déterminer le sens précis et le représenter par un objet informatique

Objectifs

Recherche d'informations, traduction...

Méthodes

On utilise le contexte de l'occurrence (mots voisins dans le document) : cooccurrents

Taille du contexte : nombre de mots, phrase, paragraphe...

Page 29: Représentation des connaissances Cours 2. Réseaux sémantiques

Levée d'ambiguïtés par réseau

Chaque occurrence a des voisins dans le document : cooccurrents

Chaque synset a des voisins dans le réseau : lemmes membres et lemmes associés

Similarité entre une occurrence et un synset

On compare l'ensemble des cooccurrents et l'ensemble des lemmes associés

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

Page 30: Représentation des connaissances Cours 2. Réseaux sémantiques

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

Page 31: Représentation des connaissances Cours 2. Réseaux sémantiques

Levée d'ambiguïtés sans réseau

Chaque occurrence a des voisins dans le document : cooccurrents

Similarité entre deux occurrences

On compare les ensembles de cooccurrents

Le sens précis sera représenté par un ensemble de cooccurrents

Hypothèse

Deux occurrences ont les mêmes voisins si et seulement si ils sont employés dans le même sens

Cooccurrence du second ordre

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

Page 32: Représentation des connaissances Cours 2. Réseaux sémantiques

Cooccurrence

Cooccurrence (du premier ordre)

Deux mots sont cooccurrents (du premier ordre) s'ils sont

voisins

Exemple : vendre/produit

Cooccurrence du second ordre

Deux mots sont cooccurrents du second ordre s'ils ont les

mêmes voisins

Exemple : vendre/acheter

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

Page 33: Représentation des connaissances Cours 2. Réseaux sémantiques

Levée d'ambiguïtés sans réseau

Similarité entre deux occurrences

On compare les ensembles de cooccurrents

Chaque ensemble de cooccurrents est un vecteur dans un espace multidimensionnel

Coordonnées des vecteurs :

- nombre d'occurrences dans le contexte

- ou 0 ou 1

Similarité entre deux vecteurs

Produit scalaire : Σaibi nul si les vecteurs n'ont jamais de coordonnées non nulles dans une même dimension

Cosinus de l'angle : (Σaibi)/(║a║║b║)

Page 34: Représentation des connaissances Cours 2. Réseaux sémantiques

Levée d'ambiguïtés sans réseau

Apprentissage non supervisé

Corpus d'apprentissage

Regroupement (clustering) de vecteurs dans un espace

On regroupe les vecteurs les plus similaires

Pour chaque groupe, un vecteur moyen

Apprentissage supervisé

On marque les sens des occurrences de mots ambigus

Pour chaque sens, un vecteur moyen

Levée d'ambiguïtés

Similarité entre le vecteur contexte et chaque vecteur moyen

Page 35: Représentation des connaissances Cours 2. Réseaux sémantiques

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 36: Représentation des connaissances Cours 2. Réseaux sémantiques

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

Page 37: Représentation des connaissances Cours 2. Réseaux sémantiques

FrameNet

Cadres

Relations entre cadres

1 000

Entrées lexicales

Relations avec les cadres

12 000

Occurrences

Tirées de textes préexistants et annotées

150 000 phrases

Projet de l'université de Berkeley