SISTEMAS ESPECIALISTAS Prof. Mário Dantas

Slides:



Advertisements
Apresentações semelhantes
EE - 09 Inteligência Artificial Prof. Dr. Adilson Marques da Cunha
Advertisements

Agenda Introdução Justificativa Objetivo Detecção de Spam
Amintas engenharia.
Inteligência + Artificial
SISTEMAS ESPECIALISTAS
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
Engenharia de Software
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 2.
Software Básico Silvio Fernandes
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Metodologia Científica e Tecnológica
INTRODUÇÃO A INFORMÁTICA
Sistemas Especialistas Inteligência Artificial Profa. Ligia Flávia A. Batista.
EXPRESSÕES ARITMÉTICAS
Sistemas Baseados em Conhecimento
Sistemas Especialistas
FACENS – Engenharia da Computação Inteligência Artificial
INTRODUÇÃO À PROGRAMAÇÃO
Sistemas Especialistas
Sistemas Especialistas
FUNÇÃO MODULAR.
Linguagens de Programação
Introdução aos Sistemas Especialistas
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento do Escopo
CIÊNCIA E TECNOLOGIA O Engenheiro deve desenvolver suas atividades com o auxílio da pesquisa científica e desenvolvimento tecnológico. A pesquisa e o.
Provas de Concursos Anteriores
Instituto de Geociências Universidade Federal de Minas Gerais
APRESENTAÇÃO Está prevista a utilização de 6 aulas (6 blocos de 90 minutos) para o ensino do Subtema das Funções Quadráticas. Todas as aulas servirão.
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Sistemas Operacionais
MECÂNICA - ESTÁTICA Cabos Cap. 7.
Inteligência Artificial
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Object Oriented Software Construction (MEYER, Bertrand)
INTELIGÊNCIA ARTIFICIAL (IA OU AI)
Universidade São Marcos Curso: Gestão de Negócios Internacionais
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Taxonomia Profa. Lillian Alvares,
Coordenação Geral de Ensino da Faculdade
INTELIGÊNCIA ARTIFICIAL
Metolodogia de Desenvolvimento de Data Warehouse
Modelagem Estatística
Sistemas Especialistas
Inteligência Artificial
Plano de Aula Histórico O que é um Sistema Especialista?
Semântica de Linguagens de Programação
Engenharia de Conhecimento e Sistemas Especialistas
Projeto de Banco de Dados
Sistemas Especialistas
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Computação Gráfica Aula 3 Transformações Geométricas
Sistemas Inteligentes
Marcílio C. P. de Souto DIMAp/UFRN
Disciplina: Inteligência Artificial
1 Workshop de introdução à responsabilidade País, Mês de 20XX A Viagem de Ahmed.
Máquina de Turing Universal
Agenda GERÊNCIA DE PROJETOS PMI – Project Management Institute
Sistemas Baseados em Aprendizado (Aprendizado de Máquina)
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
REVISÃO Prof. Mário Dantas
Inteligência Artificial I
HAC 1 MD - junho/2008 Tecnologias de suporte à Mineração de Dados Gerenciamento de dados Data Warehouse OLAP Arquiteturas Visualização Sistemas de Suporte.
Sistemas Especialistas Probabilísticos -SEP Sílvia Modesto Nassar Departamento de Informática e de Estatística - INE Centro Tecnológico.
Sistemas Especialistas.
Inteligência Artificial Nadilma C. V. N. Pereira Aula 5– Sistemas Especialistas.
Transcrição da apresentação:

SISTEMAS ESPECIALISTAS Prof. Mário Dantas 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 Especialista Engenheiro de conhecimento 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 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

Histórico: GPS (1960s)

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 and the patient has undergone surgery and the patient has under gone neurosurgery and the neurosurgery-time was < 2 months ago and the 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: Solução convencional 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.

Componentes de um Sistema Especialista

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é [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

Shell Expert Sinta

Regras de Produção

Entrada de Dados

Saída de Dados

Mecanismo de Justificativa

Balanço

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.