Bot challenges

Last week we built a bot that returns real Donald Trump quotes when users ask questions. The concept was simple, we’d scrape twitter, speeches, and interviews to organize topical quotes to enable users to ask the candidate questions.

Our goal wasn’t to make a political statement, more to explore the technology in a topical manner.

Sample Donald Drumpf Bot Conversation

Before building the Drumpf Bot, we built chat bots from scratch. Rather than blindly deploying the latest NLP and self-learning algorithms we learned why they were important and how best to deploy them. I’d suggest this approach to anyone learning about the space.

With all the buzz in the chat space, we thought it would be interesting to share a few of our lessons learned and observations from this experiment.

Chatbot vs bot

Users are not sure how to interact with a bot. For years they’ve seen experiments that allow them to have a pseudo-conversation with a computer. When starting a conversation with a bot they’re not sure if they should use natural language, only keywords, or some combination of both.

It’s clear that in the near-term bot builders will have to do a better job of defining these interactions for the user. Over the long term NLP technology will help solve this problem. .

Testing limits

Users seem to intrinsically want to test the limits of the bot. If they received an acceptable answer for one question, they want to ask a slightly more complex question. We have seen conversations progress from “what do you think of China?” to “what do you think of China and APAC relations.” While the step-up in complexity is logical, it’s important to account for this when designing your bot.

When reviewing the logs you get to see a little slice of the human psyche that you might not be too pleased with. We’ve seen questions ranging from sad (“Why am I fat?”) to downright disgusting (think the aristocrats) and racist. Handling these irreverent questions gracefully is important.

Almost everything is technical

Every aspect of building a complex bot is technical today. Each integration requires work, as do deployments and hosting, and even writing and creating responses. We’re still a ways off from allowing non technical users to create and deploy bots.

Even when starting with some of the excellent open source projects you’ll still need technical skills to get your bot up and running. Even more so if you’re looking to integrate many platforms or data sources.

Discovery is hard

Where do you find bots? Many of the platforms are building their own stores, but discovery is still challenging. It’s no fun looking through 6 app stores to find the bot you’re looking for. The taxonomy for organization is still undeveloped. It’s not clear if a bot will be conversational or transactional, will be designed for broadcast or interaction, or will be available on multiple platforms.

Fragmentation

Platform fragmentation is annoying. Deciding what platforms to support is a an important decision — it is also one that isn’t entirely clear. For business you should support Slack, but should you support Slack if you’re making a commerce app? How about WeChat if you’re based in the US? Sure it’s more popular in China, but wouldn’t it make sense to add support?

Fragmentation is further compounded by the lack of transparency on each network. You have rough estimations of users, and some idea about roadmap, but it’s not clear when each platform will be 100% open for business.

Roads, Bridges and Powerlines

The infrastructure for building chat bots isn’t there yet. You’ll need to set up integrations, build unique scripts, customize your processing algorithms, weight responses, handle unanswerable questions and market your bot. It’s a lot. I’m excited to see companies make this process a lot easier.

The road ahead

We’re tackling a few of the problems we listed above. If you’re interested in this space, we’d love to meet up.

Show your support

Clapping shows how much you appreciated Adam Lawrence’s story.