Services
UX & UI DesignAPI Development and IntegrationFront-End DevelopmentOnboardingTransactional Platforms
Client
Nedgroup Investments
Industries
Investment
Nedgroup Investments saw the potential of automation and robotics in their investment business and approached Atura to build South Africa’s first fully transactional AI assistant, EVA, which went live in early 2017.
Initially, EVA allowed users to query information available on the public Nedgroup Investments website to speak to a live agent through a convenient chat widget embedded in the website.
In the next phase, we enhanced EVA further so that users could log in, query balances, and retrieve statements and tax certificates.
In the last phase, we gave EVA the ability to transfer money to and from an investor’s account via the chat interface.
We helped lighten the load on the Nedgroup Investment call center since EVA can answer many questions without any human interaction.
Nedgroup Investments’ staff and financial planners also use EVA to quickly load relevant pieces of information rather than having to trawl the website.
We built the Atura platform with abstraction in mind so that we can easily build customised client instances by leveraging our core infrastructure.
The EVA conversation flows were mocked-up on paper without any constraint, and then translated to the running AI Assistant visible today on the Nedgroup Investments website. Since our bots are built with C# code running on the MS Bot Framework, they are extremely flexible and fast to build.
Deep integration into Nedgroup Investments systems AI assistants without context are boring and have limited practical usefulness. We focus on integrating with client back-end systems to give the assistant as much user context as possible while keeping privacy and security in mind.
EVA integrates with the Nedgroup Investments web services via standardised HTTPS protocols, giving her access to user data (context) and the ability to perform financial transactions on behalf of the user. These transactions include:
Adding funds to accounts Requesting statements Requesting tax certificates Checking balances
EVA active
AI assistants may be able to answer all questions in future, but that is not possible yet. In situations where EVA is unsure, she gives the user the option to chat to a client services agent, while still in the chat window, so that a real person can help resolve issues and answer questions. When the agent has finished helping the user, control is passed back to EVA.
Following is a screenshot of the agent service desk with new and unresolved “conversations” awaiting attention:
EVA allows users to type questions in plain text. Internally we send the user’s text to Microsoft’s LUIS service that uses machine learning models to translate the user’s query into an “Intent”. This allows the
user to ask things like: “How risky is your guraded[sic] fund?” and EVA will know the user is asking about the “Risk Category” for the “Nedgroup Investments Guarded Fund”.
Machine learning
Conversation context
Remembering
When logging in, EVA requests the user’s ID number, then prompts for approval via the user’s pre-existing cell phone number on the back-end system.
No username or password is required, because the user has to accept/reject the login request on their mobile device:
Log in
Some input is better suited for entry on a typical web form, as certain types of functionality will be very cumbersome to represent via text chat. EVA supports rendering “web views” which are custom web pages embedded in the chat window.
Web view
It is possible for us to expose EVA over channels other than chat widgets with minimal changes to the code. This is possible because we use the MS Bot Framework as an intermediate layer that translates messages to the appropriate format for different channels.
For example, our webchat channel shows richly formatted buttons, while rendering plain text in WhatsApp:
In webchat
Atura has a reporting function that gives insight to: conversation duration, messages per support agent, nr of help requests within and out of office hours, most popular “Intents”, etc.
To ensure the success of Eva for Nedgroup Investments, the following technical requirements needed to be met:
Mobile-friendly, Low latency, Secure digital advisor, available 24/7, chat widget on the Nedgroup Investments website with the option to host on other channels like Facebook Messenger.
We take security very seriously, so we required that EVA be scanned by an automated vulnerability scanner, as well as undergo multiple audits by an external information security company.
All communication is done over secure channels, so data is encrypted over the wire and at rest.
Allows the AI assistant to pause a Bot Framework flow and let a real human to take over the conversation.
Facebook Messenger, Slack, custom embedded webchat widget, etc. with a common codebase.
Allows the use of the powerful and flexible Atura Forms Engine to guide users through populating many fields of input (as is usually done on traditional web forms).
Makes unit testing full conversation flows simple and facilitates a TDD approach to AI assistant writing.
Allows the use of Microsoft LUIS, or an alternative NLP engines, wip.ai or IBM Watson for example.
A collection of dialogs that assist with complex tasks such as handling waiting for slow external web service calls.
Automatically sends conversations to a service bus for further processing by external systems.
All conversations are saved for reporting and analytics purposes.
Creates a consistent way to generate “Root” dialog that branch off into other dialog.