使用Mallet时,如何获取与每个文档关联的主题列表

时间:2017-03-10 18:00:30

标签: mallet

使用Mallet时,如何获取与每个文档关联的主题列表?我想我需要使用train-topics和--output-topic-docs,但是当我这样做时,我会收到错误。

我正在使用Mallet(2.0.8),并使用以下bash脚本进行建模:

MALLET=/Users/emorgan/desktop/mallet/bin/mallet
INPUT=/Users/emorgan/desktop/sermons
OBJECT=./object.mallet

$MALLET import-dir --input $INPUT --output $OBJECT --keep-sequence --remove-stopwords

$MALLET train-topics --input $OBJECT --num-topics 10 --num-top-words 1 \
--num-iterations 50 \
--output-doc-topics ./topics.txt \
--output-topic-keys ./keys.txt \
--xml-topic-report ./topic.xml \
--output-topic-docs ./docs.txt

不幸的是,没有创建./docs.txt。相反,我收到以下错误:

线程中的异常" main" java.lang.ClassCastException:java.net.URI无法强制转换为java.lang.String     在cc.mallet.topics.ParallelTopicModel.printTopicDocuments(ParallelTopicModel.java:1773)     在cc.mallet.topics.tui.TopicTrainer.main(TopicTrainer.java:281)

更具体地说,我希望Mallet生成一个文档列表和分配给它们的相关主题,或者我想要一个主题列表,然后是相关文档列表。如何创建此类列表?

1 个答案:

答案 0 :(得分:0)

至少在mallet 2.0.7中,--output-doc-topics ./topics.txt提供了所需的表(每个文档的主题组合)。虽然输出格式已从2.0.7更改为2.0.8,但文件的主要内容保持不变。