Oracle Digital Assistant is a platform that allows you to create and deploy digital assistants for your users. With Oracle Digital Assistant, you create:
Digital assistants, which are AI-driven interfaces (commonly known as chatbots) that help users accomplish a variety of tasks in natural language conversations. For each digital assistant, you assemble one or more skills.
Skills, which are individual bots that are focused on specific types of tasks, such as tracking inventory, submitting time cards, and creating expense reports.
You can add skills to digital assistants or deploy them to a channel on their own.
What are Digital Assistants?
Digital assistants are virtual devices that help users accomplish tasks through natural language conversations, without having to seek out and wade through various apps and web sites. Each digital assistant contains a collection of specialized skills. When a user engages with the digital assistant, the digital assistant evaluates the user input and routes the conversation to and from the appropriate skills.
You can populate your digital assistant with skills from the Skill Store and with skills you have designed yourself.
You can make digital assistants available to users through a variety of channels, such as Facebook Messenger, Slack, and your own mobile apps.
What a Digital Assistant Does
A digital assistant enables a user to interact with multiple skills through a unified user interface. To help facilitate this, a digital assistant performs the following functions.
Greets the user upon access.
Upon user request, lists what it can do and provide entry points into the given skills.
Routes explicit user requests to the appropriate skill.
Handles interruptions to flows.
For example, if a user inputs something that reflects a different intent or which requires a different skill, the digital assistant prompts the user to confirm a transition to the desired flow. And once that new flow is completed, offers to return the user to the preceding flow.
For example, if a user types ”cancel”, it may need to prompt the user whether to cancel a request that she previously made, to leave the existing flow, or to exit the bot entirely.
Handles requests to exit the bot.
To optimize the behavior of a digital assistant (so that it is best able to respond to ambiguous user input), you will probably want to tune its configuration and the way that the skills are registered in the digital assistant. To dig in, see Digital Assistants.
What Are Skills?
Before you dive into digital assistant and skill development, here are some concepts you’ll want to get familiar with:
Intents—Categories of actions or tasks users expect your skill to perform for them.
Entities—Variables that identify key pieces of information from user input that enable the skill to fulfill a task.
Both intents and entities are common NLP (Natural Language Processing) concepts. NLP is the science of extracting the intention of text and relevant information from text.
Components—Provide your skill with various functions so that it can respond to users. These can be generic functions like outputting text, or they can return information from a backend and perform custom logic.
Dialog Flow—The definition for the skill-user interaction. The dialog flow describes how your skill responds and behaves according to user input.
Channels—Digital assistants and skills aren’t apps that you download from an app marketplace, like iTunes. Instead, users access them through messaging platforms or through client messaging apps. Channels, which are platform-specific configurations, allow this access. A single digital assistant or skill can have several channels configured for it so that it can run on different services simultaneously.