Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profª. Ms. Amélia Acácia M. Batista ameliabatista@hotmail.com Centro Universitário Santo Agostinho - UNIFSA Diretoria de Ensino Coordenação de Engenharia da Produção TÓPICOS AVANÇADOS EM TECNOLOGIA E SISTEMAS DE INFORMAÇÃO Teresina 2019.1 SISTEMAS BASEADOS EM CONHECIMENTO PARTE I Fundamentos A natureza do conhecimento humano Dado, informação, conhecimento; Habilidade de criar um modelo mental que descreva o objeto e indique as ações a implementar, as decisões a tomar; 20/02/2019 3 Profª Ms. Amélia Acácia M. Batista Dados Informação Síntese Análise Compreensão Conhecimento 3 Fundamentos Níveis de conhecimento: fatos, conceitos, regras e metaregras; Uma decisão é o uso explicito de um conhecimento; Tipos de conhecimento: Declarativo: “o que é; descreve o conhecimento” Procedural: “como o problema é solucionado” Senso comum: “declarativo e procedural” Heurístico: “único para cada individuo” Meta Conhecimento: “conhecimento sobre o conhecimento” Inteligência Artificial 20/02/2019 4 Profª Ms. Amélia Acácia M. Batista 4 Fundamentos Sistemas Inteligentes Habilidade para usar conhecimento para desempenhar tarefas ou resolver problemas; A capacidade para aproveitar associações e inferência para trabalhar com problemas complexos que assemelham-se a problemas reais. Aquisição de conhecimento, Aprendizado de Máquina, Redes Neurais, Lógica Fuzzy, Computação Evolutiva, Agentes e Multiagentes, Mineração de dados e de textos; 20/02/2019 5 Profª Ms. Amélia Acácia M. Batista 5 Sistemas baseados em conhecimento - conceitos e definições São programas de computador que usam o conhecimento representado explicitamente para resolver problemas; Segundo Newell (1982), o desenvolvimento de um SBC deve conter a perspectiva: Conhecimento processável pelo homem; Simbólica, processável pelo computador; 20/02/2019 6 Profª Ms. Amélia Acácia M. Batista 6 Sistemas baseados em conhecimento - conceitos e definições Os SBCs devem ser capazes de (Jackson, 1998): Questionar o usuário, usando uma linguagem de fácil entendimento, para reunir as informações de que necessita; Desenvolver uma linha de raciocínio a partir dessas informações e do conhecimento nele embutido para encontrar soluções satisfatórias; Explicar seu raciocínio, caso seja questionado pelo usuário, do porquê necessita de informações externas e de como chegou às suas conclusões; 20/02/2019 7 Profª Ms. Amélia Acácia M. Batista 7 Sistemas baseados em conhecimento - conceitos e definições Conviver com seus erros, isto é, tal como um especialista humano, o SBC pode cometer erros, mas deve possuir um desempenho satisfatório que compense seus possíveis enganos; Segundo Motta (1998), SBCs devem possuir as seguintes propriedades: Tudo que se sabe sobre o problema deve estar explicitamente representado na base de conhecimento do sistema; A base de conhecimento deve ser usada por um agente capaz de interpretá-la; 20/02/2019 8 Profª Ms. Amélia Acácia M. Batista 8 Sistemas baseados em conhecimento - conceitos e definições 20/02/2019 9 Profª Ms. Amélia Acácia M. Batista Sistemas convencionais Sistemas baseadosem conhecimento Estrutura de dados Representação do conhecimento Dados e relações entre dados Conceitos, relações entre conceitos e regras Tipicamente usa algoritmos determinísticos Busca heurística Conhecimento embutido no código do programa Conhecimentorepresentado explicitamente e separado do programa que o manipula e interpreta Explicação do raciocínioé difícil Podem e devem explicar seuraciocínio 9 Sistemas baseados em conhecimento - conceitos e definições 20/02/2019 10 Profª Ms. Amélia Acácia M. Batista 10 Sistemas baseados em conhecimento - conceitos e definições Justificativas para o desenvolvimento de um SBC: Existe necessidade de retenção de conhecimento; Especialistas são necessários em vários locais; A tarefa precisa ter um domínio bem limitado; A falta de especialistas afeta a eficiência da tarefa; 20/02/2019 11 Profª Ms. Amélia Acácia M. Batista 11 Tipos de Aplicações de SBCs 20/02/2019 12 Interpretação: análise de dados para determinação de seu significado; Ex.: reconhecimento de manuscrito; Classificação: determinação de falhas em um sistema, dado um conjunto de sintomas; ex.: SBC que auxilia na avaliação e tratamento de pacientes com glaucoma; Monitoramento: observação contínua do comportamento de um sistema a fim de realizar ações quando alguma situação especifica acontece; ex.: controle de tráfego aéreo; Profª Ms. Amélia Acácia M. Batista 12 Tipos de Aplicações de SBCs 20/02/2019 13 Planejamento: determinação da sequência de ações que devem ser realizadas para atingir uma dada meta; ex.: planejamento de operações de robôs; Projeto: desenvolvimento das especificações de um objeto, de maneira a satisfazer um dado conjunto de requisitos; ex.: Profª Ms. Amélia Acácia M. Batista 13 Estrutura de um SBC A estrutura geral é composta por módulos responsáveis pelo armazenamento da base de conhecimento e pelo mecanismo de inferência. 20/02/2019 14 NÚCLEO DO SISTEMA BASEADO EM CONHECIMENTO ou SHELL Memória de trabalho Base de Dados Base de Conhecimento INTERFACE Profª Ms. Amélia Acácia M. Batista 14 Estrutura de um SBC Núcleo do Sistema Baseado em Conhecimento (NSBC): ou shell, desempenha as principais funções do SBC, sendo responsável pelos mecanismos de inferência do sistema; Base de Conhecimento (BC): está representado todo o conhecimento sobre um determinado domínio, ou seja, contém uma abstração do mundo descrita explicitamente por um formalismo processável computacionalmente; Memória de Trabalho (MT): onde são armazenadas as conclusões intermediarias de um processo de raciocínio e as respostas fornecidas pelo usuário durante a interação; 20/02/2019 15 Profª Ms. Amélia Acácia M. Batista 15 Estrutura de um SBC Base de Dados (BD): o sistema pode estar interagindo com uma BD para obtenção ou armazenamento de dados e/ou informações; Interface com o usuário, responsável pela obtenção de informação junto ao usuário, além da apresentação de resultados e explicações. 20/02/2019 16 Profª Ms. Amélia Acácia M. Batista 16 Núcleo do Sistema Baseado em Conhecimento (NSBC) Controle da interação com o usuário ou com equipamentos externos; Processamento do conhecimento utilizando alguma linha de raciocínio; Justificativa ou explicação das conclusões obtidas a partir do raciocínio; Composto por três submódulos interdependentes: Módulo Coletor de Dados (MCD), Motor de Inferência (MI), Módulo de Explicações (ME). 20/02/2019 17 Profª Ms. Amélia Acácia M. Batista 17 Núcleo do Sistema Baseado em Conhecimento MCD responsável pela interação com o usuário, obtendo informações do problema em questão; MI responsável pelo desenvolvimento do raciocínio baseado nas informações obtidas pelo MCD e no reconhecimento representado na BC; Encadeamento Regressivo: partindo de uma conclusão, feita pelo usuário, é feita uma pesquisa por meio do conhecimento acumulado para se provar a afirmação inicial; Encadeamento Progressivo: respostas fornecidas pelo usuário desencadeiam um processo de busca até que se encontre a solução ótima; ME responsável pela explicação, ou justificativas, das conclusões obtidas e dos motivos pelos quais o SBC fez determinadas perguntas (por quê?, como?, o que acontece se? Por que não?). 20/02/2019 18 Profª Ms. Amélia Acácia M. Batista 18 Base de Conhecimento Contém a descrição do conhecimento necessário para a resolução do problema abordado na aplicação; Sentença representação individual expressa em uma linguagem especifica; Linguagem de representação do conhecimento baseiam-se em diferentes técnicas de representação, como as regras de produção, redes semânticas, frames e lógica; “se a temperatura está acima de 37,5º C, então o paciente está com febre”. “se o paciente é alcoólatra, investigue primeiramente doençashepáticas”. 20/02/2019 19 Profª Ms. Amélia Acácia M. Batista 19 Memória de Trabalho São registradas todas as respostas fornecidas pelo usuário durante as interações realizadas com o sistema; Funciona como a “memória do sistema”; Permite fornecer ao usuário toda a linha de raciocínio correspondente às conclusões obtidas; Evita a repetição de uma mesma pergunta ao usuário; Evita a realização repetida de sequencias de raciocínio para a obtenção de conclusões intermediarias. 20/02/2019 20 Profª Ms. Amélia Acácia M. Batista 20 Representação do Conhecimento Forma sistemática de estruturar e codificar o que se sabe sobre uma determinada aplicação; Ser compatível ao ser humano para permitir a sua interpretação; Abstrair-se dos detalhes de como funciona internamente o processador; Ser robusta, isto é, permitir sua utilização mesmo que não aborde todas as situações possíveis; Ser generalizável; ela necessita de vários pontos de vista do mesmo conhecimento; 20/02/2019 21 Profª Ms. Amélia Acácia M. Batista 21 Representação do Conhecimento Técnicas de RC: Representação Lógica Regras de Produção Redes semânticas Frames Orientação a objetos Orientação a objetos associadas a regras Atividade: Montar uma representação da interdependência existente entre os submódulos de um NSBC e a interface com o usuário. 20/02/2019 22 Profª Ms. Amélia Acácia M. Batista 22 Representação do Conhecimento Representação Lógica A lógica matemática possui várias regras sintáticas de dedução; O cálculo proposicional baseia-se na existência de constantes e no uso de operadores lógicos; Tratabilidade e Decidibilidade PROLOG é a linguagem mais usada e conhecida que utiliza os princípios da lógica matemática. Orientação a objetos associada a regras Descreve como o conhecimento armazenado deve ser utilizado; 20/02/2019 23 Profª Ms. Amélia Acácia M. Batista 23 Linguagem de Representação do Conhecimento Representação orientada a objetos com regras: Descrição da classe de bloco em: nome, cor e tamanho do método imprime; das instâncias correspondentes aos blocos; dos fatos que representam as relações entre/sobre os blocos; as regras que definem essas relações; 20/02/2019 24 Profª Ms. Amélia Acácia M. Batista Bloco a – Azul/Grande Bloco b Verde/Médio Bloco c branco/pequeno Mundo dos Blocos 24 Linguagem de Representação do Conhecimento Representação orientada a objetos com regras: (defclass bloco (is-a USER) (role concrete) (slot nome (type STRING) (create-acessor read-write)) (slot cor (type STRING) (create-acessor read-write)) (slot tamanho (type STRING) (create-acessor read-write)) ) 20/02/2019 25 Profª Ms. Amélia Acácia M. Batista 25 Linguagem de Representação do Conhecimento (defmessage-handler bloco imprime() (printout t “ Bloco “ ?self:name “ ( “ ?self:cor “ e “ ?self:tamanho” ) “ ) ) (definstances blocos (nome “a” ) (cor “azul” ) (tamanho “grande” ) ) 20/02/2019 26 Profª Ms. Amélia Acácia M. Batista 26 Linguagem de Representação do Conhecimento (deffacts exemplo (sobre [a] [b] ) (sobre [b] [c] ) ) (defrule direta (sobre ?X ?Y ) (assert (acima ?X ?Y ) ) (printout t (send ?X imprime) “acima de” (send ?Y imprime ) crlf ) ) 20/02/2019 27 Profª Ms. Amélia Acácia M. Batista 27 Linguagem de Representação do Conhecimento Representação lógica: cor (a, azul). cor (b, verde). cor (c, branco). tamanho (a, grande). tamanho (b, medio). tamanho (c, pequeno). sobre (a, b). sobre (b, c). acima(X,Y) :- sobre(X,Y). acima(X,Y) :- sobre(Z,Y), acima(X,Y). 20/02/2019 28 Profª Ms. Amélia Acácia M. Batista 28 Processo de desenvolvimento de um SBC Genericamente, a que se refere um processo de desenvolvimento de software? Projeto e desenvolvimento de SBCs normalmente usam métodos empíricos; As características dos SBCs fazem com que alguns modelos de processo de desenvolvimento tenham difícil aplicação; Um passo importante no processo de construção de um SBC é a identificação das características do domínio de aplicação. 20/02/2019 29 Profª Ms. Amélia Acácia M. Batista 29 Processo de desenvolvimento de um SBC Principais etapas do processo de construção de um SBC: Fase 1- Planejamento: descreve o domínio de conhecimento, termos chaves e referências; Fase 2 – Aquisição do conhecimento: tem como objetivo adquirir os conhecimentos que serão armazenados na BC; Fase 3 – Implementação do SBC: o conhecimento adquirido deve ser representado formalmente; Fase 4 – Validação e Refinamento do SBC: envolve a validação e verificação do sistema; processo continuo; 20/02/2019 30 Profª Ms. Amélia Acácia M. Batista 30 Ferramentas de suporte à construção de SBCs Ferramentas de Apoio: Oferecem vários esquemas de representação de conhecimento, monitoramento de inferência, estratégias para resolução de problemas, bem como interfaces para aquisição de conhecimento e explicação; Shells: Geralmente oferecem um esquema de representação de conhecimento e motor de inferência. Nelas, a interface e a estratégia para resolução de problemas é prefixada; 20/02/2019 31 Profª Ms. Amélia Acácia M. Batista 31 Perspectivas Futuras Técnicas automáticas de aquisição do conhecimento; Aprendizado de máquina e Mineração de Dados; Tratamento da incerteza! Cognição situada! 20/02/2019 32 Profª Ms. Amélia Acácia M. Batista 32
Compartilhar