挑选训练有素的NLTK模型

时间:2012-10-22 22:24:38

标签: python nltk pickle

所以我目前在一组手术数据上训练隐马尔可夫模型,如下:

nltkTrainer = nltk.tag.hmm.HiddenMarkovModelTrainer(range(15),range(90))
model = nltkTrainer.train_unsupervised(data, max_iterations=3)

如果它有用,'model'被赋予'HiddenMarkovModelTagger 15状态和90个输出符号'

但是,在我的机器上运行此完整培训需要将近一个小时。我希望能够序列化nltk模型输出'model'以在会话之间加载和保存。我已经阅读过,每个人似乎都使用Python内置的pickle,对于已知的数据类型,它们都很好用。我甚至可以使用以下代码来挑选我训练过的模型变量:

f = open('my_classifier.pickle', 'wb')
pickle.dump(model, f)
f.close()

但是在尝试加载pickle文件时,我收到错误:

/usr/local/lib/python2.7/dist-packages/nltk/probability.pyc in __init__(self, probdist_dict)
   1971         """
   1972         defaultdict.__init__(self, DictionaryProbDist)
-> 1973         self.update(probdist_dict)
   1974 
   1975 ##//////////////////////////////////////////////////////

TypeError: 'type' object is not iterable

有没有人找到解决办法?这是NLTK的问题吗?

0 个答案:

没有答案