我已经成功实现了用NLTK HMM Tagger库中的pos标记实现隐藏的markov模型,现在我想知道在标记过程中对每个单词,标记使用的每种概率。根据我的读物,有转移概率,发射概率,初始起始概率和标签的概率。如何获得这些概率?
我搜索了互联网,但找不到它。我想用自己的计算来验证标记结果,如果我每个词和标记的概率一一计算,那么这会太多,因为我的语料库很大。
答案 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
这可能是解决您问题的方法。