Oracle Digital Assistant – A Powerful Choice

We are fortunate to be living in an era of disruptive technology innovations. After the advent of the Internet and Personal Computers, Generative AI has the potential to redefine the world in every aspect you can think of. What we see now, is just the beginning of a massive revolution in the technology world. 

The Journey of Gen-AI

Gen-AI has been the talk of the town for just around a year when OpenAI’s ChatGPT weaved its magic with its amazing ability of human-like interaction to fetch precise answers for everything you ask. However, you would be surprised to know that the research in generative AI dates to the 1960s.

Today, Generative AI has proven its mettle in generating text, images, sounds, animations, etc., with the help of generative models that learn the input training data patterns and create new outputs with comparable features. Compared to traditional AI, generative AI differentiates itself by its unique capability to create new content, primarily with the help of unsupervised learning and sophisticated generative models.

Gen AI for Exponential Business Growth

As we can see, the major areas where Gen AI has the highest potential to bring exponential growth are in the areas of Automation, Research, Innovation, Decision making, Actionable Insights and Information Gathering.

Implementing Gen AI technology can provide a wide range of new possibilities for a business or an organisation, helping to stay competitive in an ever-changing market while attaining greater growth, innovation and efficiency.

An interesting study report by Bloomberg Intelligence uncovers that the generative AI market is all set to explode, growing to $1.3 trillion over the next 10 years from a market size of just $40 billion in 2022.

Conversation AI and Digital Assistants

Diving deeper into one of the widely used applications of AI, let us look more closely into Digital Assistants, that embraces conversation AI to elevate the productivity of agents and improve customer experience.

Conversation AI – a rapidly growing subset of AI comes into picture, when AI is applied in a conversational interaction with a human. It enables users to interact with machines using natural language, giving them a personalised conversational experience and to achieve this, conversational AI uses subdomains of AI – NLP, ML & DL.

In simple terms, Machine Learning allows the digital assistant to get smarter from its own interactions and improve with time. Natural Language Processing (NLP) is the process that AI uses to understand language, learn to recognize words, identify the context and switch to natural language generation to result in human-like conversations with customers.

NLP algorithms are designed to analyze large amounts of textual or vocal data, recognize patterns and extract meaningful insights. Imitating the way humans process language, NLP technologies can automatically classify documents, identify sentiments, generate summaries and engage in conversations with humans – through chatbots or virtual assistants.

Oracle Digital Assistant: The Unique Factor

Oracle Digital Assistant (ODA) is unique as a complete AI platform to deliver conversational experiences through text/ chat messages and voice interfaces.

As the only enterprise conversational AI platform offering both an end-to-end development platform for digital assistants/custom skills and the extensible pre-built skills in its centralised repository called Skill Store, ODA is a powerful choice to make.

Based on our recent feasibility study of Oracle Digital Assistant capabilities for specific customer requirements, this introductory blog intends to outline the great capabilities, foundational building blocks and the skill developmental cycle integral in Oracle’s flagship platform.

Oracle Digital Assistant: The Building Blocks of a Skill

To understand the world of ODA better, let us get familiar with the primary building blocks first.

  • Skills:

Skills are individual chatbots designed to interact with users and complete specific tasks.

For example, for the use case of ordering food online; placing the order can be one skill, cancellation can be another. Each individual skill helps a user to finish a task end to end. In ODA, seamless transfer from one skill to the other and back is possible without losing the context.

  • Intents:

Intents are entry points for a conversation and are responsible for making the skill understand what the user wants to do, mapping the words and phrases to specific actions. 

Intents comprises of utterances, which are nothing but permutations and combinations of sample messages as a user would address in their conversation statements.

For the same example use case of ordering food online, if a user places a request stating ‘Cancel my previous order’ or ‘I don’t want the Burger anymore’ or simply as ‘Forget the delivery’; these are different expressions referring to the same task of order cancellation. Still, how does ODA associate the intent correctly? By creating the intents from a rich set of varied utterances (a minimum of 1 to 2 dozen) to enable the skill to interpret even ambiguous requests from the user.

  • Entities:

Entities are responsible to add context to the intents and describe the intent in a more complete way.

In the above example, the user input says, ‘I want a large mozzarella pizza within 1 hour’. This request can be mapped to 3 entities – PizzaSize, CheeseType and Pizza; helping in identifying the specific information with respect to the size of the pizza, type of cheese and food type ordered.

The example shows a type of custom entity created based on the use case requirement. ODA also has built in entities to extract generic information like Date, Time, Address, Currency etc.

If users are to be allowed to query databases using natural language, SQL Dialog skills are your go to option. While importing the data service’s physical model into the skill, the query entities are added implicitly to the logical model, where each query entity represents a physical table. The SQL Dialog skills are built around the query entities created.     

A dedicated blog on each of the Entity types, use cases, development and best practices will follow soon with a detailed discussion on each.

  • Components

Components can be generic functions like outputting a user message or it could be performing a custom logic or returning information from a backend application integrated. Basically, it empowers your skill with various functions to be able to respond to users intuitively.

  •  Conversation/ Dialog Flows

Conversations are defined by a series of dialog flow steps in the ODA, built for your regular intents. Dialog driven conversations enables collection of information required to finish a task, navigating the user through a sequence of dialog flow states. Each state can further be linked to responses from the skill/bot or prompts for the user to conditionally handle any business functionality. 

Skill Development Process:

On a high level, the skill development process can be split into 9 steps.

  1. Create Skill

The creation of a skill can either be from scratch or by cloning or importing one.

  1. Create Intents

The next step would be to create as many intents as your use case requires to describe various tasks to be completed within the skill.

Apart from describing the actions of a skill, intents are also vital to enable skills to recognize user input. This is achieved through the utterances mapped with each intent.

  1. Train the Skills

For the skill to be able to reference intents while parsing the user input, training with the intent and respective utterances is critical. This is the step wherein the language intelligence framework with algorithms can be leveraged which not only recognises the sample phrases that directly maps to the intent, but similar sentences/phrases as well.

  1. Create Entities

The next step will be to add some context to enable the skill to efficiently complete the user request.

  1. Create the Dialog Flow

Followed by the creation of a dialog flow that will define and describe how the skill should react when respective intents are invoked and resolved. Here is where you can define the messages and prompts visible to the user, which also aids in getting the right inputs from the user required for the task completion.

 6. Integrate Custom Components

Any custom component integration can follow at this point, when your skill is capable to identify inputs but cannot respond to it. Adding custom components enables the skill to put its intelligence to work.

 Two kinds of custom component options exist:

i)  Oracle defined ones that perform functions ranging from holding the resolved intent to outputting messages to users.

ii)  User defined ones to perform skill specific tasks like ordering a Pizza.

 7. Test the Skill

At this point, you will be able to test the skill and the defined flows using the Preview option.

The model testing can be performed using the Utterance Tester in ODA which allows to do manual and batch testing to ascertain how well the model resolves intents from user messages.

 8. Route to a Channel

A tested skill can either be clubbed under a Digital Assistant or added to one or more channels like the messaging platforms (Facebook Messenger, Slack, Microsoft Teams etc), web pages/applications (For e.g., Oracle APEX).

The skills perform uniformly well in any channel integrated, even if they support different formats like text only or images or scrolling cards etc. More advanced channel integrations involve customer-support systems or external applications that can prompt a skill to kick off a conversation.

  1. Review Insights Reports

Once all integrations and testing are completed to satisfaction, the skill can be published. The Insights reports give a detailed view of usage metrics, execution paths of conversations, trends and primarily helps you to understand how well the skill performs in supporting the customers to complete intended tasks. With the help of these reports, improvement areas can be detected easily and aids in identification and fixing of issues.

ODA: Key Features & Capabilities

Summarised below is a curated list of key capabilities, out of the powerful line-up of ODA features.

  • Unified Conversational Experience:

ODA unifies single purpose chatbots (Skills) into one digital assistant, making it easy for users to interact with multiple systems from one conversation.

  • Multichannel Support and Integration:

ODA is capable of engaging users through popular channels such as the web, Microsoft Teams, Facebook Messenger, Slack, mobile, SMS texting, smart speakers etc. It is interesting to note that a conversation on one channel can also be continued or ended in another channel without losing context. Open to any client channel or back-end app, on-premises or in the cloud.

Speech recognition capabilities allow users to talk directly to skills and digital assistants to get appropriate responses. 

  • Intelligent Routing:

Even when conversations switches between topics, Oracle Digital Assistant can detect these switches without losing information and maintaining the context intelligently. Confidence scores at the heart of the routing model are calculated for individual skills and measures how well they match with the user’s inputs.

  • Backend Integration:

Oracle Digital Assistant supports backend integrations via REST Services, to send a request to REST endpoints, Custom components allow to perform complex processing and through authentication services allowing interactions between ODA and identity providers.

  • SQL Dialog Skills:

To allow users to query databases using natural language, SQL Dialog skills helps in translating a natural language user input into SQL queries, send the query to a backend data source / database and display the DB response.

  • Multi-language Support: Native-Language & Translation:

You can develop both single-language and multi-language digital assistants. When you create skills and digital assistants, you can use either Oracle Digital Assistant's native language support or you can use a 3rd-party translation service. However, in each skill and digital assistant, you can only use one of those approaches.

  • Insights:

Provides analytics from developer perspective, to easily identify issues with skills and digital assistants.

Metrics can be tracked both at user session and conversation level with an added advantage of custom metrics definition if needed.

  • Data Manufacturing:

Important accelerator that helps to crowdsource training data for the created skills.

  • FAQ Integration:

To integrate frequently asked questions with Q&A intents, ODA’s powerful Knowledge Centre functionality is the go-to feature.

  • Skill Store:

Provides skills and digital assistants that you can import into your Digital Assistant instance and clone, extend/ customise, or use as is. 

  • Customer Service Integration

More sophistication is offered to digital assistants via ODA’s DA as an Agent or Live Agent Transfer; allowing to convert a DA into an automated agent participating in live help chats or to hand over the conversation to a human agent whenever the skill detects that the customer is stuck respectively.

A Sneak Peek into an ODA Skill

Based on the understanding developed from the discussed concepts, taking a quick look at a developed skill would be good idea at this time.

 The skill demonstrated is a Greetings skill with 2 intents defined – i) greetings ii) goodbye – to specifically handle the introductory and thanking conversations from users.

You can see how the intents are defined with around 10-20 utterances in the example. And in the utterance testing that follows, even if we don’t exactly key in the same sentences as mapped, ODA is able to correctly invoke the right intent based on its intelligence.

0:00
/1:35

Summary

This introductory blog on Oracle Digital Assistant highlighted how the Gen AI boom can lead to exponential business growth and explored the underlying concepts, features and advantages of the platform.

Stay tuned for more ODA blogs, with detailed development steps and best practices captured around creating your own Digital Assistants.