Python用AIML搭建聊天机器人

AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的。

它的雏形是一个名为”A.L.I.C.E.” (“Artificial Linguistic Internet Computer Entity”)的高度扩展的Eliza机器人。ALICE总共赢得3次每年度的Loebner奖,并且在2004年获得了Chatterbox Challenge的冠军。由于A.L.I.C.E. 的AIML设置是在GNU GPL协议下发布的,所以已经有许多基于该程序和AIML库的“克隆ALICE”出现。目前AIML已经有了Java,Ruby,Python, C ,C#,Pascal等语言的版本。

AIML的官方网站:ALICE。

不过目前aiml上缺少高质量的中文语料库,因此不支持中文聊天。本文搭建的为英文聊天机器人。

本文简单介绍下如何用Python编写简单的聊天机器人。

1. 安装Python aiml库

pip install aiml

2. 获取alice资源

Python aiml安装完成后在Python安装目录下的 Lib/site-packages/aiml下会有alice子目录,将此目录复制到工作区。
或者在Google code上下载alice brain: aiml-en-us-foundation-alice.v1-9.zip

3. Python下加载alice

取得alice资源之后就可以直接利用Python aiml库加载alice brain了:

import aiml
os.chdir('./res/alice') #切换工作目录到alice文件夹下,视具体情况而定
alice = aiml.Kernel()
alice.learn("startup.xml")
alice.respond('LOAD ALICE')

注意加载时需要切换工作目录到alice下。

4. 与alice聊天

加载之后就可以与alice聊天了,每次只需要调用respond接口:

alice.respond('hello') #这里的hello即为发给机器人的信息

5. 用Tornado搭建聊天机器人网站

利用Tornado可以很方便地搭建一个web接口的聊天机器人。具体的代码可以在此链接下在:web接口的聊天机器人。
下载此代码之后直接运行main.py即可,然后可以通过浏览器访问url与聊天机器人,url类似http://localhost/aiml?req=hello的形式(req参数即为发给机器人的信息)。
注意要运行此代码,需要安装Python 的aiml与Tornado库。
lwons.com上已经搭建了这样的web接口,可以访问http://lwons.com/aiml?req=hello来测试下。

6. 搭建聊天机器人微信订阅号

上一步的web接口可以很方便地改造成一个微信订阅号,实现的效果可以添加微信订阅号 CuriousGuys 后直接发送消息。添加CuriousGuys请直接扫码:

如果需要微信订阅号的代码可以在评论区留言。
订阅号效果截图:

Python搭建聊天机器人相关推荐

  1. python制作聊天机器人原理_用 Python 来做一个聊天机器人吧!(一)

    在我的一个回答里,我提到了用 Python 搭建聊天机器人.从今天开始,我就带着大家从0开始搭建一个聊天机器人. (顺便说一句,我喜欢把链接像上面这样加在文字里,如果找不到文中所说的资源,可以看看周围 ...

  2. python开源聊天机器人ChatterBot——聊天机器人搭建、流程分析、源码分析

    开源聊天机器人ChatterBot 3.1  ChatterBot简介 ChatterBot是一个Python库,可以轻松生成对用户输入的自动响应.ChatterBot使用一系列机器学习算法来产生不同 ...

  3. python对话机器人框架_长篇文讲解:使用Python AIML搭建聊天机器人的方法示例(收藏)...

    本文内容主要介绍了使用Python AIML搭建聊天机器人的方法示例,我觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随我过来看看吧 AIML全名为Artificial Intelligenc ...

  4. Python AIML搭建聊天机器人(附遇到的问题及解决)

    Python AIML搭建聊天机器人(附遇到的问题及解决) AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理 ...

  5. 【免费福利】零AI基础,如何搭建聊天机器人:技术架构剖析

    作为人工智能领域最为重要的技术,自然语言处理的应用在工业界无处不在.从网页公开数据的分析和抽取.情感分析.机器翻译.智能客服.问答系统到聊天机器人,它的重要性不言而喻. 今天我们来探讨一下自然语言处理 ...

  6. NoneBot2,基于Python的聊天机器人

    NoneBot2,基于Python的聊天机器人 第一步,配置python 第二步,配置[go-cqhttp](https://github.com/Mrs4s/go-cqhttp) 第三步,配置[No ...

  7. python英文聊天机器人(亲测可用)

    python英文聊天机器人(亲测可用) 本文参考https://www.cnblogs.com/youcong/p/10462924.html 第一步: 下载所需包 pip install aiml ...

  8. python aiml_使用Python AIML搭建聊天机器人的方法示例

    AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由RichardS. Wallace 博士和 ...

  9. 不会编程也能搭建聊天机器人?ChatGPT + Notion AI助你一臂之力!

    体验链接:Aitrend ChatBot (无需环境,无需账号,打开即用,完全免费,回答能力同ChatGPT) 背景介绍 本文主要谈关于如何使用ChatGPT(实际使用主力工具为Notion AI), ...

最新文章

  1. fir抽取滤波器matlab,Xilinx FPGA之抽取FIR滤波器的实现
  2. 成功的产品 = 做得好 + 卖得好
  3. VS2010解决方案转换到VS2008
  4. python日期加减源码_Python 时间序列的时间延迟计算
  5. win10电脑服务器在哪个文件夹下,Win10桌面背景在哪个文件夹?Win10桌面背景所在文件夹介绍...
  6. 【Redis】1.Redis入门简介以及基本操作命令
  7. 第三方提权之serv-u提权
  8. centos 下安装配置nfs服务器
  9. 使用librtmp进行H264与AAC直播
  10. c语言oj得pe,ACM入门之OJ~
  11. Wireshark抓包分析WLAN连接过程
  12. mysql与gbase获取行号_mysql/gbase数据库全库库表记录数统计
  13. CSS布局:多种方案实现固定页脚(sticky footer)
  14. antv g6多次渲染问题解决
  15. Logic Pro X for Mac(音乐制作软件)
  16. ListView中如何优化图片
  17. 自己的网页嵌入外部邮箱登陆
  18. cmake Could NOT find Boost (missing: xxx 的问题 已解决
  19. 影之刃服务器维护,影之刃无法联机到服务器怎么办 解决办法
  20. 领导艺术:如何留住员工的心

热门文章

  1. 发生一般事故被罚80万,青岛海湾精细化工热电厂仓库2.14火灾事故
  2. 基于Python语言使用RabbitMQ消息队列(三)
  3. 铁道部购票网站存泄密危险 CDN服务商技术短板是主因
  4. 视频技术发展历史:MPEG-4技术简介
  5. 业务通用校验能力建设
  6. 02.关于线程你必须知道的8个问题(上)
  7. php怎么把文本框的边框去掉,php如何清除文本框
  8. 安装pytorch-geometric
  9. English Sources
  10. 合肥光源逐束团3维质心位置逐圈数据和Libera的比较