槌:外用N-gram

时间:2012-03-27 15:19:45

标签: java mallet lda topic-modeling

我想使用--use-ngrams true选项运行槌,但似乎无法使其正常工作。我使用以下方法导入了我的数据:

./bin/mallet import-dir --input path --output topic-input.mallet --keep-seqence -- removed stopwords

现在我想训练一个专题的ngram模型:

bin/mallet train-topics --input topic-input.mallet --use-ngrams true --num-topics 30 --xml-topic-report topic-report.xml

但是我收到了这个错误:

Exception in thread "main" java.lang.ClassCastException: cc.mallet.types.FeatureSequence cannot be cast to cc.mallet.types.FeatureSequenceWithBigrams
at cc.mallet.topics.TopicalNGrams.estimate(TopicalNGrams.java:78)
at cc.mallet.topics.tui.Vectors2Topics.main(Vectors2Topics.java:249)

正如您所看到的,我正在将mallet作为命令行工具运行,而不愿意窥探其API以使其正常工作。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

找到答案:

你必须使用'--keep-sequence-bgirams'参数导入你想运行topical-ngram建模的目录(例如

./bin/mallet import-dir --input path --output topic-input.mallet --keep-sequence-bigrams --remove-stopwords

然后,您将主题模型运行为:

bin/mallet train-topics --input topic-input.mallet --use-ngrams true --num-topics 30 --xml-topic-report topic-report.xml