No es que uno sea más completo que el otro, es más una cuestión de que uno tenga algunas cosas que el otro no y viceversa. También es una cuestión de audiencia y propósito.
Mallet es un juego de herramientas de aprendizaje automático basado en Java que tiene como objetivo proporcionar implementaciones robustas y rápidas para diversas tareas de procesamiento del lenguaje natural.
NLTK está construido con Python y viene con muchas cosas adicionales como corpora como WordNet. NLTK está dirigido más a las personas que aprenden NLP, y como tal se utiliza más como una plataforma de aprendizaje y tal vez menos como una solución de ingeniería.
En mi opinión, la principal diferencia entre los dos es que NLTK es mejor posicionado como recurso de aprendizaje para las personas interesadas en el aprendizaje automático y PNL, ya que viene con toda una tonelada de documentación, ejemplos, etc., etc. corpus
Mallet está más dirigido a investigadores y profesionales que trabajan en el campo y ya saben lo que quieren hacer. Viene con menos documentación (aunque tiene buenos ejemplos y la API está bien documentada) en comparación con la extensa colección de material NLP general de NLTK.
ACTUALIZACIÓN: buenos artículos que describen estos serían los documentos Mallet y ejemplos en http://mallet.cs.umass.edu/ - la barra lateral tiene enlaces a secuencia marcadora, etc. tema de modelado
y para NLTK el libro NLTK Natural Language Processing with Python es una buena introducción a la vez NLTK y a NLP.
ACTUALIZACIÓN
he encontrado recientemente, la biblioteca de Python sklearn. Esto está dirigido al aprendizaje automático en general, no directamente para PNL, pero también se puede usar para eso. Viene con una gran selección de herramientas de modelado y la mayoría parece depender de NumPy, por lo que debería ser bastante rápido. Lo he usado bastante y puedo decir que está muy bien escrito y documentado y que cuenta con una comunidad de desarrolladores activa que lo impulsa (al menos hasta mayo de 2013).
ACTUALIZACIÓN 2
He estado usando ahora también mazo durante algún tiempo (en concreto la API de mazo) y puedo decir que si usted está pensando en la integración de un mazo en otro proyecto que debe estar muy familiarizado con Java y listo para pasar mucho tiempo depurando una base de código casi completamente no documentada.
Si todo lo que quiere hacer es utilizar las herramientas de línea de comando de mazo, está bien, usar la API requiere una gran cantidad de exploración a través del código de mazo y generalmente también corrige algunos errores. Advierta que el mazo viene con una documentación mínima con respecto a la API.
No puedo responder eso, pero el NLTK incluye una interfaz de mazo para que pueda probarlos en tándem. – alexis
Si ya está familiarizado con Python, simplemente use "gensim, modelado de temas para humanos". – Radim
@Radim; P yes 'gensim' es uno de los módulos de modelado de temas más fáciles de usar que he utilizado/visto personalmente para python. Debería haber sido "gensim, modelo de tema para meros mortales" =) – alvas