开发商机器人,主要要下载ChatBot包
在Python下下载Chatbot并不难,难的是Chatbot会依赖spacy包、NlTK包。
在Chatbot调用的spacy包的代码里,默认会用"en"这个短链接,来指向spacy下的英文、中文的语义包。
但是,如果不是用计算机管理员用户来执行下载spacy的包的命令,则创建不了“en短链接”,会报错:
Creating a symlink in spacy/data failed
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.
所以,在windows下,一定要用管理员身份来允许命令行:
1、用管理员身份打开命令行
2、执行下载spacy命令
python -m spacy download en
3、测试spacy是否下载成功
import en_core_web_sm
import spacy
spacy.load('en_core_web_sm')
4、安装chatbot
pip install chatterbot
4、也可以看看spacy的官方资料
https://spacy.io/usage#symlink-privilege
5、案例代码最好用官方案例,因为部分函数、参数命改了
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)
6、Pycharm里,必须要在Setting里改环境
打开Setting,选择Project ,选择Project Interpreter,通过设置小按钮,创建新的解释器
要改下Location的名字,2个选项都打勾,这样就能用上之前下载好的其他包了
整个案例也可以参考这组文章:
A:【自然语言处理篇】--Chatterbot聊天机器人
https://blog.csdn.net/LHWorldBlog/article/details/81039399
(其中有些方法函数更新了,要改)
B:
用 Python 来做一个聊天机器人吧!(一)
https://zhuanlan.zhihu.com/p/78714067
用 Python 来做一个聊天机器人吧!(二)
https://zhuanlan.zhihu.com/p/104323055
下载作者的中文语料库
https://github.com/Wybxc/chinese-corpus
下载和安装mangoDB
https://www.runoob.com/mongodb/mongodb-window-install.html
C:
下载Chatrot官方样例
git clone https://github.com/gunthercox/ChatterBot/tree/master/examples.git