我无法挑选通过nltk训练的天真贝叶斯分类器。这是我用来保存分类器的代码:
pickledfile=open('my_classifier.pickle','wb')
pickle.dump(classifier,pickledfile)
pickledfile.close()
这似乎工作正常。但是,当我尝试使用以下代码加载pickle文件时:
f1=open('my_classifier.pickle')
classifier=pickle.load(f1)
f1.close()
我收到了EOF错误。我直接从这个问题得到了这个代码,它对我来说无论如何都不起作用:Save Naive Bayes Trained Classifier in NLTK。如果您知道这是怎么回事,请告诉我。
答案 0 :(得分:1)
我没有环境设置来测试您的代码,但我觉得在保存/加载pickle的部分不正确。
参考NLTK书籍的Storing Taggers部分,我会更改您的代码并按照以下方式执行:
def save_classifier(classifier):
f = open('my_classifier.pickle', 'wb')
pickle.dump(classifier, f, -1)
f.close()
def load_classifier():
f = open('my_classifier.pickle', 'rb')
classifier = pickle.load(f)
f.close()
return classifier
希望它有所帮助。