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装饰器使用的一些建议
Jun 03 Python
python操作字典类型的常用方法(推荐)
May 16 Python
Python批量发送post请求的实现代码
May 05 Python
在Python中获取两数相除的商和余数方法
Nov 10 Python
python实现动态数组的示例代码
Jul 15 Python
详解Python Opencv和PIL读取图像文件的差别
Dec 27 Python
tensorflow转换ckpt为savermodel模型的实现
May 25 Python
Python collections.defaultdict模块用法详解
Jun 18 Python
Django-silk性能测试工具安装及使用解析
Nov 28 Python
Python读写Excel表格的方法
Mar 02 Python
python 统计代码耗时的几种方法分享
Apr 02 Python
python中if和elif的区别介绍
Nov 07 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
PHP网站基础优化方法小结
2008/09/29 PHP
定义php常量的详解
2013/06/09 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
前端必学之PHP语法基础
2016/01/01 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
Python生成随机MAC地址
2015/03/10 Python
Python中文字符串截取问题
2015/06/15 Python
Python变量作用范围实例分析
2015/07/07 Python
python实现外卖信息管理系统
2018/01/11 Python
Python学习小技巧总结
2018/06/10 Python
python dlib人脸识别代码实例
2019/04/04 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
django ORM之values和annotate使用详解
2020/05/19 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
汽车工程专业应届生求职信
2013/10/19 职场文书
年会主持词结束语
2014/03/27 职场文书
《花木兰》教学反思
2014/04/09 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android
MySQL自定义函数及触发器
2022/08/05 MySQL