Friday, March 25, 2016

"Don't write your own AI engine". Will Rayer (Uberbot's Developer)



Uberbot, a Chatterbot created by Will Rayer, placed 3rd in the 2014 Loebner Contest at Bletchley Park. I'd like to thank Will for this interview.

When have you realized to create your first chatbot? How did it happen?

Will Rayer: "I have been interested in AI for a long time but I always thought it was very complicated to create an AI. All I could see was complex projects like CYC which have been under development for 20+ years. Then in 2012 several things happened...
I learnt about the Turing test, I learnt there is a real Turing test every year called the Loebner prize, I learnt that chatbots did well in conversational tests like the Loebner contest, and I learnt there was a data set in the form of AI/XML files available to use. So in 2013 I created the 'Uberbot' as my entry to the 2013 Loebner contest".

What kind of bot it was - it's persona, knowledge area, mission, platform, etc?

Will Rayer: "Uberbot was and is designed as a general purpose conversational chatbot. This means it can handle general talk, and it remembers details about itself and the client using properties such as age, name, gender etc. It can answer simple maths questions, questions about dates and times, spellings etc. I believe the Turing test and the Loebner prize is a good test of conversational intelligence, so Uberbot's current mission is to do well in the annual Loebner contest".

What's forte of Uberbot compared to other chatbots?

Will Rayer: "Uberbot's strengths are that it uses xml and sql, which offer a good combination of flexibility for loading AI data and for efficiently handling large amounts of knowledge. In addition the core AI engine is designed to handle powerful custom elements. This allows me to use LGPL AIML files to get started, and to develop more powerful custom files".

What advice would you give to people who are trying to start making chatbots?

Will Rayer: "Don't write your own AI engine, I spent a long time on this! Probably the easiest way is download the existing AIML collection and an AIML interpreter, and start talking to it. Eventually I hope to get Uberbot to a stage where other people can write their own AI files, but I'm not there yet".

3 comments: