Python实现聊天机器人的示例代码


Posted in Python onJuly 09, 2018

一、AIML是什么

AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由RichardS. Wallace 博士和Alicebot开源软件组织于1995-2000年间发明创造的。AIML是一种为了匹配模式和确定响应而进行规则定义的 XML 格式。

二、实现第一个聊天机器人

(一)安装Python aiml库

pip install aiml

(二)获取alice资源

Python aiml安装完成后在Python安装目录下的 site-packages的aiml下会有alice子目录(比如D:\Program Files\Python36\Lib\site-packages\aiml\botdata\alice),这个是系统自带的一个简单的英文语料库。

(三)编程实现机器人聊天

1 程序

# -*- coding: utf-8 -*-
import aiml
import sys
import os
 
 
def get_module_dir(name):
 print("module", sys.modules[name])
 path = getattr(sys.modules[name], '__file__', None)
 print(path)
 if not path:
  raise AttributeError('module %s has not attribute __file__' % name)
 return os.path.dirname(os.path.abspath(path))
 
 
alice_path = get_module_dir('aiml') + '\\botdata\\alice'

os.chdir(alice_path)  # 切换到语料库所在工作目录

alice = aiml.Kernel()  # 创建机器人alice对象
alice.learn("startup.xml") # 加载...\\botdata\\alice\\startup.xml
alice.respond('LOAD ALICE') # 加载...\\botdata\\alice目录下的语料库
 
while True:
 message = input("Enter your message >> ")
 if("exit" == message):
  exit()
 response = alice.respond(message) # 机器人应答
 print(response)

2 运行结果

Python实现聊天机器人的示例代码

三、参考资料

https://3water.com/article/143395.htm

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python之wxPython应用实例
Sep 28 Python
对于Python的Django框架部署的一些建议
Apr 09 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
Python实现提取谷歌音乐搜索结果的方法
Jul 10 Python
Python实现修改IE注册表功能示例
May 10 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
python基于property()函数定义属性
Jan 22 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
python简单利用字典破解zip文件口令
Sep 07 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
Jan 28 Python
用python画城市轮播地图
May 28 Python
Atom的python插件和常用插件说明
Jul 08 #Python
Python中pip更新和三方插件安装说明
Jul 08 #Python
python中sys.argv函数精简概括
Jul 08 #Python
python输出100以内的质数与合数实例代码
Jul 08 #Python
详解Python中的正则表达式
Jul 08 #Python
实例讲解Python爬取网页数据
Jul 08 #Python
python十进制和二进制的转换方法(含浮点数)
Jul 07 #Python
You might like
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
php实现简单爬虫的开发
2016/03/28 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
一道python走迷宫算法题
2018/01/22 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
电子商务自荐书范文
2014/01/04 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
党建工作汇报材料
2014/12/24 职场文书
学历证明样本
2015/06/16 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
接收函
2019/04/22 职场文书