Python搭建聊天机器人
2016-01-27 16:50
489 查看
Python用AIML搭建聊天机器人
AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的。它的雏形是一个名为”A.L.I.C.E.” (“Artificial Linguistic Internet Computer Entity”)的高度扩展的Eliza机器人。ALICE总共赢得3次每年度的Loebner奖,并且在2004年获得了Chatterbox Challenge的冠军。由于A.L.I.C.E. 的AIML设置是在GNU GPL协议下发布的,所以已经有许多基于该程序和AIML库的“克隆ALICE”出现。目前AIML已经有了Java,Ruby,Python, C ,C#,Pascal等语言的版本。
AIML的官方网站:ALICE。
本文简单介绍下如何用Python编写简单的聊天机器人。
1. 安装Python aiml库
[code]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了:[code]import aiml os.chdir('./res/alice') #切换工作目录到alice文件夹下,视具体情况而定 alice = aiml.Kernel() alice.learn("startup.xml") alice.respond('LOAD ALICE')
注意加载时需要切换工作目录到alice下。
4. 与alice聊天
加载之后就可以与alice聊天了,每次只需要调用respond接口:[code]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 后直接发送消息。添加CuriousGuys请直接扫码:如果需要微信订阅号的代码可以私信我。
订阅号效果截图:
相关文章推荐
- python 自动化部署工具Fabric简介
- 使用Python写个小监控
- 【LEETCODE】329-Longest Increasing Path in a Matrix [Python]
- Python闭包
- Python基础教程笔记——条件,循环和其他语句
- Python基础教程笔记——条件,循环和其他语句
- python--把一个方法变成属性调用
- 利用Python快速查找爬取百度贴吧某页的全部图片
- 细说python类2——类动态添加方法和slots
- Python基础教程笔记——列表和元组
- Python基础教程笔记——列表和元组
- python基础概念学习笔记
- Python安装手册
- Python--迭代器
- Python风格规范
- 快速搭建python开发环境
- Python:爬取乌云厂商列表,使用BeautifulSoup解析
- Python文件组织(-)
- python学习笔记一
- Python基础教程笔记——使用字符串