chatterbot mysql_ChatterBot代码解读-介绍和框架

一.介绍

ChatterBot是一个基于机器学习的聊天机器人引擎,构建在python上,主要特点是可以自可以从已有的对话中进行学习。由于机器学习的特点,代理实例从和人的交互或者其他数据源学习得越久,就越能更精确的交互。

具备语言独立性,可以训练成说任何语言。

二.处理流程

ChatterBot对于输入语句选择最匹配的响应作为回答。输入、输出、存储和处理逻辑,是由各种adapter来处理的,这样使得他非常容易扩展。

输入形式 Input Adapters

Variable input type adapter 允许chatter bot接收不同类型的输入的,如strings,dictionaries和Statements

Terminal adapter 使得ChatterBot可以通过终端进行对话

HipChat Adapter 使得ChatterBot 可以从HipChat聊天室获取输入语句,通过HipChat 和 ChatterBot 进行对话

Speech recognition 语音识别输入,详见chatterbot-voice

预处理部分Preprocessor

对于输入语句在提交给logic adaper处理之前,进行一些特殊的处理。比如:

clean_whitespace 去掉语句中连续的空白字符

unescape_html 将 html中的转义字符变成对应的原字符,比如“<b>” 变成“”.

convert_to_ascii 将unicode转成对应的ASCII码

机器人应答逻辑 Logic Adapters

Best Match Adapter 最佳匹配

Time Logic Adapter 处理涉及时间的提问

Mathematical Evaluation Adapter 涉及数学运算

Specific Response Adapter 针对特点的输入,给出特定的输出。比如用户输入"help me"时,输出"你可以拨打xxxx电话"

存储器后端 Storage Adapters

SQL Storage Adapter 用sql数据库存储对话数据,由于程序是采用Alchemy ORM开发的,需要选择支持Alchemy ORM的数据库,比如mysql

Mongo Database Adapter  以MongoDB database方式来存储对话数据

输出形式 => 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值