Skip to content
A model library for exploring state-of-the-art deep learning topologies and techniques for optimizing Natural Language Processing neural networks
Python Jupyter Notebook Perl JavaScript Makefile CSS Other
Branch: master
Clone or download
Latest commit 8dc5cb8 Sep 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update issue templates Aug 28, 2019
.jenkins update jenkinsfile and fix validation (#78) Aug 25, 2019
assets Add new logo May 13, 2019
datasets Sentiment Solution (#365) Apr 1, 2019
docker initial commit Jul 17, 2019
docs-source Updated documentation Sep 8, 2019
docs Updated documentation Sep 8, 2019
examples changed the file paths of the parsed and preprocessed data to the pat… Aug 26, 2019
licenses Adding 3rd party licenses Aug 20, 2019
nlp_architect update version Sep 9, 2019
scripts
tests Merge branch 'master' into 0.5rc Aug 20, 2019
tutorials Fix import in sentiment tutorial Jun 10, 2019
.gitignore update quantized BERT doc Sep 4, 2019
3rd Party Notice.txt add 3rd party notice for sphinx license obligations (BSD-2) May 17, 2018
CNAME Updating website DNS Aug 13, 2019
LICENSE Initial commit Jan 30, 2018
MANIFEST.in Update MANIFEST.in Sep 4, 2019
README.md Update README.md Aug 28, 2019
dev-requirements.txt Update documentation to 0.5 Aug 28, 2019
pylint.out update jenkinsfile and fix validation (#78) Aug 25, 2019
pylint.txt update jenkinsfile and fix validation (#78) Aug 25, 2019
pylintrc update jenkinsfile and fix validation (#78) Aug 25, 2019
pytest.ini Fixed tests (#345) Dec 17, 2018
requirements.txt Update requirements.txt Sep 2, 2019
setup.cfg Daniel/fix code style and pylint exit code (#336) Nov 28, 2018
setup.py * Added Transformer base model Aug 6, 2019

README.md



A Deep Learning NLP/NLU library by Intel® AI Lab

GitHub Website GitHub release

Overview | Models | Installation | Examples | Documentation | Tutorials | Contributing

NLP Architect is an open source Python library for exploring state-of-the-art deep learning topologies and techniques for optimizing Natural Language Processing and Natural Language Understanding neural network.

Overview

NLP Architect is an NLP library designed to be flexible, easy to extend, allow for easy and rapid integration of NLP models in applications and to showcase optimized models.

Features:

  • Core NLP models used in many NLP tasks and useful in many NLP applications

  • Novel NLU models showcasing novel topologies and techniques

  • Optimized NLP/NLU models showcasing different optimization algorithms on neural NLP/NLU models

  • Model-oriented design:

    • Train and run models from command-line.
    • API for using models for inference in python.
    • Procedures to define custom processes for training, inference or anything related to processing.
    • CLI sub-system for running procedures
  • Based on optimized Deep Learning frameworks:

  • Essential utilities for working with NLP models - Text/String pre-processing, IO, data-manipulation, metrics, embeddings.

  • Plug-able REST API server to serve models via REST API

Installing NLP Architect

We recommend to install NLP Architect in a new python environment, to use python 3.6+ with up-to-date pip, setuptools and h5py.

Install using pip

Includes only core library (without examples/ directory)

pip install nlp-architect

Install from source (Github)

Includes core library and all content (example scripts, datasets, tutorials)

Clone repository

git clone https://github.com/NervanaSystems/nlp-architect.git
cd nlp-architect

Install (in develop mode)

pip install -e .

Further installation options

Refer to our full installation instructions page on our website for complete details on how to install NLP Architect and other backend installations such as MKL-DNN or GPU backends. Users can install any deep learning backends manually before/after they install NLP Architect.

Models

NLP models that provide best (or near) in class performance:

Natural Language Understanding (NLU) models that address semantic understanding:

Optimizing NLP/NLU models and misc. optimization techniques:

Solutions (End-to-end applications) using one or more models:

Documentation

Full library documentation of NLP models, algorithms, solutions and instructions on how to run each model can be found on our website.

NLP Architect library design philosophy

NLP Architect is a model-oriented library designed to showcase novel and different neural network optimizations. The library contains NLP/NLU related models per task, different neural network topologies (which are used in models), procedures for simplifying workflows in the library, pre-defined data processors and dataset loaders and misc utilities. The library is designed to be a tool for model development: data pre-process, build model, train, validate, infer, save or load a model.

The main design guidelines are:

  • Deep Learning framework agnostic
  • NLP/NLU models per task
  • Different topologies used in models
  • Showcase End-to-End applications (Solutions) utilizing one or more NLP Architect model
  • Generic dataset loaders, textual data processing utilities, and miscellaneous utilities that support NLP model development (loaders, text processors, io, metrics, etc.)
  • Procedures for defining processes for training, inference, optimization or any kind of elaborate script.
  • Pythonic API for using models for inference
  • REST API servers with ability to serve trained models via HTTP
  • Extensive model documentation and tutorials

Note

NLP Architect is an active space of research and development; Throughout future releases new models, solutions, topologies and framework additions and changes will be made. We aim to make sure all models run with Python 3.6+. We encourage researchers and developers to contribute their work into the library.

Citing

If you use NLP Architect in your research, please use the following citation:

@misc{izsak_peter_2018_1477518,
  title        = {NLP Architect by Intel AI Lab},
  month        = nov,
  year         = 2018,
  doi          = {10.5281/zenodo.1477518},
  url          = {https://doi.org/10.5281/zenodo.1477518}
}

Disclaimer

The NLP Architect is released as reference code for research purposes. It is not an official Intel product, and the level of quality and support may not be as expected from an official product. NLP Architect is intended to be used locally and has not been designed, developed or evaluated for production usage or web-deployment. Additional algorithms and environments are planned to be added to the framework. Feedback and contributions from the open source and NLP research communities are more than welcome.

Contact

Contact the NLP Architect development team through Github issues or email: nlp_architect@intel.com

You can’t perform that action at this time.