Siga-me no Twitter em @vascofurtado

terça-feira, 31 de maio de 2011

ReCaptcha: O Poder da Colaboração Embora Inconsciente

Captcha é um exemplo desse vocabulário estranho que o computês está a inundar nosso quotidiano. Trata-se do procedimento de responder o que se encontra dentro de uma caixinha onde aparece um texto tortuoso, muitas vezes difícil de ser lido. A grande maioria das pessoas já deve ter usado um captcha, mas nem sabe muito bem porque ou para que.

Captcha é um acrônimo da expressão "Completely Automated Public Turing test to tell Computers and Humans Apart" (teste de Turing público completamente automatizado para diferenciação entre computadores e humanos). Para os que não são da área de computação, vale uma pequena introdução do que vem a ser um teste de Turing.

O Britânico Alan Turing foi um dos maiores cientistas de nossa época e é por muitos considerado o pai da informática. A base da computação atual é fortemente influenciada por seu trabalho, em especial, no desenvolvimento e formalização da noção de algoritmos. Em Inteligência Artificial, costuma-se mencionar o Teste de Turing como uma referência para saber se as máquinas são inteligentes. A ideia do teste é avaliar, sob interrogatório, se é possível distinguir quem é quem entre uma máquina e uma pessoa. Ou seja, coloca-se uma máquina e um humano para responder perguntas. Se ao final de um certo tempo, o interrogador não conseguir distinguir quem é o humano entre ambos, então pode-se dizer que a máquina é inteligente. Não existe ainda essa tal máquina (existirá um dia ?!).

No caso do captcha o objetivo do teste é exatamente saber se trata-se de uma pessoa que está a usar um site, normalmente para fazer login ou preencher um formulário. Isso é importante porque hackers conseguem fazer programas para usar o site e alimentar formulários em grande quantidade o que pode ter efeitos indesejáveis. O captcha é assim uma medida eficaz para proteger o site web de atividades maliciosas.

Mas esse meu texto, com essa extensa introdução, visa na verdade dar um exemplo fantástico de criatividade através da noção de colaboração no uso do  captcha. Trata-se do projeto ReCaptcha, um projeto inicialmente desenvolvido na Universidade de Carnegie Mellon nos EUA e depois adquirido pela Google. Ele  comporta a criativa ideia de ser um captcha para proteger sites web, mas en passant visa também fazer a validação de textos lidos a partir de OCR de livros antigos. Aqui novamente vale uma palavra de introdução. OCR (Optical Character Recognition – Reconhecimento de Caracteres Óticos) é a tecnologia usada em scanners para reconhecer a imagem que está sendo “lida”. É necessário o uso de software apropriado para reconhecer a existência de um texto e transformar o que é somente um conjunto de bits de uma imagem em uma letra ou dígito. Esse processo não se faz sem erros e a presença de um ser humano para validar se o reconhecimento foi feito corretamente é sempre necessária.

Pois bem, voltemos ao ReCaptcha e vejamos porque o acho tão criativo. O ReCaptcha ao invés de perguntar para um usuário se ele consegue identificar um determinado texto, apresenta duas palavras. No entanto, somente uma dessas palavras advém da sua própria base de dados e ele sabe exatamente o que significa. A segunda palavra vem de um livro scaneado e que precisa ser validada. ReCaptcha assume que se uma pessoa, ao responder seu teste, acertar a palavra que ele já conhece, deverá acertar a outra também. Essa outra palavra é enviada para mais usuários (normalmente três outros). Se todos disserem que se trata da mesma palavra, então ReCaptcha considera a palavra validada. Desta forma milhares de palavras vindas de textos digitalizados estão tendo seu reconhecimento validado por um processo coletivo e inconsciente. Os usuários estão colaborando para resolver gratuitamente um problema (a validação de textos scaneados), mas nem sabem disso. É ou não criativo? Se tiverem interesse de ler mais sobre o ReCaptcha vejam o artigo descrevendo o projeto aqui.


Nenhum comentário: