• Aucun résultat trouvé

FILTRAGE CONTEXTUEL 83 Si ce programme logique n’est pas consistant, alors il ne peut réussir, donc la structure de

Filtrage contextuel des relations rhétoriques en dialogue

4.3. FILTRAGE CONTEXTUEL 83 Si ce programme logique n’est pas consistant, alors il ne peut réussir, donc la structure de

discours ne peut être calculée comme une conséquence du programme.

Mais cela contredit la Définition 1 et la supposition que la structure de discours est cohérente.  Ce lemme est utile pour prouver le résultat principal concernant le filtrage contextuel : Proposition 1. La procédure de filtrage contextuel des relations rhétoriques est correcte et com-plète.

Démonstration. On prouve d’abord la complétude (c’est-à-dire, qu’à toute structure de discours cohérente correspond une grammaire abstraite d’attributs « unifiable »).

Pour ce faire, nous supposons le contraire, qu’il existe une structure rhétorique cohérente qui a une grammaire abstraite d’attributs qui contient une variable globale dont les ensembles de restrictions ne peuvent pas être unifiés. Dans ce cas, il résulte de la manière dont les grammaires abstraites d’attributs sont construites à partir des programmes logiques (et du Lemme 2 – voir ci-dessous) que le programme logique à l’origine de la grammaire n’est pas consistant.

On a donc une structure rhétorique cohérente qui a un programme logique inconsistant as-socié, ce qui contredit le Lemme 1.

Pour prouver la correction (c’est-à-dire, que toute structure rhétorique qui a une grammaire abstraite d’attributs « unifiable » est cohérente), nous supposons le contraire, qu’il existe une structure de discours non-cohérente avec une grammaire abstraite d’attributs qui est « unifiable ». De la Définition 1, cela signifie que cette structure rhétorique n’est pas calculable via un programme logique, en utilisant les sémantiques des relations rhétoriques. Mais, de l’autre côté, la grammaire abstraite d’attributs qui correspond à cette structure rhétorique est « unifiable », correspondant ainsi à un programme logique qui est consistant, pourvu que les règles dans la grammaire soient consistantes (ce qui est vrai si les sémantiques des relations rhétoriques ont été définies de la manière précisée dans le chapitre 3, et ces dernières sont utilisées correctement).

On a donc un programme logique consistant qui, pourtant, ne réussit pas pour une attribution particulière de valeurs à ses variables globales (c’est-à-dire, aux énoncés). Cela signifie qu’il y a au moins une règle (Prolog) dans ce programme qui ne réussit pas, ce qui revient à l’existence d’au moins un prédicat appliqué à une variable globale qui (pour une valeur particulière de cette variable) échoue. Cela implique que la relation rhétorique dont la sémantique contient ce prédicat ne peut être vraie pour la valeur particulière de la variable concernée.

D’autre part, cette relation rhétorique était correcte au sens des filtrages locaux préalables, donc cette relation rhétorique est vraie pour la valeur particulière de la variable concernée, ce qui aboutit à une contradiction.

En conclusion, le fait que le filtrage local sur des bases sémantiques précède le filtrage global

assure la correction de ce dernier. 

La preuve de la Proposition 1 s’est appuyée de manière implicite sur le fait qu’il y avait une correspondance surjective de l’ensemble des programmes logiques à l’ensemble des gram-maires abstraites d’attributs, c’est-à-dire, que pour tout programme logique il existe une unique grammaire abstraite d’attributs (le caractère fonctionnel) et que plusieurs programmes logiques

peuvent mener à la même grammaire abstraite d’attributs (la surjectivité). De cette correspon-dance surjective nous avons qu’une grammaire abstraite d’attributs peut être regardée comme une classe d’équivalence (modulo le partage des variables en deux classes : « héritées » et « syn-thétisées ») pour un ensemble de programmes logiques. A partir de cette idée, nous pouvons déduire que la non-unifiabilité d’une série d’ensembles de restrictions pour une variable glo-bale dans une grammaire abstraite d’attributs détermine l’inconsistance de tous les programmes logiques dans la même classe d’équivalence induite par la grammaire abstraite d’attributs.

Il faut donc prouver que la correspondance entre les programmes logiques et les grammaires abstraites d’attributs est une fonction surjective, ce qui est le résultat du :

Lemme 2. La correspondance entre les programmes logiques et les grammaires abstraites d’at-tributs est une fonction surjective.

Démonstration. On peut supposer, sans restreindre la généralité du problème, qu’un programme logique consiste en une clause de la forme :

q0(q1 1(q2 1(...(qD 1(X1, ..., XND1)...)...)...)...q1 N(...q1 M(...qE P(X1, ..., XMEP)...)...)...) : − p01(1p11(1p21(...(1pF 1(X1, ..., XNF1)...)...)...)...)µ(ξ1)...µ(ξQ−1)p0 Q(Qp11(...Qp2M(...(...QpG P(X1, ..., XMGP)...)...)...)...).

Dans cette formule, les indices supérieurs 0, 1, 2, ..., D, E, F, G désignent les profondeurs d’imbrication des prédicats et des variables, tandis que Xi désignent les variables dans le pro-gramme.

A partir de cette règle Prolog nous pouvons calculer une grammaire abstraite d’attributs, qui contient une règle et une série d’ensembles de restrictions, un ensemble de restrictions pour chaque variable. Donc, ces éléments sont montrés ci-dessous :

(i) la règle : q0→ p01τ(µ(ξ1))...τ(µ(ξQ−1))p0 Q;

(ii) les ensembles de restrictions pour les variables (il existe les entiers T et R qui satisfont les expressions suivantes et i ∈ {1, ..., max(ND1, ..., MEP, ..., NF1, ..., MGP)}) : Xi: {λq0

1 ◦ λq 1 1 1 ◦ · · · ◦ λq D−1 1 1 ◦id(qD 1.i(ǫ)), ..., λq0 N◦λq1M M◦· · ·◦λqTE−1 T ◦id(qE P.i(ǫ)), λp01 1 ◦λ1p 1 1 1 ◦· · ·◦λ1p F−1 1 1 ◦id(1pF1.i(1)), ..., λQp11 1 ◦ λQp 2 M M ◦ · · · ◦ λQp G−1 R R ◦ id(QpGP.i(Q))}.

Dans cette construction, il est évident que, structurellement, la grammaire abstraite d’attri-buts est déterminée de manière unique par la règle et par la famille des ensembles de restrictions ; par conséquent, pour le programme logique donné, elle est unique. Nous avons ainsi démontré la première partie du lemme, le fait que la correspondance des programmes logiques aux gram-maires abstraites d’attributs est une fonction.

Pour prouver que cette fonction est surjective, nous avons besoin de montrer qu’il peut y avoir au moins deux programmes logiques qui ont la même grammaire abstraite d’attributs et que pour tout programme logique il existe une grammaire. La dernière partie de cette assertion est évidente, du fait que la grammaire abstraite d’attributs est construite mécaniquement à partir du programme logique. Pour la première partie de l’assertion, soient deux programmes logiques qui consistent, chacun, dans une règle du type montré ci-dessus. Pour alléger les notations, nous supposons que les programmes sont LP et LP, où LP est précisément comme montré ci-dessus, et LP a la forme : q0(q1 1(q2 1(...(qD 1(X1, ..., XN D1)...)...)...)...q1 N(...q1 M(...qE P(X1, ..., XM EP)...)...)...) : −

4.3. FILTRAGE CONTEXTUEL 85 p01(1p11(1p21(...(1pF1(X1, ..., XN F1)...)...)...)...)µ(ξ1)...µ(ξQ−1)p0 Q(Qp11(...Qp2M(...(...QpGP(X1, ..., XM GP)...)...)...)...).

La grammaire abstraite d’attributs correspondante, AAG contient : (i) la règle : q0→ p01τ(µ(ξ1))...τ(µ(ξQ−1))p0

Q;

(ii) les ensembles de restrictions des variables : Xi : {λq0 1 ◦λq 1 1 1 ◦· · ·◦λq D−1 1 1 ◦id(qD 1.i(ǫ)), ..., λq0 N◦ λq 1 M M ◦ · · · ◦ λqE−1T T ◦ id(qE P.i(ǫ)), λp01 1 ◦ λ1p11 1 ◦ · · · ◦ λ1p1F−1 1 ◦ id(1pF1.i(1)), ..., λQp11 1 ◦ λQp2M M ◦ · · · ◦ λQpG−1R R ◦ id(QpGP.i(Q))}.

Les deux grammaires, AAG (pour LP) et AAG (pour LP) sont identiques si et seulement si leurs règles sont identiques et leurs ensembles d’attributs peuvent être unifiés, pour chaque variable. L’identité des règles, dans ce cas, revient à l’identité des foncteurs et des arités pour les prédicats de profondeur 0, et à l’identité des connecteurs, c’est-à-dire, par exemple, en adop-tant une syntaxe à la Prolog,functor(q0, _f, _a)etfunctor(q0, _f, _a)sont vraies simultanément pour les mêmes liens (« bindings ») pour_fet_a, et ξi ≡ ξi, pour i de 1 à Q − 1. L’unifiabilité des ensembles d’attributs revient à l’unifiabilité de chaque paire de termes dans la réunion des ensembles d’attributs pour chaque variable et pour chacun des deux programmes. Cependant, la construction de chaque grammaire abstraite d’attributs et la supposition que chaque programme logique est consistant assurent que les cas intéressants d’unification concernent des paires d’élé-ments tels que chacun est dans un ensemble de restrictions différent, pour une variable. Plus précisément, en notant par RS (Xi) l’ensemble des restrictions pour la variable Xidans la gram-maire AAG et par RS (Xi) l’ensemble des restrictions de la même variable dans la grammaire AAG, nous devrions étudier seulement les équations de la forme Y = Z, où Y ∈ RS (Xi) et Z ∈ RS(Xi). Par exemple, nous devrions avoir que4:

λqN0◦ λq1M M ◦ · · · ◦ λqE−1T T ◦ id(qE P.i(ǫ)) = λq0 N ◦ λq1M M ◦ · · · ◦ λqTE−1 T ◦ id(qE

P.i(ǫ)), ce qui est équivalent à : qEP.i(λqTE−1 T (...(λq1M Mq0 N(ǫ))))...) = qE P.i(λqE−1T T (...(λq1M Mq0 N(ǫ))))...).

Il est donc seulement nécessaire que les compositions de plusieurs fonctions soient iden-tiques ; cela n’implique pas forcément que toutes les fonctions dans la composition soient res-pectivement identiques. Si toutes les fonctions dans les compositions étaient resres-pectivement identiques, alors les deux programmes logiques seraient identiques ; du fait que cela n’est pas le cas, nous avons une classe de programmes qui mènent à la même grammaire abstraite

d’attri-buts. 

Le Lemme 2 ouvre la voie vers la recherche des conditions qu’un ensemble de programmes logiques devraient accomplir afin qu’ils soient dans la même classe d’équivalence, c’est-à-dire, qu’ils mènent à la même grammaire abstraite d’attributs. Dans la littérature [83] on affirme en général qu’une grammaire abstraite d’attributs représente une classe de programmes équivalents au niveau syntaxique, mais avec tous les regroupements possibles des variables en classes – « héritées » et « synthétisées ». Evidemment, cela est vrai, comme nous venons de le voir de 4En fait, de la manière dont les grammaires abstraites d’attributs sont déterminées et du présupposé que les deux programmes logiques sont consistants, il suffit de montrer que nous pouvons unifier seulement une paire d’éléments dans les ensembles de restrictions qui appartiennent aux différentes grammaires.

la démonstration du Lemme 2, mais l’identité des programmes logiques, à l’exception des re-groupements des variables (en d’entrée / de sortie) est une condition suffisante et non-nécessaire qu’un ensemble de programmes logiques mènent à la même grammaire abstraite d’attributs. Il serait donc intéressant de trouver des conditions nécessaires que deux programmes logiques mènent à la même grammaire abstraite d’attributs, car cela nous permettrait d’établir des classes d’équivalence des structures de discours, pour ainsi décider plus rapidement sur la cohérence de ces structures.

4.3.3 Discussion

Le filtrage contextuel des relations rhétoriques pour la mise à jour des structures de discours a été décrit en détail et sa pertinence théorique discutée. Cependant, il y a quelques aspects qui méritent une discussion plus approfondie.

Tout d’abord, nous devrions étudier ce qui se passe dans le processus de filtrage contextuel lorsqu’il n’y a pas d’historique de dialogue disponible. Plus précisément, il s’agit de voir l’effet des contraintes contextuelles sur les relations rhétoriques entre deux énoncés, lorsque ces der-niers sont les deux premiers en dialogue. La réponse (évidente) est que le filtrage contextuel n’a aucun effet dans ce cas, car (i) le contexte est réduit aux deux énoncés en question, (ii) la seule règle dans chaque grammaire abstraite d’attributs au niveau du discours contient chaque relation rhétorique qui était passée par le filtrage local (pragmatique et sémantique), donc les ensembles d’attributs des variables « globales » concernées sont, par nécessité, unifiables.

De toute manière, une réponse moins évidente à cette question est que le filtrage contextuel peut jouer un rôle de dépannage : lorsque nous trouvons des éléments non-unifiables dans les ensembles de restrictions des deux variables globales, cela signifie que le filtrage sémantique ne s’est pas déroulé correctement ; en supposant que la correction du processus inférentiel est assurée (par exemple en utilisant Prolog), l’incorrection du processus de filtrage sémantique peut montrer des bogues dans la définition des prédicats discursifs, dans l’ontologie de tâches, ou dans les deux. Pourtant, étant donné que les prédicats discursifs sont indépendants du do-maine particulier et ont ainsi été déjà validés par l’usage dans plusieurs dodo-maines, nous pouvons conclure que le filtrage contextuel peut servir à dépanner l’ontologie de tâches, particulière pour l’application considérée.

De plus, du fait que lorsqu’aucun contexte dialogique n’est disponible, le filtrage contextuel n’a aucun effet sur l’ensemble des relations rhétoriques pertinentes entre une paire d’énoncés, les deux premiers énoncés en dialogue sont connectés essentiellement (sauf s’il y a des bogues dans l’ontologie de tâches – voir ci-dessus) via les relations rhétoriques passées par les filtrages pragmatique et sémantique, donc, via une ou plusieurs relations rhétoriques.

Un deuxième problème, plus subtil, sur le filtrage contextuel, concerne une autre situation « limite » dans la mise à jour des structures rhétoriques, où les filtrages pragmatique et séman-tique ont fourni au moins une relation rhétorique valide entre une paire d’énoncés (ou consti-tuants discursifs), le filtrage contextuel ne sort aucune relation rhétorique entre ces énoncés et, par conséquent, le dernier énoncé dans le discours n’est connecté à aucun énoncé antérieur.

Dans ce cas, si nous adoptons l’heuristique de pénaliser les structures de discours plus « courtes » (c’est-à-dire, avec un nombre plus bas d’énoncés) en privilégiant les structures plus « longues », alors, si un « hiatus » apparaît dans la structure rhétorique (c’est-à-dire, il y a un

4.3. FILTRAGE CONTEXTUEL 87