• Aucun résultat trouvé

Le modèle d’interprétation constructionnelle est principalement fondé sur la grammaire de construction. A ce titre, nous avons fondé le formalisme permettant de décrire les différents concepts du modèle d’interprétation constructionnel sur une forme proche du formalisme des grammaires de constructions. Nous avons choisi plus précisément de nous inspirer du formalisme utilisé pour la grammaire ECG (Bergen and Chang,2002).

4.2.1 Schémas

Les schémas permettent de représenter le contenu informationnel manipulé par les construc- tions situées. Leur définition est principalement issue de la sémantique des frames (Fillmore, 1982). Un schéma S est défini par plusieurs groupes de caractéristiques :

hérite de Ce champ désigne le ou les schémas desquels S va hériter les rôles et les contraintes. Le schéma S a ainsi accès à tous les éléments définis dans ses schémas parents (son schéma parent direct, le schéma parent de celui-ci, et ainsi de suite).

Il faut noter une nette différence entre ce type d’héritage et l’héritage défini dans la sémantique des frames de Fillmore (et aussi l’héritage du paradigme de programmation orienté objet). En effet, alors que l’héritage dans la sémantique des frames décrit une liaison ontologique impliquant une prise en compte de la généralisation, l’héritage dans

schéma <Schéma> hérite de <Schéma> évoque <instance> : <Schéma> rôles <rôle>

<rôle> : <Type> // Plusieurs types sont prédéfinis (Entiers, Réels, Chaîne Phonétique, ...)

<rôle> : <Schéma>

contraintes

<rôle> ← <valeur> // valeur assignée

<rôle> ↔ <rôle-local | instance.rôle> // les valeurs des deux côtés sont identiques

<prédicat(<rôle>, <rôle>)>

Spécification 3: Description d’un Schéma dans le modèle d’interprétation constructionnelle.

le modèle d’interprétation constructionnelle n’est qu’un héritage des propriétés descrip- tives.

Illustration : soit un schéma X ayant un rôle a contraint à être de type A et un schéma

b de type B qui hérite du type A ; dans la grammaire de construction, a peut être

« rempli » par b directement ; dans le modèle d’interprétation constructionnelle, il faut qu’une construction soit définie explicitement, qui permette de définir la relation entre un schéma de type A et un schéma de type B, ce qui fera que b sera transformé en b’ de type A, b’ pouvant alors être utilisé pour remplir a.

Enfin, il faut noter que contrairement aux langages de programmation, aucun méca- nisme ne permet de limiter l’accessibilité des éléments (déclarations privées, protégées ou publiques dans les langages orientés objet).

évoque Désigne les schémas qui ont un rapport avec le schéma principal S. Par exemple, un schéma décrivant un déplacement évoque un schéma de type schéma-mouvement-causé (caused-motion-schema), même s’il ne donne pas les informations sur tous les rôles de ce schéma. On peut comparer les schémas évoqués à ce qui, dans le paradigme objet, est désigné par le nom d’association, par opposition aux compositions, qui elles, s’ap- prochent davantage des rôles définis ci-dessous et décrivent les éléments qui font partie intégrante de l’information définie par le schéma.

Le mécanisme d’évocation a été introduit dans la grammaire ECG afin de donner une expressivité plus grande que le simple héritage. L’idée est qu’un schéma évoqué existe en-dehors du schéma S, ce qui permet par la suite de « fusionner » deux schémas par- tiellement décrits provenant de deux sources différentes.

Un schéma évoqué est libellé par une étiquette qui permettra de le référencer dans les contraintes du schéma ou dans les contraintes des constructions situées qui y réfèrent. rôles Ce champ décrit les attributs et liaisons qui définissent le schéma. C’est donc lui qui

permet de donner le cadre du contenu informationnel des instances du schéma et leur composition. Chaque attribut est défini par un type, qui peut être un schéma ou un type atomique (types caractère, entier, réel, etc.). Un attribut représente une valeur intrin- sèque au schéma, qui ne peut pas être partagée par plusieurs schémas, contrairement aux éléments évoqués.

plicitement, mais définie par les contraintes qui s’appliquent dessus.

Pour désigner un rôle, on utilise la notation par chaîne d’attributs, par exemple : mou-

vement.cause ou bien encore figure.couleurRGB.composanteRouge .

contraintes Les contraintes définissent les relations qui doivent être vérifiées entre les dif- férents champs rôles (y compris les rôles hérités et les rôles des schémas évoqués). Plusieurs types de contraintes sont définies, dont :

L’assignation, exprimée par l’opérateur ←. L’assignation force un rôle à être rempli par une certaine valeur. La partie gauche de l’assignation est forcément un rôle, sa partie droite est forcément une valeur constante. Exemple : patient.genre ← MASCULIN.

L’identification, exprimée par l’opérateur ↔. L’identification contraint ses deux par- ties à avoir le même contenu. Les deux parties de l’expression sont soit des rôles simples, soit des expressions mettant en jeu un seul rôle simple. Exemple : self.arrivée ↔ scd.destination. (scd étant une instance d’un schéma source-chemin-destination) Prédicats. Outre les deux relations définies ci-dessus, le formalisme de définition des contraintes du modèle d’interprétation constructionnelle, comme celui de l’ECG, permet d’utiliser des contraintes prédicatives dont la sémantique est décrite de manière extérieure au modèle. On peut notamment définir ainsi des contraintes arithmétiques. Exemple : plus-petit-que(x,y)

4.2.2 Contexte

La notion de contexte recouvre, entre autres, les caractéristiques des espaces mentaux et des domaines de référence en introduisant une méthode générale de définition des relations topologiques entre objets.

– La fonction principale d’un contexte est celle de conteneur, c’est-à-dire qu’un contexte va d’abord permettre de regrouper ensemble plusieurs instances de schémas.

– La seconde caractéristique majeure des contextes est qu’ils permettent d’affecter une posi- tion à chaque instance de schéma contenue par le contexte. A partir de cette position et de la topologie définie par le contexte, il est ainsi possible de définir des relations extrinsèques entre les positions de différentes instances de schémas.

Par rapport à la définition formelle des espaces mentaux proposée dans (Chang et al.,2002), nous introduisons cette notion de structure topologique via la définition de concepts permet- tant de décrire des contraintes utilisables ensuite dans les constructions. Le formalisme de description des contextes représenté figure4permet de définir à la fois les informations sur le contexte (des rôles et des contraintes sur les rôles), et la structure du contexte. La structure est définie par des lieux (des descriptions de position abstraites liées aux entités et définissant leur position dans la structure), des relations (sur lesquelles on pourra poser des contraintes, applicables entre les entités) et des opérations permettant de combiner des positions pour construire des contraintes complexes.

La définition des contextes reprend les caractéristiques d’un schéma, à savoir les champs hérite de, évoque, rôles et contraintes. Un contexte est donc au moins équivalent à un

contexte <Contexte> hérite de <Contexte> rôles <rôle> <rôle> :<Type> <rôle> :<Schéma> contraintes <rôle> ←<valeur> <rôle> ↔ <rôle> <prédicat(<rôle>, <rôle>)> lieux

<lieu> // par exemple : segment

relations

<relation(<lieu>, <lieu>,...)> 7→ <Type>

// par exemple : précède(segment, segment) 7→ booléen

opérations

<opération(<lieu>, <lieu>,...)> 7→ <lieu>

// par exemple : union(segment, segment) 7→ segment

Spécification 4: Définition des contextes dans la notation ECG Bergen and Chang(2002).

schéma en tant que représentation d’information. A ces caractéristiques se rajoutent trois champs permettant de décrire la topologie du contexte :

lieux Ils permettent de définir les informations sur la « localisation » des entités contenues dans les contextes. Une information de lieu peut être rattachée directement à une entité, ou bien construite à partir d’autres lieux pour pouvoir imposer des contraintes dessus. Par exemple, si l’on veut représenter le contexte verbal écrit, ses lieux seront place- symbole (pour les lettres et les signes), et segment-symbole (pour les morphèmes, entre autre). Pour une représentation d’un domaine de référence, qui est une chaîne d’entités séparées par une distance, il faut définir les lieux noeud, et chaine. Un même noeud peut être lié à plusieurs entités.

:e formalisme ne décrit pas le contenu informationnel des lieux1

, qui est laissé à la responsabilité de l’implémentation, afin de pouvoir opérer les optimisations nécessaires, notamment si l’on envisage des contextes décrivant des espaces à deux dimensions ou plus.

relations Elles définissent les rapports structurels entre les lieux, et permettent donc de dé- crire dans les constructions les contraintes que l’on veut voir respecter sur la localisation des entités dans les contextes. Une relation doit spécifier les types de lieux sur lesquelles elle est applicable, ainsi que le domaine de sa valeur.

Par exemple, pour le contexte verbal, qui est un espace à une dimension, on aura la relation vecteur(place-symbole, place-symbole) → Z qui donne le vecteur à

1

Par exemple qu’une distance entre deux lettres est représentée par un réel et qu’une distance entre deux objets sur un plan est représentée par un complexe.

une dimension entre deux symboles (vecteur(x,y)=0 si X=Y ; -1 si Y suit immé- diatement X ; 1 si X suit immédiatement Y). Pour les domaines de référence, qui sont des chaînes d’éléments, on aura rapport_similarité(noeud, noeud) → R+, avec

rapport_similarité(x,y)=1 si X et Y sont au même niveau sur l’échelle du prédicat (par exemple X et Y aussi grands) ; 0 (resp. ∞) si Y (resp. X) est hors de l’échelle mais pas X (resp. Y) ; >1 (resp. <1) si X (resp. Y) est au-dessus de Y (resp. X) sur l’échelle du prédicat2

.

opérations Elles permettent de construire des lieux à partir d’autres lieux. Elles permettent notamment de travailler sur des lieux construits de manière abstraite, par exemple pour des groupements perceptifs (plusieurs objets proches ayant une ou plusieurs caractéris- tiques communes, et qui peuvent être perçus comme un seul élément).

Par exemple, pour construire une chaîne dans les domaines de référence à partir de deux noeuds, on aura : chaîne(noeud, noeud) → chaine ; pour extraire le premier noeud d’une chaîne : premier(chaine) → noeud.

contexte Linéaire rôles longueur : réel nb-élément : entier longueur-moyenne-élément : réel contraintes <rôle> ←<valeur> <rôle> ↔ <rôle> lieux segment relations égal(segment, segment)7→booléen précède(segment, segment)7→booléen rencontre(segment, segment)7→booléen

// par exemple : précède(segment, segment) 7→ booléen opérations

union(segment, segment) 7→ segment intersection(segment, segment) 7→ segment

Spécification 5: Exemple de définition d’un contexte à une dimension.

Il faut noter que le formalisme de description d’un schéma ne porte absolument aucune in- formation sur la sémantique opérationnelle des relations et des opérations, ni même sur le contenu des lieux en terme d’information (exemple : un segment dans un contexte à une dimension tel que celui défini figure 5 est décrit par une liste de couples de réels, chaque couple contenant les coordonnées de début et de fin d’un sous-segment). Cette sémantique opérationnelle des contextes est la réalisation effective de la logique qui permet de décrire

2

La relation rapport_similarité n’est pas symétrique, car elle indique un rapport de similarité par rapport à une certaine dimension ou composante, par exemple le rapport entre deux éléments du point de vue de leur rapprochement avec la couleur « bleue ».

une certaine topologie, et par conséquent, cette sémantique doit être implémentée par une approche particulière, que notre formalisme ne cherche pas à détailler, notamment parce que cela impliquerait de décrire des algorithmes procéduraux, et donc proposer tout un formalisme pour cela.

Un contexte est donc simplement la déclaration de l’interface permettant aux s-constructions d’utiliser les différentes topologies définies dans le modèle d’interprétation de manière uni- forme. L’implémentation exacte de la topologie étant laissée à la charge d’un langage de programmation classique. Bien entendu, cela signifie que si l’implémentation n’est pas parfai- tement valide, l’utilisation d’une certaine topologie sera sujette à introduire de l’inconsistance dans l’interprétation. 4.2.3 Constructions situées s-construction <S-Construction> évoque <cons> :<S-Construction> contextes <contexte> :<Contexte> // exemple : txt :Lex-Env constituants

<instance> :<Schéma>@<contexte> / E|S

// E pour entrée (observation), S pour sortie (production) // par exemple : a :Adjectif@txt / E

contraintes structure

<contexte.relation(<instance>, <instance>, <...>)> ← <valeur>

<contexte.relation(<contexte.opération(<instance>, <...>)>, <...>)> ← <valeur> <contexte.relation(<...>)> ↔ <contexte.relation(<...>)>

// par exemple : txt.précède(sujet, verbe) ← vrai

// les domaines des deux côtés des contraintes doivent être identiques

contraintes contenu <rôle> ← <valeur> <rôle> ↔ <rôle>

<prédicat(<rôle>,<rôle>)>

Spécification 6: Définition des constructions situées

Les constructions situées (s-construction dans notre formalisme) dont la structure est décrite sur la spécification 6, définissent les relations liant des informations (représentées par des instances de schémas) contenues dans deux ensembles de contextes d’interprétation : l’ensemble observation et l’ensemble production. Ces deux ensembles de contextes peuvent être vus comme des généralisations des pôles forme et signification des constructions dans la grammaire de construction, rendues insuffisantes par le fait qu’on ne veut plus limiter les constructions aux analyses morphologiques, syntaxiques et sémantiques, mais prendre en compte des niveaux d’analyse nécessitant des structures plus complexes indispensables pour prendre en compte, par exemple, le support visuel.

Une s-construction spécifie donc les relations entre d’une part des instances de schéma obser- vables (par exemple, qui vont permettre de représenter l’énoncé prononcé par l’utilisateur) et les instances de schéma produites qui vont représenter un point de vue sur les observables de manière à participer à la construction de la représentation finale qui permettra d’effectuer l’action répondant à l’énoncé. De ce fait, elle définit une transition de points de vue.

Contrairement aux schémas et aux contextes, une s-construction n’a pas pour finalité de contenir une information, elle ne contient donc pas de rôle. Dans le même ordre d’idée, nous n’avons pas autorisé l’héritage entre s-constructions, contrairement à la grammaire ECG qui permet de faire hériter une construction d’une autre. Une s-construction est définie par les champs suivants :

évoque Comme les schémas et les contextes, une s-construction peut en évoquer une autre, ce qui permet par exemple de « forcer » une transition de point de vue à être réalisée même quand elle ne l’aurait pas été d’après sa propre définition. Ainsi, une s-construction peut déclencher par évocation deux transitions de point de vue simultanément.

contextes Ce champ définit la liste des contextes dans lesquels la s-construction va observer et produire des instances de schémas. Les contextes sont définis par une étiquette (qui sera utilisée dans le reste de la déclaration de la s-construction pour y référer) et un type de contexte (défini précédemment). Une s-construction établissant un lien entre le mot « mets » entré par l’utilisateur et un point de vue lemmatisé définira deux contextes : – txt de type Linéaire-Mots

– lem de type Linéaire-Lemmes

constituants Les constituants sont les instances de schémas entre lesquelles la s-construction va spécifier les relations qui doivent être vérifiées. Le champ contient une liste d’instances de schémas, définis par une étiquette (qui sera utilisée dans les contraintes pour référer aux différents constituants), un type de schéma (qui contraint l’instance à être une instance d’un certain schéma), le contexte dans lequel l’instance doit être localisée (qui doit être une étiquette de contexte définie dans le champ contextes) et enfin un symbole spécifiant si le constituant fait partie du pôle des observations (symbole E pour Entrée) ou du pôle des productions (symbole S pour Sortie). Pour continuer notre exemple, les constituants seraient :

– m :Mot@txt/E (étiquette m, de schéma Mot, dans le contexte txt, pôle observation) – l :Mettre@lem/S (étiquette l, de schéma Mettre, dans le contexte lem, pôle production) contraintes structure Les contraintes portant sur la structure définissent les relations struc-

turelles entre les instances de schémas contenues dans le même contexte, ou bien entre les positions d’instances de schémas contenues dans des contextes différents. Ici, on aurait simplement :

– lem.position(l) ↔ txt.position(m)

contraintes contenu Les contraintes définies dans ce champ portent sur les contenu des instances de schéma. Ce sont les mêmes types de contraintes que celles définies dans les schémas et les contextes. Dans notre exemple, on aurait :

– m.forme ← « mets » – l.origine ↔ m – l.pers ← 2sing – l.mode ← impératif

L’exemple développé ici pour illustrer la composition des s-constructions est regroupé dans la spécification 7. Il faut noter que c’est un exemple extrêmement simple de ce que peut représenter une s-construction. Il s’agit en fait de l’équivalent constructionnel d’une partie d’une entrée de lexique dans une grammaire lexicale.

s-construction Mets-Imp contextes txt :Linéaire-Mots lem :Linéaire-Lemmes constituants m :Mot@txt/E l :Mettre@lem/S contraintes structure lem.position(l ) ↔ txt.position(m) contraintes contenu lem.orig ↔ txt m.forme ← « mets » l.origine ↔ m l.pers ← 2sing l.mode ← impératif

Spécification 7: S-Construction pour « mets » à l’impératif