bd2b60d0bc | ||
---|---|---|
.github | ||
docs | ||
scenarios | ||
tests | ||
tools | ||
utils_nlp | ||
.amlignore | ||
.bumpversion.cfg | ||
.flake8 | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CONTRIBUTING.md | ||
LICENSE | ||
MANIFEST.in | ||
NOTICE.txt | ||
README.md | ||
SETUP.md | ||
pyproject.toml | ||
setup.py |
README.md
NLP Best Practices
This repository contains examples and best practices for building natural language processing (NLP) systems, provided as Jupyter notebooks and utility functions. The focus of the repository is on state-of-the-art methods and common scenarios that are popular among researchers and practitioners working on problems involving text and language.
Overview
The goal of this repository is to build a comprehensive set of tools and examples that leverage recent advances in NLP algorithms, neural architectures, and distributed machine learning systems. The content is based on our past and potential future engagements with customers as well as collaboration with partners, researchers, and the open source community.
We’re hoping that the tools would significantly reduce the time from a business problem, or a research idea, to full implementation of a system. In addition, the example notebooks would serve as guidelines and showcase best practices and usage of the tools.
In an era of transfer learning, transformers, and deep architectures, we believe that pretrained models provide a unified solution to many real-world problems and allow handling different tasks and languages easily. We will, therefore, prioritize such models, as they achieve state-of-the-art results on several NLP benchmarks and can be used in a number of applications ranging from simple text classification to sophisticated intelligent chat bots.
Content
The following is a summary of the scenarios covered in the repository. Each scenario is demonstrated in one or more Jupyter notebook examples that make use of the core code base of models and utilities.
Scenario | Applications | Models |
---|---|---|
Text Classification | Topic Classification | BERT |
Named Entity Recognition | Wikipedia NER | BERT |
Entailment | MultiNLI Natural Language Inference | BERT |
Question Answering | SQuAD | BiDAF, BERT |
Sentence Similarity | STS Benchmark | Representation: TF-IDF, Word Embeddings, Doc Embeddings Metrics: Cosine Similarity, Word Mover's Distance |
Embeddings | Custom Embeddings Training | Word2Vec fastText GloVe |
Annotation | Text annotation | Tutorial |
Getting Started
To get started, navigate to the Setup Guide, where you'll find instructions on how to setup your environment and dependencies.
Contributing
This project welcomes contributions and suggestions. Before contributing, please see our contribution guidelines.
Build Status
Build Type | Branch | Status | Branch | Status | |
---|---|---|---|---|---|
Linux CPU | master | staging | |||
Linux GPU | master | staging |