安装chatterbot的填坑过程

网上你看到的教程都是这样安装的,使用

pip install chatterbot

恩,如果你没有任何错误,并且能够顺利运行,那么恭喜你,你的运气太好了,可能你使用的的linux系统吧,又或者你并不是在安装了Anaconda后安装chatterbot

本文要介绍的是使用window系统,安装Anaconda后安装chatterbot的踩坑过程,顺便插一句,python版本之间兼容很不好,安装库时,一定要找到python对应版本的库,不然,出错到你怀疑人生

本文介绍所操作的环境是:

window server2012系统

python 3.7

Anaconda4.7.12

步骤如下:

一   没有安装Anaconda的可以安装一下,已经安装过或者装过python的,可以跳过,直接进入步骤二

Anaconda的下载地址为:https://www.anaconda.com/distribution/

现在我们要安装的版本如下图:

下载后,双击后安装界面提示安装即可,你可以自定义安装目录,我把它安装在C:\AnacondaInstall\,注意,安装到这一步时,需要勾选Add  Anaconda to system PATH  environment variable,如下图,接着等待安装完成

安装完成后,验证安装是否成功

按住window+r键,输入cmd ,弹出dos命令行窗体,输入conda --version后出现版本号,代表安装成功

步骤二:正式安装chatterbot

2.1  按住window+r键,输入cmd ,弹出dos命令行窗体,输入 pip install chatterbot   ,正常情况下,下载的chatterbot会自动匹配你的python版本,并且安装的chatterbot是当前发布的最新的版本,如果出现问题,可以考虑一下chatterbot的版本是否过高了,又或者可以采取离线安装,不过还是建议在线安装,安装它需要很多的依赖库,chatterbot的各个版本下载地址如下:ChatterBot · PyPI

耐心等待,下载的速度慢得要命,经常下载到一半后失败,如下图:

没办法,重新输入pip install chatterbot安装,希望这次网络会好一点

在下载的过程中,从下图输出的信息可以看到,如果你使用Anaconda的方式安装python,那么Anaconda默认帮我们安装了nltk和pyyaml,  这样就会导致很多问题,最直接的是chatterbox安装失败,又或者安装成功了,运行出现错误,到了这里,你需要留个心眼了,如果折腾了好久(我所指的好久是把全网的解决办法都试过了的情况下)都没有把chatterbox安装好,可以卸载了nltk或者pyyaml并安装其它版本试试

经过漫长的等待,没有报错,如下图,算是初步安装了chatterbot,为什么说是初步呢!不代表运行没有出现错误 

不信,跟着我一起导入包试试吧!

接着输入python,然后输入导入包命令

from chatterbot import ChatBot

从上图中,可以看到,出错了,缺少chatterbot_corpus模块

好,那么我们现在就装chatterbot_corpus库,输入quit()命令退出python环境,接着输入

pip install chatterbot_corpus 进行安装

接着,你会看到你不想看到的错误信息,如下图:

为了别人出现这样的错误能够搜索到,我把错误信息拷贝粘贴在这里:

ERROR: chatterbot 1.0.5 has requirement pyyaml<5.2,>=5.1, but you'll have pyyaml
 3.13 which is incompatible.

annot uninstall 'PyYAML'. It is a distutils installed project and thus w
 accurately determine which files belong to it which would lead to only
l uninstall.
 

解决办法,在命令pip install chatterbot_corpus后面加上

--ignore-installed

完整命令为: pip install chatterbot_corpus --ignore-installed

忽略依赖安装,如下图:

为了别人能够搜索到,我把红色报错信息也拷贝黏贴一下:

ERROR: chatterbot 1.0.5 has requirement pyyaml<5.2,>=5.1, but you'll have pyyaml
 3.13 which is incompatible.

接着再导入包试试,发现导入包没有报错了,如下图:

到了这里,不用以为完成了,拷贝下面最简单的代码测试一下就知道了:

(注意:如果是使用记事本的方式编写代码,那么一定要另存为utf-8格式的编码,因为使用微软的记事本编写的文本默认格式是gbk的,还有,为了测试能够通过,代码中尽量不要出现中文,具体的还是编码问题,训练中的文本一定不能有中文,因为如果要训练中文的,还要额外导入中文的包)

# -*- coding: utf-8 -*-
from chatterbot import ChatBot
 
# Create a new chat bot named Charlie
chatbot = ChatBot(
    'Charlie',
    trainer='chatterbot.trainers.ListTrainer'
)
 
chatbot.train([
    "Hi, can I help you?",
    "Sure, I'd like to book a flight to Iceland.",
    "Your flight has been booked."
])
 
# Get a response to the input text 'How are you?'
response = chatbot.get_response('I would like to book a flight.')
 
print(response)

运行如下图:

为了别人能够搜索到,我把错误信息拷贝粘贴一下:

AttributeError: 'ChatBot' object has no attribute 'train'

发生这样错误是因为代码不是这样写了,上面的代码是早期chatterbot版本的写法,现在测试使用的版本的写法如下:

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer

# Create a new chat bot named Charlie
chatbot = ChatBot('Charlie')

trainer = ListTrainer(chatbot)

trainer.train([
    "Hi, can I help you?",
    "Sure, I'd like to book a flight to Iceland.",
    "Your flight has been booked."
])

# Get a response to the input text 'I would like to book a flight.'
response = chatbot.get_response('I would like to book a flight.')

print(response)

代码替换后重新运行

如果xx.train后面的列表是中文的训练数据,那么会报这样的错误:

zipfile.BadZipFile: File is not a zip file

又或者是:

[nltk_data]     远程主机强迫关闭了一个现有的连接

强迫关闭了一个现有的连接是因为你下载nltk自然语言处理的数据包遭到拒绝,重启电脑再执行下面的操作

上面的代码运行的时候,时间很长,给人的感觉是卡了好久,其实是第一次运行,它会去下载nltk自然语言处理的数据包和其它杂七杂八相关的文件到C:\Users\Administrator\AppData\Roaming目录下(其中Roaming是隐藏目录,怎么让它显示可以百度),你的可能不是这个目录,这需要你看一下,上面输出的信息指向的是哪个目录,具体是哪个目录和如何下载nltk数据包,可以参考:【自然语言处理】最全的window下NLTK安装说明-CSDN博客

如果你的网络很好,那么一点问题都没有,如果网络不好,那么就需要离线下载了,下载链接如下:

链接:https://pan.baidu.com/s/1m2OX7GBlVf8q-zk21C7j9A 
提取码:2zoz

最后运行结果如下:

好了,到了这里,安装和测试全部完毕

 好了,本文到此结束,如果本文对你有帮助,资助2毛钱作为鼓励呗,穷逼一个,就当筹个网费吧

# 说明 该库是对目前市面上已有的开源中文聊天语料的搜集和系统化整理工作 该库搜集了包含 - chatterbot - 豆瓣多轮 - PTT八卦语料 - 青云语料 - 电视剧对白语料 - 贴吧论坛回帖语料 - 微博语料 - 小黄鸡语料 共8个公开闲聊常用语料和短信,白鹭时代问答等语料。 并对8个常见语料的数据进行了统一化规整和处理,达到直接可以粗略使用的目的。 **使用该项目,即可对所有的聊天语料进行一次性的处理和统一下载,不需要到处自己去搜集下载和分别处理各种不同的格式。* # 环境 python3 # 处理过程 将各个来源的语料按照其原格式进行提取,提取后进行繁体字转换,然后统一变成一轮一轮的对话。 # 使用方法 将解压后的raw_chat_corpus文件夹放到当前目录下 目录结构为 ``` raw_chat_corpus -- language -- process_pipelines -- raw_chat_corpus ---- chatterbot-1k ---- douban-multiturn-100w ---- .... -- main.py -- ... ``` 执行命令即可 ```bash python main.py ``` 或者 ```bash python3 main.py ``` # 生成结果 每个来源的语料分别生成一个独立的*.tsv文件,都放在新生成的clean_chat_corpus文件夹下。 生成结果格式为 tsv格式,每行是一个样本,先是query,再是answer ``` query \t answer ``` # 结果的使用 这个就根据每个人不同的情况自主使用即可 个人对于聊天机器人方向实践也不是很多,以下一篇之前写的知乎专栏供参考 **《从产品完整性的角度浅谈chatbot》** 文章粗略讲解了如下一些方面,介绍了聊天机器人在实际产品化过程中可能遇到的问题和解决办法。 1. chatbot自身人格的设置 1. 产品上线需要考虑的敏感词处理 1. 文本检索模型的使用 1. 文本生成模型的使用 1. 回答打分机制 1. 万能回答的使用策略 1. 多媒体消息的处理 1. 产品模型部署的问题 # 版权说明 本项目为非商业项目,为纯搜集和汇总资料,如有侵权,请在issue下留言。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxy2847225301

测试使用

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值