Um sistema baseado no conhecimento (KBS) é um programa de computador que usa uma base de conhecimento para resolver problemas. Aqui estão os principais componentes:
1. Base de conhecimento: *
Fatos: Informações básicas e atômicas sobre o domínio. Exemplos:"O céu é azul", "a água ferve a 100 graus Celsius".
*
Regras: Declarações lógicas que representam relacionamentos entre fatos. Exemplos:"Se estiver chovendo, o chão está molhado", "se a temperatura estiver acima de 100 graus Celsius, a água ferverá".
*
heurísticas: Regras de polegar ou práticas recomendadas que podem ajudar a orientar o raciocínio do sistema, principalmente nos casos de incerteza.
2. Motor de inferência: *
Mecanismo de raciocínio: Este é o núcleo dos KBs. Ele usa a base de conhecimento para tirar conclusões e resolver problemas.
*
Métodos de inferência: Existem diferentes abordagens:
*
encadeamento para a frente: Começa com fatos conhecidos e aplica regras para deduzir novos fatos.
*
encadeamento para trás: Começa com uma meta e trabalha para trás, tentando encontrar fatos e regras de apoio.
* raciocínio baseado em modelo: Usa um modelo do domínio para raciocinar sobre seu comportamento.
*
Raciocínio baseado em casos: Resolve problemas recuperando e adaptando soluções a problemas semelhantes de um banco de dados de casos anteriores.
3. Interface do usuário: *
Como o usuário interage com o sistema: Permite que os usuários inseram consultas, forneçam informações e recebam resultados do sistema.
*
Tipos de interfaces de usuário: Baseado em texto, gráfico, linguagem natural, etc.
4. Aquisição de conhecimento: *
Processo de construção da base de conhecimento: Isso envolve:
*
elicitação do conhecimento: Extraindo o conhecimento de especialistas no domínio.
*
Representação do conhecimento: Escolhendo as estruturas e idiomas de dados apropriados para codificar o conhecimento.
*
Validação do conhecimento: Garantir que a base de conhecimento seja precisa e completa.
5. Instalação de explicação: *
fornece transparência e compreensão: Explica o processo de raciocínio do sistema para o usuário.
*
Ajuda com: * Debugando o sistema
* Aumento da confiança do usuário
* Fornecendo informações sobre o domínio
Exemplo: Considere um KBS simples para diagnosticar problemas de carro:
*
Base de conhecimento: Fatos sobre peças de carro, regras sobre sintomas e possíveis causas, heurísticas para falhas comuns.
*
MOTOR DE INFERÊNCIA: Usa encadeamento para trás - começa com um sintoma (por exemplo, "O carro não começa") e tenta encontrar regras e fatos correspondentes para diagnosticar o problema (por exemplo, "se a bateria estiver morta, o carro não começará").
*
Interface do usuário: Permite que o usuário insira os sintomas e receba um possível diagnóstico.
*
Instalação de explicação: Explica as etapas de raciocínio, mostrando quais regras foram aplicadas e por quê.
Vantagens dos KBs: *
Conhecimento especializado capturado e reutilizado. *
Consistência e precisão melhoradas. *
Resolução de problemas em domínios complexos. *
Suporte e automação de decisão. Desvantagens dos KBs: *
aquisição de conhecimento é cara e demorada. *
manter e atualizar a base de conhecimento pode ser desafiador. *
kbs pode ser inflexível e difícil de adaptar a novas situações. No geral, os sistemas baseados no conhecimento são ferramentas poderosas para capturar e utilizar conhecimentos, particularmente em domínios complexos, onde o raciocínio humano pode ser difícil ou demorado.