Customer service is a pain. Doing customer service RIGHT, is an even bigger pain. Let’s consider the situation: Your organization operates a service that reaches a fairly large number of people, and so, providing the service itself is not the problem, the problem is channeling, answering and responding appropriately to the multitude of inquiries that arrive through the customer contact channels. Everything from sales questions, to complaints, to valid problem reports, to legitimate and important requests for assistance. And since you cannot possibly have enough manpower to handle everything, some communication gets dropped, or delayed in the best case… causing, in the most favorable scenario, a drop in your client’s perception of your organization, and a complete loss of business in the worst.
The options
So you have looked at the options. How about implementing a community forum and FAQ? Well, that works for some people, some of the time, in some lines of operations. For example, if you have a software product aimed at tech guys, this is likely to be an approach that will work very well, but if you’re a bank, for example, well you cannot really address customer complaints in a public discussion forum, other than directing them to contact the appropriate staff. Or let’s say you’re a hotel, and although the staff is very capable and dedicated, have you considered what effect it has on their morale to answer the same questions every hour of every day? Standard things, like, What are the pool hours? What other services are available? Do you accept dogs? Of course maybe you already put answers to all these questions on your website, and maybe by now, you have figured out what we already know about that: People don’t like to read pages of information on websites. So they will still contact someone to get the answers they want.
But, how about if you are a given city government office, say, the one in charge of driver’s license issuance. Now, you have a very large group of people engaged in a multi-stage process with you, with questions along the way, with specific tasks to complete, deadlines, appointments, documents to request and send… so, in principle, you should manage this case with a web app. But that by itself, won’t solve the customer service problems you’ll get, like:
- Users forgetting appointments.
- Users having a ton of questions on the process and each step.
- Users needing to be reminded of deadlines and required documents.
And what about your users preferred mode of communication? Is it telephone? Email? Let’s take a guess here and say most users would like to “chat” with one of your representatives. Which puts you on the spot, because you don’t have THAT MANY representatives.
NLP
So, there’s an approach we here at SAFT.Industries, think is a good one to tackle all of the above problems, and that is, rolling out an “NLP Digital Assistant”. Some people call them “chatbots”, but we disagree with that name, mostly because it sounds juvenile, and conveys the impression of a “dumb machine” sending out chat messages. So, what, exactly is an NLP Digital Asistant, and why is it “smart” enough to be able to shun the chatbot label?
Well, let’s start with the NLP acronym, which means “Natural Language Processing”, and what that means, is that this software is able to derive “some” meaning from the text that is given to it, based on some rules and previous examples of similar content, as opposed to a hard coded programmed response to an input. For example:
Hard coded normal chatbot, programmed to respond to “Hello”
Interaction 1:
User: Hello!
Chatbot: Hello, welcome!
Interaction 2:
User: hi, how are you?
Chatbot: I didn't understand, can you rephrase? ->
(standard answer when there's no match for the input,
since the bot is programmed to respond to "hello" only)
NLP Digital Assistant, “trained” with an ample range of “opening phrases”, like, “Hi”, “Hello”, “Good morning”, etc
Interaction 1:
User: Hello!
Assistant: Hello, welcome!
Interaction 2:
User: hi, how are you?
Assistant: Hello, welcome!
Notice in the above interaction 2, that the response is the same, since the assistant “understood” the message to correspond to the same meaning of “Hello”.
That is, in a nutshell, what NLP does, it groups various expressions similar in meaning in a way that the assistant can categorize and use to decide an appropriate response.
So Digital Asistants can be connected to incomming chat channels, namely Facebook Messenger, Whatsapp, a custom web widget on a website, and other similar services, to provide answers to users in their most preferred environment:
- A user on the go does not need to install any app, nor visit any website to interact with your assistant, he just needs to open Messenger and send his inquiry.
- A user visiting your website, and having a question or problem, can open the chat widget and interact with the assistant to find an answer.
Now, that’s just scratching the surface of what Digital Assistants can do; we can also program them to do many things that probably you didn’t know about, like:
- Obtaining information from the user (like name, address) and sending it to a database or app.
- Connecting with existing “live” customer support systems, for when the assistant can’t solve something and a human is needed.
- Find information on behalf of the user from other apps or databases, like reservations, flights, account status and more.
In order to accomplish all of the above, a bespoke design and plan needs to be worked out for your use case, and we can look at the various commercial NLP providers available, like IBM Watson Assistant or Amazon Lex, and after that we need to program the various interfaces with other systems and design a proper dialogue to engage the users.
That last topic is generally not given much attention, and yet, we believe is critical to the success of the solution. I mean, how many times haven’t you engaged with a “chatbot” that just plain makes you go round in circles, does not get your meaning, has terrible suggestions and plain doesn’t work?
Well, let me tell you what, in those cases, the fault may not lie with the tecchnology but with the dialogue design of the interaction.
Typical interaction with a bad dialogue design chatbot:
User: I want to make a reservation
Chatbot: We have many properties around the world,
would you like to know more about them?
User: No, I want to make a reservation
Chatbot: Our properties are the best! We have 3 hotels in Miami.
For information on each, type their names: "Miami 1", "Miami 2", "Miami 3"
User: RESERVATION
Chatbot: That's not a hotel in Miami.
We have "Miami 1", "Miami 2", "Miami 3".
User: Ok, Miami 1 reservation
Chatbot: Miami 1 is a great property with luxury rooms.
User: Reservation
Chatbot: For reservations, please refer to our website.
Do you think we’re exaggerating with that example? I’m afraid not. This is precisely why many people feel chatbots are worthless.
Good dialogue design done with a capable NLP platform:
User: I want to make a reservation
Assistant: We have many properties around the world,
Have you decided which one to reserve?
-> (Assistant is reacting to the word "Reservation")
User: Yes, I want a hotel in Miami.
Assistant: Our properties are the best! We have 3 hotels in Miami.
For information on each, type their names: "Miami 1", "Miami 2", "Miami 3"
-> (Now this is totally appropriate)
User: Miami 1
Assistant: Miami 1 is a great property with luxury rooms.
What dates do you have in mind?
-> (Assistant "remembered" we are talking about a reservation first and foremost)
User: May 3rd to May 5th
Assistant: Yes, May 3rd to May 5th are available.
If you'd like to proceed with your reservation now,
I'll ask you for your name, address and payment information.
Would you like to reserve now?
(A properly programmed Assistant is capable of completing a reservation by itself).
So, proper dialogue design is very powerful, and it’s the reason why we are strong advocates of the technology. Because it works when used correctly.
But what about ChatGPT and its cousins?
Well, these types of assistants are of a different kind, called “generative”, whereas the ones we discussed above, are “structured dialogue”. Generative AI attempts to find suitable information to provide an appropriate answer to a prompt from a vast array of data already collected; this makes them useful for what is called “content generation”, for example, to write the basis of various articles on specific topics, for further human review and refinement. However, as of the middle of 2023, they suffer from a very critical problem that makes them unsuitable for customer service, and that is their propensity to “hallucinate”; as in, the assistants tend to give responses that sound correct and plausible, but are actually completely false or even just nonsense.
Here’s the appropriate paragraph from OpenAI’s website:
ChatGPT sometimes writes plausible-sounding but incorrect or nonsensical answers. Fixing this issue is challenging, as: (1) during RL training, there’s currently no source of truth; (2) training the model to be more cautious causes it to decline questions that it can answer correctly; and (3) supervised training misleads the model because the ideal answer depends on what the model knows, rather than what the human demonstrator knows.
See it at Open AI Blog
On the other hand, a structured dialogue grants us complete control on the interaction, including what information is available to the user, what are the topics the bot can discuss, the connections with other systems and the means to guide the user towards the solutions the organization is capable of providing, making the ideal for the use case we are just discussing, not to mention that an expert consultant implementation can and does make a difference.
Well, that’s what I have for you today, thanks for reading and have a great week!
Are you interested in learning more about this technology or explore how could it be applied to your particular needs? Please send us a message using the form below, for a no-commitment, exploratory talk about your problem.