TÓPICOS DE I.A. SISTEMAS ESPECIALISTAS Prof. Mário Dantas SISTEMAS ESPECIALISTAS Introdução Histórico Representação do Conhecimento Modelos de Representação do Conhecimento Aquisição de Conhecimento Metaconhecimento Funções de um Sistema Especialista Componentes de um Sistema Especialista Categorias dos Sistemas Especialistas Tipos de Respostas de um Sistema Especialista Sistemas Especialistas de Segunda Geração Ferramentas para construção de SEs Balanço Últimos desenvolvimentos 2 SISTEMAS ESPECIALISTAS Definição Sistemas que empregam o conhecimento humano para resolver problemas que requererem a presença de um especialista. Área de aplicação de mais sucesso da IA Faz parte dos chamados knowledge-based systems Utilidade Capacitar não-especialistas Servir de assistente a especialistas Servir de repositório de conhecimento “valioso” para a empresa etc. 3 SISTEMAS ESPECIALISTAS OU SISTEMAS BASEADOS EM CONHECIMENTO Programas de I.A. Sist. Baseados em Conhecimento Sistemas Especialistas Apresentam comportamento inteligente através da aplicação de heurísticas Tornam o domínio do conhecimento explícito e o separam do resto do sistema Aplicam conhecimento especialista em problemas reais e complexos 4 CONCEITOS BÁSICOS Expertise Especialista conhecimento especializado adquirido por longo treinamento, leitura e experiência Quem possui o conhecimento, experiência, métodos e a habilidade de aplicá-los para dar conselhos e resolver problemas. Engenheiro de conhecimento Guia a aquisição, representação do conhecimento especializado, bem como a implementação e refinamento do SE. 5 EXPERTISE Conhecimento específico sobre a tarefa modelada e seu domínio: Fatos e teorias sobre o domínio Frames, redes semânticas,... Regras boas e rápidas e procedimentos gerais, advindas da experiência Heurísticas para situações específicas Estratégias globais ESPECIALISTA Detentor do conhecimento sobre a área e sobre a tarefa específica. Sabe: Reconhecer e formular o problema em sua verdadeira extensão Explicar a solução (às vezes) Quando quebrar regras Relevância dos fatos ENGENHEIRO DE CONHECIMENTO Ajuda a transferir a expertise para o Sistema Especialista. Tarefas: Aquisição do conhecimento Representação Documentação Principalmente para o módulo explanador HISTÓRICO: GPS (1960S) General Problem Solver (GPS) Motivação: leis do pensamento + máquinas poderosas Funcionamento: planejamento + sub-goaling ex. estou com fome => comer => pedir pizza => telefonar => ir para a sala => sair do quarto... O Logic theorist deu certo mas.... em geral, GPS não funciona fraca representação de conhecimento humanos são bons só em domínios restritos 9 HISTÓRICO: GPS (1960S) 10 HISTÓRICO: PRIMEIROS SES (1960S-1970S) DENDRAL Inferir estrutura molecular de componentes desconhecidos dadas a massa espectral e a resposta nuclear magnética; Conhecimento especializado poda a busca por possíveis estruturas moleculares; Fez sucesso: publicações científicas; Representação procedimental de conhecimento 11 HISTÓRICO: PRIMEIROS SES (1960S-1970S) MYCIN Diagnosticar rapidamente meningite e outras infecções bacterianas, e prescrever tratamento; Representação de conhecimento baseada em regras probabilísticas (em torno de 500); Fez sucesso: acima de 90% de acerto; introduziu explicação e boa interface com usuário. Exemplo de regra ifthe the the the the the then infection is meningitis and type of infection is bacterial and patient has undergone surgery and patient has under gone neurosurgery and neurosurgery-time was < 2 months ago and patient got a ventricular-urethral-shunt infection = e.coli(.8) or klebsiella(.75) 12 HISTÓRICO: 1970S & 1980S 1970s: Esforço para desenvolver melhores (e mais especializadas) Linguagens de representação de conhecimento; Mecanismos de inferência; 1980s: Grande boom dos SEs XCON, XSEL, CATS-1, etc. 13 CATS-1 Problema da General Electric: Aposentadoria de David Smith: engenheiro especialista em falhas de motores elétrico-diesel de locomotivas Custo deste tipo de engenheiro Solução convencional Treinamento de engenheiros novatos 1980: Construção de CATS-1 (DELTA) Meses de entrevista, 3 anos p/ primeiro protótipo Permite diagnostico em poucos minutos Existe um em cada oficina Dá treinamento: é amigável e explica decisões 14 REPRESENTAÇÃO DO CONHECIMENTO Deve-se ter consciência das diferenças entre o que se quer representar e o que é efetivamente representado; A representação do conhecimento deve possuir as seguintes características: deve ser de fácil compreensão ao ser humano, para que a representação possa ser interpretada; 15 REPRESENTAÇÃO DO CONHECIMENTO não deve conter detalhes sobre o funcionamento do processador de conhecimento que o interpretará; ser robusta, ou seja, capaz de executar suas funções mesmo sem o conhecimento de todas as situações possíveis; ser generalizável, para que possa ser associada a várias situações e interpretações; esta característica contraria o conhecimento humano, que é pessoal e individualizado; 16 MODELOS DE REPRESENTAÇÃO DO CONHECIMENTO 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Conhecimento procedural; Redes ou Redes Semânticas; Frames; Orientação a Objetos; Orientação a Objetos Associada a Regras; Lógica; Árvores de Decisão; Conhecimento Estático; Regras de Produção; Processamento Paralelo Distribuído ou conexionista; Esquemas híbridos; Casos. 17 AQUISIÇÃO DE CONHECIMENTO A parte mais importante e mais complexa; Também conhecido como Engenharia do Conhecimento; Envolve o Engenheiro do Conhecimento, Especialistas e usuários comuns; Dificuldades de comunicação entre o engenheiro do conhecimento e o Especialista; Decisão de quê conhecimento é necessário; Representação do conhecimento extraído. 18 AQUISIÇÃO DE CONHECIMENTO Segundo Rezende (2003), pode ser dividia em: Identificação; Conceituação; Formalização; Implementação; Testes. 19 IDENTIFICAÇÃO Nessa fase o engenheiro do conhecimento deve identificar que tipo de conhecimento ele deve buscar; Durante essa fase deve-se realizar entrevistas informais com o especialista, bem como efetuar pesquisas em materiais bibliográficos sobre o domínio do sistema; Entrevistas com futuros usuários do sistema também são importantes, para que possa se modelar a interação entre o sistema e os usuários. 20 CONCEITUAÇÃO Formular os conceitos e relações entre esses conceitos do problema; É a fase onde se deve decidir o que representar e o que não representar; Entrevistar novamente o especialista, desta vez com perguntas formuladas de acordo com o material já obtido; Começar a elaborar hipóteses sobre os tipos de dados de entrada requeridos, os dados de saída requeridos e o tipo de raciocínio que predominará no sistema. 21 FORMALIZAÇÃO Modelar o problema do Sistema Especialista; Transformar o conhecimento adquirido informalmente em uma representação formal e consistente; Escolher a linguagem de representação para modelagem do sistema; Definir os espaços de estados e soluções do sistema; Definir os métodos de busca que serão utilizados; Identificar as limitações do Sistema Especialista 22 IMPLEMENTAÇÃO Deve-se definir nessa fase a linguagem de representação do conhecimento do sistema; Deve-se orientar a codificação do modelo do sistema em alguma linguagem de programação, ou utilizar uma ferramenta de Inteligência Artificial; 23 TESTES Avaliar o desempenho do sistema, testando neste alguns casos e observando se os resultados obtidos são satisfatórios; Uma dificuldade encontrada nessa fase é identificar a quantidade aceitável de erros; Pode-se deixar o sistema em testes em seu próprio ambiente de operação. 24 METACONHECIMENTO Conhecimento sobre o conhecimento do sistema; É adquirido e representado da mesma forma que o conhecimento do sistema; Exemplo: quando o processo de encadeamento deve parar; qual parte do conhecimento deve ser analisada em qual ordem, etc. “se o paciente relata dor na região lombar da coluna, investigue se ele sente dormência nas pernas”; “procure respostas nos caminhos mais curtos, antes de procurar nos mais complexos”. 25 FUNÇÕES DE UM SISTEMA ESPECIALISTA As principais funções de um Sistema Especialista são as seguintes, segundo Silveira (2006): Resolver problemas de grande porte com a mesma eficiência ou melhor que humanos; possuir raciocínio heurístico, utilizando regras práticas; Interagir com os usuários pelos meios que forem possíveis, como linguagem escrita ou falada; 26 FUNÇÕES DE UM SISTEMA ESPECIALISTA Cont.: ser capaz de raciocinar sobre descrições simbólicas; executar suas funções mesmo que os dados estejam incorretos, como também pode ocorrer com humanos; manipular uma série de hipóteses ao mesmo tempo; fornecer ao usuário a explicação sobre uma solução encontrada, justificando suas decisões; 27 COMPONENTES DE UM SISTEMA ESPECIALISTA Base de Conhecimento; Quadro-negro ou memória de trabalho; Máquina de Inferência; Subsistema de aquisição de conhecimento; Subsistema de explicações; Interface com o usuário. 28 COMPONENTES DE UM SISTEMA ESPECIALISTA 29 BASE DE CONHECIMENTO A base de conhecimento de um Sistema Especialista é um banco de dados que armazena as informações fornecidas pelo especialista; Contém a descrição do conhecimento especialista dentro do domínio; do As informações do especialista são transformadas em fatos e regras sobre o domínio; Base de conhecimento é independente do resto do sistema. 30 QUADRO-NEGRO OU MEMÓRIA DE TRABALHO É um local na memória física do computador onde informações são armazenadas para compartilhamento com outros sistemas; As informações duram processo de consulta; somente durante o Ficam armazenadas as perguntas já respondidas pelo usuário, bem como possíveis soluções intermediárias; Armazena a linha de raciocínio da solução para utilização pelo subsistema de explicação. 31 MÁQUINA DE INFERÊNCIA Examina o conteúdo da base de conhecimentos, escolhendo a ordem de análise das inferências; Utiliza o Metaconhecimento; Transfere os fatos e as regras para o quadronegro; Suas principais funcionalidades são: método de raciocínio (encadeamento progressivo ou regressivo); estratégia de busca; resolução de conflito; representação de incerteza. 32 SUBSISTEMA DE AQUISIÇÃO DE CONHECIMENTO Representa a aprendizagem do sistema; Responsável pela introdução de novos conhecimentos ou alteração dos existentes; Interface própria; 33 SUBSISTEMA DE EXPLICAÇÕES Explica como o sistema chegou a suas conclusões e justifica os passos utilizados no processo; Objetivos: ensinar o usuário sobre o assunto; mostrar que sua conclusão é consistente; lembrar o usuário elementos importantes da análise que levam o sistema a determinada conclusão Responde a: Como chegou a uma dada conclusão? Porque rejeitou uma dada alternativa? Qual o plano para achar uma solução? Porque fez uma pergunta específica? 34 INTERFACE COM O USUÁRIO Linguagem natural ou menus; Pode fazer perguntas ao usuário; Deve permitir ao usuário descrever o problema; Pode permitir ao especialista ou engenheiro de conhecimento inserir conhecimento. 35 CATEGORIAS DOS SISTEMAS ESPECIALISTAS Interpretação; Diagnóstico ou Classificação; Monitoramento; Predição; Planejamento; Projeto; Depuração; Reparo; Instrução; Controle. 36 TIPOS DE RESPOSTAS DE UM SISTEMA ESPECIALISTA Primeiro modo: neste tipo o sistema indica o domínio onde se situa resposta; é uma resposta ampla, apenas limita a sua busca ao domínio indicado; Segundo modo: método mais preciso, onde o sistema indica uma resposta ou um número pequeno de respostas para ser analisado; Terceiro modo: neste caso o sistema não oferece resposta alguma, realizando apenas uma interação com o usuário, apresentando fatos e informações para que este reflita sobre o problema e encontre uma solução. 37 SISTEMAS ESPECIALISTAS DE SEGUNDA GERAÇÃO Abandonaram conhecimento: a hipótese da transferência de o especialista valida o modelo computacional proposto. Aquisição guiada por modelos: reuso de ontologias e estruturas de inferência: 1) Decomposição de tarefas 2) Caracterização das (sub)tarefas 3) Busca de um modelo em uma biblioteca (ex. KADS http://www.commonkads.uva.nl/) modelo = ontologia do domínio + estrutura de inferência 4) entrevista estruturada 38 SISTEMAS ESPECIALISTAS – 2ª. GERAÇÃO Objetivo: Acelerar a construção de SEs Reuso é imperativo: BCs são a parte mais cara de um SBC Melhorias no processo de modelagem do conhecimento Tendência a que o próprio especialista edite o conhecimento Protégé [Gennari et al 2003] Integração entre aprendizado e inferência simbólica para acelerar a aquisição Sistemas híbridos FERRAMENTAS PARA CONSTRUÇÃO DE SES 3 opções Shell (OPS, ExpertSinta, KAS, ...) : é o mais utilizado Linguagens de programação para IA (Prolog) Linguagens de programação gerais (OOP) Linguagens híbridas (componentes de IA): regras + objetos (CLIPS, JESS, NeOpus, JEOPS, etc.) Critérios de escolha Facilidade de uso Flexibilidade Interface com sistema Desempenho Portabilidade 40 SHELL EXPERT SINTA 41 REGRAS DE PRODUÇÃO 42 ENTRADA DE DADOS 43 SAÍDA DE DADOS 44 MECANISMO DE JUSTIFICATIVA 45 BALANÇO 46 BENEFÍCIOS DO S.E. Criação de repositório de conhecimento Crescimento de produtividade e qualidade Habilidade de resolver problemas complexos Flexibilidade e modularidade Operação em ambientes arriscados Credibilidade Habilidade de trabalhar com informações incompletas ou incertas Fornecimento de treinamento 47 PROBLEMAS E LIMITAÇÕES Avaliação de desempenho difícil; É difícil extrair conhecimento especialista; Só trabalham muito bem em domínios estreitos; Engenheiros de Conhecimento são raros e caros; Transferência de conhecimento está sujeito a um grande número de preconceitos; Falta de flexibilidade do sistema; 48 ÚLTIMOS DESENVOLVIMENTOS Aquisição de conhecimento: SEs de 2ª geração & aprendizagem Ferramentas de desenvolvimento + OOP Integração com outros sistemas ex. banco de dados e sistemas de suporte à decisão Tratamento de incerteza 49 REFERÊNCIAS WEBER, Rosina de Oliveira. Sistema Especialista Difuso para Análise de Crédito. São Paulo: UFSC, 1993. Dissertação (Mestrado em Engenharia), Universidade Federal de Santa Catarina, 1993. KERN, Ernani Soares. Sistema Especialista: uma introdução para Apoio à Fisioterapeutas. Porto Alegre: UNIRITTER, 2007. Monografia (Bacharelado em Sistemas de Informação), Centro Universitário Ritter dos Reis, 2007. PY, Mônica Xavier. Sistema Especialista: Uma Introdução. Porto Alegre: UFRGS. Artigo, Universidade Federal do Rio Grande do Sul. 50