Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Slot-Gated Modeling for Joint Slot Filling and Intent Prediction


Main paper to be cited (Goo et al., 2018)

  title={Slot-Gated Modeling for Joint Slot Filling and Intent Prediction},
    author={Chih-Wen Goo and Guang Gao and Yun-Kai Hsu and Chih-Li Huo and Tsung-Chieh Chen and Keng-Wei Hsu and Yun-Nung Chen},
    booktitle={Proceedings of The 16th Annual Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies},

Want to Reproduce the experiment?

Enter --dataset=atis or --dataset=snips to use ATIS or Snips (Coucke et al., 2018) dataset.

Where to Put My Dataset?

You need to put your dataset under ./data/ and use --dataset=foldername. For example, your dataset is ./data/mydata, then you need to enter --dataset=mydata
Your dataset should be seperated to three folders - train, test, and valid, which is named 'train', 'test', and 'valid' by default setting of Each of these folders contain three files - word sequence, slot label, and intent label, which is named '', 'seq.out', and 'label' by default setting of For example, the full path to train/slot_label_file is './data/mydata/train/seq.out' .
Each line represents an example, and slot label should use the IBO format.
Vocabulary files will be generated by utils.createVocabulary() automatically
You may see ./data/atis for more detail.


tensorflow 1.4
python 3.5


some sample usage

  • run with 32 units, atis dataset and no patience for early stop
     python3 --num_units=32 --dataset=atis --patience=0

  • disable early stop, use snips dataset and use intent attention version
     python3 --no_early_stop --dataset=snips --model_type=intent_only

  • use "python3 -h" for all avaliable parameter settings

  • Note: must type --dataset. If you don't want to use this flag, type --dataset='' instead.