20 UFMG - ICEx DEPARTAMENTO DE CIÊNCIA DA UNIVERSIDADE FEDERAL DE MINAS GERAIS C O M P U T A Ç Ã O Aplicação da Computação na Identificação de Pólen em Produtos Apícolas RT-DCC-002/1999 Luciana Ribeiro Alves Arnaldo de Albuquerque Araújo Esther Bastos José Lopes de Siqueira Neto MÊS ANO 1999 PUBLICAÇÃO Aplicação da Computação na Identificação de Pólen em Produtos Apícolas Luciana Ribeiro Alves Arnaldo de Albuquerque Araújo Esther Bastos José Lopes de Siqueira Neto Resumo A identificação dos pólens presentes em produtos apícolas, como o mel e a própolis, é muito importante para descobrir-se a origem botânica destes produtos. A partir dessa identificação, o especialista em botânica pode determinar a qualidade alimentar e o grau de pureza das amostras apícolas. Neste trabalho, são apresentadas duas implementações de modelos computacionais que auxiliam na identificação de pólen: um sistema especialista baseado em árvores de decisão e um sistema de software que utiliza a linguagem SQL para fazer consultas a um banco de dados. Através dessas duas propostas, procura-se descobrir o gênero ao qual cada pólen pertence, a partir da análise de suas características morfológicas. Os resultados obtidos mostram que consultas a banco de dados produzem melhores resultados, quando não se conhecem todas as características do grão analisado. Consultas ao banco fornecem como resposta uma lista de todos os gêneros possíveis para aquele grão, enquanto o sistema especialista fornece um resultado, muitas vezes incorreto, que é baseado em análise de probabilidades. Abstract The identification of pollens present in apiarian products, as honey and propolis, is very important to detect its botanic source. From this identification, a botanist can determine the nutritious quality and purity of apiarian samples. In this work, two implementations of computational models to help on the pollen identification process are presented: an artificial intelligence system based on decision trees and a software system that uses SQL language for databases consulting. Through these two approaches, it is intended to find out the pollen nature based on the analysis of its morphologic features. The achieved results show that database consults provide better results, when some features of the analyzed grain are not known. They supply a list of all possible natures for that grain, while the specialist system provides a result, frequently wrong, which is based on probability analysis. 2 Sumário Índice de Figuras 4 1 - Introdução 5 2 - Trabalhos relacionados 5 3 - O problema de identificação dos grãos de pólen 5 3.1 Motivação 5 3.2 A identificação dos grãos de pólen 6 3.3 Caracterização do Problema 6 4 - Identificação dos grãos de pólen através do algoritmo ID3 8 4.1 Definições e conceitos básicos 8 4.1.1 Inteligência Artificial 8 4.1.2 Sistemas Especialistas 8 4.1.3 Descritores 8 4.1.4 Classificadores 9 4.1.5 Árvore de Decisão 9 4.2 Implementação do algoritmo ID3 9 4.2.1 Entropia 10 4.2.2 Formulações Matemáticas 10 4.2.3 Árvores de Decisão 11 4.2.4 Definição do Algoritmo 12 4.3 Experimentos e Resultados 13 5 - Identificação dos grãos de pólen através de sistema de banco de dados 14 5.1 Implementação do banco de dados 14 5.2 Implementação do software 14 5.2.1 O Módulo de Cadastros e Consultas 15 5.2.2 O Módulo de Classificação dos Grãos de Pólen 16 5.2.3 O Módulo de Relatórios 18 5.3 Experimentos e Resultados 19 6 – Conclusões 19 7 - Planos Futuros 19 8 – Bibliografia 20 3 Índice de Figuras Figura 3.1: Ilustração de grão de pólen do mesmo gênero visto nas posições equatorial e polar 7 Figura 3.2: Ilustração de grão de pólen de gêneros diferentes que apresentam alto grau de semelhança 7 Tabela 4.1 : Um exemplo de relação entre descritores e classificadores 8 Figura 4.1: Exemplo de árvore de decisão 9 Figura 4.2: Relação entre randomicidade e entropia do conjunto 10 Figura 4.3: Representação do Algoritmo ID3 12 Figura 5.1: Estrutura do banco de dados 14 Figura 5.2: A tela de cadastro de tipo polínico 15 Figura 5.3: A tela de consulta de gênero 15 Figura 5.4 : Características gerais do grão de pólen 16 Figura 5.5 : Características da superfície do grão de pólen 16 Figura 5.6 : Características geográficas do grão de pólen 17 Figura 5.7 : A tela de resultados 17 4 1. Introdução A identificação dos pólens presentes em produtos apícolas, como o mel e a própolis, é muito importante para determinar a origem botânica destes produtos. Com a ajuda da palinologia, ou estudo do pólen, é possível classificar cada grão de pólen, através da análise de suas características morfológicas. Essa classificação é fundamental para determinar a qualidade alimentar dos produtos apícolas. O método de identificação dos grãos de pólen em produtos de origem apícola é realizado hoje, pela FUNED (Fundação Ezequiel Dias), com a ajuda de um microscópio eletrônico. Neste microscópio, é feita a contagem e separação de 300 a 500 grãos por amostra, e o reconhecimento destes grãos de acordo com suas características morfológicas. Esse método é demorado e dispendioso, necessitando de um funcionário especializado e com grande experiência na área, estando, ainda assim, sujeito a falhas. Neste trabalho, são apresentadas duas implementações de modelos computacionais que auxiliam na solução do problema de identificação de pólen: um sistema especialista e um sistema de software que utiliza a linguagem SQL para fazer consultas a um banco de dados. Através dessas duas propostas, procura-se descobrir o gênero ao qual cada pólen pertence, a partir da análise de suas características morfológicas. A primeira proposta de solução para o problema – o sistema especialista - é baseada no algoritmo ID3, proposto por Quinlan [1] e desenvolvido especialmente para induzir modelos de classificação que possibilitem a correta identificação dos dados necessários. Nesse algoritmo, é construída uma árvore de decisão a partir de um conjunto de dados de entrada, e o caminhamento desta árvore fornece como resultado o gênero do grão que se quer identificar. A segunda proposta de solução é o desenvolvimento de um projeto de banco de dados que caracterize os grãos de pólen, e a implementação de um software que faça consultas a esse banco através da linguagem SQL. O resultado dessas consultas também fornece o gênero do grão de pólen cuja identificação não é conhecida pelo especialista. 2. Trabalhos Relacionados A Fundação Ezequiel Dias já utiliza um software denominado Image Pro Plus, para auxiliar na análise de grãos de pólen. Através de uma câmera que acopla o microscópio eletrônico ao computador, o Image Pro Plus permite que as amostras visualizadas no microscópio sejam convertidas em arquivos de imagens. A partir destas imagens, que podem ser armazenadas nos formatos de extensão bmp, gif, tif ou jpeg, o Image Pro Plus é capaz de fazer a contagem de grãos de pólen presentes em uma amostra, além de possuir recursos para fornecer medidas dos eixos polar e equatorial de um determinado grão da amostra. 3. O Problema de Identificação dos Grãos de Pólen Nesta seção, é apresentado o problema da identificação dos grãos de pólen, que é determinarse o gênero da planta que deu origem a cada grão de pólen presente em uma amostra. 3.1 Motivação Vários especialistas têm-se dedicado ao estudo e classificação dos grãos de pólen. Através da palinologia, existem hoje, já catalogadas, descrições detalhadas das características morfológicas dos grãos, além de uma grande quantidade de imagens ilustrativas destes pólens. 5 A grande importância desses estudos é a sua contribuição para a determinação da qualidade dos alimentos de origem apícola, suas propriedades nutritivas e o seu grau de pureza. Este trabalho procura facilitar a identificação dos grãos cuja classificação apresenta dificuldades para os especialistas. 3.2 A Identificação de Grãos de Pólen A identificação dos grãos de pólen é feita, hoje, através da análise morfológica das amostras. Inicialmente, o especialista na área de botânica recolhe amostras de flores de uma dada região para fazer a análise de seus respectivos pólens. As amostras de pólen são visualizadas por um microscópio eletrônico e, através de uma câmera acoplada a este, podem-se visualizar simultaneamente as amostras tanto no microscópio quanto no computador. Com a ajuda de um software específico, o Image Pro Plus, são armazenadas imagens de pólens de cada gênero em arquivos. Depois de recolher as amostras de flores da região, o especialista recolhe amostras de mel e própolis para fazer sua análise. As amostras são observadas no microscópio, onde é feita uma contagem de 300 a 500 grãos por amostra e analisados esses grãos. O especialista procura, então, identificar a família e o gênero de cada um desses grãos, através de suas características morfológicas, como, por exemplo, tamanho e forma do grão, presença de espinhos na superfície e número de aberturas, entre vários outros critérios de classificação. 3.3 Caracterização do Problema Apesar da experiência do especialista, muitas vezes, há grande dificuldade de se identificarem alguns pólens presentes nas amostras. As amostras são muito heterogêneas e podem encontrar-se grãos em várias posições diferentes, e até mesmo sobrepostos. Ao encontrar um grão de identificação duvidosa, o especialista pode recorrer ao banco de imagens já existente para fazer comparações que facilitem o seu reconhecimento. Porém, devido à grande quantidade de imagens armazenadas, pode-se demorar muito tempo para que tal reconhecimento seja efetivado. As Figuras 3.1 e 3.2 ilustram dois exemplos de problemas que podem surgir na análise de uma amostra, confundindo o especialista. O primeiro exemplo (Fig. 3.1) mostra a situação em que um mesmo grão de pólen aparece em posições diferentes. O segundo exemplo (Fig. 3.2) ilustra o caso de pólens de gêneros diferentes que apresentam alto grau de semelhança. 6 Vista Polar: gênero Heliotropium Vista Equatorial: gênero Heliotropium Vista Polar: gênero Ilex Vista Equatorial: gênero Ilex Figura 3.1: Ilustração de grão de pólen do mesmo gênero visto na posição equatorial e polar. Gênero Acanthospermum Gênero Baccaris Gênero Bidens Gênero Conyza Figura 3.2: Ilustração de grão de pólen de gêneros diferentes que apresentam alto grau de semelhança. 7 4. Identificação dos Grãos de Pólen Através do Algoritmo ID3 4.1 Definições e Conceitos Básicos Nesta seção, são definidos alguns conceitos necessários à compreensão do texto, referentes ao algoritmo ID3, proposto como solução para o problema de identificação dos grãos de pólen. 4.1.1 Inteligência Artificial Inteligência Artificial (IA) é um campo de estudos que busca o desenvolvimento de sistemas inteligentes. Um sistema inteligente é aquele capaz de resolver problemas, que, quando resolvidos por humanos, exigem um comportamento dito inteligente. Para tornar possível a tarefa de resolver problemas de maneira inteligente, os pesquisadores de IA desenvolveram sistemas que utilizam muito conhecimento sobre alguma área específica. Estes sistemas são chamados de Sistemas Especialistas (SEs). 4.1.2 Sistemas Especialistas Ramo da IA aplicada que ocupa-se em desenvolver programas que usem o conhecimento simbólico e procedimentos inferenciais para simular no computador o comportamento de especialistas humanos. São sistemas utilizados para resolver problemas que são bastante difíceis, de forma a requererem, para sua solução, muita perícia humana. 4.1.3 Descritores Descritores são critérios de classificação utilizados para dividir o conjunto de dados em subconjuntos. Informalmente, podem ser definidos como “perguntas” que se fazem para identificar os elementos. A Tabela 4.1 mostra um exemplo de descritores para um pequeno conjunto de pólens da família ASTERACEAE. Neste exemplo, os descritores são o número e tipo de aberturas, características de sua superfície e medidas dos eixos polar e equatorial. No de Tipo de Aberturas Abertura Superfície Eixo polar Eixo Equatorial Gênero 3 Colporada Espinhosa 24,5 u 25,5 u Montanoa 4 Colporada Espinhosa 24,5 u 25,5 u Montanoa 3 Colporada Reticulada 36 u 30 u Trixis 3 Porada Reticulada 35,5 u 35,5 u Elephantopus 3 Colporada Espinhosa 18,5 u 18 u Eupatorium 3 Colporada Espinhosa 30 u 33,5 u Vernonia 4 Colporada Espinhosa 30 u 33,5 u Vernonia Tabela 4.1 - Um exemplo de relação entre descritores e classificadores. 8 4.1.4 Classificadores Os classificadores representam a classe dos elementos, divididos pelos descritores. Informalmente, são as “respostas” para cada pergunta (descritor). No exemplo da Tabela 4.1, os classificadores são: colporada ou porada, espinhosa ou reticulada, além de cada valor de medida dos eixos polar e equatorial. 4.1.5 Árvore de Decisão Árvore de decisão é uma estrutura de dados que organiza de forma eficiente os descritores. A árvore é percorrida fazendo-se uma pergunta, e a sua resposta determina qual é a próxima pergunta a ser feita. Ao fim de cada caminho percorrido na árvore, está a classificação. Essencialmente, uma árvore de decisão define um conjunto de caminhos, que vai da raiz até as folhas. Cada caminho é determinado pelos descritores, que constituem os nodos da árvore. Cada descritor determina qual será o próximo galho a ser percorrido. Ao atingir-se um nodo-folha, não há mais perguntas a serem feitas e o resultado da classificação é apresentado. A Figura 4.1 ilustra uma árvore de decisão, obtida a partir dos dados da Tabela 4.1. Eixo Polar < 30 ≥ 30 Eixo Equatorial < 25,5 Eupatorium Superfície ≥ 25,5 Reticulada Montanoa Tipo de Abertura Colporada Trixis Espinhosa Vernonia Porada Elephantopus Figura 4.1 - Exemplo de árvore de decisão. 4.2 Implementação do Algoritmo ID3 ID3 é um algoritmo introduzido por Quinlan [1] para induzir modelos de classificação, também chamados de árvores de decisão, a partir dos dados. As idéias básicas por trás do ID3 são: 9 • Em uma árvore de decisão, cada nodo (descritor) corresponde a um atributo e cada arco (classificador) representa um possível valor para este atributo. Uma folha da árvore especifica a classificação final de cada elemento. • Na árvore de decisão, cada nodo deve ser associado ao atributo que é o mais informativo entre os atributos ainda não considerados no caminho da raiz. • Entropia é utilizada para medir a informação de cada nodo. 4.2.1 Entropia O conceito de entropia é associado à randomicidade de um conjunto. Quanto mais aleatório (randômico) é o conjunto, maior será sua entropia. A entropia é utilizada pelo ID3 para encontrar o parâmetro mais significante na caracterização do classificador. O objetivo da utilização deste conceito é reduzir o aspecto randômico do conjunto, dividindo-o em subconjuntos significativos. O conjunto mais estruturado (ou seja, não randômico) é aquele no qual todos os objetos têm o mesmo valor para o classificador: este conjunto tem entropia zero. A situação mais randômica é aquela na qual há uma igual distribuição para todos os classificadores: este conjunto tem entropia um. A relação entre a randomicidade de um conjunto e sua entropia é ilustrada na Figura 4.2. O mais randômico Conjunto com número igual de elementos de cada tipo Entropia = 1 Um pouco randômico Conjunto com número Entropia entre 0 e 1 desproporcional de elementos de cada tipo Não randômico Conjunto com todos os elementos do mesmo tipo Entropia = 0 Figura 4.2 – Relação entre randomicidade e entropia do conjunto. A ordem do conjunto pode ser introduzida através do uso de descritores. O descritor pode quebrar o conjunto em subconjuntos, cada subconjunto menos randômico do que o original. Se a mudança de entropia entre os conjuntos antes e depois da introdução dos descritores é calculada, temse então uma medida direta da qualidade do descritor. 4.2.2 Formulações Matemáticas Probabilidade Se, em um conjunto, há n possibilidades de classificadores, então a probabilidade p de cada um ocorrer para cada um é definida como: p = 1/n 10 Entropia Em geral, dada uma distribuição de probabilidade P = (p1, p2, ..., pn), a Informação obtida para esta distribuição, também chamada de Entropia de P, é calculada como: E(P) = - ( p1*log2(p1) + p2*log2(p2) + ... + pn*log2(pn) ) Por exemplo, P (1,0) = 0, P (0.5, 0.5) = 1 e P (0.6, 0.4) = 0.97 Pode-se perceber pelo exemplo que, quanto mais uniforme é a distribuição das probabilidades, maior é a entropia. Informação Necessária Defininem-se dois subconjuntos C1 e C2 de um determinado conjunto T como disjuntos se ambos não possuem elementos em comum e a união dos dois subconjuntos forma o conjunto T. Se um conjunto T de objetos é particionado exaustivamente em classes disjuntas C1, C2, ..., Ck baseados nos valores dos atributos dos elementos, a Informação Necessária para identificar a classe de um elemento de T é dada por: Info(T) = E(P) em que P é a distribuição de probabilidade das partições C1, C2, ..., Ck, dada por: P = ( |C1| / |T1|, |C2| / |T2|,...|Ck| / |Tk|) No exemplo da Tabela 4.1, a informação Info(T) = E( 2/7, 1/7, 1/7, 1/7, 2/7) = 2.24. Particionando-se T a partir de um valor de um atributo X em subconjuntos T1, T2, ..., Tn, então a informação necessária para identificar a classe do elemento T é a média ponderada da informação necessária para identificar a classe de um elemento de Ti, que é dada por: Info(X, T) = ∑ | Ti | * Info(Ti) |T| Ainda utilizando o exemplo da Tabela 4.1, tem-se que: Info(Superfície, T) = 5/7*E (2/5, 0, 0, 1/5, 2/5) + 2/7*E (0, 1/2, 1/2, 0, 0) = 1.35; Info(Eixo Polar ,T) = 3/7*E (2/3, 0, 0, 1/3, 0) + 4/7*E (0, 1/4, 1/4, 0, 2/4) = 1.10, considerando-se os valores das medidas do eixo polar apenas como < 30 ou ≥ 30. Ganho O ganho representa a diferença entre a informação necessária para identificar um elemento de T e a informação necessária para identificar um elemento de T depois que o valor do atributo X foi obtido, ou seja, o ganho de informação obtido através do atributo X, e é definido como: Ganho(X,T) = Info(T) - Info(X,T) Tem-se então que o Ganho(Superfície , T) = 2.24 – 1.35 = 0.89 e Ganho(Eixo Polar, T) = 2.24 – 1.10 = 1.14. Logo, a medida do eixo polar oferece um ganho de informação maior do que as características da superfície neste exemplo. 4.2.3 Árvores de Decisão Utiliza-se a noção de ganho para priorizar atributos e construir árvores de decisão nas quais cada nodo é construído a partir do atributo que tem o maior ganho entre os atributos não considerados 11 ainda. O principal objetivo de construir árvores nesta ordem é criar árvores de decisão pequenas, de modo que cada elemento pode ser identificado com poucas perguntas. A entropia provê um mecanismo para escolher quais descritores (perguntas) são os mais significativos. A árvore de decisão representa uma estrutura de dados que organiza de modo eficiente os descritores. O propósito de uma árvore de decisão é armazenar em ordem uma série de questões. Ao caminhar-se pela árvore de decisão, faz-se uma pergunta, e suas respostas determinam qual será a próxima questão a ser formulada. No fim do caminho está a classificação. 4.2.4 Definição do Algoritmo O propósito do algoritmo ID3 é criar, a partir de um dado conjunto, uma descrição eficiente dos classificadores através de uma árvore de decisão. A Figura 4.3 é uma representação do algoritmo em termos do que ele precisa e do que produz. Descritores e Classificadores Algoritmo ID3 Árvore de Decisão Figura 4.3 – Representação do Algoritmo ID3 Fase de treinamento A produção da árvore de decisão a partir dos dados é chamada de fase de treinamento. Nesta fase, o conjunto original dos dados é examinado, o melhor descritor é escolhido e o conjunto é dividido em subconjuntos. O descritor torna-se então o nodo da árvore de decisão. O mesmo procedimento é realizado com o restante dos subconjuntos, até que todos os elementos do conjunto tenham os mesmos valores de classificação. Lidando com Valores Contínuos Pode-se lidar com valores contínuos, como as medidas dos eixos polar e equatorial no exemplo da Tabela 4.1, da seguinte forma. Seja o atributo Ci que contenha valores contínuos. Para cada um dos seus valores V1, V2, ..., Vm, o conjunto é particionado em dois subconjuntos, de modo que 12 o primeiro subconjunto contenha todos os valores menores que Vx, e o segundo subconjunto contenha todos os valores maiores ou iguais a Vx. Para cada uma destas partições, é computado o ganho, e aquela partição que apresentar o maior ganho será escolhida. Lidando com Valores Desconhecidos Muitas vezes, pode haver algumas incógnitas no conjunto de testes, representando valores que o especialista desconhece. Nesses casos, para percorrer a árvore de decisão a partir de um nodo que possua o classificador desconhecido, é feita uma análise de probabilidade. A implementação da análise de probabilidade foi feita através de pesos nos nodos. A partir do conjunto de treinamento, foi calculada a freqüência com que cada classificador aparece, e atribuído um peso maior para aquele que for o mais freqüente. Assim, o caminhamento na árvore, quando não se souber o valor do classificador, que é representado pelos galhos da árvore, é feito através do galho que possuir maior peso. 4.3 Experimentos e Resultados Com o objetivo de verificar a eficácia do algoritmo ID3 para solucionar o problema de identificação do pólen, foram realizados dois tipos de testes. Em ambos os testes, a fase de treinamento foi constituída por um conjunto de dados de 45 gêneros de plantas, e a árvore de decisão foi testada com alguns dos gêneros que estavam no conjunto de treinamento. A diferença entre os dois experimentos está na maneira em que a árvore de decisão foi percorrida: no primeiro experimento, todas as perguntas representadas pelos nodos da árvore foram respondidas; já no segundo exemplo, não foram fornecidas respostas para algumas das perguntas. 1o Experimento O objetivo do primeiro experimento foi verificar a exatidão dos resultados quando são fornecidas todas as respostas às “perguntas” (descritores) feitas pelo algoritmo. A árvore foi percorrida fornecendo-se uma resposta exata para cada descritor encontrado. Como a árvore foi percorrida até o final, que é representado pelos nodos-folha, os resultados para estes testes do 1o experimento forneceram corretamente o gênero ou grupos de gêneros que possuíam as características descritas pelos nodos da árvore. 2o Experimento O objetivo do segundo experimento foi verificar a exatidão dos resultados quando não são fornecidas todas as respostas às “perguntas” (descritores) feitas pelo algoritmo. Nesse caso, quando não é fornecida uma resposta para um descritor, o algoritmo ID3 faz uma análise de probabilidade para determinar qual será o próximo nodo que será percorrido na árvore. Para este experimento, os resultados não foram satisfatórios. Como o resultado final é calculado a partir de probabilidade, nem sempre o gênero fornecido como resultado representava corretamente o gênero que constituiu o teste. 13 5. Identificação dos Grãos de Pólen Através de Sistema de Banco de Dados A segunda proposta de solução para o problema de classificação de grãos de pólen é o desenvolvimento de um projeto de banco de dados que caracterize os grão e a implementação de um software que utilize este banco para identificar grãos de pólen de origem desconhecida. 5.1 Implementação do Banco de Dados A partir das descrições de cada gênero, fornecidas por uma especialista em palinologia da Fundação Ezequiel Dias, foi identificada a necessidade de três tabelas: Família, Tipo Polínico e Gênero. O banco de dados utilizado para a implementação das tabelas foi o Paradox 7, por ser gratuito e por representar satisfatoriamente as tabelas deste projeto, que possuem alto grau de simplicidade. A estrutura dessas tabelas e o relacionamento entre elas pode ser visto na Figura 5.1. TABELA *FAM_CONTROLE AUTOINC FAMILIA FAM_NOME_FAM CHAR(30) *TP_CONTROLE AUTOINC TP_MEDIDA_POLAR NUMBER TP_NOME_TIPO CHAR(30) TP_TIPO_ABERTURA CHAR(30) TP_FAM_CONTROLE LONGINT TP_NUM_GRAOS SHORTINT TP_NUM_ABERTURAS SHORTINT TABELA TIPO_POLINICO TP_FORMA_GRAO CHAR(50) TP_MEDIDA_EQUATORIAL NUMBER TP_PRESENCA_ESPICULOS CHAR(1) TP_DESCR_SUPERFICIE MEMO(240) TP_MEDIDA_ESPICULOS NUMBER TP_NUM_ABERTURAS_2 SHORTINT *GEN_CONTROLE AUTOINC GEN_HABITO CHAR(50) GEN_NOME_GENERO CHAR(30) TABELA GEN_TP_CONTROLE LONGINT GENERO GEN_IMAGEM GRAPHIC GEN_HABITAT CHAR(50) GEN_OCORRENCIA CHAR(80) GEN_OBSERVAÇÃO MEMO( 240) Figura 5.1 – Estrutura do banco de dados 5.2 Implementação do Software Para classificar os grãos de pólen cadastrados no banco de dados, foi implementado um sistema de software que faz consultas a esse banco através da linguagem SQL. A implementação do software foi feita com a utilização da ferramenta Delphi 3.0. e está dividida em três módulos principais. O primeiro módulo é o responsável pelo cadastro e consulta de famílias, tipos polínicos e gêneros, bem como suas características principais e imagens. O segundo módulo é o responsável pela classificação de grãos de pólen. Por fim, o terceiro módulo é o responsável pela impressão de relatórios dos dados cadastrados. 14 5.2.1 O Módulo de Cadastros e Consultas Este módulo do programa é responsável por todos os cadastros de famílias, tipos polínicos e gêneros. A identificação dos grãos de pólen será possível somente para os grãos cujo gênero já tenha sido cadastrado. O cadastro pode ser dividido em duas partes: cadastro de características de cada tipo polínico e gênero, e cadastro de imagens. As características são armazenadas no banco preenchendo-se os campos indicados em cada tela. Para armazenar as imagens, tem-se a opção de escolher qualquer arquivo que esteja nos formatos bmp ou jpeg. A imagem escolhida será convertida, de modo transparente ao usuário, para o formato bmp, para que seja armazenada no banco de dados. As Figuras 5.2 e 5.3 ilustram as telas de cadastro e de consulta, respectivamente. Figura 5.2 - A tela de cadastro de tipo polínico. Figura 5.3 - A tela de consulta de gênero. 15 5.2.2 O Módulo de Classificação do Grãos de Pólen Este módulo é responsável pela identificação dos grãos de pólen cuja classificação é desconhecida pelo especialista em botânica. Para descobrir o gênero de um determinado grão, o botânico preenche apenas as características que ele conhece, e o resultado será uma lista de todos os gêneros cadastrados que possuem as características indicadas. À medida em que as características vão sendo preenchidas, é montado um comando SQL que restringe a consulta ao banco apenas àqueles gêneros que corresponderem à descrição fornecida pelo especialista. Se nenhuma característica for preenchida, será retornada uma lista com todos os gêneros contidos no banco de dados, sem restrições. Os parâmetros de classificação do grão foram divididos em três telas. A primeira tela contém parâmetros gerais do grão, que o especialista pode identificar através de uma vista menos detalhada no microscópio. A segunda tela contém detalhes da superfície do grão, que devem ser observados através de uma vista mais aproximada do pólen no microscópio, focando-se os detalhes da superfície e sexina do grão. A terceira tela contém descrições geográficas e comportamentais do grão, como o hábito, habitat e local onde foi recolhida a amostra. As Figuras 5.4-a 5.6 ilustram a seqüência das telas de parâmetros de classificação. No exemplo mostrado nessas figuras, foi fornecida como característica do pólen somente o formato do grão. Figura 5.4 - Características gerais do grão de pólen. Figura 5.4 Figura 5.5 - Características da superfície do grão de pólen. Figura 5.5 16 Figura 5.6 - Características ambientais do grão de pólen. A partir do dado fornecido no exemplo acima (formato do grão piriforme), foi fornecida uma lista de todos os gêneros cadastrados no banco que possuíam tal característica, conforme ilustra a tela de resultados da Figura 5.7. Como foi fornecida somente uma característica do pólen, o resultado obtido trouxe uma variedade de resultados, que inclui gêneros pertencentes a várias famílias. Na tela de resultados, o especialista pode ver com detalhes a descrição de cada possível gênero do grão analisado, bem como a sua respectiva imagem, em tamanho pequeno (como na Fig. 5.7), ou em tamanho maior. Esses dados também podem ser impressos, para que o especialista possa comparálos com o objetivo de eliminar alguns dos gêneros da lista. Normalmente, o botânico consegue eliminar vários gêneros dessa lista de resultados, pois sabe previamente que o pólen não pertence a uma determinada família, ou ainda tem o conhecimento de que aquele grão não pertence a um gênero que compõe o resultado. Assim, através dos três botões as lado dos campos Família, Tipo Polínico e Gênero (Fig. 5.7), o especialista pode refinar a sua consulta, apagando um ou todos os gêneros pertencentes à uma família ou tipo polínico. Figura 5.7 - A tela de resultados. 17 5.2.3 O Módulo de Relatórios Por fim, o módulo de relatórios é o responsável pela impressão dos dados contidos no banco. Podem ser impressos os dados relativos às famílias, tipos polínicos ou gêneros, ou ainda combinações entre as três opções. Além disso, podem ser impressos todos os dados do banco, ou apenas aqueles que começam com letras estipuladas pelo usuário. Foram implementados dois tipos de relatórios: o analítico, que fornece uma lista de nomes e características detalhadas dos dados do banco, e o sintético, que fornece apenas uma lista sem detalhes dos dados pedidos. As Figuras 5.8 e 5.9 ilustram os parâmetros de entrada fornecidos pelo usuário e o seu respectivo relatório sintético. Figura 5.8 Figura 5.9 18 5.3 Experimentos e Resultados Em todos os experimentos realizados, fornecendo-se todas ou apenas algumas das características do grão, os resultados forneceram corretamente uma lista de todos os gêneros possíveis para o grão testado. Mesmo quando a lista de gêneros possíveis fornecida como resultado apresentou-se extensa, os resultados foram satisfatório. O palinologista possui conhecimento suficiente para eliminar alguns resultados dessa lista, refinando, cada vez mais, a sua pesquisa, até chegar à classificação final para aquele grão. 6. Conclusões O sistema especialista baseado no algoritmo ID3 não representa uma boa solução para o problema de identificação do pólen, quando não são fornecidas todas as características necessárias para classificar o grão. Isso porque, no caminhamento da árvore de decisão, ao encontrar um nodo cuja classificação não foi fornecida pelo especialista, o algoritmo faz uma análise de probabilidade para saber qual será o próximo nodo a ser percorrido. Assim, muitas vezes o caminho escolhido não é aquele que leva ao resultado correto, mas sim, ao mais provável. Como o objetivo deste trabalho é identificar corretamente o gênero do grão de pólen, os resultados obtidos com o sistema especialista não foram satisfatórios. Os melhores resultados encontrados neste trabalho foram fornecidos pelas consultas ao banco de dados projetado para armazenar as características de cada gênero. Em todos os experimentos realizados, o gênero testado esteve presente na lista final de resultados. É importante ressaltar que, mesmo que os resultados constituam uma lista grande de possíveis gêneros, o botânico possui capacidade para eliminar alguns itens dessa lista, através de seus conhecimento, refinando, assim, os resultados. 7. Trabalhos Futuros Como planos futuros, sugere-se a interação entre o software implementado e técnicas de processamento digital de imagens, que possam extrair informações dos arquivos de imagens de pólen, de forma a reduzir a necessidade do especialista na sua identificação. Para que haja tal integração, é necessário que o especialista padronize os arquivos de imagens obtidos através do microscópio. Essa padronização pode ser feita através dos seguintes procedimentos: • Deve ser utilizado o mesmo reagente químico em todas as amostras durante a sua preparação e colorização. • O aumento da imagem no microscópio deve ser o mesmo para todos os grãos. As imagens fornecidas como exemplos neste trabalho possuem aumento de 1000 vezes. • Todas as imagens devem ser focadas no mesmo local, seja ele superficial ou detalhado. • A posição do grão (polar ou equatorial) deve ser bem definida. A partir da padronização das imagens dos pólens, pode ser feito um trabalho de extração de informações desses arquivos. As técnicas de processamento de imagens sugeridas são: segmentação e análise da cor e textura da imagem. 19 8. Bibliografia Inteligência artificial [1] Quinlan, J. R. Induction of decision trees. Kluwer Academic Publishers, 1986. [2] Quinlan,J.R.: Simplifying decision trees. 221-234, 1987. International Journal of Man-Machine Studies, 27, [3] Russell,S.,Norvig,P: Artificial Intelligence: A Modern Approach, Prentice-Hall, 1995. [4] George F. Luger and William A. Stubblefield. Artificial Intelligence: Structures and strategies for complex problem solving. The Benjamin/Cummings Publishing Company, Inc., second edition, 1993. [5] Winston,P.H.: Artificial Intelligence, Third Edition. Addison-Wesley, 1992. [6] HARMON, Paul ; KING, David. Sistemas Especialistas. Rio de Janeiro: Campus, 1988. [7] LEVINE, Robert I. ; DRANG, Diane E. ; EDELSON, Barry. Inteligência Artificial e Sistemas Especialistas. São Paulo: McGraw-Hill, 1988. Na Internet: http://info.risc.uni-linz.ac.at/people/blurock/courses/learn/learn.html http://www.pvv.ntnu.no/~hgs/project/report/node36.html http://www.cs.cmu.edu/afs/cs.cmu.edu/user/avrim/www/ML94/courseinfo.html Processamento de imagens [8] ARAÚJO, A. A texture analyses: a review . R. Tecnologia e Ciências, UFPB, 1987. [9] MAHDAVIEH, Y. and Gonzalez, R.C. Advances in image analysis. SPIE, 1992. Pólen [10] BARTH, O. M. O pólen no mel brasileiro. Ed Luxor, primeira edição, 1989. [11] BASTOS, E. M. Minas de Mel. Ciência Hoje, 4, abril 1995. [12] BARTH, O. M. Glossário Palinológico: Parte complementar ao “Catálogo Sistemático dos Pólens das Plantas Arbóreas do Brasil Meridional”. Instituto Oswaldo Cruz, Rio de Janeiro, fevereiro 1964. 20