Java 如何获得mallet中某个主题的概率分布?

Java 如何获得mallet中某个主题的概率分布?,java,machine-learning,topic-modeling,mallet,topicmodels,Java,Machine Learning,Topic Modeling,Mallet,Topicmodels,使用木槌,我可以得到一个特定数量的主题和他们的话。如何确保主题词的概率分布(即总和为1) 例如,如果我以下面的方式运行它,我如何使用mallet给出的输出来确保主题0的主题词的概率加起来等于1 mallet train-topics --input text.vectors --output-topic-keys topics.txt --output-doc-topics doc_comp.txt --topic-word-weights-file weights.txt --num-top-

使用木槌,我可以得到一个特定数量的主题和他们的话。如何确保主题词的概率分布(即总和为1)

例如,如果我以下面的方式运行它,我如何使用mallet给出的输出来确保主题0的主题词的概率加起来等于1

mallet train-topics --input text.vectors --output-topic-keys topics.txt --output-doc-topics doc_comp.txt --topic-word-weights-file weights.txt --num-top-words 50 --word-topic-counts-file counts.txt --num-topics 3 --output-state topicstate.gz --alpha 1

我假设您的weights.txt文件包含主题中每个单词的权重?我已经有一段时间没有使用Mallet了,但是你应该可以用Excel之类的东西打开这个文件,然后对主题词权重求和?是的,但它不能求和。如果我只使用L1或L2标准化权重,可以吗?或者有什么特殊的方法可以做到这一点吗?你能在一个主题中发布前10个术语的权重吗?我想你可能需要恢复正常。如果我没记错的话,当我使用木槌的时候,一些单词的权重会大于1。我认为概率最终会是p(单词主题)=
(计数[主题,单词]+字母/num\u单词类型)/(总和(计数[主题,w]表示单词中的w)+alpha)
。可能的重复