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.