2012-01-05 19 views
5

我正在做一些潛在的狄利克雷分析研究,並不斷遇到問題。大多數lda軟件要求文檔採用文檔格式,即CSV或其他分隔文件,其中每行代表文檔的全部。然而,Blei's lda-c和動態主題模型軟件要求數據的格式爲:[M] [term_1]:[count] [term_2]:[count] ... [term_N]:[count]其中[M]是文檔中唯一條款的數量,與每個術語關聯的[count]是該術語在該文檔中出現 的次數。請注意,[term_1]是一個整數,用於索引 項;它不是一個字符串。將單行文檔轉換爲Blei的lda-c/dtm格式以進行主題建模?

有誰知道一個實用工具,可以讓我快速轉換爲這種格式?謝謝。

+0

我遇到類似的問題,你碰巧找到解決方案嗎?謝謝。 – user288609 2012-03-09 22:26:52

+1

我還沒有實現它,但[這個Python實用工具](https://github.com/JoKnopp/text2ldac)被髮布到主題模型郵件列表,並應該採取文本文件並將其轉換爲正確的格式。 – Trey 2012-03-10 15:47:29

+0

非常感謝,這非常有幫助。 – user288609 2012-03-12 21:28:10

回答

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以進行主題建模。

2

Gensim提供了Blei語料庫格式的實現。見here。您可以根據您的CSV文件在Python中編寫快速語料庫,然後使用gensim將其保存在lda-c中。它不應該太難。