Algoritmos/Reconhecimento de padrões/Introdução

Origem: Wikilivros, livros abertos por um mundo aberto.
< Algoritmos‎ | Reconhecimento de padrões
Saltar para a navegação Saltar para a pesquisa

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[editar | editar código-fonte]

Atualmente, 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[editar | editar código-fonte]

Assim 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?[editar | editar código-fonte]

Os 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:[editar | editar código-fonte]

Os 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):