Fred Freitas - [email protected] Engenharia de Conhecimento Fred Freitas CIn - UFPE.

45
Fred Freitas - fred@cin .ufpe.br 1 Engenharia de Conhecimento Fred Freitas CIn - UFPE

Transcript of Fred Freitas - [email protected] Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Page 1: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 1

Engenharia de

Conhecimento

Fred FreitasCIn - UFPE

Page 2: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 2

Como construir SBCs??

• Sabemos como funcionam– Regras de produção ou programação em lógica

• ... O que possuem– Motor de inferência

• Mas não sabemos de métodos para– Adquirir o conhecimento

• Do domínio => como construir ontologias• Das tarefas => como construir uma boa base de

regras

• Item importante– Reuso => em especial para ontologias

Page 3: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 3

Etapas da Engenharia do Conhecimento

Nível de Conhecimento

Nível Lógico

Nível de Implementação

BC

AQUISIÇÃO

FORMALIZAÇÃO

IMPLEMENTAÇÃO

REFINAMENTO

linguagem natural

linguagem de representação deconhecimento

linguagens de programação

Page 4: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 4

Aquisição de Conhecimento

Page 5: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 5

Ciclo de Desenvolvimento de um Sistema Especialista

Inicialização

Análise

Prototipagem

Desenvolvi-mento

Implemen-tação

Manutenção

Definição doProblema,Requisitos

Projeto,Identificação das fontes de conhecimento

Definição eRepresentação doConhecimento,Protótipos, Módulos, Interface, Testes

Fechamento daBase deConhecimento e dos módulos,Testes,Avaliação

Validação pelosusuários,Treinamento,Documentação Operação,

Upgrades,Avaliaçãoperiodica

Aquisição deConhecimento,

o Gargalo!

Page 6: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 6

Soluções para os Problemas de Aquisição

• Métodos de aquisição– Manuais– Semi-automáticos– Automáticos

• Sistemas Especialistas de 2ª. geração

Page 7: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 7

Métodos Manuais de Aquisição

• Entrevistas– Desestruturada– Estruturada: agendas, formulários, casos, etc

• Rastreamento cognitivo– Gravações de descrições detalhadas do

especialista• Engenheiro faz regras e valida com o especialista

especialista

Base de conhecimento

Engenheiro de conhecimento

documentação

codificação

explicitação

Page 8: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 8

Entrevistas• método de aquisição de conhecimento mais usado • informação e o conhecimento são recolhidos

através de diversos meios – questionários, anotações, gravações– posteriormente transcritos, analisados e codificados

• normalmente são necessárias várias entrevistas ou sessões de trabalho

• o espaçamento entre as entrevistas deverá permitir:

– que o Engenheiro do Conhecimento possa processar todo o conhecimento adquirido na entrevista anterior

– que o conhecimento adquirido seja representado, codificado e testado por um protótipo do sistema

Page 9: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 9

Entrevistas Desestruturadas

– Pode-se estabelecer uma relação professor/aluno entre o Especialista e o Engenheiro de Conhecimento.

– O Especialista :• faz o acompanhamento de casos• explica o que faz e porque o faz• explicita conceitos, habilidades e estratégias que usa• aconselha a leitura de documentos, bibliografia

– Freqüentemente as descrições dos processos cognitivos do perito parecem incompletas ou desorganizadas

• complexidade do domínio• faltam os relacionamentos dos diversos itens de informação e

conhecimento • falta de treino dos Engenheiros do Conhecimento na condução

das entrevistas

Page 10: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 10

Entrevistas Estruturadas

•processo sistemático orientado a objetivos•a comunicação entre o Engenheiro do Conhecimento e o especialista é previamente organizada

•o Engenheiro do Conhecimento prepara as sessões de aquisição do conhecimento identificando as questões mais relevantes

•uso de formulários, documentos, atas, protocolos, ...

Page 11: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 11

Aquisição de Conhecimento usando Acompanhamento do

Raciocínio • técnica popular na Psicologia Cognitiva na qual

se tenta rastrear o raciocínio do especialista – concluir como ele raciocina

• os métodos podem ser mais ou menos formais– Análise do Protocolo - método formal mais conhecido

– o especialista é solicitado a resolver problemas concretos e a verbalizar o raciocínio que utiliza na resolução desse problema

– fica registado o o processo de tomada de decisão efetuado pelo especialista passo-a-passo

• pode ser efetuada a gravação da sessão • processo essencialmente unilateral, ao

contrário das entrevistas

Page 12: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 12

Aquisição de Conhecimento com observação do especialista

• modo mais natural de efetuar a aquisição • pode ser complexo

– O especialista pode dirigir uma equipe de várias pessoas

– O especialista pode resolver vários problemas simultaneamente 

– Comportamento do especialista pode ser diferente pelo fato de saber que está sendo observado • o conhecimento que se adquire pode não

corresponder exatamente

Page 13: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 13

Aquisição de Conhecimento guiada pelo especialista

• os Engenheiros do Conhecimento costumam não cobrir bem o conhecimento do domínio

• podem surgir problemas na comunicação com o perito

• aquisição de conhecimento pode ser um processo demorado, com várias iterações

• Os especialistas podem agir também como Engenheiros, codificando diretamente o seu conhecimento

– Manualmente: através de relatórios e questionários – Automaticamente: através de uma ferramenta

computacional que ajuda o perito a introduzir o conhecimento e procura detectar falhas nesse mesmo conhecimento (incoerências, ambiguidades, redundâncias, etc).

Page 14: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 14

Métodos Semi-automáticos de Aquisição

• Ferramentas para o engenheiro– Editores, ambientes integrados (ex: Protégé),

ferramentas visuais• Ferramentas para o especialista

– Análise de grades de características (repertory grid analysis)

especialista Ferramentas de apoio Base de conhecimento

Engenheiro de conhecimento

Page 15: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 15

Métodos Automáticos de Aquisição

• Técnicas de Aprendizado Automático – É preciso gerar conhecimento explícito, muitas

vezes em forma de regras! Por isso...– Técnicas simbólicas de aprendizado

• Árvores de Decisão• Espaço de Versões, ...

Casos e exemplos Indução automática Regras

Page 16: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 16

Engenharia de ontologias

Page 17: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 17

Princípios de construção

• Clareza• Legibilidade• Coerência• Extensibilidade• Mínima codificação• Mínimo compromisso ontológico

Page 18: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 18

Ontologia Ciência

• Reusada a partir da ontologia do projeto europeu (KA)2 [Benjamins et al 98] do espelho da Ontolingua na Universidade de Madri

• Refinada em granularidade e engajamento ontológico

• Inclui ontologias auxiliares de tempo, locais e turismo

[Freitas 2001]

Page 19: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 19

Princípios usados

• Clareza e legibilidade – Jargão empregado• Mínimo compromisso ontológico – na classe

Documento Científico, não há restrições desnecessárias para o slot Autores (qualquer subclasse da classe Pessoa inclusive a subclasse Pesquisador)

• Extensibilidade - novas classes puderam ser definidas a partir das já existentes

• Coerência - a relação parte-todo entre artigos de um proceedings, ou entre capítulos de um livro, não estava explicitada

Page 20: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 20

Knowledge Process

Use of the Ontology

Knowledge Meta-process

Design, Implementation, Evolution of the Ontology

O uso e a engenharia de ontologias

estão atrelados...

Page 21: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 21

Use

Find

Create Import

Navigation

Context

ConceptsAttributes,

Rules

Semantic - Syntactic Bridge

Context Rules

Common Language

Capture

Organize

Ont-O-Mat

Reverse

Ont-O-Mat

Semantic Miner

Portals & Portal Generation

Crawling / Syndication

Ontobroker

Metaprocesso de construção

Page 22: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 22

Metodologias de desenvolvimento

• Processo iterativo, com revisões constantes• Nas metodologias propostas, são considerados

passos similares aos de engenharia de software:– Especificação– Conceitualização– Implementação

• Atividades de suporte são executadas concomitantemente com o desenvolvimento– Aquisição– Avaliação– Documentação– Integração com ontologias existentes

[Gómez-Perez 99]

Page 23: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 23

Metodologias de desenvolvimento (cont.)

Desenvolvimento Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Suporte

Desenvolvimento Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Suporte

Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Suporte

Page 24: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 24

Especificação

• Determina o propósito e escopo da ontologia • Deve incluir uma análise para decidir se é

possível, necessário ou adequado o reuso de ontologias

• Sugere-se elaborar uma lista de questões de competência [Uschold & Gruninger 96]– Servirão para a avaliação da ontologia durante o

desenvolvimento – Ex: “Jornais científicos são considerados eventos

científicos?”

Page 25: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 25

Conceitualização

• Fase crítica, nela ocorrem a maior parte das atividades de suporte de aquisição e avaliação

• Passos e dicas:– Enumerar os termos do domínio– Definir as classes - não confundir nomes de um

conceito com o próprio conceito– Definir a hierarquia das classes - passo capcioso– Definir os slots e facetas de cada classe,

interagindo com os dois passos anteriores– Criar as instâncias - Se elas não possuem uma

hierarquia natural, é preciso revisar a hierarquia das classes

– Usar convenções de nomes e nomes facilmente compreensíveis

[Noy 97]

Page 26: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 26

Especificação

© York Sure

Page 27: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 27

Fontes de Conhecimento

© York Sure

Page 28: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 28

Questões de Competência

© York Sure

Page 29: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 29

Rastreamento

© York Sure

Page 30: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 30

Definir a hierarquia das classes

• Observar a clareza e consistência da hierarquia• Evitar subclasses demais pelo uso de classes

intermediárias • Ver se não há poucas subclasses - a informação dos slots

pode tornar-se insuficiente para refletir diferenças entre as instâncias.

• Abordagens para a definição de hierarquias [Uschold & Gruninger 96]:– top-down, classes mais gerais e depois as específicas– bottom-up– middle-out, que começa por classes intermediárias que vão

sendo especializadas (para baixo) e generalizadas (para cima)

Page 31: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 31

Definir os slots e facetas

• Slots intrínsecos – ex: número de pernas• Slots extrínsecos – ex: nome de uma pessoa• Partes de uma classe – ex: partes do corpo:

cabeça, tronco e membros• Relacionamentos - instâncias de outras classes.

– Especificar a classe mais geral possível– EX: a faceta classes-permitidas do slot Participantes

da classe Projeto são instâncias da classe Pesquisadores

• Pesquisadores incluem estudantes de pós-graduação, professores, etc

Page 32: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 32

Implementação e Avaliação

• Objetivo: transformar a ontologia em algo computável

• Na fase de implementação, a ontologia é escrita numa linguagem de representação de conhecimento

• Na fase de avaliação, são executados testes para verificar se a ontologia atende aos requisitos especificados na fase de especificação

• Testes freqüentemente provocam mudanças na implementação

Page 33: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 33

Ontology Engineering: OTK Methodology(EU Project: On-To-Knowledge)

Applications

[Studer & Volz 2003]

Page 34: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 34

Tool Support for Methodology

OntoEdit

OntoMat-Annotizer

KAON

Ontology

Evolution

Applications

Page 35: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 35

Ontology Evolution Process

Semanticsof change

PropagationRepresentation Implementation

Core component

ValidationDiscovery

Refinement requirement

Refinement requirement

Functional & Guidancerequirement

Semanticsof change

Representation Implementation

How to resolve a change?

How to discover a change?

How to ensure the consistency?

Page 36: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 36

Evolution Strategies

Semantics of change

Required change

Required andderived changes

Evolution strategy

An evolution strategy unambiguously defines the way how changes will be resolved

X

reconnect to the parent

reconnect to the rootdelete

Page 37: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 37

Revendo os passos rapidamente...

Page 38: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 38

Engenharia de Conhecimento

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), Vende(West,Arma1,Cuba)

5) Proponha questões para o procedimento de inferência e obtenha respostas ou decisõesWest é criminoso?

Page 39: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 39

Um Exemplo: Circuitos Digitais

• Estabelecer o 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

Page 40: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 40

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

• Tudo isso tem de estar na ontologia!

Page 41: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 41

Decida qual vocabulário usar• Nomear os 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))

Page 42: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 42

Codifique regras genéricas

(1) (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

(5) etc...

Page 43: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 43

Codifique a instância específica

• Portas:

Tipo(X1) = XOR Tipo(X2) = XORTipo(A1) = AND Tipo(A2) = ANDTipo(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)) . . .

Page 44: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 44

Proponha questões ao Procedimento de Inferência

• Que entradas causam Out(1,C1) = Off e Out(2, C1) = On?i1, i2, i3, o1, o2 Sinal(In(1,C1)) = i1 Sinal(In(2,C1)) = i2 Sinal(In(3,C1)) = i3 Sinal(Out(1,C1)) = o1 Sinal(Out(2,C1) = o2.

• Resposta:

(i1 = On i2 = On i3 = Off) (i1 = On i2 = Off i3 = On) (i1 = Off i2 = On i3 = On)

Page 45: Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - [email protected] 45

Proponha questões ao Procedimento de Inferência

• Quais são os conjuntos de valores possíveis para todos os terminais do circuito? 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 é o objetivo do agente!