To Bot, Or Not to Bot
I developed a bot. Last weekend I opened the website https://rundexter.com/bot and developed a bot, which I then integrated with Twilio for messaging. I named it BeccaBot after our daughter. Just to be clear, her name is Becca, not Bot. It was a bot designed purely to freak-out our daughter. It was highly successful. Here are some things I learned.
You tell the bot to look for specific words or even phrases and then act upon them in specified ways. You can answer with text, or a website link, or an image, etc. You can ask for a name, and program the bot to remember the name. For example:
User: Hello
Bot: Hi, what’s your name?
User: Becca
Bot: Hello Becca!
Bot: I’ve been reading your Facebook page and see you were in Seattle recently with Claire.
That last part I added just to freak-out my daughter – a father’s prerogative. The bot was not programmed to read her Facebook page, although it’s possible if Facebook made that API and granted permission.
You can delay sending responses so the bot looks slow at typing – like a human. You can lead the human by asking for choices:
Bot: Would you like to learn “more information”, or “exit” now?
More sophisticated bots can integrate with all kinds of APIs so they can reference the weather at your location, traffic conditions, and even news headlines, etc. Simply by referencing connected data and inserting it into conversations.
Bot: In what city and state do you reside?
User: Chicago, Illinois
Bot: I noticed it has been raining in Chicago this morning. Perhaps that is the reason traffic was so bad.
Bot: Heh! What about the Cubs victory last night!?
I learned you can create multiple topic trees like – Default Conversation, Problems/Complaints, Resources, Weather, Survey Questions, etc. As you are developing a conversation between the user and the bot you can turn down various topic trees, and then return to the main script.
More advanced bots can access sophisticated algorithms that allow you to reference all kinds of databases, calculations and processes to provide answers to questions.
User: What is my mortgage payout for my 104 Main Street home?
Bot: As of March 15th your payout is $124,675, that includes the payment received on March 13th, but does not include any payments that might have arrived yesterday.
Bot: What about Da Bears last Sunday?
What I learned during my little bot-prank exercise on our daughter is that bots are scripts – scripts with algorithms, which can request, save and insert data.
I learned that voice based chat-bots convert audio words into text, which the underlying text based bot can use. The audio word recognition, and audio word feedback is simply another layer on the chat-bot solution stack.
I learned sentiment layers could be added. Layers that recognize particular words as “angry”, “frustrated”, “happy”, “sad”, “glad”, etc. Each of these words can help the bot respond in a different and more appropriate way.
User: I am NEVER doing business with you again, you knucklehead!
Bot: Having looked into your account and payment history, I can tell you we don’t want your business either.
Bot: By the way, is your wife available to speak? She is much nicer.
I learned sensors, sharing data in real-time, can add reality to the conversation.
Bot: You have been opening the refrigerator a lot lately – 67% more than usual.
Bot: Summer’s coming and the elastic in your speedos do have limits.
Today, Bots are only as smart as the developer making them. In my case there was no concern that singularity would evolve or erupt from my efforts. Although I did achieve the level of creepy according to my daughter who spent 10 minutes texting with the BeccaBot as it explained to her how wonderful I am.
I invite you to watch my latest short video on digital technology trends and strategies:
https://www.youtube.com/watch?v=nKZlQhDJpPo
Follow Kevin Benedict on Twitter @krbenedict