A Keras implementation of the models described in [Chen et al. (2016)] (https://www.csie.ntu.edu.tw/~yvchen/doc/IS16_ContextualSLU.pdf).
This model implements a memory network architecture for multi-turn understanding, where the history utterances are encoded as vectors and stored into memory cells for the current utterance's attention to improve slot tagging.
- Python
- Numpy
pip install numpy
- Keras and associated Theano or TensorFlow
pip install keras
- H5py
pip install h5py
Consists of two datasets derieved from Simulated-Google Restaurant dataset
- Dataset without acts : Only take present utterance intent and slot
- Datset with acts : Take present utterance intent, slot and user_act.
You can train and test JointSLU with the following commands:
git clone --recursive https://github.com/halloTheCoder/ContextualSLUChatBot.git
cd ContextualSLUChatBot
Points to consider while running
- Give pretrained-embeddings as ConceptNet Numberbatch, other will lead to error.
- Change data directories in
sequence_tagger.py
, by default dataset without acts folder. (NOTE :: Don't use dataset folder as acts is not handled in code for now)
python sequence_tagger.py
- Email - akash.chandra8d@gmail.com
Main papers to be cited
@Inproceedings{chen2016end,
author = {Chen, Yun-Nung and Hakkani-Tur, Dilek and Tur, Gokhan and Gao, Jianfeng and Deng, Li},
title = {End-to-End Memory Networks with Knowledge Carryover for Multi-Turn Spoken Language Understanding},
booktitle = {Proceedings of Interspeech},
year = {2016}
}