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

Python利用AIML和Tornado搭建聊天机器人微信订阅号

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等语言的版本。

TornadoFriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。

Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。

微信公众平台 是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读本接口文档来帮助开发。

Python可以很方便地利用Tornado框架以及AIML搭建一个聊天机器人微信公众号,本文简单介绍下如何用Python编写简单的聊天机器人。不过由于目前AIML上缺少高质量的中文语料库而不支持中文聊天。因此本文搭建的为英文聊天机器人。

此搭建方式需要一台具有固定公网ip地址的主机一台。也可以利用现有的云主机或者云平台,例如 sina app engine

此微信订阅号的完整源代码可以通过此链接下载:聊天机器人订阅号源代码

1 实现效果

搭建的微信订阅号可以直接回复用户发送的英文消息与用户聊天。

我自己搭建了一个订阅号CuriousGuys,可以添加此订阅号后直接发送英文消息。
要添加CuriousGuys可以直接扫码:
CuriousGuys

效果截图:
Chat with CuriousGuys

2 安装相关Python库

需要用到Tornado以及aiml库。

Linux下安装Tornado可以直接用以下脚本:

pip install tornado

其它操作系统下安装Tornado可以参考Tornado官方网站

Linux下安装aiml也可以直接pip安装:

pip install aiml

其它操作系统下的安装请参考AIML官方网站

3 获取alice资源

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值