java - 无法理解 MALLET 中的 HLDA 输出

标签 java mallet

下面是我的代码片段:

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 + " ");
    }

关于java - 无法理解 MALLET 中的 HLDA 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38088972/

相关文章:

java - 错误 : org. apache.xerces.dom.DeferredTextImpl 无法转换为 org.w3c.dom.Element

java - Android 应用程序中方法 Picasso.with().load() 中的目标不为 null

topic-modeling - 如何在mallet中导入excel文件

java - Android 按钮不起作用?

java - 计划使用关键字从 jmeter 脚本执行测试用例的选择

java - 在 C# 中等效于 Java 的匿名类?

c# - 将 Mallet 作为二元分类器应用于文档分类

nlp - 关于潜在狄利克雷分配(MALLET)的问题

java - 我应该将哪个版本的 Java JDK 与 MALLET 一起使用?

optimization - 木槌优化错误 : Exiting L-BFGS on termination #1