Chatbots are currently THE trend to follow. You can gage that pretty easily by the fact that everyone is talking about them without knowing too much, without productively using them internally or in client applications and without knowing the technology behind them. Luckily, we have that covered 😉
Nowadays, as a software developer you’re often the one-eyed among the blind, so to speak. In a world where a fax machine is an inexplicable phenomenon for many people, really being able to understand the background of such technologies, is a great skill to have. And being able to use new innovations for your own benefit is even better.
Machine learning is a technological field which has developed by leaps and bounds over the last decade. I guess you could see it as an answer to the problems and challenges created by Big Data. With the possibility of creating and gathering (until a few years ago unimaginably) huge amounts of data, wanting to make use of them is a logical consequence. Thus, algorithms are trained to spot patterns in these mountains of data and serve as a sort of filter which only leaves the relevant stuff behind. Pretty simple, no?
OK, here’s an example
In order to maybe make things a little bit clearer, imagine collecting every single online issue of a daily newspaper for a number of years. All of the articles have certain features like an author, a publication date, a category, a character and word count. With machine learning, you could draw conclusions or statements from this data which go far beyond what an external (human) viewer could ever get from it. At the last Chaos Computer Congress, they had an excellent talk on this very subject, which I can only recommend. Spoiler Alert: if need be, you could even make assumptions about which authors might be getting it on.
Anyway, such patterns can also be used for language. With a little bit of training, the AI (artificial intelligence) can learn to filter relevant information from normal colloquial speech and form structured data on this basis which can then be used further. And this is where it gets really interesting, because a bot in and of itself is nothing new.
Where and how can chatbots be used?
The biggest problem chatbots have been facing from the get-go is that they were not tolerant enough towards different ways of phrasing things. But due to the huge progress in this field, the real question nowadays is whether we can even really expect customers to fill out forms to order a catalog, when they could also do that directly in Facebook Messenger without ever having to enter their address. A simple, “Hey, send me a catalog, please.” would do.
And the wonderful thing about this technology is that it’s very useful even for reasonably small areas and applications. The integration is easy – be it for a website, an app or the multitude of messenger apps and programs available, such as e.g. Skype, Facebook or Slack. Also voice assistants like Amazon’s Alexa or Google Home are possible contact points and the potential applications seem infinite.
Support solutions, where the chatbot takes the first-level role can add to your support team or provide relief during especially busy periods. Or just think about taking down error reports, call-back requests or customer feedback. Bots can make these processes a lot easier, seeing as they’re always online and their actions and capabilities can be steadily improved by analytics tools.
In sales, bots can help you to explain your products along with helpful media like photos or videos and the additional possibility for the user to ask questions at any point. In this way, you can offer a completely individual service which you in turn can also use to gain a more comprehensive understanding about the needs of your customers.
Integrating such bots into the search functions of online shops also seems like a pretty useful application. Why search for something, when I know exactly what I want? “5 pairs of the same black socks I ordered last time shipped to my office address, please” – that should really be all the effort a loyal paying customer has to make in order to purchase something.
Of course, not all applications are B2C, also an integration into internal processes might be useful. In this way, bots can act as co-pilots for a company’s staff by going through checklists, taking down data and compiling maintenance, damage or similar protocols and forwarding them to the right person. It is also thinkable to let the machines do the talking and connect them to the right people via an internal system. The machine could send a notification whenever there’s something wrong and the technician could simply ask it where the problem lies.
Here at CodeFlügel, we are using Slack as our company chat (at the moment) and since we all love our food, a few bots coordinate our daily food plans, interests and possibilities. They send us the daily menus from our favourite restaurants, sorts us into groups so everyone can leave together and another small bot tells us when it’s beer time (not nearly often enough, mainly at Christmas), which makes it pretty popular. And I’m sure, that’s only the beginning.