如何获取新文档的主题向量并与Mallet中预定义的主题模型进行比较?

我试图以某种方式使用MALLET将唯一文档的主题分布(使用LDA)与之前创建的主题模型中的其他文件及其主题分布进行比较。

我知道这可以通过终端中的MALLET命令来完成,但是我在找到一种在Java中实现它的方法时遇到了问题。

要详细说明我的程序的function:

已创建的主题模型是使用大量文本创建的。 我想使用它来比较主题分布与包含特定主题标签的推文,然后从语料库中提取与推文最相似的文件。

我已经阅读了Mallet的Java API文档,但它们看起来很混乱,并没有真正解释。

如果有人能给我一些提示,我会很感激

首先,看看这些:

  • 开发人员指南
  • 幻灯片97之后的教程幻灯片
  • 源目录中的代码示例:src / cc / mallet / examples

现在,这些示例显示了基本function,但如果您需要将培训与测试分开,则它们不会显示如何保存和加载模型。 基本上您需要的是在训练之后保存模型和实例(因为您需要使用相同的管道进行训练和测试),并在测试之前加载它们。

训练后保存模型和管道:

model.write(new File("model.dat")); instances.save(new File("pipeline.dat")); 

测试前加载模型和管道:

 ParallelTopicModel model = ParallelTopicModel.read(new File("model.dat")); InstanceList instances = InstanceList.load(new File("pipeline.dat")); 

希望这可以帮助。