Python + ChatterBot 创建聊天机器人

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

搭建准备

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

Python + ChatterBot 创建聊天机器人_第1张图片

安装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 + ChatterBot 创建聊天机器人_第2张图片

解决办法: 网上大多数的解决方式是 : 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
Python + ChatterBot 创建聊天机器人_第3张图片
安装完成后,在site-packages包里找到**en_core_web_sm-2.3.**1,复制改文件到项目的目录下,并更改文件名为 ‘en
Python + ChatterBot 创建聊天机器人_第4张图片

完成后测试效果

Python + ChatterBot 创建聊天机器人_第5张图片

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

最终:看了别人的文章之后,通过测试 确实聊天的正确率不是那么高,语料库是在太少了
Python + ChatterBot 创建聊天机器人_第6张图片

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

你可能感兴趣的:(python,自然语言处理)