DataLingvo 2.0 — An Enterprise API to Convert Natural Language Into Actions
Welcome to DataLingvo 2.0. If you haven’t heard about DataLingvo before — DataLingvo is a cloud-based service and API enabling natural language interface to any service, database, or a device. One of the easiest ways to think about it is “Alexa/Siri for Enterprise”.
Let me explain.
We released DataLingvo 1.0 over a year ago (while the work on technology started way back in 2014) as an experiment to see if a true free-form natural language interface was something that enterprise users were ready to adopt. On the outside DataLingvo 1.0 looked and felt like a Google search interface for Google Analytics (the only data source it knew) — yet with advanced free-form natural language support and rich response capabilities. We’ve hit all the goal we’ve set out at the outset: natural language you know and speak, zero learning curve for users, advanced curation and deterministic results, etc.
Across thousands of initial individual users we’ve run into half a dozen large enterprise companies that were interested enough to give us a valuable feedback on our experiment.
In short — they all suggested more or less the same idea: “Can you guys just work as sort of an enterprise version of Amazon Alexa?” — and collectively gave us a well correlated lists of reasons on what is missing in Amazon Alexa (or Siri, Cortana, etc.) for the specific use cases they were using DataLingvo in:
- ad-hoc data analytics
- reporting and discovery in financial services
- patient record search in healthcare
- documentation discovery in manufacturing
- data virtualization in pharmaceuticals industry
Here’s that list in no particular order of importance with some of the our own explanation:
- Deterministic outcome option.
This topic was brought out by most of the folks we talked to. In fact, if one is interfacing with a finite and structured dataset (like a traditional enterprise database) — the responses cannot be probabilistic, they have to be fully deterministic. For example, if one asks “what’s average closed opportunity size on east coast in the last six weeks?” — the answer, if given, has to be 100% precise rather than 95%-ish correct due to voice-to-text and deep-learning based algorithms (both of which are probabilistic in nature). Nobody would accept even a 0.1% error risk in financial or healthcare data reporting applications.
- Curation and supervision.
The need for human curation and supervision of machine learning is a consequence of use cases discussed in the previous point. The only way to guarantee 100% correctness of the responses in NLP systems today is to use human curation which in turn enables supervised self-learning capabilities. Curation enables self-construction of the training set or corpus for a particular data source that can be further used by deterministic self-learning algorithms. In fact, these techniques are used by all major NLP-based products like Google or Bing search engines, for example, but they are typically not exposed to the developers using Alexa or similar products. DataLingvo exposes one of the most sophisticated real-time human curation technologies and it is at the core of DataLingvo self-learning capabilities.
- On-premise deployment and private data sources.
Despite the fact that more and more payloads move to the cloud the full on-premise deployment was a hard requirement for at least two companies we’ve talked to. Regulations, current IT infrastructure, strong dislike of exposing company’s data to HTTP web-hooks, undesired lock-in into AWS — were among the cited reasons. There were also many cases where Amazon Alexa web-hooks/lambdas approach simply couldn’t work. For variety of security, authorization/authentication, technical or policy reasons the execution logic (the intents) and the data source had to be generally co-located. Yes, there was always some technical way to overcome that but it was often bordering on “we won’t even bother implementing this” reaction… Moreover, almost all engineers we’ve talked to expressed a great deal of interest in having a much greater control over intents beyond simple pattern matching and web-hook callbacks.
- Free-form natural language recognition.
This topic was near and dear to us. Once we demoed this vs. NLP-on-rails type of interface there was no way back and most people were born-again believers :-) Amazon Alexa is good for short command-oriented sentences with a simple grammar but it quickly becomes tedious and error-prone on more complex everyday spoken language. DataLingvo free-form natural language abilities enable much greater flexibility on defining and processing intents and are closer to Google Duplex rather than to systems like Alexa or Siri.
- Input/output modes beyond just voice.
This was pretty obvious to us from the get go too. Not many people want to speak into microphone in the enterprise office settings (i.e. nobody wants to look like a call center). While voice input has a certain novelty and a great usability advantages in consumer/mobile/wearable space — it’s only a nice addon feature for the enterprise users. They mostly type — in the browsers, in various instant messaging apps, on their phones, etc. And while Alexa can do more than just speak back and forth — displaying something on the screen as a result of an interaction is remarkably convoluted process. Yet displaying something back is 90% of enterprise use cases. DataLingvo is fully agnostic to the input and output methods by design — anything that can be expressed textually (voice, text, IM/SMS, etc.) can be used as an input, and the output supports arbitrary modes including text-to-speech, HTML5 and JSON out-of-the-box.
- Full model control.
“Can we store and version our Alexa intents/lambdas/web-hooks in our private GitHub repo?” — I guess you can but it will be really awkward process. This apparent unfriendliness to the normal development practice is something that Amazon didn’t get right at all. Developers don’t like going into multiple web interfaces to put their code and models there — it scatters the source code into many systems and make software development extremely cumbersome: how do you version it, how do you unit test this, how do you do staging, how do you do regression testing, how do you develop in a distributed team, how do you do CI, etc. DataLingvo, on the other hand, provides elegant and simple Maven-based library that you code with — 100% familiar and standard approach — where you control and manage entire source code of everything you do with DataLingvo.
- Embeddability & customization.
“Can you embed Amazon Alexa into your analytics web portal?” — unlikely. That was a showstopper for two of our partners. Amazon Alexa distinctly lacks ability to be used as a backend or middleware. Based on our experience, in enterprise settings this “headless” application can easily amount to 30% of all usage.
Upon digesting this feedback over several months back in 2017 we went back to the drawing board and refactored DataLingvo to address some of the issues we didn’t support in the version one. We’ve added support for private data sources and on-prem deployment, advanced modelling and curation, REST APIs among many other improvements.