Why do we need to use Entities? How to improve the Chatbot?


I have created a simple FAQ chatbot for my website, here is the link if you want to try it out.

I was wondering how could I improve this chatbot, one way was to create buttons so that it improves the customer experience. I have introduced 3 buttons just to test it out.

But I never really understood what are real benefits of classifying entities in the training data, I have did it for a few when I was creating the chatbot, but now I was thinking some of the problems that the chatbot is facing in intent classifcation is due to this, Am I right?

What I don’t really understand how it is going to improve my chatbot and the logic behind it?

Is there any other suggestions you have for me to improve the chatbot.

The chatbot is meant to be used in an e-commerce website which sells water filter products.

The entity is useful to know how the user want to say of a simple way for example we have a nlu like this


  • I want to buy a [T-shirt] (item)
  • I want to buy a skirt
  • I’m searching a [tv] (item)

so no matter what the input of the user is. the bot can only extract the entity and know that the user want to buy somthing and you can make a search in a database for tv model or skirt and show to the user the items available in the store.

Thank you @UlisesVD. It would be really great if you could share your thoughts. on this

Just to make sure that I understood the concept.

You mean that the nlu would be able to extract entities from the user input and use it for search in database. But if there is no need for us to search in database nor any other specific use with the entity extracted does it make sense to classify the entities in the training examples.

On the otherhand, if there are follow up questions for example, in the above case, the user asks “what is the gaurantee of the product”, assusming the entity extracted from the earlier user input is TV, will the bot be able to answer correctly ? Is this one of the uses of extracting Entities?

yes that’s why I use entities but I assume that are more uses for that. without using db maybe you can change some response or change the flow of a conversation by the entities.

for example if the entity is some item example tv then you can ask by the resolution of something about tv

and if the item is a chair you can ask by the color. that is a fool example but can by useful to clarify the idea.