Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Help & Learning Resources
Quick Start Guide
Accessing the Platform
Navigating the XO Platform
Building a Virtual Assistant
Using Workspaces
Release Notes
Current Version
Previous Versions
Request a Feature
Conversation Designer
Dialog Tasks
Mock Scenes
Dialog Tasks
Navigate Dialog Tasks
Build Dialog Tasks
Nodes & Connections
Node Types
Intent Node
Dialog Node
Entity Node
Entity Rules
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections Setup
Context Object
Sub-Intent Scoping
User Prompts
Voice Call Properties
Dialog Task Management
Event Handlers
Supported Entity Types
Supported Company Names
Supported Colors
Knowledge Graph
Knowledge Extraction
Build Knowledge Graph
Create Node Structure
Build the Graph
Add FAQs
Add FAQs from an Existing Source
Run a Task
Traits, Synonyms, and Stop Words
Manage Variable Namespaces
Update Knowledge Graph
Move Question and Answers Between Nodes
Edit and Delete Terms
Edit Questions and Responses
Knowledge Graph Analysis
Knowledge Graph Import and Export
Prepare Data for Import
From a CSV File
From a JSON File
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Alert Tasks
Small Talk
Digital Skills
Digital Forms
Digital Views
NLP Optimization
ML Engine
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
Default Standard Responses
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Health and Monitoring
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Custom Meta Tags
Create Custom Dashboard
NLP Insights
Conversations History
Conversation Flows
Analytics Dashboard Filters
Usage Metrics
Containment Metrics
Smart Bots
Universal Bots
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Manage Assistant
Plan & Usage
Usage Plans
Support Plans
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Masking PII Details
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data as Service
Data Table
Table Views
App Definitions
Sharing Data Tables or Views
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Configure Agent Transfer
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
API Reference
API Introduction
API List
API Collection
koreUtil Libraries
SDK Reference
SDK Introduction
SDK Security
SDK Registration
Web Socket Connect and RTM
Using the BotKit SDK
BotKit SDK Tutorial - Blue Prism
Widget SDK Tutorial
Web SDK Tutorial
Introduction to Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Assistant Management
Invite Users
Send Bulk Invites
Import User Data
Synchronize Users from AD
Security & Control
Using Single-Sign On
Security Settings
Cloud Connector
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Overview
  5. Virtual Assistants Overview

Virtual Assistants Overview


Communication has been the essence of life from the beginning of time. Traditionally, conversations were restricted to verbal and textual interaction between humans. These interactions were usually guided by emotions, context, and awareness of previous conversations.

With the advent of computers, interactions have expanded to include machines i.e. human-machine interactions. The transitions from a command-based interface to a Graphical User Interface (GUI) to a Conversational User Interface (CUI) became natural and need-based, making communication easier.

Further enhancements facilitated the emergence of Artificial Intelligence (AI) that can process natural language (NLP). In turn, AI has contributed to Conversational Virtual Assistants that understand human communication, derive a task from this understanding and extract the information they require in order to execute this task.

AI-driven, NLP-based chat, and voice Conversational Virtual Assistants are the latest in technology and a must for contemporary enterprises.

What are Conversational Assistants?

A Conversational Virtual Assistant (VA) acts as an intelligent intermediary between people, digital systems, and internet-enabled things. It replaces the traditional Graphical User Interfaces (GUIs) of an application or website with a Conversational User Interface (CUI). It is a paradigm shift from the earlier communications achieved either by entering syntax-specific commands or clicking icons.

These Virtual Assistants are designed to converse with users through a combination of natural language-based conversations. Responses can come in the form of text, links, buttons, calendars, or other widgets that accelerate the speed with which a user can respond.

AI-powered messaging solutions or Conversational Virtual Assistants serve as the stepping stone to the future. They communicate with intelligent virtual agents, organization apps, websites, social media platforms, and messenger platforms. Users can interact with such assistants using voice or text to access information, complete tasks, and execute transactions.

Why Add a Conversational Virtual Assistant to Your Business?

In a nutshell, such an assistant can significantly reduce the amount of time and labor required to maintain specific business processes. Here is what a Conversational VA can achieve:

  • Talk to people, systems and internet-enabled things,
  • Perform omnichannel communication through voice and text, using natural language,
  • Understand natural language, including domain-specific,
  • Learn from its interactions and apply this learning in future conversations,
  • Handle multi-turn conversations,
  • Apply context to improve communication,
  • Handle task interruptions and accomplish what users want.

How Do Conversational Virtual Assistants Work?

A Conversational Virtual Assistant works by analyzing what users say, to detect their goals and extract the information required in order to achieve that goal.

Let’s take a look at the key components and the core process that enable a Virtual Assistant to fulfill its functions.

The Key Components

Whatever the user says is considered an Utterance. The main task of the Conversational VA is to analyze the utterance and extract the intent, and entities essential to carry a conversation. 

An Intent is the user’s intention and usually comes in the form of a verb or noun within the user utterance.

Entities are a collection of data or information that the VA requires to complete the task which is identified in the user intent. They can be fields, data or words that the developer designates as necessary for the VA to complete a task. Entities can either be part of a user utterance, but the VA might also need to prompt the user to provide them. An Entity can be of any type; for instance: name, location, date, time, etc.

For example, let us consider the following message that a user sends to the Virtual Assistant: 

I want to fly to London this weekend.

  • The entire sentence represents the Utterance;
  • “I want to fly” is the Intent;
  • “London” and “this weekend” form the values for the Entities representing “Destination” and “Travel Date” respectively. As you can notice, the “Source” entity value is missing and in such a case, the VA needs to ask the user where they want to fly from.

The Core Process

In order for a Conversational Virtual Assistant to work as intended, it has to simultaneously perform the following three processes:

  • Detect the user’s Intent: Understand what the user wants
  • Extract Entities: Obtain specific information from the user, in order to accomplish what the user wants;
  • Execute the Dialog Task: Participate in the conversation process in order to accomplish what the user wants.

Building Intelligent Conversational Virtual Assistants

Virtual Assistants are not smart by default. They are designed to show some level of artificial intelligence by leveraging technologies such as machine learning, big data, natural language processing, etc. However, a Virtual Assistant is only intelligent when it can understand user needs, perspectives or context, and responds according to the user’s mood or emotion. This is only achievable through training and interaction with users, over a period of time. Here are a few suggestions that may help you increase your VA’s level of intelligence:

Build a Rich Collection of Intents and Entities

The key for a Conversational Virtual Assistant to understand humans is its ability to identify human intentions (Intents), extract relevant information IEntities) from utterances and map the relevant action/task against those utterances (Dialog Task execution). This is achievable using Natural Language Processing (NLP), which you can train according to your organization’s needs.

Develop Conversations

Managing dialogs to keep track of multiple conversation threads, remember the context, and respond to the user tone or sentiment provides the much-needed humane touch to the conversation. At the same time, this serves the user with accurate and appropriate responses, ensuring a positive experience.

Build a Knowledge Graph

In addition, having a Knowledge Graph gives the VA the ability to respond to frequently asked questions that return static responses. Building such knowledge collections is an attempt to represent entities, ideas, and events with all their interdependent properties and relations according to a system of categories. This structured categorization of data helps the VA to answer user queries effectively and with ease.

Virtual Assistant Types

The following are the different types of Conversational Virtual Assistants supported by the XO Platform:

Standard Assistants

Standard VAs are the most common type of Virtual Assistants. They allow you to create dialog, alert, action and information tasks, as well as knowledge graphs, as well as flows that map one task to another. Please refer to Defining a Standard VA for details.

Universal Assistants

Universal bots facilitate a scalable, modular approach to Virtual Assistant building by helping you link several of them into one. The universal bot executes all the tasks and functions of the linked VAs by routing the relevant utterances to them. Once you publish a universal bot, changes made in the linked VAs automatically reflect in the universal bot. As a creator or developer of a universal bot, you can add multiple VAs (published and configured) to the universal bot and access their underlying tasks and functions. When you publish a universal bot, the end users can only access the tasks that are published in the linked VAs. For more information, refer to Defining Universal Bots.

Smart Bots

Smart Bots allow enterprises to build Virtual Assistants centrally and allow various teams within the enterprise to reuse and extend the VA configurations to suit their requirements. Smart Bots expedite the Virtual Assistant building process by allowing new bots to inherit the configuration and tasks of pre-defined virtual assistants. For more information, refer to Defining Smart Bots.

VA Templates

You can install one or more fully functional, end-to-end template-based VAs from the Bot Template Store, then customize and publish to understand how to configure Virtual Assistants. For more information, refer to Store.