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使用calendar输出指定年份全年日历的方法
Apr 04 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
在python中安装basemap的教程
Sep 20 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
详解Python打包分发工具setuptools
Aug 05 Python
Django接收自定义http header过程详解
Aug 23 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
Flask缓存静态文件的具体方法
Aug 02 Python
pycharm-professional-2020.1下载与激活的教程
Sep 21 Python
pycharm如何设置官方中文(如何汉化)
Dec 29 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作为Shell脚本语言使用
2006/10/09 PHP
javascript 节点排序 2
2011/01/31 Javascript
Javascript面向对象编程
2012/03/18 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
一步步教你用Python实现2048小游戏
2017/01/19 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
经典优秀个人求职自荐信格式
2013/09/25 职场文书
外语系毕业生找工作的求职信
2013/11/28 职场文书
高中军训感言500字
2014/02/24 职场文书
年终奖发放方案
2014/06/02 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript