Media executives have seen app use decline and are aware that they need to meet audiences where they are. So as messaging platforms like Facebook Messenger, Twitter, and Slack opened themselves up to chatbots with the goal of keeping users within their platforms for longer, news organizations have joined retailers, hotel chains, and banks in racing to build their own.
There are currently over 300,000 chatbots in existence, although the majority can be found in non-news sectors. Chatbots (“bot” is short for robot) typically work by asking users for input — either in the form of text or clickable options — and providing tailored information in response. This allows them to give users personalized information while collecting data about what users are interested in.
In the news space, chatbots have been used to both gather and disseminate information. BuzzFeed, for instance, used Buzzbot to survey people’s reactions to the 2016 Democratic and Republican National Conventions.
CNN’s bot on Facebook provides personalized news on demand by giving readers the option to type in one or two keywords and providing related news articles. Similarly, The Washington Post also uses its Facebook Messenger bot to distribute stories, but in the form of a carousel with five articles that readers can choose to click on if they wish to.
There’s a great deal of experimentation across the media landscape. For example, Fusion’s Emoji News bot on Facebook provides users with summaries of its top stories, replacing select keywords and phrases with emojis. The Guardian’s Sous-Chef is a cooking bot on Facebook that dishes up recipes with a side of wit. And Poncho, a cheeky weather both that lives on both Facebook Messenger and Slack, has generated buzz.
News organizations still need to figure out the best metrics to judge the success of their chatbots, since the most common one — session length — can be misleading. Though it’s unclear how chatbots can lead to monetization, news organizations may profit from this technology in other ways. Building automated systems can save journalists time, which in the end, saves newsrooms money.
Why not bot?
Despite the rapid proliferation of chatbots, news organizations have had limited success with them thus far. For one, there isn’t much user demand for them, largely owing to the fact that they’re clunky and difficult to use: the natural language processing and artificial intelligence they are built on are still in the nascent stages, leading to a poor user experience. Some critics of recent chatbot experiments argue they shouldn’t try to mimic human conversation because people then expect them to understand things a human would.
Ethical questions have also arisen about whether people have the right to know whom they’re talking to, whom the data collected by chatbots belongs to, and how the data will be used. Although some platforms, such as Slack, inform users that they are talking to chatbots, a user on a platform like Twitter may argue with another user for hours before realizing that his or her sparring partner is not a fellow human.
One response to this last concern is BotOrNot, a service that helps people determine whether a Twitter user is real or not. In addition, the Online News Association has developed a list of ethical guidelines addressing some of these scenarios. Even with these promising developments, news organizations’ chatbots still have a ways to go: although chatbots both dispense and receive abuse, there are currently no laws governing their speech.
Get to know your bots
At its basic level, a bot is a software program that performs one or more functions, although the term is used to define many different applications. The following terms help distinguish one type of bot from another, although the types can overlap:
- Chatbot (also known as a messaging bot): A bot that has conversations with users. The bot’s responses are prescripted by humans, and an algorithm is used to determine which response is appropriate for each situation. Often the bot has access to data that it can deliver to users, whether in the form of a weather report, a list of nearby restaurants, or a number of news articles related to a specific topic. The conversation between bot and user can be verbal (as with Amazon’s Alexa, a virtual assistant) or in the form of text messages (as with CNN’s bot on Facebook, which provides news on demand).
- Service bot: A bot that uses a computer program to make a human’s job easier. A sophisticated example is the Los Angeles Times’s Quakebot, which takes earthquake alerts from the U.S. Geological Survey’s Earthquake Notification Service and creates basic articles with details like the time, location, and magnitude of the earthquake. Service bots also include malicious programs that are designed to spam users or organizations.
- Enterprise-facing bot: A bot that is intended for use within an organization. A journalistic example is Blossom, a Slackbot that The New York Times uses to decide which stories should be posted to social media.
- Consumer-facing bot: A bot that allows an organization to interact with its users. Most news organizations’ bots, like the CNN bot and the Fusion Emoji News bot, fall into this category.
- Platform-native bot: A bot that lives within platforms like Facebook Messenger, Twitter, Slack, Skype, Telegram, and Kik, among others. Howdy, for example, is a Slackbot that schedules inter-office meetings.
- Platform-independent bot: A bot that exists outside messaging platforms, either in the organization’s app (Quartz’s messaging bot) or on an operating system (Siri, another virtual assistant).
How to build a chatbot
Creating a chatbot isn’t necessarily a difficult task. IBM Watson’s Conversation explains how to build basic bots for Twitter, Slack, Facebook Messenger, and other messaging platforms, and Chatfuel provides a walk-through for building a Facebook Messenger bot. Neither approach requires any coding.
Building a chatbot from scratch is considerably harder. Patrick Hogan, Fusion’s bot builder, suggests the following steps:
- Learn a programming language. Two of the recommended ones for beginners are Python and Ruby. Be prepared to invest a minimum of 3-6 months to become proficient.
- Understand what APIs are and how they work. You will have to work with the API of the platform or build your own. Here is a guide for beginners.
- Understand what Markov chains are and how you can use them to build chatbots, and consider becoming competent in machine learning.
Once you have this foundation, start thinking about what kind of chatbot you want to build and what you want it to do. Because a chatbot is built on a set of rules that plan for every possible scenario, build flowcharts to map out these scenarios. Here’s a list of some flowchart softwares that can help.