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

Post on 19-Apr-2015

121 views 1 download

Transcript of Fred Freitas - fred@cin.ufpe.br1 Engenharia de Conhecimento Fred Freitas CIn - UFPE.

Fred Freitas - fred@cin.ufpe.br 1

Engenharia de

Conhecimento

Fred FreitasCIn - UFPE

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 4

Aquisição de Conhecimento

Fred Freitas - fred@cin.ufpe.br 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!

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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, ...

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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).

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 16

Engenharia de ontologias

Fred Freitas - fred@cin.ufpe.br 17

Princípios de construção

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

Fred Freitas - fred@cin.ufpe.br 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]

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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...

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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]

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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?”

Fred Freitas - fred@cin.ufpe.br 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]

Fred Freitas - fred@cin.ufpe.br 26

Especificação

© York Sure

Fred Freitas - fred@cin.ufpe.br 27

Fontes de Conhecimento

© York Sure

Fred Freitas - fred@cin.ufpe.br 28

Questões de Competência

© York Sure

Fred Freitas - fred@cin.ufpe.br 29

Rastreamento

© York Sure

Fred Freitas - fred@cin.ufpe.br 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)

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 33

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

Applications

[Studer & Volz 2003]

Fred Freitas - fred@cin.ufpe.br 34

Tool Support for Methodology

OntoEdit

OntoMat-Annotizer

KAON

Ontology

Evolution

Applications

Fred Freitas - fred@cin.ufpe.br 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?

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 37

Revendo os passos rapidamente...

Fred Freitas - fred@cin.ufpe.br 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?

Fred Freitas - fred@cin.ufpe.br 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

Fred Freitas - fred@cin.ufpe.br 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!

Fred Freitas - fred@cin.ufpe.br 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))

Fred Freitas - fred@cin.ufpe.br 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...

Fred Freitas - fred@cin.ufpe.br 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)) . . .

Fred Freitas - fred@cin.ufpe.br 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)

Fred Freitas - fred@cin.ufpe.br 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!