Python实现聊天机器人的示例代码
作者:海天一树X 时间:2022-11-16 18:10:56
一、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 运行结果
三、参考资料
https://www.jb51.net/article/143395.htm
来源:https://www.jianshu.com/p/44139a6d8070
标签:Python,聊天,机器人
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python对html过滤处理的方法
2023-04-25 15:28:57
PHP结构型模式之外观模式
2023-05-25 11:43:14
django自带的权限管理Permission用法说明
2023-07-25 04:18:06
![](https://img.aspxhome.com/file/2023/1/61491_0s.jpg)
pytorch加载自己的图像数据集实例
2021-09-25 12:00:49
![](https://img.aspxhome.com/file/2023/4/131394_0s.jpg)
tensorflow实现简单的卷积神经网络
2021-07-15 21:13:02
【JavaScript实用系列】-- 胖页面载入效果
2009-10-19 22:48:00
javascript打印html内容功能的方法示例
2024-04-25 13:13:23
SQLite数据库管理相关命令的使用介绍
2024-01-27 12:41:00
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2023-11-24 05:59:31
![](https://img.aspxhome.com/file/2023/5/111355_0s.jpg)
SQL Server数据库连接中常见的错误分析
2009-01-15 12:51:00
详细介绍基于MySQL的搜索引擎MySQL-Fullltext
2024-01-27 16:30:30
![](https://img.aspxhome.com/file/2023/2/122892_0s.png)
javascript十个最常用的自定义函数(中文版)
2024-04-16 09:26:38
Python蛇形方阵的实现
2023-06-27 16:33:21
FileSystem对象常用的文件操作函数有哪些?
2009-11-01 15:11:00
python中的pygame实现接球小游戏
2021-10-21 13:33:50
如何基于Django实现上下文章跳转
2022-02-11 02:38:05
![](https://img.aspxhome.com/file/2023/2/127592_0s.png)
canvas实现手机端用来上传用户头像的代码
2023-09-16 02:30:54
C#连接Oracle数据库的方法
2024-01-16 20:17:12
vue之计算属性的缓存computed的用法解读
2024-05-11 09:14:05
![](https://img.aspxhome.com/file/2023/5/126525_0s.png)
用python标准库difflib比较两份文件的异同详解
2023-01-29 07:34:29
![](https://img.aspxhome.com/file/2023/7/105007_0s.jpg)