Algoritmos/Reconhecimento de padrões/Introdução
Reconhecimento de padrões (Pattern Recognition) é uma das habilidades mais extraordinárias, e ao mesmo tempo, uma das mais comuns para os seres vivos. Ela pode ser definida basicamente como a capacidade de separar e/ou classificar dados ou objetos em categorias específicas para que assim seja possível tomar uma ação baseada em uma generalização específica. Em termos mais práticos, o reconhecimento de padrões é o que nos faz assimilar escritas e conseguir diferenciar palavras e até mesmo idiomas diferentes.
Dentro da Ciência da Computação, reconhecimento de padrões é uma área derivada da Inteligência Artificial (mais especificamente, da área de Aprendizagem de Máquina) que busca fazer com os dados exatamente o que nossa habilidade humana nos permite fazer: separar dados em categorias específicas e classificá-los em categorias específicas. A partir disso, algum outro programa poderá utilizar essas classificações para tomar medidas específicas para cada grupo. Isso acontece, por exemplo, nos e-mails. O filtro de spam de um e-mail utiliza-se de um programa para reconhecimento de padrões em cada e-mail recebido e caso encontre algum padrão parecido com o que ele já classifica como spam, ele move o e-mail para uma caixa específica, evitando assim que o usuário perca tempo com e-mails desnecessários.
Aplicações no mundo atual
editarAtualmente, o reconhecimento de padrões é largamente utilizado. Abaixo estão alguns exemplos de aplicações:
- Leitura de Códigos de Barras: Captura de reflexão de luz do código de barras e através de casamento de padrões, conversão desses dados em letras e números.
- Biometria: Identificação de caligrafias, resolução de CAPTCHAs, detecção de rostos ou textos em imagens, identificação de íris e digitais.
- Busca de palavras em textos: Comparação entre o dado fornecido e o padrão de palavras que é encontrado em um texto.
- Corretor automático de texto: Analisa os padrões de digitação e o padrão do teclado para corrigir a palavra de acordo com a proximidade das teclas pressionadas.
- Reconhecimento de voz: Digitalização da voz, análise do gráfico de frequência sonora, classificação dos dados fonéticos e aplicação de métodos de busca para associar as saídas com padrões de palavras.
- Reconhecimento facial: Digitalização da face de uma pessoa, decomposição em formas geométricas e logarítmicas, montagem dessas formas como em um quebra-cabeças e então comparar com os outros "quebra-cabeças" contidos em uma base de dados.
Definições
editarAssim como em qualquer área do conhecimento humano, algumas definições básicas são necessárias para que seja possível compreender o todo. Algumas dessas definições básicas de Reconhecimento de Padrões se encontram a seguir:
- Padrão: Um agrupamento de dados (uma entidade, um evento, um objeto) com uma definição simples, que pode assumir um nome.
- Classe: Um agrupamento de padrões que possuem atributos comuns entre si.
- Atributo: Dado significativo obtido através de processamento. Geralmente compõe um vetor com vários outros dados característicos, formando assim um objeto padronizável.
- Classificação: Atribuição de classes para as amostras através de avaliação de seus atributos.
- Ruído: Imprecisão detectada na obtenção de dados de uma amostra.
O que são os Algoritmos de Reconhecimento?
editarOs algoritmos de reconhecimento de padrões são aqueles que possuem como objetivo localizar em determinado conjunto de símbolos uma sequencia de símbolos, como por exemplo a busca de uma palavra em um texto.
Porem vale ressaltar que esses algoritmos não se limitam somente na busca de palavras, uma vez que eles abrangem diversos símbolos é possível utiliza-los para expressões matemáticas, biometria ou reconhecimento de voz.
Exemplos de Algoritmos:
editarOs quatro primeiros exemplos de algoritmos são de buscas exatas, isto é , eles buscam exatamente os caracteres, sem variações já o ultimo aceita estas variações (letras minusculas ou erros ortográficos):