I Am Not A Robot

How to make a chatbot pass the Turing Test

Johan Belin
Dinahmoe

--

Chatbots are according to some analysts the next big thing. The users are shunning social media in favor of messaging apps and chatbots fit perfectly into that. Conversational UI, i.e. being able to text or speak using natural language with a computer, is the future.

So how about Artificial Intelligence, are there any smart bots out there? The Turing Test has been marketed as the way to tell, so has anyone passed it?

http://isturingtestpassed.github.io

We are apparently not there yet. Even Mr Singularity predicts 2029 as the year for the first computer to pass the Turing test. Mitsuku is supposed to be one of the best but it doesn’t take many interactions before you notice something is wrong. And if you misspell a word she gets cranky.

Bottom line is: we are still ten years away from creating a chatbot that can pass for a human. I admit, I knew this when I wrote the title, sorry!

The good news is, it doesn’t matter! Think about a movie, the people in it are not real, they are just actors playing a role, all fake. At a theater the scene suddenly becomes a ship on the ocean, clearly not the case. And you are definitely not in the jungle with an AK-47, it is all just pretend. Still we get profound emotional experiences thanks to our willingness to participate and use our imagination to fill in the blanks.

The Imagination Song, unfortunately without the animations

Here are some thoughts on how to build the illusion that makes the users WANT to play along.

Design the experience for the ones that want to play, not the ones that want to break things. There are always some that will try to break the experience by saying something totally stupid or irrelevant. Don’t spend time on figuring out smart answers to them. First of all they are a minority of the users and a distraction from the ones that want to play along. Second, there is no way that you can come up with answers for all the possible scenarios so even if you try you will miss the most of them.

Instead, make it boring to not play along, help them back on track again and again until they give up. They will thank you afterwards.

Crafting a great character and a natural dialog requires a great script. The dialog could easily become very one sided where the bot have long parts ending with a yes/no question. Asking questions and giving two or more alternatives is one step in the right direction. But what we really want is that the user becomes a part of the conversation. We need to get them to talk. One example is follow up questions:

Bot: “Isn’t this the best time of year?”

User: “No.”

Bot: “Why?”

User: “It is too warm”

Bot: “You are such a pain…”

The bot can encourage the user to ask questions themselves by leaving room for them.

Dave Bowman: Open the pod bay doors, HAL.

HAL: I’m sorry, Dave. I’m afraid I can’t do that.

Dave Bowman: What’s the problem?

HAL: I think you know what the problem is just as well as I do.

The user should be conditioned into interacting from the beginning of the experience, starting with simple yes/no interaction and adding more complex dialogue over time. If they don’t take the bait, well, then the conversation will be as awkward as it would have been in real life.

Start with writing a great, linear script for the ideal path. After that develop the different alternatives and paths. This allows focusing on development of the characters, storyline and conversation. Thinking about script and interactivity at the same time is quite hard, especially for someone used to linear storytelling. It puts constraints on the creativity and the result will suffer. I have seen this again and again, not only with scripts, but with interactive storyboards and music scores too.

Anything that can be woven into the storyline that connects to the user’s world will bring them more into the experience. Using their name, commenting on where they are located and local time, current weather, local news etc will make them feel that the bot knows them and is talking to them.

Bot: “Hi Johan, I hope you are having a great evening!”

Using information that the user has given earlier in the conversation in a new context later will make it feel like the bot is listening, remembers and cares.

Bot: “I thought you liked oatmeal?”

The more alternative story paths and alternatives there is in the conversation the bigger and more complex the project gets. However, the user only knows about the path they chose. We could actually remove all other options and they would still have had exactly the same fantastic, interactive conversation.

Most users will make similar decisions so by understanding the user behavior and expectations (testing!) we can keep the complexity at a minimum without sacrificing the experience. Focus on the main storyline, make that as good as you can. This will create an amazing experience for 80% of the users and an ok for the rest.

For the user to realize they have been tricked they have to do the experience several times in a row. How many books did you read twice? How many films do you see twice? Directly after the first time?

— — — — — -

There is of course a lot more to say. I only touched upon interactive storytelling which is a pretty big topic that I will cover in another post.

Before you go

Clap 👏 👏 👏 5, 15, 50 times if you enjoyed what you read!
Comment 💬 I’d love to hear what you think!
Follow me Johan Belin here on Medium, or
Subscribe to our newsletter by clicking here

--

--

Johan Belin
Dinahmoe

Founder and CD @ Dinahmoe, passionate about digital, looking for likeminded