Introducing Amy the Stylebot

She’s an Annenberg Media Slackbot available to help USC students with copy editing.

By Laura E. Davis and jenn de la fuente

Newsrooms have undergone massive change in recent years, some of it good and some of it bad. We are firmly in the camp that thinks the vast majority of it is good, but there are evolutions to put in the “bad” column. Amid all the change that we’ve spent our careers championing, one thing we don’t want newsrooms to lose is respect for copy editing. Every journalist needs it now more than ever, when publishing is just a tap away.

We’ve worked in newsrooms with formal copy desks and those without. Jenn was a copy editor herself. Most of the work Laura has published in her career has not gone through a traditional copy desk — including many push notifications sent when seconds count. It’s terrifying work, tbh. However, her informal passion for copy editing gave her confidence in these moments, and probably saved her many times.

Now, in our jobs as professors working in USC Annenberg’s newsroom, we pass along our experience and values to the next generation of journalists. Our newsroom does not have a copy desk. Much as with the model Laura learned to edit in at The Associated Press, our student editors do line and copy editing at once. They are encouraged to consult the AP Stylebook (Annenberg teaches and follows AP style, though Annenberg Media has some of its own rules), but this is not your typical newsroom. We’ll spare you the details, but it’s a very different environment when student editors typically work one shift a week and don’t have a set desk where they can spread out all their editing resources. This makes consulting the needed books and/or documents easier said than done. Enter Amy the Stylebot.

Annenberg Media uses Slack to communicate, so we decided to create a Slackbot for copy editing. We’re naming several consumer-facing products Annie (we’re the Annenberg School — get it?), so we settled on a name for her “cousin,” Amy, inspired by our internal shorthand for Annenberg Media: AM.

The idea is simple enough: The students are already on Slack, and now they can ask copy editing questions there by tagging @Amy Style Bot or using the Slack convention of /amy [search term]. Amy is premised on the workflow of using the AP Stylebook: inquire by keyword. However, as with any product that involves human language, it got trickier once people started chatting with her. Here’s how we started Amy and what we’ve learned so far.

Data entry: There are hundreds of style rules, so where to begin? Luckily, with the help of our fantastic writing coach and former L.A. Times copy chief, Henry Fuhrmann, we had already been tracking our newsroom’s most common style mistakes and had made a “cheat sheet” of 11 style rules that we distributed throughout the newsroom. We started there, by entering those rules into Dexter, a bot CMS that Jenn learned about at ONA. Jenn integrated the bot with Slack, and boom, our longstanding idea was a reality. It took maybe an hour or so.

Of course, 11 style rules do not a style guide make. But we essentially had our MVP.

Crowdsourcing Amy’s learning: With the release of Amy into select Slack channels, we encouraged students to begin using her so we could test the bot and start gathering new entry ideas. We led by example by asking Amy questions we knew she had the answers to, then encouraged students to @mention her with their questions. We’ve since sent a few reminders as well.

As you can see above, Jenn programmed Amy so that when she doesn’t have the answer to a question, the reply on Slack @mentions both of us so we can take note of the request. We also distributed a Google spreadsheet where students can input questions or search terms, and we can can fill in the answers with Henry’s help and add them to Dexter. We add new entries when we have a few spare moments, and we try to set aside time one day a week to developing Amy. The progressive nature of the data entry beats a winter break filled with paging through the AP Stylebook (no offense to Laura’s former colleagues there).

Language: Amy, obviously, has a persona, but she’s busy and doesn’t really have time for idle chitchat. Her answers are conversational, but without much flair.

As longtime AP Stylebook users, we are accustomed to thinking of style questions in terms of keywords. But we want Amy to be responsive to various types of inquiries. Fortunately, the keyword-based structure of Dexter makes it easy for our entries to translate into questions. The answers, though, need to be flexible. Sometimes entries in our spreadsheet are questions; sometimes they’re keywords. If what you program in Dexter assumes a question, you might get this awkward situation:

Of course, that conversation was designed to go like this:

Amy is now prepared for both situations by beginning with: “Many usage experts say you should use semicolons rarely.”

How to push Amy’s buttons: As any frequent stylebook user knows, there are many entries that can’t be answered with a simple paragraph. An inquiry about “title” or “numeral” could come from a variety of editing situations. We did not want Amy to barf giant blocks of information that students would have to wade through to find their answers. Fortunately for us, Slack and Dexter have a ready-made solution: buttons.

We used buttons to parse broad entries that have many contexts. For example, here’s how a conversation with Amy might go if you have a question about titles.

Buttons also came in handy when we were faced with style rules that require more than one answer for the same keyword. “That,” for example. We wanted entries for “that” vs. “which” and “that” vs. “who.” But, unless students only typed in those exact terms, we wouldn’t be able to distinguish when they queried just “that.” So if you ask Amy about “that,” she comes back at you with a question.

This solution works, but there are a couple drawbacks: 1) It’s an extra step to get the answer, and 2) Amy’s smart, but not that smart 😞. Here’s what happens if you ask her directly the difference between “that” and “which”:

We started by asking ourselves whether there is a function in Dexter that allows you to pair keywords. We haven’t found one, but if it exists or if you have a better solution, give us a shout!

Challenges: One of the biggest challenges with Amy was trying to figure out how people would actually ask her questions. Natural language is a tricky thing, and while Amy had answers at the ready, she could be asked the same question in myriad ways. For instance, Amy can tell you how to use “million” or “billion” correctly when referring to money or other numeral uses, but that answer might not surface unless students type in “million” or “billion.” It’s more likely that someone would say, “How do I write 25 million dollars?” Luckily, that question hits the keyword “million,” which is a rather intuitive way to program that style rule. But what if someone wrote, “How do I write a large amount of money?” Our entry, therefore, includes the key phrases “large number” and “money.”

Even more vexing is if someone wrote, “How do I write 25,000,000 dollars?” That takes away the trigger “million,” but we also have “dollar” in there. But what if they wrote, “How do I write $25,343,685?” We tried adding “$” as a trigger to that question, but that appears to be a no-no. That caused Amy to answer every question with the answer to our “millions” entry.

As you can see, we fixed it. And if you’re noticing that for the first time Amy has a face, we’ll get to that in a minute.

We can’t solve for the literally millions of scenarios in which students ask about very specific dollar amounts as in our example above, but Amy definitely needs to be updated as students use her and we learn how people really ask for information. As our number of entries grows, we also risk needing the same keyword for multiple entries, as with the “that” example that we solved with buttons. Will we be able to solve every keyword conflict with buttons? We don’t know yet.

Another concern: The loss of serendipitous learning. Because you can’t page through Amy the way you do a stylebook (weekend plans, anyone?), discoverability is harder if you don’t know what to ask. For example, we debated the entry for appositives. How would you ask about it if you didn’t know the word “appositive”? We settled on making the triggers “appositive,” “description” and “describe,” and Amy helpfully provides the definition of an appositive in her answer. But will that help stamp out mistakes with appositives in our copy? It remains to be seen.

And as you can see from our screenshots, even though we’re going through the effort to make Amy imitate a human, we forgot at first to give her an avatar.

But it’s all good now 😇.

Growing up is hard: How, exactly, will Amy evolve? We didn’t intend for her to be an all-knowing bot (as we said, she’s smart, but not that smart). We had a more specific purpose in mind when we designed her: to answer more technical and basic copy editing questions. But we quickly discovered that others wanted to use her for a wide range of purposes. We got requests for entries such as “antifa,” fair use and how to use anonymous sources.

We can’t predict what students in our newsroom want to know. It’s hard to say if people would be discouraged from using Amy if she can’t answer all their questions, and yet the only way we can make her smarter is if people keep using the bot and asking her things she doesn’t know.

A future feature idea from Jenn: Giving Amy the ability to respond to inquiries containing the three-letter codes that are the common way to refer to USC campus buildings with the correct name of the building and its location. As Amy gets more use, we see her evolving into more of a newsroom concierge capable of not only answering style questions, but also being able to help with general reporting questions, to give guidance for diversity in sourcing and reporting and to provide directory information that you would otherwise have to turn to several different external sources to look up.

Bonus: Amy can also give you actual style advice 👗💅.

What’s next? In order to encourage more newsroom testing, we’re building Amy into the news editing test we give prospective student editors each semester. Not only did that help us add more entries to Amy (pro-tip to Annenberg Media students reading this post: Amy has most of the copy editing answers to the test 😱), but the requirement that test-takers query Amy at least once will give us more data on real-world editing situations.

Jenn also had another great idea: Create an Alexa skill based on Amy the Stylebot. Because people are already having text conversations with Amy, it seems like a logical next step for people to have voice conversations with Amy. Building an Alexa skill follows a similar structure to the question-and-answer format already used in Dexter, and this will make Amy even more accessible in the newsroom.

Have thoughts, questions or ideas? Please let us know, either here or on Twitter.