The Sia chatbot is a cognitive conversation interface to execute any action within our Sia SaaS platform. A list of intents that we detect by providing sample questions from user when she asks a question, is the basis of any response. Sia detects intent by using q bayesian classifier and abd then defining slots that have to be filled to execute the associated action. For each slot Sia asks the user an extra question to assign a value to the given slot. If all needed slots are filled, we execute an action associated with this intent.

Solution

We wanted to develop our own bot rapidly and thus benchmarked our own solution against available APIs.
The result is an interface that allows users to define their own intents, slots and actions.
Word embedding and NLP, using the spaCy library, make the experience natural and fun.

The technology behind it

We use text classification and clustering to detect user intents and machine learning to predict best matches. Page, asset and category are slots that the user has to provide, with text used for questions and error message. In Meta section (“class Meta: “) under sentences is a list of sentences used to train classifier for intent detection.

Marcin Swiderski

Marcin Swiderski

Lead Product Engineer

Lead Developer Behind this AI Application:
Marcin Swiderski experienced senior application developer working with open source technologies such as linux, freebsd, python, postgresql, mysql, lucene.
Interested in distributed systems, databases and algorithms.