前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python实现聊天机器人

Python实现聊天机器人

作者头像
海天一树
发布2018-07-25 12:23:46
1.2K0
发布2018-07-25 12:23:46
举报
文章被收录于专栏:海天一树海天一树

一、AIML是什么

AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由RichardS. Wallace 博士和Alicebot开源软件组织于1995-2000年间发明创造的。AIML是一种为了匹配模式和确定响应而进行规则定义的 XML 格式。

二、实现第一个聊天机器人

(一)安装Python aiml库

代码语言:javascript
复制
pip install aiml

(二)获取alice资源

Python aiml安装完成后在Python安装目录下的 site-packages的aiml下会有alice子目录(比如D:\Program Files\Python36\Lib\site-packages\aiml\botdata\alice),这个是系统自带的一个简单的英文语料库。

(三)编程实现机器人聊天

1 程序

代码语言:javascript
复制
# -*- 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.biaodianfu.com/python-aiml.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、AIML是什么
  • 二、实现第一个聊天机器人
    • (一)安装Python aiml库
      • (二)获取alice资源
        • (三)编程实现机器人聊天
          • 1 程序
          • 2 运行结果
      • 三、参考资料
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档