Cours 6 - PowerPoint PPT Presentation

About This Presentation
Title:

Cours 6

Description:

Les valeurs d'un attribut peuvent tre des constantes ou des variables. quations ... Exemple avec valeurs inconnues. viendrai [ catgram='verbe' lemme ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 29
Provided by: lapo4
Category:
Tags: cours | inconnues

less

Transcript and Presenter's Notes

Title: Cours 6


1
Cours 6
  • Paires attribut-valeur
  • Structures de traits
  • Unification

2
Paires attribut-valeur
  • Étiquettes lexicales
  • viendrai
  • catgram"verbe"
  • lemme"venir"
  • temps"futur"
  • personne"1"
  • nombre"singulier"

je catgram"pronom" personne"1" nombre"singu
lier"
Contraintes Je viendrai Tu viendrai Il
viendrai Je viendras Tu viendras Il
viendras Je viendras Tu viendra Il
viendra token1.personne token2.personne token1
.nombre token2.nombre
3
Paires attribut-valeur avec variables
  • Étiquettes lexicales
  • viendrai
  • catgram"verbe"
  • lemme"venir"
  • temps"futur"
  • personnepersonneVerbe
  • nombrenombreVerbe

je catgram"pronom" personnepersonnePronom no
mbrenombrePronom
Les valeurs d'un attribut peuvent être des
constantes ou des variables Équations exprimant
les contraintes d'accord token1.personneVerbe
token2.personnePronom token1.nombreVerbe
token2.nombrePronom
4
Paires attribut-valeur avec structures
  • viendrai
  • catgram"verbe"
  • lemme"venir"
  • temps"futur"
  • accord
  • personnepersonneVerbe
  • nombrenombreVerbe

je catgram"pronom" accord personneperson
nePronom nombrenombrePronom
La valeur d'un attribut peut être un ensemble de
paires attribut-valeur (récursif) token1.accord
token2.accord
5
Structures de traits
  • Une structure de traits (feature structure) peut
    être
  • - un ensemble de paires attribut-valeur, dans les
    quelles chaque valeur est une structure de traits
  • - une constante simple ("singulier")
  • - vide (dans le cas d'une valeur inconnue)
  • - un pointeur sur structure de traits
  • Les pointeurs permettent à deux structures de
    traits d'avoir une partie commune

6
Exemple avec valeurs inconnues
viendrai catgram"verbe" lemme"venir" temps"
futur" personne(vide) nombre(vide)
Utilisation - quand on ne connaît pas les
valeurs de la personne et du nombre - exprimer
des contraintes indépendantes de ces valeurs
7
Exemple avec partie partagée
  • viendrai
  • catgram"verbe"
  • lemme"venir"
  • temps"futur"
  • accord
  • personne"1"
  • nombre"singulier"

je catgram"pronom" accord(pointeur)
Le partage entre la structure viendrai et la
structure je est équivalent à l'équation token1.a
ccord token2.accord Pour chaque valeur
d'attribut, on aura un contenu (constante ou
structure ou vide) et un pointeur (éventuellement
nul)
8
Structures de traits
  • Représentation par un graphe acyclique

catgram
contenu "verbe" pointeur
lemme
contenu pointeur
contenu "venir" pointeur
temps
contenu "futur" pointeur
accord
personne
contenu "1" pointeur
contenu

pointeur
contenu pointeur
temps
contenu "singulier" pointeur
9
Structures de traits
  • Chaque noeud du graphe est soit une constante
    simple, soit un ensemble de traits
    attribut-valeur
  • Pour chaque valeur d'attribut, on a un contenu et
    un pointeur
  • Le contenu peut être vide
  • Le pointeur peut être nul
  • Si le contenu n'est pas vide et le pointeur n'est
    pas nul, c'est le pointeur qui représente la
    valeur de l'attribut
  • Si S est une structure de traits, deref(S) est le
    noeud du graphe acyclique trouvé dans le champ
    pointeur ou dans le champ contenu
  • deref(feature-structure S)
  • if (S.pointer is null)
  • return S.content
  • else return S.pointer

10
Unification
  • Unifier deux structures de traits s1 et s2, c'est
    construire une structure qui contient l'union des
    informations de s1 et de s2 en supposant qu'elles
    décrivent la même chose
  • Comparaison d'informations
  • nombre"singulier" ? nombre"singulier"
  • nombre"singulier"
  • nombre"singulier" ? nombre"pluriel"
  • --gt échec
  • nombre"singulier" ? nombre(vide)
  • nombre"singulier"

11
Exemples
  • Combinaison d'informations
  • personne"1" ? nombre"singulier"
  • personne"1"
  • nombre"singulier"
  • nombre"singulier" ? (vide)
  • nombre"singulier"

12
Exemple avec partie partagée dans la même
structure
  • sujet
  • catgram"pronom"
  • accord(pointeur)
  • verbe
  • catgram"verbe"
  • lemme"venir"
  • temps"futur"
  • accord
  • personne"1"
  • nombre"singulier"
  • Représente Je viendrai avec un sujet et un verbe

13
Exemple d'unification avec pointeurs
  • sujet accord(pointeur)
  • verbe catgram"verbe"
  • accord personne"1"
  • nombre"singulier"
  • ?
  • sujet accord personne"1"
  • nombre"singulier"
  • sujet accord(pointeur)
  • verbe catgram"verbe"
  • accord personne"1"
  • nombre"singulier"

14
Exemple d'unification avec pointeurs
  • sujet accord(pointeur)
  • verbe catgram"verbe"
  • accord (vide)
  • ?
  • sujet accord personne"3"
  • nombre"singulier"
  • sujet accord(pointeur)
  • verbe catgram"verbe"
  • accord personne"3"
  • nombre"singulier"

15
Exemple d'unification sans pointeurs
  • sujet accord nombre"singulier"
  • verbe catgram"verbe"
  • accord nombre"singulier"
  • ?
  • sujet accord personne"3"
  • nombre"singulier"
  • sujet accord personne"3"
  • nombre"singulier"
  • verbe catgram"verbe"
  • accord nombre"singulier"

16
Exemple d'échec d'unification
  • sujet accord(pointeur)
  • verbe catgram"verbe"
  • accord personne"1"
  • nombre"singulier"
  • ?
  • sujet accord personne"3"
  • nombre"singulier"
  • verbe catgram"verbe"
  • accord personne"1"
  • nombre"singulier"
  • --gt échec

17
Subsomption
  • S1 ? S2 (S1 subsume S2) veut dire que S1 est plus
    générale que S2
  • - pour tout attribut a de S1, S1(a) ? S2(a)
  • - pour tous chemins c et d de S1 tels que
    S1(c)S1(d), S2(c)S2(d)
  • Toutes les informations présentes dans S1 sont
    présentes aussi dans S2 sans contradictions
  • personne"1" ? personne"1"
  • nombre"singulier"
  • (vide) ? nombre"singulier"

18
Exemple
  • sujet accord(pointeur)
  • verbe catgram"verbe"
  • accord (vide)
  • ?
  • sujet accord(pointeur)
  • verbe catgram"verbe"
  • accord personne"1"
  • nombre"singulier"

19
Subsomption et unification
  • S1 ? S2 est la structure de traits la plus
    générale S3 telle que
  • S1 ? S3 et S2 ? S3
  • S1 ? S2 contient toutes les informations de S1 et
    de S2

20
Algorithme d'unification
  • Un algorithme d'unification entre S1 et S2
    destructif (dans le cas général, il modifie S1 et
    S2)
  • Après l'unification, S1 et S2 contiennent chacun
    le résultat de l'unification
  • L'algorithme ajoute des pointeurs entre S1 et S2

21
données
nombre
contenu "singulier" pointeur
contenu pointeur
personne
contenu "1" pointeur
contenu pointeur
résultat
nombre
contenu "singulier" pointeur
contenu pointeur
personne
contenu

pointeur
personne
contenu
contenu "1" pointeur

pointeur
22
Algorithme d'unification
  • unify(featureStructure f1, featureStructure f2)
  • / renvoie soit une structure de traits soit
    "failure" /
  • f1Node deref(f1)
  • f2Node deref(f2)
  • if (f1Node is null) f1.pointer f2 return
    f2
  • else if (f2Node is null) f2.pointer f1
    return f1
  • else if (f1Node f2Node) f1.pointer f2
    return f2
  • else if (both f1Node and f2Node contain
    feature-value pairs)
  • for each feature2 in f2Node
  • feature1 find or create in f1Node a
    feature corresponding to feature2
  • if (unify(feature2.value,feature1.value)"f
    ailure")
  • return "failure"
  • f2.pointer f1
  • return f1
  • else return "failure"

23
données
personne
contenu

contenu pointeur
pointeur
personne
contenu
contenu "1" pointeur

pointeur
résultat
personne
contenu
contenu pointeur

pointeur
personne
contenu
contenu "1" pointeur

pointeur
24
données
contenu

pointeur
contenu "1" pointeur
résultat
contenu
pointeur
contenu "1" pointeur
25
données
nombre
contenu "singulier" pointeur
contenu pointeur
personne
contenu

pointeur
personne
contenu
contenu "1" pointeur

pointeur
résultat
nombre
contenu "singulier" pointeur
contenu pointeur
personne
contenu

pointeur
personne
contenu
contenu "1" pointeur

pointeur
26
données
nombre
contenu "singulier" pointeur
accord
contenu pointeur
personne
contenu
contenu

pointeur
pointeur
personne
accord
contenu
contenu "1" pointeur

contenu

pointeur
pointeur
nombre
contenu "singulier" pointeur
résultat
personne
accord
contenu pointeur
contenu
contenu



pointeur
pointeur
contenu "1" pointeur
contenu
accord


contenu

pointeur
personne
pointeur
27
Utilisation pratique
  • viens
  • catgram"verbe"
  • lemme"venir"
  • temps"futur"
  • accord
  • personne"1"
  • nombre"singulier"

je catgram"pronom" accord personne"1"
nombre"singulier"
On peut représenter une contrainte d'accord par
une équation token1.accord
token2.accord Pour voir si l'équation est
vérifiée, on unifie les deux structures de
traits Dans ce cas, succès
28
Utilisation pratique
  • viens
  • catgram"verbe"
  • lemme"venir"
  • temps"futur"
  • accord
  • personne"2"
  • nombre"singulier"

je catgram"pronom" accord personne"1"
nombre"singulier"
token1.accord token2.accord Dans ce cas, échec
de l'unification Si je est le sujet de viens,
viens n'est pas à la 2e personne viens,VP1s vien
s,VP2s on lève une ambiguïté
Write a Comment
User Comments (0)
About PowerShow.com