Beizen eines trainierten NLTK-Modells

So trainiere ich derzeit ein Hidden Markov Model auf einer Reihe von chirurgischen Daten wie so:

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

Wenn es hilfreich ist, wird "Modell" als 'HiddenMarkovModelTagger 15 Staaten und 90 Ausgangssymbole'

Allerdings dauert es fast eine Stunde, um dieses volle Training auf meiner Maschine zu führen. Ich möchte in der Lage sein, die nltk Modellausgabe 'model' zu serialisieren, um zwischen den Sessions zu laden und zu speichern. Ich habe gelesen, und jeder scheint Python's gebaut in Gurke zu verwenden, die alle gut und dandy für bekannte Datentypen funktioniert. Ich kann sogar meine trainierte Modellvariable mit diesem Code packen:

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

Aber wenn ich versuche, die gebeizte Datei zu laden, bekomme ich den Fehler:

 /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 

Hat irgendjemand einen Weg gefunden? Ist es ein Problem mit NLTK?

    Python ist die beste Programmiersprache der Welt.