【问题标题】:How to get topic vector of new documents and compare with pre-defined topic model in Mallet?如何获取新文档的主题向量并与 Mallet 中预定义的主题模型进行比较?
【发布时间】:2017-07-22 13:35:21
【问题描述】:

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

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

概括一下我的程序的功能是什么:

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

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

如果有人能给我一些建议,我将不胜感激

【问题讨论】:

    标签: java lda mallet


    【解决方案1】:

    首先,看看这些:

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

    训练后保存模型和管道:

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-07-04
      • 1970-01-01
      • 2023-04-11
      • 2020-07-07
      • 1970-01-01
      • 2014-12-25
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多