基于Python如何使用AIML搭建聊天机器人


Posted in Python onJanuary 27, 2016

借助 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 后直接发送消息。如果需要微信订阅号的代码可以私信我。

订阅号效果截图:

基于Python如何使用AIML搭建聊天机器人

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

Python 相关文章推荐
Python实现获取操作系统版本信息方法
Apr 08 Python
Python中用于检查英文字母大写的isupper()方法
May 19 Python
详解Python的Django框架中inclusion_tag的使用
Jul 21 Python
浅析Python编写函数装饰器
Mar 18 Python
python 容器总结整理
Apr 04 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
基于数据归一化以及Python实现方式
Jul 11 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
python多线程实现代码(模拟银行服务操作流程)
Jan 13 Python
python+openCV对视频进行截取的实现
Nov 27 Python
Pandas之缺失数据的实现
Jan 06 Python
使用Python写个小监控
Jan 27 #Python
基于Python实现通过微信搜索功能查看谁把你删除了
Jan 27 #Python
Python图像灰度变换及图像数组操作
Jan 27 #Python
让python在hadoop上跑起来
Jan 27 #Python
CentOS安装pillow报错的解决方法
Jan 27 #Python
python实现文本去重且不打乱原本顺序
Jan 26 #Python
举例讲解Python设计模式编程中的访问者与观察者模式
Jan 26 #Python
You might like
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Python列表(list)常用操作方法小结
2015/02/02 Python
Fabric 应用案例
2016/08/28 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
大学生毕业自荐信
2013/10/10 职场文书
宿舍违规检讨书
2014/01/12 职场文书
求职自荐信的格式
2014/04/07 职场文书
股份合作协议书范本
2014/04/14 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
企业安全生产检查制度
2015/08/06 职场文书
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript
docker 制作mysql镜像并自动安装
2022/05/20 Servers