How I Learned to Raise My DIY Game by Building a Chatbot

By Aleisha McKeeby, Solutions Marketing & Innovation Manager

I enjoy the DIY Network. It’s not only a source of inspiration for cool projects for my husband and I to do around the house, but it’s a source of motivation too. There’s nothing quite like the sense of pride and accomplishment that comes from taking something that once seemed too arduous, time consuming, and complex to do on your own – like the farmhouse style table we built a few months ago from scratch – and finding out with a little guidance and the right tools, it really wasn’t so bad after all.

Working in marketing at Kore.ai, I’ve always looked at our Bot Builder tool a lot like I looked at the array of lumber, drills, sanders, and wood stain sitting in my garage this spring: with bewilderment and a little fear. Sure, I’d spent hours in heady talks with our product engineers trying to learn the ins-and-outs of how the tool works and how an enterprise would go about building a chatbot, but I have no programming experience, so the idea of creating one from scratch seemed like more of a pipe dream than reality. But inevitably at the end of each conversation one of our engineers would say, "You know, you don’t need to know how to code to do this, you should get in there and build one yourself!" It seemed like the kind of half-hearted advice a friend would give, like "You should try this new workout program I’m doing!" We at Kore.ai always talk about how anyone can build a bot with our tool, so I finally figured I’m anyone. Why not? Let’s do it. Below are 5 things I learned taking my DIY spirit to chatbot development and the “after” video of my DIY effort. 

1. An intuitive tool is a must.

A process is only sustainable and effective if it’s easy to follow and repeat. The guided tutorial in the Kore.ai Bot Builder, as well as the support documentation for developers, and the built in Platform features helped me get from start to finish as a novice without having to ask for outside help.

2. Quick NLP enablement without data requires a smart NLP engine.

Obviously the point of this exercise was to build a bot from scratch, so I came in with no training data to get my bot communicating in natural language. But because of the intent recognition capabilities (also known as fundamental meaning) of the NLP engine within the Bots Platform, I was able to bypass initially training my bot with Machine Learning, and instead gave it basic synonyms to match my task intent. The process, as you’ll see in the video, was fairly straight forward. I named my intent for my weather bot’s task: Get current temperature.

bot-builder-blog-image.png

In a machine learning only model, any utterance variation of “Get current temperature” would have to be explicitly programmed, but all I had to do to get my bot to understand common variances was to add synonyms for “temperature.” You’ll see in the screen shot above I added “temp” as a synonym. Pretty simple! While it might seem intuitive that the bot would already understand “temp” is just shorthand for “temperature” keep in mind that ML models wouldn’t pick that up off the bat.

The Kore.aI NLP engine also allows for machine learning training, so I was also able to program in a sentence like “Is it too hot for jeans today?” and test it against the intent “get current temperature.” That ability to add in odd language variations that don’t contain obvious synonyms AND test it along the way gave me a huge leg up in NL training my bot. Using that step by step approach I could cover the basics, and ensure my bot could understand some left field requests, too.

3. I thought deploying a bot into a communication channel would be my brick wall. It wasn’t.

What good is building a bot if it doesn’t work outside of the builder? That was my big fear, doing all this work to create a task, build a dialog, set up an API, only to have my bot flop in an actual channel. Not to mention GETTING a bot onto that channel seemed like a huge mystery to me. Thankfully I found the Bot Connectors built into the Kore.ai Platform do the leg work on authorization, channel API handling, and auto formatting of messages. What would normally take someone hours of custom work took me seconds. All I had to do was choose my channel (I chose email), test by sending the bot a message, and boom! I had a working bot in a real channel.

bot-builder-channels-kore-ai.png

4. Component reusability didn’t come into play with my first bot, but it sure will with the next.

Component reusability is basically exactly what it sounds like. People like me, and especially enterprise developers don’t want to have to retrace steps or waste work when building a bot, so Kore.ai’s tool literally allows you to reuse almost everything from one bot to the next – from tasks, to dialog nodes, to API calls, to synonyms, even authentication profiles. Knowing that my work can serve multiple purposes down the road showed me exactly how scalable creating bots can be.

5. I’m a novice, but the Bot Builder definitely leaves tons of capability and customization for the experts.

Being that I have no computer science or programming background, and being that this was my first foray into building chatbots of any kind, I chose to keep it very simple. But there is so much more hardcore developers can take advantage of here that I can’t. Nearly every step of the process gives developers deeper flexibility, from the dialog building, to the storing and using of the data bots collect, to adding images and GUI fields into the bot responses, to the natural language training. Leveraging these deeper capabilities of the Bot Builder closes the gap between the simple chatbot I built, and a complex workflow tackling machine. Knowing there is a virtual canyon between the bare essentials and the ceiling of what a chatbot can be made me eager to keep learning and keep upping my DIY game.

You can get tutorials and essential developer documentation for building chatbots on the Kore.ai Bots Platform by visiting https://developer.kore.ai/

See a demo