• Aucun résultat trouvé

Représentation des connaissances

N/A
N/A
Protected

Academic year: 2022

Partager "Représentation des connaissances"

Copied!
37
0
0

Texte intégral

(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

Parcours d'un réseau sémantique Levée d'ambiguïtés

Cadres ou Frames

(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 achatC'est un grand achat Luc est trop grosLuc 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 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

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

(6)

Systèmes de représentation des connaissances

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

(7)

Systèmes de représentation des connaissances

Les 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

(8)

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 ?

(9)

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

(10)

Réseau sémantique

Arcs

Relations entre concepts Exemples d'arcs

humain, personne

cheveux, tifs, chevelure a

enfant aime sucre

(11)

Réseau sémantique

Instances

Individus uniques Classes

La plupart des concepts peuvent correspondre à plusieurs individus

humain, personne

cheveux, tifs, chevelure a

Luc aime Marie

a

(12)

Relations sémantiques

Relation instance/classe X est un Y

Luc X

personne - humain Y X est un Y

Tour Eiffel X

monument Y

(13)

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

(14)

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

(15)

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

(16)

Relations sémantiques

contraire

gagnant - vainqueur

perdant

(17)

Réseau sémantique

Classification

Héritage de propriétés

humain, personne

cheveux, tifs, chevelure

a

Luc

aime

Marie

homme, mec, gars

femme, nana

est un est un

sorte de sorte de

(18)

WordNet

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

(19)

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"

(20)

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

(21)

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

(22)

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

(23)

Hyperonymes

timepiece/timekeeper/horologe atomic clock

clock

sandglass

sundial

timer

watch/ticker ammonia clock

caesium clock

alarm clock/alarm egg timer

hourglass

chronograph

parking meter

stopwatch/stopo watch ...

...

(24)

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

(25)

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

(26)

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)

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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é

(32)

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

(33)

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 : Σa

i

b

i

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

Cosinus de l'angle : (Σa

i

b

i

)/(║a║║b║)

(34)

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

(35)

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

(36)

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

(37)

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

Références

Documents relatifs

D'après le théorème : si deux triangles ont un angle égal compris entre deux côtés égaux deux à deux, alors ces deux triangles sont isométriques.. Donc les triangles ABC

La formulation du lycée est une forme condensée qui ne doit pas faire oublier qu’il s’agit en fait de deux énoncés (énoncé direct et énoncé réciproque). Cela est fondamental

Les droites (AB) et (CD) sont parallèles si et seulement si −→. AB

Ces enfants sont pris en charge par des figures de soins professionnelles (éducateurs). L’objectif du présent mémoire de maîtrise est de mieux comprendre l’expérience

[r]

[r]

La matrice A est inversible car l'algorithme du pivot partiel permet de se ramener à une forme triangulaire, on peut poursuivre alors pour calculer l'inverse.. Il existe un

3) Montrer en utilisant la question pr´ ec´ edente que l’image d’un parall´ elogramme par une application affine est un