Skip to content

Tensorflow and Keras implementation of the state of the art researches in Dialog System NLU

Notifications You must be signed in to change notification settings

databill86/dialog-nlu

 
 

Repository files navigation

Dialog System NLU

Tensorflow and Keras Implementation of the state of the art researches in Dialog System NLU. Tested on Tensorflow version 1.14.0

Implemented Papers

BERT for Joint Intent Classification and Slot Filling

Joint BERT

Supported data format:

  • Data format as in the paper Slot-Gated Modeling for Joint Slot Filling and Intent Prediction (Goo et al):
    • Consists of 3 files:
      • seq.in file contains text samples (utterances)
      • seq.out file contains tags corresponding to samples from seq.in
      • label file contains intent labels corresponding to samples from seq.in

Datasets included in the repo:

  • Snips Dataset (Snips voice platform: an embedded spoken language understanding system for private- by-design voice interfaces )(Coucke et al., 2018), which is collected from the Snips personal voice assistant.
    • The training, development and test sets contain 13,084, 700 and 700 utterances, respectively.
    • There are 72 slot labels and 7 intent types for the training set.

Training the model with SICK-like data:

2 models implemented joint_bert and joint_bert_crf

Required Parameters:
  • --train or -t Path to training data in Goo et al format.
  • --val or -v Path to validation data in Goo et al format.
  • --save or -s Folder path to save the trained model.
Optional Parameters:
  • --epochs or -e Number of epochs.
  • --batch or -bs Batch size.
python train_joint_bert.py --train=data/snips/train --val=data/snips/valid --save=saved_models/joint_bert_model --epochs=5 --batch=64
python train_joint_bert_crf.py --train=data/snips/train --val=data/snips/valid --save=saved_models/joint_bert_crf_model --epochs=5 --batch=32

Evaluating the Joint BERT NLU model:

Required Parameters:
  • --model or -m Path to joint BERT NLU model.
  • --data or -d Path to data in Goo et al format.
Optional Parameters:
  • --batch or -bs Batch size.
python eval_joint_bert.py --model=saved_models/joint_bert_model --data=data/snips/test --batch=128
python eval_joint_bert_crf.py --model=saved_models/joint_bert_crf_model --data=data/snips/test --batch=128

About

Tensorflow and Keras implementation of the state of the art researches in Dialog System NLU

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%