我想尝试Blie .et.al的LDA -c代码。就像在此link中一样。
我已经编译了代码,并且在终端中运行./lda时,显示以下结果。
usage : lda est [initial alpha] [k] [settings] [data] [random/seeded/manual=filename/*] [directory]
lda inf [settings] [model] [data] [name]
这意味着它已经被正确编译。
但是,尽管在那里阅读了README.txt文件,但我仍然无法成功运行LDA代码。它说的是分段故障(核心已转储)或被杀死。
我想念的是什么?如何在他们提供的示例数据上使用它?
我已经阅读了对here提出的问题的堆栈溢出答案,但是由于我不知道默认值,因此它没有用。
P.S:我是初学者。
您是否有机会使用ap.txt
而不是ap.dat
? lda-c不接受原始句子或将数据标记为输入;每个文档需要一系列单词信息。当ap.dat的行像186 0:1 6144:1 3586:2 ...
,表示相应的文档有186个不同的单词,单词0出现一次,单词6144出现一次,单词3586出现两次,依此类推。
此命令对我有用(使用Blei的原始代码:]
./lda est 0.1 10 settings.txt ap.dat random modeldir
((根据需要随意调整初始字母(0.1)和主题数(10)。]
我有话要说,数据建模的用途和用途。