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

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

我知道可以通过终端中的MALLET命令完成此操作,但是在寻找一种在Java中实现此操作的方法时遇到了问题.

要大致了解我的程序的功能是什么,请执行以下操作:

已经创建的主题模型是使用大量文本集创建的.我想用它来比较主题分布和包含特定主题标签的推文,然后从语料库中拉出最类似于推文的文件.

香港专业教育学院阅读了Mallet的Java API文档,但它们似乎非常令人困惑,也没有真正的解释性.

如果有人可以给我一些提示,我将不胜感激

解决方法:

首先,看看这些:

> Developer’s guide
> Tutorial slides after slide 97
>源目录中的代码示例:src / cc / mallet / examples

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

训练后保存模型和管道:

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"));

希望这可以帮助.

上一篇:python – gensim LdaMulticore不是多处理?


下一篇:40万年薪的算法岗位,面试官到底问些什么?