Package: nlp-architect
A Deep Learning NLP/NLU library byIntel® AI LabOverview|Models|Installation|Examples|Documentation|Tutorials|ContributingNLP 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 Networks.OverviewNLP 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 applicationsNovel NLU models showcasing novel topologies and techniquesOptimized NLP/NLU models showcasing different optimization algorithms on neural NLP/NLU modelsModel-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 proceduresBased on optimized Deep Learning frameworks:TensorFlowPyTorchDynetEssential utilities for working with NLP models - Text/String pre-processing, IO, data-manipulation, metrics, embeddings.Installing NLP ArchitectWe recommend to install NLP Architect in a new python environment, to use python 3.6+ with up-to-datepip,setuptoolsandh5py.Install usingpipInstall core library onlypipinstallnlp-architectInstall from source (Github)Includes core library, examples, solutions and tutorials:gitclonehttps://github.com/NervanaSystems/nlp-architect.gitcdnlp-architect
pipinstall-e.# install in developer modeRunning Examples and SolutionsTo run provided examples and solutions please install the library with[all]flag which will install extra packages required. (requires installation from source)pipinstall.[all]ModelsNLP models that provide best (or near) in class performance:Word chunkingNamed Entity RecognitionDependency parsingIntent ExtractionSentiment classificationLanguage modelsTransformers(for NLP tasks)Natural Language Understanding (NLU) models that address semantic understanding:Aspect Based Sentiment Analysis (ABSA)Joint intent detection and slot taggingNoun phrase embedding representation (NP2Vec)Most common word sense detectionRelation identificationCross document coreferenceNoun phrase semantic segmentationOptimizing NLP/NLU models and misc. optimization techniques:Quantized BERT (8bit)Knowledge Distillation using TransformersSparse and Quantized Neural Machine Translation (GNMT)Solutions (End-to-end applications) using one or more models:Term Set expansion- uses the included word chunker as a noun phrase extractor and NP2Vec to create semantic term setsTopics and trend analysis- analyzing trending phrases in temporal corporaAspect Based Sentiment Analysis (ABSA)DocumentationFull librarydocumentationof NLP models, algorithms, solutions and instructions
on how to run each model can be found on ourwebsite.NLP Architect library design philosophyNLP Architect is amodel-orientedlibrary 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 agnosticNLP/NLU models per taskDifferent topologies used in modelsShowcase End-to-End applications (Solutions) utilizing one or more NLP Architect modelGeneric 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 inferenceExtensive model documentation and tutorialsNoteNLP 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.CitingIf 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}
}DisclaimerThe 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.ContactContact the NLP Architect development team through Github issues or
email:nlp_architect@intel.com