
Envoyé par
Hercule78
Je reprends ce post qui date de plus d'un an, car la passion du langage naturel et de la représentation des connaissances est éternelle...
J'ai l'impression que depuis un an tu n'as pas progressé sur les logiques de description et que tu persiste à prendre le problème par la syntaxe plutôt que par la logique.
Je ne dis pas que tu ne fais pas d'effort.
Par contre je vois bien le travers dans ton approche:
- comme nombre de visiteurs du forum dvp tu sembles mettre en avant la question des utilitaires (quel langages,quels outils,quel algorithme) au lieu de chercher à améliorer ta compréhension du domaine
- autrement dit je suis presque certain que tu souscris à l'idée selon laquelle il n'y aurait pas besoin de comprendre le problème si on sait concevoir la solution
- ton approche est sans doute pragmatique, cependant des fois il est nécessaire de comprendre et pour ça il est d'abord nécessaire d'apprendre
- en gros ton approche magique consiste à réduire l'intelligence à une question d'ergonomie de l'interface

Envoyé par
Hercule78
J'ai installé Protégé 4.0 avec le raisonneur Fact++, et OWLviz pour visualiser les connaissances graphiquement.
Pour l'instant je cherche comment ajouter la couche compréhension du langage naturel, si facile en Prolog, par exemple: si je tape "Marie est-elle la soeur de Jean ?" j'obtiens Soeur(Marie,Jean) que j'envoie au raisonneur Fact++ (après l'avoir traduit dans son language) qui peut le vérifier facilement sur la base de l'ontologie, et me répondre oui ou non.
Si vous avez une piste sur le sujet, merci d'avance !
Il ne faut pas être trop naif.
Si cette interface en langage naturelle n'est pas fournie d'office avec l'outil ça n'est probablement pas parce que personne d'autre que toi n'y a pensé.
Il y a forcément une autre raison que tu ignore ou que tu veux ignorer.
Pour comprendre cette raison il faudrait faire l'effort de comprendre la logique de description qui se cache derrière les graphes conceptuels.
Tu as sans doute entendu parler de ABox (les instances ou objets) et de TBox (les types ou concepts), ça veut dire que le langage est fortement typé:
- soit de façon explicite (certaines constructions/requêtes sont interdites)
- soit de façon implicite (certaines requêtes sur certaines constructions déclenchent une erreur à l'exécution)
C'est ce qui explique que l'interface textuelle est dans un format du style
(exists ((x Sitting) (y Mat)) (and (Cat Elsie) (agent x Elsie) (location x y)))
Format qui n'a rien de naturel.
Bien sûr tu peux toujours maquiller ce langage formel avec du sucre syntaxique qui lui donnera un aspect plus naturel, mais alors:
- pour ce faire tu vas devoir comprendre la logique de description et son système de typage
- il faudra répercuter la logique sous-jacente sur l'interface utilisateur, du coup tu devras générer des messages d'erreurs qui n'auront rien du tout de naturel ou d'ergonomique
- si au contraire tu te contente d'une transformation purement syntaxique (puisque c'est "facile en Prolog") alors les requêtes échoueront à l'exécution et les messages d'erreurs seront incompréhensibles (car en langage "natif" au lieu de en langage "naturel")
- ton langage "naturel" ne sera qu'un cache-misère pour ne pas avouer que l'utilisateur doit s'exprimer dans un langage d'expert; le fait que l'interface soit dans un langage plus naturel ne résout en rien le problème d'accessibilité de la logique de description, il ne fait que l'aggraver en le rendant implicite
L'interface n'est pas naturelle parce que la logique derrière n'est pas naturelle.
La question de l'interface est totalement superficielle.
Invente une logique naturelle et après ce sera un jeu d'enfant de lui fabriquer une interface naturelle.
À moins que tu sois un logicien de génie il n'y a rien que tu puisses y faire car ça n'est pas une question d'ergonomie de l'interface, c'est plus fondamental.
Partager