mallet组合文件中的null-sources

时间:2016-12-07 12:17:39

标签: machine-learning information-retrieval topic-modeling mallet topicmodels

我想使用槌来培训主题。我的数据在一个文件中,所以我研究了如何构建这个One Single文件的mallet文档。

Mallet website中,在一个文件,每行一个实例部分下,有人说:

  

[URL] [语言] [页面文字...]

     

在这种情况下,第一个令牌   每行(空格分隔,带有可选的逗号)成为   实例名称,第二个标记成为标签,所有附加标记   该行上的文本被解释为一系列单词标记。

所以根据上面的引用,我用这种方式创建了我的单个文件:

127  en  some text here...
982  en  some text here...
1003  en  some text here...
...

然后导入此单个文件:

bin\mallet import-file --input data.txt --output data.mallet --keep-sequence
之后,我培训了3个主题:

bin\mallet train-topics --input data.mallet --num-topics 3 --output-doc-topics data_composition.txt --word-topic-counts-file data_wcounts.txt

但是,当我打开data_composition.txt时,它具有以下结构:

#doc source topic proportion ...    
0 null-source 0 0.4057970941066742 1 0.3188405930995941 2 0.2753623127937317 

所以现在的问题是:为什么mallet会在此合成文件上打印null-source?我希望它在源标题下打印URL(即我的情况下的ID)。

修改

我想要这样的事情:

#doc source topic proportion ...    
0     127   0 0.4057970941066742 1 0.3188405930995941 2 0.2753623127937317 
1     982    ... (topic probabilities) ...
2     1003   ... (topic probabilities) ...
提前谢谢!

2 个答案:

答案 0 :(得分:0)

输入文件的第一列不包含网址。尝试

file://0

而非0

答案 1 :(得分:0)

尝试在此处升级到最新的Mallet版本:http://mallet.cs.umass.edu/download.php

Mallet实例有一个"名称"和一个"来源"领域。在以前的版本中,--output-doc-topics打印了源代码。当前稳定版本2.0.8打印名称,即您要显示的字段。

请注意,此版本默认为"密集"主题比例的表示,每个主题有一列。