写在前面的话

安装aiml库

获取语料库路径

获取aiml的安装路径

补充路径名称

切换到语料库所在工作目录

(所有的语料库,是可以自己补充修改的,这里就先用现成的)

创建机器人alice对象

加载语料库

如果是第一次加载语料库,读取数据,同时保存资料至bot_brain.brn

如果是之后再加载语料库,就不需要读取所有数据了,直接读取bot_brain.brn

正式开始聊天

如果遇到用户输入exit,就退出聊天

运行界面

聊天界面

前面的加载过程,是为了调试。实际使用的时候,可以全部注释掉,直接开始对话。

输入exit,程序会自动退出

安装库

pip install aiml

完整代码

# -*- coding: utf-8 -*-

# 加载库

import aiml

import sys

import os

# 获取aiml的安装路径

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对象

alice = aiml.Kernel()

print("正在加载语料库")

# 这里做一个判断

# 如果是第一次加载语料库,就进入else部分,读取数据,同时保存资料至bot_brain.brn

# 如果是之后再加载语料库,就不需要读取所有数据了,直接读取保存数据bot_brain.brn

if os.path.isfile("bot_brain.brn"):

alice.bootstrap(brainFile = "bot_brain.brn")

else:

alice.learn("startup.xml") # 加载...\\botdata\\alice\\startup.xml

alice.respond('LOAD ALICE') # 加载...\\botdata\\alice目录下的语料库

alice.saveBrain("bot_brain.brn")

print("数据加载完毕,开始对话\n")

# 正式开始聊天

while True:

message = input("Enter your message >> ")

if ("exit" == message):# 如果输入exit,程序退出

exit()

response = alice.respond(message) # 机器人应答

print(response)

break # 结束循环

response = alice.respond(message) # 机器人应答

print(response)

参考资料

python aiml_Python:用aiml构建英语聊天机器人相关推荐

  1. 用aiml构建英语聊天机器人

    用aiml构建英语聊天机器人 整体思路 安装aiml库 获取语料库路径 获取aiml的安装路径 补充路径名称 切换到语料库所在工作目录(所有的语料库,是可以自己补充修改的,这里就先用现成的) 创建机器 ...

  2. 自然语言处理--基于 AIML 的模式匹配聊天机器人

    AIML 是一种基于 XML 标准的声明式语言,它规定了可以在机器人中使用的编程构想和数据结构.我们基于人工智能标记语言(AIML)来定义聊天机器人的模式和回复,构建模式匹配聊天机器人. 展示如何在聊 ...

  3. chatbot:基于 AIML 的 PHP 聊天机器人

    基于AIML的PHP聊天天机器人 本文章中讲介绍用PHP实现的一个小聊天机器人程序,用到了php操作dom相关的知识和mysql数据库,可以用来学习.代码可以从https://github.com/k ...

  4. php mysql生日提醒_基于AIML的PHP聊天机器人

    php中文网最新课程 每日17点准时技术干货分享 chatbot:基于AIML的PHP聊天天机器人 本文章中讲介绍用PHP实现的一个小聊天机器人程序,用到了php操作dom相关的知识和mysql数据库 ...

  5. aiml php,chatbot:基于 AIML 的 PHP 聊天机器人

    原标题:chatbot:基于 AIML 的 PHP 聊天机器人 紧跟技术风向标,不迷失但也绝不落后,Go技术大全公众号正式开启,欢迎关注. 基于AIML的PHP聊天天机器人 0. 介绍 该聊天机器人是 ...

  6. 使用 Python 实现一个简单的智能聊天机器人

    使用 Python 实现一个简单的智能聊天机器人 文章目录 使用 Python 实现一个简单的智能聊天机器人 简要说明 总体的思路 需要准备的环境 接收用户的语音输入, 并将其存为音频文件 调用百度A ...

  7. 如何用 Slack 和 Kubernetes 构建一个聊天机器人?| 附代码

    作者 | Alexander Kainz 译者 | 天道酬勤,责编 | Carol 出品 | AI科技大本营(ID:rgznai100) ChatOps可以让你使用基于聊天的接口来管理DevOps任务 ...

  8. 深度操作系统 机器学习_深度学习如何构建情感聊天机器人,第2部分对话系统...

    深度操作系统 机器学习 情感聊天机器人(emotional chatbot) From part 1, we have built the BERT sentiment predictor, we n ...

  9. 使用dialogflow和firebase构建whatsapp聊天机器人的指南

    ChatBots are conversational agents, programs capable of conducting a conversation with an Internet u ...

  10. 微软推出 AI 开发免费电子书,手把手教你构建智能聊天机器人

    日前,微软推出 AI 开发者免费电子书,教导大家利用微软 AI 平台开发智能聊天机器人.该电子书不长,核心内容共有四十多页,其中涵盖大量代码,相信对于 AI 初学者来说,这将是一本很有用的实战教程. ...

最新文章

  1. python 定义空集合 和定义空字典的
  2. Matlab编程与数据类型 -- 开关语句switch/end
  3. 关于吃掉物理的二次聚合无法实现的需要之旁门左道实现法
  4. latex_Texstudio+Miktex+Bibtex(参考文献引用信息)
  5. idea使用ant配置_Linux下Jenkins+ant+jmeter[上]
  6. 常用数据库的Jdbc连接代码
  7. usb接口供电不足_电脑USB接口不够用?来试试ORICO条纹hub扩展器吧
  8. python的tell和seek_python文件对象的seek和tell
  9. PHP弹窗回送,PHP点点滴滴 一(我抄来滴,非常简单的东西)
  10. SQL Server 2005 COM+ 目录要求”警告
  11. C语言按各科分数段统计人数,(更新啦)学校学生成绩统计通用模板(科目、分数、统计分数段等均可自定,班级数、学生人数不受限制)...
  12. 无法运行的愿意_分享减肥食谱一周瘦10斤,你愿意尝试吗?
  13. C语言及程序设计进阶例程-12 结构体成员的引用
  14. 【Python实例第36讲】一个高斯过程回归的例子
  15. 高通QFIL刷机指南
  16. Windows Server 2012安装密钥
  17. html字体有哪些mac,Mac字体推荐
  18. 2020年最新世界地图_2020世界地图下载
  19. 华为云计算IE面试笔记-名词解释
  20. win10计算机不显示usb,win10插入U盘不显示怎么办_解决win10u盘插电脑上不显示的办法...

热门文章

  1. 千兆路由器什么牌子好?家用千兆路由器2018排行!
  2. 大学计算机word操作教程,word技巧大全:73个word实用技巧分享-电脑教程
  3. vs2012安装出错解决方案
  4. 荣耀电脑,win11增加pin码登录选项后:电脑出现问题,你的PIN不可用。请单击以重新设置
  5. matlab 生成格雷码,格雷码(Grey Code)生成规则
  6. 华为认证hcia含金量_华为hcna认证用处大吗 什么是hcna
  7. Maven的依赖(Dependency)
  8. 大学生创新创业计划-2019
  9. 缘 一篇文章 里面有很多喜欢的句子,日后阅读慢慢标记
  10. java实现数据库自动异地备份