2012-07-25 3 views
2

J'ai essayé de créer un chatbot (comme une affectation) dans prolog, jusqu'à présent j'ai fait une base de données dans un fichier .pl et j'ai énuméré beaucoup de conversations possibles. Je sais que Prolog fonctionne comme ceci par exemple si nous avonsChatbot dans Prolog

Chatbot(good) 

et nous tapons

?-Chatbot(good). 

il répondra

yes or ture. 

Maintenant, je ne sais pas comment utiliser mon base de données de sorte que le programme peut fonctionner exactement comme un chatbot par exemple sans avoir besoin d'écrire dans la syntaxe appropriée:

Hello (typed by the user) 

Hi there, (typed by the program automatically) 

Ma base de données est comme ceci:

answer(question, [ 
[Yes, I am here]]). 

question ([are you there?]) 

Répondre

2

Le prototype chatbot je suis au courant est ELIZA par Weizenbaum 1966.

La mise en œuvre dans Prolog est assez facile, comme le montre L'Art de Prolog par Sterling & Shapiro. En recherchant 'ELIZA Prolog', le premier lien vous donne un implementation assez complexe, et vous pouvez adapter/réutiliser le moteur avec votre base de données. Mais de cette façon, vous allez perdre tout le plaisir. Je vous suggère de lire le livre et de prendre le temps de mettre en place le vôtre.