NCRF++ is an open-source PyTorch toolkit for neural sequence labeling โ the family of tasks that includes named entity recognition, part-of-speech tagging, word segmentation and chunking. It modularizes the classic character/word LSTM-CNN encoder plus CRF decoder recipe so researchers can mix components and reproduce published results quickly. It is an open-source project on GitHub with around 1,900 stars; the codebase dates from the late 2010s research wave and was last updated in 2022.
Sequence labeling papers traditionally each shipped their own tangled codebase. NCRF++ instead exposes the design space as configuration: choose character representations (LSTM or CNN), word-level encoders (LSTM or CNN), and a softmax or CRF inference layer, with options such as handcrafted features and n-best decoding. The toolkit reports benchmark numbers on standard datasets like CoNLL-2003, making it a dependable baseline factory for NER research and a teaching reference for how BiLSTM-CRF systems fit together.
Free. NCRF++ is open source under the Apache-2.0 license.
In practice, experiments are driven by a single configuration file: point it at CoNLL-formatted training and development data, pick embeddings such as GloVe or domain word vectors, and the toolkit handles batching, decoding and metric reporting, including entity-level F1 for NER. Because every architectural choice is a config switch, ablating a component โ for example removing the CRF layer or the character CNN โ takes minutes, which is exactly what makes the toolkit enduringly popular for coursework and baseline sections of papers.
NLP researchers and students who need a clean, proven BiLSTM-CRF baseline for sequence labeling experiments, especially for named entity recognition in research or production prototyping.