InteliWISE Chatbot Content Development | Engineer 2019

6 Steps for development enterprise-class AI Chatbot:

Content & Interaction Development Process

1. This document metrics

2. Introduction | Tools and Timetable

This document describes the content - building process of the InteliWISE AI - Chatbot and its integration with Live Chat and other IT systems. Chatbot is an AI - powered software that mimics the human conversation and enables up to 100% automation of question - response format. Please read more at https://inteliwise.com/products/ai/chatbot/

Conversational features

Our Chatbot has advanced Conversational features that are managed with tools:

The entire InteliWISE platform provides a powerful combination of AI-powered, intelligent Chatbot automation solution, with live-assisted, omni-channel customer support solutions (helpline/ toll - free number, contact form, live chat, video chat).

What are the Administration & Content Tools available?

There is a number of tools which are used by InteliWISE systems to build Chatbot’s content:

What is the example of Timetable for bigger enterprise projects?

InteliWISE will deliver the following Integration, Customization Services and Solutions during the Initial Term and any Renewal Term:

3. ‘6-step’ approach to developing Content & interaction with AI-Engineer Builder

STEP 1: Account & User interface

The set-up of the AI-Chatbot is intuitive and starts with the Account set-up in the Panel.

It’s available at https://newpanel.inteliwise.com/

The welcome screen offers the selection of solutions, incl. Chatbot or Live Chat.

The typical first step is the configuration of User Interface. It largely depends on where Chatbot operates - there is a broad selection:

  • Web page (Chatbot in the form of widget, pop-up, search box)
  • Messenger and Social Media
  • Mobile app
  • SMS
  • Mailing.

90% of deployments are used in 2 categories: Web page and Facebook Messenger.

Examples of user interface / widgets:

In the user interface, a text input field enables asking manual questions, presents a list of most popular questions and also related topics. It handles misspellings and grammar errors as well. If it is unable to answer the question it provides a “don’t know” message and gives one the ability to rephrase your question or connect to the Live Chat operator for further assistance.

Example of Facebook Messenger UI:

How to set up the user interface

Web page user interface: rich HTML5 communication module. It is fully programmable in the Panel.

The position of the tab is set up here:

What are available features of UI settings

STEP 2: Developing Content & NLP Training

How to prepare source content - what is needed from the brand’s team to start

The ‘6-Step’ Content development can be run by InteliWISE professional services team or our partner’s team. Both options were tested in numerous projects.

The example of process including the manual content development is presented below.

The raw / basic content for future Chatbot us can be delivered by company’s team in numerous forms, incl.

  • FAQ from website

  • the history / feeds of previous user searches on a the company’s site

    • Website statistics
  • Internal company dictionaries

    • Presentations
  • Employees remarks

  • E-mails from the clients

The content can be unstructured. The team will build a structure of the knowledge tree, a knowledge base, Chatbot right answers.

Kick-off | Manual vs. (semi) automated process

Leading brands nowadays have high requirements regarding the quality of Chatbot interaction and query handling. They result in significant amount of manual work needed.

The truly conversational agent is a mixture of pre - populated responses, programmed dialogs, knowledge bases and AI capabilities - all of them need to be controlled, supervised by human specialized workforce.

There are 3 approaches to programming Chatbot interactions:

Manual content development

The existing customers FAQs, scripts, online content can be used for generating the basic material for developing customized knowledge base of automated Q&A. The content development team deploys knowledge bases with the use of tools, including InteliWISE AI Engineer builder. The process is described in manuals.

Automated- and Semi-Automated Content building (Optional)

Initial Q&A base can be developed with the use of automated tools. They provide for automatic content tagging and clustering of content. Our knowledge tools automatically tag and cluster any existing knowledge sets. It can be set up in structured ways (by initially assigning defined categories), and then the remaining matching categories, clustering and matching is hidden behind our internal mechanisms.

Process of clustering is distributed on many dictionaries and depends on their structure and completeness – so extending dictionaries and improving them in time is a part of knowledge augmentation process.

The most popular dictionaries are:

  • prefixes

  • synonyms

  • correctional (typo correction) dictionaries.

Welcome messages and greetings.

Welcome messages are the first messages or greetings that show up in the Chatbot User Interface (UI).

They are triggered by so called Engagement Triggers.

The entire configuration is set up in the Panel tool.

Balloons are like flags. You can instantly flag draw users attention to chat window, without starting a chat with live agent.

The look & feel section in the admin panel

In the admin panel, we can choose the location of your chat window (widget) and it’s branding, colors and avatar

There are four types four types widget to choose: side tab, bottom tab, embedded and overlay.

For each of them, you can customize:

  • avatar’s picture, name and title

  • tab label

  • theme and color

How to develop Conversations (and how the NLP works).

InteliWISE provides all the necessary tools to build and deliver intelligent, enterprise - class Conversational Agents (CA), also called AI Chatbots. Our comprehensive platform enables to understand user intents and respond with natural feel. It is powered by several powerful machine learning technologies and a combination of multiple knowledge sources.

The foundation of those technologies run on the Natural Language Processing (NLP) - the industry-leading tech used today as a man-machine interface. In a nutshell, it translates text or spoken user questions into actionable responses or actions.

The platform is powered by hybrid NLP intelligent automation technology, that combines

  • the full predictability and control of US-patented, InteliWISE rule based NLP,

  • with the

scalability of the Machine Learning (ML) approach

.

This combined approach guarantees top-of-class quality of language understanding (intent, query) and faster and more cost-effective process of Chatbot training.

In particular, our Agents, or Chatbots are capable of:

  • Categorizing user intent - understanding the true meaning of customer’s question,
  • Responding - answer in a fully automatic mode to customer question,
  • Running the virtual dialog - keep the flow of conversation with user, just like the live representative would do.

Our Conversational AI platform provides comprehensive tools for managing Agents (Chatbots), including:

  • Creating (developing) Chatbots from scratch, with its content, user interface, personalities,
  • Managing (content editing and authoring), maintaining and providing Chatbots as a service or on-premise,
  • Testing and Publishing Chatbots,
  • Analyzing, improving Chatbots post-launch performance, self-learning and teaching.

How is the Content structured | Elements of NLP Builder

The InteliWISE key tool for configuring NLP is called the AI Engineer (Engineer, Content Builder, Builder). It enables any team to develop and manage content, including gathering alternate questions, building actionable responses and programming the rule-based, virtual dialog (conversation).

The basic flow of interaction usually covers:

  1. User (customer) is typing question (intent) - providing an input,
  2. The InteliWISE Engine is processing this input,
  3. The Engine is providing the response to user.

The key Chatbot content is structured in 4 hierarchical categories:

A. The Knowledge Base: dedicated content, covers all initial and alternate user questions and intents about company and all the responses - the information about products, offers, company; it may also entail small talk base,

B. Labels: describing categories (or the nature) of Q&A matching,

C. Q&R Groups Matching,  

D. Virtual Dialog (Conversation).

Here’s short description of those key elements.

A. The Knowledge Base covers the content of Chatbot’s knowledge and behavior. It may consist of:

a. The Brand’s (Main) Knowledge Base: covers dedicated content in the form of Questions and Responses, covers topics of a given company or organization.

There are usually tens or hundreds of different ways to express a certain customer intent. The idea behind this type of automated solution is that lots of user questions repeat and conversations are very similar.

Based on the customer’s intent (text or voice input) and the data that is associated with the intent (called entities), the system uses rules and generate scripted responses.

b. Small talk Base (chit-chat): a knowledge base that consists questions, responses and other content that adds distinctive personality to company’s Chatbot. It enables responding to questions not related to specific brand’s or organizational knowledge, but sometimes enhances the personality of a particular Chatbot. Adding Small Talk to your Agent makes it more conversational and engaging.

c. Dynamic Responses Base: contains greetings, query-miss or fall - back responses like (“I don’t know”),

d. Dictionaries have content that enables better query recognition, including synonyms, prefixes and corrections.

The Main Knowledge is responsible for intent matching. Whenever the question is asked (via input), the Engine is trying to match it to a best found response.

Dictionaries are a specific type of knowledge base. Dictionaries are vastly contributing to intent recognition process. They may cover:

  • Generic (Global) synonyms,

  • Company’s (Brand’s) synonyms,

  • Prefixes (Intents),

  • Correction,

  • Language corpus.

Elements located in Dictionaries have high importance: they are searched in parallel with the Main Base or Small Talk Base when user inputs the utterance.

Generic (Global) synonyms

Dictionaries of generic synonyms are closely related words with the same meaning. They do not refer to a specific brand’s verbiage. When user types “Cool shirt” dictionary of synonyms allows the system to see as many questions as there are synonyms, e.g. “Cool jersey”, “Cool blouse”, etc.

Examples of global synonyms:

Shirt = Blouse

Carriage = Transport

The Brand’s (Company’s) own synonyms

Every company may have its dedicated group of synonyms - for its product names, patents, verbiage. It helps to match proprietary names and language with how consumers name it. It’s not shared with other companies.

Examples of Main synonyms:

Chatbot | Virtual Chatbot = VA

code = embed code

Prefixes (Intents)

Prefixes are part of Intents - they usually open up a user utterance. Prefixes are universal and allow to reduce the amount of questions in a given group of “question-response” matching.

Examples of prefixes:

I want to buy = I want to make an order

What’s in the offer = What is the offer of your company

Corrections

Correction dictionaries contain groups of words that are intended to support typos, errors in form and grammar. Their role is to support understanding of the question, whenever user misspells. This dictionary is different from the ones with synonyms and prefixes, because the main or grouping expression always has to be a correct one that exists in the base.

Examples of corrections:

Alot = A lot

Goodmonring = Good morning

Language corpus

Language corpus is a large and structured set of text, words. They are used to do statistical analysis and hypothesis testing, checking occurrences or validating linguistic rules within a specific language territory. The AI-Engineer tool uses language corpuses in natural language processing algorithms. Unlike synonym dictionaries and prefixes, they come pre-set, without the ability of content edit from the level of the Builder tool.

B. Labels | Tags | Intents

Labels are groups of similar content.

The role of Labels is to provide a structure for the entire content, to tag (specify) the subject of the knowledge. In the content development process they help content engineers to figure out where in the knowledge tree a given intent is located. Labels do not have any influence on how the matching is being performed.

C. Groups of “question-response” matching (Spiders)

Groups of “question-response” matching (informally called ‘spiders’) are the lowest level of Chatbot’s knowledge categorization. Their role is to match the true user input (intent) with the most accurate response from the knowledge base. If the intent is recognized, the right response from the ‘spider’ association will be delivered in text or read by the Chatbot.

D. Virtual Dialog | Conversation

Chatbots are capable of running virtual conversations, which mimic the natural feel. This feature is called the Virtual Dialog (Conversation) feature. Please see how to build dialog in the next chapters

How to add questions and responses, build intents

  1. Starting with the structure, building Labels with questions and responses

Developing content starts with defining structure, then labels, then designing conversational flow.

Defining Labels in Chatbots can be compared to building sitemap for a website. They create the initial structure for the Chatbot’s content. They are essential, because if they are structured well from the start, it’s easier to build up content, and scale up the Chatbot.

Creating knowledge tree should be started by defining the areas of knowledge – from general to specific topics.

Example of a intent:

Company / Contact / Address

Each label covers a specific part of knowledge. A given label can have few matching groups however if one would like to fully control the Chatbot’s knowledge one should create and use detailed intents.

For example:

Such an approach will lead to a situation in which every matching group has its own, unique intent. It allows a Knowledge Base to be flexible and transparent.

  1. Building with the use of Templates (segment-specific predefined knowledge bases)

Some companies, due to the nature of the services they provide, have a similar scope of knowledge base construction. In order to meet such situations, we get the opportunity to use the ready-made “knowledge bases” of the base, characteristic of individual enterprises. Thanks to this, client (eg banking or financial) can take advantage of the ready template, substituting his answers to the formula and will be able to see how the correct structure of the knowledge base looks like.

  1. Training: Creating groups of “question-response” matching

When a knowledge tree is ready one can start to create groups of “question-response” matching and assign them to particular intents. These steps are actually an essence of building a knowledge base content. It’s a process of learning an Chatbot – when and what should he say.

To create a group of matching one should consider the purpose of it – what response do one want a user to receive. Then one should create a intent for a newly created, empty group. Next steps are: adding an response and adding questions in the highest amount possible. It should be done in that order, because questions should result from the response’s content.

one can create few synonymous responses as an exception, but only if one want the Chatbot to repeat itself. If a given association group has few responses and user asks a question that will eventually lead to that group system will randomly choose any of those responses.

It is recommended to add different ways of asking the question – even incorrect ones. Such an approach minimizes a risk of a situation in which Chatbot does not know what to say. one should remember that questions should not repeat themselves in a range of one knowledge base, because system won’t be sure which of the responses should be given so he chooses one randomly after a moment. one should take into consideration which prefix and synonym groups were created in the past so that the base uses in them in an optimal way.

Each question can be marked with the following flags:

  • SUGGESTED flag – question will be displayed as a suggestion after the group

is connected to the linear dialog,

  • AUTOCOMPLETE flag – question that will display as a suggested one in the auto-complete window,
  • SUGGESTED NON-NLP flag – question will be displayed as a suggestion after

the group is connected to the linear dialog, however it WILL NOT be recognized by the algorithm outside a given linear dialog (recognition will be only available in the given place of linear dialog).

  • FAQ flag - the marked question will be displayed on the list of the most popular topics

A good example of creating a group of matching will be ‘Company’ intents. Let’s assume that among many existing matching groups connected with this intent someone noticed a lack of information concerning actual contact details.

Do as follows:

  1. Create empty “question-response” group under appropriate and newly created intents, for example Company / Contact

  2. Add the following response:

Thanks for reaching out. Please choose how you want to contact us.”

  1. Add the following questions (examples):

Company address

Contact details

Can you give me a phone number?

Are you in NY?

Contact sales

  1. Mark selected questions with proper flags:

Contact  [SUGGESTED]

Contact InteliWISE

[AUTOCOMPLETE, FAQ]

  1. Defining brand’s own keywords and phrases

Keywords are single words in the knowledge base with boosted weight over 100%. We can control the operation of the knowledge base by giving different weights to the keywords – from 100 to 10000%.

In the example above the keyword “ROI” was defined with maximum weight 10000%. It means that every user’s question containing this word will lead to response from this group.

We can define many different keywords in one “question-response” group leading to the same response.

Note! Keywords cannot repeat itself in the range of a given base.

The weight boost applies to every word in the question we entered – that’s why we can only use one word keywords.

In the case where we need to define the keyword phrase containing two or more words, we have to use encapsulation and create the unique abbreviation in the Main synonym base (check 2.5. Defining Main synonyms).

For example:

Financial report = finrep

After creating such abbreviation we can add it as a normal question with boosted weight:

Below one can find the result – the question containing encapsulated “financial report” phrase leads to the correct response:

  1. Defining brand’s own synonyms’ library

Each brand or institution has its proprietary / specific names, terms or trademarks, thus it needs a specific verbiage. This is the reason why for every newly created knowledge base it is recommended to create a new, dedicated dictionary of synonyms which will be only used by a given brand or organization. An example of group of synonyms for the example provided above is:

account = panel account = panel profile = profile

Handling exceptions (incl. ‘query miss’) and hand-overs

The NLP system is not capable to provide automated answers to some users’ utterances. The system has different modes of how to react to requests that are not understood (i.e. ‘don’t knows’). This action is triggered when predicted score for the answer falls below a certain threshold.

The main fall-back (escalation) options are:

Escalating to a pre-programmed response, optionally with a clarifying scenario

This type of reaction is defined in the same way as a simple response (in the Template window). The suggested topics are questions from the knowledge base entered in the desired order in the Suggested questions window.

From the user’s side it’s visible as a linear dialogue (scenario):

Escalation to a chat with Live Agent

Please see STEP : Integrations for this option

Process of supporting multiple language

Two approaches as recommended:

a/ Providing full NLP with language model, incl. application of full semantic analysis of queries, dictionaries and databases of ready-made responses in a given language

This is now available for selected languages, incl English, Polish, Spanish;

b/ Machine translation service

Use of a combination of automatic translators and dedicated semantics:

(a) Each user input is translated into knowledge base language e.g. from Spanish into English,

(b) then user input is processed internally as usual, but all system outputs are back translated to the user language e.g. from English into Spanish. Such solution operates only 10-15% less reliable than originally translated knowledge base. There is no time waste for translation services, no time spent on setting up the services - all works on the same knowledge base serviced in one language and serves support in multiple languages (as many as needed).

AOB

STEP 3: Integrations (incl. Live Chat, Call Center and Tickets)

In a hand-over scenario, in other words when Chatbot is NOT able to provide an actionable response, it can be programmed to escalate the conversation, which includes more complex issues, to a live agent (on live chat, on call, on email).

In a numerous, successful web self-service projects, any virtual conversation can be escalated to a Live Operator, via an assisting, seamlessly integrated live chat functionality.

Knowledge Base is utilized by users for self-service. It can address most common and less complex questions. However there are situations which require human interaction. Thus, Inteliwise System also provides seamless switch between Virtual Agent (automated solution) and Live Chat operator (human being). The conversation can be switched between Knowledge Base and Live operator many times, as well as transferred between multiple operators.

The Live operator is also able to search through the Knowledge Base for faster responses. The system even enables the operator to manually switch the conversation back to the Virtual Agent (Knowledge Base) if the topic is well covered by the Automated Solution.

Escalation to a chat with Live Agent

The virtual chat with a Chatbot can be patched to a live person, that can take over the conversation and provide adequate support.

If none of the operators is logged into the console, we can display the defined response along with the suggested topics (as in sub-point a).

Escalation to contact form (ticket)

The administration panel allows one to configure many scripts and forms that can be called from within the InteliWISE AI-Engineer Content Builder as a reaction to the lack of response.

Below one can find the example with Contact form:

Integration with external knowledge sources (i.e. search engines)

The Chatbot can reach out to external sources, incl. web search engines, to provide a response that could be the closest match.

In this case, Chatbot presents a list of (search engine) results, instead of one single (Chatbot) response.

What are the available features for integration with live agent tools

How to integrate Chatbot with other IT systems

Chatbots can be integrated with CRM, ERP, HR and other systems - please refer to technical documentation on https://inteliwise.com/resources/technology/

For feasibility analysis please talk to us

support@inteliwise.com

STEP 4: Developing Conversations: Virtual Dialogs and Scenarios

The virtual conversation can be designed in the Builder, by connect dialog points and Questions and Responses. We can create dialogue driven paths, react to ‘don’t knows’ depending on path position or lock user on pre-designed path and do not allow him/her to skip it. All dialogue variants are defined as the span on the cue points and allows for all direction paths between them. Suggestions can be built and fit in different dialogue position eg. stored question is “contact” or in-dialogue.

A flow of questions and responses can be designed around the specific business process.

The system enables to convert traditional FAQ or static search into virtual conversation. An example can be step - by - step guided workflows, or the “mapped” natural conversation.

Scenarios that are built correctly are beneficial for many reasons. First of all, they allow to control the user and the conversation conducted with the Chatbot. Additionally some users prefer just to click on questions rather than typing them from the keyboard. Therefore, a well thought out scenario that displays context hints is crucial when it comes to user satisfaction.

For example, if the users types in ‘contact you’ we do not direct him to one of the form of contact – we suggest one of the following forms: office address, live operator, contact form, etc.

Clients often create scenarios in order to control potential buyers. Our Client can decide which option should be offered to the user in order to achieve a specific target. When client asks for a specific product – in next steps we can offer familiarizing with pricing, deals or entering the online store.

STEP 5: Diagnostic, Training & Testing

Standard (manual) testing

Testing can be carried out directly in the InteliWISE AI-Engineer Content Builder tool in the interlocution / interaction section. The diagnostic tools allow to ask questions of the Chatbot | Virtual Chatbot and get responses in the same way as in the module on the website. However, this tool allows one to additionally view the processes that take place in the NLP engine. Observed algorithms are processing of synonyms, prefixes, corrections, variations by number, type, cases, time, etc.

The “Debug” section allows one to analyze the processing of a specific query and improve its recognition.

Self-learning | Supervised training mode

For enterprise-class deployments, we strictly recommend the use of Machine Learning methods in manned (supervised) mode. This is because corporate language and culture require maximum level of quality of customer service handling.

The ML training approach in InteliWISE uses the natural language processing tool for intent classification and entity extraction. It’s based on leading-edge open-source.

Based on user utterances (historic transcripts of customer questions) and training phrases from InteliWISE NLP, system makes suggestions for the operator about the response that fit best.

Knowledge engineer, responsible for the knowledge base, also can dismiss the suggestion or correct the query miss with his own response.

For detailed training please talk to us

support@inteliwise.com

STEP 6: Launch & Post-launch Improving quality of conversation

What Reporting / Analytics is available

The InteliWISE performance reporting tools provide critical customer information, including the full transcript on exactly what your customers are talking about – and how. All the reporting is presented in the web-based Control Panel. The access to the Panel and Dashboard is given to our customers, or InteliWISE team sends the reports in the form of e-mails. The performance monitoring can also be integrated with Contact Center Solution, or other systems, that would enable monitoring of important customer information from Virtual Agent without leaving company’s preferred analytic systems.

Our reporting tool will report on information like:

  • What exactly did customers ask for?
  • How they formulated questions in their words?
  • For which questions they did not find answers on site?
  • Interaction recording (chat history) - one can review any of the past conversations. Although it provides a lot of useful information, going through all of the conversations may be a very time-consuming task.
  • Feedback management - the list of questions that have been asked most frequently. This information lets one evaluate what the customers are interested in and which knowledge areas should be expanded and enhanced. Users’ queries that have not been recognized by the system are listed in the “Missed Questions” section. It is an invaluable source of information in terms of continuous expanding and improving of your Virtual Agent’s knowledge.
  • Escalation management - the performance of scripts having live chat invitation included shows escalation between Virtual Agent and Live Chat operator. Integration with external analytic systems.

Selected views from our Reporting module is presented below:

InteliWISE reporting and statistics tools can be integrated with other systems, that would enable monitoring of important customer information from Virtual Agent without leaving company’s preferred analytic systems.

What are available data / KPI in reporting

How to perfection / refinement of the Chatbot after launch

Based on analysis of reporting, the content is being refined in the form of:

Supervised Learning (semi-automated)

For enhanced training, InteliWISE offers NLP tools that enables automated classification of intents and entities (based on Machine Learning).

This technology offers:

  • a natural language processing tool for intent classification and entity extraction in chatbots
  • advantages are:
    • You don’t have to hand over all your training data to Google, Microsoft, Amazon, or Facebook
    • You can tweak and customize models for your training data
    • You don’t have to make an extra network request for every message that comes in.

Training with intelligent tools

  1. Loading the system with the batch of questions and responses, that IntelWISE NLP had processed before,
  2. The load is processed (lemmatized, cleaned),
  3. The Model is being trained,
  4. The model is loaded with the list of Query Miss (unresponded questions),
  5. The model generates the best matching responses (up to 3 responses) with the matching ratio.

Looking for Unrecognized utterance (Query Miss, unresponded questions)

Training is performed.

ML Engine is also providing a ’Dismiss’ suggestion to utterances that are not relevant to the model.

ML Engine is delivering suggested matches, with the Accuracy % ratio.

The context of the matched suggestion is shown. It helps to precisely train the model.

The knowledge expert now is asked to confirm the suggestion from the match.

4. Best practices | Tips | Troubleshooting

Chatbot are designed to respond with increasing accuracy with time. To enjoy the increasing quality of Chatbot performance, there’s a need for continuous control and supervision. Main feature of the knowledge base is that it’s flexible – every element can (and sometimes should) be changed at any given moment – it can be deleted, expanded, etc. It implies that one has to know some general rules for editing and servicing Q&A Knowledge Bases.

Basic tips

Tips concerning questions

  • Before one add a question – make sure that no such question is already in the base,

  • Make sure than none of the already existing questions is synonymous to the one, one is about to add,

  • If one wants to create questions – use simple forms of the words in order to fully utilize prefixes and synonyms mechanics,

  • Each question should be associated with the answer,

  • Remember to flag one question if it is to be shown either on the auto-complete list or in related subjects,

  • Watch out for typos!

Tips concerning answers:

  • If one wants to add an answer that goes beyond the range of current base – create a new label,

  • New labels should create a logical entity with existing ones,

  • Create answers that are simple, understandable and concrete,

  • Respond with a complete sentence so it is clear what is the subject of the answer,

  • Each answer should be associated with at least question,

  • Use links in order to direct the user to chosen subpages of the website, on which one can find more information about the given subject,

  • Longer responses should be divided into paragraphs with
    ,

  • Watch out for typos!

One should remember that expanding a knowledge base in never a single action, but a sequence of steps.

Maintaining knowledge base is usually much harder than creating them from the scratch – especially if handled by a person that didn’t create a specific database. First of all one should not add new elements blindly. One should have a vast knowledge of a subject of the knowledge base and a general idea concerning prefixes, synonyms and correction dictionaries. Those elements make the base much more efficient and flexible, but also intensify its complexity.

Tips concerning Chatbot’s responses

If a question is recognized wrong (or even not recognized at all), the Chatbot will provide a wrong answer or does not respond at all. There are few ways to cope with those situations. First of all, one need to figure out the nature of the problem:

a) Chatbot provides a „don’t know” response;

b) Chatbot provides other response than it should;

c) Chatbot does not provide any response or it takes too much time;

a) Chatbot provides a „don’t know” response

Chatbot provides a ‘don’t know’ type of response if the system does not recognize the question and cannot be associated with information contained in the currently connected databases.

In such case one should always check whether the spelling of the processed question is correct. If the reason for the mistake is the spelling one should input that case into the correction dictionary.

If the question was written and formed correctly, another step would be to analyze synonyms and prefixes. It is possible that the vocabulary used in the question is not currently included in existing groups of synonyms and prefixes.

If the process of expending dictionaries that are mentioned above does not solve the problem one should add the analyzed question to the ‘question-answer’ association in the suitable area of the knowledge base

b) Chatbot provides other response than it should

Chatbot provides a different answer than it should when the system does not properly recognize the question, but it still tries to provide the right answer from current databases. The easiest way to cope with such a situation is to connect a troubling question to the already existing group of ‘question-answer’ associations. Of course, one can also create a new group and add the question to that group.

c) Chatbot does not provide any response or it takes too much time

If the Chatbot does not respond to the question or it takes too much time there probably exists a loop in the base or dictionaries. Beware of any duplicates, because they create a situation in which a system has few options with the same level of association and can have a problem with outputting the right answer.

5. Dictionary

Content unit, Knowledge Base unit

Group of ‘question-label-answer’ association is the lowest level of the Chatbot’s knowledge hierarchy. Whole system tries to match what the user typed in with a question that is already in the base. If the question is recognized, one of the answers from the spider association will be displayed and ready by the Chatbot.

Developing answers (responses)

The process of editing responses displayed by the system. Label trees in the world of Q&A Knowledge Bases are the equivalent of sitemaps. For each label we define a minimum amount of answer.

Conversation scenario (flow, dialog)

Designing connections between answers located in the Brand’s Knowledge Base. Those connections influence the list of subjects displayed along with the currently displayed response. They also allow one to prioritize the result of NLP search.

Personality / Elementary (Small - talk) Knowledge Base

This knowledge base contains all the answers connected with questions concerning Chatbot | Virtual Chatbot’s personality. Also referred to as Personality, Ego.

Brand’s Knowledge Base

Knowledge base that contains answers for all the questions concerning content provided by the client.

Customizing Behavioral (Chit-chat) Knowledge Base

It is the process of overwriting basic responses located in the Elementary Knowledge Base – concerning Chatbot | Virtual Chatbot identification data. For example: “What’s your name?” -> Standard: “My name is Chatbot | Virtual Chatbot” -> Customized answer: “My name is Kate.”

Conversation system

Conversation is one conducted ‘system-user’ conversation. The depth of the conversation stands for the number of questions asked by the user and the amount of answer provided by the system.