如何将在命令行中训练的主题模型读入Java类?

时间:2017-03-15 00:48:31

标签: java lda topic-modeling mallet

所以我有一个训练有素的模型是通过MALLET的命令行创建的。我想以某种方式将这个训练过的模型导入Java类。我查看了MALLET的API文档并遇到了他们的ParallelTopicModel类,但找不到合适的方法将模型导入为ParallelTopicModel,这就是我想要做的。

我知道可以在Java类本身内部使用MALLET Java API训练模型,但我不想这样做。

这可能吗?

1 个答案:

答案 0 :(得分:0)

如果该训练模型同时生成数据模型数据实例,则可以执行此操作。 ParallelTopicModel将使用数据模型,并且用于训练模型的Pipe将用于创建InstanceListTopicInferencer。< / p>

String testingText = "my test";
ParallelTopicModel model = ParallelTopicModel.read(new File("data_model_path"));
InstanceList instances = InstanceList.load(new File("data_instances_path"));

// Create a new instance with the testing text
InstanceList testing = new InstanceList(instances.getPipe());
testing.addThruPipe(new Instance(testing_text, null, "Test Instance", null));

// Create the inferencer
TopicInferencer inferencer = model.getInferencer();