Sofia Platform
Sofia Conversational AI Platform implements the "3 Block Concept" that allows users to build complex conversational AI systems in much shorter development cycles and maintain them with less effort. The graphical interface of the platform allows users to build conversational AI systems by dragging and dropping sub conversation modules into the design plane.
01
Build Sub Conversations Easily
Predefined NLUs, fact based NLG, non-linear fallbacks, complex boolean expression based branching and the flexibility introduced by the processing pipeline give the developers an unprecedented convenience to model mini conversational scenarios. They can then graphically connect these mini conversations to create a complex conversation flow easily.
02
Automated Conversational Flow Management
Common conversational scenarios such as rephrasing, handling self correcting related queries from users and more are handled automatically with options to customize. This eliminates a lot of unnecessary states being manually configured in a complex conversational AI use case.
03
Cutting Edge Deep NLG
Some of the scenarios that fall outside the happy path can be handled through Deep Natural Language Generation (NLG) techniques. This significantly reduces unnecessary branches of the conversation flow being manually configured. Each sub conversation is equipped with independently configurable NLG capability. The NLG module generates responses for user queries, looking at a configured knowledge base (configured as a paragraph with facts) and the user queries. We moved steps ahead from Deep Neural Network (DNN) based traditional comprehension tasks that will pick sentence fragments from a paragraph, by generating responses combining both the query and the facts (found from the paragraph) and finally gluing them together with new words. This provides a complete answer to user queries.

04
Sofia Markup Language (SoML)
In any conversational automation design, developers deal with three key aspects apart from the conversation flow itself. These aspects are data, actions and front end representation of responses. When it comes to front end representations and actions, it includes graphical inputs and outputs in a web based virtual assistant, speech recognition and reproduction in a telephony-based conversation, and other automation tasks. Also, data can have complexities beyond traditional slot filling through entity extraction. To solve this problem, we introduce a new syntax layer to model conversation flows that brings data, actions and responses into one representation layer. Not only does it make the conversation AI development a lot smoother, but also you can develop one AI and deploy across multiple channels, not worrying to separately implement interfaces for different channels or to handle different form of actions and output representations in each channel.
05
Flexible Integrations
In our platform, there are two main methods to integrate a conversational AI system into a third-party system.
A. Webhook: In every sub conversation, a webhook can be configured to send data to a third party system or receive data to fill template responses (based on queries to a third-party system).
B. SDK: With our SDK, you can access the Data Layer as well as the AI. For conversational interactions, you can register events for getting responses and managing sessions. Data Layer can be queried to receive history of all conversations and captured data in a session.
