Monday, October 29, 2012

CAPTCHA - Prove you're not a robot


Have you ever seen a screen like this on the internet? Believe it or not, they have a name. They are called "CAPTCHA" screens. It's pronounced just like it looks ;)

CAPTCHA stands for "Completely Automated Public Turing test to tell Computers and Humans Apart". The basic idea is that a web site wants to make sure that the person communicating with it is an actual person and not a program. There are lots of variations on this theme but they all revolve around asking you to do something that a person can do rather easily but which a computer only does with great difficulty.

It's called a "Turing" test in honor of Alan Turing. Turing could be considered the father of software development. In 1950, he wrote a paper "Computing Machinery and Intelligence," which opens with the words: "I propose to consider the question, 'Can machines think?'" Since "thinking" is difficult to define, Turing choose to replace the question by another, which is closely related to it and is expressed in relatively unambiguous words. Turing's new question was: "Are there computers which would do well in the imitation game?"

To demonstrate this approach Turing proposes a test inspired by a party game, known as the "Imitation Game", in which a man and a woman go into separate rooms and guests try to tell them apart by writing a series of questions and reading the typewritten answers sent back. In this game both the man and the woman aim to convince the guests that they are the other.

Turing then asked, "What will happen when a machine takes the part in this game?" Would the person asking the questions know the difference between real person and a computer?A CAPTCHA screen turns the tables a bit because now a computer is trying to decide whether the entity on the other end of the connection is a person or not.

The most commonly used CAPTCHA implementation is known as reCAPTCHA. It is a CAPTCHA program but it is even more than that. The computers are actually putting YOU to work!!! In the screen below, you are asked to enter two words. You can probably see that the two words are "morning" and "upon". However, reCAPTCHA only actually knows the word "upon". The word "morning" comes from a document that was scanned. The computer is not sure if the word is "morning" or not. So, it asks you to tell it what the word is. If you correctly enter "upon", then the reCAPTCHA program assumes that the other word must also be whatever you say it is... in this case, "morning". reCAPTCHA has verified you are a human AND it has gotten you to help spell check a document that was scanned in. Now, you tell me, who is actually running the world? Us or the computers?

About 200 million CAPTCHAs are solved by humans around the world every day. In each case, roughly ten seconds of human time are being spent. Individually, that's not a lot of time, but in aggregate these little puzzles constitute more than 150,000 hours of work each day.  reCAPTCHA attempts to put that work to use helping to digitize books, newspapers and old time radio shows

No comments:

Post a Comment