Python + ChatterBot 创建聊天机器人

Python + ChatterBot 创建聊天机器人,第1张

前言:因为之前接过一个qq的机器人,聊天的机器人是用的别人的成品,最近不忙,就想着用Python搭建一个简单的机器人

搭建准备

我使用的是python3.7,使用虚拟环境,我觉得干净的环境比较容易找错
搭建的过程参考了两位大神的文章:
用chatterbot从零开始创建一个聊天机器人(一)
两种开源聊天机器人的性能测试(一)——ChatterBot

安装chatterbot
pip install chatterbot  # 聊天机器人
pip install chatterbot-corpus  # 语料库
pip install spacy  # 自然语言处理
测试

全部安装完成后用中文语料库测试是否正常运行

from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

chatbot = ChatBot('Ron Obvious')

# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)

# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.chinese")
lineCounter = 1
# 开始对话
while True:
    print(chatbot.get_response(input("(" + str(lineCounter) + ") user:")))
    lineCounter += 1


报错 OSError: [E941] Can’t find model ‘en’

解决办法: 网上大多数的解决方式是 : python -m spacy download en 但是在我这并不适用

这边文章有了解决办法:
python -m spacy dowmload en失败

最终解决办法:下载离线包
1.https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.3.1/en_core_web_sm-2.3.1.tar.gz
2.下载完成后本地安装,(我选择复制到项目内进行安装)
pip install en_core_web_sm-2.3.1.tar.gz

安装完成后,在site-packages包里找到**en_core_web_sm-2.3.**1,复制改文件到项目的目录下,并更改文件名为 ‘en’

完成后测试效果

注:等待语料库加载完成后就可以测试了

最终:看了别人的文章之后,通过测试 确实聊天的正确率不是那么高,语料库是在太少了

搞了两天.终于搞通了,我还是太菜了

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/724086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存