By Alon Mei-raz, Director of Product and Chief Strategist at HPE.
Nowadays, it is quite clear that Chatbots are much more than just a trend. More and more companies offer a chatbot as part of their variety of interfaces. However, as chatbots become a common practice, the need for smarter bots arises.
Smart bots can do much more than the simple chatbots. Powered by advanced machine learning capabilities, such as image analysis, NLP and text analytics, these smart bots can understand concepts in a sentence, identify objects within an image and extract entities and sentiment in a given text.
In this article, we’ll explore the key capabilities you need to evaluate when creating your smart bots.
Natural Language Processing
As a smart bot, your bot will obviously need to understand natural language in order to be able to interact with humans in a natural way. Natural Language Understanding (NLU) is a subset of NLP which handles reading comprehension and semantic analysis.
There are many solutions out there offering NLP technologies, but only a few which allow you to train the platform’s conversation model.
One of the most essential features you’ll need is the ability to identify the user’s sentiment. Meaning, analyzing the given text to return the sentiment as positive, negative or neutral (and the level / score). Here’s an example: the sentiment for the following input text: “I really liked your article from last week. Looking forward to the next one” is positive with a 90% score.
Let’s say you manage a customer service system. You have a chatbot to handle the most common and straight forward requests (such as supplying your monthly balance) and route some requests to the suitable human agent. If the customer is angry, you might want to know that in advance and handle it appropriately, e.g.: expedite the request. Understanding the user’s sentiment and taking actions based on it, will surely lead to an improved customer satisfaction.
This one is about extracting useful information from the given text, such as places, people (names), companies, phone numbers, etc.
Example: “I bought a Samsung phone from your store yesterday, and I have a couple of questions. The agent who served me in your New-York branch is John Smith.” The following entities will be extracted, stored and used when needed: Samsung (Company), New-York (Place/Branch), John Smith (Person).
Concept mining is a fascinating field which can come in handy when building your smart bot. It uses techniques such as data mining and text mining to pull the main topics and ideas discussed in a given text.
We can use it on top of our main index to also find related concepts which are matching the users input. Therefore, our bot can supply a much more accurate and relevant response.
The ability to transcribe the given audio (or video) to text. This capability is obviously optional and only relevant to bots which handle audio. But keep in mind that by supply speech-to-text capabilities, you’re revamping your bot’s user experience, allowing a quicker and a more natural interaction.
By using a graph of entities and their connections, your bot can really do interesting things, such as give you more meaningful answers and understand things that are related to what you asked about (by building a graph of connected nodes).
For example, you can ask your smart bot: “I’m interested in sight-seeing around San-Francisco. What do you have to offer?” and get some interesting attractions in Palo Alto and San Jose as well.
A useful chatbot should know its users. It should be based on collecting information and taking action based on the user’s profile and preferences. But when anomalies occur, we would want our chatbot to discover it, let us know about it and possibly take action.
Let’s say I use a smart bot to manage my bank account’s transactions. Usually my significant expenses stay the same month over month. When there’s an unexpected item in my credit report, my bot will ping me, make sure I’m aware of it and in case I’m not, it can issue an enquiry to the credit company. This is obviously an oversimplified example of what you can really do with the power of anomaly detection.
Another way our chatbot can give us new insights is by using predictive analytics. As we use it more and more, our smart bot will learn more about us. Using this information or additional documents which we’ll supply it, our bot can offer useful predictions.
For example, if I’m a salesperson, my bot can store all my past sales data such as: customers, regions, products, time of sale and more. Once it has enough data it can use it to perform predictions for potential successful sales.
Providing our smart bot with image recognition capabilities can be very powerful. Photos are a significant part of our day to day lives. Sharing those photos with our bot who can, in turn, identify objects, faces, barcodes and even logos within the photos can be very useful. We’ll be able to later ask our bot to provide all the photos which contain a logo of a certain company and the relevant context.
This one is quite straight-forward. Being able to understand where we are by mapping a set of coordinates to a geographical region can help us in many ways, such as suggesting nearby places.
There are lots of other valuable machine learning capabilities to assist you in enriching your smartbot, but these are the ones I believe should you started. With these, you’ll be able to take the relationship with your users to the next level.
Bio: Alon Mei-raz (@alonishm) is a director of product and chief strategist at HPE overseeing the machine learning and chatbots initiatives. He is a public speaker and blogger, and is passionate about helping companies optimize business results with machine learning.
- A Concise Overview of Recent Advances in Chatbot Technologies
- Deep Learning for Chatbots, Part 1 – Introduction
- A Survey of Available Corpora for Building Data-driven Dialogue Systems