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 相关文章推荐
web.py中调用文件夹内模板的方法
Aug 26 Python
Python中的zipfile模块使用详解
Jun 25 Python
python清除指定目录内所有文件中script的方法
Jun 30 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
Aug 01 Python
Python实用库 PrettyTable 学习笔记
Aug 06 Python
Django框架 信号调度原理解析
Sep 04 Python
Pytorch 保存模型生成图片方式
Jan 10 Python
django 扩展user用户字段inlines方式
Mar 30 Python
宝塔面板成功部署Django项目流程(图文)
Jun 22 Python
python转化excel数字日期为标准日期操作
Jul 14 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 array_filter除去数组中的空字符元素
2020/06/21 PHP
php判断表是否存在的方法
2015/06/18 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
babel基本使用详解
2017/02/17 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
vue项目实现图片上传功能
2019/12/23 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
[00:11]战神迅矛
2019/03/06 DOTA
python计算一个序列的平均值的方法
2015/07/11 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
Python 加密的实例详解
2017/10/09 Python
使用Python处理BAM的方法
2018/09/28 Python
django表单的Widgets使用详解
2019/07/22 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
社区工作者思想汇报
2014/01/13 职场文书
团干部培训方案
2014/06/03 职场文书
宣传口号大全
2014/06/16 职场文书
先进事迹演讲稿
2014/09/01 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
教师理论学习心得体会
2016/01/21 职场文书
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技