Intent Recognition
Let's see what intent recognition is and how we can use it for our chatbot.
We'll cover the following...
Intent recognition (also called intent classification) is the task of classifying user utterances with predefined labels (intents). Intent classification is basically text classification. Intent classification is a well-known and common NLP task. GitHub and Kaggle host many intent classification datasets.
In real-world chatbot applications, we first determine the domain our chatbot has to function in, such as finance and banking, healthcare, marketing, and so on. Then we perform the following loop of actions:
We determine a set of intents we want to support and prepare a labeled dataset of
(utterance, label)
pairs. We train our intent classifier on this dataset.Next, we deploy our chatbot to the users and gather real user data.
Then we examine how our chatbot performed on real user data. At this stage, usually, we spot some new intents and some utterances our chatbot failed to recognize. We extend our set of intents with the new intents, add the unrecognized utterances to our training set, and retrain our intent classifier. ...