我正在使用NLTK进行文本分类,因为每次我想要使用它时需要很长时间重新训练我的分类器我一直在尝试使用pickle来保存我能分类的实例稍后再打电话。
我的代码如下所示:
classifier = nltk.NaiveBayesClassifier.train(training_set)
filehandler = open("class.pickle","wb")
pickle.dump( classifier, filehandler )
filehandler.close()
然而,当我在另一个程序中提取分类器时:
classifier = pickle.load(open("class.pickle","rb"))
并运行该程序,它不仅打开分类器对象,而且还运行整个文件,并且这样做会重新训练所有内容并运行不需要运行的代码(例如print语句) 。
编辑:似乎问题是我还从我创建分类器的文件中导入另一个函数。我将此函数移动到我的新文件并重新运行它现在工作正常。