Ontologias: Introdução
Karin Breitman – PUC-Rio
Referências
• Ontology Design Patterns and Problems:
Practical Ontology Engineering using Protege-OWL - Alan Rector, Natasha Noy, Holger
Knublauch, Guus Schreiber, Mark Musen
• John Sowa Web Pages – John Sowa
• My Experience in Building Ontology-driven Applications - Harry Chen, eBiquity
Group Meeting, February 9, 2004
• Foundations of the Semantic Web: Ontology Engineering – Alan Rector et al – CS646
• Ontology Development 101 – Noy, N.; McGuiness, D. – A guide to creating your first
ontology – KSL Technical Report, Standford University, 2001
• Ontological Engineering - Gómez-Pérez, A.; Fernadéz-Peréz, M.; Corcho, O. -Springer
Verlag - 2004.
Software Engineering Lab (LES) – PUC-Rio
2
Ontologia
•
•
•
•
Estudo do que existe – being
Platão – metafísica
Aristóteles - 10 categorias
Ontologia: século XVII
Onto (o que existe) + Logos (conhecimento sobre)
Software Engineering Lab (LES) – PUC-Rio
3
Categorias de Aristóteles
Substância
Qualidade
Quantidade
Um gato
Relação
Onde
O gato tem metade do tamanho de um....
Quando
Posição
Possuir
O gato saiu ontem
Ação
Sentimento
O gato está correndo
Software Engineering Lab (LES) – PUC-Rio
O gato é preto
O gato tem 50cm de comprimento
O gato está em casa
O gato está sentado
O gato tem um rato
O gato quer leite.
4
Árvore de Porfírio
Software Engineering Lab (LES) – PUC-Rio
5
Propósito
• Uma ontologia define:
– Vocabulário Compartilhado
– Entendimento Comum
Software Engineering Lab (LES) – PUC-Rio
6
Ontologia x ontologia
[Guarino98]
• Filosofia
– Disciplina
Ontologia
• Ciência da Computação
– Artefato
Software Engineering Lab (LES) – PUC-Rio
ontologia (o minúsculo)
7
Ontologia = Modelo Conceitual
Mundo Real
Mundo
Computacional
Gap Semântico
Software Engineering Lab (LES) – PUC-Rio
8
Modelos
• Modelo: abstração da realidade, enfatizando características
específicas.
– representar uma visão do ambiente
– representar as partes do todo
– permitir a abordagem gradual da complexidade (do mais abstrato
para o mais detalhado)
– úteis na organização das informações
• Em geral, um único modelo não é suficiente para representar
todas as características de em sistema
• Vários tipos de modelo no desenvolvimento de software:
UML, ER, Esquemas de BD
Software Engineering Lab (LES) – PUC-Rio
9
Modelos Quantitativos
Servem para: Medir o Mundo
• Precisão (3m, 76mm, 3.896m3, 12V, 30 minutos)
• Estatísticos
• Permitem análise automatizada
Exemplos:
Voltagem de entrada, tamanho do fêmur do bebê,
tempo de cozimento, vida útil do componente)
Ref: Rector et al
Software Engineering Lab (LES) – PUC-Rio
10
Modelos Qualitativos
Servem para: Descrever o Mundo:
• Pouca precisão
• Ambíguos
• Análise automatizada nos primórdios
Exemplos
Quais são os legumes saudáveis?, Melhores filmes do
ano, Quais ruas tem menos trânsito?
ONTOLOGIAS
Ref: Rector et al
Software Engineering Lab (LES) – PUC-Rio
11
Desenvolvimento de Ontologias
• Em geral é mais difícil desenvolver uma ontologia
do que desenvolver software:
– Não existem boas métricas de avaliação de ontologias
– Um programa é bom se roda, uma ontologia é boa se
funciona com um progarama rodando.
• Em geral se escreve um programa DEPOIS de desenvolver a
ontologia
• Ovo-Galinha
Software Engineering Lab (LES) – PUC-Rio
Ref: Harry Chen
12
Ontologias X Modelos OO
• Ontologias
– Reflete a estrutura do Mundo
Real
– Foco: estrutura dos conceitos
– A representação física de fato
não é importante
Software Engineering Lab (LES) – PUC-Rio
• Modelos Orientados a
Objetos
– Refletem a estrutura dos
dados e do código
– Foco: comportamento
(métodos)
– Descrevem a representação
física dos dados (long int,
char, etc...)
Ref: Noy
13
Web Semântica
• A maior parte dos recursos primários estão em
linguagem natural, compreensíveis para humanos.
Software Engineering Lab (LES) – PUC-Rio
14
Web Semântica
• Web Semântica
• “A Web Semântica é uma EXTENSÃO da web atual
na qual é dado a informação um SIGNIFICADO bem
definido, permitindo com que computadores e
pessoas trabalhem em cooperação.” Berners-Lee,
Hendler e Lassila
• "The Semantic Web is an extension of the current
web in which information is given well-defined
meaning, better enabling computers and people to
work in cooperation."
Software Engineering Lab (LES) – PUC-Rio
15
Como humanos enxergam esta página
Software Engineering Lab (LES) – PUC-Rio
16
Como o computador enxerga esta página
Software Engineering Lab (LES) – PUC-Rio
17
A Web de hoje
• 8 bilhões de páginas
– Mecanismos de busca: Yahoo, Google, AltaVista...
– Nenhum mecanismo para “interpretar” o resultado das
buscas.
Software Engineering Lab (LES) – PUC-Rio
18
Cenário: busca pela palavra “morango”
•
Did you mean: morongo
•
:: Morango :: - "As fotos aqui veiculadas, bem como os textos, frames, sinais distintivos,
logotipo e marca são de propriedade do site Morango.com.br. ...
•
:: Morango -... Divirta-se! "As fotos aqui veiculadas, bem como os textos, frames, sinais distintivos,
logotipo e marca são de propriedade do site Morango.com.br. ...
•
deviantART: morango
~morango. Joana Vieira. is an Antagonist; is Female; is a deviant since Aug
8, 2002, 2:02 PM; has 9,972 pageviews; is located in Portugal; ...
500kv k'pow!
•
STRABERRY Morango
MORANGO - fruto produzido por erva rasteira, Fragancia vesca, originária
da Europa, possui inúmeras variedades naturais e híbridas. ...
•
California Casino Morango
California Casino Morango ( Casino ). Casino Shop for Casino from 600+ merchants
with one cart. Hundreds of trusted merchants. Thousands of popular brands. ...
•
vof Morango - smakelijke aardbeien, vers, vertrouwd en ...
vers. aardbeien zijn het lekkerst als ze vers zijn. van eind april tot in november
plukken wij ze dagelijks voor u. vertrouwd. van aardbeien ...
•
Batida Morango recipe
A delicious recipe for Batida Morango, with cachaca, strawberries, granulated sugar
and crushed ice. Also lists similar drink recipes. ... Batida Morango recipe. ...
Software Engineering Lab (LES) – PUC-Rio
19
Web Sintática
• Biblioteca Digital
– Uma biblioteca de documentos chamados páginas (web pages)
interconectados por links
• Base de Dados, plataforma para aplicações
– Portal comum para aplicações acessíveis através de páginas web e que
apresentam resultados utilizando estas mesmas páginas.
• Plataforma multimídia
– Internet Radio, Trailers de filmes, …
• Um esquema de nomeação
– Identidade única para documentos
RESUMO:
Um lugar onde os computadores são responsáveis pela
APRESENTAÇÃO (o fácil) e as pessoas fazem a INTERPRETAÇÃO (o difícil)
Por que não fazer com que os computadores fiquem com a parte mais
pesada do trabalho?
Software Engineering Lab (LES) – PUC-Rio
20
Web Semântica
• Metadados.
• Combinar recursos primários com recursos de
metadados.
• Metadados em formato padronizado podem ser
entendidos por software e pessoas.
Software Engineering Lab (LES) – PUC-Rio
21
Web Semântica - Objetivos
“enriquecer a informação disponível com semântica que pode
ser entendida por máquinas “
“fornecer acesso inteligente a informação heterogênea e
distribuída, permitindo que produtos de software possam
fazer uma intermediação entre as necessidades do usuário e
as fontes de informação disponíveis. “
ontologia
Software Engineering Lab (LES) – PUC-Rio
22
Continuum Semântico
Consenso
Humano
Compartilhado
Descrições
textuais
Implícito
Informal
Formal
Formal
(explícito)
(para
humanos)
(para máquinas)

•
•
•
•
Software Engineering Lab (LES) – PUC-Rio
Semântica
processada por
humanos
Semântica
processada por
máquinas
mais para direita 
Menos ambiguidade
Melhor interoperação
Mais robusto
Mais difícil
[Mike Uschold, Boeing Corp]
23
Definição [Berners-Lee]
“an ontology is a document or file that formally
defines the relationship among terms”
“ontologia é um documento ou arquivo que
formalmente define os relacionamento entre
termos”
• Ontologia = taxonomia + regras de inferência
Software Engineering Lab (LES) – PUC-Rio
24
Definição [Gruber93]
“Uma ontologia é uma especificação formal
explícita de uma conceitualização
compartilhada.”
Conceitualização – modelo abstrato de como as
pessoal pensam
Especificação explícita – os conceitos e
relacionamentos utilizados neste modelo abstrato
são fornecidos através de termos explícitos e bem
definidos [Gruninger02]
Software Engineering Lab (LES) – PUC-Rio
25
Definição [Maedche02]
O : = {C, R, HC, rel, AO} que consiste de:
§ Dois conjuntos disjuntos, C (conceitos/classes) and R (relacionamentos)
§ Uma hierarquia de conceitos, HC: HC é um relacionamento direto HC  C x
C chamado hierarquia de conceitos ou taxonomia. HC (C1,C2) significa C1 é
um sub-conceito de of C2
§ Uma função rel : R  C x C que relaciona os conceitos de modo não
taxonômico
§ Um conjunto de axiomas AO, expressos em uma linguagem lógica
apropriada.
Software Engineering Lab (LES) – PUC-Rio
26
Para que serve uma ontologia?
Noy & McGuiness:
• Compartilhar entendimento comum de uma
estrutura de informação por pessoas ou agentes de
software
• Permitir o reuso de conhecimento de domínio
– Evitar “reinventar a roda”
• Explicitar hipóteses sobre um domínio
• Separar conhecimento de domínio de conhecimento
operacional
• Análise
• Estabelecimento de Regras e Políticas (SWRL)
Software Engineering Lab (LES) – PUC-Rio
27
Para que serve uma ontologia: Busca de Informação
• Utilizar ontologias para reduzir o universo de
opções em buscas na web:
– Ontologias restringem o significado de termos utilizados
em buscas por palavras chave
– Auxiliam na montagem da query
Software Engineering Lab (LES) – PUC-Rio
28
Busca “revisitada”
(sobremesa, fruta, morango)
• liparte - A fruta, Salada - Busca de Ilustrações ClipeArte e... chaves tigela,
alimento, comer para fora, cor, corte papel, frescor, ilustração,
melão, morango, salada de fruta, sobremesa, uva, vermelho, vertical.
• Folha Online - Equilíbrio - Notícias - Festivais gastronômicos ... -... de dois
tipos de fondue salgado, a casa oferece uma sobremesa como cortesia. ... O morango,
fruta da estação, dá o sabor do inverno em Monte Verde, distrito da ...
• Forno... RÁPIDA SOBREMESA REFRESCANTE SOBREMESA REQUINTADA SOBREMESA TROPICAL SORVETE
COM
FRUTA SORVETE CROCANTE ... COM ABACAXI SORVETE DE MORANGO SORVETE FATIADO ...
• Receitas tradicionais dos Açores de Ana Taveira - Gelados... Na hora de servir
serve-se com xarope de morango ou morangos esmagados ... Gelado sobremesa. ...
No fundo de um pyrex coloca-se salada de fruta (banana, ananás e outras ...
• Terra - Especial Culinária Morango com suco e casca de laranja, com vinho tinto e anisestrelado ou com chocolate.
Confira nossas sugestões e transforme essa fruta numa sobremesa ainda
• Saúde Vida On Line - Tabela de calorias -... Flan de baunilha c/ calda de morango
Royal, 1 porção (130g), 136. ... Fruta c/ calda
de chocolate, 2 c. sopa (50g), 90. ... Galak Nestlé sobremesa, Unidade (110g), 181
Software Engineering Lab (LES) – PUC-Rio
29
Porque construir uma ontologia?
• Explicitar significado
• Integrar recursos na Web
interoperabilidade
Software Engineering Lab (LES) – PUC-Rio
30
Onde ontologias estão sendo utilizadas?
• e-Science, e.g., Bioinformática
– Consórcio Open Biomedical Ontologies Consortium (GO, MGED)
– Utilizadas para experiências “in silico” relacionando teoria e dados
• E.g., relacionando dados de fosfatases em modelos de conhecimento
biológicos
• Medicina
– Construção e manutenção de terminologias Snomed, NCI & Galen
• Organização de estrutras complexas e semi-estruturadas
– UN-FAO, NASA, General Motors, Lockheed Martin, …
• Governo/Militares
– DARPA, NIST, SAIC,
• Web Semântica
• Grid Semântico
Software Engineering Lab (LES) – PUC-Rio
31
Ciência da Computação
• O termo ONTOLOGIA foi “emprestado” pela computação para
definir uma descrição explícita dos conceitos de um domínio
–
–
–
–
Conceitos
Propriedades e Atributos
Restrições em propriedades e atributos
Indivíduos *
• Em geral, um único modelo não é suficiente para representar
todas as características de em sistema
• Vários tipos de modelo no desenvolvimento de software:
UML, ER, Esquemas de BD
Ref: Rector et al
Software Engineering Lab (LES) – PUC-Rio
32
Vocabulário
•
•
•
•
“Classe”  “Conceito”  “Categoria”  “Tipo”
“Instância”  “Indivíduo”
“Entidade”  “Objeto”, Classe ou indivíduo
“Propriedade”  “Slot”  “Atributo”  “Papel
(role)”
– Muito cuidado com o termo “role”
• Significa “propriedade” em lógica de descrição
• Significa “papel desempenhado” na maioria das ontologias
– Exemplo: Funcionário, Comprador, Vendedor.
Software Engineering Lab (LES) – PUC-Rio
Ref: Rector CS646
33
Conceitos importantes
Conceito/Classe/Entidade/Categoria
Objetos que possuem um conjunto de características
que nos permitem classificá-los como sendo
membros deste grupo.
Software Engineering Lab (LES) – PUC-Rio
34
Conceitos importantes
Propriedade/Atributo/Role/Slot
Característica
Software Engineering Lab (LES) – PUC-Rio
35
Conceitos importantes
Relacionamento/Restriction
Modo pelo qual duas ou mais classes estão
relacionadas
Software Engineering Lab (LES) – PUC-Rio
36
Conceitos importantes
Generalização X Composição
• A realidade é muito complexa
• Estratégia de Resolução de Problemas:
– Abstração (generalização – especialização)
– Decomposição (parte de)
Software Engineering Lab (LES) – PUC-Rio
37
Exemplo Mapa - endereço
Software Engineering Lab (LES) – PUC-Rio
38
Exemplo Distâncias – escala
Software Engineering Lab (LES) – PUC-Rio
39
Exemplo Foto
Software Engineering Lab (LES) – PUC-Rio
40
Conceitos importantes
Generalização X Composição
• Ortogonalidade:
– Generalização = Tipo de (is a)
– Composição = Parte de (part of)
Software Engineering Lab (LES) – PUC-Rio
41
Decomposição
•
•
•
•
•
Tempos antigos “divide et impera”
Estratégia mais utilizada em Ciência da Computação
Especifica as partes individualmente
Satisfeito? O problema está resolvido?
Constrói as partes individualmente
Se uma das partes ainda é complexa: subdividir
Software Engineering Lab (LES) – PUC-Rio
42
Decomposição
Decompor o problema até:
–
–
–
Cada subproblema esteja no mesmo nível de detalhe
Cada subproblema possa ser resolvido de modo independente
As soluções de cada subproblema possam ser combinadas de modo a
resolver o problema original
• Vantagens:
–
–
–
Pessoas diferentes podem trabalhar nos subproblemas
Paralelização pode ser possível
Manutenção é mais fácil
• Desvantagens
–
–
–
As soluções dos subproblemas podem não combinar de modo a resolver o
problema original
Problemas de difícil compreensão são difíceis de decompor
A estrutura do mundo real NÃO é hierárquica [Jackson]
Software Engineering Lab (LES) – PUC-Rio
43
Exemplo: Decomposição Funcional
função 2
conexão
conexão
Entrada
Saída
função 1
função 4
conexão
conexão
função 3
Software Engineering
Lab (LES)Vanini
– PUC-Rio
Fonte: Fernando
- Unicamp
44
Decomposição II
• Decomposição pode funcionar bem:
– Menu de um restaurante
• . Decomposição nem sempre funciona:
–
Escrever uma peça de teatro
Papel ator1
escrever
papeis
Papel ator2
Papel ator3
Juntar
partes
• Decomposição nem sempre é possível
– Problemas complexos (gerenciar a economia do país)
– Problemas impossíveis (transformar água em vinho)
– Problemas atômicos (somar 1 + 1)
Ref: S. Easterbrook - UofT
Software Engineering Lab (LES) – PUC-Rio
45
Abstração
• Possibilita ignorar detalhes
• Possibilita o mesmo tratamento a entidades
diferentes
• Simplifica vários tipos de análise
• Em ciência da computação
– Abstração é o processo de nomear objetos compostos e
lidar com eles como se fossem entidades únicas
– Tipos Abstratos de Dados
Habilidade FUNDAMENTAL na modelagem de Ontologias !
Software Engineering Lab (LES) – PUC-Rio
46
Generalização
tipo de
Veículo
Aquático
Terrestre
Carro
Software Engineering Lab (LES) – PUC-Rio
Anfíbio
Barco
47
Composição
parte de
Luminária de Teto
1
Base
1
Cúpula
1
1
Interruptor
Fiação
Ontologias não são modeladas através de composição!
Software Engineering Lab (LES) – PUC-Rio
48
Contra exemplo [Welty02]
• Carro & Motor
– Carro – propriedade – acomoda pessoas
– Motor – propriedade – gera força rotacional
• Motor não acomoda pessoas....
não é um tipo de carro.
Software Engineering Lab (LES) – PUC-Rio
49
Exemplo
Espécie
Ser vivo
humanos
Idade
adultos
Sexo
homens
crianças
mulheres
X é uma
subcategoria
de y
Taxonomia dos seres vivos
Software Engineering Lab (LES) – PUC-Rio
50
Prática: Criando um novo projeto
• Abra o Protégé:
• Selecione Create New Project
Software Engineering Lab (LES) – PUC-Rio
51
Criando um novo projeto
• Selecione OWL Files (.owl or .rdf)
• Selecione Finish
Software Engineering Lab (LES) – PUC-Rio
52
Criando uma hierarquia de Classes
• Crie a seguinte hierarquia utilizando os comandos Create Subclass e
Create Sibling Class da janela de Asserted Hierarchy
Software Engineering Lab (LES) – PUC-Rio
53
CamelNotation
• Notação utilizada para uniformizar as ontologias
• Chama-se CamelNotation
– Letra maiúscula para classes – Ingrediente, Animal
– Letra minúscula para propriedades – temPatas,
temCobertura
• Use a convenção que quiser mas…
– SEJA CONSISTENTE!
Software Engineering Lab (LES) – PUC-Rio
Copyright © 2005, The University of Manchester
54
Criando uma hierarquia de Classes
• Crie a seguinte hierarquia de classes:
Artes e Entretenimento
Música, Televisão, Rádios
Economia
Informática, Compras
Saúde
Clínicas, Hospitais
Ciência e Meio Ambiente
Engenharia, Física,
Agropecuária
Mapas e Vistas
Câmeras Online
Notícias
Revistas, Televisão, Rádio
Sociedade e Cultura
Religião.,
Espiritualidade,
Transportes
Aéreas, Rodoviárias,
Viagens e Turismo
Minas Gerais,
Hospedagem,
Software Engineering Lab (LES) – PUC-Rio
Esportes
Futebol, Aquáticos,
Artes Marciais,
55
Mais Exemplos
• Outras taxonomias
– Yahoo! categorias
• Catálogos de compras on-line
– Submarino
– LojasAmericanas.com
– Amazon.com
• Dublin Core (Metadados)
• Ontologias de Topo
– SUO
– Sumo
Software Engineering Lab (LES) – PUC-Rio
56
Estrutura das ontologias
• São todos ontologias ???
• Artefatos com diversos graus de estruturação
–
–
–
–
–
Taxonomias
Tesauros
Metadata Schemes
Ontologias
Lógica
Software Engineering Lab (LES) – PUC-Rio
57
Tipos de ontologia
Software Engineering Lab (LES) – PUC-Rio
Ref: Noy
58
Tipos de Ontologia
• Vocabulários Controlados –
– Lista finita de termos. Um
– Exemplo:NAICS (North American Industry Classification System) de
produtos e serviços
• Glossários –
– Lista de termos com significados em linguagem natural.
– Similar ao de um dicionário - termos são organizados
alfabeticamente,
– Exemplo de glossário: é o NetGlos (The Multilingual Glossary of
Internet Terminology) que reúne terminologia relacionada a recursos
na Internet.
• Tesauros
– lista de termos e suas definições que
– padroniza a utilização de palavras para indexação.
Software Engineering Lab (LES) – PUC-Rio
59
Tipos de ontologia
• Hierarquias tipo-de informais –
– Hierarquias que utilizam o relacionamento de generalização (tipo de)
de maneira informal.
– Exemplo: Yahoo.
– Não respeitam integralmente o relacionamento de generalização:
• “aluguel de carro” e “hotel”, não são “tipos-de-viagem” Hierarquias
tipo-de formais – Hierarquias que incluem instâncias de um domínio.
Nestas hierarquias os relacionamentos de generalização são respeitados
integralmente. Um exemplo é a taxonomia dos seres vivos, ilustrada na
próxima seção.
• Frames
– Representação proposta por Marvin Minsky.
– Primitivas: classes (ou frames)
– É largamente utilizado em modelagem de conhecimento.
Software Engineering Lab (LES) – PUC-Rio
60
Diferenças: Taxonomia e Ontologia
• Taxonomia: “Classificação de entidades de informação no
formato de uma hierarquia, de acordo com relacionamentos
que estabelecem com entidades do mundo real que
representam.”
Michael Daconta
• Servem Para:
– classificar informação em uma
– hierarquia (árvore)
– utilizando APENAS relacionamento pai-filho
(generalização ou “tipo-de”)
Software Engineering Lab (LES) – PUC-Rio
61
Diferenças: Taxonomia e Ontologia
• Generalização: único tipo de relacionamento que
existe entre os termos de uma Taxonomia.
• Não se pode:
– atribuir características ou propriedades aos termos
atributos,
– exprimir outros tipos de relacionamento:
•
•
•
•
parte-de,
causa-efeito,
localização,
Associação..
• Para isto é necessário construir uma ontologia.
Software Engineering Lab (LES) – PUC-Rio
62
Exemplo de Taxonomia
Software Engineering Lab (LES) – PUC-Rio
63
Diferenças: Tesauro e Ontologia
• Tesauro: “um vocabulário controlado organizado segundo uma ordem
conhecida e estruturado de modo a disponibilizar claramente os
relacionamentos de equivalência, associação, hierárquicos e homônimos
existentes entre termos.” ANSI/NISO Monolingual Thesaurus Standard
• Servem para:
– Garantir que conceitos sejam descritos consistentemente
– Permitir com que usuários possam refinar buscas e localizar a
informação que necessitam.
• Contam com uma lista de relacionamentos pré defidos
adicionais (além do de generalização)
–
–
–
–
–
Sinônimo - Similar a, Equivalente,
Homônimo – mesma grafia,
Mais amplo do que – hierarquia, pai de, super classe,
Mais restrito do que - hierarquia – filho de, sub classe,
Associado - relacionado a,
Software Engineering Lab (LES) – PUC-Rio
64
Diferenças: Tesauro e Ontologia
• Relacionamentos Pré Definidos: únicos tipos de
relacionamento que podem existir entre os termos de um
Tesauro
• Muitas vezes é necessário relacionar conceitos utilizando
relacionamentos do tipo parte-de, membro-conjunto, faseprocesso, lugar-região, material-objeto, causa-efeito
• Não se pode:
– exprimir outros tipos de relacionamento além dos pré
definidos:
• Para isto é necessário construir uma ontologia.
Software Engineering Lab (LES) – PUC-Rio
65
Exemplo de Tesauro- WordNet
• Resultado da busca ao termo “tank” (tanque) no WordNet.
Software Engineering Lab (LES) – PUC-Rio
66
Enfoques
• Inteligência artificial – Engenharia do conhecimento
– Esforços voltados ao mapeamento de domínios, criação de grandes
bases de conhecimento para mapear o conhecimento humano
– Construídas por experts
• Web semântica
– Ontologias voltadas para aplicações específicas
– Construídas por engenheiros de software
Software Engineering Lab (LES) – PUC-Rio
67
IA
•
•
•
•
•
•
•
Enfoque top down
Tempos antigos “divide et impera”
Sistema e sub-sistema [von Bertalanffy]
Dijkstra (programming considered a human activity)
Especifica as partes individualmente
Satisfeito? O problema está resolvido?
Constrói as partes individualmente
Se uma das partes ainda é complexa: subdividir
Software Engineering Lab (LES) – PUC-Rio
68
Ontologias enfoque Top-down
• Cyc upper ontology
– Base de conhecimento com 3000 termos (termos mais
gerais da realidade consensual dos humanos)
• WordNet
– Banco de dados léxico para a língua inglesa com mais de
42.000 termos
Software Engineering Lab (LES) – PUC-Rio
69
CYC
Software Engineering Lab (LES) – PUC-Rio
70
Exemplo WordNet
WordNet 1.7.1 Search
Search word:
Results for "Synonyms, ordered by estimated frequency" search of noun
"dessert"
1 sense of dessert
Sense 1
dessert -- (a dish served as the last course of a meal)
=> course -(part of a meal served at one time; "she prepared a three course meal")
Return to overview for dessert
Return to WordNet home
Software Engineering Lab (LES) – PUC-Rio
71
Ontologias de Topo
• Ontology Schemas
– Abstrações de alto nível que restringem a construção
• Objetos e Processos (3D versus 4D)
– Grandes Controvérsias
• Sumo, Dolce, Onions, GALEN, SBU,…
– Necessárias quando se trabalha em grupos muito
grandes.
Software Engineering Lab (LES) – PUC-Rio
72
Web Semântica
• Grande número de pequenas ontologias interligadas
• Em alguns anos toda empresa, universidade,
agência governamental terá seu conteúdo
conectado a uma ontologia
• James Hendler, Agents and the Semantic Web
Software Engineering Lab (LES) – PUC-Rio
73
Pequenas ontologias existirão em toda parte
Todos dispositivos
possuem
ontologia própria
Software Engineering Lab (LES) – PUC-Rio
Ref: Harry Chen
74
Ontologias de Domínio
• Conceitos específicos a um campo ou área de conhecimento
• Animais, Doenças, Comida, Arte, ….
– Onde começar
• Enterder ontologias no sentido bottom up ou middle out.
• Níveis
– Ontologias de Domínio de Topo – Pontos de partida para aquele
domínio ou área de conhecimento
• Seres Vivos, Região Geográfica…
– Ontologia de Domínio – conceitos da área
• Gato, Elefante, Montanha, Rio
– Instances – the things in the world
• Garfield, Pico das Agulhas Negras.
Software Engineering Lab (LES) – PUC-Rio
75
Ontologias são apenas o começo...
Declarar
estrutura
Bases de
Dados
Ontologias
Bases de
Fornecer
descrições de
Domínio
Aplicações
Agentes de
Software
Web
Semântica
Conhecimento
Métodos para
Independentes de
Resolução de
Domínio
Problemas
Software Engineering Lab (LES) – PUC-Rio
Ref: Rector et al
76
Download

Aula 2 - PUC-Rio