{"id":15131882,"url":"https://github.com/intellabs/nlp-architect","last_synced_at":"2025-09-28T23:32:36.212Z","repository":{"id":37596711,"uuid":"133867923","full_name":"IntelLabs/nlp-architect","owner":"IntelLabs","description":"A model library for exploring state-of-the-art deep learning topologies and techniques for optimizing Natural Language Processing neural networks","archived":true,"fork":false,"pushed_at":"2022-11-07T16:21:47.000Z","size":556787,"stargazers_count":2931,"open_issues_count":14,"forks_count":443,"subscribers_count":165,"default_branch":"master","last_synced_at":"2024-05-22T12:11:51.336Z","etag":null,"topics":["bert","deep-learning","deeplearning","dynet","nlp","nlu","pytorch","quantization","tensorflow","transformers"],"latest_commit_sha":null,"homepage":"https://intellabs.github.io/nlp-architect","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IntelLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.html","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-17T21:00:13.000Z","updated_at":"2024-05-20T12:00:49.000Z","dependencies_parsed_at":"2023-01-23T11:45:32.732Z","dependency_job_id":null,"html_url":"https://github.com/IntelLabs/nlp-architect","commit_stats":null,"previous_names":["nervanasystems/nlp-architect"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fnlp-architect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fnlp-architect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fnlp-architect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fnlp-architect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntelLabs","download_url":"https://codeload.github.com/IntelLabs/nlp-architect/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234575214,"owners_count":18854924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bert","deep-learning","deeplearning","dynet","nlp","nlu","pytorch","quantization","tensorflow","transformers"],"created_at":"2024-09-26T04:01:23.718Z","updated_at":"2025-09-28T23:32:27.464Z","avatar_url":"https://github.com/IntelLabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e :warning: **DISCONTINUATION OF PROJECT** - *This project will no longer be maintained by Intel.  This project has been identified as having known security escapes.  Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.* **Intel no longer accepts patches to this project.**\n\n\n\u003cp align=\"center\"\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/IntelLabs/nlp-architect/master/docs-source/source/assets/nlp_architect_logo_trans.png\" width=\"400\"/\u003e\n    \u003cbr\u003e\n\u003cp\u003e\n\u003ch2 align=\"center\"\u003e\nA Deep Learning NLP/NLU library by \u003ca href=\"https://www.intel.ai/research/\"\u003eIntel® AI Lab\u003c/a\u003e\n\u003c/h2\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/IntelLabs/nlp-architect/blob/master/LICENSE\"\u003e\n        \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/IntelLabs/nlp-architect.svg?color=blue\u0026style=flat-square\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://intellabs.github.io/nlp-architect\"\u003e\n        \u003cimg alt=\"Website\" src=\"https://img.shields.io/website/http/intellabs.github.io/nlp-architect.svg?down_color=red\u0026down_message=offline\u0026style=flat-square\u0026up_message=online\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/IntelLabs/nlp-architect/releases\"\u003e\n        \u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/release/IntelLabs/nlp-architect.svg?style=flat-square\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pepy.tech/project/nlp-architect\"\u003e\n        \u003cimg src=\"https://pepy.tech/badge/nlp-architect\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003e\n  \u003ca href=\"#overview\"\u003eOverview\u003c/a\u003e |\n  \u003ca href=\"#models\"\u003eModels\u003c/a\u003e |\n  \u003ca href=\"#installing-nlp-architect\"\u003eInstallation\u003c/a\u003e |\n  \u003ca href=\"https://github.com/IntelLabs/nlp-architect/tree/master/examples\"\u003eExamples\u003c/a\u003e \u003ca href=\"https://intellabs.github.io/nlp-architect/\"\u003e\u003c/a\u003e |\n  \u003ca href=\"https://intellabs.github.io/nlp-architect\"\u003eDocumentation\u003c/a\u003e |\n  \u003ca href=\"https://github.com/IntelLabs/nlp-architect/tree/master/tutorials\"\u003eTutorials\u003c/a\u003e |\n  \u003ca href=\"https://intellabs.github.io/nlp-architect/developer_guide.html\"\u003eContributing\u003c/a\u003e\n\u003c/h4\u003e\n\nNLP Architect is an open source Python library for exploring state-of-the-art\ndeep learning topologies and techniques for optimizing Natural Language Processing and\nNatural Language Understanding Neural Networks.\n\n## Overview\n\nNLP 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.\n\nFeatures:\n\n* Core NLP models used in many NLP tasks and useful in many NLP applications\n* Novel NLU models showcasing novel topologies and techniques\n* Optimized NLP/NLU models showcasing different optimization algorithms on neural NLP/NLU models\n* Model-oriented design:\n  * Train and run models from command-line.\n  * API for using models for inference in python.\n  * Procedures to define custom processes for training,    inference or anything related to processing.\n  * CLI sub-system for running procedures\n* Based on optimized Deep Learning frameworks:\n\n  * [TensorFlow]\n  * [PyTorch]\n  * [Dynet]\n\n* Essential utilities for working with NLP models - Text/String pre-processing, IO, data-manipulation, metrics, embeddings.\n\n## Installing NLP Architect\n\nWe recommend to install NLP Architect in a new python environment, to use python 3.6+ with up-to-date `pip`, `setuptools` and `h5py`.\n\n### Install using `pip`\n\nInstall core library only\n\n```sh\npip install nlp-architect\n```\n\n### Install from source (Github)\n\nIncludes core library, examples, solutions and tutorials:\n\n```sh\ngit clone https://github.com/IntelLabs/nlp-architect.git\ncd nlp-architect\npip install -e .  # install in developer mode\n```\n\n### Running Examples and Solutions\n\nTo run provided examples and solutions please install the library with `[all]` flag which will install extra packages required. (requires installation from source)\n\n```sh\npip install .[all]\n```\n\n\n## Models\n\nNLP models that provide best (or near) in class performance:\n\n* [Word chunking](https://intellabs.github.io/nlp-architect/tagging/sequence_tagging.html#word-chunker)\n* [Named Entity Recognition](https://intellabs.github.io/nlp-architect/tagging/sequence_tagging.html#named-entity-recognition)\n* [Dependency parsing](https://intellabs.github.io/nlp-architect/bist_parser.html)\n* [Intent Extraction](https://intellabs.github.io/nlp-architect/intent.html)\n* [Sentiment classification](https://intellabs.github.io/nlp-architect/sentiment.html#supervised-sentiment)\n* [Language models](https://intellabs.github.io/nlp-architect/lm.html#language-modeling-with-tcn)\n* [Transformers](https://intellabs.github.io/nlp-architect/transformers.html) (for NLP tasks)\n\nNatural Language Understanding (NLU) models that address semantic understanding:\n\n* [Aspect Based Sentiment Analysis (ABSA)](https://intellabs.github.io/nlp-architect/absa.html)\n* [Joint intent detection and slot tagging](https://intellabs.github.io/nlp-architect/intent.html)\n* [Noun phrase embedding representation (NP2Vec)](https://intellabs.github.io/nlp-architect/np2vec.html)\n* [Most common word sense detection](https://intellabs.github.io/nlp-architect/word_sense.html)\n* [Relation identification](https://intellabs.github.io/nlp-architect/identifying_semantic_relation.html)\n* [Cross document coreference](https://intellabs.github.io/nlp-architect/cross_doc_coref.html)\n* [Noun phrase semantic segmentation](https://intellabs.github.io/nlp-architect/np_segmentation.html)\n\nOptimizing NLP/NLU models and misc. optimization techniques:\n\n* [Quantized BERT (8bit)](https://intellabs.github.io/nlp-architect/quantized_bert.html)\n* [Knowledge Distillation using Transformers](https://intellabs.github.io/nlp-architect/transformers_distillation.html)\n* [Sparse and Quantized Neural Machine Translation (GNMT)](https://intellabs.github.io/nlp-architect/sparse_gnmt.html)\n\nSolutions (End-to-end applications) using one or more models:\n\n* [Term Set expansion](https://intellabs.github.io/nlp-architect/term_set_expansion.html) - uses the included word chunker as a noun phrase extractor and NP2Vec to create semantic term sets\n* [Topics and trend analysis](https://intellabs.github.io/nlp-architect/trend_analysis.html) - analyzing trending phrases in temporal corpora\n* [Aspect Based Sentiment Analysis (ABSA)](https://intellabs.github.io/nlp-architect/absa_solution.html)\n\n## Documentation\n\nFull library [documentation](https://intellabs.github.io/nlp-architect/) of NLP models, algorithms, solutions and instructions\non how to run each model can be found on our [website](https://intellabs.github.io/nlp-architect/).\n\n## NLP Architect library design philosophy\n\nNLP 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.\nThe library is designed to be a tool for model development: data pre-process, build model, train, validate, infer, save or load a model.\n\nThe main design guidelines are:\n\n* Deep Learning framework agnostic\n* NLP/NLU models per task\n* Different topologies used in models\n* Showcase End-to-End applications (Solutions) utilizing one or more NLP Architect model\n* Generic dataset loaders, textual data processing utilities, and miscellaneous utilities that support NLP model development (loaders, text processors, io, metrics, etc.)\n* Procedures for defining processes for training, inference, optimization or any kind of elaborate script.\n* Pythonic API for using models for inference\n* Extensive model documentation and tutorials\n\n### Note\n\nNLP Architect is an active space of research and development; Throughout future\nreleases new models, solutions, topologies and framework additions and changes\nwill be made. We aim to make sure all models run with Python 3.6+. We\nencourage researchers and developers to contribute their work into the library.\n\n## Citing\n\nIf you use NLP Architect in your research, please use the following citation:\n\n    @misc{izsak_peter_2018_1477518,\n      title        = {NLP Architect by Intel AI Lab},\n      month        = nov,\n      year         = 2018,\n      doi          = {10.5281/zenodo.1477518},\n      url          = {https://doi.org/10.5281/zenodo.1477518}\n    }\n\n## Disclaimer\n\nThe NLP Architect is released as reference code for research purposes. It is\nnot an official Intel product, and the level of quality and support may not be\nas expected from an official product. NLP Architect is intended to be used\nlocally and has not been designed, developed or evaluated for production\nusage or web-deployment. Additional algorithms and environments are planned\nto be added to the framework. Feedback and contributions from the open source\nand NLP research communities are more than welcome.\n\n## Contact\nContact the NLP Architect development team through Github issues or\nemail: nlp_architect@intel.com\n\n[documentation]:https://intellabs.github.io/nlp-architect\n[TensorFlow]:https://www.tensorflow.org/\n[PyTorch]:https://pytorch.org/\n[Dynet]:https://dynet.readthedocs.io/en/latest/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintellabs%2Fnlp-architect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintellabs%2Fnlp-architect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintellabs%2Fnlp-architect/lists"}