Oracle Digital Assistant

Oracle Digital Assistant (ODA) is the platform I mostly used for my Chatbot testing. Overall, it is functional and easy to setup. Usually, this means I can configure and deploy Chatbot within a day or two. As with all platforms, there are pros and cons. This is a quick summary if you are interested in ODA.

What I Like

These are some features which I like the most.

  • Sample templates and tutorials to get started.
  • Easy integration to translation services.
  • Quick setup for some Channels integration like Teams and Web
  • Extension via web hook and custom components.
  • Versioning support
  • Easy switch of versions on different channels
What I would Like

This will be some common configuration which Chatbot platform should have for the future.

  • Languages without consideration to native or non native.
  • Configurable connection to REST API.
  • Configuration for login services.
  • Rich UI for chat messages.
  • More samples chat with REST custom components.
  • Configuration for map services, camera, QR scan or document storage.
  • Web SDK for PWA (Progressive Web App)

In summary, ODA serves well to setup Chatbot quickly without much fanfare if you are creating basic needs like knowledge base or technical support. However, you will require advanced technical knowledge to integrate different services to ODA as they are still quick code driven than configuration.

Chatbot and Responsive Web Design

There are many Chatbot options for different channels like Ms Teams, WhatsApp, WeChat or Web. Each channel have its characteristics and efforts to be displayed nicely. You can try to use responsive web design (RWD) if your Chatbot have a web version.

Why RWD for Chatbot

Building a Chatbot for all channels are impossible. As mentioned in Chatbot channel selection, web is usually the default preferred channel. Many devices can support web with the main browser like Chrome and Safari. Using RWD will help your Chatbot to display properly across different screensize. If you are evaluating Chatbot, you can include RWD support for web as a key criteria.

Omnichannel with RWD

Your user reach is also a key reason for RWD in your web. Since mobile devices is a key factor for user reach, you will find it time consuming to include mobile development in your roadmaps. RWD approach allows Chatbot to be standardise for omnichannel. This reduces your time to market and increases user reach globally without the need of specific channel.

A key consideration of Chatbot is to default web as your main channel. You must test the Chatbot web to be compatible with RWD. Combining these 2 approaches will help you ready your Chatbot to be used globally.

How to Create a Knowledge Base Chatbot

A very useful feature of Chatbot is to turn your user guide into an interactive knowledge base for users. In ODA (Oracle Digital Assistant), this is the QnA feature. You can even upload some popular translated version of your user guide into QnA.

For new users to your application, they are often lost on how to start using your application. Traditional approach is user guide or demo. Some will conduct training workshops. With COVID-19, this is not cost effective as we are not bound by location or timezone.

Building your Lexicon

A first step is to load your lexicon to Chatbot that will define the languages used for your application. The AI enabled Chatbot will learn with NLP (Natural Language Processing) to understand user queries. Lexicon serve as a baseline to set your application domain language. For example, booking can means orders or delivery in logistics domain.

Content Create in Chatbot

Once you define your lexicon, it is time to include the contents such as user guide into your Chatbot. These contents can even include cheatsheet, cookbook, sharepoint documents or SOP (Standard Operating Procedure). You will never get the desired results from the start. It is a progressive and continuous tweaking as you build your knowledge base in Chatbot.

Chatbot is changing the way we create our knowledge base. These AI enabled Chatbot will aim to understand smartly user queries and provide the best results. It is time you setup your content in Chatbot.

ODA Questions and Answers 101

In my continuation of ODA (Oracle Digital Assistant) testing, I managed to try out the QnA (Questions and Answers) together with Answer Intent. They was 2 separate features but having similar objective. QnA is certainly a time consuming feature to test. In the end, I had tried out Answer Intent because of a cryptic error for QnA. While these features are similar, I have yet to uncover any noticeable pros and cons over each other. More time will be required to uncover the characteristics of these features.

Configuration Process

QnA Configuration is easy for English language and tricky for Chinese language. Luckily, QnA have included Chinese. You will need to save the csv in UTF if you want to upload QnA correctly. Multilingual setup is still challenging and I hope that this will be a default seamless process in future. Surprisingly, Answer Intent seems more straightforward and easier to configure. I will need to evaluate further if it is worthwhile to convert QnA to Answer Intent.

Thoughts so Far

It is really convenient to setup your knowledge in your Chatbot. A lot of efforts will be required to digitise these knowledge into QnA or Answer Intent. However, I still find these features to be too technical for business users. Moving forward, these features could be maintained separately by customer experience (CX) team who are less technically inclined. It is also difficult to configure multi languages as these needs to be separately and setup individually as a language rather than a product view.

QnA and Answer Intent should be a layman features. These should be built to be maintained by CX team and to be integrated by developers. We will expect to see these features separated in future.

Why Translation Services for ODA

In my previous post, I have been testing on different languages with ODA using native language. While testing non native languages with translation service, I had found out a major constraint with ODA. You cannot mix native and translation type in a single skills or digital assistant. This is a big concern if your Chatbot is to be deployed for multiple sites across different countries.

Constraint of Native and Translation in ODA

When you cannot mix native and translation, it means you will need to choose a single type. These are the constraints that force you to choose a type.

  • You cannot version skill from native to translation type.
  • You cannot clone skill with native language to translation type.
  • Digital Assistant cannot include skills with native and translation type.
  • A channel cannot only be used for a single external bot. This means 2 Bots needs to be created for native and translation type.
  • You cannot export skill to switch from native to translation type.
Translation Choice

If you are engaging users globally, do not waste time to test the native version. Instead, you must choose the translation choice by default. Do set the language to the most commonly used for your non native language. Be assured that translation choice can also identify native languages. The only drawback is that ODA will need to detect the language type. In addition, you will need to update resource bundles for different languages to be accurate.

Overall, the language selection is clearcut. You cannot set English and use translation service at the same time. Once you identify the need for non native languages, you must use translation option.

Chatbot Native or Translated Languages

Today I encounter an interesting concept with ODA (Oracle Digital Assistant) Chatbot with native or translation languages support. A key part of Chatbot is NLP (Natural Language Processing). This is viewed in two ways in the IT world either natively or translated form.

Why Native Language Support

By default, do use Chatbot native language support. You should only switch to translation services if you cannot find your desired languages. Native support provide trained NLP model. The chat is interpreted in its native language rather than the standard one. Thus, the type of native language must be decided when you are going to design your Chatbot.

Handling Translated Language

If the option of native language option is not available, you have no choice but to use translation services. However, translation services are highly unreliable. Instead, you must factor efforts to setup your language pack to translate some of your texts properly . Do consider to maintain and update these language pack for different types of language sub-type if you are going global e.g. zh-cn, zh-tw.

In summary, a major efforts for your Chatbot will involve languages localisation. Do check the type of language support for your Chatbot. Although translation services is convenient, it is still unreliable and efforts are needed to maintain accurate translated texts.

Self Service with Chatbot

Self service technologies are getting popular with COVID-19 pandemic. This is due to a demand on contactless services. Imagine calling customer service and being put on hold for a long time “Customer service is busy…”. This brings a lot of dissatisfaction to customers. This is why many business are moving towards a self service approach using Chatbot.

How to Self Service with Chatbot

In face to face customer service, there are usually a few types of intentions. Enquiries, service requests and complaints are the key ones. Thus, you can implement such intents into your Chatbot. FAQ (Frequently Asked Questions) can be supplemented for enquiries. Preliminary input gathering can be done for services requests and complaints before engaging live chat.


Chat application is user friendly and intuitive for all groups of users. You can reduce costly complaints page and focus on developing complaint Chatbot. Subsequently, majority of common enquiries can be handled by your FAQ Chatbot. This improve your customer service responses with specific requests.

The time is ripe to invest in your Chatbot and reduce reliance in your old complaint web page or feedback form. The Chatbot will enhance your customer service with self service. Overall, this will greatly improve your customer satisfaction.

Chatbot Channels Selection

This is a continuation on the exploration of Chatbot channels. Microsoft Teams (msteams) development are based on their own adaptive cards concepts while other channels have its own characteristics. After testing a few channels, I concluded that it will be exhaustive for organisations to cover across multiple channels. This is a quick guide for you to select the 3 channels.

Top 3 Channels to Start Your Bot

I reviewed a few channels like Teams, Telegram, Web, WeChat and Facebook. These are the top 3 channels that your organisations can kickstart your Chatbot development.

  1. Web
  2. Teams
  3. Telegram

Web is the easiest as it using existing web page to embed your Chatbot. Thus, you just need to be web ready to do your bot development. Teams is selected because it is the default organisation chat application. You can replace this with other channels if your organisation is using other chat application. Lastly, the commercial and most popular Telegram is very bot friendly. This is why you can find many Telegram channel is adopted.

POC Bot Channels

It is recommended to POC (Proof of Concept) your bot channels before investing in your bot development. All channels have its strength and weakness. What works for your competitors may not work for you. The learning curve may be steep at first. Once you get the hang of your channel characteristics, it is quite simple to proceed with your bot.

Overall, channels selection can be quite tricky. If you pick the wrong channel, you will be stuck with your suck cost in bot development. This is why many switch their bot channels accordingly. Web is the standard and most easy to start. Subsequent choice will depends on your organisation default chat. To external users, the bot channel choice will be the most popular chat used in your region.

Utterances and Intent for ODA

In chatbot development, you will find many new concepts that is pretty foreign to IT. One of the concept I encountered in Oracle Digital Assistant (ODA) is utterances and intent. For bot developer, NLP is essential for a good design.

Intents are comprised of permutations of typical user requests and statements, which are also referred to as utterances.

Docs Oracle
Building up your Utterances

Utterances will need time and effort to gain a rich set. This is to handle ambiguous user input that really meant the same time. E.g. “I wan to find my order” or “check my booking” will be the same thing but expressed differently. You may want to consider having engaging diverse group of users if your Chatbot is used in these locations.

Train and Test

ODA provide a feature to train and test your intents. This concept will be similar for all bot i.e. the ability to learn from a seeding set of utterances. Be prepared because you will need a lot of man hours to achieve a steady set of intents and utterances. Thus, you will need to setup your test cases and automate your test runs.

Chatbot development is about NLP and a lot of testing. Intents and utterances are some of new concepts in ODA. It is likely that similar concepts can be found in all Chatbot platform for configuring your bot and NLP.

Chatbot Development

Chatbot developers will be a new breed of developers equipped with technical and social skills. After all, chat is a language based UI. Unlike typical development, Chatbot development needs constant tweaking and modification to improve bot behaviours. Chatbot developers are also required to understand social behaviour and interactions.


Coming from traditional software background, I soon realise that I will need to discard my old views of UI to develop Chatbot effectively. Your bot platform should seamlessly recognise different queries naturally and combine that information to provide and answers. It is like a conversational approach to address or solve a user query. Technically, this is called natural language processing (NLP).

Chatbot must Agile

Chatbot development must adopt Agile to deploy your bot effectively. Afterall, language comes in different flavours. It is difficult to anticipate your user responses if they are coming from diverse backgrounds and geographical locations. It is recommended to target your bot development using a fixed architecture that enable localisation deployment. This way, you can Agile your bot for different variety of products and users.

If you are starting your bot journey, it is time to approach your chatbot development approach with a different view. You will be expected to adopt NLP using Agile methods.