python微信集成_Python微信公众号后台开发005:集成智能聊天机器人
给公众号集成一个智能聊天机器人
一、前述
ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学(jiyi)习(pipei)。
二、具体
1、安装
是的,安装超级简单,用pip就可以啦
pip install chatterbot
2、流程
大家已经知道chatterbot的聊天逻辑和输入输出以及存储,是由各种adapter来限定的,我们先看看流程图,一会再一起看点例子,看看怎么用。
image
3、每个部分都设计了不同的“适配器”(Adapter)。
机器人应答逻辑 => Logic Adapters
Closest Match Adapter 字符串模糊匹配(编辑距离)
Closest Meaning Adapter 借助nltk的WordNet,近义词评估
Time Logic Adapter 处理涉及时间的提问
Mathematical Evaluation Adapter 涉及数学运算
存储器后端 => Storage Adapters
Read Only Mode 只读模式,当有输入数据到chatterbot的时候,数
据库并不会发生改变
Json Database Adapter 用以存储对话数据的接口,对话数据以Json格式
进行存储。
Mongo Database Adapter 以MongoDB database方式来存储对话数据
输入形式 => Input Adapters
Variable input type adapter 允许chatter bot接收不同类型的输入的,如strings,dictionaries和Statements
Terminal adapter 使得ChatterBot可以通过终端进行对话
HipChat Adapter 使得ChatterBot 可以从HipChat聊天室获取输入语句,通过HipChat 和 ChatterBot 进行对话
Speech recognition 语音识别输入,详见chatterbot-voice
输出形式 => Output Adapters
Output format adapter支持text,json和object格式的输出
Terminal adapter
HipChat Adapter
Mailgun adapter允许chat bot基于Mailgun API进行邮件的发送
Speech synthesisTTS(Text to speech)部分,详见chatterbot-voice
4、代码
计算模式
from chatterbot import ChatBot
bot = ChatBot(
"Math & Time Bot",
logic_adapters=[
"chatterbot.logic.MathematicalEvaluation",
"chatterbot.logic.TimeLogicAdapter"
],
input_adapter="chatterbot.input.VariableInputTypeAdapter",
output_adapter="chatterbot.output.OutputAdapter"
)
# 进行数学计算
question = "What is 4 + 9?"
print(question)
response = bot.get_response(question)
print(response)
print("\n")
# 回答和时间相关的问题
question = "What time is it?"
print(question)
response = bot.get_response(question)
print(response)
image
利用已经提供好的小中文语料库
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
chatbot = ChatBot("ChineseChatBot")
trainer = ChatterBotCorpusTrainer(chatbot)
# 使用中文语料库训练它
trainer.train("chatterbot.corpus.chinese")
def response_text(sentence):
res_text = chatbot.get_response(sentence)
print(sentence , "----", res_text)
return res_text
#
if __name__ == '__main__':
# 开始对话
while True:
print(chatbot.get_response(input(">")))
# print(response_text("你是谁"))
image
小黄鸡语料更智能(推荐)
from chatterbot import ChatBot
bot = ChatBot('my-chat', database_uri='sqlite:///db.sqlite3')
def response_text(sentence):
temp = bot.get_response(sentence)
return temp.text
if __name__ == '__main__':
# bot_response = response_text("你几岁了")
# print(bot_response)
# 开始对话
while True:
print(response_text(input(">")))
image
小黄鸡语料数据库:
Snip20191204_47.png
python微信集成_Python微信公众号后台开发005:集成智能聊天机器人相关推荐
- python 公众号菜单_Python微信公众号后台开发003:自定义菜单
有同学问道微信公众号后台开发的自定义菜单怎么实现? 这个问题本来想放到后面的,因为的确对公众号的影响挺明显的, 因为开启后台服务,公众号的自定义菜单就不见了,很影响使用, 也有同学问这个问题,就提前了 ...
- Python微信公众号后台开发003:自定义菜单
有同学问道微信公众号后台开发的自定义菜单怎么实现? 这个问题本来想放到后面的,因为的确对公众号的影响挺明显的, 因为开启后台服务,公众号的自定义菜单就不见了,很影响使用, 也有同学问这个问题,就提前了 ...
- Yii2.0实现微信公众号后台开发
2019独角兽企业重金招聘Python工程师标准>>> 研读 微信公众平台开发者文档 ,然后再阅读本文,效果更佳! 接入微信 Yii2后台配置 1.在app/config/param ...
- 公众号后台开发上传文件功能
微信公众号开发中, 上传文件是一个常用功能, 包括图片上传,视频,文件,附件,语音都要使用到这个. 今天的课程中, 介绍一个上传文件的类, 可以设置保存文件路径, 设置上传文件的类型- 公众号后台开发 ...
- python公众号教学_Python微信公众号后台开发教程
本篇文章开启Python开发微信公众号后台 准备: 云服务平台:(我用的是京东云的) 公众号:自己注册一个就行 Git:代码管理平台 了解平台 进入公众号后台,查看开发相关项 基本配置(服务器配置等) ...
- JAVA微信公众号后台开发 接口接入
前期准备 注册一个公众号,完成认证,阅读开发手册,选取开发工具,配置环境等等. 微信公众号开发标准 通过阅读文档我们了解到微信服务器向开发者提供接口,具体的流程如下 由上图可以看出,开发者需要做的:接 ...
- [基于Python的微信公众号后台开发:2]文字消息的接收与解密
文章目录 1.服务器安装pycryptodome 2.下载微信官方提供的解密SDK 3.上传SDK到服务器 4.开始测试 5.发送消息到公众号 6.测试解密:把所有参数套入官方给的Sample.py文 ...
- 微信公众号上部署自己训练的聊天机器人(腾讯云服务器+TensorFlow2.1+Django3.1)
文章目录 前言 1. 模型介绍 1.1 Encoder-Decoder框架 1.2 Attention机制 1.3 代码实现 2. 安装依赖库 3. 模型部署 4. 测试 前言 哈哈,重头戏终于来 ...
- Python多线程与多进程微信公众号后台开发
目录 前言 一.线程与进程 1.什么是线程 2.什么是进程 3.进程与线程的关系 4.总结 5.CPU密集型与IO密集型 二.Python的多线程和多进程 1.GIL(Global Interpret ...
最新文章
- STL库(C++11)提供的异步执行方法的方式
- C#日期格式精确到毫秒 !!
- 微信小程序 点击卡片切换 动画效果
- SpringBoot简单使用ehcache
- String、StringBuilder和StringBuffer
- Linux Shell脚本编程--cut命令
- 【powerdesigner】将pdm或者cdm保存为普通图片格式
- python之新式类与经典类
- Python中的GIL锁
- edittext 无法输入内容_掌握其中1个Excel小技巧,你就不用再担心会重复录入内容了。...
- visio studio调试 字符串断点
- 设计模式---简单工厂模式(c++实现)
- 20160504课堂作业
- (5)Redis主从同步原理及详细配置
- ffmpeg推流到流媒体服务器
- kali linux下的嗅探工具介绍
- 前程无忧网站大数据职位信息分析可视化(源码)
- python合并word表格_python docx处理word文档中表格合并问题
- K_A02_005 基于单片机驱动数码管 LED 按键模块(TM1638) 流水灯 0-7 按键值显示
- App在appstore下架的方法
热门文章
- 可应用于实际的14个NLP突破性研究成果(三)
- 年度大盘点:机器学习开源项目及框架
- 在MaxCompute上分析IP来源的方法
- (Python)时序预测的七种方法
- 面试中遇到这 3 个SQL问题,最容易掉坑里!
- 腾讯会议扩容背后:100万核计算资源全由自研服务器星星海支撑
- 腾讯云与智慧产业总裁汤道生:产业互联网是一场“持久战”
- 刷爆了!GitHub标星1.6W,这个 Python 项目太实用!
- 微服务精华问答 | 在使用微服务架构时,您面临哪些挑战?
- 边缘计算精华问答 | 边缘计算需要IaaS、PaaS、SaaS等服务能力吗?