4  Conclusões

Even robots need a break from the daily grind of solving captchas.

– ChatGPT

Este trabalho de doutorado teve como objeto de estudo os Captchas, que são desafios utilizados para identificar se o acesso à uma página na internet é realizado por uma pessoa ou um robô. A pesquisa apresentou um breve histórico dos Captchas, os problemas de sua utilização em serviços públicos e as abordagens existentes para resolução automática de Captchas. Em seguida, apresentou-se como um novo método, o WAWL, que alia técnicas de raspagem de dados e aprendizado estatístico com rótulos parciais para obter modelos poderosos de resolução de Captchas sem a necessidade de anotar vários casos manualmente. Por fim, foram apresentadas as propriedades do modelo proposto e os resultados empíricos através de uma série de simulações.

Os resultados da pesquisa foram positivos. Na parte teórica, pesquisas já apontavam que o aprendizado com rótulos parciais ou rótulos complementares possuíam boas propriedades. O trabalho mostrou empiricamente que a técnica apresenta bons resultados, aumentando a acurácia dos modelos iniciais em mais de 3 vezes, sem a necessidade de anotar novos dados. Além disso, foram encontradas evidências de que o método pode ser aplicado iterativamente, resultando em modelos com poder preditivo ainda maior.

As contribuições do estudo podem ser organizadas em três tipos: contribuições para a sociedade em geral, contribuições para a pesquisa acadêmica e contribuições para a comunidade de programação. Os próximos parágrafos descrevem esses avanços.

A contribuição para a sociedade em geral está na quebra de um mecanismo de incentivo nefasto, gerado pela utilização de Captchas em sites de serviços públicos. Como comentado na introdução, o uso de Captchas gera um incentivo para que pessoas e empresas que fazem raspagem de dados utilizem serviços que se aproveitam de mão de obra humana com baixíssima remuneração. Ao disponibilizar os modelos para resolução de Captchas publicamente e uma ferramenta que facilita seu uso, as pessoas e empresas interessadas podem resolver Captchas gratuitamente, afastando a necessidade de utilizar esses serviços. Dessa forma, espera-se que o trabalho possa ter um impacto positivo, ainda que pequeno, na qualidade das relações de trabalho na sociedade.

A contribuição para a pesquisa acadêmica pode ser separada em três partes. A primeira é que o método proposto apresenta bons resultados empíricos, mostrando que pode ser um ponto de partida interessante para quem deseja trabalhar com aprendizado com rótulos parcialmente anotados. A segunda é relacionada ao uso da raspagem de dados como passo intermediário na construção de modelos estatísticos, que pode ser a base para o desenvolvimento de um novo campo de pesquisa. Espera-se que os resultados obtidos sirvam como incentivo para que as técnicas de raspagem de dados sejam ensinadas como disciplinas optativas em cursos de estatística e similares. A terceira é que a ideia de explorar um oráculo, ou seja, de obter informações parciais automaticamente pode abrir um novo campo de estudos estatísticos: é possível encontrar, futuramente, outras áreas do conhecimento em que oráculos estão disponíveis, e este trabalho pode ajudar a utilizar a informação fornecida pelo oráculo.

A contribuição para a comunidade de programadoras e programadores está no pacote {captcha}. O pacote é uma caixa de ferramentas completa para quem tiver interesse em resolver Captchas, além de ser uma das primeiras aplicações que utilizam os pacotes {torch} e {luz} como motor computacional. O pacote possui uma interface que permite o compartilhamento de códigos, bases de dados e modelos publicamente, possibilitando a criação de soluções que vão muito além do próprio pacote.

Com isso, pode-se concluir que os quatro objetivos descritos na Seção 1.4 foram atendidos. O modelo proposto foi descrito e suas propriedades estudadas. Um repositório de dados completo foi construído e disponibilizado no repositório do pacote {captcha}, contendo dados e modelos ajustados. O método foi utilizado e testado para diferentes Captchas e diferentes situações, com sucesso. Finalmente, foi disponibilizado um pacote computacional aberto, possibilitando a resolução de novos Captchas que aparecerem em serviços públicos.

É evidente, no entanto, que o trabalho apresenta algumas limitações. Na parte teórica, os resultados matemáticos podem ser desenvolvidos com maior detalhamento. Especificamente, podem ser apresentadas e testadas outras propostas de função de perda, eventualmente com implementações que aceitem o uso de aceleradores com placas de vídeo. Além disso, seria interessante modificar as probabilidades fornecidas pelo modelo nos casos em que o rótulo está errado, para que o modelo nunca dê probabilidade zero para algum rótulo. A escolha de apenas uma alternativa de perda e do uso direto dos resultados fornecidos pelo oráculo foi feita por conta do foco em resolver o problema de pesquisa (os Captchas), no lugar da discussão mais aprofundada do aprendizado com rótulos parciais.

Outra limitação importante do estudo está na aplicação iterada. A pesquisa apresentou essa parte como um resultado adicional, mas os limites da aplicação iterada ainda não foram estudados de forma completa. Essa limitação pode ser entendida também como um próximo passo, que seria a solução de online learning.

Uma extensão possível desta pesquisa é a criação de um modelo que aprende diretamente da web, sem a separação de passos descrita pelo WAWL. A técnica consiste em inserir as funções de acesso e teste do Captcha como método de obtenção de amostras do dataset do Captcha (mais detalhes na Seção 3.2.3). Dessa forma, o modelo pode obter novos dados em cada minibatch, indefinidamente. O experimento realizado com online learning apresentou resultados promissores, mas ainda carece de uma investigação sistemática. Se funcionar bem, a vantagem dessa abordagem é que não precisa de uma pessoa para escrever as aplicações iteradas, facilitando o método WAWL. A desvantagem é que o ajuste do modelo depende de uma conexão com a internet, mais suscetível a problemas de conexão, que precisam ser tratados com cuidado.

Outra extensão oportuna seria a criação de um modelo geral de resolução de Captchas, desenvolvido a partir das bases que foram construídas durante a pesquisa. O modelo precisaria lidar com diferentes alfabetos e comprimentos dos Captchas, o que tornaria o aprendizado mais complicado. Esse modelo poderia ser utilizado como passo inicial do WAWL para a resolução de novos Captchas, podendo até afastar completamente a necessidade de anotação manual. No momento, não é possível saber se esse modelo funcionaria na prática de forma consistente, já que i) nada garante que ele tenha uma acurácia maior que 10% para um novo Captcha, mesmo se construído com base em Captchas de várias origens e ii) foram encontradas evidências de que os modelos com acurácia menor de 10% têm mais dificuldades em melhorar com o método WAWL quando o Captcha não aceita vários chutes.

A presente tese foi fruto de um longo processo de análise e desenvolvimento, investigando os aspectos relevantes dos Captchas de textos em imagens. Espera-se que a metodologia proposta, os resultados obtidos e os pacotes computacionais desenvolvidos sejam úteis na luta pela abertura dos dados públicos, especialmente no judiciário. O uso de Captchas em sites de serviços públicos deve acabar.