Anything Is Possible in Software
I’ve had this quoted at me numerous times by a software developer friend of mine; but he neglects to provide that crucial qualification – ‘Anything is possible in software…..given enough time, resources and money!’
And this goes right to the heart of the problem with building natural language applications because at the end of the day, to work with the degree of intelligence and humanlike behaviour necessary to be productive, they become incredibly complex and sophisticated programming projects.
They have to be able to interpret the myriad different ways of asking the same question, to have contextual awareness to understand what’s been said in the conversation before and to apply the relevant variable to the latest query, to possess a memory that can reference back to past information – at the right time and in an intelligent manner, and to be able to disambiguate between different possible answers and to choose the correct one. The list of issues to overcome goes on and on, and we’ve not even mentioned integrating with things like ASRs, TTS, web services and enterprise systems.
In short, this is heavy duty programming that typically needs to combine the skills of a programmer, with those of a skilled computational linguist, in addition to technical architects, designers and more.
Which is why there is an emerging trend of companies talking about Natural Language development platforms. But don’t think that all platforms are equal. They’re not.
The Teneo Natural Language Interaction (NLI) development platform has been developed to address the challenges of quickly building natural language applications. It has been designed with both speed and ease of use in mind. For example, the graphical approach to describing and building conversation flows is highly intuitive, allowing interactions to be built and reviewed as part of a team approach making it possible to develop it in a collaborative environment so that UX designers and domain experts can work together, even if they are scattered around the globe.
Another important point to highlight is that programmers tend not to be skilled in computational linguistics, so in just the same way the final app is going to eliminate complex steps that your customer has no need or interest in knowing about, so should the natural language platform you use.
This means not just automating the majority of coding, but simplifying other areas such as language resources that use lexicon, synonyms and themes to enable hundreds of variables to be captured in a conversation without having to specify them individually in the initial creation of the app. Dialogue flows need to be easy to construct without having to guess how a customer might ask a question as well as easy to manipulate.
That’s why Teneo includes expert features such as the auto-generation capability that allows users to simply phrase typical queries, add a couple of example questions and then automatically generate the NLI logic to ensure the hundreds of different ways of asking the same question are all covered without even having to think about the logic behind the different words and phrases. This quite literally saves days and days of programming.
Another valuable capability is Teneo’s built-in ability to remember past conversations. Most ‘platforms’ rely on the capability to store variables to be built into the logic of an app’s UI, Teneo does this automatically for you.
And it can do this in 21 different languages.
The combination of all of these features allows for NLI apps to be created in much faster timescales than some high profile natural language platforms. For example, we recently helped someone build a memory feature into an app in a matter of minutes that was taking over three days with the other system. An even more dramatic example was a result of building a prototype for one of our clients who had previously been struggling for over 12 months trying to use an alternative system; using Teneo we delivered a superior prototype in just 3 days.
So, if you’re thinking about building speech-enablement into your apps – and you should because there’s no doubt it’s the future – remember, whilst anything in software is possible, not all platforms are born equal.