Chatbots and SAP Conversational Artificial Intelligence
Human conversation with your SAP system future music? No, chatbots and SAP Conversational AI make this possible right now!
Early 2018 SAP announced the acquisition of Recast.AI. This enables SAP to offer a platform with which applications and software can be developed. The platform uses Natural Language Processing (NLP) and Machine Learning (ML) to understand natural language. SAP offers this technology under the name SAP Conversational AI (CAI) and the most appealing application is the development of so-called chatbots.
What's a chatbot?
A chatbot is a software application that can start a conversation with a natural person, such as an employee, customer or supplier of a company. Because the chatbot can "understand" and interpret natural language, the chatbot can answer comments and questions that are put to the chatbot. The chatbot can respond to simple greetings such as "Hi, how are you?", but also to more complex questions such as "How many leave days do I have available for this year?”. For the last question the data from an underlying system such as SAP ECC or SAP S4/HANA will have to be addressed via services.
Why a chatbot?
A chatbot is very suitable for automating parts of business processes, such as improving support to suppliers, customers and employees. Think of a helpdesk within companies, where common questions can be answered automatically by the chatbot. This allows helpdesk employees to focus on more valuable and meaningful interactions with customers. Besides providing information, a chatbot can also perform relatively simple tasks for an employee, without the employee having to have knowledge of the application that is normally used for this. Examples are creating a purchase order, requesting leave or creating a vacancy.
A chatbot is therefore not only a means to increase the service level towards internal and external stakeholders, it also makes them less dependent on the availability of your (support) staff. On balance, this has a positive impact on satisfaction and productivity.
Creating a chatbot using SAP CAI Platform
The SAP Conversational AI platform provides a development environment in which a chatbot can be set up quickly and easily. The developed chatbot can be accessed via various channels.
The SAP CAI platform can be divided into 4 global sections:
Bone Training
Through Bot Training the chatbot is taught to understand human language. For example, when you are going to make a chatbot that can give back your leave, you will have to train the chatbot to understand when you ask for your leave balance. Initially, you have to feed the chatbot with certain phrases that are linked to this so-called intent: "Can you show my leave balance?", "I want a few days off, can I?", "How many days do I have left?”. With a number of sentences, your chatbot will already notice when you ask, for example, "How much leave do I have?". ", that you should be referred to the "Leave" intent. By testing, you can find out which sentences are not recognized and reassign them to your intent, so that your chatbot becomes smarter and smarter.
In addition to intents, there are also so-called entities available. These are keywords that are recognized from expressions. Automatically 28 standard "gold" entities are recognized by SAP CAI, such as location, date, time, language, number. The gold entities can be supplemented with custom entities required for the specific scenario for which the chatbot is intended:
For example, if the city of Amsterdam is mentioned in a sentence, SAP CAI automatically recognizes it as the golden entity "Location" and will fill it with details about the location of Amsterdam. These details are then available for use in the rest of the conversation. A chatbot that needs to show the weather forecast should of course know for which location this needs to be done. The entity "Location" is ideally suited for this, for example, to call up a web service from weatheronline.nl.
In addition to the standard entities, it is also possible to create your own custom entities, such as recognising an invoice number. This entity can be used, for example, to retrieve invoice details from an SAP backend system and return them to the user.
Bone Builder
With the Bot Builder a conversation flow can be set up and logic can be built in to allow the chatbot to recognize certain topics and answer them in a targeted way, whether or not by a call to a backend system. The logic of the chatbot is included in one or more skills . In the attached print screen is an example of all the skills within a specific chatbot.
In the Bot Builder skills are created which can be activated by the occurrence of an intent or entity. Someone says "Hello!", which triggers the intent "@Greetings". The intent "@Greetings" is then included as a condition in the skill "greetings". A skill will eventually lead to one or more actions, such as looking up information in an SAP backend system or answering to the user. An action of the skill "greetings" can for example be giving the answer to the user: "Hello, can I help you with something?". A skill can also have the invocation of another skill as an action. In the attached screenshot this is visible by the lines between the skills.
Bone Connector
The chatbot can be accessed through multiple channels. Easy integration is possible with common channels such as Skype or Twitter. In addition, it is always possible to include the chatbot in your own custom application within, for example, the company website.
Bone Analytics
The SAP CAI platform offers the possibility to train and monitor the chatbot, allowing the chatbot to be continuously improved. All conversations with the chatbot are logged and can be viewed within the analytics function. Phrases that are not (properly) recognized, for example, can be assigned to the right intents through the analytics function. In addition, various reports are available to provide insight into usage data, for example.
Architecture
In the Bot Builder the chatbot is shaped. This is where the chatbot is trained, developed and monitored. When we look at the components in a SAP Landscape, the total architecture looks as shown in the figure below.
Through different channels the chatbot can be accessed via the Bot Connector. The functionality of the Bot Connector ensures that the chatbot only needs to be developed once and then can be accessed through multiple channels.
SAP Conversational AI runs in a productive scenario on the SAP Cloud Platform. Through the SAP Cloud Platform, webhooks and APIs can be used to access the underlying systems. These could be SAP S/4HANA or SAP ECC Business Suite systems, which can for example be accessed via OData services via a SAP NetWeaver Gateway system. In addition, it is also possible to access webservices available through third parties, such as the aforementioned webservice of weatheronline.nl.
The SAP Cloud Platform can be linked to the company's Corporate Identity Provider, allowing employees to authenticate once, after which they can access the underlying SAP systems via single sign on (SSO) without having to log in again.
Access chatbot to end user
When the chatbot is ready it needs to be unlocked towards the end user. Depending on the scenario, it should be made available on one or more channels. As already mentioned SAP Conversational AI has a number of channels available by default to easily link to the developed chatbot. In addition, it is always possible to unlock the chatbot to any desired platform by means of custom applications.
The various possibilities for opening up to the end user are listed below.
SAP Fiori Launchpad, SAP Digital Assistant & Telegram
The chatbot can easily be incorporated into the SAP Fiori Launchpad using a Fiori Launchpad plugin.
SAP Digital Assistant (formerly SAP CoPilot) is very suitable to interface with the chatbot developed in SAP Converstational AI. Within Fiori 3.0 the Digital Assistant is a standard part of the SAP Fiori Launchpad and can be used to answer context related questions. For example, when you open a Fiori app for approving purchase orders and you show a specific purchase order, this "context" is available to the SAP Digital Assistant. When you ask a question about a purchase order, the SAP Digital Assistant "knows" that you have opened the purchase order.
Telegram is an instant messaging platform that can be linked by default from the SAP Conversational AI platform. This makes the chatbot accessible via the Telegram app on, for example, your phone or tablet.
Concrete use case: Purchase-2-Pay (P2P) chatbot
As mentioned, a chatbot is ideal to support helpdesk staff in answering questions, among other things. An example is the Purchase-2-Pay process (P2P), in which various scenarios are present where a chatbot can offer a solution. These include, for example, answering approval statuses on purchase orders, the invoicing received in relation to a purchase order, or the payment status of an invoice.
Within the P2P process, Avelon has developed a chatbot, which can answer questions about the P2P process:
Header and line information of a purchase order
Purchase orders from a specific supplier
Approval status of a purchase order
Receiving invoices on a purchase order
Payment status of a specific invoice
This allows the chatbot to answer a large number of questions that would normally end up with employees of the finance or purchasing department. Think of questions like:
"I requested 5 laptops a few days ago, what is the status of this purchase order?”
"How much was billed at purchase order 4500091234?"
"With whom is this purchase order for approval?”
"What is the status of this invoice?”
This chatbot is integrated in the SAP Fiori Launchpad. The video below gives an impression of a number of conversations between an employee and the P2P chatbot.
Conclusion
Using the SAP Conversational AI platform, chatbots can be developed quickly and easily and can be accessed directly from the various standard channels to the end user. In addition, SAP CAI offers through webhooks and API's the possibility to use information from external systems in the conversation between the chatbot and the end user. Through training, the chatbot will eventually become increasingly "smarter" and more advanced, which in turn benefits the user experience of the chabot. Through the simplicity of development, multiple processes within your company can be supported quickly and easily with a chatbot. Standard questions and requests can be handled by the chatbot, allowing your employees to focus on the more complex issues and process matter.
This blog will be continued with a blog that goes deeper into the technical aspects of a chatbot: A technical deep dive into the world of chatbots.
For questions or information about the application possibilities of chatbots within your organization or for questions regarding SAP Workflow, Fiori, SAP Invoice Management (SIM) or SAP Master Data Governance (MDG) you can contact Victor van den Hazelkamp.
Related posts