Natural Language Processing

Wit.ai

Wit.ai lets your app to understand language both textual and voice. Has two main components: intents and built-in structured data parser for many common entities like, date, location, email, message body, age, number, money and etc. 

Simple, powerful and fast growing SaaS. Good choice for the most chat bots applications.

LUIS.AI

Language Understanding Intelligent Service (LUIS). LUIS lets your app understand language, it is part of Microsoft Cognitive Service and uses machine learning methods to analyze sentences. 

Using Luis.ai is possible without any coding, though your app should understand the JSON data it produces.

spaCy.io

spaCy excels at large-scale information extraction tasks and is industrial-strength
natural language processing. It features non-destructive tokenization, syntax-driven sentence segmentation,
pre-trained word vector, named entity recognition, labelled dependency parsing. Currently spaCy.io supports English and German only.

Logic and Data Infrastructure

ElasticSearch

Wit.ai lets your app to understand language both textual and voice. Has two main components: intents and built-in structured data parser for many common entities like, date, location, email, message body, age, number, money and etc. 

Node.js

We use Node.js as our main web server for it's performance, robustness and ease of scalability. It handles all user generated data and works as a controller between AI services, database and performs all non trivial and trivial business logic.

noSQL/SQL DB

MongoDB or PostgreSQL are two main database systems we use to serve data to the chat bot applications we develop. The actual choice depends on particular case and in some cases both are used. Besides these Redis is used for caching, Pub/Sub and as a very-fast key/value store.