Intent Detection and Slot Filling is the task of interpreting user commands/queries by extracting the intent and the relevant slots.
Example (from ATIS):
Query: What flights are available from pittsburgh to baltimore on thursday morning
Intent: flight info
Slots:
- from_city: pittsburgh
- to_city: baltimore
- depart_date: thursday
- depart_time: morning
ATIS (Air Travel Information System) (Hemphill et al.) is a dataset by Microsoft CNTK. Available from the github page. The slots are labeled in the BIO (Inside Outside Beginning) format (similar to NER). This dataset contains only air travel related commands. Most of the ATIS results are based on the work here.
SNIPS is a dataset by Snips.ai for Intent Detection and Slot Filling benchmarking. Available from the github page. This dataset contains several day to day user command categories (e.g. play a song, book a restaurant).
Model | Slot F1 Score | Intent Accuracy | Paper / Source | Code |
---|---|---|---|---|
Stack-Propagation + BERT | 97.00 | 99.00 | A Stack-Propagation Framework with Token-level Intent Detection for Spoken Language Understanding | Official |
Stack-Propagation | 94.20 | 98.00 | A Stack-Propagation Framework with Token-level Intent Detection for Spoken Language Understanding | Official |
SF-ID (BLSTM) network | 92.23 | 97.43 | A Novel Bi-directional Interrelated Model for Joint Intent Detection and Slot Filling | Official |
Capsule-NLU | 91.80 | 97.70 | Joint Slot Filling and Intent Detection via Capsule Neural Networks | Official |
Slot-Gated BLSTM with Attension | 88.80 | 97.00 | Slot-Gated Modeling for Joint Slot Filling and Intent Prediction | Official |