**NB!: This page can be considered a historic document posted in April 2019, especially since the release of ChatGPT. With some transformers-based models released in 2020 and 2021, some chat bots got significantly better when integrated properly into a backend system (e.g. business data). ChatGPT is just another proof that enough money and hardware can build an AI to reverse engineer basically whatever you want to. **

Just because NLP (natural language processing) and voice recognition gets better and better it doesn’t mean that chat bots are going to. Most of them are simply annoying and don’t provide any benefit to a (potential) customer (yes, it’s possible to create metrics that shows the opposite). What do I mean with that? Well, in most cases they hardly do what we want. What do we want? Well, some kind of interaction to get a problem solved.

Even if we look at ELIZA - computer psychotherapist, which could be considered as the mother of all chat bots, then we will figure out that we do not have any conversation what so ever but being pushed to some solution/end state.
Building such a simple system is not difficult (e.g. using this PyTorch chatbot tutorial) but it will lead to quite stupid chatbots. Since I’m offering AI/ML consulting and contract services, I (occasionally) get approached to build a chatbot… …and this is my main motivation to write this blog post.
What is the problem with building chat bots? Well, everybody expects something like Google Duplex and expects that it will run with less hardware requirements than a Raspberry PI with the goal to replace all employees with (online) customer interaction.
While current infrastructure costs for such a chat bot system are much to high for the average online shop they end up with a system that I would consider “pseudo customer support” which acts more like ELIZA or a FAQ search system. Considering the quality of service/consulting/advice shop assistants in most stationary shops and also by many “online sales guys”, we might be better off with the “pseudo customer support” (more comments on that below). Another limitation of really intelligent bots is that we need a proper backend (inter-) connection to e.g. purchasing histories etc.

Fields of application of chat bots

in a (perhaps) historical order

  1. Sex chats (text based)
  2. Dating sites (especially everything that is rated as “adult only”)
  3. IRC bots
  4. FAQ/pseudo customer support/attraction of customers
  5. Customer support
  6. Personal assistants

1.) and 2.) are very similar but not the same. Back in 2005, I had some discussions with an owner of a (small) dating site about potential ways to evaluate if a user is

  • a legitimate user
  • a legitimate user with limited language skills (e.g. a foreigner who started to learn a language)
  • a bot to gather personal information (e.g. for adversarial/blackmail purposes, or simply for research of human machine interaction “in the wild”)
  • a hooker with limited language skills but with writing patterns similar to a bot (that was the main concern why we talked about it back then)

The discussions ended nowhere and I have no idea how this was solved but I wanted to show you a few examples that were more or less very low-level Touring tests to keep a platform clean. I could imagine that this might be even a more difficult task today because

  • chat bots are much more advanced
  • auto-correction (especially on mobile devices) can lead to very interesting sentences.

Once in a while this pops up in the news because some dating site was accused or have been proven to be using (female?) bots to attract paying (men?) as customers or some blackmail bot is running wild (e.g. [1], [2]).

Perhaps paying customers on dating sites may still enjoy chatting with a text bot to simply kill time and depending on the quality of the bot, the discussion might better than a person ;).

3.) were and still are simple helper bots displaying some stuff and perhaps repeating previous stuff (before a use joined a channel) acting like an interactive FAQ. It seems like a bit more advanced versions are used on slack and other team communication platforms now.

4.) started out similar to IRC bots (perhaps are/were even based on them). I still don’t know why someone would use them. My very personal point to shop online, besides that it is more economically and parcel delivery saves resources, is to avoid annoying shop assistants that know almost nothing and often don’t even have the rights to do anything that was not predefined in some process. Now it is time to clutter online shops with chat bots to provide me with the same awful experience - thank you! Turning of javascript and filtering it helps often but unfortunately not always. This brings me to another point I observe quite often. Customer data (incl. who is visiting right now) are probably the most valuable data an online shop has. Why do people use external chatbots, which IMHO don’t work the way they should, and thereby provide others with valuable data… . Further, we might talk about introducing security holes (or potential attack vectors) to the system as well.

5.) is what everybody wants/assumes to get but hardly anybody has the infrastructure for it. This requires a lot of interaction with shop backends and the models itself probably won’t run on Amazon lambda services ;).

6.) Personal assistants are probably the most useful kind of “chat bots” out there and we can already talk to them. However, the backend infrastructure is quite big and you have to collect an enormous amount of data.

If you are interested in really building systems I described as 5 or 6, then you may contact me ;).