我从字符串列表创建一个由令牌特征序列组成的实例列表。通过命令行,我可以根据计数,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;
}
预先感谢您的帮助!
查看您链接到的示例代码,从第125行开始.FeatureCountTool
生成术语频率和文档频率信息。然后,您可以生成修剪后的字母表并构建新的实例列表,如Vectors2Vectors
,或生成新的停止列表Set
并从源文件重新导入文档。