Java typeTopicCounts在mallet API主题建模实现中的作用

Java typeTopicCounts在mallet API主题建模实现中的作用,java,mallet,Java,Mallet,我试图理解LDA主题模型是如何在malletAPI中实现的。在ParallelTopicModel类中,我可以看到一个名为typeTopicCounts的2D int数组,它通过一些位操作在buildInitialTypeTopicCounts()方法中初始化,随后用于每个文档。我的问题是这个数组值表示什么?我能从源代码中得到的唯一信息是,它是由[feature index,topic index]索引的。LDA的Gibbs采样的计算性能主要取决于计算每个单词标记在主题上的采样分布。主题模型的建

我试图理解LDA主题模型是如何在malletAPI中实现的。在
ParallelTopicModel
类中,我可以看到一个名为
typeTopicCounts
的2D int数组,它通过一些位操作在
buildInitialTypeTopicCounts()
方法中初始化,随后用于每个文档。我的问题是这个数组值表示什么?我能从源代码中得到的唯一信息是,它是由[feature index,topic index]索引的。

LDA的Gibbs采样的计算性能主要取决于计算每个单词标记在主题上的采样分布。主题模型的建立使得词与主题之间的关系具有很大的稀疏性。如果我们能够通过尽可能多地节省从一个单词到下一个单词的计算量,并且只进行有意义的计算(比如不乘以零),从而提高计算效率,那么我们可以获得很大的加速

typeTopicCounts
数组中,每个单词类型都有一个
int
s数组。此数组中每个
int
值的含义使用位移位运算符对主题和令牌计数进行编码。计数位于高位,因此我们可以按计数对主题进行排序,而无需“解包”整数

有关此方法的教程中的幻灯片可在以下位置获得: