Tuesday 14 January 2014

ChatBot 1 - My Grandmother's a ChatBot



Mechanical Turk

The Idea

It stuck me some time ago that the amount of knowledge we have of our grandparents and great grandparents is very limited. If you're lucky, you might know where they were born, where they lived and went to school, what job they had, who they married and who their children were. That's not a lot of information! You might get the odd story or two, anecdotes about their childhood etc.

You could record this information in a document, or... you could bring it to life through a conversational agent of some sort!

So... rather than aim for a complete biography of someone's life, would it be possible to capture a reasonable set of facts, stories and events that could be used to host a conversation with that "person"? A conversation that would not be too much different from one you might have had with your grandmother anyway. Light on detail, possibly contradictory, and often confusing - but informative, possibly funny and hopefully interesting.

Would this be an useful way to capture someone's life history? Would it help future generations understand a bit about their ancestors in a more engaging manner than reading a document? Is it an useful way to teach history? Is the current technology up to the task and freely available for the masses? Is it also possible to create a fictitious interviewer to gather this information in the first place? Does the information need to be codified by experts before making it available to a computer program? Is it possible to automate this activity and provide a system that was fit for commercial use? etc. etc.

This is not a new topic and much has been done to address these questions over the last few decades. I'm aware of some of this work but would like to find out more. I'm also after feedback and guidance from others who have explored this trail before.

I'l set off to explore these ideas with the aim of constructing various implementations from the freely available software and see if I can answer some of the questions I've raised above. This is meant to be a fun project and not an authoritative treatise on artificial intelligence!

Background

The idea of a computer or machine that embodies a person's knowledge and abilities has been around for quite a while. The term ChatBot is commonly used today.

The Turk (or Mechanical Turk) was an eighteenth century creation that used a real person inside a cabinet to provide the allusion of an intelligent machine that played chess. The appeal of such a contraption has remained with us ever since.

In the 1950s Alan Turing devised the Turing Test to determine if a machine could be regarded as intelligent. Actually, what he proposed was something slightly more subtle, a test to tell if a human could tell the difference between a human and a computer through a dialog with both via a screen and keyboard. This gets around the problem of defining "intelligence" but is rather subjective.

A competition is held each year along the same lines: it's the Loebner Prize.

There are other examples of computers beating humans at their own game. Watson, the IBM computer program that won the quiz show Jeopardy is one such impressive machine along with Deep Blue, the chess computer - a formidable challenge to the most accomplished chess masters.

Interestingly, Watson's creators were concerned that the Jeopardy staff would turn the game in to a Turing Test by exploring the  deficiencies of Watson. More on this problem later, but a clear indication that their aim was not to mimic a human Jeopardy player, but simply to create a machine to win Jeopardy.

But now we're digressing - while Watson and Deep Blue are examples of very smart computers, the capability we're after relates specifically to programs that can act as a convincing proxy for a real person. Unless all your grandparents did was quiz-shows and play chess, we'll need to look elsewhere.

So... have people thought about capturing an individual's knowledge before? Yes, many as it turns out...

Bruce Wilcox, a winner of the Loebner Prize, wrote a short paper titled: Speaker for the Dead. While a slightly macabre twist on the topic at hand, the paper explores the issues directly and provides insights into the problems and limitations of commonly used ChatBot technologies.

There are also many examples of specific individual ChatBots on the web:
John Lennon is a good example to start with and a whole page of others here.

There's lots more that can be said about ChatBots on the web, but I'll move on to looking at the most popular ChatBot technology next and see how they stack up.




No comments:

Post a Comment