:: Enseignements :: Master :: M1 :: 2010-2011 :: Représentation des connaissances ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | 1. Logique et langue naturelle - Correction |
Le but de ce TD est de manipuler des formules logiques.
Exercice 1 - Traduction entre le français et la logique du premier ordre
-
Donnez une formule de la logique du premier ordre pour chacune
des phrases ci-dessous. Dans le cas d'une phrase ambiguë,
c'est-à-dire qui a plusieurs interprétations, donnez toutes les
formules possibles.
- Fred, Léa et Anne sont des passagers
- Jean, Paul et Marie sont contrôleurs
- Le TATI et le TEVU sont des omnibus
- Le TEVU dessert Chessy
- Le TATI ne dessert pas Nanterre
- Fred se parle (à lui-même)
- Léa insulte Paul
- Le BTON est un omnibus mais le TBON n'en est pas un
- Anne prend certains RER
- Marie prend tous les RER
- Tout le monde prend le TBON
- Tout le monde ne prend pas le TATI
- Si un RER est un omnibus, il ne dessert pas Nanterre
- Tous les contrôleurs se parlent
- Tous les RER desservent une gare
- Si quelqu'un parle à Jean, Jean lui parle
- Si quelqu'un parle à Jean, Jean parle à tout le monde
- Tout le monde parle à Jean
- Si tout le monde parle à Jean, Jean parle à tout le monde
- Tous les passagers prennent le TATI
- Si tous les passagers prennent un RER, c'est un omnibus
-
Traduisez les formules logiques en français. Vous pouvez
proposer plusieurs solutions. Formules logiques à traduire :
tp1-ex1.2.pdf
Corrigé :
- Le TATI ne dessert pas Chessy
- Si Jean est contrôleur, ce n'est pas un passager
- Un contrôleur n'est jamais un passager. Aucun contrôleur n'est un passager. Si quelqu'un est un contrôleur, ce n'est pas un passager
- Il y a au moins un RER qui est omnibus ou qui dessert Nanterre
- Il y a au moins un RER qui ne dessert aucune gare. Certains RER ne desservent aucune gare. Tous les RER ne desservent pas de gares
- Chaque RER dessert toutes les gares. Tous les RER desservent toutes les gares. Il n'y a pas de RER qui ne desserve pas toutes les gares. Il n'y a pas un seul RER qui ne desserve pas toutes les gares
Exercice 2 - Évaluation de formules logiques avec NLTK
Nous allons utiliser le module nltk.sem pour évaluer des formules
logiques étant donné un modèle. Ce module contient deux composantes
principales :
- logic fournit un analyseur de formules de la logique du
premier ordre
- evaluate permet de vérifier la valeur de vérité d'une
formule étant donné un modèle.
Les classes utilisées sont les suivantes :
- Valuation représente l'attribution de valeurs (entités,
ensembles d'entités, relations sur les entités) à des noms
d'entités et de prédicats.
- Model est un modèle fondé sur un domaine (ensemble des
entités) et une valuation.
- Assignment est une affectation de valeurs à des variables.
Il faut l'initialiser même s'il n'y a aucune variable.
Documentation :
http://nltk.googlecode.com/svn/trunk/doc/api/nltk.sem-module.html
- Complétez le script
modele-rer.py pour
créer un modèle qui
correspond aux phrases de l'exercice 1. Pour chaque nouvelle
formule, déclarez les entités et prédicats nécessaires et testez
l'évaluation de la formule étant donné le modèle.
- Peut-on évaluer les formules correspondant aux phrases
suivantes ?
- Jean veut prendre le TEVU
- Le TATI dessert Nanterre en retard
- Si un passager insulte un conducteur, il lui
parle
En cas de difficultés, comment pourrait-on les contourner ?
© Université de Marne-la-Vallée