NLP is the Next Buzzword
I was fortunate to co-present with a well-known AWS AI expert at a recent event where I shared my predictions for AI in 2020. One of my predictions was that “NLP” would replace AI as the next buzzword.
Ok…so what does that mean?
In 2019, artificial intelligence (AI) was thrown around as a requirement for chatbots – but the specific requirements of AI were not clear, causing confusion when evaluating options. Ultimately, AI became a checklist item for chatbot RFPs. In 2020, the same thing will happen with NLP. Without a clear understanding of what NLP requirements are, chatbot initiatives will fail.
There is no shortage of NLP and chatbot toolkits on the market – to the point where it can be quite confusing for someone to determine what to even consider when embarking on a chatbot initiative. In fact, knowing where to even start is half the problem. I’m sharing some of my thoughts on what to look for in a chatbot related to NLP so that NLP is treated more seriously than just another checkbox on an RFP.
Ever wonder how Alexa’s accuracy has gotten better over the past couple of years? Sure, Amazon has great technology and an army of data scientists. But more importantly, Amazon has millions of consumers using Alexa every day. Amazon’s data scientists leverage this wealth of data to continuously improve Alexa’s accuracy. Sure, it’s not perfect, but Alexa certainly is getting pretty good.
The world of the enterprise is no different – a wealth of data is required to continuously optimize a chatbot for employee self-help. There are probably tens of thousands of ways to say something as simple as “how do I reset my password.” Our experience at Espressive shows that employees are creative and will ask for things in the most unusual and unexpected ways. Your job is to make sure you implement a chatbot that understands what employees are asking for in their language, because your employees will not learn a new language to make your chatbot successful.
Are you looking at chatbot toolkits? If so, how do they deal with understanding interactions to maximize accuracy? We have talked to many customers who have tried building their own chatbots not realizing the level of effort required to both create and maintain the underlying NLP “language model.”
Unlike Amazon, there is no single organization that has enough employee language data to effectively understand all possible permutations of any phrase. Further, if you unleash a chatbot that is a “work in progress” to collect data to help you with training, the poor accuracy will turn off your employees, making it very hard to get enough data to achieve your goal.
One of the great things that Alexa provides is an ability to “plug in” your own content (or actions) to specific intents. For example, for home automation, you can setup a device and connect that device to an Alexa “intent” (although they don’t actually call it an intent). Did you just get a brand-new Alexa-enabled door lock for the holidays? Once you’ve helped Alexa discover the new device, it will automatically lock and unlock based on your command. A new twist to the old saying, “Open Sesame!”
But how does adding content to your enterprise chatbot work? Let’s assume you want to provide an answer to something fairly basic like instructions on how to get an expense report approved. How much effort is required to setup the answer? Do you first need to teach it what approving an expense report means before you can add an answer?
With most NLP engines, you will need to go through a laborious process of creating the language model infrastructure required to understand the question, and then add your answer. But what if you could simply enter a phrase and add an answer? Further, imagine if the NLP engine even understood the thousands of permutations of the phrase to maximize your employees getting your answer?
Most NLP stacks also require a “training” process, which means when you make a change you need to train the engine, generally by pushing a button or calling an API, which can take minutes (or longer). This can be a very frustrating (and unproductive) experience as it creates long wait times before you can validate your work. A great NLP engine makes your work available and requires zero training time.
Don’t Be a Bottleneck
We’ve now covered that you really want an NLP stack that comes pre-built with enterprise language and enables you to add content very easily. But a great question is whether you want to be the bottleneck in managing all of the content in your chatbot?
Imagine if your chatbot provided responses for all of your teams in IT (e.g., network, application, server). Just to make this even more fun, let’s also assume that it can even respond to HR questions. You certainly do not want to be stuck being the person running around to every subject matter expert and “collecting questions and answers” to train your bot.
What you really need to scale your chatbot to the enterprise is a way to democratize content management. What this means is you want to empower your subject matter experts to very easily manage their content. They should be able to see what people are asking and create content to help make sure that they are hitting the top questions being asked – without you needing to constantly be in the loop.
Seems like a simple enough concept – but trust me when I say this is beyond the reach of most tools out there.
With Power Comes Great Responsibility
“Hey! Yesterday it worked fine, but today your chatbot sucks!” That is a phrase you never want to hear.
So, you have this great NLP tool and have been working for the past few weeks on teaching it the language of your employees – but how can you validate that what you are doing is not introducing a negative experience?
The problem is the nuance of the English language is such that one simple change to NLP content can have a negative impact on what appears to be a completely unrelated phrase. To avoid this from happening requires constant testing to ensure performance continues to improve and no regressions are introduced.
Testing doesn’t mean just the last couple of phrases you are working on. You really want to test against a large corpus of phrases (in the thousands) to ensure that your chatbot’s behavior did not “break.” A great tool should make it simple for you to capture those test phrases and run regression testing at any time.
Alternatively, you could certainly build your own test tool, but who has time for that.
Testing in Production?
Speaking of testing, it is pretty dangerous to be “testing” new content in a production environment. The reason why you need to test your changes is to make sure nothing negative was introduced (see above), so that by default means you should not be doing that in your production environment.
At Espressive, we work with a large number of customers across a number of highly regulated environments and have come to the realization that we need to provide them with an ability to make changes in a safe environment. It is for that reason that we provide our customers with a sub-production environment they can use to test changes before pushing them to production – with a simple push of a button.
Let’s be honest, delivering a chatbot that will “wow” your employees is no small feat. It is for that reason that I believe everyone should walk into such efforts with their eyes wide open and make sure they understand the requirements for NLP and look beyond the “toolkit” approaches.
What are the requirements for NLP?
- An NLP stack pre-built with enough employee language data to effectively understand all possible permutations of any phrase
- Ability to simply enter a phrase and add an answer without a lengthy training process
- A way to democratize content management by empowering subject matter experts to very easily manage their content
- Ability to understand employee language across the enterprise so your chatbot can respond to multiple teams within IT and beyond (e.g., HR, facilities)
- Ability to test in a dev environment versus a live production environment
By delivering a killer experience that your employees love, you will become a hero – and we need more of those moments.
I’d love to hear from you on your experiences evaluating chatbots, so please send me your comments at firstname.lastname@example.org.