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 相关文章推荐
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
node.js获取参数的常用方法(总结)
May 29 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
Python初学者常见错误详解
Jul 02 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
Python3如何使用range函数替代xrange函数
Oct 05 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
python 管理系统实现mysql交互的示例代码
Dec 06 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
PHP5+UTF8多文件上传类
2008/10/17 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
深入解析Python中的上下文管理器
2016/06/28 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
Python 求数组局部最大值的实例
2019/11/26 Python
Python线程协作threading.Condition实现过程解析
2020/03/12 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
python中pop()函数的语法与实例
2020/12/01 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
美国在线家装零售商:Build.com
2016/09/02 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
什么是设计模式
2012/06/17 面试题
安全责任书范本
2014/04/15 职场文书
在校实习生求职信
2014/06/18 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
求职推荐信范文
2015/03/27 职场文书
怎样写家长意见
2015/06/04 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
详解Python类和对象内容
2021/06/22 Python
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技