I said it okayish because this post is for learning purpose and not any advanced stuff. :)
In my view, it all depends on what one creates. I agree that some of today's chatbots may not be the best but that's okay. Maybe we will be able to do better.
Totally - and again def not knocking your work. My point is more about chatbots just in general - I've never seen an example of one in the wild, in any context, that wasn't underwhelming.
Precisely. I thought they were too difficult. They are not if the use case is viable and you can solve it programmatically. The Hard thing is to guide the flow of the user and really designing the flow.
QWe can always switch to a customer service executive if we sense something going bad. Or the Chatbot not able to get the intent it has been trained for.
Its not only FAQ based bots that we intend to remove. It won't serve many purposes. Customers call banks to know about their balances. Or retail Customer care to know the status of order.
Once I saw a chatbot use case where chatbot recommended dresses if we talk to it in a natural way. For example: "I have to go to a Christmas party today " and it handled this...
We are only limited by our thinking on how to create them.
Customers who call banks to know a balance hit an automated system. The kind that end up calling instead of checking online/ an app AND end up needing an operator don’t use chatbots
Same with your retail example.
And a million others.
And take your second example, with dresses.
What kind of events does it understand? There has to be a limited number of event types it knows, it’s awful that there are infinite types of events, the bot understands practically none of them compared to infinity, and you have to guess how to frame your query to fit in its bag, instead of having a list with a search box for event types.
Sample applications are rarely difficult to make. I built a bot as an experiment for my team (https://m.me/PigeonCorps) and we've run into a lot of issues that fall outside of intent classification and response. The most complex issues related to non-trivial chatbots (or atypical chatbots) in my experience have been:
- session management
- horizontal scaling
- dealing with platform changes
- dealing with platform downtime/bugs
- hierarchical data presentation
- matching intents within hierarchical/nested flows
I agree, however, that most chatbots we see are not incredibly complicated, however, I think the typical points that are emphasized in these types of articles (intent classification) are not the hard parts.
Agree. But most of the functional chatbots we see on websites are using intent classification only.
In my view, this is mainly because we haven't yet reached the stage where we can create intelligent chatbots. So we make do with rule-based. Sort of Chat based IVR services.
We might be able to do better in the future that's the plan.
I've recently built a barebones chatbot. I took a different approach than most, given that I elected not to do any NLP. This is excusable based on the requirements for the bot — it's going to be part of an interactive theater piece, and its purpose will be to convey specific plot information.
My bot operates off of keyword matching only. There's a web interface to edit "exchanges," which act like a directed graph from message to message.
My chatbot struggles when things are not phrased in the right way (for instance, it has trouble with negatives, as in "I am not well today"). The exchanges that we're designing for the theater piece have to be carefully worded to try to avoid encountering problems like these.
Overall, I think my chatbot is a good tool for its specific application.
I totally agree. Command based bots might be the way to go for simple applications. Banks might do very well with command based bots. They know most of the questions being asked by the customer, why not automate the process.
For developers, this could be fun too. One idea is to run a chatbot script on all the servers and every time I have to run system commands I can do it straight from telegram.
Geico did something similar. Instead of auto filling one form, you get to have 15 parts.
It’s very simple to me as a user: if your chatbot is simple enough to be easy to implement, it should be a form.
If it’s hard to implement with NLP and what not odds are discoverability will suck, complex operations will fail, and your bot will drive general unhappiness in the world.
Every time I encounter one, I backtrack and search for a phone number or email or twitter or anything else. To me, chat bots are an opaque interface on top of a flowchart with no discoverability. Might as well just give me the damn flowchart.
I feel like chatbots are an innovation in the field of cost reduction for businesses, but a huge step back in terms of customer experience. What are your opinions?
Yep, basically. We had a few chatbot products for some pretty popular media brands, they noted little to no engagement. Alexa, on the other hand, seems to get engaged a lot, even though in theory it suffers from the same problem.
If I were Global Dictator of UX, I'd mandate that every chatbot accept an "eject" or "escape" command. This would take the user to a plain old HTML form with the information already filled out to the extent that was provided within the chat.
I really enjoyed https://woebot.io/ for a few months. I was really surprised at its depth when I kept on discovering new flows after weeks of interacting with it daily.
But that kind of chatbot is surely an exception. And Andrew Ng is the chairman of WoeBot, so I expected it to be good quality.
The big difference here is that the bot is the product. (An interesting one at that!)
What I find utterly annoying is a chatbot popping on some software webpage, reducing my field of view and interrupting my progress toward the documentation/download/career/whatever section. In this case I find it an overly hyped widget that I absolutely do not need.
There are specific use cases for which chatbots are great. Lemonade insurance is great application of a chatbot.
What could have been a traditional application form has been made significantly better by a contextual chatbot. It's also definitely better than talking on the phone.
I guess the meta learning is, if the answers are discrete values and the follow up questions are contextual, chatbots can be great.
Most Chatbots I know are just an interactive search for a website/documentation. If it works, good, saves the trip to google; if not, I can still ask the bot for other ways to communicate. Why bother with a human when when it just costs more time?
The hard part is not making (launching) the bot, but maintaining it and making sure it stays usable and useful. A very important piece that is missing from many open-source chatbot frameworks is some sort of web-based administration tool.
You need a tool that is capable of the following:
- Collecting analytics about each session, so that you can notice user problems early.
- Providing an interface for improving your training dataset using new data from actual user interactions.
- Evaluating the model after each update (simple accuracy metrics are not good enough; it is possible to maintain good accuracy and have one of your core flows messed up after re-training).
Even when you have an admin tool capable of these, you need one or more people (depending on the size of the bot) to review historical sessions and curate newly generated training data almost daily.
Hi, Joel here, I'm founder of a conversational platform here in Brazil (Ubots). In fact launching a bot should not be a technically complex task. On the other hand there are several disciplines where the complexity resides, such as dialog management, dialog state tracking, analytics (decision support), and mainly designing conversations which actually solve people problems in a simple manner, given that the big picture can become increasingly complex over time (if you want some control over it). There are also less supervised approaches where you normally need less / none intervention, but the more unsupervised it is, the less control you have.
48 comments
[ 2.7 ms ] story [ 24.2 ms ] threadNot knocking the author's work, but I feel like you can say "it works okayish" for pretty much every chatbot ever created.
In my view, it all depends on what one creates. I agree that some of today's chatbots may not be the best but that's okay. Maybe we will be able to do better.
We are only limited by our thinking on how to create them.
Same with your retail example.
And a million others.
And take your second example, with dresses.
What kind of events does it understand? There has to be a limited number of event types it knows, it’s awful that there are infinite types of events, the bot understands practically none of them compared to infinity, and you have to guess how to frame your query to fit in its bag, instead of having a list with a search box for event types.
well yes but
It's come a long way since PHP5.
In my view, this is mainly because we haven't yet reached the stage where we can create intelligent chatbots. So we make do with rule-based. Sort of Chat based IVR services.
We might be able to do better in the future that's the plan.
My bot operates off of keyword matching only. There's a web interface to edit "exchanges," which act like a directed graph from message to message.
My chatbot struggles when things are not phrased in the right way (for instance, it has trouble with negatives, as in "I am not well today"). The exchanges that we're designing for the theater piece have to be carefully worded to try to avoid encountering problems like these.
Overall, I think my chatbot is a good tool for its specific application.
For developers, this could be fun too. One idea is to run a chatbot script on all the servers and every time I have to run system commands I can do it straight from telegram.
Geico did something similar. Instead of auto filling one form, you get to have 15 parts.
It’s very simple to me as a user: if your chatbot is simple enough to be easy to implement, it should be a form.
If it’s hard to implement with NLP and what not odds are discoverability will suck, complex operations will fail, and your bot will drive general unhappiness in the world.
https://chatbotslife.com/next-generation-of-chatbots-with-nl...
any thoughts on whether this might be a possible way of creating a good chatbot?
Every time I encounter one, I backtrack and search for a phone number or email or twitter or anything else. To me, chat bots are an opaque interface on top of a flowchart with no discoverability. Might as well just give me the damn flowchart.
I feel like chatbots are an innovation in the field of cost reduction for businesses, but a huge step back in terms of customer experience. What are your opinions?
Most of the websites that employ these are using it in some form of an IVR Anyways when I end up calling such sites I get stuck with IVR.
And I like it better to type than pressing numbers on the phone and listening to that automated and slow voice.
I've used chatbots multiple times. Its just that they are flow specific.
Chatbots can be useful, but this just wasn't the case for our audience (which is very mainstream oriented)
I agree with the lukewarm results of chatbots in most applications.
But that kind of chatbot is surely an exception. And Andrew Ng is the chairman of WoeBot, so I expected it to be good quality.
What I find utterly annoying is a chatbot popping on some software webpage, reducing my field of view and interrupting my progress toward the documentation/download/career/whatever section. In this case I find it an overly hyped widget that I absolutely do not need.
What could have been a traditional application form has been made significantly better by a contextual chatbot. It's also definitely better than talking on the phone.
I guess the meta learning is, if the answers are discrete values and the follow up questions are contextual, chatbots can be great.
And I wish people would stop saying their bots have AIs. I've had more meaningful conversations with a dog than a bot. :)
You need a tool that is capable of the following:
- Collecting analytics about each session, so that you can notice user problems early.
- Providing an interface for improving your training dataset using new data from actual user interactions.
- Evaluating the model after each update (simple accuracy metrics are not good enough; it is possible to maintain good accuracy and have one of your core flows messed up after re-training).
Even when you have an admin tool capable of these, you need one or more people (depending on the size of the bot) to review historical sessions and curate newly generated training data almost daily.