Ce n'est pas que l'un est plus complet que les autres c'est plus une question de quelques trucs que les autres ne l'est pas et vice versa. Il a aussi une question de public cible et de l'objectif.
Mallet est un Java sur machine outil d'apprentissage qui vise à fournir robuste et rapide pour les implémentations différentes de traitement du langage naturel tâches.
NLTK est construit à l'aide de Python et est livré avec un lot de fonctionnalités supplémentaires comme corpus tels que WordNet. NLTK est plus destiné à l'apprentissage de la PNL, et en tant que telle est utilisé comme une plate-forme d'apprentissage et peut-être moins que d'une solution d'ingénierie.
À mon avis, la principale différence entre les deux est que NLTK est mieux positionnée comme une ressource d'apprentissage pour les personnes intéressées par l'apprentissage de la machine et de la PNL comme il est livré avec toute une tonne de documentation, des exemples de corpus, etc. etc.
Mallet est plus destiné à des chercheurs et des praticiens qui travaillent dans le domaine et savent déjà ce qu'ils veulent faire. Il est livré avec moins de documentation (même si elle a de bons exemples et de l'API est bien documenté) par rapport à NLTK de la vaste collection du général PNL choses.
Mise à JOUR:
De bons articles décrivant ces serait le Maillet docs et des exemples à http://mallet.cs.umass.edu/ - la barre latérale a des liens à la séquence de marquage, le sujet de la modélisation etc.
et pour NLTK la NLTK livre Naturelles de Traitement du Langage Python est une bonne introduction à la fois à NLTK et à la PNL.
Mise à JOUR
J'ai récemment trouvé la sklearn bibliothèque Python. Ce qui est destiné à l'apprentissage de la machine, plus généralement, ne sont pas directement pour la PNL, mais peut être utilisé pour cela. Il est livré avec une très grande sélection d'outils de modélisation et plus il semble s'appuyer sur NumPy, donc ça devrait être assez rapide. Je l'ai utilisé un peu et je peux dire que c'est très bien écrit et documenté et dispose d'une communauté active de développeurs en le poussant vers l'avant (à partir de Mai 2013, au moins).
Mise à JOUR 2
J'ai également été à l'aide du maillet pour un certain temps (plus précisément, le maillet de l'API) et je peux dire que si vous avez l'intention sur l'intégration de maillet dans un autre projet, vous devez être très familier avec Java et prêt à passer beaucoup de temps à mettre au point un presque complètement sans-papiers de la base de code.
Si tout ce que vous voulez faire est d'utiliser le maillet outils de ligne de commande, c'est très bien, à l'aide de l'API nécessite beaucoup de creuser par le biais de l'maillet code lui-même et généralement la correction de certains bugs ainsi. Soyez averti maillet vient avec un minimum de documentation en ce qui concerne l'API.