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共享引用(多个变量引用)示例代码
Dec 04 Python
python3中bytes和string之间的互相转换
Feb 09 Python
python之virtualenv的简单使用方法(必看篇)
Nov 25 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
Python requests库用法实例详解
Aug 14 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
python字符串反转的四种方法详解
Dec 02 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 Python
python解压zip包中文乱码解决方法
Nov 27 Python
python中 Flask Web 表单的使用方法
May 20 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
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
jquery实现控制表格行高亮实例
2013/06/05 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
JS高级运动实例分析
2016/12/20 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
Python最长公共子串算法实例
2015/03/07 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
django框架如何集成celery进行开发
2017/05/24 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python批量解压zip文件的方法
2019/08/20 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
基于Pytorch SSD模型分析
2020/02/18 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
应用数学专业求职信
2014/03/14 职场文书
难忘的一天教学反思
2014/04/30 职场文书
工作收入住址证明
2014/10/28 职场文书
采购员岗位职责
2015/02/03 职场文书
小学教师党员承诺书
2015/04/27 职场文书
离职告别感言
2015/08/04 职场文书
基于PyQt5制作一个群发邮件工具
2022/04/08 Python
Python可视化神器pyecharts绘制水球图
2022/07/07 Python