Data flow
High-level architecture
Voice-Calls flow
- Customer makes a phone call to telephone-exchange (Voice integrator)
- Speech is being sent to ASR system to turn it into text transcription.
- Text transcription is being sent to SentiOne Automate (gateway → admin → dialogs)
- Within SentiOne Automate, the transcription is being analysed by NLU system (modules: intentizer, name-service, duckling, sentiduck, keywords, nlu-facade, nlu-pipeline, ner-pl, tagger-pl, pcre, greetings_detector)
- Based on recognized intent and entities the dialog module decides what should be the response according to the FLOW of the bot.
- The response is being sent to Voice Integrator system and the pair of (Customer message, Bot Response) is being saved in SentiOne Listen & React (gateway → bot integration → refinery → slim-uploader → ElasticSearch - Communication between these components is realised with message passing system called RabbitMQ)
- The text response is being synthetized and turned to speech by TTS application
- Response is being played back to the customer on a phone line (Voice integrator)
Data flow diagram
Representation of this behaviour is presented on following data-flow diagram

Sequence diagram
Another representation of this behavior is presented on following sequence diagram

Text conversations flow
- Customer sends a message on one of the supported platforms (facebook, whatsapp, twitter, skype, custom webchat)
- Message is being delivered to dedicated bot handler application (skype-bot, facebook-bot, twitter-bot, whatsapp-bot etc.) using webhooks technology
- Text is being sent to SentiOne Automate (gateway → admin → dialogs)
- Within SentiOne Automate, the message is being analysed by NLU system (modules: intentizer, name-service, duckling, sentiduck, keywords, nlu-facade, nlu-pipeline, ner-pl, tagger-pl, pcre, greetings_detector)
- Based on recognized intent and entities the dialog module decides what should be the response according to the FLOW of the bot.
- The response is being sent to bot handler application and the pair of (Customer message, Bot Response) is being saved in SentiOne Listen & React (gateway → bot integration → refinery → slim-uploader → ElasticSearch - Communication between these components is realised with message passing system called RabbitMQ)
- Bot handler application sends response to the customer using API of particular source (Messenger API, Twitter API, Twilio etc.)
Updated about 1 year ago