n-gram 马尔可夫链转移表

5
我正在尝试从给定的文本构建一个n-gram马尔可夫模型,然后访问其转移表,以便我可以计算每个长度为n(克)的单词序列的条件熵。 例如,在一个二元模型中,在读入一段文本语料库并构建一个内部转移表后,“dogs chase”状态可能会以0.9的概率转换为“chase cats”状态,并以0.1的概率转换为“chase people”状态。如果我知道可能的转换,我就可以计算出条件熵。
有没有适用于此的Python库?我已经检查了NLTK、SRILM和其他库,但没有找到太多相关内容。

我认为手动完成这个任务不应该太难...也许可以遍历所有的对并创建一个简单的计数矩阵,然后将每一行归一化以得到一个转移矩阵。 - Bach
1个回答

2
这篇文章距离第一次发布只有略过4年,我发现自己也遇到了同样的问题。虽然手动操作是可能的,但是我已经创建了adaptationism package,它提供了更多的功能!
不仅可以访问转换表,还可以对任何N-gram组合进行操作。
随着时间的推移,我将继续构建这个工具包,请随时联系我以获取未来功能的建议!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接