Natural language understanding

Natural language understanding (NLU) is essential part of the intelligent dialog systems. The goal of NLU is to extract the intentions and entities from interlocutors' utterances. NLU algorithms extract from text semantic information. Using this information dialog system may understand and decide what to do.

For each Dasha application, you create single or multiple intents to make the dialog system understand the interlocutor. To train the classification model, you don't need to write any code. Model is training in the cloud Dasha Platform. Then, you can use created intents in the conversation script to handle interlocutor utterances using DashaScript.

Intents and entities are reusable within the application. It means that you can use it in different steps of the conversational script. You don't need to define individual ones for different transitions. Except for that cases when it's necessary for your script.

Intent classification

Intent classification is aimed to categorize phrases by their meanings (intention). You can use system intents in your application or create custom for specific purposes. For example, intents could be greeting, agreement, disagreement, transfer money, taxi order and any other you need.

The model may categorize each phrase with single or multiple intents or none of them. For example, the classifier can detect intents greeting and what_you_can_do. So, the algorithm will classify the phrase "Hello" as greeting; "Hello, what you can do?" as greeting and what_you_can_do; from "What is your name? " will extract none of the intents. To make this work, you should add such examples to the training dataset for several intents.

Named entity recognition

Named entity recognition is used to extract data information from interlocutors utterances. The goal is to locate words and classify them as entities. Further, you could use entity information in conversation. The most common entity types are names, addresses, dates, numbers, organizations, and others. Read here how to create your entities.

Handling NLU in DashaScript

For each phrase that the interlocutor says applies NLU algorithms. To handle intent or named entity output on condition use NLU control functions.

Found a mistake? Email us, and we'll send you a free t-shirt!

Enroll in beta

Request invite to our private Beta program for developers to join the waitlist. No spam, we promise.