Introdução às Ontologias
Jacques Robin e Franklin Ramalho
CIn-UFPE
Roteiro
1.
2.
3.
4.
5.
6.
7.
8.
O que é uma ontologia?
Elementos de uma ontologia
Origem e motivação das ontologias
Tipologias das ontologias
Exemplo de ontologia conceitual especialista
Exemplo de ontologia conceitual geral
Exemplo de ontologia lingüística geral
Problemática geral e questões sobre ontologias
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
Formal:
algum domínio
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
Elementos de uma ontologia
Hierarquia de conceitos:
entidades
cada entidade definida por conjunto de pares atributo-valor
correspondem:
atributos propriedades x atributos relações
preenchidos por valores atômicas (tipos primitivos) x por outros conceitos
Status epistemológico do valor
as classes dos modelos orientado a objetos
as entidades do modelo relacional
aos termos do modelo lógico
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
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
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
Serviços suportados por uma ontologia
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
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.
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
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
Exemplo de ontologia especialista:
fragmentos de uma ontologia acadêmica
em UML
Conf erencePaper
inv example1: self .lastPage > self .f irstPage
Publication
inv example2: self .y ear > 1980
Exemplo de ontologia conceitual geral:
fragmentos da ontologia de senso comum
de Russell e Norvig em UML
Anything
AbstractObjects
Events
Sets
Numbers
RepresentationalObjects
Intervals
Categories
Places
PhysicalObjects
Stuff
Things
Sentences
Measurements
Processes
Moments
Animals
Agents
Humans
Solid
Liquid
Gas
Sub-problemas de modelagem de uma
ontologia geral
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
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
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)
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 “partede”.
Mudanças com eventos
Cálculo de eventos: um fato é verdade em um intervalo de
tempo.
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)
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)
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.
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)
Representando Mudanças com Eventos
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
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)
Exemplo de ontologia lingüística geral:
fragmentos de WordNet em UML
Wordnet
• Princeton WordNet:
• redes semântica de 70100 significados
• de 95600 palavras (57000 substantivos) do inglês
• organizados em 4 categorias sintática: substantivos, verbos,
adjetivos e advérbios,
• são agrupados em conjuntos de sinônimos
• disponível online: http://www.cogsci.princeton.edu/~wn/
• resulta de 15 anos de desenvolvimento manual por time de
psico-lingüistas
• EuroWordNet: http://www.hum.uva.nl/~ewn/
• Resultado de um grande projeto da comunidade européia
• Versão multi-língua adicionando e inter-ligando WordNets do
Espanhol, Francês, Italiano, Alemão, Holandês, Tcheco e
Estoniano ao do Inglês
Wordnet
unit, social unit
Person, individual, someone, human
family, household, menage
relative, relation
Brother, blood brother
Legenda:
sinonímia
body,organic structure
sister, sis
hipernímia
arm
meronímia
leg
antonímia
WordNet Online
Aplicações com o WordNet
Extração e recuperação de informação
Classificação de texto
Ensino de linguagens
Construção de redes semânticas em outras linguagens
(EuroWordnet)
Chatterbots (Geração e interpretação de texto)
Root
State
Location Abstraction
Grouping
Possession
Entity Psychological
Feature
PhysicalObject
LivingThing
Organism
Person
Act
Event
Phenomenon
Problemática geral e questões
sobre ontologias
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?
Problemática geral e questões
sobre ontologias
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/natural-language/resources/sensus.html
No entanto, já existe tentativa de padronização:
http://suo.ieee.org/