Sistemas de Conhecimento: Aplicação e desenvolvimento Profa. Mara Abel Instituto de Informática - UFRGS [email protected] 1 Nomes, nomes... • Sistemas de IA – Sistemas simbólicos, não algorítmicos que utilizam técnicas de IA para solução de problemas • Sistemas baseados em conhecimento – Sistemas de IA que otimizam a busca da solução pela aplicação de conhecimento explicitamente representado • Sistemas Especialistas – Sistemas baseados em conhecimento que resolvem problemas que necessitam de altos níveis de perícia para sua solução. O conhecimento é extraído de um especialista humano. 2 Mais nomes... • Sistemas de conhecimento – Termo mais atual. Refere-se a qualquer sistema de informação que gerencie, armazene e/ou aplique conhecimento explicitamente representado. – O conhecimento pode ser de fonte humana, da organização, disperso, etc. 3 Sistemas de Conhecimento • Permitem – Extrair o conhecimento de suas diferentes fontes, tornando-o independente das pessoas – Organizá-lo – Distribuí-lo – Multiplicá-lo 4 Evolução dos Sistemas Especialistas • Primeira fase – Reprodução da tarefa através de um sistema simbólico; conhecimento embutido no código • Segunda fase – Extração do conhecimento do especialista reproduzindo com fidelidade em um sistema simbólico; conhecimento em um banco de conhecimento • Terceira fase – Conhecimento pertence à organização, sendo extraído, racionalizado e implementado através de diversos recursos da computação. 5 Quando utilizar sistemas de conhecimento? 6 SE é solução quando... • Risco de manter o conhecimento estratégico em poder das pessoas é muito grande • Domínios são muitos simbólicos – Problema é descrito com variáveis não quantificáveis: pequeno, inadequado, escuro, suficiente, quase, ao lado.. • Número muito grande de variáveis 7 Benefícios da Organização • Produtividade • Preservação do capital intelectual • Disseminação do conhecimento organizacional • Qualidade da decisão • Padronização do comportamento empresarial • Treinamentos eficientes 8 PRINCIPAIS APLICAÇÕES Tarefas Analíticas Tarefas de Síntese • Classificação • Projeto e/ou configuração • Aconselhamento • Diagnóstico • Monitoração • Previsão • Modelagem • Planejamento • Escalonamento • Atribuição 9 Serviço de Atendimento ao Cliente Problemas - Volume e complexidade crescentes Técnicos Técnicos 10 Aplicações Autorização de crédito na American Express Projeto de produtos na Nippon Steel Suporte a clientes de produtos IBM e Compaq Computer Roteamento de aeronaves na American Airlines Utilização de mão-de-obra no Department of Defense (EUA) Processamento de reivindicações de reembolso sob garantia na Ford 11 Aplicações na Indústria • Diagnóstico de falhas nos motores da Boeing e Airbus, e também em metrôs e trens • Suporte de vendas para circuitos integrados Analog Devices • Estimativa do custo de produção de peças em plásticoLegrand • Análise de cartas de telecomunicação e sistemas eletrônicos de testes de dados Ericsson • Help Desk para suporte após venda de robôs -Sepro Robotique 12 PetroGrapher • Banco de dados inteligente para a gerência de descrições petrográficas para apoiar a exploração de petróleo • Múltiplos modelos de conhecimento mapeados para banco de dados • Realiza caracterização de reservatórios de petróleo segundo critérios geológicos • Disponibiliza dados de reservatórios para consulta 13 Celupa • Monitoração do processo de produção de filtros de papel para café • Sistema recebe dados analógicos, mede as diferenças do padrão e ajusta equipamento • Conhecimento dos técnicos e do padrão exigido da empresa 14 Engenharia de Conhecimento Capturando conhecimento da organização e das pessoas 15 Objetivos da Engenharia de Conhecimento • Engenharia de software para sistemas baseados em conhecimento • Transformar o processo ad hoc de construir sistemas baseados em conhecimento em uma disciplina da engenharia – Métodos – Linguagens – Ferramentas 16 Engenharia de Conhecimento • Aquisição de conhecimento – Extração do conhecimento de suas diversas fontes • Representação de conhecimento – Modelagem do domínio • Validação do conhecimento – Verificação de consistência • Explicação e justificativa – Recuperação e apresentação do raciocínio ao usuário 17 Evolução • Paradigma de transferência – Especialista detém o conhecimento que deve ser extraído e colocado no sistema. • Paradigma de modelagem – Organização detém o conhecimento – Conhecimento existente nas pessoas, arquivos, sistemas deve ser extraído e modelado em um formato computacional 18 Análise de Sistemas - Análise de Conhecimento 1. Necessidades do usuário 2. Informações e dados factuais, processos e procedimentos 3. Entradas, saídas e fluxo de dados 4. Dados quantitativos 5. Técnicas estruturadas 6. Aspectos sintáticos do domínio e seus processos 1. Necessidades da perícia e do usuário 2. Aplicação cognitiva dos dados e da informação 3. Conceitos e estratégias de solução de problemas 4. Dados heurísticos e subjetivos 5. Aquisição cognitiva do conhecimento e técnicas de análise 6. Riqueza semântica do domínio e raciocínio de solução de problemas 19 Abordagem de Modelagem • Modelos formais • Conceitos representados explicitamente • Métodos de solução representados explicitamente e de modo abstrato • Compartilhamento de conceitos e métodos • Reuso do modelo 20 Metodologias que Aplicam a Abordagem de Modelagem • Tarefas genéricas • Métodos de limitação de papéis Componentes da perícia • Ontologias e OntoLíngua • VITAL • PROTÉGÉ • KADS e Common KADS . 21 Metodologia Common KADS Utilizando um formalismo para modelar conhecimento 22 site: www.commonkads.uva.nl 23 Princípios do Common KADS • Princípio da Modelagem: um modelo é uma abstração de algum aspecto da realidade. Modelar é construir uma boa descrição de alguns aspectos do conhecimento, deixando de fora o resto. O modelo torna possível focar em alguns aspectos e ignorar os outros. • Princípio do nível de conhecimento: primeiro se concentre na estrutura conceitual do conhecimento, deixando os aspectos de implementação para mais tarde. • Princípio da Tipagem do Conhecimento: modela-se o conhecimento como um conjunto funcional bem estruturado, cujas partes apresentam papéis bem definidos e especializados na solução de problemas. • Processo em espiral: não tão rígido como o modelo em cascata nem tão livre como a prototipação rápida 24 O conjunto de modelos contexto conceito artefato modelo da organização modelo da tarefa modelo do conhecimento modelo dos agentes modelo de comunicação modelo do projeto 25 O Modelo do Conhecimento Representando o conhecimento em um formalismo 26 OBJETIVOS Conhecimento de inferência CONHECIMENTO Conhecimento da Tarefa AÇÕES Modelo do Conhecimento: categorias de conhecimento Diagnóstico (tarefa) - Objetivos da tarefa - Decomposição da tarefa - Controle da tarefa - Inferências básicas - Papéis Conhecimento do Domínio - Tipos - Regras - Fatos Hipótese (inferência) Sintoma (tipo) Verificação (inferência) Doença (tipo) Teste (tipo) 27 Conhecimento do Domínio Ontologias • Especificação formal e explícita de um conjunto de conceitos compartilhados – Formal: processável por computador – Explícita: conceitos e restrições previamente definidos – Compartilhado: descreve um conhecimento consensual, que é aceito por um grupo. • Inclui conceitos, relações, regras e todos os tipos estáticos. 28 Ontologia (i) Um vocabulário de conceitos, ou termos do domínio; (ii) a tipologia do domínio, que define tipos de dados e restrições de valores que os termos devem respeitar; (iii) as relações entre conceitos, que formam as taxonomias e partonomias daquele domínio, ou outras associações entre conceitos. 29 Construtores do Conhecimento do Domínio • Conceitos: objetos ou entidades do domínio – Definidos por seus atributos e tipos de valores • Relações : classificação, especialização, agregação, conjunto • Regras : relações de dependências entre conceitos do domínio ou entre expressões de domínio 30 Conceitos • Conceitos do domínio: objetos ou entidades • os atributos ou propriedades desses objetos; • as restrições que definem os conceitos e distinguem a realidade deste domínio dos demais • (Descrevem o que são as coisas do domínio) Conceitos CONCEPT tanque-combustível ATTRIBUTES Status:{cheio, reserva, vazio} Tipo-combustivel: combustível END-CONCEPT tanque-combustível VALUE-TYPE combustível VALUE-LIST : {gasolina,álcool} TYPE: ORDINAL; END-VALUE-TYPE combustível; 32 Relações do Domínio Principalmente • Classificação • Especialização • Agregação • Associação de conjunto 33 Base de Conhecimento • Instâncias dos conceitos do domínio que descrevem a aplicação • Não são instâncias do usuário INSTANCE tanque-combustível Status: vazio Tipo-combustivel: gasolina END-INSTANCE tanque-combustível 34 Termos de Domínio • Declarações sobre os conceitos do domínio ou qualquer combinação lógica dessas declarações tanque-combustível.status = vazio; bateria.status =baixa => força.status = desligado farol.status = não-funciona E ignição.status = não-funciona E radio.status = não-funciona 35 Tipo-regra: instâncias Entrada-combustível.status = bloqueado CAUSA gasolina.status = falso; bateria.status = baixa farol.status = ligado CAUSA força.valor = desligado 36 Modelo da Tarefa • Define a relação entre os conceitos do domínios necessários à aplicação e os métodos de solução de problema abstratos necessários para obter a solução. • Realiza a instanciação dos métodos de solução de problemas 37 Modelo da Tarefa - Definido por ... • Objetivo • Papéis de entrada e saída • Corpo da tarefa – sub-objetivos – sub-tarefas – estrutura de controle: em que ordem os passos da tarefa serão executados 38 Inferências (primitivas) • Abstrair • Casar • Atribuir • Modificar • Classificar • Operacionalizar • Comparar • Propor • Cobrir • Prever • Criticar • Selecionar • Avaliar • Ordenar • Gerar • Especificar • Agrupar • Verificar 39 Métodos de Solução de Problemas • Componente dinâmico do conhecimento • Modelo abstrato da inferência aplicável àquela classe de problemas • NÃO correspondem aos métodos de inferência por busca, como raciocínio progressivo ou regressivo • Generalização de um padrão de raciocínio específico, mas não é um raciocínio genérico 40 Tipos de MSPs • Geração e teste • Classificação heurística • Diagnóstico sistemático • Verificação • Reparo • Projeto • Configuração 41 Exemplo: Diagnóstico hipótese reclamação cobrir especificar selecionar hipóteses observação obter verificar achado valor verdade 42 Diagnóstico Processo em deadlock causa rede com performance baixa hipótese Processo em deadlock? especificar observação Rede com performance baixa reclamação cobrir selecionar hipóteses •Processo em deadlock causa rede com performance baixa •Alto consumo de memoria causa rede com performance baixa obter verificar achado Processo XYZ parado valor verdade verdade Causa: processo XYZ 43 Construção do Modelo Formalizando o conhecimento adquirido!! 44 Construção do Modelo Modelo Cognitivo Modelo do Conhecimento (i) (i) (i) (i) Abstração 45 Modelos KL (Knowledge Level) O processo de modelagem é contínuo cíclico falho Modelo deve ser continuamente validado ! Aproximação da realidade ! Observações provocam modificações no modelo e o modelo sugere novas observações! 46 Identificação do conhecimento • Familiarização com o domínio – listar todas as fontes de conhecimento e caracterizá-las, – resumo dos textos-chave a respeito do problema ou tarefa, – seleção e identificação de cenários representativos do domínio, – coleta de casos, se houver. 47 Identificação do conhecimento • Listar componentes potenciais do modelo: – identificar tipo da tarefa (diagnóstico, monitoração?) – identificar tipo do domínio (técnico, excessivamente simbólico, muitas heurísticas?) 48 Especificação do conhecimento • Escolher a estrutura de inferência a partir de uma biblioteca disponível – Verificar se as entradas e saídas desta estrutura são adequadas ao problema. – Colocar “anotações” nos papéis do conhecimento relacionando-os às instâncias da base de conhecimento. – Adaptar a estrutura para as necessidades do domínio, se necessário 49 Especificação do conhecimento • Construção do esquema inicial do domínio – Definir os conceitos e termos do domínio – Construir as hierarquias e partonomias desses conceitos – Utilizar os conceitos de abstração já definidos, especificando outros apenas quando a semântica for essencial. 50 Especificação do conhecimento • Completar a especificação do modelo do conhecimento. – Pode-se partir da inferência e definir os conceitos (melhor), – ou partir dos conceitos e identificar a inferência (possível quando casos foram obtidos na fase de aquisição). 51 Validação do Conhecimento • Validar o modelo do conhecimento – Utilizar simulação no papel, – Casos previamente reservados para teste, – Ou protótipo construído apenas para validar a base. • Completar a base de conhecimento – Incluir instâncias necessárias para a execução da tarefa em questão. 52 Referências Velde, W.V. Issues in knowledge level modeling. In: David, J. M.et al. Second generation expert systems. Berlin: Springer Verlag, 1993 Schreiber, G.; Akkermans, H.; Anjewierden, A.; Hoog, R.d.; Shadbolt, N.; Velde, W.v.d.; Wielinga, B. Knowledge engineering and management: the CommonKads methodology. Cambridge: The MIT Press, 2000. Shadbolt, N., O'hara, K. and Crow, L. The experimental evaluation of knowledge acquisition techniques and methods: history, problems and new directions. International Journal of HumanComputer Studies, 51: 729-755, 1999. 53