n-gram 马尔可夫链转移表

Dan*_*Dan 5 python nlp entropy nltk markov-models

我正在尝试从给定的一段文本构建一个 n-gram 马尔可夫模型,然后访问它的转换表,以便我可以计算每个长度为 n(克)的单词序列的条件熵。例如,在 2-gram 模型中,在阅读文本语料库后

“狗追猫狗追猫狗追猫狗追猫狗追猫狗追猫狗追猫狗追猫狗追猫狗追人”

并建立内部转换表,状态“狗追逐”可能以0.9的概率过渡到“追逐猫”状态,以0.1的概率变为“追逐人”状态。如果我知道可能的转换,我就可以计算条件熵。

有没有什么好的python库可以做到这一点?我检查了 NLTK、SRILM 和其他人,但没有找到太多。

sha*_*dev 2

距离这篇文章首次创建才过去了 4 年多一点,我发现自己也遇到了同样的问题。虽然可以手动执行此操作,但我已经创建了适应主义包,它提供了更多功能!

您不仅可以访问转换表,还可以对任何 N 元语法组合执行此操作。

随着时间的推移,我将继续构建这个工具包,请随时向我提出有关未来功能的建议!