1
Engenharia do Conhecimento
Conceitos básicos
Etapas de desenvolvimento de Sistemas Baseados em
Conhecimento
Aquisição de Conhecimento
Exemplo de construção de base de conhecimento
Ontologias e reuso de conhecimento
Metodologias de aquisição de conhecimento e de
construção de ontologias
CIn- UFPE
2
Desenvolver software inteligente
Projeto:
• Modelar tarefa em termos de ambiente, percepções, ações,
objetivos e utilidade
• Identificar o tipo (complexidade) de ambiente
• Identificar a arquitetura de agente adequada ao ambiente e
tarefa
Implementação
• Escolher um formalismo de representação do conhecimento
• Implementar base de conhecimento do gerador e o simulador
de ambientes
• Implementar base de conhecimento de cada componente do
agente (vários tipos de conhecimento)
• Testar o desempenho com diferentes instâncias do ambiente
CIn- UFPE
3
Engenharia do Conhecimento
Estuda como construir Sistemas Baseados em
Conhecimento (SBC)
• Base de Conhecimento
• Máquina de Inferência
Engenheiro de conhecimento
• Guia a Aquisição do conhecimento sobre o domínio
escolhido e determina quais conceitos são importantes
• Cria a Base de Conhecimento
– representações dos conceitos (fatos e regras) em alguma
linguagem de Representação do Conhecimento
• É responsável pela Implementação e pelo
Refinamento do SBC
CIn- UFPE
Engenharia do Conhecimento:
4
Etapas de Construção dos SBC
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
CIn- UFPE
Engenharia do Conhecimento:
5
Etapas de Construção dos SBC
Vimos um pouco de
• Implementação: Regras de produção e Prolog
• Formalização: Lógica de Primeira Ordem
Resta-nos ver então as fases de
• Aquisição e Organização do conhecimento do domínio
escolhido
CIn- UFPE
6
Aquisição de Conhecimento
Aquisição/Explicitação de conhecimento
• Espécie de Engenharia de Requisitos mais complexa
Principais fases da Aquisição:
• identificar características do problema
• isolar os conceitos principais e suas relações (ontologia)
• identificar inferências sobre estes conceitos
Conhecimento pode originar-se de várias fontes:
• Entrevistas com especialistas, livros e documentos,
filmes, etc.
CIn- UFPE
7
Aquisição:
Gargalo na construção de SBCs
Dificuldade de introspecção
• O especialista quase nunca está ciente de como usa o
conhecimento e tem dificuldade de verbalizar sob pressão
• Algumas soluções são intuitivas ou “compiladas”.
Uso de vocabulário próprio (jargão)
O conhecimento expresso pode ser irrelevante
• quantidades enormes de informações supérfluas são
coletadas, para em seguida serem organizadas.
O conhecimento expresso pode ser incompleto,
incorreto ou inconsistente
Métodos de aquisição - 3 categorias:
• Manual, Semi-automático e Automático
CIn- UFPE
8
Aquisição Manual
Entrevistas
• estruturadas ou não estruturadas
Tracking methods
• Observação e análise do domínio, leitura de documentos, etc.
especialista
Engenheiro de codificação
Base de
conhecimento
conhecimento
documentação
CIn- UFPE
9
Aquisição Semi-automática
Ajuda ao engenheiro de conhecimento (editores,
documentadores, etc.)
Ajuda ao especialista (grid repertory analysis)
especialista
Ferramentas interativas
de entrevista
Base de
conhecimento
Engenheiro de conhecimento
CIn- UFPE
10
Aquisição Automática
Aprendizagem de Máquina (Machine Learning)
• Algoritmos de aprendizagem automática “induzem”as
regras a partir de exemplos do domínio.
• Aqui não há aquisição por parte do Engenheiro de
Conhecimento.
Casos e exemplos
Indução automática
Regras
CIn- UFPE
11
Construindo Bases de Conhecimento
Toda BC tem dois “consumidores”:
• usuários
• procedimentos de inferência
Uma BC deve:
• ser clara e correta
• representar apenas objetos e relações relevantes
• idealmente, ser codificada separada do procedimento
de inferência (modularidade, reusabilidade)
• melhorar a eficiência do processo de inferência
O processo de inferência deve fornecer a mesma
resposta, independente de como a base foi
codificada
CIn- UFPE
12
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)
5) Proponha questões para o procedimento de
inferência e obtenha respostas
West é criminoso?
CIn- UFPE
13
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
CIn- UFPE
14
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.
CIn- UFPE
15
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))
CIn- UFPE
16
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...
CIn- UFPE
17
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)) . . .
CIn- UFPE
18
Proponha questões ao Procedimento
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)
CIn- UFPE
19
O que é uma ontologia?
Definição: especificação (semi-)formal explícita de uma
concepção compartilhada
• Concepção: modelo das entidades, relações, axiomas e
regras de algum domínio
• Formal:
– processável por máquina
– permitindo raciocínio automático
– com semântica lógica formal
• Compartilhada: por uma comunidade, permitindo
entendimento
Conceitos de computação relacionados:
• Base de conhecimento reutilizável
• Esquema de banco de dados
CIn- UFPE
20
Elementos de uma ontologia
Hierarquia de conceitos:
• entidades
– cada entidade definida por conjunto de pares atributo-valor
– correspondem:
– as classes dos modelos orientado a objetos
– as entidades do modelo relacional
– aos termos do modelo lógico
– atributos propriedades x atributos relações
– preenchidos por valores atômicas (tipos primitivos) x por outros
conceitos
– Status epistemológico do valor
– Exatamente conhecida, default, probabilista
• relações
– sem hierarquia x em hierarquia paralela a hierarquia de
entidades
– correspondem:
– associações, agregações e atributos dos modelos OO cujos valores
são objetos
– as relações do modelo relacional
– aos predicados do modelo lógico
CIn- UFPE
21
Elementos de uma ontologia
Restrições:
• sobre valores possíveis dos atributos do conceitos
• correspondem:
– as assinaturas de classes em modelos OO
– as axiomas universalmente quantificados em modelos lógicos
– as restrições de integridade nos esquema de BD
Regras dedutivas:
• sobre atributos de (conjunto de) conceitos
• permitem inferência automática da existência de instâncias de
conceitos a partir da existência de outras instâncias
• correspondem:
– as regras dos sistemas especialistas e programação em lógica
– aos métodos dos modelos OO
– as visões em BD
CIn- UFPE
22
Elementos de uma ontologia
Instâncias de conceitos:
• definição de entidade e relações específicos (indivíduos)
• correspondem:
– aos fatos de sistemas especialistas e programação em lógica
– aos objetos dos modelos OO
– aos dados dos BD
Estratégias de resolução de problemas (PSM)
• Métodos abstratos para resolver determinadas classes de
problemas
• correspondem:
–
–
–
–
abstrações de rotinas de máquina de inferência
design patterns para raciocínio automático
meta-dados descrevendo classes de procedimentos
ex, generate and test,
CIn- UFPE
Exemplo de
Estratégia de Resolução de Problema
23
Estratégia de classificação heurística
abstrações de
observações
casamento
heurístico
abstrações de
soluções
abstrair
refinar
observações
soluções
CIn- UFPE
Serviços suportados por uma
ontologia
24
Consultas e manipulação:
• correspondem:
– métodos de acesso a valor e de reflexão em linguagens OO
– consultas de interrogação e manipulação em BD
– ask, tell e retract das bases de conhecimento
• sobre conceitos:
– Quais são as entidades E relacionadas a entidade e0 via
relações r1, r2?
– Quais são as relações R mais gerais que r1?
– Definição d de entidade E é consistente com o resto da
ontologia?
• sobre instâncias
– um indivíduo I com propriedades P1, ..., Pn é instância de quais
conceitos?
Raciocínio automático
• geralmente dedutivo
CIn- UFPE
Origem e motivação para ontologias
Sistemas
Especialistas
desde 80
Gerenciamento
do Conhecimento
em Organizações
desde 90
Psicologia
Cognitiva
desde 60
Filosofia
desde 350 A.C.
25
Integração
de Dados
desde 95
Engenharia
de Software:
requisitos e reuso
desde 90
Ontologias
Lingüística
desde 60
Processamento
de Linguagem
Natural
desde 80
Sistemas
Multi-agentes
desde 95
Recuperação
de Informação
na Web
desde 00
CIn- UFPE
26
Tipologia das ontologias
Especialista: modela um domínio particular restrito
Geral:
• modela o conhecimento de senso comum compartilhado por
todos os seres humanos
• parte de mais alto nível, reutilizável em vários domínios
Conceitual: fundamentada na capacidade de raciocinar
Lingüística: fundamenta no vocabulário de uma(s) língua(s)
De meta-dados: “especializada” na descrição de recursos
on-line, no entanto sobre qualquer domínio
De tarefas e métodos: modela procedimentos e
comportamentos abstratos no lugar de entidades ou
relações
CIn- UFPE
Sub-problemas de modelagem de uma
ontologia geral
27
Categorias e conjuntos
Medidas
Objetos compostos
Tempo
Espaço
Mudanças
Eventos e processos
Objetos físicos
Substâncias
Objetos mentais e crênças
CIn- UFPE
28
Anything
AbstractObjects
Events
Sets
Numbers
RepresentationalObjects
Intervals
Categories
Places
PhysicalObjects
Stuff
Things
Sentences
Measurements
Processes
Moments
Animals
Agents
Solid
Liquid
Gas
Humans
CIn- UFPE
29
Ontologias Genéricas: Categorias
Também chamadas de classes, relações, tipos ...
• conjuntos de objetos com propriedades comuns
• organiza e simplifica a base de conhecimento.
Exemplos de simplificação:
• comprar(Maçã123) x comprar(Maçã) - classe-instância
• Todo mamífero bebe leite - herança
Taxonomia:
• tipo particular de ontologia:
– relações hierárquicas entre classe e sub-classes em
forma de árvores
• propriedades discriminantes
– ex. biologia sistemática
CIn- UFPE
30
Relações entre Categorias
Disjunção: não há interseção entre as categorias
"s Disjunção(s)
("c1,c2 c1 s c2 s c1 c2 c1 c2 = f)
ex. Disjunção({Animais, Vegetais})
Decomposição exaustiva
"s,c DecomposiçãoExaustiva(s,c)
("i. i c $c2 c2 s i c2)
ex. DecomposiçãoExaustiva({Americano, Canadense,
Mexicano}, Norte-Americano)
Partição: decomposição exaustiva disjunta
"s,c Partição(s,c) Disjunção(s)
DecomposiçãoExaustiva(s,c)
ex.. Partição(({macho, fêmea}), animal)
CIn- UFPE
31
Ontologias Genéricas:
também podem representar
Medidas
• Valores atribuídos às propriedades dos objetos do
mundo real: peso, comprimento, altura, etc...
Objetos compostos
• formados por partes que também são objetos: relação
“parte-de”.
Mudanças com eventos
• Cálculo de eventos: um fato é verdade em um intervalo
de tempo.
CIn- UFPE
32
Medidas
Valores atribuídos aos objetos do mundo real:
servem para descrever objetos
• ex. peso, comprimento, altura, diâmetro, ...
Medidas quantitativas são fáceis de representar
• ex. Tamanho(L1) = Polegadas(1,5) = Centímetros (3,81)
Medidas qualitativas são mais complicadas
• ex. beleza de um poema, dificuldade de um exercício
• O importante é ordenar
"e1, e2 e1 Exercícios e2 Exercícios Elabora(João,e1)
Elabora(Pedro,e2) Dificuldade(e1) < Dificuldade(e2)
CIn- UFPE
33
Objetos Compostos
Objetos formados por partes que também são
objetos
• São caracterizados pela estrutura dos objetos que os
compõem
• ex. massa de um carro é a soma das massas de suas
partes(carroceria, motor, pneu, ...)
Para representá-los, usamos a relação ParteDe
• e.g., ParteDe(motor, Carro), ParteDe(pneu, Carro)
Exemplo:
"a Bipede(a)
$ l1, l2, b Perna(l1) Perna(l2) Corpo(b)
ParteDe(l1,a) ParteDe(l2,a)ParteDe(b,a)
Ligado(l1,b) Ligado(l2,b) l1 l2
" l3 Perna(l3) ParteDe(l3,a) (l3 = l1 l3 = l2)
CIn- UFPE
34
Objetos Compostos
ParteDe também serve para descrever estrutura de
eventos: Script ou Schema
• ex. comer no restaurante
Quando se está interessado apenas nas
características do conjunto: BunchOf
• ex. peso do saco de Maçãs
• BunchOf(Maçãs) define um objeto composto formado
pelas Maçãs do saco.
CIn- UFPE
35
Representando Mudanças com Eventos
Cálculo de situações:
• adequado quando temos um único agente realizando ações
discretas e instantâneas (uma ação por situação).
• inadequado quando:
– existem vários agentes no mundo.
– o mundo pode mudar espontaneamente.
– mudanças ocorrem continuamente.
Cálculo de eventos: versão contínua do calculo de
situações
• No cálculo de situações, um fato é verdade em uma
situação
• No cálculo de eventos, uma coisa é verdade num intervalo
de tempo
– ex. SubEvento(BatalhaDaNormandia,SegundaGuerraMundial)
SubEvento(SegundaGuerraMundial, SéculoXX)
CIn- UFPE
Representando Mudanças com
Eventos
36
CIn- UFPE
37
Tempos, Intervalos e Ações
Meet(i,j)
Before(i,j)
After(j,i)
i
j
i
j
i
During(i,j)
Overlap(i,j)
j
i
j
CIn- UFPE
38
Cálculo de Eventos: Exemplos
Se duas pessoas ficaram noivas, então em algum
intervalo no futuro elas irão se casar ou acabar o
noivado:
"x,y,i0 T(Noivado(x,y),i0)
$i1 (Encontra(i0,i1) Depois(i1,i0))
T(Casamento(x,y) FimNoivado(x,y), i1)
A segunda guerra de Canudos ocorreu na Bahia
no século XIX
$g g Guerras SubEvento(g,SéculoXIX)
ParteDe(Localização(g),Bahia)
CIn- UFPE
Problemática geral e questões
sobre ontologias
39
Divisão:
• como delimito as classes e os atributos?
• quais são as distinções que trazem valor agregado?
Escopo:
• qual conhecimento incluir?
• qual a fronteira do meu domínio?
Granularidade:
• até que nível de detalhe modelar os domínio?
• problema da ramificação?
Validação:
• como avalio a qualidade do modelo?
• como escolho entre várias modelagem alternativas (as vezes
propostas por pessoas diferentes)?]
• como identificar aspectos importantes que estão faltando?
CIn- UFPE
Problemática geral e questões
sobre ontologias
40
Muito difícil responder a essas perguntas porque:
• Almejados reuso e relativa independência de aplicação
impedem ser guiado completamente pelos requisitos de
uma aplicação restrita
• Para ontologias gerais de senso comum pior devido a
imensidão em largura e profundidade do conhecimento
a modelar
Metodologias ainda incipientes
• Methontology:
• Sensus: http://www.isi.edu/naturallanguage/resources/sensus.html
No entanto, já existe tentativa de padronização:
http://suo.ieee.org/
CIn- UFPE
41
CommonKADS
Pesquisa colaborativa na União Européia (+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
Possui seis modelos
•
•
•
•
•
•
Modelo organizacional
Modelo de tarefas
Modelo de agentes
Modelos de “expertises”
Modelos de comunicação
Modelo de projeto
CIn- UFPE
42
CommonKADS: Modelos
CIn- UFPE
43
CommonKADS
Modelo organizacional: 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
Modelo de Comunicação: Troca de mensagens
Modelo de expertise: É o foco da metodologia
• 3 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
CIn- UFPE