Chatterbot 是基于pyhton实现的一个简单的聊天机器人,它需要大量对话语料来支撑它的运行。当用户给它一个输入时,它会在所有的语料库中寻找和这句话最相似的一句话,然后返回语料库中的下一句。chatterbot_corpus 是 Chatterbot 自带的语料库。本篇就先简单的写下chatterbot的安装使用。

一、安装

我们把chatterbot和示例的语料库一起安装下,这里使用pip的方式进行安装:install chatterbot chatterbot_corpus

这样安装完后,还不能用,还需要安装spacy语言包才可以使用,不然直接用会报如下的错误:

File "/opt/miniconda3/lib/python3.7/site-packages/spacy/util.py", line 139, in load_model

raise IOError(Errors.E050.format(name=name))

OSError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.

解决方法是安装语言包,具体可以参考链接:https://spacy.io/usage/models ,对应的安装指令为:

python -m spacy download en_core_web_sm

python -m spacy download zh_core_web_sm

python -m spacy download en

python -m spacy download zh //该条不一定能成功

二、训练

在使用前,需要先指定语料库进行训练,训练结果会存到数据库里,这里默认的是sqlite库,也支持mongodb等库。from chatterbot import ChatBot

from chatterbot.trainers import ChatterBotCorpusTrainer

# Create a new instance of a ChatBot

bot = ChatBot(

'mybot',

storage_adapter='chatterbot.storage.SQLStorageAdapter',

database_uri='sqlite:///database.db'

)

trainer = ChatterBotCorpusTrainer(bot)

trainer.train("chatterbot.corpus.chinese")

trainer.train("chatterbot.corpus.english")

这是创建一个聊天机器人,名字叫 mybot(你也可以改成自己起的名字),使用 Sqlite中的数据,建议使用mongodb数据。

这句代码里面有一个单词 adapter,官方翻译为“适配器”。其实它更准确的含义是“组件”。创建 Chatbot 时还有很多 xxx_adapter 这样的参数,可以为机器人开启各种各样的功能。不过有一点要注意,有些功能可能只对于英语进行了适配,对其他语言支持并不好。

上在使用的就是chatterbot_corpus包默认安装的语料库内容,其对应的地址为:/lib/python3.7/site-packages/chatterbot_corpus/data/chinese(english)下,执行上面的训练输出如下:

训练完成后,训练的内容会保存在上面配置的数据库里。后面使用的时候就可以直接调用数据库执行。

三、使用

使用上面训练好的数据库里的内容,可以使用如下的代码进行测试:

from chatterbot import ChatBot

from chatterbot.trainers import ChatterBotCorpusTrainer

# Create a new instance of a ChatBot

bot = ChatBot(

'Terminal',

storage_adapter='chatterbot.storage.SQLStorageAdapter',

database_uri='sqlite:///database.db'

)

trainer = ChatterBotCorpusTrainer(bot)

print('Type something to begin...')

def r(s):return bot.get_response(s).text

# The following loop will execute each time the user enters input

while True:

try:

i = input('>>> ').strip()

if i != 'exit':

print(r(i))

# Press ctrl-c or ctrl-d on the keyboard to exit

except (KeyboardInterrupt, EOFError, SystemExit):

break

我这里使用小黄鸡语料库训练后的对话结果如下:

php 调用 chatterbot,ChatterBot聊天机器人初体验相关推荐

  1. 米家机扫拖机器人说明书_除菌扫拖一次搞定,科沃斯N8除菌扫拖机器人初体验...

    前言: 随着生活水平提高,扫地机器人变得越来越普及.家用各类清扫设备的普及,极大解放了生产力.传统的扫地机器人也在不断进化,自清洁.扫拖一体.自动除菌等功能也在慢慢普及.那你家扫地机器人会除菌吗?今天 ...

  2. mbot机器人初体验_[首发开箱]Makeblock mBot Ranger mBot游侠版 强大的STEM教育机器人...

    本帖最后由 ahagowo 于 2016-4-17 08:38 编辑 mBot游侠机器人套件是一个三种功能于一身的STEM教育机器人套件,它支持3种组装形态:机器人坦克,三轮赛车,和自平衡车.mBot ...

  3. ChatterBot构建聊天机器人

    一.预备知识 机器人应答逻辑(Logic Adapter),针对每个部分设计了不同的适配器 Closet Match Adapter:字符串模糊匹配(编辑距离) Closet Meaning Adap ...

  4. 人工智能市场兴起,哪款聊天机器人能提供最好的投资回报?

    至顶网软件频道消息:目前关于聊天机器人的讨论日渐火热.从零售到医疗保健等行业都计划在2017年使用聊天机器人.但是,在您的服务交付工作流程中添加人工智能是否能提供积极的投资回报? Inbenta是一家 ...

  5. 聊天机器人中的 A/B 测试

    原文作者:Oksana Oboishchyk 原文链接:A/B 测试在 Chatbots 编译:一熊翻译组 Mason 目前,没有太多的工具和平台为聊天机器人提供 A/B 测试.但是,A/B 测试是在 ...

  6. ChatGPT使用拓展资料:AI大模型之美 -客户服务、聊天机器人和情感分析

    本文将介绍一款基于OpenAI API的人工智能(AI)应用程序,该应用程序可以用于客户服务.聊天机器人和情感分析等任务.该应用程序使用Python编程语言和OpenAI API实现,可以自动化回答用 ...

  7. 微信自动聊天机器狗,配置chatGPT,比Siri还智能!

    大家好,我是TheWeiJun:最近看见微信里各个群聊都在聊chatGPT,甚至有的大佬们都把chatGPT接入了微信群聊,于是就有粉丝来找小编,希望能出一期chatGPT的文章:故今天这篇文章我将手 ...

  8. 【每周NLP论文推荐】 聊天机器人中FAQ相关的论文推荐

    欢迎来到<每周NLP论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 今天推荐FAQ相关的论文,FAQ是聊天机器 ...

  9. python聊天机器人源码_Python Google talk聊天机器人源码

    Python玩蛇网本文是关于依据xmpp封装的Jabber聊天机器人类. 并提供了Python Google talk聊天机器人源码供大家参考.这个python gtalk机器人是可以通过继承,并能重 ...

最新文章

  1. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 8. 软间隔与支持向量回归
  2. R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间、将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间、适应时间段跨越多天的情况
  3. 批处理文件中判断是否64位系统
  4. node实战学习纪录
  5. 用rapid-framework开源工具快速生成SSH的网站框架MVC模式
  6. python programming training(二): 排序算法
  7. 2019-11-10 等价、相似、合同的一些概念
  8. 【程序猿必备】数据结构与算法精选面试题
  9. MTK驱动开发(44)---如何对GPS下达清除辅助资讯的command
  10. 【NeurIPS2020】之预训练语言模型压缩
  11. halcon 深度学习英伟达显卡部署
  12. 2021年塔式起重机司机考试题库及塔式起重机司机模拟考试
  13. CrossOver Mac2022双系统虚拟机软件
  14. 线性规划,大M法,两阶段法
  15. 台式机通过笔记本上网的方法
  16. HTML5视频自动循环播放
  17. 在Windows平台上使用Git和pathogen管理gVim插件
  18. 英语发音规则---字母组合ou的发音规律
  19. UICollectionView左对齐
  20. 心得体会标题大全_心得体会题目大全

热门文章

  1. JavaScript驼峰命名法!
  2. 第11章 三维内功心法——Direct3D编程基础
  3. 关于SSH协议最完整的讲解
  4. Linux系统中的日志及时间时区管理超实用
  5. 编程笔记1:使用c语言编译器
  6. Rubymine使用技巧汇总
  7. 如何快速制作EDIUS中的黑场过渡
  8. Android手机提示“内部存储空间不足”产生原因及解决方案
  9. 中移动的这三波操作,让分布式存储一下子就亮了
  10. 计算机用户名密码设置密码,电脑密码怎么设置 教你电脑开机密码 屏保密码如何设置【图文】-太平洋电脑网PConline_教你学电脑_太平洋电脑网PConline...