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 相关文章推荐
Python2.x中文乱码问题解决方法
Jun 02 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
Python 使用with上下文实现计时功能
Mar 09 Python
python lxml中etree的简单应用
May 10 Python
python如何保证输入键入数字的方法
Aug 23 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
python flask搭建web应用教程
Nov 19 Python
opencv-python 提取sift特征并匹配的实例
Dec 09 Python
Python数据正态性检验实现过程
Apr 18 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 Python
Python  lambda匿名函数和三元运算符
Apr 19 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运算符的知识大全
2011/11/03 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
PHP 面向对象详解
2012/09/13 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
javascript中的对象创建 实例附注释
2011/02/08 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
js Math 对象的方法
2013/09/01 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
vuejs指令详解
2017/02/07 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python urlopen()函数 示例分享
2014/06/12 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
导致python中import错误的原因是什么
2020/07/01 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
奥巴马演讲稿
2014/01/08 职场文书
报到证丢失证明
2014/01/11 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
网络营销计划书
2015/01/17 职场文书
初中数学教学随笔
2015/08/15 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers