Skip to content
RNN for Spoken Language Understanding
Branch: master
Clone or download
Latest commit 55fd60f Jul 23, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
data back the old files from UdeM backup Oct 28, 2015
examples keras version without contex window Jun 6, 2016
metrics fixed issue #12 and issue #13 Oct 22, 2015
rnn removed mean of a single value Sep 15, 2015
utils models and sample script for elman/jordan RNN Sep 15, 2013
.gitignore ignore useless files Oct 28, 2015 Update Jul 23, 2018 package fix Mar 6, 2015

Note: I don't provide personal support for custom changes in the code. Only for the release. For people just starting, I recommend Treehouse for online-learning.

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


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
python is13/examples/

For running the Jordan architecture:

python is13/examples/


Download ATIS Dataset here! split 0 split 1 split 2 split 3 split 4

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/

To download the intent labels, you may be intersted in this notebook.


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

You can’t perform that action at this time.