As we saw in the previous posts, training a bot is not as simple as media says, it is, in fact, a hard task if you want to create a chatbot able to understand and answer human requests. It becomes necessary for the user to:
- Get familiar with the platform in where she is going to create her bot
- Define different entities with which the bot will work
- Feed the bot with phrases
One of the most arduous tasks is the last one, and in this post, we will show you how it is possible to accelerate this process of nurturing the bot with different phrases to make it smarter. This approach can work in any chatbot development platform, but we are going to focus on Api.ai powered by Google.
Look at the image above, surrounded in green is the “intent” or order that any basic pizza delivering chatbot should understand, for this example, we took “purchase_pizza.”
The following step should be to add to this general intent all the possible expressions customers may use when purchasing a pizza, we surrounded them in red. Tagging these entities is what makes Api.ai algorithm learn. This step is key in the answer the user will receive from the bot. If the chatbot receives a syntactic structure or keywords which are not contemplated in this database we created during this training process, the bot won’t probably understand it and it will fail while providing the answer.
Once you have a dataset containing all the possible requests users can ask to your chatbot, there are two ways in how we can add them to the chatbot: by hand and by code.
What first comes to mind is to write them by hand, and in that case, we will need to write them in the area surrounded in yellow “user says.” Once done we must select which entities within the phrase we want to tag (surrounded in blue) and, finally, press Enter. If we’ve defined our entity values previously, after writing a sentence and pressing Enter Api.ai agent should tag it automatically.
The code way consists in preparing a script that must contain the parsed phrases with the entities declared by hand too (see below):
Comparing both processes, hand-tagging is an arduous and tedious task if you need to add to your chatbot thousands or millions of sentences since there can be significant variations in the queries. How can Bitext help you?
Via API, we can train your chatbot for you by giving it a tagged input. You provide us raw phrases, and we can automatically tag the entities and upload all the processed data shortening the training time and providing efficiency and reliability no matter the complexity of the data.
If you want to try how this system to accelerate the training works visit our interactive demo.