chatbot:基于AIML的PHP聊天天机器人
本文章中讲介绍用PHP实现的一个小聊天机器人程序,用到了php操作dom相关的知识和mysql数据库,可以用来学习。代码可以从https://github.com/kompasim/chatbot下载。
0. 提醒
该聊天机器人是参考AIML 2.5和Program-P而写成的,这聊天机器人实现的aiml标签和标准的aiml标签由一定的差距,所以你从网上下载的aiml语料库可能没法正常工作。适用于UTF-8编码的,单词后缀根据不同的时态而改变的那些语言。感兴趣的朋友可以自己研究学习一下。
1. 介绍
这是一个用PHP写的aiml解析器,目前在PHP5.4环境上能正常运行。
2. 数据库配置
本程序用了MySQL数据库,你需要把chatbot.sql 文件倒入到你的数据库,然后在chatbot/Config.php文件里修改相关数据库配置变量.
4. aiml语料库资源
你可以直接编辑 aiml/chatbot.aiml 文件或者创建一个新的aiml文件然后在aiml/chatbot.aiml文件用include标签引入它。
5. 关于aiml文件
aiml 必须要放在 aiml 目录内.
chatbot.aiml 是入口文件 ,它里面的 aiml 标签可以包含多个 category 标签 , 一个 default标签和多个 include标签。
被你添加的其它 aiml 文件在根aiml标签里必须要包含一个 topic 标签 , 这个topic标签可以包含多个 category 标签和一个default标签 (这里的其他aiml文件不能写include标签,include标签只能出现在chatbot.aiml文件里)。
6. 测试聊天机器人
你可以打开index.php进行和机器人聊天做测试。
7. 调用聊天机器人
如果希望在自己的应用里面调用聊天机器人我们可以这样调用它的api api.php?requestType=talk&input=你好
8. 关于匹配规则
修改之后的匹配规则 :
* ---> (S+) # ---> S+ _ ---> .* = ---> S*
9. 关于AIML标签
本聊天机器人的aiml标签和标准aiml标签有所不同,我根据需求对标签做了一些个性化,我们可以在AIML.MD文件里面查到