1

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

Mallet 网站One 文件下,每行一个实例部分,据说:

[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) ...

提前致谢!

4

2 回答 2

0

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

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

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

于 2016-12-14T15:00:45.200 回答
0

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

file://0

而不仅仅是0.

于 2016-12-08T12:48:57.707 回答