• Nenhum resultado encontrado

O termo engenharia de conhecimento foi cunhado para descrever a atividade de extrair dos especialistas o conhecimento e codificá-lo na forma computacional mais adequada. Engenheiro de conhecimento é a pessoa que através do procedimento citado acima desenvolve o sistema especialista.

Segundo SCHANK (1991), engenharia de conhecimento é o processo através do qual especialistas em IA descobrem o que um especialista humano faz para resolver um problema e depois codificam este conhecimento em uma forma tal que uma máquina possa seguir.

O conceito apresentado acima mostra a importância dos principais envolvidos na construção de um sistema especialista: o especialista e o engenheiro de conhecimento. E importante ressaltar que sem o especialista humano no domínio de conhecimento considerado, não se consegue construir um sistema especialista.

Embora tanto SE, como outros tipos de software considerados convencionais, tenham o objetivo de fornecer soluções computacionais para problemas, existem diferenças entre os termos programação convencional e engenharia de conhecimento. Talvez uma das principais esteja no fato de que a programação convencional envolve a representação de procedimentos normalmente bem definidos, que podem ser reproduzidos por métodos algorítmicos, enquanto a engenharia de conhecimento envolve a representação de um conhecimento impreciso e geralmente restrito a uns poucos especialistas, que muitas vezes não conseguem explicitá-lo de maneira clara.

Em programas convencionais, segue-se um conjunto pré-fíxado de instruções que normalmente não são flexíveis o suficiente para se adaptar a mudanças inesperadas de circunstâncias. Este foi um dos aspectos analisados no estudo de viabilidade do XCON, uma vez que a introdução de novos componentes de hardware na linha de montagem da DEC, implicaria em freqüentes modificações de configuração que dificilmente poderiam ser implementadas com rapidez em programas convencionais.

Outro ponto importante e que reforça a observação acima, é que nos programas convencionais não ocorre a separação entre o conhecimento e os métodos responsáveis pela entrada, processamento e a saída dos dados. Segundo MÜLLER (1998), em programas convencionais, o conhecimento não é representado explicitamente, ou seja, não existe a separação entre o conhecimento e os pirocedimentos que detalham a entrada, o processamento e a

saída. Nos programas convencionais, a mudança de um simples fato pode acarretar a correção de centenas de linhas do código fonte.

No caso específico do desenvolvimento de SE, pode-se afirmar que a natureza e a quantidade de conhecimento necessário para solucionar o problema são bastante incertas, principalmente no início do projeto. Este fato pode com freqüência levar o desenvolvedor da ferramenta computacional à chamada “mudança de paradigma” (GONZALEZ e DANKEL,

1993).

A mudança de paradigma ocorre quando durante o processo de desenvolvimento, o engenheiro de conhecimento descobre que a estrutura de representação, a ferramenta de desenvolvimento ou alguma outra característica de projeto está inadequada. A Tabela 2.3 abaixo ilustra algumas das diferenças entre programas convencionais e SE.

Tabela 2.3 - Diferenças entre programas convencionais e sistemas especialistas CARACTERÍSTICA PROG. CONVENCIONAIS SIST. ESPECIALISTAS 1 Controle de execução Declaração explícita Máquina de inferência

Controle e dados Integração implícita Separação explícita

Solução por Algoritmos Regras e inferência

Explicação Nenhuma Geralmente presente

Saída Sempre correta Variável

Aplicação Onde hajam métodos algorítmicos Manipulação simbólica

Considerando a grande quantidade de referências e as diversas definições para o termo conhecimento, é importante conceituá-lo antes de prosseguir com a exposição do presente trabalho. A Figura 2.4 ilustra a diferença entre dados, informação e conhecimento (GIARRATANO e RYLEY, 1993).

Figura 2.4 - Hierarquização do conhecimento (GIARRATANO e RYLEY, 1993)

Dados significam fatos ou conceitos expressos em afirmações que, isoladamente, não têm

a príori significado prático, mas são de potencial interesse. Cita-se como exemplo o seguinte

dado: pi = 0,2 bar.

Através de um processo de depuração baseado em critérios específicos (análise), os dados são processados para gerar informação. Pode-se dizer então que, como pi = pressão na linha de aspiração, tem-se a informação de que a pressão na linha de aspiração equivale à 0,2 bar.

Quando uma certa informação é comparada com outra informação e combinada na forma de padrões, o que normalmente é feito através do processo de síntese, obtém-se conhecimento. Continuando no exemplo citado, comparando a informação do valor da pressão na linha de aspiração, com a informação dos valores de pressão considerados anormais para este trecho do circuito hidráulico (> 0,16 bar), um especialista em hidráulica pode chegar ao seguinte conhecimento: SE a pressão na linha de aspiração é 0,2 bar ENTÃO este valor pode ser considerado anonnal.

CHORAFAS (1990) cita que existe uma diferença fundamental entre um banco de dados e um banco de conhecimento. Banco de dados têm uma estrutura pré-determinada, enquanto nos bancos de conhecimento a maneira como os fatos estão relacionados é determinada ad hoc como necessário para resolver um problema particular, o que caracteriza a busca heurística em contraponto à abordagem estruturada dos bancos de dados.

Quando indivíduos ou grupos comparam partes de conhecimento, é obtido aquilo que a literatura chama de meta conhecimento. No contexto de SE, meta conhecimento pode ser usado por exemplo para decidir qual conjunto de regras é o mais adequado para uma determinada situação.

Conhecimento tem níveis, isto é um dos fatos que justificam a dificuldade no aprendizado. Estudos mostram que a variável anos de experiência é o fator que mais influencia na habilidade de resolução de problemas técnicos, pois faz especialistas exibirem padrões de comportamento distintos dos novatos, obtendo um rendimento superior na tarefa de resolução deste tipo de problemas (MaC PHERSON, 1998).

Neste contexto, o nível mais baixo de conhecimento é representado por fatos que fazem o relacionamento entre objetos, símbolos e eventos. O nível acima é representado por conceitos que têm um grau de detalhamento maior do que fatos. Regras representam o terceiro nível de conhecimento, e representam um conjunto de operações e passos necessários para resolver um determinado problema. O nível mais alto de conhecimento é representado pela heurística (TUTHILL, 1990).