Intent recognition
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 (please refer to the References section for the names of some example 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...