现在,我正在使用MALLET包中的LDA主题建模工具对我的文档进行一些主题检测。最初一切都很好,我从中得到了20个主题。然而,当我尝试使用该模型推断新文档时,结果有点令人费解。
例如,我故意在手动创建的文档上运行我的模型,该文档只包含"FLU“主题之一的关键字,但我得到的每个主题的主题分布小于0.1。然后,我在一个已经采样的文档上尝试了相同的方法,其中一个主题的得分很高,为0.7。同样的事情也发生了。
有没有人能解释一下原因?
我试着在MALLET邮件列表上询问,但显然没有人回复。
发布于 2010-12-07 18:10:53
我对马利特也知之甚少,但医生提到...
主题推理
--inferencer-filename文件名基于当前经过训练的模型创建主题推理工具。使用MALLET命令bin/mallet infer- topic --help获取有关使用主题推断的信息。
请注意,您必须确保新数据与您的训练数据兼容。在MALLET命令bin/mallet import-file或import-dir中使用选项-- Use -pipe from MALLET TRAINING file来指定训练文件。
也许你忘了这么做?在我看来,您正在训练的数据与您正在测试的数据的格式不同。
发布于 2011-09-02 06:24:43
我遇到了和马利特一样的困难。后来我发现问题在于,必须通过曾经用于在培训文档中读取的管道来读取文档。
以下是要在培训文档中阅读的示例:
ImportExample importerTrain = new ImportExample();//this is an example class in MALLET to import docs.
InstanceList training= importer.readDirectory(new File(trainingDir));
training.save(new File(outputFile));在主题推理中读取文档时:
InstanceList training = InstanceList.load(new File(outputFile));
Pipe pipe = training.getPipe();
ImportExample importer = new ImportExample();
importer.pipe = pipe; //use the same pipe
InstanceList testing = importer.readDirectory(new File(testDir));我从他们的档案中发布的一个问题中获得了线索:http://thread.gmane.org/gmane.comp.ai.mallet.devel/829
发布于 2010-12-07 17:05:18
披露:我熟悉通常用于主题推理的技术和数学,但我对MALLET的接触很少。
我希望这些半受过教育的猜测能带给你一个解决方案。无担保;-)
我假设您正在使用mallet命令hlda来训练模型。
下面是一些可能出错的地方:
保持序列确保您在流程的导入阶段使用了---
<代码>F219
https://stackoverflow.com/questions/4374296
复制相似问题