无法理解MALLET中的HLDA输出

时间:2016-06-29 01:47:18

标签: java mallet

以下是我的代码片段:

ArrayList<MyString>

我无法理解控制台输出和“Data.txt”文件中打印内容的含义。我已经搜过了MALLET网站,但没有发现任何有用的信息。任何帮助或建议将不胜感激。 提前谢谢!

1 个答案:

答案 0 :(得分:2)

在hLDA中,每个文档都会通过主题树对路径进行采样。每个令牌都存在于一个&#34;级别&#34;那条路。 printState方法为您提供文档路径中每个树节点的ID,后跟有关单词的信息:单词的数字ID,该ID的字符串以及路径中的级别。 / p>

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