This is the fourth post in a series of posts discussing the results of my survey of a three of the well known chatbots engines and my observations while trying to build a conversational sentiment-aware chatbot using them.
Wit.ai
Wit.ai was acquired by Facebook in 2015. Wit.ai is an NLP based chatbot development platform that supports many languages and is offered as a hosted service.
Labeeb Wit.ai Architecture
Labeeb Wit.ai Architecture
Since Wit.ai is proprietary technology there is not much published information about its architecture. Also, Wit.ai provides only NLU and it doesn’t provide any of the features of Dialog Management. Programming interfaces for Wit.ai are available in JavaScript and Python.
Labeeb built on top of Wit.ai is composed of:
- Set of training examples for different entities that include all intents as well because Wit.ai doesn’t distinguish intents from entities.
- Http Service running on Express HTTP Server listening to call back from Facebook Messenger input channel.
- Custom Dialog Management which figures out what is the best response out of a set of utterances based on where we are in the dialog and what is recognized intent. It also, when required, investigates the sentiment analysis sent along with the request and customizes the response accordingly.
- Facebook connector: responsible for registering webhooks, verifying request signature to make sure it is coming from an authentic source and for processing incoming messages from Facebook Messenger.
Machine Learning
Not much is published about Machine Learning algorithms employed by Wit.ai to perform NLP/NLU.
Sentiment Analysis: again and similar to RASA Wit.ai doesn’t provide sentiment analysis, however, using Facebook Messenger as an input channel, which obviously very well supported, avails NLU service from Facebook AI, in such case an additional sentiment data node in the request message is sent by Facebook Messenger through webhook back to Labeeb Wit.ai based chatbot, I can then use this information to customize the response the bot is sending back.
Tooling
Wit.ai has a very nice web interface through which chatbot developer can easily train the NLU engine by providing examples and highlighting the entities and their values.
Wit.ai User Interface
Developers Support
According to Wit.ai website, Wit.ai service is used by 200,000 developers worldwide. Documentation is reasonable, searching “Wit.ai” + tutorial results in 10,900 hits compared to 6000 hits for a similar search for Rasa and approx. 96000 for searching for Dialogflow + Tutorial.
Integration
Wit.ai doesn’t provide ready connectors to any of the input channels however it provides Python, Node.JS, Ruby API’s in addition to Http endpoints.
Salam,
Leave a comment