【发布时间】:2018-03-16 14:43:01
【问题描述】:
我想知道如何保存一个训练有素的 NLTK (Unigram)Tagger。我用下面的代码训练了一个Portuguese UnigramTagger,根据语料库,它可能需要一段时间才能运行,所以我想避免重新运行它。
import nltk
from nltk import mac_morpho
def get_unigram_tagger():
p_train = 0.9
tagged_sents = mac_morpho.tagged_sents()
size = int(len(tagged_sents)*0.9)
train_sents = tagged_sents[:size]
test_sents = tagged_sents[size:]
uni_tagger = nltk.UnigramTagger(train_sents)
print "Test accuracy =", uni_tagger.evaluate(test_sents)
return uni_tagger
所以我从这个函数中得到uni_tagger,如果我再次运行程序,我必须重新计算它。也许我可以以某种方式保存uni_tagger,以便下次我只需要从文件中读取它(权重等)。
【问题讨论】: