Sistemas Inteligentes Aula: Sistemas Baseados em Conhecimento 1 Plano de aula Sistemas Baseados em Conhecimento definição geral “Tipos” de conhecimento Como raciocinar? Linguagens de representação do conhecimento Engenharia do Conhecimento muito de leve... O problema do capitão West... West é criminoso ou não? “A lei americana diz que é proibido vender armas a uma nação hostil. Cuba possui alguns mísseis, e todos eles foram vendidos pelo Capitão West, que é americano” Como você resolveria este problema de classificação? Limitações da resolução de problemas por Busca Agentes de Busca são muito eficientes na solução de problemas que podem ser formalizados por: um estado inicial; ações; um conjunto de estados finais. Porém, não são capazes de resolver problemas que exigem raciocínio baseado em conhecimento sobre o mundo: Porque seu modelo do mundo é pobre e o raciocínio é limitado e.g., diagnóstico médico, controle aeroespacial, prova de teoremas, sistemas especialistas em geral,... Como a máquina poderia resolver o caso do cap. West? Segundo a IA simbólica, é necessário Identificar o conhecimento do domínio Representá-lo em uma linguagem formal Implementar um mecanismo de inferência para utilizá-lo Questões-chave Como adquirir esse conhecimento? Como representá-lo adequadamente? Como raciocinar com ele correta e eficientemente? A) Todo americano que vende uma arma a uma nação hostil é criminoso B) Todo país em guerra com uma nação X é hostil a X C) Todo país inimigo político de uma nação X é hostil a X D) Todo míssil é um arma E) Toda bomba é um arma F) Cuba é uma nação G) USA é uma nação H) Cuba é inimigo político dos USA I) Irã é inimigo político dos USA novo conhecimento J) West é americano K) Existem mísseis em Cuba L) Os mísseis de Cuba foram vendidos por West M) Cuba possui um míssel M1 N) M1 é um míssil O) M1 é uma arma P) Cuba é hostil aos USA Q) M1 foi vendido a Cuba por West R) West é crimonoso - de K - de K - de D e N - de F, G, H e C - de L, M e N - de A, J, O, P e Q conhecimento do problema conhecimento prévio Solucionando o caso do cap. West (Linguagem Natural) Sistemas Baseados em Conhecimento Possuem dois componentes principais (separados): Base de Conhecimento Mecanismo de Inferência Base de Conhecimento (BC): Contém sentenças em uma Linguagem de Representação de Conhecimento “tratável” pelo computador representações de regras e fatos ex., " x Míssil(x) Arma(x) Mecanismo (máquina) de Inferência associado: responsável por inferir, a partir do conhecimento da BC, novos fatos ou hipóteses intermediárias/temporárias ex., M1 é uma arma Arquitetura dos Sistemas BC Memória de Trabalho Base de Regras Conhecimento volátil Conhecimento Permanente • fatos • regras de produção Meta-conhecimento • estratégias para resolução de conflito Mecanismo de Inferência • descrição da instância do problema atual • objetivos atuais • resultados intermediários Conjunto de conflito conjunto de possíveis regras a serem disparadas Tipos de Conhecimento na Máquina 9 “Tipos” de Conhecimento Estático x Dinâmico Em intenção x Em extensão Declarativo x Procedimental Do problema x Meta-conhecimento Diagnóstico x Causal Dedutivo x Terminológico Síncrono x Diacrônico Certo x Incerto Preciso x Vago De senso comum x Especialista Explicito x Implícito Conhecimento em Intenção x Extensão Conhecimento em intenção Definição do conceito (ou ação), normalmente usando regras, em termos de sua função, estrutura, etc. ex. " X, cadeira(X) assento(X). cadeira: serve para sentar, tem assento, ... ex. " X, tem-dengue(X) tem-dores(X) tem-febre(X). quem tem dengue tem febre, dores, ... Conhecimento em extensão Instâncias do conceito ex. cadeira 1, cadeira 21, cadeira 613, .... ex. os sintomas de dengue de João, de Zé, ... Conhecimento Declarativo X Procedimental Conhecimento representado de modo: Procedimental fatos e seqüências de instruções para manipular esses fatos ex.: como desmontar uma bicicleta Declarativo representação descritiva dos fatos, relacionamentos e regras as partes de uma bicicleta e seus relacionamentos o pai do pai é o avô Conhecimento Estático x Dinâmico Conhecimento estático: Aquele que já existe na BC e não mudará Hierarquia de conceitos (classes de fatos) ex, " X, gato(X) felino(X). Restrições de integridades ex, " X,Y estrela-dalva(X) vênus(Y) X = Y. Regras de dedução sobre o domínio ex, " X,Y chefe(X,Y) empregado(Y,X) Meta-regras para controle e explicação do raciocínio ex. preferir ir para direita caso tenha mais de uma escolha Conhecimento Estático x Dinâmico Conhecimento dinâmico: só existe durante a resolução de uma instância particular do problema descrição da instância, hipóteses atuais, fatos novos,... Senso Comum Classe de problema Instância do problema Estático Estático Dinâmico " x Míssil(x) Arma(x) "x InimigoPolítico(x,USA) Hostil(x) Americano (West) Meta-conhecimento Regras sobre “como” manipular as regras de conhecimento que estão em uma base Exemplos: Se R1 e R2 podem ser disparadas, escolha sempre R1 Ordem da regra na BC Se R1 e R2 podem ser disparadas e R1 foi disparada mais recentemente que R2, escolha R2 Categorias de Raciocínio 16 Categorias de Raciocínio Dedução fatos + regras de inferência => novos fatos causa -> efeito Se há fogo (causa), há fumaça (efeito). Aqui tem fogo, logo, aqui tem fumaça (novo fato) É o único tipo de inferência que preserva a verdade truth-preserving Abdução inverso da dedução: do efeito para a causa Se há fumaça, há fogo. Eu vi fumaça (efeito), logo aqui tem fogo (causa) Ex. Se há febre e dor, a doença é dengue Este tipo de inferência preserva a falsidade Categorias de Raciocínio Indução parte dos fatos para gerar regras fato1 + fato2 + fato 3 => regra! ex. Sr. Antônio, assim como D. Maria, tem dor de cabeça e dengue, então todo mundo que tem dengue, tem dor de cabeça Transforma conhecimento em extensão em conhecimento em intenção!! Categorias de Raciocínio Raciocínio Analógico fatos + similaridades + regras de adaptação +... a partir de fatos (conhecimento em extensão), a da similaridade entre eles, resolve o problema sem gerar regras ex.: Naquele caso de dengue, eu passei aspirina e não deu certo, logo vou evitar receitar aspirina neste caso semelhante Raciocínio na Máquina Dedução e Abdução (via dedução) usadas nos sistemas baseados em conhecimento declarativo Indução e Analogia usadas na aprendizagem automática Dedução: dois grandes grupos Lógica e afins Tratamento de incerteza Probabilístico ou difuso (fuzzy) Como Representar Conhecimento e Raciocinar? Linguagens de Representação do Conhecimento 21 Linguagens de Representação do Conhecimento Uma Linguagem de Representação do Conhecimento (LRC) é definida por: 1) uma sintaxe, que descreve as configurações que podem constituir sentenças daquela linguagem 2) uma semântica, que liga cada sentença aos fatos do mundo que ela representa cada sentença faz uma afirmação a respeito do mundo o Agente BC acredita nas sentenças armazenadas na sua base de conhecimento Toda LRC deve ter um mecanismo de inferência associado => raciocínio Representação & Raciocínio Raciocínio processo de construção de novas sentenças a partir de sentenças existentes Raciocínio plausível (sound): garante que as novas sentenças representam fatos que se seguem dos fatos representados pelas sentenças existentes na BC. implementa a relação de “implicação” entre sentenças fatos segue-se fatos Mundo Representação sentenças implica sentenças Linguagens de Representação do Conhecimento Linguagens de programação: são precisas, porém não são suficientemente expressivas Linguagens naturais: são muito expressivas, porém são ambíguas Linguagens de representação de conhecimento: utilizadas para expressar as sentenças das BC Suficientemente expressivas e não-ambíguas A) Todo americano que vende uma arma a uma nação hostil é criminoso B) Todo país em guerra com uma nação X é hostil a X C) Todo país inimigo político de uma nação X é hostil a X D) Todo míssil é um arma E) Toda bomba é um arma F) Cuba é uma nação G) USA é uma nação H) Cuba é inimigo político dos USA I) Irã é inimigo político dos USA novo conhecimento J) West é americano K) Existem mísseis em Cuba L) Os mísseis de Cuba foram vendidos por West M) Cuba possui um míssel M1 N) M1 é um míssil O) M1 é uma arma P) Cuba é hostil aos USA Q) M1 foi vendido a Cuba por West R) West é crimonoso - de K - de K - de D e N - de F, G, H e C - de L, M e N - de A, J, O, P e Q conhecimento do problema conhecimento prévio Solucionando o caso do cap. West (Linguagem Natural) A) " x,y,z Americano(x) Arma(y) Nação(z) Hostil(z) Vende(x,z,y) Criminoso(x) B) " x Guerra(x,USA) Hostil(x) C) " x InimigoPolítico(x,USA) Hostil(x) D) " x Míssil(x) Arma(x) E) " x Bomba(x) Arma(x) F) Nação(Cuba) G) Nação(USA) H) InimigoPolítico(Cuba,USA) I) InimigoPolítico(Irã,USA) novo conhecimento J) Americano(West) K) $ x Possui(Cuba,x) Míssil(x) L) " x Possui(Cuba,x) Míssil(x) Vende(West, Cuba,x) M) Possui(Cuba,M1) N) Míssil(M1) O) Arma(M1) P) Hostil(Cuba) Q) Vende(West,Cuba,M1) R) Criminoso(West) conhecimento do problema conhecimento prévio Solucionando o caso do cap. West (em LPO) - Eliminação: quantificador existencial e conjunção de K - Modus Ponens a partir de D e N - Modus Ponens a partir de C e H - Modus Ponens a partir de L, M e N - Modus Ponens a partir de A, J, O, F, P e Q Observações sobre Linguagem e Raciocínio Separação entre controle e conhecimento Seja lá qual for a categoria do raciocínio, haverá sempre um motor geral que o implementará A tarefa do engenheiro de conhecimento é “apenas” codificar corretamente o conhecimento Critérios para avaliação das LRC Expressividade o que é possível dizer facilmente na linguagem? Inferência disponível que tipo de inferência é possível fazer na linguagem? Corretude a inferência é plausível? A semântica é bem definida? Eficiência a inferência se realiza em um tempo razoável? Critérios para avaliação das LRC Modularidade: é fácil identificar e reutilizar partes do conhecimento? Legibilidade: é fácil de ler e entender o que está escrito? Eficiência aquisicional: é fácil adicionar conhecimento? Engenharia do Conhecimento Muito de leve... 30 Engenharia do Conhecimento - EC 31 Engenharia do Conhecimento - EC Área de pesquisa preocupada com desenvolver Métodos, Linguagens e Ferramentas adequados para o desenvolvimento de sistemas BC Foco principal: como adquirir e analisar conhecimento como validar e manter uma Base de Conhecimento Construção da Base de Conhecimento 32 Processo de acumular, transferir e transformar alguma EC - Definições Engenheiro de conhecimento Guia a aquisição, a criação da representação do conhecimento especializado, a implementação e o refinamento do SBC Expertise conhecimento especializado adquirido por longo treinamento, leitura e experiência Especialista (Expert ) Quem possui conhecimento especializado , experiência e métodos, e a habilidade de aplicá-los para dar 33 “conselhos” e resolver problemas Desenvolvimento de SBCs 34 Etapas de desenvolvimento de SBCs Nível de Conhecimento Nível Lógico Nível de Implementação AQUISIÇÃO FORMALIZAÇÃO IMPLEMENTAÇÃO REFINAMENTO Linguagem natural Linguagens de representação do conhecimento Linguagens de programação BC Etapas do desenvolvimento de SBCs 1. Aquisição (elicitação) do conhecimento Identificação do conhecimento a adquirir Registro do conhecimento em linguagem natural ou usando alguma notação gráfica 36 Etapas do desenvolvimento de SBCs 2. Formalização da BC Nível semi-formal via Notação textual estruturada padrão (XML) Notação gráfica padrão (UML) Ontologias Objetivo: validação com especialista Nível formal Via linguagens formais (e.g., LPO) Notação sem ambigüidade com Objetivo: verificação de consistência 37 Etapas do desenvolvimento de SBCs 3. Implementação da BC Uso (ou criação) de um sistema (máquina de inferência) capaz de ler a BC e realizar dedução usando linguagens de programação Implementação da Interface Teste de protótipo 4. Validação e Refinamento Validação Refinamento 38 Etapas de desenvolvimento de SBCs Veremos a seguir Aquisição do conhecimento Formalização do conhecimento Ontologias Nível “semi”-formal 39 Aquisição do Conhecimento O gargalo na construção dos SBCs 40 Aquisição do Conhecimento Principais fases da aquisição Identificar características do problema Do domínio da aplicação Isolar e representar os conceitos principais e suas relações através de uma Ontologia, por exemplo Identificar inferências sobre estes conceitos (regras) O conhecimento pode originar-se de várias fontes: especialistas, livros e documentos, filmes, etc. 41 Gargalo na Aquisição do Conhecimento A maior parte do conhecimento está na cabeça dos especialistas... Especialistas têm muito conhecimento empírico Difícil de ser capturado e representado formalmente são “caros” mas não sabem de tudo! têm dificuldade de verbalizar sob pressão usam vocabulário próprio (jargão) Podem expressar conhecimento incorreto e incompleto 42 Como minimizar o gargalo da Aquisição? Métodos de aquisição Três categorias Manual Semi-automático Automático 43 Método de Aquisição Manual Entrevistas estruturadas ou não estruturadas Tracking methods análise de protocolos e observação especialista Engenheiro de conhecimento codificação documentação 44 Base de conhecimento Métodos de Aquisição Semi-automática Baseado em ferramentas de ajuda ao especialista e ao engenheiro de conhecimento Repertory grid analysis especialista Ferramentas interativas de entrevista Base de conhecimento Engenheiro de conhecimento 45 Métodos de Aquisição Automática Aprendizado de máquina Machine learning Casos e exemplos Indução automática Regras 46 Próxima aula Sistemas baseados em Regras de Produção