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.
.rivafile 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:
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:
ngc registry resource download-version "nvidia/tao/intentslotclassification_notebook:v1.0"
jupyter notebook --ip 0.0.0.0 --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