我正在进行一些研究的Latent Dirichlet分析并继续遇到问题。大多数lda软件要求文档采用doclines格式,即CSV或其他分隔文件,其中每行代表文档的整体。但是,Blei's lda-c和动态主题模型软件要求数据采用以下格式:[M] [term_1]:[count] [term_2]:[count] ... [term_N]:[count]
其中[M]
是文档中唯一字词的数量,以及与每个字词相关联的[count]是该术语出现的次数
在文件中。请注意,[term_1]
是一个对其进行索引的整数
术语;它不是一个字符串。
是否有人知道可以让我快速转换为此格式的实用程序?谢谢。
答案 0 :(得分:4)
如果您使用R
,lda
包中包含一个函数lexicalize
,它会将原始文本转换为lda
包所需的lda-c格式。
example <- c("I am the very model of a modern major general",
"I have a major headache")
corpus <- lexicalize(example, lower=TRUE)
同样,topicmodels
包有一个函数dtm2ldaformat
,它将文档术语矩阵转换为lda格式。您可以使用tm
包将纯文本文档转换为文档术语矩阵,也可以在R
中。
因此,利用这些现有功能,可以灵活地将文本导入R
进行主题建模。
答案 1 :(得分:2)
答案 2 :(得分:2)
马萨诸塞大学阿默斯特分校的Mallet包装是另一种选择。
这是一个关于如何使用Mallet的优秀分步演示:
您可以将槌只使用普通文本文件作为输入源。
答案 3 :(得分:0)
对于Python,有一个可用的功能(可能在问题时不可用)。
lda.utils.dtm2ldac