删除最常见的单词槌

问题描述 投票:1回答: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;
}

预先感谢您的帮助!

lda mallet pruning
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.