1

我从一个字符串列表中创建了一个由标记特征序列组成的实例列表。通过命令行,我可以根据计数、tf-idf 等(https://github.com/mimno/Mallet/blob/master/src/cc/mallet/classify/tui/Vectors2Vectors.java)修剪这些数据。但是如果我想用 Java 来做呢?如何扩展我的代码?

我的目标是删除 LDA 主题建模的最常用词。

public static InstanceList createInstanceList(List<String> texts) {

    ArrayList<Pipe> pipes = new ArrayList<Pipe>();

    pipes.add(new CharSequence2TokenSequence());
    pipes.add(new TokenSequenceLowercase());
    pipes.add(new TokenSequenceRemoveStopwords());
    pipes.add(new TokenSequence2FeatureSequence());

    InstanceList instanceList = new InstanceList(new SerialPipes(pipes));

    instanceList.addThruPipe(new ArrayIterator(texts));
    return instanceList;
}

预先感谢您的帮助!

4

1 回答 1

2

查看您链接到的示例代码,从第 125 行开始。FeatureCountTool生成术语频率和文档频率信息。然后,您可以生成一个修剪过的字母表并构建一个新的实例列表,如 中Vectors2Vectors所示,或者生成一个新的停止列表Set并从源文件重新导入文档。

于 2018-03-04T17:17:35.340 回答