从hmm nltk获取过渡概率,发射(输出)概率和初始概率

时间:2018-07-06 15:41:40

标签: python nltk probability hidden-markov-models

我已经成功实现了用NLTK HMM Tagger库中的pos标记实现隐藏的markov模型,现在我想知道在标记过程中对每个单词,标记使用的每种概率。根据我的读物,有转移概率,发射概率,初始起始概率和标签的概率。如何获得这些概率?

我搜索了互联网,但找不到它。我想用自己的计算来验证标记结果,如果我每个词和标记的概率一一计算,那么这会太多,因为我的语料库很大。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用NLTK 3.3中的HiddenMarkovModelTagger类。

您可以看到源here

使用它,我们可以看到对象中包含以下字段:

def __init__(self, symbols, states, transitions, outputs, priors, transform=_identity):
        self._symbols = unique_list(symbols)
        self._states = unique_list(states)
        self._transitions = transitions
        self._outputs = outputs
        self._priors = priors
        self._cache = None
        self._transform = transform

这可能是解决您问题的方法。