
Chatbots aren't as difficult to make as you think - mlwhiz
https://mlwhiz.com/blog/2019/04/15/chatbot/
======
kuzehanka
Question to HN. How do you feel about chatbots?

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?

~~~
LawnboyMax
I really enjoyed [https://woebot.io/](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.

~~~
131012
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.

------
lightyrs
Sample applications are rarely difficult to make. I built a bot as an
experiment for my team ([https://m.me/PigeonCorps](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.

~~~
mlwhiz
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.

------
BoorishBears
Making a chatbot that’s useful is more impossible than you think.

~~~
mlwhiz
I do agree it is hard. As per usefulness, Customer service industry can use it
in a pretty good way. Also i think they are fun :)

~~~
collyw
What would you gain over a well organized FAQ page?

~~~
mlwhiz
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.

~~~
BoorishBears
How does this beat a simple form of FAQ with a floating action button to get
some help?

~~~
mlwhiz
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.

~~~
BoorishBears
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.

------
king_magic
"Here we learned how to create a simple chatbot. And it works okayish."

Not knocking the author's work, but I feel like you can say "it works okayish"
for pretty much every chatbot ever created.

~~~
mrspeaker
So you're saying chatbots aren't as difficult to make as you think?

~~~
mlwhiz
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.

------
LawnboyMax
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.

------
333c
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.

~~~
mlwhiz
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.

~~~
BoorishBears
Why is this better than a form?

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.

------
shraremywin2
This article looked pretty cool for creating a chatbot and using graph
databases.

[https://chatbotslife.com/next-generation-of-chatbots-with-
nl...](https://chatbotslife.com/next-generation-of-chatbots-with-nlp-services-
and-graphs-cd811a8165d7)

any thoughts on whether this might be a possible way of creating a good
chatbot?

------
joelcorrea
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.

------
ninedays
Off-topic here but I actually am annoyed by the capital letter 't' from
"Think"

~~~
mlwhiz
haha. Why? I Am not good at grammar.

------
bashy
Not used it yet but: [https://botman.io](https://botman.io)

------
hprotagonist
I thought chatbots were "the cool thing" in 2016/2017, and are out of favor
again now.

------
ackbar03
But is bing the first search engine you've ever chat to???

------
oldmantaiter
You might want to revoke that token...

------
LoSboccacc
> pip install chatterbot

well yes but

~~~
mlwhiz
I understand what you are saying here ;)

