5

我正在为一些研究做潜在的狄利克雷分析并不断遇到问题。大多数 lda 软件要求文档为 doclines 格式,即 CSV 或其他分隔文件,其中每一行代表整个文档。但是,Blei 的 lda-c和动态主题模型软件要求数据格式为:[M] [term_1]:[count] [term_2]:[count] ... [term_N]:[count]where[M]是文档中唯一术语的数量,与每个术语关联的 [count] 是该术语在文档中出现的次数。请注意,这[term_1]是一个索引该术语的整数;它不是一个字符串。

有谁知道可以让我快速转换为这种格式的实用程序?谢谢你。

4

4 回答 4

3

如果您正在使用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因此,使用这些现有功能,在将文本输入主题建模方面具有很大的灵活性。

于 2012-12-07T01:39:46.293 回答
2

马萨诸塞大学阿默斯特分校的槌包是另一种选择。

这是一个关于如何使用 Mallet 的精彩分步演示:

您可以仅使用带有普通文本文件的槌作为输入源。

于 2013-02-25T08:52:47.750 回答
1

Gensim 提供了 Blei 语料库格式的实现。见这里。您可以根据您的 CSV 文件在Python中编写一个快速语料库,然后使用 gensim 将其保存在 lda-c 中。它不应该太难。

于 2013-01-04T15:29:20.633 回答
0

对于 Python,有一个可用的函数(在提问时可能不可用)。

lda.utils.dtm2ldac

该文档是https://pythonhosted.org/lda/api.html#module-lda.utils

于 2018-05-16T04:13:38.823 回答