Chatbots versus relational agents
There has been an explosion of chatbots over this last year, with much of the media talking about how chatbots have disappointed. That’s because most of the bad bots have been scattered, while the successful bots have been hyper-focused, like the Domino’s bot to order pizza, the Uber bot to call a car, or the new Starbucks bot to order your coffee ahead of time. One thing many people miss is the difference between a very simple chatbot and a more complicated relational agent.
So a quick comparison of the two for bot designers and users.
Chatbots are simple, direct-action agents with minimal logic. They can do one to three functional tasks well. Think of them as an app you access over your text and voice messaging services (SMS, FB messenger, Alexa, Home). They don’t have names and personalities — they are dumb, robotic servants that just save you marginal time. Users give single commands like: “Alexa, ask Dominos to order me the pizza I got last time for pickup in an hour.” The tech stack is often NodeJS on Heroku with a simple database and basic if/then logic and dialogue trees. Right now, almost all the bots are simple chatbots.
Relational agents (RAs), as coined by AI and HCI researchers like Rosalyn Picard or Tim Bickmore at MIT’s Media Lab, are conversational agents with complicated logic and that try to be more well rounded. They may do a few functional tasks, but their goal is to form an emotional connection and some sort of relationship, the way Microsoft’s Xioaice offers a sympathetic ear to smartphone users in China. RAs are great at dialogue and longer conversations; think about a friend you may share SMS messages and photos with to decompress after a long day. Most RAs use large data sets, and some deeper machine learning and deep learning tools, from Scikit and TensorFlow to a large AWS backend.
Today’s chatbots will eventually morph into tomorrow’s RAs. The lesson for chatbot creators and designers that we’ve learned at Starbutter: Start with simple chatbots to get experience and get user interaction data. Use off the shelf tools like API.AI (our preferred tool) and NodeJS. Then start experimenting with the more interesting machine and deep learning tools to build a real RA with Python and an AWS backend. While RAs can’t be deployed for convincingly real uses today (not without a budget like Microsoft Research), getting data is extremely important and will separate out losers from winners.
Just like land was the most important thing in the agricultural age, and capital/manufacturing equipment in the industrial age, you will see that data and algorithms are what matter most in the information age today (and really, most algos are off the shelf, so the data becomes the most important thing).