+ All Categories
Home > Documents > José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de...

José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de...

Date post: 13-Dec-2018
Category:
Upload: lamdat
View: 214 times
Download: 0 times
Share this document with a friend
48
283 Abstract The Syntactic Pattern Recognition approach emphasizes the descrip- tion of significative structural regularities, or patterns, in noised and complex media. It is a consistent mathematical approach based on formal languages and automata theory. Its importance is due to a lot of pattern ocurrencies in our daily human life, becoming a principal component in intelligent systems. This work introduces the main concepts in languages theory and graphs, aiming the syntactic pattern recognition applications in machine vision, information retrieval and bioinformatics. Resumo O Reconhecimento Sintático de Padrões enfatiza a descrição estrutu- ral de padrões. Trata-se de uma abordagem matematicamente consistente por causa da disponibilidade da teoria das linguagens formais e dos autômatos como fundamentação. Sua importância atual deve-se às muitas ocorrências na vida humana que tomam forma de padrões, tornando-se, assim, um importan- te componente em sistemas inteligentes. Este trabalho introduz os principais conceitos inerentes à teoria das linguagens e grafos no contexto do reconhe- cimento sintático de padrões e descreve o estado da arte por meio de um conjunto de aplicações em visão de máquina, recuperação da informação e bioinformática. 6.1. Introdução Padrões, em termos gerais, podem ser compreendidos como os meios pelos quais pode-se interpretar o mundo [Fu 1982]. O Reconhecimento de Padrões é uma disciplina científica que estuda e desenvolve técnicas com o objetivo de descrever, classificar ou reconhecer regularidades significativas, ou padrões, em meios ruidosos e complexos [Schalkoff 1992]. A importância atual do reconhecimento de padrões deve-se, principalmente, às muitas ocor- rências na vida humana que tomam forma de padrões, tornando-se, assim, um Capítulo 6 Reconhecimento Sintático e Estrutural de Padrões José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira, Arnaldo Albuquerque de Araújo e Newton José de Oliveira
Transcript
Page 1: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

283

AbstractThe Syntactic Pattern Recognition approach emphasizes the descrip-

tion of significative structural regularities, or patterns, in noised and complex media. It is a consistent mathematical approach based on formal languages and automata theory. Its importance is due to a lot of pattern ocurrencies in our daily human life, becoming a principal component in intelligent systems. This work introduces the main concepts in languages theory and graphs, aiming the syntactic pattern recognition applications in machine vision, information retrieval and bioinformatics.

ResumoO Reconhecimento Sintático de Padrões enfatiza a descrição estrutu-

ral de padrões. Trata-se de uma abordagem matematicamente consistente por causa da disponibilidade da teoria das linguagens formais e dos autômatos como fundamentação. Sua importância atual deve-se às muitas ocorrências na vida humana que tomam forma de padrões, tornando-se, assim, um importan-te componente em sistemas inteligentes. Este trabalho introduz os principais conceitos inerentes à teoria das linguagens e grafos no contexto do reconhe-cimento sintático de padrões e descreve o estado da arte por meio de um conjunto de aplicações em visão de máquina, recuperação da informação e bioinformática.

6.1. IntroduçãoPadrões, em termos gerais, podem ser compreendidos como os meios

pelos quais pode-se interpretar o mundo [Fu 1982]. O Reconhecimento de Padrões é uma disciplina científica que estuda e desenvolve técnicas com o objetivo de descrever, classificar ou reconhecer regularidades significativas, ou padrões, em meios ruidosos e complexos [Schalkoff 1992]. A importância atual do reconhecimento de padrões deve-se, principalmente, às muitas ocor-rências na vida humana que tomam forma de padrões, tornando-se, assim, um

Capítulo 6

Reconhecimento Sintático e Estrutural de Padrões

José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira,

Arnaldo Albuquerque de Araújo e Newton José de Oliveira

Page 2: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

284

componente fundamental em sistemas inteligentes. A formação da linguagem, o modo de assinar documentos, o desenho das figuras, o entendimento das imagens, o sequenciamento do DNA, tudo envolve padrões.

A Figura 6.1 mostra alguns exemplos de padrões visuais que ocorrem rotineiramente na vida humana. Os diferentes tipos de escrita, as notas musi-cais, impressões digitais, pegadas de animais, esquemas de circuitos elétricos, códigos de barras e fórmulas de cadeias de química orgânica representam alguns padrões que são reconhecidos e processados rotineiramente por espe-cialistas ou por equipamentos capazes de reconhecê-los.

Figura 6.1. Exemplos de diferentes tipos de padrões. Pautas e notas musicais, letras, padrões caligráficos, impressões digitais,

pegadas de animais, esquemas de circuitos elétricos, códigos de barras e fórmulas de cadeias orgânicas são alguns exemplos de padrões rotineiramente reconhecidos por equipamentos ou

pessoas especializadas.

O objetivo principal do reconhecimento de padrões é a classificação. O que se procura por meio da classificação é atribuir classes a objetos usando relações estabelecidas por meio de observações obtidas sobre estes últimos [Fu 1982]. Em outras palavras, a solução de um problema de classificação con-siste na caracterização das relações existentes entre um conjunto de classes consideradas C, um conjunto O de objetos a serem classificados e um conjunto X. de observações tomadas sobre os objetos A Figura 6.2 ilustra os conjuntos e as relações envolvidas no problema de classificação de padrões.

Page 3: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

285

Figura 6.2. Os conjuntos das classes, o conjunto dos objetos, o conjunto de medidas e suas relações. Um problema de

reconhecimento de padrões é resolvido quando uma classe é associada a um objeto, tendo como base medidas tomadas sobre

este último.

O conjunto de classes C é um conjunto finito geralmente com um núme-ro relativamente pequeno de elementos no qual são consideradas as classes para o problema. Esse conjunto contém classes que agrupam objetos de um mesmo tipo, que satisfazem determinadas propriedades e compartilham car-acterísticas em comum.

O conjunto dos objetos O contém todos os objetos a serem classifi-cados, podendo ser um conjunto muito grande, em geral muito maior que o conjunto de classes C, porém finito. Cada objeto possui seus atributos que os caracterizam e os representam em relação às classes.

conjunto de observações X é um conjunto formado por valores de me-didas obtidas sobre os objetos. Nesse conjunto, os objetos são representados por medidas obtidas sobre seus atributos. Assim, diferentes objetos podem possuir atributos em comum mas com medidas diferentes, assim como atribu-tos distintos porém com mesmas medidas.

A relação M entre o conjunto dos objetos O e o das observações X, pode ser compreendida como uma projeção dos objetos em um determinado espaço de representação (o espaço das características consideradas). Essa projeção é que viabiliza de maneira mais ou menos eficiente a distinção entre as classes a que pertencem os objetos.

Considere, por exemplo, um grupo de pessoas a partir do qual se dese-ja classificar em duas classes: C1 pessoas altas C2 - pessoas baixas, formando o conjunto de classes C ={ C1, C2 }. O conjunto de objetos é formado por todas as m pessoas a serem classificadas O = {p1,p2,...,pm}. O conjunto de observa-

Page 4: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

286

ções X = {x1, x2,...,xn} é formado por todas as n medidas tomadas sobre todas as pessoas do conjunto de objetos.

As relações Gi (i=1,..,m) entre o conjunto formado pelos n objetos de O e o conjunto das classes C representam o mapeamento entre as pessoas con-sideradas altas, as consideradas baixas e suas respectivas classes C1 e C2. As relações Mj (j=1,..,n) representam o mapeamento entre as pessoas do conjunto O e as medidas do conjunto X, no caso a altura, tomada sobre cada pessoa.

Se as relações Mi fossem funções que admitissem inversa, então a solução de um problema de classificação seria trivial, bastando encontrar as funções inversas que mapeassem as medidas sobre os atributos dos objetos e os objetos em suas respectivas classes. Porém, o problema não é trivial. Necessita-se da caracterização das relações entre os conjuntos de classes, objetos e medidas. Com as relações caracterizadas de alguma forma, procu-ra-se estabelecer critérios que viabilizem a definição de uma classe para um objeto a partir de um dado vetor de observações, eventualmente atendendo a alguma restrição ou critério de otimização.

Em geral, os métodos de classificação diferem-se na forma de repre-sentação dos objetos, na maneira de como são definidas as regiões no espaço de representação e na escolha de algum critério a ser minimizado baseado na amostra dada.

Historicamente, o reconhecimento de padrões inicialmente utilizou téc-nicas probabilísticas e da teoria da decisão estatística para sua fundamentação. Teve como fundamento a teoria das probabilidades, baseando-se na aborda-gem Bayesiana. Sob essa abordagem, um conjunto de medidas características (ou atributos) são extraídas dos padrões. Cada atributo extraído passa a ser visto como um ponto em um espaço n-dimensional. A idéia principal é partir o espaço de características em regiões que agrupem objetos de mesma classe. A classificação é a busca pela região do espaço de características mais ade-quado para um dado padrão de entrada. As técnicas de reconhecimento de padrões podem ser aplicadas a vários domínios do conhecimento, dentre os quais, destacam-se:

• Bioinformática, em particular na análise de seqüências de prote-ínas e do DNA;

• Mineração de dados (data mining), - procura por padrões signifi-cativos em espaços multidimensionais;

• Classificação de documentos de Internet;• Análise de imagens de documentos para reconhecimento óptico

de caracteres (Optical Character Rocognition - OCR);• Inspeção visual em automação industrial;• Busca e classificação em base de dados multimídia;• Reconhecimento biométrico, incluindo o reconhecimento de fa-

ces, íris ou impressões digitais;• Sensoriamento remoto e análise de imagens multiespectrais de

satélite;

Page 5: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

287

• Reconhecimento de fala;• Diagnóstico médico;• Outras aplicações que se estendem as Ciências Sociais e Com-

portamentais.

O foco deste trabalho são os métodos sintáticos e estruturais. No mé-todo sintático, a informação estrutural que descreve cada padrão é importante. O processo de reconhecimento inclui, além da capacidade de designar uma classe para um padrão, a capacidade de descrever os aspectos do padrão de tal maneira que ele não possa ser designado para outra classe.

Muitas vezes, as informações significativas em um padrão não consis-tem apenas na presença ou ausência de valores numéricos de um conjunto de características. Ao invés disto, a inter-relação ou interconexão das caracterís-ticas produz informações estruturais importantes, que facilitam a descrição ou classificação. Esta é a base do reconhecimento sintático padrões.

A abordagem sintática vê um padrão como uma composição de sub-padrões mais simples, os quais são constituídos de sub-padrões ainda mais simples. Os padrões mais elementares são conhecidos como primitivas. Um padrão complexo é então expresso em termos do relacionamento entre suas primitivas. Em outras palavras, o reconhecimento sintático formula uma des-crição hierárquica de padrões complexos, construída a partir de sub-padrões mais simples, sendo que no nível mais baixo se encontram os elementos mais simples, extraídos dos dados de entrada que são as primitivas.

Para a fundamentação da abordagem sintática faz-se uma analogia en-tre as estruturas do padrão e a teoria das linguagens formais. Os padrões são vistos como sentenças pertencentes a uma linguagem, as primitivas como seu alfabeto e as sentenças são geradas de acordo com a respectiva gramática da linguagem. A idéia principal é a de que um conjunto de padrões complexos pode ser descrito por meio de um número finito de primitivas e de regras gra-maticais. Porém, muito mais além da simples classificação de objetos pode ser obtido por meio da abordagem sintática. As regras formadas por uma gramáti-ca propiciam a descrição de como se estruturam os objetos e os padrões em termos de suas primitivas [Oommen e Kashyap 1998].

Figura 6.3. Diagrama de blocos de um sistema de reconhecimento sintático de padrões típico. O sistema é dividido

em duas partes principais: o treinamento e o reconhecimento.

Page 6: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

288

Um sistema de reconhecimento sintático de padrões é composto por duas partes principais: treinamento e reconhecimento. A Figura 6.3 mostra os blocos funcionais de um sistema de reconhecimento sintático, separado em seus componentes de treinamento e reconhecimento [Banks 1990 e Schalko-ff 1992]. A parte inerente ao treinamento consiste na seleção de primitivas, inferência gramatical e construção do autômato, ou de um reconhecedor da gramática. A parte de reconhecimento é composta por uma etapa de pré-pro-cessamento, segmentação ou decomposição, reconhecimento de primitivas, construção da representação do padrão e a análise sintática do padrão forne-cido como entrada.

Existem várias aplicações onde os padrões devem ser descritos por meio de primitivas e suas relações. Porém, em alguns casos, as gramáticas não são capazes de descrever padrões para a descrição de classes porque os padrões sob consideração não apresentam regularidades e não podem ser definidos por meio de regras. Nesses casos, a abordagem estrutural para o reconhecimento de padrões é adotada.

Na abordagem estrutural, empregam-se estruturas de dados simbóli-cas como cadeias de caracteres, árvores e grafos para a representação de padrões individuais, de maneira semelhante a abordagem sintática. Porém, em vez de usar uma gramática, as classes de padrões são representadas por meio de protótipos [Ogiela e Tadeusiewicz 2003].

Como conseqüência, o problema de reconhecimento estrutural é tra-tado como um problema de casamento de padrões. Para ilustrar o casamento de padrões, considere, por exemplo, uma base de dados consistindo de ca-deias de caracteres, cada cadeia representando uma amostra de um padrão. A classificação de um padrão desconhecido é determinada pelo casamento entre o padrão dado como entrada com todas os protótipos contidos na base de dados. O objetivo final é associar o padrão desconhecido a uma classe do protótipo mais similar da base de dados.

De maneira semelhante à abordagem sintática, existe na abordagem estrutural uma relação de custo entre o poder de representatividade e a com-plexidade computacional. A medida do grau de similaridade entre um par de cadeias de caracteres possui complexidade quadrática somente em relação ao comprimento das duas cadeias tomadas em consideração. Em geral, as cadeias são adequadas para modelar sinais e objetos unidimensionais e pos-suem sérias limitações para descrever padrões bidimensionais ou de maiores dimensões. Por outro lado, os grafos caracterizam-se como uma ferramenta de modelagem poderosa. Porém, as operações sobre grafos são, em geral, com-putacionalmente muito caras. Logo, é comum a utilização de heurísticas e res-trições que reduzem a complexidade das operações a um tamanho tratável.

Este capítulo está organizado em sete seções, contando com esta in-trodutória. Os conceitos teóricos são abordados na Seção 6.2. A Seção 6.3 descreve a teoria inerente aos métodos de reconhecimento sintáticos e a cons-trução de gramáticas. Os métodos de reconhecimento são detalhados na Se-

Page 7: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

289

ção 6.4. O reconhecimento estrutural e a utilização de grafos são apresentados na Seção 6.5. Alguns exemplos de aplicação do reconhecimento sintático de padrões e o desenvolvimento de alguns exemplos são mostrados na seção 6.6. A Seção 6.7 trata das considerações finais e mostra algumas tendências de pesquisa no reconhecimento sintático e estrutural de padrões.

6.2. Fundamentos TeóricosO reconhecimento sintático de padrões possui seus fundamentos teó-

ricos baseado na teoria das linguagens formais. Uma linguagem, em termos gerais, pode ser compreendida como uma coleção de palavras (ou cadeias de caracteres) sobre um alfabeto. Uma linguagem formal, segundo [Vieira 2006 e Hopcroff et al 2000], é tal que:

a) tem sintaxe bem definida, de forma que, dada uma sentença, seja sempre possível saber se ela pertence ou não à linguagem; e

b) tem semântica precisa, de modo que não contenha ambigüida-des ou sentenças sem significado.

Toda linguagem está associada a um alfabeto. Um alfabeto é um con-junto de símbolos, finito e não vazio. Uma palavra ou uma cadeia de símbolos ou ainda cadeia de caracteres sobre um alfabeto Σ é uma seqüência finita de símbolos de Σ [Vieira 2006]. A sintaxe das linguagens é expressa na forma de uma gramática. Uma gramática consiste de um conjunto de regra de produções que combinadas, descrevem a geração de diferentes seqüências de símbolos.

6.2.1 GramáticasAs gramáticas são o formalismo projetado para a definição de lingua-

gens. Um formalismo que mostra como gerar as palavras de uma linguagem. O elemento fundamental da gramática é regra. Uma regra é um par ordenado (u, v), em geral escrito da forma u→v, em que u e v são palavras de dois alfa-betos disjuntos, um com símbolos denominados de variáveis, ou não terminais, e outro com símbolos denominados de terminais. As variáveis são símbolos auxiliares para a geração das palavras da linguagem1, enquanto o conjunto de terminais nada mais é do que o alfabeto da linguagem definida2. Formalmente, uma gramática é definida como [Vieira 2006]:

1 Uma palavra vazia (ou sentença vazia) é denotada por λ, tendo as seguintes proprieda-des válidas para qualquer palavra u: λu = uλ = u e |λ| = 0. Seja V um alfabeto; denota-se por V2 =VV o conjunto de todas as palavras de comprimento 2 derivadas de V e por V3 = VVV o conjunto de todas as palavras de comprimento 3 derivadas de V, assim sucessivamente, definindo-se até Vn. Por fim, define-se V+ = V ∪ V2 ∪ V3 ∪... como o conjunto de todas as sentenças não vazias produzidas usando V. Adicionando-se a palavra nula λ a V+ produz-se V*, isto é, V*={λ}∪V+. O conjunto V* é denotado de fechamento de V, assim como V+ é o fechamento positivo de V.

2 Serão usadas letras maiúsculas para representar as variáveis e minúsculas para os terminais.

Page 8: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

290

Definição 6.1. (Gramática) – Uma gramática é uma quádrupla ( V, Σ, R, P), em que:

a) V é um conjunto finito de elementos denominados de variáveis;b) Σ é um alfabeto; V ∩ Σ = ∅;c) R ⊆ (V ∪ Σ)+ × (V ∪ Σ)∗ é um conjunto finito de pares ordenados

chamados de regras; ed) P ∈ V é uma variável conhecida como variável de partida.

Em análise sintática de padrões, o alfabeto Σ é conjunto de primitivas dos padrões. Em algumas aplicações, a escolha do conjunto de primitivas é muito difícil de ser realizada, residindo ai a maior complexidade dos proble-mas em reconhecimento sintático [Schalkoff 1992]. O conjunto de símbolos não terminais V, ou variáveis, representa a criação ou ocorrência de um padrão especifico consistindo exclusivamente de símbolos terminais. O conjunto de produções R, ou regras de produção ou regras de reescrita, viabilizam a subs-tituição e derivação de símbolos da gramática. Esse conjunto e os símbolos terminais que fornecem a estrutura da gramática. Uma gramática pode ser empregada de dois modos:

1. Generativo. A gramática é usada para criar seqüências de sím-bolos terminais (palavras) usando R; uma sentença na lingua-gem da gramática é gerada.

2. Analítico. Dada uma sentença (possivelmente na linguagem da gramática), junto com a especificação da gramática G, deseja-se determinar:

i. Se a sentença foi gerada por G; e se foi,ii. A estrutura da sentença (em geral caracterizada como a se-

qüência de produções usadas).A linguagem gerada pela gramática G é o conjunto das formas senten-

ciais finais (contendo apenas símbolos terminais) deriváveis a partir da variável de partida P. Estas formas sentenciais finais são chamadas sentenças da lin-guagem gerada pela gramática, ou de maneira mais suscinta L(G).

Com o objetivo de separar as linguagens que são de interesse ao estudo da Teoria das Linguagens, Noam Chomsky, famoso lingüista ame-ricano que produziu trabalhos fundamentais sobre as propriedades mate-máticas das linguagens formais, desenvolveu um modelo matemático para gramáticas. Chomsky dividiu as linguagens classes diferentes, cada classe associada a um tipo de mecanismo de reconhecimento e a um tipo de gra-mática capaz de especificá-la. Nesta hierarquia, as linguagens/gramáticas classificam-se em:

- Linguagens Enumeráveis Recursivamente (também denomina-das de livres ou irrestritas) ou Tipo 0.

- Linguagens Sensíveis ao Contexto ou Tipo 1. - Linguagens Livres de Contexto ou Tipo 2.- Linguagens Regulares ou Tipo 3.

Page 9: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

291

Os tipos de gramáticas e linguagens serão melhor definidas em segui-da. As gramáticas são classificadas de acordo com as restrições sobre o con-junto de regras ou de produção R. Nas definições apresentadas em seguida, serão exploradas regras de produção da forma3,

α1 → β2, 6.1

significando que a palavra α1 é substituída pela palavra β2. Em geral, α1 e β2 podem conter símbolos terminais e não terminais. Os quatro tipos de gramáti-cas definidas por Chomsky, são [Hopcroff et al 2000]:Definição 6.2 (Tipo 0 – Gramática Livre ou Irrestrita - GL) – Geram as lingua-gens livre de contexto ou irrestritas. A gramática é totalmente livre. Não há qualquer restrição ao formato das regras gramaticais. O mecanismo de aceita-ção utilizado para essa classe é denominado máquina de Turing4

Um aspecto interessante da GL é sua possibilidade de “apagar” pro-duções, já que restrições do tipo |α1| ≤ |β2| não existem. Essa característica é importante para o reconhecimento sintático de padrões quando se considera gramáticas que geram variações em padrões e remoção de sub-padrões. Definição 6.3 (Tipo 1 – Gramáticas Sensíveis ao Contexto – GSC) - Formal-mente, as restrições impostas sobre as regras das GSC, são

β2 ≠ λ, 6.2e

|α1|≤|β

2|. 6.3

Tipicamente, uma GSC restringe as regras de produção à forma

ααiβ→αβ

iβ, 6.4

significando que βi substitui αi no contexto de α e β, onde α, β ∈ (V ∪ Σ)*, αi ∈ V e βi ∈ (V ∪ Σ)*-{λ}.

A Equação 6.3 requer que |ααiβ| ≤ |αβiβ|. Com os reconhecedores das linguagens geradas pelas gramáticas do tipo 1, utiliza-se também a máquina de Turing, porém com memória limitada. Definição 6.4 (Tipo 2 – Gramáticas Livres de Contexto – GLC) – São gramáti-cas que possuem restrições nas produções na forma

3 Regras de produção ou de re-escrita são descritas por meio de setas “→”, significando a substituição do termo da esquerda pelo termo da direita. O uso de uma regra de pro-dução para gerar uma nova palavra xn a partir da palavra x é chamado de derivação, sendo empregado o símbolo ⇒ para escrevê-la. Em outras palavras, A → c denota a regra de produção, enquanto x ⇒ xn denota o uso da produção para converter a palavra x na palavra xn.

4 Uma máquina de Turing é um modelo abstrato de computação que se restringe apenas aos aspectos lógicos do funcionamento de um computador convencional (memória, estados e transições) e não à sua implementação física.

Page 10: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

292

α1 → β2 com α1 = S1 ∈ V, 6.5significando queα1 é um símbolo não-terminal para toda regra de pro-

dução em R e |S1| ≤ |β2|. As gramáticas do tipo 2 também são caracterizadas por regras do tipo

S1 → β2, 6.6onde β2 ∈ (V ∪ Σ)*-{λ}.

Nota-se que as Equações 6.1, 6.5 e 6.6 restringem as regras de produ-ção à substituição de S1 pela palavra β2 independente do contexto no qual S1 ocorre. As GLC podem gerar palavras de terminais ou não-terminais ou ambos em uma única produção. Assim, como produções do tipo A → αAβ são possí-veis, as GLC são chamadas de gramáticas auto-contidas.

As restrições impostas às GLC englobam um conjunto de linguagens extremamente importante para o reconhecimento sintático de padrões. As linguagens do tipo 2 são úteis para descrever expressões aritméticas, com aninhamento ou balanceamento de parênteses e estruturas de blocos. Essas características credenciam as linguagens Livres de Contexto a descrever a maioria das linguagens de programação, por exemplo.

Definição 6.5 (Tipo 3 – Gramáticas Regulares – GR) – As restrições impostas as regras de produção de uma GR são as mesmas impostas a uma GLC acrescida de mais uma restrição que impõe a existência de no máximo um único símbolo não terminal ao lado da regra de produção, ou seja,

α1 = S1 ∈ Σ, 6.7

|S1| ≤ |β2|, 6.8com as regras de produção restritas a

X1→a, 6.9

ou

X1→aX

2, 6.10

onde X1, X2 ∈ V e a ∈ Σ - {λ}.

É fácil perceber que uma GR é uma GLC especial em que toda forma sentencial contém uma única variável, que é sempre o símbolo mais à direita. Para qualquer gramática regular pode-se construir um autômato finito que re-conhece a linguagem gerada pela GR.

Em síntese, as linguagens dos tipos 0 e 1 são reconhecidas por máqui-nas de Turing. As linguagens do Tipo 2 por autômatos de Pilha. As linguagens do Tipo 3 por Autômatos Finitos. As linguagens do tipo 3 são também de tipos 2, 1 ou 0. As linguagens do tipo 2 são também dos tipos 1 e 0. As linguagens

Page 11: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

293

do tipo 1 são também do tipo 0. Esta hierarquia pode ser representada pelo diagrama mostrado na Figura 6.4.

Se existir uma gramática que pode ser usada para representar todos os padrões dentro de uma classe, então o próximo passo é projetar um classi-ficador sintático que irá associar o padrão a uma determinada classe.

Figura 6.4. Relações entre os tipos de gramáticas e linguagens geradas. Os círculos representam a hierarquia de Chomsky. As

setas indicam a representação da capacidade de representação e dificuldade de reconhecimento das gramáticas.

6.2.2. GrafosOs grafos são estruturas relacionais empregadas para o reconhecimento es-trutural de padrões. O reconhecimento e a análise do padrão é executado por meio de um processo de “casamento” entre a estrutura relacional que repre-senta um determinado objeto e com uma outra estrutura relacional que serve como exemplo.

Um grafo G(V,E) é definido pelo par de conjuntos V e E, onde V é um conjunto não vazio dos vértices ou nós do grafo e E é o conjunto de pares ordenados e(v,w), onde v e w são as arestas do grafo. Existem dois tipos de grafos: os dirigidos e os não dirigidos [Vieira 2006]. Nos grafos dirigidos, as arestas (dirigidas) são pares orientados de vértices e, nos grafos não dirigidos, as arestas (não dirigidas) são pares não orientados de vértices. A Figura 6.5 mostra exemplos de grafos não dirigido e dirigido.

Page 12: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

294

Figura 6.5. O grafo G1 é um grafo não dirigido. O grafo G2 é um grafo dirigido, repare na orientação de suas arestas (arcos).

O problema de isomorfismo de grafos (ou casamento de grafos) é mui-to importante para o reconhecimento sintático e estrutural de padrões, sendo assim definido:Definição 6.6 (Isomorfismo de grafos) - Sejam dois grafos G1(V1,E1) e G2(V2,E2). Um isomorfismo de G1 sobre G2 é um mapeamento bijetivof: V1 → V2 tal que {x,y} ∈ E1 se e somente se {f(x),f(y)}∈ E2, para todo x,y∈ V1.

Os grafos da Figura 6.6 são isomorfos pois há a função { (a→2), (b→1), (c→3), (d→4), (e→6), (f→5) } que satisfaz a condição descrita acima.

Figura 6.6. Grafos isomorfos. Os vértices do grafo da esquerda mantém um isomorfismo com os vértices do grafo da direita.

A seguir são apresentadas algumas definições de maneira menos for-mal, mas não menos importante. A ordem de um grafo G é dada pela cardinali-dade do conjunto de vértices, ou seja, pelo número de elementos de V. Em um

Page 13: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

295

grafo não orientado dois vértices a e b são adjacentes se há uma aresta e = (a, b) em E. Caso o grafo seja dirigido, um vértice b é sucessor de a se existe um arco que parte de a e chega em b. Um vértice a é antecessor de b se existe um arco que parte de a e chega em b. O grau de um vértice é dado pelo número de arestas que lhe são incidentes. Um grafo é dito ser regular quando todos os seus vértices têm o mesmo grau. Um grafo é dito ser completo quando há uma aresta entre cada par de seus vértices. Um grafo é dito ser bipartido quando seu conjunto de vértices V pode ser particionado em dois subconjuntos V1 e V2, tais que toda aresta de G une um vértice de V1 a outro de V2. Um grafo G2(V2,E2) é um subgrafo de um grafo G1(V1,E1) se V2 ⊂V1 e E2 ⊂ E1. Os enun-ciados seguintes são facilmente verificados:

1. Todo grafo é subgrafo dele mesmo. 2. O subgrafo de um subgrafo de G é um subgrafo de G. 3. Um vértice de G é um subgrafo de G. 4. Um aresta de G com os dois vértices que ele liga é um subgrafo de G.5. Um clique é um subgrafo que é completo, melhor caracterizado por

meio da definição dada em seguida.Definição 6.7 (Clique) – Um clique em um grafo não-dirigido é um conjunto de vértice dois a dois adjacentes. Em outras palavras, um conjunto V de vértices é um clique se tiver a seguinte propriedade:

Para todo par u,v de vértices distintos de V, existe uma aresta um aresta com pontas u e v.

Um tipo de grafo importante em reconhecimento sintático de padrões é a árvore. Uma árvore pode ser definida como um grafo acíclico e conexo. Em uma árvore existe um vértice especial denominado de raiz. Uma árvore pode ser assim definida:Definição 6.8 (Árvore) – Supondo-se que os vértices sejam tomados em um universo U, uma árvore é definida recursivamente coma a tripla (V, A, r) tal que:a) ({v}, ∅, v) é uma árvore para qualquer v ∈ U;b) se (V, A, r) é uma árvore, v ∈ V e v’ ∈ U – V , então (V ∪ {v’}, A ∪ {{v, v’}}, r) é uma árvore.

Os conceitos de linguagens, gramáticas, grafos e árvores que foram aqui desenvolvidos, serão empregados nas próximas seções de forma mais aplicada ao reconhecimento sintático de padrões.

6.3. Reconhecimento de Padrões por meio de GramáticasEm reconhecimento de padrões, o conceito de classe é definido pelos

seus limites. Para toda classe existe uma definição clara de quais atributos e valores de atributos de uma instância podem ou não podem pertencer à classe. A pertinência a uma classe é dada por meio da satisfação do conjunto desses limites.

Por outro lado, a abordagem sintática também utiliza protótipos do pa-drão, definidos dentro de uma categoria. Uma categoria é um conjunto definido por meio de um protótipo que se encontra no centro do espaço de instância

Page 14: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

296

que ela define. Para toda categoria há um protótipo que representa os valores típicos de uma instância desta. A pertinência a uma categoria é dada por meio de similaridade com o protótipo. Padrões, protótipos e primitivas serão consi-derados em maiores detalhes nas seções seguintes.

6.3.1 Padrões, Protótipos e PrimitivasNa abordagem estatística de reconhecimento de padrões, um padrão

de entrada x é transformado em termos de rotação e escala em um padrão normalizado χ. Na abordagem de reconhecimento sintática, x (ou χ) são trans-formados em um conjunto de primitivas, ou seja

• x → χ(padrão x normalizado em χ),• x → a1a2 ...am (padrão x decomposto em primitivas),• x → χ→ b1b2 ...bm,

onde a1a2 ...am e b1b2 ...bm são primitivas expressas por meio de uma cadeia de símbolos que representam o padrão x (ou o padrão normalizado χ). Para o reconhecimento sintático de padrões são considerados dois tipos de padrões:

• padrões com protótipos e• padrões sem protótipos,

que serão analisados em seguida.

6.3.2 Padrões com ProtótiposUm protótipo kp de uma categoria Ck possui vários outros protótipos

“deformados” da mesma categoria. Por exemplo, considere o protótipo a letra “a” grafada com o tipo times new roman. Os sub-protótipos de “a” podem ser a, a, a, a, a, a, a. A Figura 6.7 mostra um exemplo de uma categoria das letras “a” minúsculas. O centro dessa categoria é a letra “a” com fonte do tipo times new roman. Seus sub-padrões são formados por letras “a” de fontes diferentes e por sua variações ou deformações, como o itálico e negrito, sobre a fonte times new roman original.

Figura 6.7. Categoria da letra “a” minúscula com fonte times new roman. O protótipo central da categoria é o mais representativo,

os outros padrões são sub-protótipos formados por distorções e variações do protótipo da categoria.

Page 15: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

297

Assim, seja

S( kp )={ 1kp , 2kp , 3kp ,...}, 6.11o conjunto de protótipos de uma determinada categoria Ck. O esforço na ob-tenção de um conjunto de protótipos S( kp ) representativo é o que torna o reconhecimento sintático de padrões uma tarefa muito difícil. Determinar, preci-samente, se kp ∈ S ( kp ) é uma tarefa muito difícil, uma vez que de conhecer todo S( kp ) pode ser impossível [Jurek 2000].

A Figura 6.8 mostra diferentes protótipos para silhuetas de peixes. Encontrar todas as silhuetas para todas as espécies de peixes existentes é inviável. Estima-se que só no rio Amazonas existem 2 mil espécies de peixe. Seria impossível encontrar todos os protótipos de silhuetas para todas as es-pécies de peixe do rio Amazonas.

Figura 6.8. Silhuetas de diferentes espécies de peixe e suas deformações representando os protótipos das espécies.

Page 16: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

298

Uma alternativa é montar um subconjunto de protótipos mais represen-tativos dos padrões das classes. Assim, seja

},ˆ,,ˆ,ˆ{)ˆ(ˆ21 kmkkk ppppS = 6.12

o conjunto de sub-protótipos de uma determinada categoria Ck, onde o núme-ro m de protótipos é finito. O conjunto de protótipos S( kp ), pode ser escrito como

m

ikik pSpS

1

).ˆ()ˆ(=

=6.13

A Figura 6.9 ilustra os subconjuntos de categorias e seus respectivos protóti-pos. É fácil perceber pela figura que )ˆ()(ˆ

kk pSpS ⊂ .

Figura 6.9. A figura da esquerda mostra um protótipo kp de uma categoria Ck e o conjunto de padrões S( kp ). Na figura central

mostram-se os subconjuntos de protótipos )ˆ( kipS , i=1,...,m. O conjunto de sub-protótipos )ˆ(ˆ

kpS é visto na figura da direita [Tanaka 1999].

Como é muito difícil, ou até mesmo impossível a obtenção do conjunto protótipos S( kp ), pode-se concluir que também é muito difícil, ou até mesmo impossível, encontrar uma gramática Gk cuja a linguagem gerada L(Gk) seja tal que L(Gk) = S( kp ). Porém, por meio da aproximação de um número finito de sub-protótipos representativos do padrão, pode-se determinar uma gramática

kGtal que L( kG ) = )ˆ(ˆ

kpS . Se a linguagem gerada por meio de uma gramá-tica L(G) for infinita, a linguagem incluirá palavras de tamanho infinito, que não existem no mundo do reconhecimento de padrões ou no universo de aplicação dos métodos de classificação. Estes fatos indicam a necessidade em reconhe-cimento sintático do conjunto de sub-padrões ser finito.

Page 17: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

299

6.3.2 Padrões sem ProtótiposExistem alguns padrões que não possuem protótipos como ondas, cur-

vas, retângulos, entre outros. Esses padrões podem ser expressos por meio de uma gramática usando um conjunto de primitivas. Considere, por exemplo, o conjunto de primitivas a e b mostradas na Figura 6.10, o conjunto de todos os retângulos gerados por meio dessas primitivas pode ser escrito como

{ambnambn | m,n ≥ 1} 6.14e sua gramática é dada por meio de G={V, Σ, R, P}, ondeV = {S, H, V, A, B},Σ = {a, b},eR = {P → aH, P→ VH, V→ aVA, H→BHb, AB→ BA, aV→ aa, Hb→ ab, bB→ bb, Aa→ aa}.As derivações de abnabn e ambnambn (m ≥ 2) são as seguintes:P → aH

∗⇒ aBnHbn

∗⇒ abnabn (n≥1),

P → VH ∗⇒ am-1Vam-1BnHbn

∗⇒ amAm-1BnHbn

∗⇒ amBnAm-1Hbn

∗⇒ ambnAm-1abn

∗⇒

ambnambn (m ≥ 1).Como pode ser observado, L(G) pode ser um conjunto infinito, se G é

uma gramática para um conjunto de padrões sem protótipos. Encontrar gramá-ticas para formas simples é uma tarefa relativamente fácil. Porém, não é uma tarefa trivial encontrar uma gramática para formas mais complexas.

Figura 6.10. Primitivas para a construção de um retângulo.

A definição e a descrição de primitivas não é um procedimento algorít-mico. O projeto de primitivas é baseado fortemente na análise do problema e no conhecimento e experiência do projetista. Porém, [Sonka et al. 1992] desta-ca alguns princípios que devem ser seguidos:

1. O número de primitivas deve ser pequeno;2. A escolha de primitivas deve seguir uma representação apro-

priada do objeto;

Page 18: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

300

3. As primitivas devem ser facilmente segmentadas; e4. As primitivas devem corresponder a elementos naturais signifi-

cativos da estrutura do objeto. Se for feita a descrição de desenho técnico, por exemplo, então o

conjunto de primitivas deve ser formado por segmentos de retas e curvas e relações binárias que descrevam relações tais como: é adjacente, estar à es-querda, estar à direita, estar acima.

As gramáticas podem ser utilizadas de maneira bem conveniente para descrever padrões compostos por meio de primitivas gráficas. A Linguagem de Descrição de Figuras (LDF) [Banks 1990] é um exemplo de linguagem definida em termos de primitivas. Cada primitiva possui somente dois pontos (cabeça e cauda) que podem ser agrupadas e formar outras primitivas. Cada primitiva é então representada por um vetor composto por uma cabeça e uma cauda. As primitivas podem ser conectadas em uma das quatro formas mostradas na Figura 6.11.

Figura 6.11. Primitiva de um objeto pictórico e a ligação entre primitivas em uma linguagem de definição de figuras (LDF).

As primitivas são identificadas por uma seta, definida por uma cauda (t) e uma cabeça (h).

Assim, se b é uma primitiva, então ~b é o reverso de b, representado por uma seta com o sentido contrário ao de b. Existe também a primitiva nula λ, uma seta com comprimento zero, com a cauda idêntica à cabeça. Uma gra-mática que gera sentenças LDF é uma gramática livre de contexto GLC, G

Page 19: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

301

= (V,Σ,R,P), onde V contém os objetos que a serem formados a partir das primitivas do padrão, Σ contém todas as primitivas, que dependem das particu-laridades do problema, e por símbolos (, ), +, ×, -, *, ~.

Por exemplo, supondo-se que se deseja identificar a letra “A” e o objeto envelope representados na Figura 6.12. Uma gramática para o reconhecimen-to é dada porGLDF = (V,Σ,R,P),ondeV = {P, A, Envelope, Triângulo},Σ = {a, b, c, d, (, ), +, -,*, ~},R = { P → A,

P → Envelope,A→ (b + (Triângulo + c)),Envelope → ((((c + c) + (~d)) * (d + (a × (b + b)))) * Triângulo),Triângulo → ((b + c) * a) }.

Então,L(G) = {b + ((b + c) * a) + c)), → ((((c + c) + (~d)) * (d + (a × (b + b)))) * ((b + c) * a))}

Figura 6.12. Reconhecimento da letra A e do objeto Envelope por meio de uma linguagem de descrição de figuras (LDF). As

primitivas são representadas por setas que são associadas a um símbolo da gramática.

Page 20: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

302

6.4. Os Métodos de Reconhecimento de PadrõesNeste texto, o termo “reconhecimento sintático e estrutural de padrões”

significa o processo de se aceitar ou rejeitar padrões para uma determinada classe ou categoria por meio de uma análise sintática do padrão ou por meio de um processo de similaridade entre padrões e protótipos. Por simplicidade, assume-se que L(Gi) ∩ L(Gj) = ∅ para qualquer i e j (i ≠ j) . Emprega-se a notação D(px, kp ) como uma métrica de distância (ou de similaridade) entre os protótipos pk e kp

. Define-se, ainda, as distâncias D(px, L( kG )) e D(px,)ˆ(ˆ

kpS ) , dadas por meio de

D(px,L( kG ))=min{ D(p

x, kip )| kip ∈L( kG )}, 6.15

D(px,, )ˆ(ˆ

kpS )=min{ D(px, kip )|i=1,2,...,m}. 6.16

Os métodos usuais de reconhecimento sintático de padrões estão es-quematicamente representados na Figura 6.13. O primeiro método (Mpar) é denominado de reconhecimento por análise sintática. A idéia fundamental é verificar se um padrão px pertence ou não a uma linguagem L(Gk) gerada por uma gramática Gk usando um analisador sintático (ou parser). Se o protótipo px ∈ L(Gi), o padrão x é associado à categoria Ci (Figura 6.13 ( a )).

Figura 6.13. Métodos de reconhecimento sintático. (a) Mpar. (b) Macp. (c) Mpro.

O segundo método (Macp), calcula a distância de px para L( kG ), D(px, L( kG )) ,k = 1,2,...,m, usando um analisador sintático com correção de erro [Amengual e Vidal, 1998]. Se D(px, L( iG )) é o menor valor da distância dentre todas D(px, L( kG )) calculadas, então x é associado a categoria Ci. Se existirem pelo me-nos dois valores menores, tais que D(px, L(

iG )) = D(px, L(jG )) (i ≠ j), então

x é rejeitado (Figura 6.13 ( b )).

Page 21: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

303

O método Mpar é baseado na gramática G, que é difícil de ser determi-nada. Por outro lado, Macp é baseado na gramática G , que é mais fácil de ser determinada. Isso indica que Macp é mais natural e mais prático do que o Mpar. Um terceiro método (Mest), não mostrado nos diagramas da Figura 6.13, atribui a cada regra de produção uma probabilidade, sendo denominado de método estocástico e será apresentado um pouco mais à frente no texto. Um proce-dimento geral para a construção de um método de reconhecimento sintático é descrito pelo Algoritmo 6.1 mostrado em seguida.

Algoritmo 6.1. Reconhecimento sintático.

1. Aprendizado: Baseado na análise do problema, defina as primiti-vas e suas possíveis relações.

2. Construa uma gramática descritiva para cada classe (ou catego-ria) de objetos usando os resultados da análise sintática ou um pro-cesso automático de inferência gramatical.

3. Reconhecimento: Para cada objeto, extraia suas primitivas, reco-nheça a classe (ou a categoria) das primitivas e descreva as relações entre elas. Construa a palavra de descrição que representa o objeto.

4. Baseado nos resultados da análise sintática da palavra de descri-ção do objeto, classifique o objeto em uma classe para qual a gramá-tica da classe (construída no passo 2) gere a palavra de descrição.

A principal característica do reconhecimento sintático é o processo de aprendizado. A construção da gramática pode ser automática, mas exigirá, de qualquer maneira, grande interação humana. Imagina-se, em geral, que quanto mais complexas as primitivas sejam, mais simples será a gramática e mais simples e rápida será a análise sintática. Por outro lado, a descrição detalhada das primitivas torna o passo 3 do Algoritmo 6.1 mais complexo e mais demora-do, assim como a extração das primitivas e a avaliação das relações não serão tarefas simples.

O método de casamento de protótipos (Mpro) é usado sob o contexto estrutural. Um padrão de entrada é identificado por meio da menor distância (ou medida de similaridade) entre o padrão de entrada e os protótipos de uma categoria. Esse método, em síntese, calcula as distâncias D(px, )ˆ(ˆ

kpS ), k = 1,2,...,m. Se D(px, )ˆ(ˆ

ipS ) é a menor distância entre todas as D(px, , )ˆ(ˆkpS ),

então x é associado à categoria C. Se existirem pelo menos dois valores tais que D(px, , )ˆ(ˆ

ipS ) = D(px, )ˆ(ˆjpS ), então x é rejeitado. Os métodos de reco-

nhecimento sintático serão mostrados em detalhes nas seções seguintes.

6.4.1. Reconhecimento por Análise SintáticaA decisão se uma palavra pode ser gerada por uma determinada gramá-

tica é realizado por meio do processo denominado de análise sintática. Por meio da análise sintática também é possível construir uma árvore de descrição do

Page 22: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

304

padrão, uma forma de representação da informação estrutural sobre o padrão.O princípio do reconhecimento é simples: se a linguagem é finita, en-

tão o analisador procura por uma correspondência entre a palavra analisada e todas as outras palavras da linguagem (o Mpar descrito na seção anterior). Outra abordagem consiste na comparação entre o padrão e os protótipos re-presentativos da classe ou da categoria (Mpro). Esta última abordagem é mais simples de ser implementada e mais rápida, porém pode produzir resultados não confiáveis devido a pouca informação sintática contida no conjunto de pro-tótipos escolhidos.

O analisador sintático é baseado na construção de um padrão de teste por meio da aplicação de uma seqüência apropriada de regras de substituições a partir de um símbolo inicial. Se o processo de substituições é bem sucedido, então o processo pára e o padrão de teste pode ser gerado pela gramática. O padrão é então classificado como pertencente à classe ou categoria para qual a gramática foi implementada. Se o processo de substituições não tem sucesso, então o padrão não é classificado como pertencente à classe da gramática.

Se a classe da gramática for regular (GR, tipo 3), a análise sintática é muito simples. A gramática pode ser substituída por um autômato finito não-determinístico, sendo muito fácil decidir se a palavra é aceita ou não pelo au-tômato. Se a gramática for livre de contexto (GLC, tipo 2) a análise sintática é um pouco mais difícil, porém, um autômato com pilha pode ser desenvolvido como reconhecedor.

O método de construção do padrão não tem importância significativa. Como mostrado anteriormente, a descrição das primitivas não é necessaria-mente um procedimento algorítmico, estando muito mais próximo da experiên-cia e conhecimento do analista. O processo de transformação pode ser execu-tado de duas maneiras: top-down (descendente) ou bottom-up (ascendente).

A análise sintática top-down parte do símbolo inicial e, por substituições sucessivas, procura alcançar a palavra que se quer analisar. Ou seja, o objetivo do analisador sintático é e produzir a seqüência de símbolos terminais que lhe foi apresentada como entrada a partir do símbolo inicial da gramática. Do ponto de vista da construção de uma árvore sintática, o processo inicia-se a partir da raiz para alcançar as folhas. O objetivo é gerar o mesmo padrão (palavra) fornecida como entrada. Toda substituição parcial cria um conjunto de sub-objetivos, como se novos “galhos” fossem criados na árvore. Cada aresta da árvore corresponde a um regra de produção e cada nó mostra a palavra obtida a partir da execução da regra, até aquele ponto. Uma árvore sintática é mostrada na Figura 6.14.

Page 23: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

305

Figura 6.14. Uma árvore sintática parcial. Cada aresta é uma regra e cada nó é a palavra obtida a partir da execução da regra.

O esforço computacional é sempre dirigido para o corrente sub-objetivo. Uma escolha incorreta de uma regra de substituição invoca um procedimento de retrocesso na árvore para o mais alto nível e a tentativa de aplicação de uma nova regra. Os processos de retrocesso e de aplicação de regras são repetidos até que se resulte na obtenção de uma palavra. Se o processo de geração de palavras termina de forma insatisfatória, a gramática não gera a palavra, então o padrão não pertence à classe.

A abordagem top-down não é muito eficiente, já que muitos caminhos incorretos podem ser gerados. Porém, número de caminhos errados pode ser minorado por meio da aplicação de testes de consistência. Por exemplo, se uma palavra inicia com o símbolo não-terminal A, então somente as regras do lado direito que iniciam com A devem ser consideradas. Algumas outras técnicas usam como vantagem o conhecimento a priori dos padrões. Essas abordagens são conhecidas como poda da árvore.

A poda da árvore também é utilizada se a busca completa não pode ser realizada devido ao esforço gasto pela procura do padrão dentro de um limite de tempo considerado. A poda não especifica que a solução não é obtida ou até mesmo que esta não seja a solução ótima. Isso depende da qualidade da informação que é aplicada e obtida durante o processo de poda. Informações obtidas a priori favorecem o processo de poda. Se a palavra possui tamanho n, então os galhos da árvore que formam palavras maiores que n podem ser podados. Outra técnica utiliza o conhecimento da estrutura da palavra. Se, por exemplo, sabe-se a priori que a palavra inicia-se com o símbolo w1, então todo ramo da árvore que forma palavras que iniciam com símbolos diferentes de w1 são podados.

Page 24: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

306

Existem dois principais meios de recuperação de um caminho errado. O primeiro é o mecanismo de retrocesso descrito anteriormente. O outro não inclui o retrocesso. Todas as possíveis combinações de regras de substituições são aplicadas em paralelo e várias árvores são construídas simultaneamente. Se nenhuma árvore gera a palavra padrão, então o processo finaliza. Se al-guma árvore termina sem alcançar o padrão, então ela é abandonada. Essa abordagem é do tipo “força bruta”, porém dispensa o processo de retrocesso do algoritmo.

O procedimento top-down é uma seqüência de expansões, iniciando com o símbolo de partida P. Um processo bottom-up inicia-se a partir da pa-lavra a ser analisada, que é reduzida a partir da aplicação de substituições reversas. Do ponto de vista da construção de uma árvore sintática, o analisador sintático constrói a árvore de baixo para cima. Cada vez que uma redução é feita, uma sub-árvore é criada, ou seja, um pai é gerado a partir de um conjunto de filhos. Enquanto não encontra o lado direito da regra apropriada, o algoritmo perfaz uma série de operações de empilhamento.

O princípio da análise bottom-up é detectar sub-palavras na palavra analisada que correspondem ao padrão do lado direito de alguma regra de substituição. É realizado um processo de redução, que substitui o lado direito com o lado esquerdo da regra no padrão analisado. A análise não procura por sub-objetivos. Todo o processo é voltado para se obter uma redução e a simpli-ficação no padrão até que o símbolo de partida seja obtido. Se o processo não obtiver sucesso, a gramática não gera a palavra analisada.

É importante destacar que nem todo lado direito de uma regra encon-trado serve para uma operação de redução. Os lados direitos que servem para este propósito tem como característica fazer parte de uma derivação mais à direita. Como o analisador parte da sentença formada em direção ao símbolo inicial procurando refazer as derivações de uma derivação mais à direita, diz-se que o analisador percorre a derivação mais à direita em reverso.

O Algoritmo de Cocke-Younger-Kasami (CYK) é um dos algoritmos usu-ais para análise sintática, sendo descrito em seguida. Assume-se que é dado uma gramática livre de contexto G={V, Σ, R, P} na forma normal de Chomsky, ou seja, todas suas regras de produção são do tipo A → BC ou A → a, com A, B, C, ∈ V e a ∈ Σ, então o algoritmo gera uma tabela T com células tij tais que estas últimas conterão A ∈ V se e somente se A⇒* w1w2,...,wn for uma palavra de entrada da gramática.

A tabela é construída a partir da linha de baixo (j = 1), seguindo os pas-sos mostrados no Algoritmo 6.2 a seguir.

Page 25: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

307

Algoritmo 6.2. Cocke-Younger-Kasami (CYK)1. tij = {A: A → wi está em R} para i = 1,...n;2. Se tik for encontrado para todo i e 1 ≤ k < j então3. tij = {A: para qualquer k, 1 ≤ k < j, A→ BC em R,4. B está em tik e C em ti+k,j-k};5. Repita o passo 2 para 1 ≤ i < n, 1 ≤ j < n-i+1;6. Se P estiver em t1n então w está em L(G).

A tabela do método CYK é construída a partir da posição (1,1). Se uma subpalavra de w, começando em wi e de comprimento j pode ser derivada a partir de um símbolo não terminal, então esse símbolo não terminal é posto na célula (i,j). Se a célula (1, n) conter P, então a tabela contém uma derivação válida de w em L(G). A Figura 6.15 mostra a tabela construída para uma pala-vra com n = 4.

Figura 6.15. Tabela do analisador sintático do método CYK. A figura é montada para uma palavra com tamanho n = 4.

É difícil comparar a eficiência desses analisadores. A análise bottom-up é mais eficiente para algumas gramáticas e a top-down é mais eficiente para outras. A maioria dos analisadores sintáticos são baseados no princípio top-down. É uma abordagem apropriada para a maioria das gramáticas, porém menos eficiente. 6.4.2. Reconhecimento por Distância Mínima entre Padrões

Outra forma de se trabalhar com padrões corrompidos por ruído é usar medidas de similaridade no processo de reconhecimento teórico (métodos do tipo Mpro). Pode-se imaginar que os padrões ou seus protótipos sejam definidos por meio da introdução de erros na representação das primitivas. Os erros podem ser de três tipos:

Page 26: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

308

1. erro de substituição: α1aα2 | α1bα2 a,b ∈Σ (a ≠ b);2. erro de remoção: α1aα2 | α1α2 a ∈Σ; e3. erro de inserção: α1α2 | α1aα2 a ∈Σ .

A idéia básica da correção do erro de mínima distância é minimizar a ocorrência desses erros no processo de análise sintática. Assim, define-se uma distância d(w1, w2) entre duas palavras w1 e w2 como sendo o número mínimo de transformações ( sobre os três tipos de erros mostrados anterior-mente) necessárias para se transformar w1 em w2. Por exemplo, seja w1 = abd e w2 = accd, então d(w1, w2) = 2.

Seja L(G) uma dada linguagem e w uma dada palavra, que não per-tence a L(G). Na análise sintática para correção de erro por distância mínima procura-se pela palavra w em L(G), tal que

´).,(min),()(´

wwdwwdGLw ∈

=6.17

Isto é conseguido por meio da adição de símbolos extras em w para G, sendo dado G´ e estendendo L(G) para L(G´).

6.4.3. Gramáticas EstocásticasEm todos os exemplos de gramáticas vistos até a seção anterior, pa-

drões e primitivas são usados como se o ruído não tivesse importância. As linguagens estocásticas foram desenvolvidas com o objetivo de incorporar a incerteza no modelo da gramática [Banks 1990, Chi e Geman 1998]. Uma gramática estocástica é uma gramática em que associa-se uma probabilidade a cada uma das regras de produção. Formalmente: Definição 6.6 –(GramáticaEstocástica)-Uma gramática estocásticaG

séumaquá-

drupla(V,Σ,R,P, p)onde:• V é um conjunto finito de elementos denominados de variáveis;Σ é um alfabeto; V ∩ Σ = ∅;• P ∈ V é uma variável conhecida como variável de partida;• R ∈ {(V ∪ Σ )*

V (V ∪ Σ)* → (V ∪ Σ*), p} é o conjunto de regras de produção. A cada regra está associada uma probabilidade p, 0 ≤ p ≤ 1, para cada A∈ V e para cada {A → αipi} ∈ R, com 1=∑i ip .

Dada uma linguagem L gerada por uma gramática estocástica Gs, pode-se associar a cada palavra x desta linguagem um valor p(x|Gs), chamado

5 Uma cadeia de Markov é uma sucessão de variáveis aleatórias que descrevem o esta-do de um sistema ao longo do tempo, com a propriedade que o estado do sistema a partir de um certo instante só depende do estado nesse instante.

Page 27: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

309

de probabilidade da palavra x dado Gs. Esta probabilidade é calculada multipli-cando-se os valores das probabilidades das produções utilizadas na derivação de x. O valor p(x|Gs) pode ser utilizado para caracterizar o grau de certeza de que x pertence a L(Gs), ou seja, pode-se dizer que uma gramática estocástica é uma representação de uma distribuição de probabilidade.

A linguagem estocástica gerada por uma Gs é formada por palavras da linguagem e pela probabilidade de produção, que se obtém mediante o produto de todas as probabilidades das regras utilizadas. A teoria das gramáticas es-tocásticas está baseada na teoria matemática que complementa a teoria das linguagens formais. Uma gramática estocástica regular é equivalente a uma cadeia de Markov5

As gramáticas estocásticas podem ser definidas como livres de contex-to (GLC), sensível ao contexto (GSC) e regular (GR) de maneira semelhante às definições anteriores. Assim, seja A1, A2,…,Am o conjunto de regras de pro-dução em R e

P1A

⇒α1

2A

⇒α

2

3A

⇒ ...mA

⇒ α3=w,

6.18

A derivação de uma palavra w, onde αi é uma palavra intermediaria obtida em uma etapa i da derivação. Como definido anteriormente, cada regra de produ-ção Ai está associada a uma probabilidade p(Ai). Logo, a probabilidade para se gerar a palavra w é dada por

p(w)=p(A1)p(A

2|A

1)p(A

3|A

1,A

2)…p(A

m|A

1,…,A

m-1), 6.19

onde p(Aj|A1,…,Aj-1) é a probabilidade de Aj dado que as regras de produção A1,…,Aj-1 já tenham sido aplicadas. Se p(Aj|A1,…,Aj-1) = p(Aj), então diz-se que a probabilidade de associação com Aj é irrestrita. Um exemplo de uma gramática estocástica livre de contexto é dado por Gs = (V, Σ, R, P, p), comV = {P},Σ = {a, b},R = { P

p

→ aPb, P

1−→p

ab}.A probabilidade de cada regra de produção está mostrada sobre a seta da produção.

A teoria da análise sintática para linguagens estocásticas é similar a desenvolvida para as linguagens determinísticas [Chrnaiak 1997]. Porém, a árvore sintática pode ser eficientemente minimizada por meio da escolha, em cada nó, da execução da produção de maior probabilidade, seguida da pro-dução mais provável e assim sucessivamente. Porém, o problema mais difícil no reconhecimento sintático estocástico é precisamente a determinação das probabilidade das regras de produção. Um método simples, usado para deter-minar essas probabilidades será agora descrito.

Supondo-se que se tenham M classes definidas por meio de M gramá-ticas estocásticas

Page 28: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

310

Gk=(V

Nk,Σ

Tk,R

k,P

k, p

k),1≤k ≤M, 6.20

onde somente a probabilidade das regras de produção pk são desconhecidas. Assume-se ainda que se dispõe de um conjunto de amostras de palavras W´ = {w1, w2,..., wk} onde cada palavra só pertence a uma, e somente uma, L(Gk). Seja n(wi), 1 ≤ i ≤ K o número de vezes que wi ocorre em W´. Para simplificar, assume-se ainda que Gk é regular ou livre de contexto, de tal maneira que cada produção esteja na forma X → β, com X ∈ V.

O processo inicia a partir da análise sintática de cada palavra wi em cada uma das gramáticas. Seja Xi → βj, qualquer regra de produção de uma gramática Gk e Nkij(wi) o número de vezes que essa produção é usada na aná-lise sintática de wi. Finalmente, seja p(wi|Gk) a probabilidade com que wi é gerada por Gk.

Se wi pertence a uma única classe k, então p(wi|Gk) = 1. Caso contrário, ou seja, se wi não pertença a classe k, então p(wi|Gk) = 0. Porém, se wi perten-ce a L(Gk) para diferentes valores de k, então p(wi|Gk) pode ser estimada por meio da freqüência relativa com a qual wi ocorre nas classes. Porém, deve-se impor a restrição

∑=

=m

kki Gwp

1

1)|(.

6.21

O número de vezes nklj que a regra de produção Xi → βj é usada a partir do símbolo de partida P em R é dado por

∑=

=K

iikljkii wNGwpwnn

klj1

),()|()(6.22

e a probabilidade associada a cada regra de produção Xi → βj de R pode ser estimada por meio de

∑≅

j klj

kljklj n

np

,

6.23

onde o somatório é tomado sobre todas as regras de produção Xi → βj em R. O Algoritmo 6.3 sintetiza os passos principais do método apresentado.

Algoritmo 6.3. Probabilidade da Regra de Produção

1. Entrada: M classes definidas por meio de M gramáticas estocás-ticas Gk = (VNk, ΣTk, Rk, Pk, pk), 1 ≤ k ≤ M

Page 29: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

311

2. Encontre p número de vezes nklj que a regra de produção Xi → βj é usada a partir do símbolo de partida P em R.

3. Estime a probabilidade associada a cada regra de produção Xi → βj de R

6.4.4. Gramáticas em ÁrvoresUma gramática em árvore é definida por meio de

G = {V,Σ,R,r,P}, 6.24onde V e Σ, como definidos anteriormente, são conjuntos de símbolos termi-nais e não terminais, respectivamente. P ∈ V é uma variável de partida, que pode ser uma árvore. R é um conjunto de regras de produção da forma

Ti→T

j, 6.25

ondeTi e Tj são árvores e r é uma função de graduação ou ranking que denota o número de descendentes diretos de um nó terminal na gramática. As produ-ções têm a forma

,6.26

ondeX1,X

2,...,X

nsãosímbolosnãoterminaisek éumterminal[Barrero1991].

OexemplonaFiguraXXmostraaestruturado“esqueleto”deumapeçadescritapormeiodeumagramáticaemárvoreformadaporV={X

1,X

2,X

3,P},

Σ={a, b, c, d, e},eregrasdeproduçãodaforma

As primitivas e os símbolos terminais podem ser vistos na Figura 6.16 mostrada a seguir.

Figura 6.16. Gramáticas em árvores. (a) Um objeto e seu esqueleto (linhas tracejadas) e (b) primitivas usadas para

representar o esqueleto por meio de gramáticas em árvores.

Page 30: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

312

González, R. et al. (2002) apresenta uma aplicação de gramáticas em árvores na análise de fotografias de experimentos de física de altas energias. São fotografias de feixes de partículas com propriedades conhecidas que bom-bardeiam o núcleo de alvo conhecido. O interesse é rastrear partículas secun-dárias que escapam do feixe a partir do ponto de colisão. Um experimento típi-co utiliza milhares de fotografias que podem não conter eventos de interesse. A análise e categorização de milhares de fotografias é um trabalho tedioso para o ser humano, tornando-se necessário o desenvolvimento de um procedimento automático por meio das técnicas de reconhecimento sintático de padrões.

6.4.5. Inferência GramaticalNa maioria dos problemas de reconhecimento sintático de padrões não

se dispõe previamente de uma gramática. A única informação disponível é, em geral, um conjunto de exemplos formados por protótipos ou sub-protótipos (pri-mitivas) dos padrões, sendo também necessário o conhecimento da gramática. Nesses casos, a obtenção da gramática é realizada por meio de um processo de aprendizagem, empregando-se métodos de conhecimento indutivo [de La Higuera 2005].

A Inferência gramatical é um processo de inferência indutiva com o ob-jetivo de construir uma gramática que gera uma linguagem desconhecida a partir de uma amostra finita de palavras desta linguagem [de Mauro 2003].

Como qualquer outro problema de inferência indutiva, a inferência gra-matical necessita da definição de:

a) Um domínio de inferência;b) Um espaço de hipóteses ou representações;c) Um método de apresentação de exemplos;d) Um método de inferência; ee) Um critério de êxito.

O domínio de inferência é qualquer subconjunto das linguagens formais (ver Figura 6.17). Mais especificamente, se restringe a qualquer subconjunto das linguagens recursivas. O espaço de hipóteses depende do domínio de inferência e da representação utilizada. Como única condição, o espaço de hipóteses deve ser composto de pelo menos uma representação (a descrição de uma hipótese) para cada linguagem. Por exemplo, caso se trate de inferir uma linguagem da subclasse de linguagens regulares sobre um alfabeto V, o espaço de hipóteses será formado pelas gramáticas regulares sobre V, assim como os autômatos finitos sobre V.

Em geral, se utilizam métodos de apresentação de exemplos para a inferência indutiva:

• Apresentação positiva da linguagem L. São apresentadas suces-sões de elementos positivos da linguagem L.

• Apresentação completa da linguagem L. São apresentadas suces-sões de elementos de L e de seu complemento (amostras positi-vas e negativas), marcados para indicar se pertencem ou não a L.

A cada novo exemplo, o algoritmo de apresentação fornece uma hipóte-se válida ou não válida para os exemplos apresentados.

Page 31: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

313

Figura 6.17. Domínio de inferência.

É sempre desejável que o método de inferência seja consistente, isto é, que aceite todos os exemplos positivos lidos até o momento que rejeite os negativos, caso existam. Também, o método deve ser conservativo, ou seja, só troca a hipótese se o novo exemplo for incompatível com a hipótese presente.

A maioria dos sistemas de inferência gramatical só utiliza apresenta-ções positivas, principalmente devido aos métodos enumerativos, que não são o suficientemente rápidos, e os métodos construtivos existentes, que não per-mitem a utilização de mostras negativas. Outra razão, de não menos peso na prática, reside no fato de que, prescindindo de considerações teóricas, não é necessário identificar perfeitamente uma linguagem para poder construir um sistema reconhecedor que funcione. Em um classificador, por exemplo, basta que a linguagem inferida pertença a uma classe e a interseção com as outras classes seja vazia.

O problema da inferência gramatical pode ser abordado de duas ma-neiras: utilizando métodos de enumeração (ou enumerativos) e métodos de construção (ou construtivos). Na abordagem por enumeração, primeiramen-te listam-se todas as gramáticas possíveis de uma determinada classe e em seguida escolhemos aquelas que podem ser utilizadas para gerar palavras a partir de um conjunto de amostras finito. Assim, assume-se a possibilidade de enumerar hipótese. A cada novo exemplo, um método enumerativo buscará, seqüencial e exaustivamente, na lista de hipóteses a primeira hipótese que seja compatível com todos os exemplos apresentados.

Um método de inferência é melhor ou mais poderoso do que outro, se dado um critério de sucesso e um método de apresentação, o conjunto de lin-guagens que é capaz de inferir é mais amplo. Os métodos enumerativos se ba-seiam numa busca exaustiva do espaço das hipóteses. É evidente que podem inferir qualquer classe de linguagens, e que portanto são muito poderosos.

Page 32: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

314

Toda limitação no poder dos métodos enumerativos será pois válida também aos outros métodos de inferência, o que permite limitar o estudo teórico aos enumerativos, conceitualmente mais simples.

O tempo de convergência de um método de inferência se define como o ponto (número do exemplo) a partir do qual se conseguiu a identificação no limite. Um método é uniformemente mais rápido do que outro quando, seja qual for a apresentação, seu tempo de convergência é menor para pelo menos uma das linguagens a inferir (e não é maior para nenhuma outra dessas lin-guagens). Sabe-se que, para uma determinada linguagem e uma determinada apresentação, não existe um algoritmo uniformemente mais rápido do que o correspondente método enumerativo.

Infelizmente, é muito difícil implementar na prática um método enume-rativo. A complexidade da busca exaustiva cresce exponencialmente com o espaço das hipóteses. Apesar disso, algumas variantes dos métodos enumerati-vos foram estudadas. Estes algoritmos, que se baseiam em estruturar o espaço das hipóteses com alguma relação mais complexa do que a simples enumera-ção, conseguem diminuir drasticamente a complexidade da busca em alguns casos concretos (poda, busca em reticulado, entre outros).

Na abordagem por construção, gramáticas são construídas diretamente de exemplos de treinamento. Novas hipóteses são construídas a partir de no-vos exemplos. Em geral, as aplicações práticas descartam, por sua intratabili-dade, a utilização dos métodos de enumeração de inferência gramatical.

Devido às razões expostas, a maioria dos métodos práticos de inferên-cia gramatical são construtivos e utilizam unicamente apresentação positiva. Porém, a maioria dos métodos de construção estão orientados para as lingua-gens regulares, sendo escassos os que inferem gramáticas livres de contexto ou superiores.

Dentre os métodos de inferência de gramáticas regulares, cabe desta-car os que se baseiam em diferentes métodos de agrupar os estados em um autômato. Este autômato proporciona um espaço de busca adequado, sempre que a mostra seja estruturalmente completa, ou seja, se utilizou para gerar todas as regras da gramática a inferir.

6.5. Reconhecimento Estrutural de Padrões por Meio de GrafosEsta seção explora as técnicas que descrevem a estrutura dos padrões

por meio de grafos. Nesse caso, uma rede é formada por grupos de primi-tivas cujos arcos representam relações entre os elementos que formam os padrões.

A utilização de grafos em reconhecimento estrutural de padrões tem se destacado como uma ferramenta importante em áreas de pesquisa como a visão computacional e inteligência artificial [de Mauro 2002]. Os métodos em tais abordagens são marcados pelo fato de que a tarefa de reconhecimento não envolve apenas os objetos em uma imagem, mas igualmente as relações entre tais objetos. Parte da importância da utilização dessas relações advém

Page 33: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

315

do fato que tais relações são freqüentemente mais estáveis nas cenas que muitas propriedades dos objetos em si [Lei 2004].

Serão considerados grafos com nós e arcos valorados, que são avalia-dos de acordo com a descrição da estrutura relacional que eles representam. O objetivo é decidir se a representação do objeto corresponde de fato a estrutura de um padrão de uma classe. Ou seja, se o objetivo é reconhecer um objeto descrito por meio de suas características estruturais, corresponde exatamente a um modelo que o descreve em uma classe. O exemplo mostrado na Figura 6.18 mostra um padrão representando um rosto e a relação entre a cabeça, olhos, boca, nariz e orelhas. Se objeto a ser reconhecido possui a mesma estrutura relacional, então os grafos G1 e G2 devem manter um relação de ca-samento entre vértices e arestas.

Figura 6.18. Reconhecimento por meio de grafos. Os grafos obtidos para o padrão (G1) e para o objeto (G2) devem ser

correspondentes.

O casamento exato entre grafos é chamado de isomorfismo de grafos e sua determinação é um problema clássico da teoria dos grafos. Devido à des-crição imprecisa dos objetos, ruído, condições de obtenção das características do objeto, entre outros, o isomorfismo não ocorre precisamente entre os grafos [Lei et al 2004]. Trata-se de um problema difícil e a avaliação da similaridade entre grafos não é uma tarefa trivial. Um problema relevante na determinação da similaridade de grafos é encontrar uma métrica que determine o quanto dois grafos são similares [Flasinski 1993].

Page 34: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

316

O problema do isomorfismo de grafos pode ser dividido em três princi-pais classes [Sonka et al 1992]:

1. Isomorfismo de grafos. Este problema já foi definido na Seção 2. Porém vale lembrar que trata-se um mapeamento f um-para-um (um isomorfismo) entre os conjuntos de vértices V1 e V2 tal que para cada aresta de E1 que conecte qualquer par de nós v e v’ ∈ V1, existe uma aresta de E2 conectando f(v) e f(v’).

2. Isomorfismo de subgrafos. Consiste em encontrar um isomorfis-mo entre um grafo G1 e subgrafos de outro grafo G2. Este proble-ma é mais difícil que o anterior.

3. Duplo isomorfismo de subgrafos. Encontrar todos os isomorfis-mos entre os subgrafos de um grafo G1 e os subgrafos de outro grafo G2. Este problema é da mesma ordem de dificuldade do problema 2.

Não existe atualmente um algoritmo eficiente para resolver o isomorfis-mo de grafos. Por meio de força bruta pode-se tentar todas as permutações possíveis, mas isso daria um algoritmo de complexidade exponencial. Para que dois grafos sejam isomorfos, no mínimo essas condições tem que ser respei-tadas:

1. Os dois têm o mesmo número de vértices. 2. Os dois têm o mesmo número de arestas. 3. Os dois têm o mesmo número de vértices de grau n, para qual-

quer valor n entre 0 e o número de vértices que o grafo contém. Estas condições não são suficientes para que dois grafos sejam isomor-

fos. Para determinar se um grafo é isomorfo, existe uma técnica baseada nas condições a cima, porém de implementação não trivial. Em síntese, procura-se modificar a maneira de desenhar um grafo para torná-lo igual ao outro, com a exceção dos rótulos dos vértices. O Algoritmo 6.4 sumariza essa técnica.

Algoritmo 6.4. Isomorfismo de grafos

1. Entrada: dois grafos G1(V1, E1) e G2(V2, E2);2. Usando o critério de propriedade dos nós, gere os subconjuntos

V1i e V2i de nós. Teste se condições de cardinalidade entre os subconjuntos são correspondentes. Se não, o isomorfismo é re-provado.

3. Particione os subconjuntos V1i e V2i em outros subconjuntos W1j e W2j, de tal maneira que nenhum dos dois conjuntos contenham os mesmo nós (W1j ∩ W2j = ∅). Teste as condições de cardina-lidade para todos os subconjuntos W1j e W2j. Se a condição de cardinalidade não for alcançada, então o isomorfismo é reprova-do.

4. Repita os passos 2 e 3 usando outro critério de propriedade dos nós em todos os subconjuntos W1j e W2j gerados. Pare se ocorrer alguma das situações anteriormente mencionadas.

Page 35: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

317

5. Baseado na situação de parada do processo de repetição, o isomorfismo pode ser aprovado, reprovado ou aplica-se algum outro procedimento de retrocesso para completar o teste.

O isomorfismo de subgrafos e o duplo isomorfismo de subgrafos são problemas NP-Completos, significando que nenhuma solução determinística pode ser alcançada em tempo polinomial. As soluções só são obtidas em tem-po proporcional a uma funação exponencial do tamanho da entrada. Não se sabe se o isomorfismo de grafo é NP-completo ou não.

6.6. Aplicações e Estudos de CasosNesta seção serão abordadas as aplicações do reconhecimento sintáti-

co de padrões. Em particular, enfatiza-se a aplicação das técnicas sintáticas e estruturais em visão de máquina, recuperação da informação e em bioinformá-tica. Serão abordados tópicos inerentes à análise de padrões de textura para a inspeção visual, os problemas da recuperação de imagens por conteúdo, a recuperação da forma tridimensional de objetos contidos em uma imagem por meio da construção de gramáticas e uma visão geral sobre novas aplicações do reconhecimento de padrões em bioinformática [Todesco 1995].

6.6.1 Reconhecimento Sintático em BioinformáticaSão muitas e variadas as aplicações das técnicas de reconhecimento

de padrões nas áreas médicas e biológicas [Hava e Arridge 1999, Jurek 2000]. Em bioinformática existem pelo menos duas classes de sinais de uma dimen-são que consistem em dados para problema em reconhecimento de padrões [Hong e Yang 2005]:

•seqüências de bases e •sinais de DNA microarray. Seqüências de base pode formar uma molécula de DNA ou RNA, que

são estudas na biologia molecular. Existem cinco bases diferentes: adenina (A), guanina (G), citosina (C), timina (T) e uracila (U), formando palavras como AGCGGCTAGTC...

A partir de uma seqüência de bases podemos aplicar algoritmos de reconhecimento de padrões que podem solucionar problemas de agrupamen-to ou de casamento. O problema de casamento de seqüências consiste ba-sicamente em determinar quão similares são duas seqüências. Em geral o problema é encontrar alguma similaridade entre uma seqüência e um conjunto grande de seqüências (um para muitos). O problema pode estender-se em en-contrar similaridade entre dois conjuntos de seqüências (muitos para muitos).

No Ácido RiboNucléico (RNA), os nucleotídeos adenina (A), citosina (C), guanina (G) e uracila (U) atuam uns sobre os outros, em caminhos espe-cíficos para formar a estrutura secundária em característica principais como as hélices, laços e saliências. Em geral, a dobra da cadeia de RNA em molécula funcional é governada pela formação de intramoléculas de A-U e G-C, deno-

Page 36: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

318

minados pares de Watson-Crick. Tais pares de bases constituem o chamado palíndromo biológico no genoma.

Quando as seqüências de RNA estão alinhadas, ambas estruturas pri-márias e secundárias necessitam ser consideradas desde a geração do alinha-mento múltiplo da seqüência e análises de dobras são mutuamente exercícios dependentes.

Em [Sakakibara et al. 2004], mostra-se que o pareamento das bases no RNA pode ser descrito por uma linguagem livre de contexto. Em particu-lar, utilizando as regras na forma AYUX → , UYAX → , GYCX → e CYGX → descreve-se a estrutura em RNA que combina com o parea-mento base de Watson-Crick. Usando regras deste tipo, a gramática livre de contexto pode especificar a linguagem de palíndromos biológicos.

Dada a gramática a seguir:

→→→→→→→→→→→→→→→→

=

=Σ=

Σ=

UGX

GCXXCGXXGCX

AXXUAXXCGXX

UGXAXXCGXX

UAXXXXXUAXX

UAXXXXXCGXX

UAXP

P

UGCA

XXXXPV

PRVG

16

161515414

14131312128

111110109

9787665

5343221

1

161521

,,,

,,,

,,,

,,,

,,,

,

},,,{

},,,,,{

),,,(

Por exemplo, a aplicação das regras na gramática anterior pode gerar a seqüência de RNA CAUCAGGGAAGAUCUCUUG e a derivação pode ser dis-posta em uma estrutura de árvores chamada árvore de derivação. Um árvore de derivação representa a estrutura sintática de uma seqüência produzida por uma gramática.

6.6.2. Classificação de CromossomosA classificação de cromossomos é explorada em profundidade no tra-

balho de [Todesco 1995], a partir do qual é constituído grande parte do texto aqui desenvolvido. A análise microscópica dos cromossomos humanos visa o pareamento dos mesmos para a avaliação de sua integridade estrutural. O cariótipo é o processo pelo qual os cromossomos em uma célula, preparada adequadamente, são identificados e alocados para uma determinada classe a qual presumivelmente pertencem. Esta é uma importante tarefa clínica, pois a identificação de anormalidades nos cromossomos de uma particular classe pode ser detectada e, assim, feito o diagnóstico de certas síndromes clínicas.

Page 37: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

319

A classificação pela inspeção (cariotipagem) é uma tarefa importante e trabalhosa em diagnóstico pré-natal de anormalidades genéticas e no diagnós-tico e monitoramento do câncer. O estudo microscópico é demorado e exige extrema experiência do profissional, constituindo-se em um trabalho artesanal.

Para formar um cariótipo de 46 cromossomos de uma célula humana normal, algumas características dos cromossomos (comprimento, posição do centrômero, padrão de bandas, etc.) devem ser mensuradas de maneira que cada cromossomo possa ser atribuído a uma das 24 classes. São 22 pares de cromossomos idênticos (homólogos) e um par sexual designado pelas letras X e Y (um par de cromossomo X no caso de feminino – ver a Figura 6.19, e um cromossomo X e um Y no caso de masculino).

Figura 6.19. o cariótipo feminino humano normal. Imagem obtida na www em www.virtual.epm.br/ cursos/genetica/htm/base.htm.

Os cromossomos estão presentes em todas as células nucleadas de todos os organismos vivos, levando informações genéticas que são usadas como mensageiros na reprodução das células e organismos. Seu nome é deri-vado do Grego “chroma” para cor e “soma” para corpo, isto porque elas podem ser fixadas com certas tinturas. Para melhor entendimento de sua função de mensageiro, um esboço do processo reprodutivo de células e organismos será apresentado. A reprodução das células serve para dois importantes propósi-tos: o crescimento e manutenção dos organismos vivos gerando novas células por meio da divisão, chamada mitose e a reprodução dos organismos como um todo pela geração de células reprodutivas especializadas através da redução da divisão, chamada meiose.

Do ponto de vista citogenético, o principal interesse na célula em um específico estágio da mitose, é a metáfase, e muito menos extensivo, a prófa-

Page 38: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

320

se, porque somente nestes estágios os cromossomos são visíveis como enti-dades separadas e podem passar informação. Desta forma, o objetivo é tentar o maior número de metáfases pela intervenção no ciclo mitótico normal da célula, por meio de um processo laboratorial chamado cultura. Além disso, é contrastar o cromossomo para que detalhes possam ser visualizados para fins de diagnóstico.

Quando propriamente focado, a prófase e metáfase são facilmente visu-alizadas, porque elas mostram um padrão muito característico de um agrupa-mento de poucas dúzias de objetos. Os cromossomos geralmente diferem de uma célula para outra tanto em tamanho quanto em forma. Uma vez achada a metáfase, a possibilidade de análise é julgada pelos vários graus de contração e alongamento dos cromossomos, e o número estimado de cromossomos que se tocam e se sobrepõem. Deve também ser notado, que a análise depende dos requerimentos necessários. Se o objetivo é apenas verificar anormalidade numérica, a qualidade da metáfase é suficiente se os cromossomos são contá-veis. Se o objetivo é analisar anormalidades estruturais, em alguns casos basta que a metáfase seja suficiente para determinar o cariótipo (ou cariograma).

O cariótipo dos cromossomos assistido pelo computador para análise dos cromossomos tem alcançado o estágio no qual muitos laboratórios acei-tam que é tanto clinicamente útil quanto economicamente justificável. Sistemas comerciais já se encontram hoje disponíveis, proporcionando facilidades gráfi-cas interativas para a classificação automática pelo computador, embora exista a necessidade de interação com um operador. A comparação entre os padrões é realizada em bases de imagens digitalizadas de cromossomos.

Existem 28 características disponíveis nos cromossomos, sendo impra-ticável fazer uma busca exaustiva para um subconjunto ótimo. Os critérios mais usados para identificação dos cromossomos pelos citogenicistas são: compri-mento, posição do centrômero, características auto-radiográficas, localização das constrições secundárias e padrão de bandas.

A extração das características comumente toma tempo, pois muitas ve-zes um pré-processamento se torna necessário, no sentido de melhorar as condições da imagem para a extração. Este é o caso da determinação do eixo principal do cromossomo para medir o comprimento do mesmo. Os cromos-somos nem sempre estão dispostos de forma própria, ou seja, eles aparecem tortos, ou em posições que não são adequadas para a extração das caracterís-ticas. Em alguns estudos os cromossomos severamente tortos e sobrepostos foram retirados a título de praticidade, porém, em outros estudos este problema tem sido largamente explorado, uma vez que em sistemas automáticos esta é uma condição normal.

Assim, um processamento prévio torna-se necessário, com o objetivo de esticar (desentortar) e rotacionar o cromossomo. As características mais utilizadas na classificação automática de cromossomos são o comprimento e posição do centrômero (ou índice centromérico), sendo que com estas duas característica é possível separar os cromossomos em 7 grupos, também cha-mado grupo de Denver (ver Figura 6.17).

Page 39: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

321

Figura 6.20. A constrição primária ou centrômero e constrições secundárias (à esquerda). Descrição dos cromossomos de

acordo com a posicão do centrômero (à direita). Figura obtida em www.virtual.epm.br/ cursos/genetica/htm/base.htm.

Uma outra característica, talvez a mais explorada desde o advento da preparação de amostras de cromossomos com bandas, é o padrão de banda do cromossomo ao longo do eixo longitudinal. Estas três características têm sido a base da grande maioria dos estudos desenvolvidos nas duas últimas décadas.

O comprimento do cromossomo é medido ao longo do eixo longitudinal. Cada cromossomo em seu grupo tem um comprimento dentro de cada célula (metáfase), sendo que a variação depende da preparação da amostra. Isso faz com que seja necessária a normalização desta medida. O centrômero é um ponto de constrição primária dos cromossomos que a divide em duas partes, chamados braço curto p e braço longo q. A relação entre p e q é chamada índi-ce centromérico, ou seja, p e q são metacêntricos quando os dois braços têm praticamente o mesmo comprimento (p/q = 1); submetacênctricos quando a relação p/q é aproximadamente 0.5, ou seja, os comprimentos dos dois braços são diferentes, e acrocêntricos quando o centrômero está na extremidade do cromossomo (p/q = 0.1).

Variações na medição do índice centromérico são feitas, utilizando-se também a razão da área do braço curto e do braço longo, ou a razão da den-sidade (p/q) no nível de pixels. O padrão de bandas, ou simplesmente bande-amento, é a variação de tonalidade ao longo do eixo principal do cromossomo, formando listras, de propriedades tingidas. Esta variação de propriedades tin-gidas é normalmente independente de qualquer variação estrutural imediata-mente óbvia.

A determinação do comprimento do cromossomo pode ser feita de vá-rias maneiras. Uma das técnicas que tem sido mais utilizada é a determinação do eixo longitudinal do cromossomo, uma vez que, se esse eixo é determina-do, o comprimento torna-se imediato. Técnicas não-paramétricas que acham o eixo por montagem local podem ser mais poderosas no trato com cromos-somos tortos.

A determinação da posição do centrômero é outro importante passo no processamento da imagem do cromossomo. Para cromossomos sem padrão

Page 40: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

322

de bandas o centrômero pode ser achado diretamente por meio da análise do perfil de densidade ao longo do eixo principal do cromossomo. Contudo, para cromossomos com bandas esta análise não pode ser usada, uma vez que o perfil de densidade será dominado pelas bandas. Algumas abordagens pro-põem a utilização do perfil da largura do cromossomo, e a outra a análise da curvatura da fronteira do cromossomo (máxima concavidade no contorno do cromossomo) [Todesco 1995].

O padrão de bandas é a característica seguramente mais explorada, possibilitando várias combinações no seu processo de classificação. Basica-mente o perfil da densidade média ao longo do cromossomo tem-se tornado uma prática comum sendo utilizado em vários estudos [Mali e Mitra 2003]. A classificação utiliza as características previamente extraídas para atribuir cada cromossomo da metáfase a uma das 24 classes, formando assim o cariotipo.

Em [Todesco 1995] cita-se ainda vários outros classificadores, dentre os quais os Classificadores Paramétricos e Não-Paramétricos, Algoritmos de Busca em Grafos, Sequências de Transição de Bandas, Modelos de Redes de Markov, Algoritmos de Transportes e mais recentemente Redes Neuronais Arti-ficiais tem sido estudado e propostas para a classificação dos cromossomos.

6.6.3 Reconhecimento Sintático em Mineração de DadosA mineração de dados tem por objetivo extrair informações implícitas

e potencialmente úteis em grandes bases de dados. Normalmente todo este processo consiste em uma série de etapas, que inicia com a seleção do con-junto ou amostra dos dados a serem processados. Estes dados podem ser submetidos a uma etapa de pré-processamento em que são transformados para um formato adequado ao algoritmo de mineração, que procura por regras ou padrões ocultos nos dados. Finalmente as informações descobertas são selecionadas e formatadas para a exibição, a fim de serem interpretadas e avaliadas, de forma que se selecione os conhecimentos úteis resultantes de todo o processo.

Atualmente, cada vez mais áreas podem ser beneficiadas com os resul-tados que advêm do processo de mineração de dados. Técnicas de mineração de dados em banco de dados com informações de mercado podem ser usadas em diferentes aspectos de relações entre clientes e negócios. Vendas a varejo envolvem minerar as transações de venda para encontrar associações entre os produtos. Esta informação é então usada para determinar afinidades de produtos e sugestão de estratégias de promoções que podem maximizar o lucro, por exemplo.

A mineração de dados é utilizada pelo mercado financeiro para detectar e prevenir fraudes, ou para traçar um perfil dos clientes. Estas informações são úteis para o processo de tomada de decisão no momento de fornecer produtos bancários aos clientes.

Nas áreas de Saúde e Medicina, a mineração de dados é usada para a administração de serviços de pacientes, diagnósticos e tratamento de doen-

Page 41: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

323

ças. A indústria da saúde utiliza a mineração de dados para detectar fraudes de pacientes que gozam de boa saúde. Nestes casos são utilizadas técnicas de reconhecimento de padrão como agrupamento e modelagem de funções. Nos sistemas de diagnóstico de vários tipos de câncer e ataques do coração, dados de pacientes podem ser coletados sobre uma grande população e apresenta-dos para uma rede neural artificial. Percebe-se que o sistema de mineração de dados pode avaliar mais pacientes em um dia do que um médico poderia fazer em toda a sua vida.

Por exemplo, na mineração de um enorme banco de dados pode-se descobrir padrões em estruturas moleculares, informações genéticas, mudan-ças no clima mundial, etc. Além disso, pode-se “ensinar” um determinado con-ceito de um determinado corpo estelar e utilizar o computador para avaliar imagens de telescópio e descobrir novos corpos estelares.

Existem diversos métodos que podem ser utilizados para realizar a mine-ração de dados e estes métodos podem ser implementados de diversas formas, dependendo das necessidades de aplicação ou dos objetivos da mineração. Em todos eles é importante que se defina qual será o formato utilizado para descre-ver os padrões descobertos, além de se definir critérios que permitam a avalia-ção desses padrões. Além disso, é importante determinar quais são os parâme-tros necessários ao método e qual o nível de interatividade com o usuário.

A técnica de classificação utiliza um conjunto de exemplos pré-classifi-cados para desenvolver um modelo que pode classificar uma população de re-gistros. Esta aplicação freqüentemente utiliza árvores de decisão ou algoritmos de classificação. O uso de algoritmos de classificação inicia-se com um conjun-to de treinamento de transações, por exemplo, pré-classificadas. O algoritmo de treinamento do classificador utiliza estes exemplos para determinar o con-junto de parâmetros necessários para a discriminação apropriada. O algoritmo então codifica estes parâmetros num modelo chamado classificador.

A função da técnica de classificação é examinar o conjunto de registros classificados e produzir descrições das características dos registros para cada classe. O problema da técnica de classificação em realizar corretamente esta função é a descoberta de regras que particionem os dados em todo o processo de mineração de dados. Como resultado da técnica de classificação pode-se determinar regras que classificam um determinado conjunto de dados ou regras que discriminem os dados. Na técnica de classificação, possui-se um conjunto de dados pré-determinados para a classificação, isso caracteriza um método de aprendizado supervisionado, em que o algoritmo é controlado por parâmetros que não são passados ao sistema.

Uma prática comum é o aninhamento de estruturas de decisão para se obter uma classificação dos dados por meio da utilização de sentenças do tipo if-then. De forma geral, as sentenças if-then podem ser muito complexas se forem muito longas. As árvores de decisão e regras que usam divisão não va-riável têm uma forma de representação simples, fazendo com que a inferência do modelo seja relativamente fácil de ser compreendida pelo usuário.

Page 42: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

324

Entretanto, a restrição a uma representação particular de árvore ou re-gra pode restringir significativamente a forma funcional (e logo o poder de apro-ximação) do modelo. O aumento do espaço do modelo permite expressões mais gerais (tais como, hiperplanos multivariáveis com ângulos arbitrários), então o modelo pode ser mais poderoso para predição, mas pode ser muito difícil compreendê-lo.

6.6.4. Reconhecimento de TexturasTexturas, em visão computacional, pode ser compreendida como a

variação de brilho em padrões sobre a superfície de objetos de uma cena. A descrição estrutural de texturas é baseada na analogia entre as relações espaciais de uma primitiva de textura e a estrutura de uma linguagem formal. Essa abordagem tem sido intensamente utilizada em visão computacional para a detecção de áreas de plantação, queimadas ou desmatamento de florestas em imagens de sensoriamento remoto, diagnóstico automático de doenças no pulmão por meio de imagens de raio X, reconhecimento de tipos de nuvens em dados de imagens de satélite, entre outras.

As texturas são de ocorrência muito comum em nosso mundo e seu re-conhecimento tem um campo vasto de aplicações. Sob a abordagem sintática, as classes de textura são descritas por meio de uma linguagem e podem ser inferidas a partir de um conjunto de treinamento formado pelas palavras da lin-guagem. O processo de reconhecimento nada mais é do que a análise sintática da palavra que representa determinado padrão de textura.

O descritor sintático de texturas parte da idéia de que uma textura em uma imagem consiste de primitivas localizadas sobre os objetos e obedecem a um padrão de relacionamento regular. Como visto em seções anteriores, uma maneira eficiente de se descrever o relacionamento entre padrões é usar uma gramática que represente uma regra de construção da textura a partir de primitivas por meio da aplicação de regras de transformação em um conjunto limitado de símbolos. Os símbolos representam os tipos de primitivas de textu-ra e as regras de transformação representam o relacionamento espacial entre primitivas.

O maior problema no reconhecimento de texturas é que padrões de textura reais não apresentam, na maioria dos casos, regularidade nem unifor-midade que possam ser descritas de forma direta por meio de uma gramática. Usualmente empregam-se gramáticas estocásticas para a representação des-ses padrões. Quando o padrão possui uma forma regular “bem comportada”, então se pode empregar gramáticas de cadeias e gramáticas de grafos, como descrito em seguida.

Gramáticas de CadeiaUma gramática de cadeia nada mais é que uma gramática convencio-

nal, como descrita na seção de fundamentos teóricos, que pode ser usada para descrever texturas regulares [Sonka et al 1992]. Estas gramáticas geram

Page 43: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

325

texturas que iniciam com símbolos que são seguidos pela aplicação das regras de produção, aqui referidas como regras de transformação ou regras de for-ma. O processo de criação da textura inicia-se a partir do símbolo de partida e procura, em primeiro lugar, por uma regra de transformação. Em seguida, a regra deve ser geometricamente ajustada para corresponder exatamente a textura gerada. As regras são gerais e não incluem tamanho, orientação, etc. O Algoritmo 6.5 mostrado em seguida exemplifica o processo de geração de texturas regulares.

Algoritmo 6.5. Criação de texturas por meio de gramática de cadeia.

1. Inicie o processo de geração de textura aplicando alguma regra de transformação ao símbolo de partida;

2. Encontre uma parte da textura previamente gerada que cor-responda ao lado esquerdo de alguma regra de transformação. Caso nenhuma parte de textura possa ser encontrada, pare;

3. Encontre uma transformação geométrica que possa ser aplica-da ao lado esquerdo da regra escolhida para que esta corres-ponda exatamente a textura considerada.

4. Aplique a transformação geométrica ao lado direito da regra de transformação;

5. Substitua a parte especificada da textura (a parte que corres-ponde geometricamente ao lado esquerdo transformado da regra escolhida) com o lado direito da regra de transformação escolhida que foi geometricamente transformado.

6. Volte ao passo 2.

Este algoritmo pode ser demonstrado por meio da construção de uma textura hexagonal [Sonka et al. 1992]. Seja, V o conjunto de símbolos não ter-minais, Σ o conjunto de símbolos terminais, R o conjunto de regras e P o sím-bolo de partida conforme descritos na Figura 6.21 mostrada em seguida e que pode ser aplicada para construir um padrão de textura hexagonal, seguindo os passos do Algoritmo 6.5.

Page 44: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

326

Figura 6.21. Gramática para a criação de texturas hexagonais.

A gramática é usada para gerar a textura hexagonal mostrada na Figura 6.22. Como pode ser observado, o símbolo não terminal aparece em diferentes rotações. As rotações são representadas na gramática por meio de ponto preto anexado ao lado da figura da primitiva hexagonal. O reconheci-mento de texturas hexagonais é a prova de que texturas podem ser criadas por meio dessa gramática. O processo de reconhecimento é similar ao processo de análise sintática (o método Mpar) descrito em seções anteriores.

Page 45: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

327

Figura 22. Padrão de textura gerado pela gramática de cadeia de formas.

Gramáticas de GrafosA maneira mais natural de para o reconhecimento de texturas com pa-

drões regulares é construir um grafo planar sobre a disposição espacial das primitivas é utiliza-lo como entrada no processo de reconhecimento. A classe das primitivas e o relacionamento espacial entre estas devem ser conhecidos previamente para se efetivar a construção do grafo.

As primitivas de texturas são codificadas como nós do grafo e dois nós são conectados por uma aresta, caso não tenha nenhuma outra primitiva na vizinhança. Cada nó é rotulado de acordo com a classe correspondente a sua primitiva e os arcos são avaliados em termos de seus comprimentos e dire-ções. O relacionamento espacial entre as primitivas definem uma vizinhança. O tamanho dessa vizinhança é que tem maior influência na complexidade de construção do grafo planar.

Com o grafo construído, o problema de classificação texturas passa a ser tratado como um problema de reconhecimento em grafos, para o qual , quaisquer uma das abordagens seguintes é válida:

1. Simplifica-se a descrição da textura por meio da decomposição do grafo em um conjunto de cadeias. A descrição das cadeias da textura podem representar bordas da primitiva de regiões fecha-das, diferentes caminhos no grafo, a vizinhança de uma primiti-va, entre outras. Um conjunto de treinamento é construído a par-tir da descrição de texturas do grafo planar para cada classe de textura. Empregam-se, então, as gramáticas apropriadas para

Page 46: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

328

inferir as texturas de cada classe. Como a presença de ruído á altamente provável, empregam-se, geralmente, gramáticas es-tocásticas. O processo de classificação consiste, basicamente, nos seguintes passos:

a. A textura é representada por meio de um grafo;b. O grafo é decomposto em cadeias;c. As cadeias são utilizadas em um processo de análise sintáti-

ca;d. A textura é classificada de acordo com a classe para qual a

gramática aceitar todas as cadeias do grafo planar decom-posto.

2. Outra classe de descrições por meio de grafos planares é re-presentada por meio de uma gramática de grafos estocásticos ou por uma gramática de grafos estendida para a descrição das texturas.

3. Os grafos planares podem ser comparados diretamente usando um algoritmo de casamento de grafos (isomorfismo). Se neces-sário pode-se definir uma distância entre dois grafos como uma medida de similaridade.

A maior vantagem da abordagem (1) é sua simplicidade; a impossibi-lidade de se reconstruir o grafo original a partir da decomposição em cadeias é sua principal desvantagem, uma vez que isso indica que alguma porção da informação sintática foi perdida durante o processo de decomposição. A abor-dagem (2) é muito difícil, tanto do ponto de vista implementacional quanto al-gorítmico; seu maior problema é a inferência gramatical. Se alguma métrica, como uma distância, for definida na abordagem (3) então métodos padrões usados no aprendizado estatísticos podem ser convenientemente empregados como na análise de agrupamento, por exemplo.

A abordagem sintática é usual em reconhecimento de texturas devido a habilidade de se descrever as características do padrão de textura em diferen-tes níveis. Isso permite a análise qualitativa da textura por meio da decomposi-ção em subestruturas descritivas, objetivando a incorporação da descrição do padrão em todo componente da cena.

6.7 Considerações FinaisNeste texto, apresentaram-se as técnicas de reconhecimento de pa-

drões por meio das abordagens sintática e estrutural levando-se em consi-deração a relação entre o conjunto de padrões e a gramática, a semântica das gramáticas e aspectos inerentes à inferência gramatical. Por meio dessas relações, mostrou-se o limitado poder de expressão das gramáticas livres de contexto e a difícil tarefa de tratar com as gramáticas sensíveis ao contexto. Mostrou-se também que os métodos estruturais devem apresentar um conjun-to finito e bem definido de protótipos, caso contrário fica difícil ou até mesmo impossível determinar uma gramática representativa para a efetivação do ca-samento entre padrões.

Page 47: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Reconhecimento Sintático e Estrutural de Padrões

329

Em síntese, verificou-se que os métodos de reconhecimento sintático de padrões são difíceis de se implementar sem levar-se em consideração o co-nhecimento prévio do analista e a definição de um bom conjunto de primitivas. Porém, mesmo sob o aspecto dificultoso e trabalhoso da definição de primitivas e construção de gramáticas, verificou-se por meio de exemplos a aplicação bem sucedida dos métodos de reconhecimento sintático em áreas como a bioinformá-tica, recuperação de informação, mineração de dados e visão computacional.

Os exemplos ilustrativos de aplicações mostrados na última seção co-brem uma ampla faixa de conceitos que foram aqui desenvolvidos e apresen-tam, dentro dos exemplos mostrados, eventuais linhas de pesquisas e temas para desenvolvimento futuro. No contexto mais específico de abordagem sintá-tica, vale destacar o interesse crescente no desenvolvimento de analisadores sintáticos baseados em correção de erro mais rápidos e eficientes, o desenvol-vimento de novas técnicas de construção de gramáticas, a implementação de gramáticas de maneira declarativa executados por meio de interpretadores, a aplicação de gramáticas de alta ordem como as gramáticas plex [Peng 1990], gramáticas livres de contexto de atributo, gramáticas de atributo bidimensional estendido [Zhao 1990], gramáticas de grafos [Flasinski 1993], gramáticas pro-gramadas [Lee 1992], gramáticas estratificadas e de lógica lebulosa [Parizeau e Plamondon 1992], entre outras.

Referências[Amengual e Vidal 1998] - Amengual, J.C., Vidal, E. (1998) Efficient Error-correcting Viter-

bi Parsing, PAMI(20), No. 10, pp. 1109-1116, [Banks 1990]- Banks, S. (1990) Signal Processing, Image Processing and Pattern Re-

cognition. Prentice Hall. [Barrero 1991] - Barrero, A. Unranked tree languages. Pattern Recognition, Vol. 24, No.

1, pp. 9-18, (1991).[Chi e Geman 1998] - Chi, Z. e Geman, S. (1998). Estimation of probabilistic context-free

grammars, Computational Linguistics Vol. 24, No. 2, pp. 299-305. [Chrnaiak 1997] - Chrnaiak, E (1997).. Statistical parsing with a context-free grammar

and word statistics. Proceedings of the Fourteenth National Conference on Artificial Intelligence, pp. 598-603.

[de La Higuera 2005] - de La Higuera, C. (2005). A bibliographical study of grammatical inference, Pattern Recognition, Vol. 38, pp. 1332-1348,

[de Mauro et al. 2003] - de Mauro, C. , Diligenti, M., Gori, M., Maggini, M. (2003). Simi-larity lernaing for graph-based image representations, Pattern Recognition Letter 24, pp. 1115-1122.

[Flasinski 1993] - Flasinski, M. (1993). On the parsing of deterministic graph languages for syntactic pattern recognition, Pattern Recognition 26, pp. 1-16.

[Fu 1982] - Fu, K. S. (1982). Syntactic Pattern Recognition and Applications, Prentice-Hall, Inc., Englewood Cliffs.

[Hava e Arridge 1999] - Hava, L. Arridge, S.R. (1999). A survey of hierarchical non-linear medical image registration, Pattern Recognition, Vol. 32, No. 1, pp. 129-149.

[Hong e Yang 2005] -Hong, A. W-C.Y. e Yang, M. (2005). Pattern recognition techniques for the emerging field of bioinformatics: A review. Pattern Recognition, Vol. 38, N. 11, pp. 2055-2073.

Page 48: José Luiz de Souza Pio, Camillo Jorge Santos de Oliveira ... · pegadas de animais, esquemas de circuitos elétricos, códigos ... O que se procura por meio da classificação é

Souza Pio, Santos de Oliveira, Albuquerque de Araújo e Oliveira

330

[Hopcroff et al. 2000] - Hopcroff, J.E., Montwani, R., Ullman, J.D. (2000). Introduction to Automata Theory, Languages, and Computation. Addison Wesley, 2a. ed.

[Jurek 2000] - Jurek, J. (2000). On the linear computational complexity of the parser for quasi-context sensitive languages, PRL(21), No. 2, pp. 179-187.

[Lee et al. 1992] - Lee, K.H., Eom, K. B. e Kashyap, R.L. (1992). Character recognition based on attribute-dependent programmed grammar, IEEE Trans. PAMI-14, pp. 1122-1128.

[Lei et al. 2004] - Lei, H., Chia, Y. H., Everding, B. e G. W., William (2004). Graph ma-tching for object recognition and recovery. Pattern Recognition, Vol. 37, No. 7, pp. 1557-1560.

[Mali e Mitra 2003] -Mali, K., Mitra, S. (2003). Clustering and its validation in a symbolic framework, Pattern Recognitio Letters Vol. 24, No. 14, pp. 2367-2376.

[Ogiela e Tadeusiewicz 2003] - Ogiela, M. R. e Tadeusiewicz, R. (2003). Artificial in-telligence structural imaging techniques in visual pattern analysis and medical data understanding. Pattern Recognition, Vol. 36, No. 10, pp. 2441-2452.

[Oommen e Kashyap 1998] - Oommen, B.J., Kashyap, R.L. A Formal Theory for Optimal and Information Theoretic Syntactic Pattern Recognition, Pattern Recognition Vol. 31, No. 8, pp. 1159-1177, (1998).

[Parizeau e Plamondou 1992] - Parizeau, M. e Plamondon, R. (1992). Fuzzy-shape gram-mars for cursive script recognition, Advances in Structural and Syntactic Pattern Re-cognition, H. Bunke, ed., World Scientific.

[Peng et al. 1990] - Peng, K.J., Yamamoto, T. e Aoki, Y. (1990). A New Parsing Scheme for Plex Grammars, Pattern Recognition, 23, pp. 393-402.

[Sakakibara et al. 1994] - Sakakibara, Y., Brown, Hughey, M. R., Mian I. S., Sjolander, K., R. (1994). Stochastic Conntext-free Grammars for RNA Modeling. Nucleic Acids Research, vol. 22, pp 5112-5120.

[Sanfeliu et al. 2002] - Sanfeliu, A., Alquézar, R., Andrade, J., Climent, J., Serratosa, F., Vergés, J. (2002). Graph-based representations and techniques for image processing and image analysis, Pattern Recognition, No. 3, pp. 639-650,

[Schalkoff, 1992] - Schalkoff, R. (1992). Patter Recognition – Statistical, Structural and Neural Approachs, John Willey & Sons.

[Sonka 1992] - Sonka, M., Hlavac, V. e Boyle, R. (1992). Image Processing, Analysis and Machine Vision. Chapman & Hall.

[Tanaka 1995] - Tanaka, E. (1995). Theorical Aspects of Sintactic Pattern Recognition, Pattern Recognition, No. 7, pp. 1053-1061.

[Todesco 1995] - Todesco, J. L. (1995). Reconhecimento de Padrões Usando Rede Neu-ral Artificial com Função de Base Radial: Uma Aplicação na Classificação de Cro-mossomos Humanos. Tese de Doutorado, Universidade Federal de Santa Catarina, Programa de Pós-Graduação em Engenharia da Produção.

[Trytten e Tucerya 1995] - Trytten, D. A. e Tucerya, M. (1995). The construction of labeled line drawings from intensity images. Pattern Recognition, Vol. 28, pp. 171-198.

[Vieira 2006] - Vieira, J. N. (2006). Introdução aos Fundamentos da Computação – Lin-guagens e Máquinas. Thomson.

[Zhao 1990] - Zhao, M. (1990). Two-dimensional extended attribute grammar method for the recognition of hand-printed Chinese characters, Pattern Recognition. 23, pp. 658-695.


Recommended