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装饰器的函数式编程详解
Feb 27 Python
Python使用matplotlib绘制动画的方法
May 20 Python
Python图像灰度变换及图像数组操作
Jan 27 Python
Python生成随机密码的方法
Jun 16 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
初探TensorFLow从文件读取图片的四种方式
Feb 06 Python
python输出100以内的质数与合数实例代码
Jul 08 Python
在python中只选取列表中某一纵列的方法
Nov 28 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
在Pycharm中安装Pandas库方法(简单易懂)
Feb 20 Python
Python+Appium实现自动抢微信红包
May 21 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
Content-type 的说明
2006/10/09 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
详解Python中的__init__和__new__
2014/03/12 Python
python中urllib模块用法实例详解
2014/11/19 Python
python实现文件快照加密保护的方法
2015/06/30 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
中职生自荐信
2013/10/13 职场文书
高中毕业生个人自我鉴定
2013/11/24 职场文书
函授毕业生的自我鉴定
2013/11/26 职场文书
座谈会主持词
2014/03/20 职场文书
社区工作者演讲稿
2014/05/23 职场文书
语文课外活动总结
2014/08/27 职场文书
化工实习心得体会
2014/09/09 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
导游词之晋城蟒河
2019/12/12 职场文书