What Is The Captcha Library & How Does It’s Existence Fuel The AI Revolution?

A lot of websites, whether you’re signing up or purchasing something, are now asking you to prove you are not a robot.

How many times have you seen the image on the right and being asked to answer a question to show you’re human?

It’s everywhere; CAPTCHA has taken over and is becoming a major part of the AI revolution.

But what is it?

Let’s start a the beginning.

What is CAPTCHA?

A Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) is a challenge-response test used to tell human and robotic behaviour apart.

The most common type of CAPTCHA was first invented in 1997 which required users to distinguish the type of letters in a sentence.  The test was that the images were usually distorted in some way as a computer would find it difficult to read.

The tests are carried out by computers rather than humans.  This often leads to CAPTCHA tests being referred to as reverse Turing tests.

A lot of web applications are now implementing CAPTCHA as part of their on-screen security measures.

Properties of CAPTCHA tests

CAPTCHAs are fully automated computer operations that require little to no human input and maintenance.  This means that businesses can save a lot of time and money on resources and maintain consistency.  Once programmed, CAPTCHA programmes provide accurate and reliable tests.

The algorithm used to create the CAPTCHA must be made available to the public, though it may be covered legally by a patent. This is because breaking the CAPTCHA programme requires the solution to a difficult problem in the field of artificial intelligence (AI). 

Modern text-based CAPTCHAs are designed such that they require the following abilities to be used at the same time:

Invariant recognition

Invariant recognition refers to the ability to see the numerous amounts of different possibilities to how a shape can look or presented.  A computer needs to be taught how to successfully identify these possibilities as a human has an edge; the brain.  Teaching these to a computer is actually incredibly difficult.

Segmentation

Segmentation is another power of CAPTCHA.  This enables the programme how to separate and distinguish one letter from another.   Again, this is another challenging task for CAPTCHAs the letters are usually clustered together with no white space between.

Unlike computers, are very good at distinguishing patterns.  Computers have to separate the recognition and segmentation processes whereas humans compute both at the same time.  The human brain combines both into the same process.

Context

Context is the final skill but is just as important as the previous two.  CAPTCHA must be understood to correctly identify each character in the given phrase. For example, in one segment of a CAPTCHA, a letter might look like an ‘o’.  However, after reading the word and understanding the context, it becomes clear that the letter is actually an ‘a’.

Humans are able to automatically understand what context the given text is applied.  By being able to do this, humans cannot be tricked into thinking one letter is another.

On their own, each of the three above challenges is a tough task for a computer to complete.  All three at the same is ridiculously hard.  This is what drives the consistency that CAPTCHA provides a computer system.

CAPTCHA and AI

Most CAPTCHAs are used for security reasons; as we saw at the beginning of the article, the reCAPTCHA check is being used by numerous businesses.

However, CAPTCHAs are also a standard for AI technologies.  As said by von Ahn, Blum and Langford in their article on using hard AI problems for security:

Any program that has high success over a CAPTCHA can be used to solve an unsolved Artificial Intelligence (AI) problem

A difficult example of an AI problem is that of speech recognition.   CAPTCHA programmes may use this technique as the underlying method for identifying human v robotic interaction.

von Ahn, Blum and Langford go on to say in the article that as CAPTCHA is used for security purposes, it is important that the AI problems that use it are useful.

If the AI problem is useful, there is either a way to differentiate between computers and humans, or a useful AI problem has been solved.

Each time a CAPTCHA is solved, the computer is taught how to do it again.  This is a machine learning technique; each time the computer is taught the solution, it becomes more accurate.

But where did they get these from?

Original CAPTCHA strings were actually scans of complicated words from old books that existing computers couldn’t recognise. The original developers wanted to use the CAPTCHA system to finally convert some of the oldest works in existence into digital format. In this process, they had found that traditional scanning methods such as OCR could not detect certain words. Naturally, to go through these words manually would take them an infinite amount of time due to the sheer size of the number of books they were keen to convert! Thus, using these indetectable words as their dataset on the original CAPTCHA system was not only a safe solution to the captcha problem (as they could be sure computers hadn’t recognised the text), but also they could use this to get a lot of people working on this at once to help convert the books!