Anthill Inside 2019

A conference on AI and Deep Learning


Shubhangi Agrawal


Snorkeling in the deep: Bootstrapping an NLU model

Submitted Apr 25, 2019

Consider building a natural language understanding model for powering task based conversational agents. One of the problems to be solved is slot extraction. For example, if a user utters “show me flights from bengaluru to delhi on 25th july”, the model needs to extract the slots {from: bengaluru, to: delhi, date: 25-07-2019}. Recent advances in deep learning can solve this problem with adequate training data. Creating large amounts of training data for such models is a tedious and expensive manual process. Data programming (NeurIPS 2016) is a promising approach to create training data at scale from unlabelled data by encoding heuristics for labelling as simple python functions. A generative model can then learn to generate labels with associated probabilities by using the agreement / disagreement between labelling functions. These probabilistic labels can then be used to train a discriminative deep learning model. In this talk, we present a case study using the ATIS data set and show that with just 20% of the manually labeled data, we can get a comparable result to that of using 100% of the manually labeled data.


  • overview of the problem of slot extraction.
  • introduction to data programming using snorkel.
  • snorkel workflow
  • presentation and comparision of results.

Speaker bio

I am Shubhangi Agrawal, principal machine learning engineer at MakeMyTrip. I am a part of the team building Myra, MMT’s conversational agent which assists millions of MMT customers with post sale requests such as booking cancellation, changes, refund status as well as queries such as terminal information, baggage information etc. I have 7 years of industry experience in companies including Amazon and Adobe. I hold a masters degree in computer science from IIT Bombay, Mumbai.




{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}