基于python如何使用aiml搭建聊天机器人

借助 python 的 aiml 包,我们很容易实现人工智能聊天机器人。aiml,全名为artificial intelligence markup language(人工智能标记语言),是一种创建自然语言软件代理的xml语言,是由richard wallace和世界各地的自由软件社区在1995年至2002年发明的。

aiml 是什么?

aiml由richard wallace发明。他设计了一个名为 a.l.i.c.e. (artificial linguistics internet computer entity 人工语言网计算机实体) 的机器人,并获得了多项人工智能大奖。有趣的是,图灵测试的其中一项就在寻找这样的人工智能:人与机器人通过文本界面展开数分钟的交流,以此查看机器人是否会被当作人类。aiml是一种为了匹配模式和确定响应而进行规则定义的 xml 格式。

aiml的官方网站:alice。

本文简单介绍下如何用python编写简单的聊天机器人。

1. 安装python aiml库

pip install aiml

2. 获取alice资源

python aiml安装完成后在python安装目录下的 lib/site-packages/aiml下会有alice子目录,将此目录复制到工作区。
或者在google code上下载alice brain: aiml-en-us-foundation-alice.v1-9.zip

3. python下加载alice

取得alice资源之后就可以直接利用python aiml库加载alice brain了:

import aiml
os.chdir(‘./res/alice’) #切换工作目录到alice文件夹下,视具体情况而定
alice = aiml.kernel()
alice.learn(“startup.xml”)
alice.respond(‘load alice’)

注意加载时需要切换工作目录到alice下。

4. 与alice聊天

加载之后就可以与alice聊天了,每次只需要调用respond接口:

alice.respond(‘hello’) #这里的hello即为发给机器人的信息

5. 用tornado搭建聊天机器人网站

利用tornado可以很方便地搭建一个web接口的聊天机器人。具体的代码可以在此链接下在:web接口的聊天机器人。
下载此代码之后直接运行main.py即可,然后可以通过浏览器访问url与聊天机器人,url类似http://localhost/aiml?req=hello的形式(req参数即为发给机器人的信息)。

注意要运行此代码,需要安装python 的aiml与tornado库。

lwons.com上已经搭建了这样的web接口,可以访问http://lwons.com/aiml?req=hello来测试下。

6. 搭建聊天机器人微信订阅号

上一步的web接口可以很方便地改造成一个微信订阅号,实现的效果可以添加微信订阅号 curiousguys 后直接发送消息。如果需要微信订阅号的代码可以私信我。

订阅号效果截图:

chat with curiousguys

以上所述给大家介绍了基于python如何使用aiml搭建聊天机器人的相关内容,希望本文所述对大家有所帮助。

Posted in 未分类