NGC | Catalog
CatalogResourcesIntent Slot Classification Notebook

Intent Slot Classification Notebook

Logo for Intent Slot Classification Notebook
End to End sample workflow for Intent Slot Classification starting with training in TAO Toolkit and deployment using Riva.
Latest Version
April 4, 2023
Compressed Size
12.8 KB

Intent Slot Classification

Understanding the intent in natural language (Intent Classification) and extracting values of pertinent attributes or specific pieces of information from a sentence (Slot Filling) are two essential tasks in Natural Language Understanding (NLU). For example:

In the query: What is the weather in Santa Clara tomorrow morning? we would like to classify the query as a weather Intent, and detect Santa Clara as a location slot and tomorrow morning as a date_time slot. Intents and Slots names are usually task specific and defined as labels in the training data. This is a fundamental step that is executed in any task-driven Conversational Assistant.

Recent research has shown the proficiency of BERT models in this task. TLT provides the capability to train a BERT model and perform inference for both intent detection and slot filling together.

The best place to get started with TAO Toolkit - Intent and Slot Classification would be the TAO - Intent and Slot Classification jupyter notebook. This resource has two notebooks included.

  1. Training: Workflow for training an intent slot classification model and export the model to a .riva file
  2. Deployment: Workflow to consume the .riva file and deploy it to Riva.

If you are a seasoned Conversation AI developer we recommend installing TAO and referring to the TAO documentation for usage information.


Please make sure to install the following before proceeding further:

  • python 3.6.9
  • docker-ce > 19.03.5
  • docker-API 1.40
  • nvidia-container-toolkit > 1.3.0-1
  • nvidia-container-runtime > 3.4.0-1
  • nvidia-docker2 > 2.5.0-1
  • nvidia-driver >= 455.23

Note: A compatible NVIDIA GPU would be required.


We recommend that you install TAO Toolkit inside a virtual environment. The steps to do the same are as follows

virtualenv -p python3 
source /bin/activate
pip install jupyter notebook # If you need to run the notebooks

TAO Toolkit is a python package that is hosted in nvidia python package index. You may install by using python’s package manager, pip.

pip install nvidia-pyindex
pip install nvidia-tao

To download the jupyter notebook please:

  1. Download the samples using the ngc cli with the following command
ngc registry resource download-version "nvidia/tao/intentslotclassification_notebook:v1.0"
  1. Instantiate the jupyter notebook server
jupyter notebook --ip --allow-root --port 8888


By downloading and using the models and resources packaged with TAO Toolkit Conversational AI, you would be accepting the terms of the Riva license