Natural Language Processing

MALLET – statistical natural language processing, document classification, clustering and more

MALLET: A Machine Learning for Language Toolkit is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text.

MALLET includes sophisticated tools for document classification: efficient routines for converting text to “features”, a wide variety of algorithms (including Naïve Bayes, Maximum Entropy, and Decision Trees), and code for evaluating classifier performance using several commonly used metrics.

MALLET also includes tools for sequence tagging for applications such as named-entity extraction from text. Algorithms include Hidden Markov Models, Maximum Entropy Markov Models, and Conditional Random Fields. These methods are implemented in an extensible system for finite state transducers.

Topic models are useful for analyzing large collections of unlabeled text. The MALLET topic modeling toolkit contains efficient, sampling-based implementations of Latent Dirichlet Allocation, Pachinko Allocation, and Hierarchical LDA.

Many of the algorithms in MALLET depend on numerical optimization. MALLET includes an efficient implementation of Limited Memory BFGS, among many other optimization methods.

MALLET includes routines for transforming text documents into numerical representations that can then be processed efficiently. This process is implemented through a flexible system of “pipes”, which handle distinct tasks such as tokenizing strings, removing stopwords, and converting sequences into count vectors.

An add-on package to MALLET, called GRMM, contains support for inference in general graphical models, and training of CRFs with arbitrary graphical structure.

Algorithms:

  • Topic Modelling:
    • LDA.
    • Parallel LDA.
    • DMR LDA.
    • Hierarchical LDA.
    • Labeled LDA.
    • Polylingual Topic Model.
    • Hierarchical Pachinko Allocation Model (PAM).
    • Weighted Topic Model.
    • LDA with integrated phrase discovery.
    • Word Embeddings (word2vec) using skip-gram with negative sampling.
  • Classification:
    • AdaBoost.
    • Bagging.
    • Winnow.
    • C45 Decision Tree.
    • Ensemble Trainer.
    • Maximum Entropy Classifier (Multinomial Logistic Regression).
    • Naive Bayes.
    • Rank Maximum Entropy Classifier.
    • Posterior Regularization Auxiliary Model.
  • Clustering:
    • Greedy Agglomerative.
    • Hill Climbing.
    • K-Means.
    • K-Best.
  • Sequence Prediction Models:
    • Conditional Random Fields.
    • Maximum Entropy Markov Models.
    • Hidden Markov Models.
    • Semi-Supervised Sequence Prediction Models.
  • Linear Regression.

Website: mimno.github.io
Support: GitHub Code Repository
Developer: University of Massachusetts Amherst, Department of Computer Science; Andrew McCallum, with contributions from several graduate students and staff, including Kedar Bellare, Gaurav Chandalia, Aron Culotta, Gregory Druck, Al Hough, Wei Li, David Mimno, David Pinto, Sameer Singh, Charles Sutton, Jerod Weinman, and Limin Yao, at University of Massachusetts Amherst, as well as contributions from Fernando Pereira, Ryan McDonald, and others at University of Pennsylvania.
License: Common Public License, version 1.0 (CPL-1.0)

MALLET is written in Java. Learn Java with our recommended free books and free tutorials.


Related Software

Java Natural Language Processing Tools
CoreNLPAnnotation-based NLP pipeline that provides core natural language analysis
OpenNLPMachine learning based toolkit
DL4JDeploy and train deep learning models
LuceneHigh-performance, full-featured information retrieval software library
UIMAOpen source implementation of the UIMA specification
TikaContent analysis toolkit
MALLETStatistical natural language processing, document classification and more
GATEFull-lifecycle solution for a broad range of NLP tasks
ReVerb Automatically identifies and extracts binary relationships from sentences
NLP4JNLP framework for JVM languages
CogComp-NLPState-of-the-art Natural Language Processing (NLP) tools

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted