Formalisation des Grammaires multimodales en Coq

Slides:



Advertisements
Présentations similaires
Déductions logiques et calcul de représentations sémantiques Alain Lecomte UMR SFL Séminaire « Logique, Sémantique, Dialogue » - partie I.
Advertisements

Sémantique « continuationnelle » un aperçu. Quest-ce quune continuation? Exemple : –calculer (n), puis ensuite f( (n)) f est « la continuation » de la.
L-System et modélisation de plantes…
La Gestion de la Configuration
Algèbre de composants : une approche fonctionnelle à la sémantique de documents Bart Lamiroy LORIA/INPL QGar - École des Mines de Nancy.
Transformation de documents XML
Spécification et qualité du logiciel
Céline Espenel et Nicolas Julien
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
Régine Laleau Centre d'Étude et de Recherche en Informatique du CNAM
Algèbre relationnelle
Séminaire Biblio LISC - 3/04/02 Complexité, information Daprès JP Delahaye (1999)
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Understanding, building and using ontologies. Understanding Ontologie : la définition des concepts utilisés dans un langage donné Première approche (Gruber)
Domaines nominaux XSLT
Logique et raisonnement scientifique cours transversal Collège Doctoral Pr. Alain Lecomte.
Approches formelles en syntaxe et sémantique Alain Lecomte UMR 7023 Structures Formelles de la Langue.
Approches formelles en syntaxe et sémantique Alain Lecomte UMR 7023 Structures Formelles de la Langue.
Approches formelles en syntaxe et sémantique
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
We are taking the language L to be a way of computing expressions, a recursive definition of a set EXP. (i) a set of features (ii) principles for assembling.
INTRODUCTION.
Projet 4info.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Logiques Mathématiques
OCaml - Les listes L3 MI.
XML-Family Web Services Description Language W.S.D.L.
OCaml – Les arbres L3 MI.
Graphes Conceptuels J.F. Baget Inria.
Programmation logique Logique des prédicats du premier ordre
Lambda-Calcul Sémantique de Montague
4 - Les automates et les lexiques morphologiques : le contenu mot fléchilemmepartie du discourstraits de flexion Habituellement, un lexique morphologique.
Programmation logique Démonstrateur automatique
Techniques de test Boulanger Jean-Louis.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Automates à pile LR Notion de poignée.
Rappels de logique des prédicats du 1er ordre
1 CSI3525: Concepts des Languages de Programmation Notes # 3: Description Syntaxique des Languages.
CSI 4506: Introduction à l’intelligence artificielle
CSI3525: Concepts des Languages de Programmation
Chapitre 3 Syntaxe et sémantique.
Partie II Sémantique.
Initiation aux bases de données et à la programmation événementielle
1 Couplage dun langage de contrôle de formatage avec un système de formatage existant DEA ISC : 1 avril 2003 Fateh Boulmaiz
Programmation non procédurale Le projet ECOLE 2000
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Jacques Nicolas INRIA /IRISA Rennes
Les logiques de descriptions
Paradigmes des Langages de Programmation
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Spécification de programmes et de systèmes
La Logique du premier ordre LPO
INTRODUCTION.
Architecture et modularité du modèle L'exemple de GUST et des grammaires de correspondance polarisées Sylvain Kahane Modyco, Université Paris.
Approches Formelles en Systèmes d'information
Algorithmique et programmation (1)‏
Programmation procédurale preuves D. Preuves Preuves sur les R-algorithmes. Règle de l'appel (Hoare). Exemple Preuves sur les B-algorithmes (Floyd) Automatisation.
Programmation linéaire en nombres entiers
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Outils pour la programmation logique par contraintes
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Pour les nuls débutants
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Introduction Formalisation de GUST basée sur GUP (GUST = Grammaire d’Unification Sens-Texte, Kahane 2001) (GUP = Grammaire d’Unification Polarisée, Kahane.
Conception Formelle en PVS Master 2 ISC Chef de Projet: M. Pierre Castéran Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Prénom Nom Formal Semantics Rolf Ingold Department of Informatics University of Fribourg > Formal Semantics [SP08]
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Section 5)
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
LOGIQUE ET PROGRAMMATION LOGIQUE
INTRODUCTION AUX BASES DE DONNEES
Transcription de la présentation:

Formalisation des Grammaires multimodales en Coq Atelier ICHARATE Formalisation des Grammaires multimodales en Coq Houda ANOUN Pierre CASTERAN

PLAN  Introduction générale  Atelier ICHARATE - Grammaires Multimodales - Généralités sur Coq  Atelier ICHARATE - Composantes de l’atelier - Utilisation de l’atelier  Conclusion

Introduction  Grammaires catégorielles Formalisme universel et générique . Bonne interface syntaxe/sémantique. Règles d’inférence indépendantes de la langue choisie. Lexique différent d’une langue à une autre. Exemples : AB, Grammaires de Lambek(simples et multimodales)…

Grammaires multimodales But : combiner les différents systèmes (NL, NLP, LP, L etc…) dans un seul système multimodal . Avantages: restriction des limitations du calcul pur de Lambek . - Atténuer la rigidité : (problème de sous-génération: under generation) 1 - NL : Bob likes s/sn 2 - L : that Bob wrote yesterday  r - Atténuer la flexibilité en imposant des contraintes. 1- NLP: mathématicien Le  sn 2- L: Le logicien que Marie aime Jean et Bruno déteste dort  s

Grammaires Multimodales Connecteurs binaires :/ , \, • . Connecteurs unaires : ,  (opérateurs de contrôle) Opérateurs structurels : ‘,’ , < > Modes de compositions : ensembles I et J 1) Paramétrer les connecteurs (/, \, • , ‘,’) par des indices de I (a, n, c etc). 2) Indexer les connecteurs unaires et l’opérateur structurel ‘< >‘ par des indices de J.

Grammaires multimodales Formules : F := At | F /i F | F \i F | F •i F | j F | j F Termes : T:= F | (T ,i T) | <T>i Exemples: At ={sn, n, r} ;I=J={a,n,c} r/a(s/ac sn) est une formule. /a r /a s c sn (sn ,n ((sn\ns)/a sn),a <(sn ,a sn\a sn)>a)) est un terme. ,n sn ,a ((sn\ns)/a sn) < >a ,a sn sn\asn

Grammaires multimodales Lexique: fonction qui associe à chaque mot de la langue choisie un ensemble fini de types syntaxiques (formules). Règles d’inférence: règles fixées partagées par tous les modes de composition.  |-A/iB  |-B [/iE] <>j |- A [jI] (  , )i |- A  |-jA Règles structurelles locales : 1) Règles spécifiques à un seul mode: gestion des ressources localement en fonction du mode utilisé. Ex: - commutativité en présence du mode c : Perm c : (A•c B  B •c A) . -commutativité en présence de l’opérateur : Perm  (i, j) : i A •j B  B •j i A - associativité en présence du mode a: Assoc a : A •a (B •a C)  (A •a B ) •a C

Grammaires multimodales 2) Règles faisant intervenir plus d’un mode : Règles structurelles permettent la communication entre différents modes. a) Postulats d’inclusion: - incl  (i, j):  i A   j A - traits morphosyntaxiques (genre, nombre …) Ex: likes : ( sg  gd sn \a s)/a sn ; she : s /a( sg  fe sn \a s) ; the : sn /a  nb n ; cat :  sg n; they :s /a( pl  gd sn \a s).  pl A   nb A ;  sg A   nbA ;  fe A   gd A *(They likes the cat) ; She likes the cat ; *(The cat likes she). b) Postulats d’interaction: -MP (i , j): A • i (B • j C)  B • j (A • i C) (commutativité mixte) -MA (i , j): A • i (B • j C)  (A • i B) • j C (associativité mixte)

moufidun katiran huda tuhibu alladi alkitabu. Exemple: Analyse de l’extraction médiale: moufidun katiran huda tuhibu alladi alkitabu. intéressant énormement Houda aime que le livre (Le livre que Houda aime énormement est intéressant). Lexique: alkitab : np, alladi: (◊c cnp\as)\a(np/anp), tuhibu: np\a(np\as ), huda :np, katiran : s/a s , moufidun : s/a np . Modes de composition: I=J= {a , c}. Règles structurelles: -Assoc a : A •a (B •a C)  (A •a B ) •a C -Perm  (c, i) : c A •i B  B •i c A

Analyse Sémantique : Sémantique de Montague: -Types sémantiques basiques : e , t Types composés : si t1 , t2  SemType alors t1 t2  SemType t1  t2  SemType - Fonction mapAt : Atoms  SemType . Fonction map :SynType  SemType map (A/iB)=map(B\i A)= map(B)  map (A) ; map (A •i B) = map(A)  map(B); map( jA)=map(jA)=map (A). Lexique : W  SynType  SemType condition : (si Lex (w)=(f, sem) alors sem est de type map(f)). calcul simplement typé: -x variable typée, x est un terme bien typé. -l1 l2 deux termes bien typés, l1 de type t1  t2 et l2 de type t2 donc (l1 l2) est un terme bien typé de type t2 - l1 l2 deux termes bien typés, l1 de type t1 et l2 de type t2 donc <l1 ; l2>est un terme bien typé de typé t1  t2 . -x variable de type t1 et l1 un terme de type t2 alors x. l1 est un terme de type t1  t2 . l1 un terme de type t1  t2 , 1(l1) (resp 2(l1)) est un terme de type t1(resp t2) l1 un terme de type t1 alors l1 (resp l1, l1, l1) est de type t1.

Analyse sémantique: Principe de Frege: Le sens d’une phrase est une fonction des sens partiels des mots qui la composent.

Analyse sémantique: Exemple : That Houda likes mapAt s = t; mapAt n = e t; mapAt sn =e. Lexique : That :( (n \ n)/(s / sn) ; xyz (y z) (x z): (et) (e t) e t). Houda : (sn ; H:e) . likes: ((sn \ s)/sn; likes :e e t) Analyse syntaxique : That (y likes (y Houda)) (xyz (y z) (x z)) (y likes (y H)) yz (y z)  (likes (z H))

Coq Rappels sur Coq Assistant de preuves basé sur le calcul des constructions inductives (logique d’ordre supérieur) Logique intuitionniste + Isomorphisme de Curry-Howard (Types Formules, Preuves  -termes). Mode de preuves interactif : utilisation des tactiques pr édéfinies & possibilité de définir d’autres tactiques (LTAC). Extraction de programmes certifiés (conformes à leurs spécifications) à partir des preuves constructives.

Isomorphisme de Curry-Howard Curry & Howard 1958 : les types sont isomorphes aux énoncés de la logique intuitionniste. Exemples: ( , ) ; ( , )… Correspondance entre preuves en logique intuitionniste et programmes. Exemple:(modus ponens) A B A H: A B a:A B (H a) : B

Exemple Lemma evidence: forall (A B C:Prop) , (A->B)-> (B ->C) ->A -> C. ( A, B, C : (AB) (B  C)  A C / implication logique). Preuve 1: Isomorphisme de Curry-Howard: ‘’ vs ‘’. Chercher un -terme f de type (A  B)  (B  C) A C. f:= [A,B, C:Prop; H1:A B;H2: B  C; a:A] (H2 (H1 a)) . Une formule est prouvable ssi son type associé est habité. Preuve 2: Tactiques : construction interactive du -terme en question.

Exemple(2) coqtop Coq>Lemma evidence: forall (A B:Prop) , (A->B)-> A -> B. = = = = = = = = = = = = = = = = = = = forall (A B C:Prop) , (A->B)->(B ->C)-> A -> C. Coq> intros A B C H1 H2 a. A :Prop B :Prop C:Prop H1 : A -> B H2: B -> C a : A = = = = C Coq> apply H2;apply H1; assumption. Qed.

Types en Coq Richesse du Calcul des Constructions Inductives. Hiérarchie de types : Set (structures de données), Prop (propositions logiques). Types inductifs : - Énumérés : Inductive bool :Set := true:bool | false :bool. - Récursifs : Inductive nat :Set := O:nat | S :nat -> nat. - Polymorphes : Inductive list(A:Set):Set := nil :list A | cons: A -> list A-> list A. - Paramétrés : Inductive le (n:nat) :nat ->Prop := |le_n : n <= n | le_S : n <= m -> n <= (S m).

Récurrence en Coq Exemples : Théorèmes de récurrence engendrés automatiquement par Coq lors de la définition d’un type inductif. Exemples : list_ind : (A:Set)(P:list A -> Prop), (P nil) ->  (l:list A) (a:A), P l -> P (cons a l) ->  (l:list A) , P l. le_ind :  (n:nat)(P:nat ->Prop), P n -> ((m:nat), n <= m -> P m -> P (S m)) ->  (m:nat), n <= m -> P m. nat_ind: (P:nat -> Prop), P O -> ( (n:nat) P n -> P (S n)) ->  (n:nat), P n. Lemma leAsym:forall (n m:nat), (le n m ) -> (le m n )-> n =m. Récurrence sur n !! Et non sur (le n m).

Inversion Inversion d’une hypothèse dont le type est inductif. Toute hypothèse dont le type est inductif est construite à partir des constructeurs de ce type. Exemple : Lemma hasPred:forall (n:nat), n< >0 -> {m:nat | n= S m}. Inversion de n. - premier cas: n=0 (impossible) - second cas: n=(S l) ( m=l).

Architecture de l’atelier: ATELIERICHARATE Kernel Lib Tactics Examples Présentation Axiomatique Théorèmes Calcul des Séquents Règles dérivées Exemples de Déduction Naturelle dérivations Définition des prédicats de base tactiques de semi automatisation

Atelier ICHARATE Preuves de théorèmes génériques : - L’interopérabilité entre les trois formalismes (présentation axiomatique , calcul des séquents et déduction naturelle) : définitions certifiées qui transforment les dérivations d’un formalisme source à un formalisme cible (preuve constructive & récursive). Propriétés dérivées dans chacun des formalismes : prouvées une seule fois et peuvent etre utilisées autant de fois qu’on le souhaite comme des règles de base.

Atelier ICHARATE Méta -théorèmes: - cohérence et complétude des systèmes multimodaux. - quelques propriétés vérifiées par les séquents dérivables - polarité : si A alors (p: At) pol(p , )=pol(p, A). Ex: sn , (sn \i s) /i sn  s car pol(sn ;(sn , (sn \i s) /i sn) )=-1 et pol(sn ; s)=0 - opérateurs unaires : si A alors occ ()-occ�()= occ  (A)-occ�(A). sn , �sn \ s  s car occ ()-occ�()= 1 - (-1)=2 mais occ  (A)-occ�(A)=0 (preuve par reflexion).

Atelier ICHARATE Utilisation de l’atelier: Effectuer l’analyse syntaxique d’une phrase pour une grammaire donnée (spécifier le lexique, les indices, les atomes et les règles structurelles) en ayant recours à la représentation des séquents avec ou sans ressources. Possibilité de recourir aux théorèmes génériques. Possibilité d’utiliser des méta-variables lors d’une preuve (construction interactive de la structure de la phrase). Utilisation de tactiques de semi-automatisation. Calcul de la sémantique d’une phrase .

Tactiques Tactiques de semi-automatisation : faciliter les preuves aux utilisateurs . -Langage LTac : - Définition de tactiques sans passer par Ocaml. - Filtrage sur le but courant & contexte -Possibilité de définir des tactiques récursives - tactiques qui facilitent l’accès aux hypothèses & transformations dans le contexte. Exemples: 1- application d’une règle structurelle à un endroit donné (chemin d’accès dans le contexte). 2 - Faciliter l’application des règles telles  |-jA [<A>j] |- C[jE ] [] |- C dans le cas particulier ou  = jA , remplacer la première feuille jA par <A>j …

Conclusion Travail réalisé: Formalisation des grammaires multimodales de Lambek en Coq. Intéropérabilité entre différents formalismes. Preuve de plusieurs théorèmes. Implémentation de quelques tactiques basiques. Introduction d’une couche sémantique. Travail à effectuer: Théorèmes avancés (Interpolation des grammaires de Lambek etc…) Implémentation d’autres tactiques d’automatisation et stratégies avancées (Interface graphique) . Notations : amélioration de la lisibilité (version 8 de Coq) Interopérabilité avec les grammaires minimalistes ??

Bibliographie Pierre Casteran, Yves Bertot : coqArt (http://www-sop.inria.fr/lemme/Yves.Bertot/coqart.html)  Jean-Yves-Girard, Yves Lafont, and Paul Taylor. Proofs and Types. Number 7 in Cambridge Tracts in Theoreticl Computer Science. Cambridge University Press 1988. Joachim Lambek The mathematics of sentence structure American mathematical monthly 65:154-169, 1958 (http://www.folli.uva.nl/CD/1997/esslli97/la3/wwwots/hl/lambek/ lambek58.htm)  Michael Moortgat : Categorial Type Logics : Chapter 2 Handbook of logic and language. Christian Retoré : Un Panorama des grammaires catégorielles