MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text.
Weka (Waikato Environment for Knowledge Analysis) is an open source machine learning library written in Java.
I have tried weka too but mallet is smarter than weka on this aspect
Applying Mallet in document classification as binary classifier
The problem with mallet is that the training uses gb of memory and it can take hours if you have large training sets;weka has more documentation but most of it makes no sense
Mallet vs Weka for text classification