Prolog 中的 Chatbot

3

我一直在尝试用Prolog创建一个聊天机器人(作为一个任务),到目前为止,我已经在一个.pl文件中建立了一个数据库,并列出了许多可能的对话。

我知道Prolog的工作方式就像这样,例如如果我们有

Chatbot(good) 

我们输入

?-Chatbot(good). 

它会响应

yes or ture.

现在我不知道如何使用我的数据库,使程序可以像聊天机器人一样工作,例如不需要编写适当的语法。
Hello (typed by the user)

Hi there, (typed by the program automatically)

我的数据库是这样的:

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

question ([are you there?]) 
1个回答

3
我知道的原型聊天机器人是Weizenbaum 1966年的ELIZA

在Prolog中实现它相当容易,就像Sterling&Shapiro的The Art of Prolog所示。

在Google上搜索“ELIZA Prolog”,第一个链接会给出一个相当复杂的实现, 您可以使用您的数据库进行适应/重用引擎。但这样你就会失去所有的乐趣。我建议你阅读这本书并花时间实现自己的。

编辑

以防万一您还没有看到它,SWISH提供了一个干净,基本的ELIZA实现,其中包括其示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接