Skip to main content

Google dialogflow - How to train a chatbot to answer questions related to your office and how to make it better than just a Q&A bot?


 

First lets look how to do it the basic way.

To train a conversational AI chatbot for answering office-related queries using Dialogflow, you will need to follow these steps:

  1. Create a new agent in Dialogflow.
  2. Collect a dataset of office-related queries and their corresponding answers. This dataset can be obtained through various means, such as scraping websites, conducting surveys, or manually creating a dataset.
  3. Create intents in Dialogflow for the queries in your dataset. An intent represents a user's intention, such as asking for office hours or requesting a vacation day.
  4. Add training phrases to each intent, which are examples of how a user might ask the question.
  5. Provide responses for each intent, which will be the chatbot's answer to the user's query.
  6. Test the chatbot using the "Try it now" feature in Dialogflow.
  7. Once the chatbot is working well, you can deploy it to a platform of your choice, such as a website or mobile app.

However, if you follow the basic guideline you will end up with having a bisc chatbot that won't recognise very basic things about your office. So how to make it better, how to automate intent creation and improve performance?


One way to make the chatbot more intelligent is by adding a lot of intents which could be a tedious task, instead, you can create a CSV file of questions and answers and connect this as knowledge to the Dialogflow chatbot. 


To  make that happen, you can use the Knowledge Connectors feature in Dialogflow, which allows you to connect your chatbot to external knowledge sources, such as FAQ documents or databases, to provide more accurate and informative responses to user queries.


First you need to have your own dataset, follow this simple guide to do that. 

  1. Identify the topics that you want to cover in your dataset. These topics could include office hours, vacation days, company policies, etc.
  2. Gather a list of questions that users might ask about each topic. You can do this by conducting surveys, interviewing employees, or researching common questions about the topic.
  3. Create corresponding answers for each question. The answers should be concise and informative.
  4. Organize the questions and answers into a spreadsheet or document that can be easily imported into Dialogflow's knowledge base.
  5. In Dialogflow, create a new knowledge base and import the spreadsheet or document containing the questions and answers.
  6. Use the "Automated Intent Creation" feature in Dialogflow to create intents based on the questions in the knowledge base. This feature will automatically create intents for each question and link them to the corresponding answer in the knowledge base.
  7. Test the chatbot using the "Try it now" feature in Dialogflow to ensure that the intents are working properly and the answers are accurate.
  8. Use the "Analyze" button in the knowledge base to check the performance of your knowledge base, and improve it by adding more questions and answers.
  9. You can also use machine learning models to train on this dataset and improve the accuracy of the intents and answers, so that chatbot can understand the user intent and provide more informative answers.

Hope this guide helps anyone trying to find a way to create more than just a rigid Q&A chatbot with Google diaglogflow. 

Comments

Popular posts from this blog

Dhivehi to English translation with Microsoft translator

  The Dhivehi language translation feature included in Microsoft translator and Microsoft 365 lets you press a button and translate written Dhivehi into English. Though there are a few hiccups here and there, the service is great and provides an understanding of the overall document. This is more than what we see from any existing models. I was amazed to see a link in one of my outlook web emails, it says “translate message to: English” which could mean nothing usually, however, when I saw the next sentence which said “Never translate from: Divehi”, I thought why would it says Divehi specifically if it doesn’t understand that the entire email was written in Dhivehi? Out of curiosity, I pressed the button, and to my surprise, it was quite good. The essence of the message was retained very well. For example, something like އިޙްތިރާމް ޤަބޫލުކުރެއްވުން އެދެން could be translated as “ I would like to respect you ”, which is ok in terms of translation, but what it meant was greeti...

What if we combine Scrum and DevOps?

To understand how an agile project management methodology like scrum and the DevOps mindset work together, let's look into an arbitrary software development team called the dream team. I will tell you how they use scrum with their DevOps practices like a small story so that it wouldn't feel like you are trying to learn these concepts by reading an article.  The dream team was tasked with building an online bookstore. Their vision was to create a platform where readers could easily browse and buy books. In the team, there was a Product Owner, a Scrum Master, a UI/UX designer, a couple of developers, and a database engineer. They started their journey with a meeting led by the Product Owner, who had a clear idea of the features needed for this platform. This list of features, known as the product backlog, included user authentication, a book database, a search function, a shopping cart, and a payment system. The Product Owner, the Scrum Master, and the rest of the team then held ...