This repository contains the PyTorch implementation of the paper: A Stack-Propagation Framework with Token-Level Intent Detection for Spoken Language Understanding. If you use any source codes or the datasets included in this toolkit in your work, please cite the following paper. The bibtex are listed below:
@article{qin2019stack, title={A Stack-Propagation Framework with Token-Level Intent Detection for Spoken Language Understanding}, author={Qin, Libo and Che, Wanxiang and Li, Yangming and Wen, Haoyang and Liu, Ting}, journal={arXiv preprint arXiv:1909.02188}, year={2019} }
In the following, we will guide you how to use this repository step by step.
Our code is based on PyTorch 1.1 and runnable for both windows and ubuntu server. Required python packages:
- numpy==1.16.2
- tqdm==4.32.2
- scipy==1.2.1
- torch==1.1.0
- ordered-set==3.1.1
We highly suggest you using Anaconda to manage your python environment.
The script train.py acts as a main function to the project. For reproducing the results reported in our paper, We suggest you the following hyper-parameter setting for ATIS dataset:
python train.py -wed 256 -ehd 256 -aod 128
Similarly, for SNIPS dataset, you can also consider the following command:
python train.py -wed 32 -ehd 256 -aod 128
Due to some stochastic factors, It's necessary to slightly tune the hyper-parameters using grid search. If you have any question, please issue the project or email me and we will reply you soon.