• Stars
    star
    981
  • Rank 46,671 (Top 1.0 %)
  • Language
    Java
  • License
    Other
  • Created over 10 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

Build Status codecov

Mallet

Website: https://mimno.github.io/Mallet/

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.

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.

In addition to classification, MALLET 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.

In addition to sophisticated Machine Learning applications, 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.

Installation

To build a Mallet 2.0 development release, you must have the Apache ant build tool installed. From the command prompt, first change to the mallet directory, and then type ant

If ant finishes with "BUILD SUCCESSFUL", Mallet is now ready to use.

If you would like to deploy Mallet as part of a larger application, it is helpful to create a single ".jar" file that contains all of the compiled code. Once you have compiled the individual Mallet class files, use the command: ant jar

This process will create a file "mallet.jar" in the "dist" directory within Mallet.

Usage

Once you have installed Mallet you can use it using the following command:

bin/mallet [command] --option value --option value ...

Type bin/mallet to get a list of commands, and use the option --help with any command to get a description of valid options.

For details about the commands please visit the API documentation and website at: https://mimno.github.io/Mallet/

List of 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

More Repositories

1

jsLDA

An implementation of latent Dirichlet allocation in javascript
JavaScript
183
star
2

info3300-spr2015

Notes and in-class problems for ML+d3 course
HTML
46
star
3

RMallet

R package wrapping Mallet
R
38
star
4

anchor

Mallet-compatible anchor-based topic model
Java
37
star
5

jsLBFGS

A javascript implementation of limited-memory BFGS
JavaScript
26
star
6

info3300-spr2017

Course materials for Data-Driven Web Applications
HTML
24
star
7

info3300-spr2016

Notes and pre-class work for INFO/CS 3300 and INFO 5100
HTML
16
star
8

PyMallet

Python tools for text
Jupyter Notebook
15
star
9

info3300-spr2018

Course materials for Data-Driven Web Applications
HTML
13
star
10

TidyMallet

A tidy-native LDA implementation in Rcpp
C++
12
star
11

info6150-fall2018

Resources for Advanced Topic Modeling (Fall 2018)
Python
9
star
12

info-3350-fall-2017

Materials for "Text Mining for History and Literature"
Python
8
star
13

admixture-ppc

Posterior predictive checks for genetic admixture models
Java
5
star
14

info-3350-fall-2019

Jupyter Notebook
4
star
15

arxivtopics

Python
4
star
16

hathitools

Tools for working with Hathi Trust Research Center extracted features files
Python
3
star
17

CulturalAnalytics

Articles from CA
Python
3
star
18

GRMM

Mallet-compatible graphical model toolkit
Java
3
star
19

MalletPPC

Posterior predictive checks for Mallet state files
Python
3
star
20

naivebayes

in-browser classification and analysis
2
star
21

ota

Creative commons texts from Oxford Text Archive
2
star
22

TwelveMedievalGhostStories

Stories transcribed by M.R. James from a manuscript from Byland Abbey
2
star
23

info-3350-fall-2015

Python
2
star
24

networks

Poisson network community model
Java
1
star
25

tada2022

Text as Data 2022
1
star