我想使用--use-ngrams true
选项运行mallet,但似乎无法使其正常工作。我已使用导入我的数据
./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使其工作。有什么建议吗?
找到答案:
必须使用"--keep-sequence-bgirams"参数导入要运行主题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