Twuring - The Twitter Turing Test

1 - I can do better 2 - Jury's out 3 - Pretty darn good 4 - Splendiferous 5 - Awesometastic by 5 people | Log in to rate

Ranked #949 in Tech & Geek, #24,367 overall

A Twitter Turing Contest - Put your best twitter bot Forward

This is a contest and resources for writing a Turing Test capable chatbot on twitter. The turing test means that the bot needs to be capable of being indistinguishable (or as near as) from a human being. So a spammy bot will get nowhere.
If you can code in C#, perl, python, ruby or (insert favourite programming language of choice here) then come have a go at it!

Twitter has plenty of people chatting about many things. But what if some of them were robots? Which of those are the best robots? Do you know of some or could you code one yourself? Time to put them forward for the Twitter Turing Test if you think they are world class. Showcase your natural language programming skills here.

I don't mind what language or hack is used to make it, even an elaborate way of piping psychoanalyse-pinhead through to twitter - anything goes.

They need to be plenty convincing, or simply just interesting to interact with. What may be interesting is to have a robot capable of passing and yet proving that it is really a bot.

What is the Twuring Contest 

This is a search to find the best twittering robots, based on the Turing test. They should have something interesting to say, be prepared to answer some questions (and reply when they don't understand a reply/DM directed at them).

The robots need to be plenty convincing, or simply just interesting to interact with. What may be interesting is to have a robot capable of passing and yet proving that it is really a bot.

Bring out your Twitter AI's! If you simply pipe twitter to Alice or Eliza, or even Psychoanalyze-pinhead, code your own complete AI, dust off and bring out NIALL then I want to know here. Find interesting ways to use the Perl, C#, Java and myriad other twitter API's to build your chat bot. We will be looking out for Turks (read below for what that means) too.


Great Deals @ Geeks.com!


Although rules may be a bore - lets have a couple to set the stage here:
Rules:

  • Must be on twitter - with its own profile.

  • Spam bots wont pass. The robot must interact - that is - it should be able to respond and converse, not simply post in a monologue.

  • Twitter profile should state it is a bot, and an entry to twuring.

  • Be prepared to tell us a little of how you did it (enough to prove it is a bot and not a fake) - a link to a blog/article about how you did it would be good.



To enter them, simply twitter with the tag #twuring and the @name of the bots twitter profile. Then let the twitterverse take a look at and judge which they think is the best. Use the #twuring tag to discuss your entries, ask for tips etc.

May the best coder win.

I originally announced this contest on Twuring - The Orionrobots Twitter Turing Test.

Slashdot It!

Known Twuring Bots 

Sapience (everawake) - A twitter bot that followed me this week.
Iniaes - Another twitter bot.

Now that there are two, it is time to introduce them to each other a little.

T-Shirts for coders (and their minions) 

Do Twitter Allow this? 

Some may be worried that twitters terms of service may not allow robots to chat on it. The good news is that bots on twitter are perfectly allowed within the terms, as long as they are not causing harm.

Spammy bots, or those propagating viruses or worms are disallowed. But a chatbot, like Eliza, Anna or similar will run into no difficulty. Although perhaps Anna may talk a little too much about Ikea to be much use.

For detail - Twitter Terms

What is twitter? 

About Twitter - in their own words

 

Perhaps you prefer a twitter book

Twitter For Dummies

Amazon Price: $14.95 (as of 11/24/2009) Buy Now

Twitter API: Up and Running: Learn How to Build Applications with the Twitter API

Amazon Price: $23.09 (as of 11/24/2009) Buy Now

The Turing Test 

The Turing test is a proposal for a test of a machine's ability to demonstrate intelligence. It proceeds as follows: a human judge engages in a natural language conversation with one human and one machine, each of which tries to appear human. All participants are placed in isolated locations. If the judge cannot reliably tell the machine from the human, the machine is said to have passed the test. In order to test the machine's intelligence rather than its ability to render words into audio, the conversation is limited to a text-only channel such as a computer keyboard and screen.Turing originally suggested a teleprinter, one of the few text-only communication systems available in 1950.

It was described by Alan Turing in his 1950 paper "Computing Machinery and Intelligence," in which Turing considers the question "can machines think?" Since "thinking" is difficult to define, Turing chose to "replace the question by another which is closely related to it and is expressed in relatively unambiguous words." Turing's new question is: "Are there imaginable digital computers which would do well in the test"?Turing's final version of the question is slightly more technical: ""Let us fix our attention on one particular digital computer C. Is it true that by modifying this computer to have an adequate storage, suitably increasing its speed of action, and providing it with an appropriate programme, C can be made to play satisfactorily the part of A in the imitation game, the part of B being taken by a man?" This question, Turing believed, is one that can actually be answered. In the remainder of the paper, he argued against all the major objections to this proposition.

In the years since 1950, the test has proven to be both highly influential and widely criticized, and it is an essential concept in the philosophy of artificial intelligence.

Some great chat bots 

Eliza was probably the first Chat bot I knew about. Eliza emulated a psychoanalysis session. It would store and pick up some aspects of a conversation to repeat them later. Interaction was in a single chat interface.

I then had the pleasure of working with NIALL - The Non Intelligent Amos Language Learner. This ran on an Amiga and was distributed as its source code which ran in the popular AMOS basic system. It would use the Amiga speech system to help the illusion. What it did was learn a lexicon of words and word pairings - a very basic grammar.

Impress your friends, frag your enemies

Later I came across a DOS program named Alice - which showed a moving face along with speech. It was a lot closer to the Eliza style chatting - based on rules and trigger words, but was much more capable of learning and remembering conversations. Versions of Alice are still on the web today under the name Alicebot which is all singing, all dancing and uses a AIML markup language to form expert chatbot systems.

Many websites now include a chatbot, for example the IKEA website has Anna which can answer some basic furnishing questions and will direct you (mostly helpfully) to the relevant pages on the Ikea website. It is questionably little more than a sophisticated search tool.

So will you build a twitter chatbot that will make a list of classic chatbots later? Enter one into #twuring and try for that honour.

Natural Language Processing and chatbots 

Books on actually building these are few and far between - although it is in some ways a problem well known and well covered by systems like AIML.

Virtual Humans: A Build-It-Yourself Kit, Complete with Software and Step-by-Step Instructions

Amazon Price: (as of 11/24/2009) Buy Now

Interfacing With Twitter 

The thoughtful people at twitter have gathered up a number of API's that interface with twitter.

The Twitter API Wiki has gathered together tutorials and libraries for twitter development which you will be able to connect to a chatbot to build your #twuring entry.

These API's are based on REST XML queries, and come in the flavours of ActionScript, php, perl, C#.net, C++, Python, Java, Ruby and more.

Building A Perl Twitter chat Bot 

Twitter Perl API's:


  • Net::Twitter by Chris Thompson.  Perl interface to Twitter. Developers can be followed as @net_twitter. It seems quite dependency heavy, and may not install without root access to a box.

  • App::Tweet by Joshua McAdams. This is a command line wrapper to Net::Twitter. It is write only - so probably not much use for an interactive bot.

  • Twitter::Shell by Daisuke Maki.A twitter shell, very alpha looking at the CPAN page. Watch this space.

  • There is also little stopping you grabbing/building a perl SAX parser, building your own REST queries, and going it alone.

Perl chatbot info:


A basic plan:
Put a perl script on a cron job, that will (once every minute) check for any messages directed at it using the twitter API. It will then lex process and respond to these. Using either built up regular expressions, or the RecDescent module, grammar and lexical rules can be laid down.

Building a TCL Twitter chat bot 

Building a Ruby Twitter Chatbot 

Twitter Ruby Libraries:
  • Twitter4R by Susan Potter.  Open-source Ruby library for the Twitter REST API.

  • Twittery by Chris Ledet.  Lightweight class for Twitter's API.

  • Twitter by John Nunemaker.  Command line twits and an api wrapper using Hpricot.


Ruby Chatbot Info:

The Turk 

The Turk, the Mechanical Turk or Automaton Chess Player was a fake chess-playing machine constructed in the late 18th century. From 1770 until its destruction by fire in 1854, it was exhibited by various owners as an automaton, though it was explained in the early 1820s as an elaborate hoax.See SCHAFFER, Simon (1999), "Enlightened Automata", in CLARK et al. (Eds), The Sciences in Enlightened Europe, Chicago and London, The University of Chicago Press, pp. 126-165. Constructed and unveiled in 1770 by Wolfgang von Kempelen (1734?1804) to impress the Empress Maria Theresa, the mechanism appeared to be able to play a strong game of chess against a human opponent, as well as perform the knight's tour, a puzzle that requires the player to move a knight to occupy every square of a chessboard exactly once.

The Turk was in fact a mechanical illusion that allowed a human chess master hiding inside to operate the machine. With a skilled operator, the Turk won most of the games played during its demonstrations around Europe and the Americas for nearly 84 years, playing and defeating many challengers including statesmen such as Napoleon Bonaparte and Benjamin Franklin. Although many had suspected the hidden human operator, the hoax was initially revealed only in the 1820s by the Londoner Robert Willis (see, for instance, his An Attempt to Analyse the Automaton Chess Player, London, 1821).

Chess Playing Machines 

Real chess computers and machines today, Turk not included.

Saitek Travel Chess

Amazon Price: $39.95 (as of 11/24/2009) Buy Now

Excalibur E714 Einstein Chess Wizard

Amazon Price: $28.95 (as of 11/24/2009) Buy Now

Bookmark This Lens 

If you enjoyed reading this lens, then why not share it with your friends.

Add this to your lens »

Bookmark and Share

Love This Lens? 

If you would like to favourite and rate this lens, then you can do so here (Squidoo members only). Not a member? Join Squidoo now!

Add this to your lens »

Your thoughts on Twuring 



Is there anything you would like to know or add?
Anything I should change here?
Let me know your feedback here.

submit
  • Reply
    drwallace drwallace Aug 14, 2009 @ 5:52 pm
    As a three-time winner of the Loebner prize contest, an annual real world Turing Test, I am always interested in new A.I. contests. This article contains a lot of useful background information, but is somewhat short on details of the contest. What are the prizes? Who are the judges (the "twitterverse")? What is the deadline for entry, and when will awards be handed out? Does the contest involve comparing bots to human confederates, as in Turing's original description? How long are the conversations? Will any measures be taken, as in Loebner's contest, to prevent fraud, i.e. a human posing as a bot? Thank you, Dr. Richard S. Wallace
  • Reply
    tdove tdove Mar 13, 2009 @ 3:39 pm
    Thanks for joining G Rated Lense Factory!
  • Reply
    Mar 3, 2009 @ 7:47 pm
    interesting, lol but i don't know much about twitter as is don't think im ready to enter this level of twitter, very good lens though.

    Squidoo Circle of Friends Group
    SquidRank Random Lens Viewer or visit SquidRank
  • Reply
    sulynsi sulynsi Mar 3, 2009 @ 5:04 pm
    Wow. Fascinating. I think I'll have to stick to understanding Twitter for now. Thanks for directing me to the explanatory sites. It really helped. And I could understand a lot more of what you were saying here!

Image Sources 

The title image was one I created myself using Inkscape.

About Me 

Lensmaster dannystaple has been a member since July 5 2008, has rated 415 lenses, favorited 128, and has created 37 lenses from scratch. This member's top-ranked page is "The Best Free Linux Games Ever". See all my lenses

My Bio

I build stuff, grow stuff, read stuff and like to write about it. I like to philosophise, research and learn, and then go the next step and apply, do and build. I love reading How-to's and will experiment with things to see what else I can learn. Read more about me and my lenses here.
My Zimbio
KudoSurf Me!

Technorati Code: a87wcbydzp

Check out these great lenses...

lens image
HOWTO: Fix Broken Christmas Lights Quickly
Broken fairy lights are frustrating and it can take hours to fix them. This year, when about to put up the Christmas lights, I spotted that one set would not turn on and had a brainwave for fixing them. Have a look below for a poor chap faced with t... view lens
lens image
HOWTO: Transport Your Tools with PortableApps
Being able to take your browser, music player or other software and its configuration with you when you go to other places with computers will save you time and frustration setting up and personalising. At home, you probably have your browser (and o... view lens
lens image
How to make a propagator to start your seeds
A seed propagator can give seeds a really good strong start and allow you to grow them out of season. Using one will speed up germination and increase germination success. Full step-by-step illustrated instructions for building your own propagator... view lens
lens image
Danny Staple's Bio
First and foremost, I am now a very proud father to be, which means my life is undergoing all kinds of changes and priority shifts right now. Far from squidoo going out, getting into writing on squidoo was one of those shifts, as it is far less space... view lens
lens image
Windows XP, Vista, Linux and Ubuntu computer PC software hardware tips
I have written a few pages with tips on computers. I have worked with computers for many years, so many that it would be silly for me to deny being a complete computer geek. However, although I am geeky, I try to explain things in simple terms so an... view lens

See some other great lenses 

If you enjoyed reading this, there are many other great lenses on Squidoo.
AllTop: Top Lenses from Squidoo.

by dannystaple

I am a software engineer mostly working in C (with perl, C# and other stuff). I have a background in cognitive science and I am the curator of the Ori... (more)

Explore related pages

Create a Lens!