• Nenhum resultado encontrado

Assim, os casos em que se considerou falha nos testes devem ser vistos na verdade como lacunas no conhecimento adquirido. Decidiu-se que não se deve ajustar o sistema para os 4 últimos casos de teste pois não se sabe qual a classificação correta para essas situações. Assim, ao invés de ver estes resultados como falhas no sistema especialista, eles devem ser vistos como oportunidades para melhorar o sistema. Em especial, os casos 12 e 13 são interessantes, e são bons casos para iniciar uma nova etapa de aquisição de conhecimento.

4.5

Arquitetura proposta para o módulo de explicação

Considera-se uma característica importante de sistemas especialistas que eles sejam capazes de fornecer uma explicação para o seu “raciocínio”. Isto auxilia na validação do conhecimento presente na base de conhecimento e permite avaliar criticamente o resultado da inferência do sistema especialista. Por outro lado, o simples fato de prover uma explicação faz com que a percepção do usuário final de que a resposta fornecida pelo sistema está correta aumente (SWIN- NEY, 1995). Não obstante este efeito potencialmente deletério da explicação, ainda considera-se que o módulo de explicação é um componente desejável em um sistema especialista. Por esta razão, o desenvolvimente deste módulo faz parte da lista de requisitos do protótipo (requisito 12). Esta seção descreve uma proposta para este módulo.

Um dos métodos mais comuns para gerar a explicação em um sistema especialista é manter um registro de todas as regras disparadas, anotando-se os fatos que influenciaram no disparo de cada regra e utilizar esse registro como base para produzir a explicação (WICK; SLAGLE, 1989). Um dos métodos para se gerar as explicações é a utilização de gabaritos com todas as respostas possíveis do sistema, e utilizar as informações presentes no registro para preencher as lacunas nos gabaritos. Uma abordagem deste tipo pode ser vista em (PAPAMICHAIL; FRENCH, 2003).

Um dos problemas em se adotar esta abordagem no sistema que foi implementado é o fato de, como já foi explicado na seção 3.2.3, todas as regras do sistema dispararem. Nesse caso, o registro ficaria cheio de dados que contribuíram pouco para as conclusões do sistema. Mostrar para o usuário final todas as entradas do registro seria então contraproducente, uma vez que a maior parte das informações mostradas teria pouca influência no resultado final.

Em vista disso, esta seção visa propor um método para se determinar quais as informa- ções que foram mais influentes na solução produzida pelo sistema especialista. Para isso será mostrado como o registro da inferência do sistema pode ser representado por uma estrutura em forma de árvore e será proposto um algoritmo para extrair dessa estrutura uma sub-árvore representando apenas as proposições mais influentes na solução final.

4.5 Arquitetura proposta para o módulo de explicação 93

Para registrar as etapas de inferência do sistema é importante notar que o valor de uma proposição p

e

é definido realizando-se uma agregação, representada pela função g e

, sobre todas as n regras que têm p

e

em seu conseqüente. Assim, sendo p e

1,..., p

e

k,..., p

e

ntodos os valores para

p e

produzidos pelas n regras, temos que:

p e = g e (p e 1,..., p e k,..., p e n) (4.1) Cada p e

ké definido em função dos antecedentes da regra Rk, que serão chamados de a

e

1k, . . .,

a e

mk, onde mké o número de antecedentes da regra Rk. Como já foi visto, p

e

kpode ser calculado

por: p e k= w e  a e  rk, h e k a e 1k,...,a e mk  (4.2) Onde h e

é a função difusa aplicada sobre os antecedentes da regra Rk, a

e

é a função de ativação e w

e

é uma função opcional que pode ser aplicada ao resultado da ativação.

É fácil perceber, observando-se as Equações 4.2 e 4.1, que é possível representar toda a inferência que leva ao valor de p

e

como uma árvore. A Figura 4.13 mostra essa árvore. Nesta árvore, cada nó representa a aplicação da função definida naquele nó sobre todos os valores provenientes dos nós inferiores.

Figura 4.13: Árvore de inferência para a proposição p e .

A árvore mostrada na Figura 4.13 representa apenas algumas regras de uma cadeia de infe- rência que pode ter várias centenas de regras. Para gerar uma mensagem explicativa a partir de uma árvore desse tipo pode-se associar a cada regra um texto explicativo, ou um gabarito para

4.5 Arquitetura proposta para o módulo de explicação 94

gerar um texto explicativo. O algoritmo pode então percorrer a árvore e montar a explicação da inferência a partir da explicação de cada regra. No entanto, é preciso selecionar apenas as regras que mais influenciaram no valor de cada proposição. Isso equivale a observar a função de agregação g

e

e determinar quais de seus argumentos mais influenciaram seu resultado.

Para realizar esta tarefa, é preciso definir algum critério que represente “influência”. Será proposto a combinação de dois critérios de influência: o nível de certeza de cada argumento e a sensibilidade de g

e

a uma variação em cada um de seus argumentos.

O nível de certeza pode ser definido como a distância do valor de uma determinada variável difusa de 12. Define-se que este valor deve variar entre 0 a 1, onde 0 significa completamente ambígua e 1 significa completamente certa. Assim, C(a

e ) é: C(a e )= 2 a e −1 2 (4.3)

Utilizando esta definição, é possível estabelecer que quanto maior o nível de certeza do conseqüente de uma regra, maior a sua importância para a explicação. Vale a pena ressaltar que esta definição de nível de certeza pode ser transformada na definição de uma entropia difusa. Basta fazer: e(A e )=X x∈X 1 − 2 µA e (x) −1 2 ! (4.4)

É fácil provar que esta definição está de acordo com a definição de entropia difusa (FAN; MA, 2002). Isto dá suporte para o uso de C como critério para a determinação de influência.

A segunda medida que será usada é a sensibilidade de g e

a mudanças em cada um de seus argumentos. Especificamente, propõe-se testar a variação de g

e

substituindo-se seus argumentos um a um por 12, enquanto os outros se mantêm constantes. Esta medida pode indicar um argu- mento que, apesar de ter um nível de certeza pequeno, causa uma grande variação no resultado caso tenha seu nível de certeza diminuído.

O resultado da avaliação destes dois critérios pode ser utilizado para selecionar quais os argumentos de g

e

têm mais influência sobre a função. Um algoritmo pode, por exemplo, consi- derar 20% dos argumentos com maior grau de certeza e 20% dos argumentos aos quais g

e é mais sensível e utilizá-los na geração da explicação.

Este método de explicação não pôde ser implementado no protótipo por falta de tempo. No entanto, considera-se que sua implementação é pouco complexa, e capaz de produzir resultados aceitáveis. Além disso, a árvore descrita na Figura 4.13 pode ser utilizada no processo de refinamento das soluções obtidas pelo sistema especialista.