Thinking like a bot: Lessons from creating a newsbot

Alexander Graßhoff
breakingbotnews

--

In a paper published in 2011 Malte Ziewitz takes his readers on a walk. While wandering through the Streets of Oxford Ziewitz and his friend Torben — both working at the Saïd Business School — try to think of an algorithm that could guide them through the city. They start with one single command: “At any junction, take the least familiar road”. But conditions in real life, they did not think of at first, bring their algorithm time and again to the brink of its functionality and make continuous extensions necessary. As an example, they did not consider the case that both options of a junction were familiar already; in order to guarantee that their algorithm would guide them appropriately even in that case, they simply added a line: “If you know all roads already, go straight”.

But soon their algorithm swelled to several lines of text, by far exceeding the length and complexity the two of them had expected when starting their “algorithmic walk [emphasis in original]” (p. 2). Nevertheless, with increasing amount of code also the adjustedness of the algorithm with regard to real life conditions improved.

In total, Ziewitz’s paper points to the productive role and the positive connotation that adheres to the moment of failure within the development of an algorithm. Speaking more generally, the given text belongs to a few contributions that actually illustrate the process of producing an algorithm — instead of analyzing the algorithm in its full functionality.

While designing our newsbot we see ourselves confronted with questions that are similar to the concerns Ziewitz had to cope with. Summing up, our central thoughts revolve around the following questions: How can we increase our bot’s adjustedness to real life conditions? What are typical situations that our bot will have to react appropriately upon? What can be expected from the user and what from the bot?

In order to give answers to these questions, we tried to simulate an imaginable conversation of a hypothetic user with a hypothetic version of our bot. Thereby, we tried to figure out and agree upon some of the core capabilities and reaction routines of our bot.

The following draft of a chat stems from this simulation which happened inside a Google Doc. One person played the role of the bot, the other the role of the user. Statements in square brackets represent buttons offered by the bot or pressed by the user. Greater time delay during the conversation is signified by three dots in a row.

But now: Have fun while reading — and p.s.: don’t take the news headlines too seriously ;).

_________________Start of Simulation_______________

Bot:

Hi, I once was a paper boy but got into a time wave. Now I live as an algorithm in the worldwideweb. It would be a pleasure to deliver the latest news stories to you. May I take a look at your facebook profile?

[yes] [rather not]

User:

[rather not]

Bot:

Too bad. It would make my work a lot easier. If you change your mind, you can still go to settings and let me peek.

Let’s do it the old way then: What topics are you interested in?

User:

Sport, Beer, Politics

Bot:

I added these topics to your summary. How often do you want to receive it?

[multiple times per day] [daily] [weekly]

User:

[multiple times per day]

Bot:

Great! Here is you first summary:

•Rice found in China

•New beer alliance

•Trump: I like all people. As long as they are white Americans.

•Olympia Gold for Ryan Rudolph

Is there anything else I can do for you?

[more news] [top stories of…]

User:

[top stories of…]

Bot:

About which topics do you want to receive top stories?

User:

Olympia

Bot:

(Did you know there are 89 nations competing at the Olympic Games in Rio?)

•US volleyball star wins gold.

•German rowers win gold.

[more]

User:

Tell me a joke!

Bot:

I do not understand what you want from me. Do you want to search for “Tell me a joke!”?

[article search] [web search]

User:

[web search]

Bot:

Sorry, but that’s not my job. You can do it yourself: google.com/?s=tell%20%me%20%20a%20joke!

Bot:

Good Morning! You can get instant updates to topics as well. These are handled seperately to the (daily/weekly) summaries. Would you like to set some instant updates up?

[yes] [no]

User:

[yes]

Bot:

About which topics do you want to receive Instant Updates?

User:

Give me instant updates about the presidential elections in the United States.

Bot:

I’m a young and quite comprehensible paper boy, but could you sum up your request in three words at maximum.

User:

Presidential elections US

Bot:

Okay, I added “Presidential elections US” to your Instant Updates. That makes 5 pence!…Just kidding. Anything else?

[settings] [add more topics]

User:

[settings]

Bot:

You get a summary about Sport, Beer and Politics multiple times per day and instant updates about 1 topic. I don’t know your gender or your facebook profile.

[change something]

User:

[change something]

Bot:

What would you like to change?

[Summary topics]

[Summary frequency]

[Instant Update topics]

[Gender]

[Allow me to see your profile]

User:

[Gender]

Bot:

How may I adress you?

[Madam] [Sir] [Set yourself]

User:

[Sir]

Bot:

Thanks, Sir. Anything else I can do for you today?

[Latest news] [Top stories of]

User:

Summary topics.

Bot:

At the moment I collect news about Sport, Beer and Politics for you. Tell me the topics you want to add, but I’m in a hurry so simply list them up separated by a comma. To remove some, just prepend a minus (eg. -beer).
[-sports] [-beer] [-politics] [climate] [europe]

User:

-sports, climate

Bot:

Sir, I didn’t know you are no longer interested in sports. I won’t bug you with that in the future. Furthermore, I added climate to the things you are interested in.

Anything else I can do for you at the moment?

[latest news] [change more topics]

User:

Thx!

Bot:

Great! I will catch up with you later today if there has happened anything interesting in the world. If you want to get news about anything, just come back to me. Have a nice day.

User:

You, too.

Bot:

Sir, sir wait a moment! I got the latest news about the presidential election US for you:

•Hillary set up a new mail server on her raspberry pi.

[top stories politics] [top stories US] [stop this instant update]

User:

[stop this instant update]

Bot:

Sorry, that I bothered you. I won’t show you news about presidential election US in the future.

[settings] [top news]

User:

Summary

Bot:

Here is your latest summary about beer and politics:

•Hillary set up a new mail server on her raspberry pi

•Beer is most sold beverage at the Olympic games

•Rice got lost in China

Is there anything else I can do for you, Sir?

[top news][articles about…]

User:

Sttings

Bot:

Sorry, I didn’t find any news about Sttings.

[top news][articles about…]

User:

Settings

Bot:

You get a summary about Beer and Politics multiple times per day and instant updates about 0 topics. I adress you as Sir. I don’t know your Facebook profile.

[change something] [Feedback]

User:

[change something]

Bot:

Sir, what would you like to change?

[Summary topics]

[Summary frequency]

[Instant Update topics]

[Gender]

[Allow me to see your profile]

User:

[Summary frequency]

Bot:

I summarize the news for you multiple times a day. How often do you want me to do it in the future, Sir?

[multiple times per day]

[daily]

[weekly]

User:

[weekly]

Bot:

Got it, Sir. Starting at this moment, I will give you a summary about beer and politics once per week on Monday.

[change day] [latest news] [settings][feedback]

User:

Stop

Bot:

Sorry. You won’t get any messages from me until you write “start”.

User:

Start

Bot:

Hi, I once was a paper boy but got into a time wave. Now I live as an algorithm in the worldwideweb. It would be a pleasure to deliver the latest news stories to you. The last time we met you were interested in beer and politics, which you got as weekly summaries on Monday. You did not get any instant updates. Is that still fine with you, Sir?

[yes][settings]

User:

Feedback

Bot:

I take this as a yes.

What can I do better?

User:

Be more polite.

Bot:

Thanks for the feedback, Sir. Was that all?
[yes][no]

User:

[no]

Bot:

What else can I do better?

User:

Everything’s fine.

Bot:

Thanks for the feedback, Sir. Was that all?

[yes][no]

User:

[yes]

Bot:

Great. Here are the latest news:

•Bot breaks everything

•Bots are awesome

•Sir likes bots

[top stories about… ]

__________________End of Simulation_________________

Literature

Ziewitz, M. (2011): How to think about an algorithm: Notes from a not quite random walk. Discussion paper (draft version) for: Symposium: Knowledge Machines between freedom and control. Kulturfabrik Hainburg, Austria.

--

--