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多线程编程(三):threading.Thread类的重要函数和方法
Apr 05 Python
python获得linux下所有挂载点(mount points)的方法
Apr 29 Python
python 网络编程常用代码段
Aug 28 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
Oct 30 Python
在Mac下使用python实现简单的目录树展示方法
Nov 01 Python
python3 爬取图片的实例代码
Nov 06 Python
python多个模块py文件的数据共享实例
Jan 11 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
Python numpy多维数组实现原理详解
Mar 10 Python
python中pdb模块实例用法
Jan 15 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
定义php常量的详解
2013/06/09 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
PHP解析RSS的方法
2015/03/05 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
JSON取值前判断
2014/12/23 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
土地转让协议书
2014/04/15 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
公司会议策划方案
2014/05/17 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
单位工作证明
2014/10/07 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
企业安全生产检查制度
2015/08/06 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL