当前位置:   article > 正文

使用Python编写Chatbot过程中遇到的问题及解决方法汇总_chatbot' object has no attribute 'set_trainer

chatbot' object has no attribute 'set_trainer

在用PySimpleGUIchatterbot编写一个chatbot的过程中,遇到了一些安装和导入包的问题,在此做一个汇总,希望可以帮助到遇到类似问题的你。
PySimpleGUI官方repo中的chatbot范例链接:Link

pip3 install chatterbot 报错

如果你的Python版本在3.8或3.8以上,在安装chatterbot中的spacy时,会出现安装不成功的情况:
Collecting spacy<2.2,>=2.1
Using cached spacy-2.1.9.tar.gz (30.7 MB)
Installing build dependencies ... -
(进度条不动且最终有一长串报错)

发生这个问题的原因也许是spacy还没有对Python 3.8及更高版本进行适配,所以这时我选择把Python的编译环境换成3.8以下(3.6 亲测可行)

OSError: [E050] Can’t find model ‘en’

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.

解决方法:在terminal中运行此命令行下载 model ‘en’

python -m spacy download en
  • 1

引用自:https://github.com/hamelsmu/Seq2Seq_Tutorial/issues/1

‘ChatBot’ object has no attribute ‘train’

chatbot.train("chatterbot.corpus.english")
AttributeError: 'ChatBot' object has no attribute 'train'

正如这个报错所描述的一样,Chatbot没有’train’这个attribute。解决方法也很简单,只要import ChatterBotCorpusTrainer并创造一个trainer的实例就可以解决:

from chatterbot.trainers import ChatterBotCorpusTrainer
...
(你的代码)
...
# 这一行是之前报错的代码 ⬇️
# chatbot.train("chatterbot.corpus.english")

# 改为 ⬇️ 即可
trainer = ChatterBotCorpusTrainer(chatbot)

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/379249
推荐阅读
相关标签
  

闽ICP备14008679号