The Chatbot Business Framework

  • Start Here
  • Benefits
  • Implementation
  • Development
  • Insights
You are here: Home / Bot Development / How to Store Data for Chatbots

February 28, 2021 ·

How to Store Data for Chatbots

Bot Development

There are so many ways to store data for chatbots. In this post, learn how you can store data for your chatbot conversations.

When building out your initial pilot for a chatbot, it’s important to just start getting the chatbot out there so you can learn what your users are expecting from your chatbot. Based on my personal experience with implementing chatbots for large enterprises, having a strong analytical foundation of how you collect data of chatbot conversations along with the extract, transform, and load (ETL) processes is really important.

Importance of Choosing Data Structure and Data Storage

The reason why you should spend time making a decision on how to store data for chatbots is because the new enhancements and additions of features to your chatbot should come from the analytics that are derived from your bot’s data.

When we were rolling out our initial chatbot, we didn’t have a sense of the breadth of the type of skills and features that our chatbot would need. This meant that our conversation data architecture had very specific things to the initial skills that our chatbot had that was also combined with general information that any conversation would have (like input and outputs). What this meant was that any new skill that didn’t need a specific field in the JSON would have a blank, we could choose to grow the JSON message, or we create an entirely new message completely.

This caused a lot of heart ache as we continued adding skills. At one point, we had considered moving from noSQL to a SQL database architecture.

The tradeoffs is whether you want to spend time upfront to get the data structure right (SQL) or if you want to quickly get going and have the ETL process figure out the data later (noSQL). While gathering data using JSON format makes it easier to collect data due to its inherent noSQL structure, it added more time in the ETL processing side before we could make sense of the data.

The Importance of Chatbot Standardized Analytics Capture and Reporting

While it may not seem like out of the box reporting will fit all needs, having standard reporting capabilities when you are implementing a new technology allows you to at least have a foundation to start from when measuring chatbot metrics. The problem that we had when implementing nascent chatbot technology was that we were building our own definition of what it meant for something to be a chatbot conversation, chatbot sessions, and other query related metrics.

Boutique Chatbot Platforms with Reporting Capabilities

If you are willing to go to a boutique chatbot platform (which generally translates into thousands of dollars), you may find that the platforms offer out of the box standard reports that may be more customized than what the large cloud providers have to offer. For example, here’s a link to Bot Framework Analytics reports. Kore.AI and SmartBot had a lot of reporting capabilities built in with the ability to create your own visualizations of analytics and data.

Overview of Fundamental Chatbot Database Setup and Analytics

You can extract and send chatbot data using APIs. The three main actions that your chatbot architecture will need is the ability to extract data or user input, identifying and setting up your database store, sending data to the database (POST), and visualizing the data.

  1. User inputs and conversations with the chatbot will need to be extracted and stored in the database. The user inputs generally are the utterances provided from the user in the conversation with the chatbot. Entities and intents can then be tagged to the user input.
  2. The database that you setup should be based on your decision on whether to focus more development effort on determining the structure of the data on the front-end or whether you will spend time using ETL processes to format the data to get ready for analysis. 
  3. Determine what APIs are available from your database to flow back and forth into your chatbot platform.
  4. The data can then be retrieved using a data visualizer like Tableau, PowerBI, or QuickSight to better analyze the customer experience for improvements in data modeling, bot responses, and overall information that can help the bot.

Advanced Chatbot Database Setup Techniques to Consider

Storing Relationships Between Entities

Graph databases like LUCID and Neo4J can be used by Freebase to store relationships between entities. It has a graph of nodes and edges. Each node has attributes and values for those attributes. This also allows edges to have attributes similar to nodes, and an edge connecting two nodes to define relationships between the nodes.

More on ETL Processes for Chatbot Analysis

Chatbot conversations can be stored in a SQL database that is hosted on a cloud platform. For example, if you were planning on creating a chatbot within the Microsoft Teams platform, you could use CosmosDB, a noSQL database with open APIs, to store your conversations and use PowerBI to visualize the reports. The piece that is missing from this is the way you structure your JSON messages. If you do not have a clean and well thought out data structure, you will potentially need transformational processes for your data in order for your data to make sense for reports.

Summary About Chatbot Conversation Storage

Chatbot analytics are important to ensure that you understand what your customers and users are seeking from a chatbot channel. By being intentional on how and what you capture from a user experience, you’ll be able to mine insights from what your customers are trying to tell you about what they want from your chatbot. It might be more information about products and services, it may be that they prefer troubleshooting via the chatbot, or it might be telling you that your other channels aren’t solving their problems. Start by understanding what type of insights you will want to gain insights on, structure your chatbot data architecture in a way that will capture that information for each and every conversation, and then choose the database (SQL or noSQL) from there, that will enable you to have a solid foundation of being able to get the information you are looking for.

Other Chatbot Analytics Posts You May Like

  • Best Guide to Chatbot ROI Calculations and Metrics
  • Value Proposition for Implementing Chatbots
  • Chatbot Deflection. Overview
  • Measuring Chatbot Effectiveness with KPIs and Metrics


Many of the links on this blog are affiliate links. ChatbotBusinessFramework.com receives a small comission when certain items are purchased, but the price is the same for you. ChatbotBusinessFramework.com is a participant in the Amazon LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.

Previous Post: « Chatbot Architecture – 4 Essential Components Explained
Next Post: ChatGPT – OpenAI Artificial Intelligence »

Primary Sidebar

About

Sharing the best strategies on chatbots, virtual agents, and conversational agents using NLP, AI/ML to drive customer engagement, improve user experience, and drive ROI for small business and large enterprises. Learn more ...

Recent Posts

  • ChatGPT – OpenAI Artificial Intelligence
  • How to Store Data for Chatbots
  • Chatbot Architecture – 4 Essential Components Explained
  • 21+ Chatbot Hackathon Ideas – Winning Projects
  • Chatbots and Digital Marketing – Overview and How They Work Together

New Chatbot Tips & Strategies

Join thousands of others for the latest in news, tips, and strategies sent to your inbox weekly!

Copyright © 2023 · Captivating Theme on Genesis Framework · WordPress · Log in