Skip to content

NLU: Supervised intent classification & slot filling based on SlotRefine MultiHeaded Attention model

Notifications You must be signed in to change notification settings

language-org/slSR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SlotRefine: A Fast Non-Autoregressive Model for Joint Intent Detection and Slot Filling

Modified by: Steeve Laquitaine

Original reference:

Main paper to be cited (Di Wu et al., 2020)

@article{wu2020slotrefine,
  title={Slotrefine: A fast non-autoregressive model for joint intent detection and slot filling},
  author={Wu, Di and Ding, Liang and Lu, Fan and Xie, Jian},
  booktitle={EMNLP},
  year={2020}
}

Prerequisites

Original setup and train

  • Original setup:
setup.sh      # create virtual env. and install dependencies

Train on atis dataset:

train.atis.sh # train model

Train on snips dataset:

train.snips.sh

Quick runs for testing

  1. Configure parameters.yml and catalog.yml in conf/
  2. Run a pipeline:
  • train:
# python models.py --pipeline train
  • predict:
# python models.py --pipeline predict
  • Shuffle corpus:
python thumt/scripts/shuffle_corpus.py --corpus "data/atis/train/data" --seed 0 --num_shards 1

..and other scripts:

  • build_vocab
  • checkpoint_averaging
  • convert_old_model
  • convert_vocab
  • input_converter
  • shuffle_corpus
  • visualize

Specs and stats

  • Specs original paper:

    • decoding:
      • single Tesla P40 GPU
  • Stats:

    • inference latency: 3.02 ms
  • Stats:

    • train: 4 hours (200 epochs)

TODO

  • complete variabilisation of configurat in utils.get_params()

About

NLU: Supervised intent classification & slot filling based on SlotRefine MultiHeaded Attention model

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published