One of the best parts about working on the growth team at Tray.io is how our leadership actively encourages us to push the boundaries of what’s possible with go-to-market (GTM) technologies. To that end, we’ve recently begun exploring Natural Language Processing (NLP) - which focuses on the way computers and software applications analyze human language - and how we can use it for efficiency gains and greater insight into our customer experience.
If you’ve ever used voice commands for Siri, Alexa, or Google Assistant, you’ve been the beneficiary of NLP. What’s behind the curtain is a machine learning algorithm which takes a string of text (written or spoken) and returns an assessment of its meaning.
I personally came into this while pondering a way to improve the chat experience for our prospects - we use Intercom, though you could certainly use Drift or a similar solution. We're lucky in that we’ve hit product-market fit for our situation. Namely, we’re a software as a service (SaaS) company that takes inquiries about our powerful General Automation Platform (GAP) via our website, which has resulted in lots of inbound sales leads (especially via chat). Since we’re still a startup, we are only able to staff chat during US business hours. Our business hours have occasionally led to less-than-ideal response times or difficulty spending as much time as we want with our prospects.
When I joined the growth team and observed these challenges, I wanted to know:
- How can we respond faster to incoming chat queries? AND...
- How can we respond with higher quality answers?
One of the first things that came to mind was to use a chatbot. We use Intercom for chat, and while the turnkey bots are quite good, we wanted something more personalized than what was possible with their out-of-box functionality. My research quickly led me to using NLP to build a custom bot.
The first thing to know about NLP is that its basic job is to classify text, looking for meaning in its relevant parts. These relevant parts are called entities. An entity can be a word, phrase, or an entire sentence.
Here are some examples of inbound chat messages we might receive:
- I’m having problems with the native Marketo with Salesforce sync, can you help me integrate them better?
- I’m having trouble setting up your Marketo connector
In both sentences above, we can use a keyword classification strategy to identify entities that the Tray.io team calls “connectors,” in this case, the SaaS tools Marketo and Salesforce, above. Connectors are specific integrations for individual software applications and an important part of our product, the Tray Platform, which business users use to seamlessly connect their tech stack. Things are pretty black and white when it comes to keyword classifications. They either match or they don’t. We can make accommodations for things like common misspellings or abbreviations by providing synonyms in our NLP keywords.
For example, here are some alternate keyword synonyms for Salesforce:
For a chatbot, it’s not enough to just recognize keywords. We also need to understand the intent of the user. Looking at our chat examples, one prospect is trying to understand if it’s feasible to integrate Marketo and Salesforce, while the other is seeking tech support for our Marketo connector.
We cannot differentiate intent looking solely at keyword classifications. Instead, we need the entire context of the sentence to classify intent. The open-source NLP platform Wit.ai refers to classification for context as a “trait”-based classification strategy (some also call this a “spanless classification”).
This is where things get exciting! With enough training data, we can teach the NLP algorithm to identify contextual nuance for a variety of user needs. Let’s look at a few example chats and the intent we can suss out using NLP:
Once we understand the most common types of intent, we can work with our fellow marketers to build “narratives,” which the chatbot can follow to support the customers inquiring about them. Coupling our keyword classifications with the proper intent lets us create highly personalized narratives, such as responding to the tech support question by referring users directly to the Marketo documentation page.
A good way to see this in action is try it out using Wit.ai, which makes it really easy to experiment with classifying entities based on different classification strategies. We can start out by using the service’s point-and-click UI.
Here’s an example of the results we get for the two classification approaches we discussed above:
Notice the NLP classifies the intent, connector, and sentiment entities in the above example. The green/yellow number to the far right of each entity is a confidence interval for the classification returned, where 1.000 represents 100% confidence in a match. You can see each of our custom defined entities have a confidence of 100% with regard to intent and connectors. However, the sentiment entity of “neutral“ only has a confidence rating of about 65%.
In order to increase confidence, we need to use a fair amount of training data to teach the NLP model how to classify each input.
This is a perfect task to fulfill with the Tray Platform. All you need is a data source for your chats, in our case, Intercom. I trained our models using a webhook triggered workflow, tapping into Intercom’s new conversation events via webhook. To classify each chat, I then sent the conversation payloads to a NLP API (using our Universal Connector, which lets you manually make API requests via HTTP), finally sending the results to our data warehouse via Segment Track calls:
Our Growth Engineering team is building the bot itself. However, we got a great head start training our models, analyzing the results, and determining if we wanted to invest in building out the bot before ever asking to spend any of their precious cycles on the project by using the Tray Platform first.
NLP Beyond the Bot
While we're still early days of using NLP, it’s easy to see how it could continue to apply to other parts of the customer experience. Things like prospect analytics and personalization quickly come to mind as we venture further down the rabbit hole.
Take your live customer conversations; with tools that record and transcribe them like Gong.io, you can see how this same approach can be applied to that application’s transcripts, which give marketing and sales leaders a better sense of what prospects are thinking about.
Or what about your support interactions? For customer success teams, we can automate the classification of ticket threads, giving better insight into product issues or perhaps creating a more-effective way to gauge sentiment vs. something like ticket-based CSAT (customer satisfaction) or episodic NPS surveys.
Citizen Automators for the Win
How are you thinking about applying new technologies (like NLP) to your GTM strategy and operations? More importantly, how are you empowering frontline employees to be more self-sufficient and creative in solving challenges as they arise?
Tools like the Tray Platform break down barriers to technology for everyday individuals more than ever before. Our goal is to give line-of-business users, not just engineers, the ability to create powerful automated processes like the NLP use cases we’ve discussed here to help them become Citizen Automators. After all, business users who are on the front lines have the best understanding of where pain and opportunity for improvement exist. Putting tools in the hands of Citizen Automators to help them harness their domain knowledge, rather than having to depend on IT, is an operational imperative for fast-moving companies.
Empowering business users to build out amazing new processes that used to require developers is incredibly exciting and worth our time and energy...more on this to come! If you're interested in seeing more ways a General Automation Platform can power cutting-edge processes, sign up for a weekly group demo.