/is13

RNN for Spoken Language Understanding

Primary LanguagePython

Investigation of Recurrent Neural Network Architectures and Learning Methods for Spoken Language Understanding

Code for RNN and Spoken Language Understanding

Based on the Interspeech '13 paper:

Grégoire Mesnil, Xiaodong He, Li Deng and Yoshua Bengio - Investigation of Recurrent Neural Network Architectures and Learning Methods for Spoken Language Understanding

We also have a follow-up IEEE paper:

Grégoire Mesnil, Yann Dauphin, Kaisheng Yao, Yoshua Bengio, Li Deng, Dilek Hakkani-Tur, Xiaodong He, Larry Heck, Gokhan Tur, Dong Yu and Geoffrey Zweig - Using Recurrent Neural Networks for Slot Filling in Spoken Language Understanding

Code

This code allows to get state-of-the-art results and a significant improvement (+1% in F1-score) with respect to the results presented in the paper.

In order to reproduce the results, make sure Theano is installed and the repository is in your PYTHONPATH, e.g run the command export PYTHONPATH=/path/where/is13/is:$PYTHONPATH. Then, run the following commands:

git clone git@github.com:mesnilgr/is13.git
python is13/examples/elman-forward.py

For running the Jordan architecture:

python is13/examples/jordan-forward.py

ATIS Data

Download ATIS Dataset here!

import cPickle
train, test, dicts = cPickle.load(open("atis.pkl"))

dicts is a python dictionnary that contains the mapping from the labels, the name entities (if existing) and the words to indexes used in train and test lists. Refer to this tutorial for more details.

Running the following command can give you an idea of how the data has been preprocessed:

python data/load.py

License

Creative Commons License
Recurrent Neural Network Architectures for Spoken Language Understanding by Grégoire Mesnil is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
Based on a work at https://github.com/mesnilgr/is13.