2012-01-05 8 views
5

Estoy haciendo análisis latentes de Dirichlet para investigar un poco y seguir teniendo problemas. La mayoría del software lda requiere que los documentos estén en formato doclines, lo que significa un archivo CSV u otro archivo delimitado en el que cada línea representa la totalidad de un documento. Sin embargo, Blei's lda-c y el software de modelo de tema dinámico requieren que los datos estén en el formato: [M] [term_1]:[count] [term_2]:[count] ... [term_N]:[count] donde [M] es el número de términos únicos en el documento, y el [conteo] asociado con cada término es cuántas veces ese término apareció en el documento. Tenga en cuenta que [term_1] es un número entero que indexa el término ; no es una cadena.Convierta un documento por línea al formato lda-c/dtm de Blei para el modelado de temas.

¿Alguien sabe de una utilidad que me permita convertir rápidamente a este formato? Gracias.

+0

Me encuentro con problemas similares, ¿encuentra las soluciones? Gracias. – user288609

+1

No lo he implementado todavía, pero [esta utilidad de Python] (https://github.com/JoKnopp/text2ldac) se publicó en la lista de distribución de modelos de temas y se supone que debe tomar los archivos de texto y convertirlos al formato correcto. – Trey

+0

Muchas gracias, es muy útil. – user288609

Respuesta

4

Si está trabajando con R, el paquete contiene una función ldalexicalize que convertirá texto sin formato en el formato lda-c necesaria para el paquete lda.

example <- c("I am the very model of a modern major general", 
      "I have a major headache") 

corpus <- lexicalize(example, lower=TRUE) 

Del mismo modo, el paquete topicmodels tiene una función dtm2ldaformat que convertirá una matriz concepto documento al formato lda. Puede convertir un documento de texto plano en una matriz de términos de documento utilizando el paquete tm, también en R.

De modo que con estas funciones existentes hay mucha flexibilidad para introducir texto en R para el modelado de temas.

2

Gensim ofrece una implementación del formato de corpus de Blei. Ver here. Puede escribir un corpus rápido basado en su archivo CSV en Python y luego guardarlo en lda-c con gensim. No debería ser muy difícil.

Cuestiones relacionadas