About Katie

The core of Katie

A lot of knowledge only exists in the minds of people (e.g. employees of a company), neither documented nor shared otherwise, whereas many people are sharing their knowledge on channels such as Slack, Discord, MS Teams, Mailing lists, .... Katie learns from these human conversations and makes this previously untapped knowledge accessible, for example by detecting and answering duplicated questions on the same or other channels.



Basic Flow

About integration with communication platforms

Katie is a turn-key solution, which can be easily integrated with chat, email or any other form of communication.

Add to Slack 

About integration inside a mobile app

Katie provides a mobile SDK (Android and iOS), such that it can be easily integrated with any mobile app. The advantage of a personalized app is, that the user does not have to necessarily provide contact information, such as for example an email address, because the app itself with a unique identifier can be considered the contact (for example using websockets).

What is the difference between Katie and a chatbot

Katie is not a chatbot, but you can integrate Katie with chatbots.

Katie answers questions using artificial and natural intelligence, but it is currently not intended for conversations. Natural conversations are much more complex than just detecting duplicated questions. Simple dialogs with clear intents, such as for example a restaurant reservation or initiate a phone call, work quite well already, but more complex conversations are much more difficult and users become frustrated and will eventually stop trying to have more complex conversations.

What is the difference between Katie and a conventional search engine

Katie lives inside human communication / collaboration channels, whereas the purpose of Katie is to learn and share knowledge.

Please find below a simple example


Detect questions

Recognize whether a "message/sentence" is a question or contains a question

Question classification

Detect similar questions

Checking whether a submitted question is similar to an already trained question/answer tuple and if matches, then return the previous answer

Original (previous) question: "What are the first names of Michael's mommy and daddy?"

Similar (current) question: "Can you tell me the names of Michael's father and mother?"

Intent recognition and NER

For example for questions like "How old is Michael?" which then allows us to execute queries (e.g. using SPARQL or SQL)

Intent "getAgeOf" and named entity Person="Michael": getAgeOf(Person) { return getYearsBetweenDates(currentDate, getDateOfBirth(Person));}

No answer available or exists

For example "When will Michael die?"

REST Interfaces



BDD Scenarios


Health check endpoint

Health check endpoint

Open Knowledge

See various examples of open knowledge bases here.

The integration of Cohere's Grounded QA is described here.