2011-03-02 13 views
6

He estado usando mazo para inferir temas para un archivo de texto que contiene 100.000 líneas (alrededor de 34 MB en formato mazo). Pero ahora necesito ejecutarlo en un archivo que contiene un millón de líneas (alrededor de 180 MB) y obtengo una excepción java.lang.outofmemory. ¿Hay alguna forma de dividir el archivo en archivos más pequeños y crear un modelo para los datos presentes en todos los archivos combinados? gracias de antemanoModelo de tema Mallet

Respuesta

1

no estoy seguro acerca de la Mallet escalabilidad para grandes volúmenes de datos, pero proyectan http://dragon.ischool.drexel.edu/ puede almacenar sus datos en el disco persistencia respaldado por lo tanto, se puede ampliar a tamaños corpus ilimitadas (con bajo rendimiento, por supuesto)

+1

Parece que el kit de herramientas de Dragón está muerto aunque. No ha habido ninguna actividad desde 2007. Además, no está claro qué licencia utiliza (¿desarrollo comercial permitido?) – chaostheory

1

El modelo seguirá siendo enorme, incluso si lo lee desde múltiples archivos. ¿Has intentado aumentar el tamaño del montón de tu java vm?

0

Dado el tamaño de la memoria de la PC actual, debería ser fácil usar un montón de hasta 2GB. Debe probar la solución de una sola máquina antes de considerar el uso de un clúster.

1

La excepción java.lang.outofmemory se produce principalmente debido a que no hay suficiente espacio en el montón. Puede usar -Xms y -Xmx para establecer el espacio de almacenamiento dinámico para que no vuelva a aparecer.

6

En bin/mallet.bat valor aumento de esta línea:

set MALLET_MEMORY=1G