520 likes | 662 Views
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
E N D
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
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.
Sistemas especialistas ou Sistemas baseados em conhecimento Apresentam comportamento inteligente através da aplicação de heurísticas Programas de I.A. Sist. Baseados em Conhecimento Tornam o domínio do conhecimento explícito e o separam do resto do sistema Sistemas Especialistas Aplicam conhecimento especialista em problemas reais e complexos
Conceitos Básicos • Expertise • conhecimento especializado adquirido por longo treinamento, leitura e experiência • Especialista • 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.
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 Logictheorist deu certo mas.... em geral, GPS não funciona • fraca representação de conhecimento • humanos são bons só em domínios restritos
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
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 if the infection is meningitis and the type of infection is bacterial andthe patient has undergone surgery andthe patient has under gone neurosurgery andthe neurosurgery-time was < 2 months ago andthe patient got a ventricular-urethral-shunt then infection = e.coli(.8) or klebsiella(.75)
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.
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
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;
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;
Modelos de Representação do Conhecimento • 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.
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.
Aquisição de Conhecimento • Segundo Rezende (2003), pode ser dividia em: • Identificação; • Conceituação; • Formalização; • Implementação; • Testes.
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.
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.
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
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;
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.
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”.
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;
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;
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.
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 do especialista dentro do domínio; • As informações do especialista são transformadas em fatos e regras sobre o domínio; • Base de conhecimento é independente do resto do sistema.
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 somente durante o processo de consulta; • 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.
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 quadro-negro; • 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.
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;
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?
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.
Categorias dos Sistemas Especialistas • Interpretação; • Diagnóstico ou Classificação; • Monitoramento; • Predição; • Planejamento; • Projeto; • Depuração; • Reparo; • Instrução; • Controle.
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.
Sistemas Especialistas de Segunda Geração • Abandonaram a hipótese da transferência de conhecimento: • 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
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é [Gennarietal 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
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
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;
Ú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
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.