Building a COVID-19 Chatbot powered by SAP BTP (Part 1/4): Setting the Stage
Setting the Stage (Image Source: SAP)
This article is the first of a four-part blog post series by Tim Huse and me. We met in the 2021 Career Starter Program and together we took the opportunity to discover and work with the latest technologies as part of the SAP Innovator Challenge 2021.
Together, we developed a COVID-19 chatbot (Vyri) as a solution to keep users updated regarding regulations, news, and statistics about the current pandemic. In this series, we will present our chatbot solution, which we implemented based on SAP Business Technology Platform (SAP BTP) components. The goal of the blogposts is to share our personal experience with the SAP BTP solution portfolio and its integration.
This first blog post, “Building a COVID-19 chatbot powered by SAP BTP (Part 1/4): Setting the stage”, is intended to give an overview of our chatbot solution. The post is structured as follows, after this short introduction the use cases of the solution are presented, these are then presented in a demo. After that, the IT architecture will be considered, and a final lesson learned will be formulated. The following blog entries in the series will then address key elements of the IT architecture of our solution:
- Accelerating Data Transformation and Data Governance with SAP Data Intelligence (Part 2/4)
- Creating a chatbot with SAP Conversational AI (Part 3/4) [Coming soon]
- Data Modeling and Advanced Analytics with SAP Data Warehouse Cloud and SAP Analytics Cloud (Part 4/4) [Coming soon]
It all started with an idea. The still ongoing COVID-19 pandemic has been and still is the reason for many restrictions in all our lives. A cozy dinner party with friends, a spontaneous visit to a restaurant or a vacation trip abroad are no longer possible without further ado. Regulations differing between countries as well as regions of a country and constantly changing make spontaneous planning of such activities difficult. With our solution we want to create a central place and more transparency for various information. Users should be supported in finding relevant information on COVID-19 pandemic within a shorter amount of time & effort. That is why we build a chatbot that includes the following features:
- current COVID-19 data on county level,
- current COVID-19 regulations at the state level,
- the three latest news and tweets regarding COVID-19,
- sentiment analysis of the latest news and tweets regarding COVID-19.
Currently the chatbot can output all relevant COVID-19 data for the German states of Baden-Württemberg, Rhineland-Palatinate, and Saarland but has the potential to be extended to other countries. As a reference source for the COVID-19 data, we use the website of the Robert Koch Institute (RKI). The RKI is the central institution of the German government in the field of disease surveillance and prevention and thus represents a valid source for the data.
The following demos are intended to give an overview of our solution. The first demo shows our chatbot in MS Teams.
MS Teams Chatbot (Video Source: Own Video)
Furthermore, we have also built a SAC dashboard in which the chatbot is also integrated. Through this, we want to provide a visualization of relevant key figures and content.
SAP Analytics Cloud Chatbot (Video Source: Own Video)
SAP Analytics Cloud GeoMap (Video Source: Own Video)
The next section refers to the IT architecture of our solution. The various components of the architecture will be discussed in more detail in the respective blogposts of the series, this section is only meant to serve as an overview and starting point for a more detailed consideration. The section is structured from the source to the output of the data and thus from right to left in the graphic.
Since there is no central access point for the currently applicable COVID-19 regulations in Germany, we initially decided on a dummy solution. In our solution we have filled a CSV file with the regulations from various official websites of the federal states, with the reference date 20.05.2021. The CSV file resides on the Semantical Data Lake of our SAP Data Intelligence Tenant. Besides of that, the latest COVID-19 data is obtained via an API from the Robert Koch Institute website, news are obtained via a News API and the latest tweets through the official Twitter API. Furthermore, using a Python client for Amazon Web Services (AWS), messages and tweets can be analyzed in terms of sentiment with the Natural Language Processing (NLP) Service AWS Comprehend.
This information and data are regularly collected by data jobs of SAP Data Intelligence Cloud and persisted in the SAP Data Warehouse Cloud. Using an OpenAPI that is offered via a pipeline in SAP Data Intelligence Cloud, Conversational AI consumes the data stored in SAP Data Warehouse Cloud. The SAP Data Warehouse Cloud is connected to the SAP Analytics Cloud via a Live Connection. This enables a wide range of visual representations and analyses. The end user has two options to access the data, either he uses a chatbot frontend, our solution currently supports Telegram and MS Teams, or he uses the developed SAP Analytics Cloud frontend via the browser. The chatbot is accessible via mobile as well as desktop-based devices.
The versions of the systems used are (as of 09/01/2021): SAP Data Intelligence – 2107.34.23, SAP Data Warehouse Cloud – 2021.19.67, SAP Analytics Cloud – 2021.17.2, SAP Conversational AI – Q3-2021.
Conclusion and Learnings
In this blog post we have introduced our COVID-19 chatbot Vyri and its use cases. The goal was to provide a simple overview to our solution, its use cases and architecture. Furthermore, it is intended to motivate you to read the upcoming blogpost of our blogpost series.
During the past months we got a glimpse of the powerful capabilities of the SAP BTP. At this point I would like to quote Albert Einstein “Imagination is more important than knowledge”, a key experience was that prototypes can be created very quickly with SAP’s cloud solutions even without prior knowledge, just start and try yourself. It could be helpful to read the latest product information or to stay in touch with product management and consulting experts, since SAP’s cloud software is evolving very fast.
These are among the reasons why we have gone through a steep learning curve during the recent months. We would highly recommend it to everyone who has the opportunity to participate in the SAP Innovator Challenge, to do so. The Challenge is a great opportunity to network, learn and try out the latest technologies’ hands on.
Thank you for reading! We hope you find this post helpful and will also read the following posts in our blogpost series. For any questions or feedback just leave a comment below this post.
Find more information and related blog posts on the topic page for SAP Business Technology Platform.
If you have questions about SAP Data Intelligence you can submit them in the Q&A area for SAP Business Technology Platform in the SAP Community.