Practical overview
When it fits
Use it when building or studying a dialogue NLU component and you want a TensorFlow/Keras implementation with transformer model options and documented training and evaluation workflows.
Who it is for
- Developers adding intent classification and slot extraction to conversational applications.
- Researchers comparing transformer-based dialogue NLU and model-compression approaches.
Documented uses
- Classify the intent expressed in a user utterance.
- Extract and tag structured slot values from conversational text.
- Train, continue training, evaluate, save, reload, and use a joint NLU model for prediction.
- Explore model pruning and smaller transformer-model approaches for dialogue NLU.
Requirements & limits
The public repository identifies the project as Apache-2.0 licensed and documents installation from Git with pip.
- The documented stack is TensorFlow 2, Keras and Hugging Face Transformers.
- The repository lists different transformer architectures, but layer-pruning support is not uniform: it is unavailable for ALBERT in the listed support table and not supported for XLNet.
- Training examples expect utterances, slot tags and intent labels in separate files.
- The repository includes Snips training, development and test data, described as 13,084, 700 and 700 utterances respectively.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install Dialog Nlu from its repository
Install the library using the repository's documented Git and pip steps.
Before you start
- Git
- Python with pip
Steps
Clone the Dialog Nlu repository.
Change into the dialog-nlu directory.
Run pip install .
Expected outcome
The package is installed from the cloned repository.
Guide limitations
- This covers installation only; it does not configure a model or run training.
Train and evaluate a joint NLU model
Follow the documented example to read prepared data, train a transformer NLU model, and evaluate it.
Before you start
- Dialog Nlu installed
- Training, validation and test data in the documented three-file format: seq.in, seq.out and label
- A Hugging Face model identifier such as distilbert-base-uncased
Steps
Read training and validation datasets with the provided Goo-format Reader.
Create a model with TransformerNLU.from_config using the selected pretrained model.
Train it with the training and validation datasets.
Read the test dataset and call evaluate to obtain slot and intent metrics.
Expected outcome
The example returns slot token and tag F1 scores, a slot classification report, and intent accuracy.
Guide limitations
- The example assumes the data files and paths are prepared; it does not explain how to create or label a dataset.
- Layer pruning is supported only for transformer-based NLU models, and support varies across architectures.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- MahmoudWahdan/dialog-nlu · Official homepage title · retained in its source language

