Owlbot: Faith’s first chatbot (and barcamp)

For her talk at Barcamp Southampton yesterday, Faith did a presentation on owls, together with a chatbot she trained to answer questions about owls.

I’ve brought Grace to a couple of barcamps with me before: Barcamp Berkshire and Barcamp Bournemouth. But this was Faith’s first time.

She decided that she wanted to do a talk on owls. That wasn’t a big surprise… she’s a little bit obsessed with owls.

Some of Faith's owls

For her first presentation, I suggested that instead of just talking to slides, we could make a chatbot to do the presentation with her. That means she wouldn’t have to do as much talking, as her presentation could be her asking questions and the chatbot answering them.

As well as hopefully making it a little easier for her to present, I thought it’d be a good chance for me to introduce her to the idea of chatbots – what they are, and how you make them.

owl chat

You can try her bot out at owl-chat.eu-gb.mybluemix.net.

She’s been working on the chatbot for a few weeks now.

We started out doing it on paper.

She used flash cards to collect all the info she wanted the chatbot to know. One flash card per topic.

card - front

One one side, she wrote down a load of different ways that she could think of asking for information about that topic.

card - back

On the other side, she wrote down the answer – the facts she found by doing research for her talk. She did this in red, to make it easier to tell which side of the card was which.

We ended up with a lot of cards, covered in notes about owls. But it didn’t take too long – that was maybe a few afternoons, and she’s obsessed with owls, so she found it interesting.

Then came the slower bit: typing them in!

typing them in

We used IBM’s Conversation service for this. It wasn’t meant to be a sales pitch, but it was just the easiest and most convenient tool for us to use for this.

It’s all web-based so nothing to install. And for the amount she used it to do this project, the API usage doesn’t cost anything.

But she’s not a very fast typist, so this took a while.

intents

First, she typed each of the questions she came up with. This was all the blue sides of the cards.

The UI has a cards-based interface, so it was a close match to the cards we had spread out over her bedroom floor.

intents

For each card in the UI, she had to type in each of the variations that she’d written down for how to ask the question.

dialog

Next, she had to type in the answers from the red side of the cards.

The UI for this lets you build a conversation tree made up of nodes that you wire together to specify the flow of the dialog. It’s straightforward enough if you’re used to using computers, but was a little complex for an eight-year-old, so I built the conversation tree for her. I put all the nodes on the canvas and wired them up, but left the space for the responses empty for Faith to type in.

She did some of them, but it ended up being a bit time-consuming so she roped her big sister in to help finish off the typing!

That was basically her talk. We explained why she likes owls. Then it was live demo time – she asked her bot some questions and let it say the answers. And she took some questions from the audience to show that it wasn’t all faked 🙂

Finally, we talked a bit about what it was like to make it.

I’ve written before about projects I’ve done with the kids to introduce them to the capabilities and behaviour of AI technologies: training a computer to play Rock, Paper, Scissors, making something that learns to play top trumps by playing against you, and teaching a computer to play Guess Who. This ended up turning into a similar sort of project. As before, the objective wasn’t to come up with the perfect, most amazingly trained AI system – rather to give her a quick taster of what is involved in doing it, making sure to stop before it turns into a chore!

And I think it went really well. She has a good basic idea of what chatbots are all about, and her talk went down pretty well.


Tags: , , ,

Leave a Reply