下面是我的代码片段:
HierarchicalLDA hlda = new HierarchicalLDA();
hlda.initialize(instances, instances, 5, new Randoms());
hlda.estimate(1000);
hlda.printState(new PrintWriter(new File("Data.txt")));
我无法理解控制台输出和"Data.txt"文件中打印的内容的含义。我已经搜索了MALLET网站,但没有发现任何有用的东西。任何帮助或建议将不胜感激。提前感谢!
在hLDA中,每个文档通过主题树采样路径。每个令牌存在于该路径的一个"级别"上。printState
方法为您提供文档路径中每个树节点的ID,然后是关于单词的信息:单词的数字ID、该ID的字符串以及路径中的级别。
node = documentLeaves[doc];
for (level = numLevels - 1; level >= 0; level--) {
path.append(node.nodeID + " ");
node = node.parent;
}
for (token = 0; token < seqLen; token++) {
type = fs.getIndexAtPosition(token);
level = docLevels[token];
// The "" just tells java we're not trying to add a string and an int
out.println(path + "" + type + " " + alphabet.lookupObject(type) + " " + level + " ");
}