Voice enabled SingleX
Last weekend, we at Persistent, had our annual hackathon called Semicolons. The theme was Digital Transformations. With 33 teams contesting across 8 locations in 24 hours, this was bound to become interesting. We had interesting preposition – team owned by 5 sales guys who believed in small team – so only 4 developers is what we got. Having said that, the biggest contribution actually came in from the users – the problem statement. The owners were the users and they really posted an exciting challenge.
Talk about Digital Transformations and what comes to mind is the connected experience made possible by API driven approach. At Persistent, our IT is ahead of time! We have already implemented API driven, Mobile first approach for performing all our day-to-day operations.
As you can expect, we follow the new age architecture – as represented below:
So, any new digital transformation story has become rethinking the common business flows and reimagining it in different forms. As the execution of the idea proceeds, we have differentiated use cases and innovations that arise out of it. Still the challenge the users are facing, is the cluttering of apps! Today’s apps are simple, connected and provide ‘same’ experience. Still user has to pick up right app and many a times, use multiple apps to perform their day-to-day operations. The team owners challenged us – they wanted to do all operations in single app and in most natural way. Operations like, finding contacts and connect, updating CRM, logging expenses or even checking weather. They wanted a completely new experience – something like below:
Result: BizzyCat, A siri/alexa like tool which can take voice command and questions to update any of the underlying system of records. Or siri for Enterprise!
Believe me, with cool technologies and platforms like Android Speech Recognition and IBM Watson, we could implement fairly smart tool just within 24 hours. Here are some interesting interactions that BizzyCat (rather a 24 hours old kitten) could support.
Our IT already implements API layer. So, bulk of our problem was to implement the SingleX (Single Information Exchange) layer. We used Android Speech Recognition to convert voice to text at mobile app itself. So, SingleX API, (implemented in node.js) would get TEXT and return TEXT.
The challenge was Natural Language Processing at SingleX layer. There are 2 primary tasks
- Step1: Understanding the intent of the user command
- Step2: Extract the details and act on it by calling the API(s)
We used Watson’s Natural Language Classifier to convert the text into intent. The classifier showed very good recall when it was trained well. The classifier returns back the intent – e.g.
- ‘Hi’, ‘Hello’, ‘How are you’, ‘good morning’ -> All converted to class ‘Greetings’ OR
- ‘Give me opportunities from ACME, ‘What are my active opportunities’ or ‘which opportunities are added today’ -> All converted to ‘QuestionListOpportunitiesWithFilters’ class.
Once the intent is understood, we used entity extractions (Watson again and some supervised/dictionary based matching) to find the required details.
Here is the simplified flow:
It was very satisfying experience to create something as smart as BizzyCat in just 24 hours and demo it to our esteemed judges. I remember Semicolons a few years back – the development of products/libraries/prototypes was incumbent on a technically super-skilled person. The developer would hack away and create something that was reusable and extensible. If a business user had a requirement, he would have to convince the developer to implement it and your IT team to ratify the solution & deploy it for use. We are experiencing a different era now – a digital age. We have gotten to a point where the business users can articulate their need and have a solution built near real time to their expressions of requirements. This is a testament to the richness of platforms that exist and their flexibility to be woven together for compelling use cases.
Happy faces – even after 24 hours of slog! The dream team with owners. From left – Avadhoot, Rahul Jain, Chinmay Karlekar, Viraj Phanse, Anup Kale, Arpan Jain, Sanjeev Verma, and Shriram Natarajan who was busy taking the pic.
We’ve already integrated this to our digital platform and if you see the need, we can demo our BizzyCat! And I bet that we can add to the experience as quickly as you can ask for them in the comments below.