/is13

RNN for Spoken Language Understanding

Primary LanguagePython

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

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.

Run the following commands:

git clone https://github.com/Liang-Qiu/is13.git
cd is13
virtualenv venv -p python3
source venv/bin/activate
pip3 install -r requirements-gpu.txt
python examples/elman-keras.py

ATIS Data

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

import _pickle as cPickle
train, valid, test, dicts = cPickle.load(gzip.open('atis.fold0.pkl.gz', 'rb'), encoding='latin1')

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.