An implementation of Hidden Markov Model (HMM) with the following features:
- Unsupervised training using Baum-Welch Algorithm.
- Large scale training by using online learning techniques (mini-batch approach).
- Faster training speed by multi-threading.
- Viterbi Algorithm for decoding, supports multi-threading.
- Platform independent: written entirely in Java.
- Simple and stand-alone implementation (easy to modify).
- Supports unicode.
- Optionally uses development data to avoid overfitting (by checking perplexity).