
Chatbots – Igniting Division of Labour in AI - pelumi
https://medium.com/@pelumi/chatbots-igniting-division-of-labour-in-ai-1430fcc85c8d#.8ggrkxwbg
======
aleyan
Do people actually prefer talking to bots instead of interacting with apps?
Bots don't need to be installed usually, so that makes them lower barrier, but
neither do websites.

They are useful when you want to query them with tasks that have a lot of
degrees of freedom. These tasks may be easier to describe in human language
where the user highlights the important parts forgoing the need to have a
complicated GUI with lots of buttons. In these cases though, users don't know
what the bot is capable off. GUIs are more discoverable because they present
possible options with bad GUIs hiding even more possibilities in the submenus.
This is one advantage over GUIs I would like to see bots explore.

In my experience however bots are not good at doing the right thing when
queried with a task that has a lot of degrees of freedom. I own an Amazon Echo
and at times I feel like I am reciting incantations to get it to do things I
want from it; this is especially true of Alexa's "skills". If I have to
memorize specific commands for the Echo to respond, it becomes a glorified
voice operated command line to me. A verbose, inaccurate command line without
a man page.

~~~
mcintyre1994
Websites don't need to be installed, but websites that aren't Facebook aren't
where Facebook want their users to go.

I'm wondering whether this is really an Apps 2.0 play but in disguise because
apps burnt all their user goodwill a long time ago - and they have a
permission request thing too. I don't know anybody who intentionally uses any
Facebook apps (or if they even still exist) and I doubt the current top tier
companies have building one anywhere on their priority list.

This brings that functionality back to Facebook, not some other website or
app, without the baggage associated with the old Facebook app stuff.

------
visarga
I tried [http://www.mitsuku.com/](http://www.mitsuku.com/), it was
interesting. It was able to do some math and respond to some general knowledge
questions. It knows that a car is heavier than a book, or that fire is not
wet, but water is. It can handle simple contextual questions based on past
lines. Still a lot to go.

------
palakchokshi
I like this idea a lot and have been thinking about this myself. Here are some
questions I've been struggling with:

1\. What would be the incentive for the bot developers to adhere to a standard
that would basically encourage a user to download a meta bot rather than the
bot developer's own bot? Especially once they have spent significant resources
to develop and enhance their bot before any standards were in place. This
would require refactoring at a level that a bot developer might not want to
do. The meta bot might lose out on using such a bot, which might be really
good at what it does.

2\. Let's consider that once bots are created a meta-bot might be able to use
the bot's NLP interface to issue queries. The response format might be so
varied among the bots that the meta-bot would essentially need to allow a
complete pass-through of the response. This would limit the meta-bot's ability
to layer on better structure on the response or even perform it's own AI
layering on top of it because the meta-bot would then need to be able to parse
all these varied responses.

3\. How would a meta-bot rank bots in the same domain? Maybe by scraping the
review ratings on multiple BOT marketplaces, gathering performance metrics by
issuing sample queries, etc. Once users start using the meta-bot there is lot
of information the meta-bot can gather to influence it's ranking but the issue
of cold ranking BOTs is very challenging.

4\. Structuring NLP queries specific to BOTs will also be challenging because
the meta-bot will need to keep track of various "flavors" of queries a BOT
understands. e.g. 2 hotel booking BOTs could have been developed where one
does a progressive Q&A to get to information it needs to make a booking where
as another understands a specific command like "Buy 2 economy class tickets
from San Francisco to San Diego for 15th May"

There are other such questions that make creating a meta-bot challenging.

~~~
pelumi
Thanks for the thoughtful questions. Here are my thoughts on your questions

1\. The incentive for a developer is to get better exposure. This is working
with the assumption that the metabot has a larger userbase than individual
chatbots. In general, the incentive is similar to what causes an online store
to setup a 'store' on amazon's market place or retail sites to list on a price
comparison engine.

2\. As regards the second point, my thoughts when writing the was that it will
infact be a direct pass through i.e. the metabot will not need to bother about
the structure or nature of the requests/response but will instead focus on
knowing about the bots and their capabilities. If it does this effectively, it
theoretically pipes all requests for a specific task to the same bot to
complete. This comes with it's own complexities as well.

3\. To rank bots in the same doamin, an option is to guage the satisfaction of
multiple users of the bots. For instance if a bot is faster to complete a
flight reservation and the 'user' confirms to the metabot that it is satisfied
with the service, that's a positive signal. This can be compared across
multiple bots to measure the effectiveness of each bot.

4\. Indeed, I agree it will be challenging. But I think the challenge is less
of structuring the queries. If the meta-bot acts primarily as a pipe, its most
important task is to identify who handles what and know the state of the
conversation.

There are a lot of kinks to be worked out though...

~~~
palakchokshi
Thanks for responding to my questions. I like this discussion so I hope you
won't mind me continuing it a bit further 1\. Your response is valid for a
developer/team creating a bot once standards are in place. This is not the
case right now so any bots created right now will need to be refactored.

3\. Your response is valid when a meta-bot is tracking bot usage and user
feedback on bots. That's what I would call a warm ranking. However cold
ranking is when a meta-bot is just starting up and has no usage data about the
bots.

4\. Even working as a pipe the meta-bot would need to figure out how to pipe
the query to a bot especially consider this scenario: The user has asked "Book
me 2 tickets and a hotel in San Diego for May 15th". The meta-bot has
determined this is a travel query and found that Bot A is highest ranked for
travel queries. It pipes the query to Bot A. However Bot A does not understand
how to process this query because it excels at processing queries like "Book
me 2 economy tickets and a 3 to 4 star hotel for 3 nights in San Diego" and it
received high satisfaction ratings when it was queried like that. However in
this vague query scenario Bot B does a much better job but the meta-bot won't
know about it.

This is fascinating. I have an Amazon Echo and ever since I got it when it was
not widely available I've been fascinated with the potential of it and Amazon
went in the direction that I predicted it would with that. However Amazon Echo
still uses APIs to interact with services and provides a nice NLP interface to
it. This is a friction point for getting new things in the Echo and I have
been wondering how to remove this friction.

