Taking your chatbot to the next level

Using Natural Language Processing and knowledge bases

Gergely Havlicsek, Product Owner, g.havlicsek@mito.hu
August, 2020 · 5 min read

How can you evolve a chatbot?

Reacting to

certain

keywords

?

1on1

personalized

messages

There are two indespensable components

1. Natural Language Processing

To be able to understand users contextually

2. Knowledge base

Providing relevant, easily searched answers for a chatbot

What is Natural Language Processing?

NLP is a process where we recognize intents (verbs, activities that the user wants to do) and entities (content for the action that needs to be performed) from the user inputs, chat messages.

So structuring unstructured data and giving back useful information to the user, requires a systematic approach in each step of the process.

Intents

Intentions of the end-user, which are conveyed by the user to your bot.

1. Casual Intents

‘Hi’ or ‘Thanks for talking to me’

2. Business Intents

‘What are your opening times?’ or ‘Is parking free?’

Intent Samples

Use real discussions to train your bot besides manufactured and generated samples

Responses

Based on intent recognition the tone of voice and the flow is selected

How to use knowledge bases?

Knowledge base integration with chatbot systems can be done on different levels, determined by the needs and use cases. Starting with simple search queries for relevant data you can advance the capabilities of your knowledge base integration to reach higher levels.

Eventually combining the advantages of NLP and Knowledge Bases.

Fundamentals of effective knowledge bases

1. Properly functioning search system

2. Stable and effective backend storage system

3. Simple archive and categorization system

4. Good integration capabilities

5. Analytics and reports

What is our approach?

Be practical and scalable

We focus on topics suitable for NLP which then can be scaled with the help of a knowledge base.

NLP Model Training

Our own methodology of NLP training follows a step-by-step cyclical process which is similar to agile programming. We put strong emphasis on creating a stable working model at the start and improving on it throughout the life of the project.

A systematic approach

Every step has its own challenges and best practices, and we believe that a systematic approach can help us deliver the needed expertise at every step of the journey

But most importantly

NLP Model Training

Our own methodology of NLP training follows a step-by-step cyclical process which is similar to agile programming. We put strong emphasis on creating a stable working model at the start and improving on it throughout the life of the project.

Identify intents in advance

Differentiate between general/casual and business intents.

Train intents with original conversations

Otherwise train with manufactured utterances. Minimum 5, optimally 10 utterances.

Train - Converse - re-train

The feedback loop must continue in order to train your NLP models.

What can be expected?

1-3 months

Setup

Identification of 5 most common topics, which are most suitable for NLP

3-6 months

Iteration

Testing and iterating on original scope based on real conversations

6-12 months

Feature development

Enough data is available to re-cluster topics and iterate feature development roadmap

There are two indespensable components

Business

Are you operating a large scale customer service with main clusters of recurring questions / topics in high volume?

Technical

How easy is it to integrate a new solution to your customer journeys and potential business backend systems?

Why?

Easy to start and collect feedback

Highly scalable solution

A huge step towards 1on1 personalization

Would you like to learn more?

You can find everything in one place here: mitobot.io

Emese Bódi

Mesi is searching for minds and souls, loves a good CV and to chat with new people. Go ahead and find out!

Apply now!

Write us!

Write us!