1 Engenharia do Conhecimento Patrícia Tedesco Revisada por Flávia Barros.

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Advertisements

Sistemas Inteligentes
Inteligência Artificial I
Introdução a Algoritmos
Engenharia de Software
SISTEMAS ESPECIALISTAS
Engenharia de Software
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
UML Modelando um sistema.
Engenharia de Software
Engenharia de Software Professor Sandro de Paiva Carvalho.
FACULDADE DOS GUARARAPES
Sistemas Especialistas Inteligência Artificial Profa. Ligia Flávia A. Batista.
Sistemas Baseados em Conhecimento
Modelagem e simulação de sistemas
Técnicas de Apoio ao Processo de Engenharia de Requisitos
Revisões de Software Parte 1
O processo de coletar os requisitos (escopo do cliente)
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Análise e Projeto de Sistemas
Extração de Requisitos
Agentes Cognitivos Adaptativos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Como Desenvolver Sistemas de Informação
Engenharia de Software
Classes e objetos Modelagem
Processos de Software II
Lafayette B. Melo – CEFET-PB - COINFO Quando só o que se tem é um martelo, se acha que tudo que tem no mundo é prego (?) Como você vê o mundo em sua volta.
Sistemas Inteligentes
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Análise e Projeto de Sistemas
Engenharia do Conhecimento
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE.
Engenharia do Conhecimento
Engenharia do Conhecimento
DI-UFPE1 Sistemas CASE O Papel do Repositório de Dados nos Ambientes CASE.
Engenharia de Software
Introdução e Fundamentos Engenharia de Requisitos
Projeto de Banco de Dados
Sistemas Especialistas
Engenharia do Conhecimento
O Processo Unificado (UP)
Sistemas Inteligentes Aula: Sistemas Baseados em Conhecimento 1.
CIn- UFPE 1 Construindo Bases de Conhecimento Lógica de Primeira Ordem eficiente para representar conhecimento e para raciocinar porém, nada diz sobre.
Engenharia de Software
GERENCIAMENTO DE PROJETOS DE T.I
METODOLOGIA, MÉTODOS E FERRAMENTAS
Métodos Formais.
Sistemas Especialistas
Processos de Software.
REVISÃO Prof. Mário Dantas
Linguagem de Modelagem Unificada
Engenharia de Requisitos
METHONTOLOGY Sandro Rautenberg
CIn- UFPE 1 Engenharia do Conhecimento Conceitos básicos Etapas de desenvolvimento de Sistemas Baseados em Conhecimento Aquisição de Conhecimento Ontologias.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
Introdução aos Agentes Inteligentes
Engenharia de Conhecimento
Engenharia de Software
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Aula 02 de Eng. de Requisitos
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
O Modelo GOMS Fornece um modelo de Engenharia para a performance humana, capaz de produzir predições a priori ou em um estágio anterior ao desenvolvimento.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Inteligência Artificial Nadilma C. V. N. Pereira Aula 5– Sistemas Especialistas.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Transcrição da apresentação:

1 Engenharia do Conhecimento Patrícia Tedesco Revisada por Flávia Barros

2 Plano de Aula Histórico e Conceitos Básicos Engenharia de Conhecimento em uma BC Um exemplo de Metodologia Conclusão

3 Sistemas Baseados em Conhecimento SBCs são sistemas que usam conhecimento especializado representado explicitamente para resolver problemas complexos São sistemas capazes de... Questionar o usuário Raciocinar com base no conhecimento disponível Explicar seu raciocínio ao usuário “Lidar” com seus erros

4 Relembrando... Sistemas BC X Agentes BC Sistemas baseados em conhecimento Têm uma base de conhecimento e uma máquina de inferência associadas Formalizam e implementam parte dos agentes BC Qual a diferença? Agentes interagem com o ambiente onde estão imersos através dos sensores e atuadores

5 Um Pouco de História... No início, a IA estava preocupada em desenvolver Formalismos para representar conhecimento Mecanismos de Inferência Formas de operacionalizar os SBCs Mas... Como garantir a escalabilidade desses sistemas?

6 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, analisar, validar e manter uma Base de Conhecimento Construção da Base de Conhecimento Processo de acumulação, transferência e transformação de alguma fonte de conhecimento para um computador

Uma Área Multidisciplinar!

8 EC lida com dois tipos de sistemas SEs = Sistemas Especialistas SBCs SEs Representam conhecimento do domínio de forma explícita Aplicam conhecimento especializado na solução de problemas complexos

9 Etapas do desenvolvimento de SBCs 1. Construção da base de conhecimento Aquisição de conhecimento Representação do conhecimento (formalização) 2. Implementação do sistema Codificação Construção do sistema de explicação, interface, etc. 3. Refinamento e validação

10 Etapas do desenvolvimento de SBCs mais detalhes Planejamento do sistema Identificação do Domínio Seleção da equipe Seleção da ferramenta de desenvolvimento 2. Aquisição do conhecimento Identificação do conhecimento a adquirir Conceituação Formalização da BC

11 Etapas do Desenvolvimento de SBCs mais detalhes Implementação Criação de uma representação do conhecimento Implementação da Interface Documentação 4. Validação e Refinamento Validação Refinamento E tudo começa novamente...

12 BC Como o Conhecimento é Processado? Nível de Conhecimento Nível Lógico Nível de Implementação AQUISIÇÃO FORMULAÇÃO IMPLEMENTAÇÃO REFINAMENTO

13 Um Exemplo de Construção de BC Do livro AIMA

14 Construindo uma BC 1) Decida sobre o que falar 2) Escolha o vocabulário de predicados, funções e constantes (Ontologia do Domínio) 3) Codifique o conhecimento genérico sobre o domínio (axiomas)  x,y,z Americano(x)  Arma(y)  Nação(z)  Hostil(z)  Vende(x,z,y)  Criminoso(x) 4) Codifique uma descrição de uma instância específica do problema: Nação(Cuba), Nação(USA) 5) Proponha questões para o procedimento de inferência e obtenha respostas: West é criminoso?

15 Um Exemplo: Circuitos Digitais Objetivo: determinar se o circuito está de acordo com sua especificação (o circuito acima é um somador) responder a perguntas sobre o valor da corrente em qualquer ponto do circuito

16 Decida sobre o que falar Para alcançar o objetivo, é relevante falar sobre circuitos, terminais, sinais nos terminais, conexões entre terminais Para determinar quais serão esses sinais, precisamos saber sobre: portas e tipos de portas: AND, OR, XOR e NOT Não é relevante falar sobre: fios, caminhos dos fios, cor e tamanho dos fios, etc.

17 Decida qual vocabulário usar Usado para nomear objetos e relações do domínio com funções, predicados e constantes constantes  distinguir as portas: X1, X2...  distinguir os tipos de porta: AND, OR, XOR... funções e predicados  tipo de uma porta: Tipo(X1) = XOR, Tipo(X1, XOR), XOR(X1)  indicar entradas e saídas: Out(1, X1), In(1, X2)  indicar conectividade entre portas: Conectado(Out(1, X1), In(1, X2))

18 Codifique regras genéricas (1) Dois terminais conectados têm o mesmo sinal:  t1, t2 Conectado(t1, t2)  Sinal(t1) = Sinal(t2) (2) O sinal de um terminal é On ou Off (nunca ambos)  t Sinal(t) = On  Sinal(t) = Off, On  Off (3) Conectado é um predicado comutativo  t1,t 2 Conectado(t1, t2)  Conectado(t2, t1) (4) Uma porta OR está On sse qualquer das suas entradas está On:  g Tipo(g) = OR  Sinal(Out(1,g)) = On  n Sinal(In(n,g))=On

19 Codifique a instância específica Portas: Tipo(X1) = XOR Tipo(X2) = XOR Tipo(A1) = AND Tipo(A2) = AND Tipo(O1) = OR Conexões: Conectado(Out(1,X1),In(1,X2)) Conectado(Out(1,X1),In(2,A2)) Conectado(Out(1,A2),In(1,O1))...

20 Proponha questões ao mecanismo de Inferência Que entradas causam Out(1,C1) = Off e Out(2, C1) = On?  i1, i2, i3 Sinal(In(1,C1)) = i1  Sinal(In(2,C1)) = i2  Sinal(In(3,C1)) = i3  Sinal(Out(1,C1)) = Off  Sinal(Out(2,C1) = On Resposta: (i1 = On  i2 = On  i3 = Off)  (i1 = On  i2 = Off  i3 = On)  (i1 = Off  i2 = On  i3 = On)

21 Engenharia do Conhecimento Mais detalhes...

22 EC - Conceitos Básicos 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 Quem possui conhecimento especializado, experiência e métodos, e a habilidade de aplicá-los para dar “conselhos” e resolver problemas

23 EC - Conceitos Básicos Há diferentes “tipos” de conhecimento Que devem ser representados separadamente!  Conhecimento ontológico, conhecimento do domínio,... Qual a forma de representação adequada?  Ontologias, Bases de conhecimento,... Há diferentes tipos de especialistas e de expertise Como elicitar os diferentes “conhecimentos”? Há vários usos para conhecimentos semelhantes Reusabilidade é a chave!

Construindo uma BC Elicitação do conhecimento Formalização do conhecimento Implementação do sistema BC Nível do conhecimento : Nos termos do especialista do domínio de aplicação Linguagem natural, Notações gráficas ad-hoc Nível semi-formal: Notação textual estruturada padrão (XML) Notação gráfica padrão (UML) Validação com especialista Nível formal: Notação sem ambigüidade com semântica formalmente definida (Lógica, Probabilidades) Verificação de consistência Nível da implementação: Codificação em uma linguagem de programação Teste de protótipo

Artefatos e Tarefas Envolvidos Elicitação do conhecimento Formalização do conhecimento Implementação do sistema BC Nível do conhecimento : Nos termos do especialista do domínio de aplicação Linguagem natural, Notações gráficas ad-hoc Nível semi-formal: Notação textual estruturada padrão (XML) Notação gráfica padrão (UML) Validação com especialista Nível formal: Notação sem ambigüidade com semântica formalmente definida Verificação de consistência Nível da implementação: Codificação em uma linguagem de programação Teste de protótipo Entrevistas estruturadas com especialista Preparação de dados Ontologias Linguagens semi-formais de representação do conhecimento Linguagens formais de representação do conhecimento Aprendizagem de Máquina Compiladores Máquinas de inferências Aprendizagem de Máquina

26 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 O conhecimento pode originar-se de várias fontes: especialistas, livros e documentos, filmes, etc.

27 Aquisição do Conhecimento Abordagens... Abordagem de Transferência O conhecimento já está “pronto”, só precisa ser coletado E o conhecimento empírico do especialista? Veremos as dificuldades na aquisição de conhecimento... A máquina objetiva resolver o problema como o especialista faria

28 Aquisição do Conhecimento Abordagens... Abordagem de Modelagem Modelo => aproximação da realidade Construção de modelos de solução Processo interativo de modelagem e reuso de conhecimento  via ontologias Utilização de aquisição automática de conhecimento A máquina deve resolver o problema tão bem quanto o especialista

29 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” não sabem tudo! têm dificuldade de verbalizar sob pressão usam vocabulário próprio (jargão)

30 Gargalo na Aquisição do Conhecimento Dificuldade de introspecção O especialista quase nunca está ciente de como usa o conhecimento que possui  Pode não saber porque escolheu uma estratégia Algumas soluções são intuitivas ou “compiladas” O conhecimento expresso pode ser incompleto O especialista pode não lembrar em detalhes qual o conhecimento utilizado para resolver um problema O especialista pode pular pontos importantes

31 Gargalo na Aquisição de conhecimento O conhecimento expresso pode ser incorreto ou inconsistente Afinal, quem garante a qualidade da solução, já que ela é “coisa de especialista”? O conhecimento expresso pode ser irrelevante quantidades enormes de informações são coletadas, para serem organizadas ou desprezadas... desafio:  evitar informação irrelevante sem bloquear a descoberta de conceitos importantes

32 Como minimizar o gargalo da Aquisição? Automatização! Métodos de aquisição Três categorias  Manual  Semi-automático  Automático

33 Método de Aquisição Manual Entrevistas estruturadas ou não estruturadas Tracking methods análise de protocolos e observação especialista Base de conhecimento Engenheiro de conhecimento documentação codificação explicitação

34 Aquisição Manual Problemas: Toma muito tempo Requer a presença do especialista Difícil de gerenciar Existem conhecimentos de vários tipos  teórico, procedural, etc. Quando usar? identificação do conhecimento: brainstorming, entrevistas não estruturadas especificação do conhecimento: self report refino do conhecimento: entrevista estruturada

35 Métodos de Aquisição Semi- automática Baseado em ferramentas de Ajuda ao especialista  grid repertory analysis Ajuda ao engenheiro de conhecimento  Editores de texto, documentadores, etc. especialistaFerramentas interativas de entrevista Base de conhecimento Engenheiro de conhecimento

36 Métodos de Aquisição Automática Aprendizado de máquina Machine learning Casos e exemplosIndução automáticaRegras

37 Metodologia para EC CommonKads

38 CommonKADS Pesquisa colaborativa na União Européia mais de 15 anos Utiliza fórmulas e ontologias para representar o conhecimento Utiliza diagramas baseados em UML Diagrama de classes Diagrama de estados Diagrama de atividades

39 CommonKADS Possui seis modelos Modelo organizacional Modelo de tarefas Modelo de agentes Modelos de “expertises” Modelos de comunicação Modelo de projeto

40 CommonKADS: Modelos

41 CommonKADS Modelo organizacional Objetiva analisar a organização Modelo de tarefas Descreve as tarefas a serem executadas Distribui as mesmas entre os agentes Modelo de agentes É o executor do modelo de tarefas Descreve as capacidades e características dos agentes

42 CommonKADS Modelo de Comunicação Troca de mensagens Modelo de expertise É o foco da metodologia!!! Três sub-níveis  Conhecimento do domínio: Conceitos, Propriedades, Relações  Conhecimento da inferência  Conhecimento da tarefa Modelo de projeto de base de conhecimento Descreve a arquitetura e o projeto

43 EC hoje... Como está? EC vs ES

44 EC hoje Conta com Metodologias Utiliza (e reutiliza) ontologias em diferentes domínios Dispõe de Ferramentas de Software Parte integrante da área de Gerenciamento de Conhecimento

45 EC x ES Engenharia de software o cliente não é, necessariamente, um especialista o cliente define apenas o quê fazer processamento divido em muitos componentes simples componentes desenvolvidos pelo programador Engenharia do conhecimento o cliente é um especialista o especialista define também como fazê-lo processamento divido em poucos componentes complexos componentes geralmente reutilizados (bibliotecas)

46 A seguir... Sistemas Especialistas!