Human behavior tends to improve productivity with continuous efforts. This leads to innovation in technology and people have witnessed the revolution in technologies like cloud, virtual platforms, mobile applications, smart devices and Artificial Intelligence (AI). If you talk about enterprise mobility, the mobile apps have revolutionized the way users interact with big enterprise systems like Oracle EBS, JD Edwards, Siebel, Fusion cloud ERP etc. and how they pull data from back – end forms and databases. Mobile application development has become both challenging and convenient with Cloud and MBaaS (Mobile Backend as a Service) systems. You would have seen the rise of Oracle Mobile Cloud Service (MCS) and Integration Cloud Service (ICS), which in fact, has made the mobile application development more ‘declarative’ and configuration can be done with minimal coding.Now users are looking to install minimal mobile apps on their smart phones and are trying to explore more convenient ways to transact. With the advent of Artificial Intelligence (AI), Machine learning (ML) and Natural Language Processing (NLP) into cloud, enterprise mobility is becoming more “conversational”, thus enhancing customer experience. This has led to the evolution of Chatbots which are considered to be the most recent and powerful tool for engaging employees and consumers in the B2E and B2C space. Change and evolution is evident, but what matters is identifying the right solution for adapting to the change and the pace at which the adoption translates to productivity.
This whitepaper explains, developing Intelligent Chatbot for Oracle Enterprise Applications using Oracle Mobile Cloud Enterprise. It discusses in detail the evolution of Artificial Intelligence, NLP and Machine Learning on top of Oracle Mobile Cloud Service, in order to bot-enable Oracle Enterprise Systems. It helps you to understand, how to develop an Oracle Approvals and Time-entry bot, using Oracle mobile cloud enterprise by programming & training the bot in NLP and Machine Learning.
Chatbots are computer generated automatic programs which can run on messaging apps and provide human – like conversation in simple
language. Chatbot works using Artificial Intelligence and is enhanced using Machine Language and NLP. It can eliminate the process of numerous navigations when you do online shopping or the tedious task of reading up the ‘FAQs’ section while searching for the answer to your queries online.
Instead of navigating through several web pages, chatbots can provide answers to your questions through simple conversations.
For example, you can ask Bot, “What is the cheapest flight ticket from San Francisco to Seattle?” or “Provide me the list of Purchase Requisitions above $10,000.”
If you check your phone’s applications manager, you will find that 80% of the mobile apps are rarely used. The most commonly used apps are
the messaging apps like Facebook Messenger, WhatsApp, Skype, WeChat etc. Hence, enterprise users would prefer to transact business using
conversational messenger applications as much as possible. Almost 4 billion users are using instant messenger applications for business transactions. The past decade has seen rapid transition of users from desktop to mobile, and most of the users prefer mobile now. CXOs tend to carry out most of the business transactions through mobile phone and mobile apps. The typical evolution of Chatbots is represented below.
Technology transformation is prevalent everywhere and chatbots are rapidly replacing mobile apps to a great extent for numerous business scenarios. Some of the major reasons why the world is gradually, moving from mobile applications to chatbots are:
The users are more conversant with the chat and messaging apps and feel that messaging apps are convenient to use.
About 75% of smartphone users use, some sort of messaging apps. As per analysis, there are one billion active users for Facebook Messenger and Whatsapp++ (Source: Statista, Nielsen surveys), which means users are more into the messaging apps. Also, mobile apps usage per smartphone has saturated and most users use on an average of 26-28 apps per month.
Chatbots need less training since users are already conversant with chat apps, whereas enterprise mobile apps need certain amount of visual navigation and workflow training for users which results in some adaption challenges. With chatbots, the users are provided with a more human – like interaction which makes them easier and convenient to use.
This can be one of the most important reasons driving the chatbots trend. If you take an average user, almost 80% of his apps are rarely used (2 out of 10 apps are used only once and 5 out of 10 apps are used less than ten times). When you add enterprise apps on top of the general consumer apps, some issues may arise. Also, enterprise apps have got their own constraints. For instance, if you install a mobile app for performing a requisition, it might instruct you to change the way you login to your mobile phone. The overall productivity increases as users still need to maintain, manage and upgrade all the “rarely” used apps periodically, and get notifications from most of them. This results in app fatigue and there is a problem in managing the apps. Organizations are looking for ways to reduce app fatigue and therefore seem to develop more chatbots for specific scenarios and use cases.
With more evolvement of AI, NLP and ML, it is more convenient to reduce the cost and development cycle of chatbots. There has been a constant support for bot development frameworks. Facebook, Microsoft, Google etc. started supporting bot. There is a rise in bot development framework, as it is being used by various global companies, which has led to the reduction of time and cost.
The most time-consuming and challenging task for a mobile app developer is to look into the complex backend functionalities like push notifications, Single Sign – On (SSO) configurations, managing user security etc. Almost 50-60% time of a mobile developer is dedicated to developing back – end code and he/she needs to write several lines of code to make something like a SSO / push notification / offline synchronization or user management to work. This is when companies started to develop “MBaaS” (Mobile Backend as a Service). Oracle’s offering to MBaaS was Oracle Mobile Cloud Service (MCS). Oracle also, developed the Cloud Integration platform known as Integration Cloud Service (ICS), which has pre – built connectors for all the major ERP systems, databases etc. and on – premise agents for database connectivity. This makes the whole mobile app development infrastructure 100% on cloud and zero on – premise. Continuous innovations on Oracle Mobile Cloud platform resulted in adding the bot flavor to Oracle MCS.
Chatbots do not use or depend on an app to be installed on iOS or Android phones. They are compatible with other popular messaging platforms like Facebook Messenger, Skype, WhatsApp etc. It needs to be instant chat and prompt response, and has to perform better than normal conversation mode in plain text. By adding Artificial Intelligence, NLP and Machine Learning algorithms, Oracle has developed a complete bot development framework on cloud called Oracle Mobile Cloud Enterprise or OMCe. (Oracle Bot Platform was initially called Intelligent Bot Cloud service or IBCS). Recently, Oracle has added an Intelligent Bot Builder platform and Analytics to create Oracle Mobile Cloud Enterprise or simply OMCe. Oracle’s all – in – one Mobile Cloud framework for developing mobile backend services. Bots and enhanced analytics is the new Oracle Mobile Cloud Enterprise.
Oracle Mobile Cloud Enterprise provides a web portal based framework for chatbot development. It enables developers to develop, program and train bots to respond to human conversations. It has an Artificial Intelligence (AI) engine at its core which uses NLP and ML algorithms to decode the human conversations, sense the emotions and provide responses which are accurate. The latest version includes “Bot Analytics” called Customer Experience Analytics or CXA, which provides good analytics on bot adoption, match cases etc.
The major building blocks of Oracle chatbot consists of Intents, Utterances, Entities and Dialogue Flow. The heart of the design is the Oracle Bot AI Engine. Oracle has leveraged several open source platforms and tools for developing the AI engine, NLP and for handling chatbot conversational queue. Apache Kafka is used to handle the volume of conversational messages in chatbot and Sakura AI is used for building AI engine.
The below figure shows the major components for building an intelligent chatbot as listed below:
Chatbots use NLP and ML algorithms to establish a smooth conversational flow. The whole NLP engine is built by configuring and training, using the Intents, Utterances and Entities to generate maximum information from the conversation in order to perform a sequence of actions.
Intent can be explained as a user intention or what the user wants from a query. For example, Check Flight, Get List of Pending Approvals, Enter Time Card – these are all specific Intents. Intent can have multiple ways of asking or decoding the information from it. This is called Utterances. Utterances are the various phrases or sentences by which a user can ask a query. Utterance is used to decode and map a specific Intent to generate the next action. This is where the power of NLP engine comes into play. Sample Utterances for “Check Flight” Intent can be phrases like ‘Book Flight from San Francisco to Seattle.’ or ‘I want to check flights to Seattle.’ or ’What are the flights to Seattle now?’
A bot needs to extract the information from the Intents and Utterances and initiate the next sequence of action. Entities are used for this and they are the variables parsed from an Intent or the parameters associated with an Intent. For example, the intent “Book flight” will have a parameter to describe more on the “Class of flight” to lead to the next action. So the Entity here is “Flight Class” and bot will ask question to check whether the Flight class is Coach, First or Business. If we consider an Intent “Approval List”, then it will extract a parameter (Entity) “Approval List type” which may have values like Purchase Approvals, Invoice Approvals, Expense Approvals. Entities are then, used in the Dialogue flow engine (YAML) and passed to backend (Oracle ERP) as part of MCS integration component to fetch the actual parameter value list by querying the back end system database.
After the Intents, Utterances and Entities are defined in OMCe, the next step is to program the dialogue flow or sequence of steps that the bot needs to pass through the process and respond to a conversation. The steps to execute are based on the inputs from the Intent and Entity, and programmed using ‘Bot Markup Language’ or BotML. In simple terms, BotML is used for defining the process flow or state flow or workflow as a set of rules. This is called Dialogue Flow and is developed using BotML, which is written in YAML.
Let us consider a customer who got multiple cloud and on-premise enterprise systems in place. Say they use primarily, Oracle EBS as their ERP system and use Salesforce for Leads & Opportunity management, Taleo for Hiring management and Microsoft On-premise Outlook for email & calendar activities; and they want to go mobile. A single mashup mobile application built on Oracle Mobile Cloud enterprise (OMCe) can solve the issue of managing multiple apps for disparate systems, and can develop a chatbot approvals application for quick approvals. Mobile Cloud Service (MCS) layer of OMCe can be used to build the backend integration services from various systems like EBS, Salesforce,
Outlook etc. and Intelligent Bot builder can be used for building the Approvals app. Approvals need instant and quick responses. Especially, the approval apps will be used by managers, who may not even look at transactional enterprise apps and need quick ways of checking pending work list and approving transactions. A conversational chatbot build on a popular messaging channel like Facebook Messenger can solve this issue. It is simple to use and there is no training needed. Managers will be using messaging apps which are considered to be the best way to reach them. The below screens show a typical Purchase Requisition Approval Chatbot application built for Oracle EBS.
Chatbots have made innovative inroads to most enterprise systems and simplified the ways in which transactions are done. Chatbots have good use cases related to HR and Sales.
The chatbot can revolutionize the way HR employee self-service is managed and can avoid lot of surfing through the Oracle forms and navigating through multiple pages in the mobile app. The self-trained intelligent Human Resource Bot can answer typical questions such as,
Employees can create time entry details using the time entry bot. They can ask the bot to simply enter timecards by following simple conversations.
Imagine a sales manager who is on the field chatting with customers and team members. He would like to have a bot in his Facebook messenger or WhatsApp or Skype. There is no need for him to log in from a desktop to see his list of opportunities or click through mobile app UI to find the top 5 products. He can just ask the Sales & CRM bot to answer the question.
To develop the Oracle EBS approvals bot, we can leverage the full extent of Oracle Intelligent bot builder portal. The bot builder is a web based portal which helps chatbot developers to configure the bot using less code by easy to configure Intents, Entities and dialogue flow. It also has a mechanism to test the Intents and Entities to see how much matching of results exists.
The various steps to configure the Approvals Bot using OMCe bot builder portal is shown below,
The various steps are listed below,
The screen below shows the in-built real -time testing and training of the bot, using the “training” feature of NLP. The bot can be tested to understand the confidence level or matching percentage of the conversation to the Intent and Entities.
The Oracle Intelligent Bot builder provides facility to design the way the bot should interact with custom components using the Dialogue Flow builder which is written in language YAML.
The below screen shows Oracle Intelligent Bot builder’s OOTB (Out of the Box) feature to configure messaging platform channels. It shows configuring Facebook Messenger in the bot builder portal. It is as simple as taking the page access token and app secret from Facebook page and mapping in the channels configurator page. Similarly, the verify token and web hook URL from bot builder UI is configured in the Facebook page for mapping them.
Custom components are built in Oracle MCS portion of OMCe and linked to Oracle Intelligent Bot service. Node.js based scaffolding is used to write custom logic and build APIs to link to backend Oracle ERP systems.
Chatbots market is growing annually at 36% and will reach 3 billion USD globally by 2021 (Source: MarketsandMarkets). The evolution started early last year and will continue strong with the advent of AI, ML and NLP. Oracle Mobile Cloud Enterprise (OMCe) will be one of the end – to – end bot providers with capability of enterprise back – end integration, mobile cloud service features and analytics. OMCe will have more easy to use “Visual Dialogue flow editor” and enhanced “Analytics” in a single platform. The Analytics portion (CxA) can provide valuable insights into the bot usage and will help to take strategic decisions. The bots will become easy to configure and extend by any user with minimal coding skills. Definitely chatbots are here to stay and revolutionize the way humans transact with enterprise systems.