If you don't know what a turing test is, here's a basic rundown:
QUOTE(Turing Test)
Human judges sit in cubicles chatting with other "people" - some of these people are humans, and some of them are bots. At the end of a specified amount of time, the judge must determine whether or not the person on the other side was actually a machine.
And the main thing they do to determine if they're bots is ask "complicated" answers - ones that sentiment beings (humans) would understand and ones that bots--text processing programs--might miss. For example, "What color is George Washington's white horse?" - it sounds like a dumb question, but those "what color" questions are up in the top 10 ways to stump a bot.
So anyway, I found a site a few years back where they run a database of thousands of questions. People submit questions to the database, and it can return them randomly. It's an interesting site if you want to prepare your bot for the Turing Test.
Long story short, I made a command that grabs the "random 5 questions" page and returns the data:
Code:
# . . <Leviathan><br /># .:...:: Command Name // !turing<br /># .:: ::. Description // Random Turing Test questions.<br /># ..:;;. ' .;;:.. Usage // !turing<br /># . ''' . Permissions // Public<br /># :;,:,;: Listener // All<br /># : : Copyright // 2005 AiChaos Inc.<br /><br />sub turing {<br /> my ($self,$client,$msg) = @_;<br /><br /> # Get the page.<br /> my $src = LWP::Simple::get "http://www.badpen.com/turing/search.php?lu=random&limit=5"<br /> or return "Error: could not access resource!";<br /> my @lines = split(/\n/, $src);<br /> $src =~ s/\n//g;<br /><br /> # Number of items.<br /> my $total = '???';<br /> if ($src =~ /Current number of questions asked : <(.*?)>(\d*?)<\/a><br>/i) {<br /> $total = $2;<br /> }<br /><br /> my @results = ();<br /> foreach my $line (@lines) {<br /> chomp $line;<br /> if ($line =~ /^<li>(\d*?) : (.*?)$/i) {<br /> push (@results, "$1 : $2");<br /> }<br /> }<br /><br /> unless (@results) {<br /> return "I could not find the data! Sorry! :-(";<br /> }<br /><br /> return "Random 5 Turing Test Questions\n"<br /> . "(out of $total total)\n\n"<br /> . CORE::join ("\n", @results);<br />}<br />{<br /> Category => 'Utilities',<br /> Description => 'Random Turing Test Questions.',<br /> Usage => '!turing',<br /> Listener => 'All',<br />};
Example Output:
Quote:
Kirsle: !turing CodyCKS: Random 5 Turing Test Questions (out of 12678 total)
445 : what will be the future robots 1413 : Who is the more moral part in the Israel/Palestine confilct? 3118 : Daniel, go away! 4517 : What is sex 6194 : caged birds sing better because they know better, sincerely, terri, the bird lady of carswell prison, texas, usa, today
I didn't know there was a site like that, cool. _________________ Check out Botworld! A dev resource for things bot.
Downloads, articles, news, fourm and more.
http://botworld.marzopolis.com
An idea I just had.... that site with those questions, half the questions on there are kinda dumb.
So an idea is to make our own database of questions, but only submit the ones that REALLY stump bots (like "what color is my green sock?"), because most of the questions on that other site can be matched by wildcards and the bot would still give an intelligent response.
While a good idea, unfortunately the questions on that site mostly are NOT questions, they are complaints, insults and garbage sentences.
And, imho, while the Turing Test may be a fun diversion, it really doesn't help much with creating smart(er) chat AIs. Also, being able to handle a single question from that site still doesn't deal with the much more important issues of context. The context of the conversation complicates things dramatically, but it also makes the AI much more powerful, since you get a better understanding of what the user is trying to say or ask.
A much more important source for helping improve AIs are chat bot conversation logs.