Post on 19-Apr-2015
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!