Engenharia de Conhecimento
Fred Freitas
CIn - UFPE
Fred Freitas - [email protected]
1
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 - [email protected]
2
Etapas da Engenharia do
Conhecimento
Nível de
Conhecimento
Nível Lógico
Nível de
Implementação
AQUISIÇÃO
FORMALIZAÇÃO
linguagem natural
linguagem de
representação de
conhecimento
linguagens de
programação
IMPLEMENTAÇÃO
BC
REFINAMENTO
Fred Freitas - [email protected]
3
Aquisição de Conhecimento
Fred Freitas - [email protected]
4
Ciclo de Desenvolvimento de um
Sistema Especialista
Inicialização
Definição do
Problema,
Requisitos
Análise
Fechamento da
Base de
Conhecimento e
dos módulos,
Testes,
Validação pelos
Avaliação
usuários,
Aquisição
de
Projeto,
Identificação Conhecimento,
Desenvolvidas fontes de
mento
conhecimento
o Gargalo
!
Prototipagem
Definição e
Representação do
Conhecimento,
Protótipos, Módulos,
Interface, Testes
Fred Freitas - [email protected]
Treinamento,
Documentação Operação,
Upgrades,
Avaliação
Implemenperiodica
tação
Manutenção
5
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 - [email protected]
6
Métodos Manuais de Aquisição
especialista
Engenheiro de codificação
Base de
conhecimento
conhecimento
documentaçã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
Fred Freitas - [email protected]
7
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 - [email protected]
8
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 - [email protected]
9
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 - [email protected]
10
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 - [email protected]
11
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 - [email protected]
12
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 - [email protected]
13
Métodos Semi-automáticos de
Aquisição
especialista
Ferramentas de apoio
Base de
conhecimento
Engenheiro de conhecimento
• 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)
Fred Freitas - [email protected]
14
Métodos Automáticos de Aquisição
Casos e exemplos
Indução automática
Regras
• 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, ...
Fred Freitas - [email protected]
15
Engenharia de ontologias
Fred Freitas - [email protected]
16
Princípios de construção
•
•
•
•
•
•
Clareza
Legibilidade
Coerência
Extensibilidade
Mínima codificação
Mínimo compromisso ontológico
Fred Freitas - [email protected]
17
Ontologia Ciência
[Freitas 2001]
• 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
Fred Freitas - [email protected]
18
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 - [email protected]
19
O uso e a engenharia de ontologias
estão atrelados...
Knowledge
Meta-process
Design, Implementation,
Evolution of the Ontology
Knowledge Process
Use of the Ontology
Fred Freitas - [email protected]
20
Metaprocesso de construção
Reverse
Portals & Portal
Generation
Use
Crawling /
Syndication
Create
Ontobroker
Semantic
Miner
Ont-O-Mat
Find
Capture
Organize
Fred
Freitas - [email protected]
Ont-O-Mat
21
Metodologias de desenvolvimento
[Gómez-Perez 99]
• 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 comFred
ontologias
existentes
Freitas - [email protected]
22
Metodologias de desenvolvimento (cont.)
Desenvolvimento
Especificação
Conceitualização
Implementação
Aquisição
Suporte
Avaliação
Documentação
Integração
Fred Freitas - [email protected]
23
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 - [email protected]
24
Conceitualização
[Noy 97]
• 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íveisFred Freitas - [email protected]
25
Especificação
Fred Freitas - [email protected]
26
© York Sure
Fontes de Conhecimento
Fred Freitas - [email protected]
27
© York Sure
Questões de Competência
Fred Freitas - [email protected]
28
© York Sure
Rastreamento
Fred Freitas - [email protected]
29
© York Sure
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 - [email protected]
30
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 - [email protected]
31
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 - [email protected]
32
Ontology Engineering: OTK Methodology
(EU Project: On-To-Knowledge)
[Studer & Volz 2003]
Applications
Fred Freitas - [email protected]
33
Tool Support for Methodology
OntoEdit
KAON
Ontology
Evolution
Applications
OntoMat-Annotizer
Fred Freitas - [email protected]
34
Ontology Evolution Process
How to discover a change?
How to resolve a change?
How to ensure the consistency?
Discovery
Representation
Semantics
of change
Implementation
Propagation
Validation
Core component
Refinement
requirement
Functional & Guidance
requirement
Fred Freitas - [email protected]
Refinement
requirement
35
Evolution Strategies
Required
change
Semantics
of change
Required and
derived changes
An evolution strategy
unambiguously defines the way
how changes will be resolved
Evolution strategy
X
delete
reconnect
to the root
Fred Freitas - [email protected]
reconnect
to the parent
36
Revendo os passos rapidamente...
Fred Freitas - [email protected]
37
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ões
West é criminoso?
Fred Freitas - [email protected]
38
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 - [email protected]
39
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 - [email protected]
40
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 - [email protected]
41
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
(5) etc...
Fred Freitas - [email protected]
42
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)) . . .
Fred Freitas - [email protected]
43
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 - [email protected]
44
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!
Fred Freitas - [email protected]
45
Download

Engenharia de ontologias