使用r-tm读取文档以与r-mallet一起使用

时间:2017-04-22 20:33:04

标签: tm mallet tidytext

我有这个代码适合使用R wrapper for MALLET的主题模型:

docs <- mallet.import(DF$document, DF$text, stop_words)

mallet_model <- MalletLDA(num.topics = 4)
mallet_model$loadDocuments(docs)
mallet_model$train(100)

我使用tm包来读取我的文档,这些文件是目录中的txt文件:

myCorpus <- Corpus(DirSource("data")) # a directory of txt files

语料库不能用作mallet.import的输入,那么如何从上面的tm语料库myCorpusDF进行调用?

2 个答案:

答案 0 :(得分:2)

RMallet旨在成为一个独立的软件包,因此与tm的集成并不是很好。对RMallet输入的要求是每个文档有一行的数据框,以及包含该文本的字符字段,它预期不会被标记化。

答案 1 :(得分:1)

您可以使用整洁的数据原则来处理文本并准备好输入到槌中,每个文档只有一行as described here

此外,tidytext中有mallet package的整数,您可以使用它们来分析槌主题建模的输出:

# word-topic pairs
tidy(mallet_model)

# document-topic pairs
tidy(mallet_model, matrix = "gamma")

# column needs to be named "term" for "augment"
term_counts <- rename(word_counts, term = word)
augment(mallet_model, term_counts)