AllenNLP is an Apache 2.0 NLP research library, built on PyTorch, for developing state-of-the-art deep learning models on a wide variety of linguistic tasks.
AllenNLP is designed to support researchers who want to build novel language understanding models quickly and easily. It is built on top of PyTorch, allowing for dynamic computation graphs, and provides (1) a flexible data API that handles intelligent batching and padding, (2) highlevel abstractions for common operations in working with text, and (3) a modular and extensible experiment framework that makes doing good science easy.
It also includes reference implementations of high quality approaches for both core semantic problems (e.g. semantic role labeling (Palmer et al., 2005)) and language understanding applications (e.g. machine comprehension (Rajpurkar et al., 2016)).
AllenNLP was an open-source effort maintained by engineers and researchers at the Allen Institute for Artificial Intelligence. AllenNLP requires Python 3.6.1 or later.
AllenNLP was designed with the following principles:
- Hyper-modular and lightweight. Use the parts which you like seamlessly with PyTorch.
- Extensively tested and easy to extend. Test coverage is above 90% and the example models provide a template for contributions.
- Take padding and masking seriously, making it easy to implement correct models without the pain.
- Experiment friendly. Run reproducible experiments from a json specification with comprehensive logging.
Website: github.com/allenai/allennlp
Support:
Developer: Allen Institute for Artificial Intelligence
License: Apache License 2.0
AllenNLP is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Python Natural Language Processing Tools | |
|---|---|
| PyTorch-Transformers | Library of state-of-the-art pre-trained models for NLP |
| NLTK | Natural Language Toolkit |
| spaCy | Industrial strength natural language processing |
| scikit-learn | Machine learning library |
| Haystack | AI orchestration framework |
| Gensim | Vector space modeling and topic modeling toolkit |
| flair | Simple framework for state-of-the-art NLP |
| TextBlob | Python (2 and 3) library for processing textual data |
| doccano | Data labelling and text annotation platform |
| BERTopic | Topic modeling |
| textacy | Python library for performing NLP tasks |
| Presidio | Data protection and de-identification SDK |
| polyglot | Multilingual text (NLP) processing toolkit |
| AllenNLP | Apache 2.0 NLP research library |
| Snips NLU | Natural Language Understanding Python library |
| PyNLPI | Various modules useful for common, and less common, NLP tasks |
| nlpnet | Natural Language Processing with neural networks |
| Pattern | Web mining module |
| GluonNLP | Deep Learning for NLP |
| PyTorch-NLP | Neural network layers, text processing modules and datasets |
| NLP Architect | Deep Learning NLP/NLU library |
Read our verdict in the software roundup.
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. |

