我想使用槌来培训主题。我的数据在一个文件中,所以我研究了如何构建这个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) ...
提前谢谢!
答案 0 :(得分:0)
输入文件的第一列不包含网址。尝试
file://0
而非0
。
答案 1 :(得分:0)
尝试在此处升级到最新的Mallet版本:http://mallet.cs.umass.edu/download.php
Mallet实例有一个"名称"和一个"来源"领域。在以前的版本中,--output-doc-topics
打印了源代码。当前稳定版本2.0.8打印名称,即您要显示的字段。
请注意,此版本默认为"密集"主题比例的表示,每个主题有一列。