Universidade Católica de Pelotas
Centro Politécnico
Laboratório de Modelagem Computacional
Introdução à Modelagem Conceitual
4. Ontologias
Luiz A M Palazzo
Maio, 2011
Roteiro
1.
2.
3.
4.
5.
6.
7.
04 - Ontologias
Motivação
Conceitos
Projeto
Prática de Projeto
Protégé
Construção
Feedback
2
Motivação
Motivation!
04 - Ontologias
4
Motivação






04 - Ontologias
Noção de ontologia
Afinal, ontologias pra quê?
Áreas de aplicação
Exemplos de aplicações
Desafios
Perspectivas futuras
5
Noção de Ontologia
 Ramo da filosofia que lida com a natureza e
organização da realidade.
 Ciência do ser (Aristóteles).
 Tenta responder as questões:
 O que é ser ?
 Quais as características comuns a todos os seres?
 Em computação: Uma especificação formal e
compartilhada de uma conceitualização.
(Gruber, 1993).
04 - Ontologias
6
Afinal, ontologias pra quê?
 Para compartilhar conhecimento comum
sobre a estrutura da informação:
 Entre pessoas
 Entre agentes de software
 Para permitir a reutilização do
conhecimento sobre um domínio:
 Para evitar a “reinvenção da roda”
 Para introduzir padrões que permitam a
interoperabilidade entre aplicações
04 - Ontologias
7
Algumas Áreas de Aplicação
 Modelos conceituais,
 Recuperação de informações,
 Bibliotecas digitais,
 Web semântica,
 Gestão de conhecimento,
 Processamento da linguagem natural,
 Inteligência artificial,
 Sistemas multiagentes...
04 - Ontologias
8
Exemplos de Aplicações
 (KA)2: Anotação de documentos Web
 CIA World Factbook
 OntoShare
 Semantic Web Research Community
 SWAP: Ontologias + P2P
 Gene: Bioinformática
 CVA-ON: Comunidades Virtuais
04 - Ontologias
9
Bibliotecas Virtuais
 Ontologias para a indexação de grandes
repositórios de recursos digitais.
 The WWW Virtual Library
http://vlib.org/
 Wikipedia em português
http://pt.wikipedia.org/wiki/
 Outras bibliotecas virtuais brasileiras
http://www.cg.org.br/gt/gtbv/alfabetica.htm
 Ontologias...
http://www.cs.utexas.edu/users/mfkb/related.html
04 - Ontologias
10
Web Semântica
 Iniciativa do W3C com o objetivo de adicionar
significado à Web.
 Baseada na tecnologia xml/rdf, fazendo evoluir o
html da Web Sintática.
 WWW Consortium
http://www.w3.org
 Linguagens para a Web Semântica:
 RDF – http://www.w3.org/RDF/
 DAML+OIL - http://www.daml.org/
 OWL - http://www.w3.org/TR/owl-features/
04 - Ontologias
11
DAML+OIL / OWL
Web Languages
RDF/S
XML
1. Estendem o
vocabulário XML e
RDF/S
DAML-ONT
2. São linguagens ricas
para a representação
de ontologias
3. Orientadas a uma
implementação
eficiente
DAML+OIL
OWL
Frame Systems
OIL
Formal Foundations
Description Logics
FACT, CLASSIC, DLP, …
04 - Ontologias
12
Camadas da Web Semântica
 Camada de Estrutura
 Responsável por estruturar os dados e definir seu significado
 Camada de Esquema
 Responsável por definir relações entre os dados
 Uso de ontologias em páginas web torna mais simples a
resolução de indefinição ou conflito de terminologia
 Camada Lógica
 Responsável por definir mecanismos para fazer inferência
sobre os dados
 Composta por um conjunto de regras de inferência
 Regras de inferência fornecem aos agentes computacionais
o poder de raciocinar sobre as estruturas de dados
04 - Ontologias
13
Camadas da Web Semântica
Aplicações
Busca
Semântica
…
E-commerce
Web Semântica
Camada
Lógica
Camada de
Esquema
Camada de
Estrutura
04 - Ontologias
Regras de Inferência
Ontologia
Ontologia
Ontologia
Dados
14
A Arquitetura de Tim Berners-Lee
04 - Ontologias
15
Gestão de Conhecimento
 The KM Research Center
http://www.cio.com/research/knowledge/
 Portal KMOL
http://www.kmol.online.pt/
 KM na Wikipédia
http://pt.wikipedia.org/wiki/Gestão_do_Conhecimento#Links_Externos

Gestão Estratégica do Conhecimento
http://www.cni.org.br/links/links-at-gestaoconhecimento.htm

Debate: GC... Onde?
04 - Ontologias
16
Desafios da Web Semânttica
 Carência de profissionais especializados,
 Evolução de culturas (html  xml/rdf),
 Padrões digitais de mídia instáveis,
 Crescimento simultâneo e continuado da
Web Sintática,
 Falta de investimento adequado,
 Falta de visibilidade da área.
04 - Ontologias
17
Perspectivas
 Base para a computação móvel e ubíqua,
 Grande disseminação prevista a médio prazo,
 Novo patamar para as interações
homem-computador,
 Novos produtos e oportunidades de pesquisa,
 Aplicação em grande escala em educação e
gestão de conhecimento.
04 - Ontologias
18
Conceitos
Conceitos









04 - Ontologias
Noção precisa de Ontologia
Elementos de uma Ontologia
Exemplos de Ontologia
Vocabulários
Glossários
Thesauri
Taxonomias
Redes Semânticas
Ontologias
20
Noção Precisa de Ontologia

Especificação formal explícita de uma conceitualização
compartilhada (Gruber, 1993).
 Conceitualizaçã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
04 - Ontologias
21
Elementos de uma Ontologia
 Hierarquia de conceitos
 Entidades
 Relações
 Restrições
 Regras Dedutivas
 Instâncias de Conceitos
04 - Ontologias
22
Hierarquia de Conceitos
 Entidades
 Cada entidade é definida por um conjunto de pares atributo-valor
 Correspondem:
 às classes dos modelos orientado a objetos
 às entidades do modelo relacional
 aos termos do modelo lógico
 Relações
 sem hierarquia x em hierarquia paralela a
hierarquia de entidades
 correspondem:
 às associações, agregações e atributos dos modelos OO cujos valores são
objetos
 às relações do modelo relacional
 aos predicados do modelo lógico
04 - Ontologias
23
Restrições
 Sobre valores possíveis dos atributos dos conceitos
 Correspondem:
 às assinaturas de classes em modelos OO
 aos axiomas universalmente quantificados em
modelos lógicos
 às restrições de integridade nos esquema de BD
04 - Ontologias
24
Regras Dedutivas
 Sobre atributos de (conjuntos 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:
 às regras dos sistemas especialistas e da
programação em lógica
 aos métodos dos modelos OO
 às visões em BD
04 - Ontologias
25
Instâncias de Conceitos
 Definição de entidades e relações
específicas (indivíduos)
 Correspondem:
 aos fatos de sistemas especialistas e
programação em lógica
 aos objetos dos modelos OO
 aos dados das BD
04 - Ontologias
26
Tipos de 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: fundamentada no vocabulário de alguma(s) língua(s).

De Metadados: “especializada” na descrição de recursos on-line
sobre qualquer domínio

De Tarefas e Métodos: modela procedimentos e comportamentos
abstratos no lugar de entidades ou relações
04 - Ontologias
27
Exemplo de Ontologia Especialista:
Fragmentos de uma Ontologia
Acadêmica em UML
04 - Ontologias
28
Person
Pessoas em uma Universidade
address : String
editor : Publication
email : String
fax : String
firstName : String
lastName : String
memberOfPC : Event
middleInitial : String
name : String
organizerOrChairOf : Event
phone : String
photo : String
publication : Publication
Employee
Student
studiesAt : University
affiliation : Organization
headOf : Project
headOfGroup : ResearchGroup
worksAtProject : Project
PhDStudent
supervisor : AcademicStaff
AcademicStaff
supervises : PhDStudent
AdministrativeStaff
Secretary
secretaryOf : ResearchGroup
04 - Ontologias
TechnicalStaff
Lecturer
Researcher
cooperatesWith : Researcher
memberOf : ResearchGroup
researchInterest : ResearchTopic
29
Publication
Publicações
abstract : String
author : Person
describeProject : Project
onlineVersion : OnlinePublication
title : String
year : Number
Book
OnlinePublication
containsArticle : ArticleInBook
editor : Person
publisher : Organization
onlineVersionOf : Publication
type : String
Article
ConferencePaper
conference : Conference
firstPage : Number
lastPage : Number
proceedingsTitle : String
04 - Ontologias
ArticleInBook
book : Book
firstPage : Number
lastPage : Number
Journal
JournalArticle
firstPage : Number
journal : Journal
lastPage : Number
containsArticle : JournalArticle
editor : Person
number : Number
publisher : Organization
volume : Number
TechnicalReport
number : Number
organization : Organization
series : String
SpecialIssue
WorkshopPaper
firstPage : Number
lastPage : Number
proceedingsTitle : String
workshop : Workshop
30
Exemplo de Ontologia Conceitual Geral:
Fragmentos da Ontologia de
Senso Comum de Russell e Norvig em UML
04 - Ontologias
31
Anything
Qualquer Coisa
(Russel e Norvig)
AbstractObjects
Events
Numbers
Sets
RepresentationalObjects
Intervals
Categories
PhysicalObjects
Places
Stuff
Things
Sentences
Measurements
Moments
Animals
04 - Ontologias
Processes
Agents
Humans
Solid
Liquid
Gas
32
Problemas de Modelagem em uma
Ontologia Geral










04 - Ontologias
Categorias e conjuntos
Medidas
Objetos compostos
Tempo
Espaço
Mudanças
Eventos e processos
Objetos físicos
Substâncias
Objetos mentais e crenças
33
Ontologias Gerais: 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:
 Gato é um mamífero - instanciação/classificação
 Todo mamífero bebe leite - herança de atributos

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
 Disjunção
 Decomposição exaustiva
 Partição: decomposição exaustiva disjunta
04 - Ontologias
34
Ontologias Gerais
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.
04 - Ontologias
35
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)
04 - Ontologias
36
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, emprega-se a
relação ParteDe:
 Ex. ParteDe(motor, Carro), ParteDe(pneu, Carro)
04 - Ontologias
37
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.
04 - Ontologias
38
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)
04 - Ontologias
39
Exemplo de Ontologia
Lingüística Geral: WordNet
04 - Ontologias
40
WordNet
 Princeton WordNet:
• redes semânticas de 155.327 significados
• de 207.016 palavras (145.104 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
um time de psico linguistas
 Euro WordNet: http://www.hum.uva.nl/~ewn/
• Resultado de um grande projeto da comunidade européia
• Versão multilíngua adicionando e interligando WordNets
do Espanhol, Francês, Italiano, Alemão, Holandês,
Tcheco e Estoniano ao do Inglês
04 - Ontologias
41
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)
04 - Ontologias
42
Construindo Ontologias
 Vocabulários
 Glossários
 Thesauri
 Taxonomias
 Redes Semânticas
 Ontologias
04 - Ontologias
43
Vocabulários
• São conjuntos de termos que descrevem as
entidades do e as relações entre elas.
• Há vocabulários estabelecidos para diferentes
classes de domínios:
– Dublin Core: http://dublincore.org/
– Vocabulários e ontologias: http://www-
usr.inf.ufsm.br/~rrocha/proj/cva-on/metadados.html
04 - Ontologias
44
Glossários
• Listas alfabéticas de termos, limitados
a uma área de conhecimento especial,
acompanhados das respectivas
definições.
• http://www.google.com
(define:glossary).
04 - Ontologias
45
Thesauri
• Uma compilação de termos, com os
respectivos sinônimos e/ou antônimos e
termos relacionados empregada na indexação
de bases de dados.
• Forma um vocabulário controlado para
descrever os registros na base de dados.
• http://www.google.com/ (define:thesaurus).
04 - Ontologias
46
Taxonomias
•
Teoria e prática de descrever, nomear e classificar
plantas e animais.
•
http://www.google.com/ (define:taxonomy).
•
Vocabulário controlado, usado principalmente para a
criação de estruturas de navegação para um website.
•
Frequentemente baseada em um tesauro, mas pode
apresentar hierarquias mais superficiais, ou ausências de
alguma estrutura.
04 - Ontologias
47
Redes Semânticas
04 - Ontologias
•
Um grafo direcionado e rotulado, com nodos
representando objetos físicos ou conceituais e arcos
representando relações entre os objetos.
•
Permite o uso de regras genéricas, herança e
programação orientada a objetos.
•
http://www.google.com/
(define:”semantic network”).
48
Ontologias
04 - Ontologias
•
É a especificação de uma conceituação de um domínio
do conhecimento.
•
É um vocabulário controlado que descreve os objetos
do domínio e as relações entre eles.
•
Possui uma gramática para usar os termos do
vocabulário na expressão de algo significativo sobre o
domínio de interesse.
•
O vocabulário é empregado na construção de consultas
e declarações.
•
Ontologias podem incluir glossários, taxonomias e
tesauros, mas normalmente apresentam maior
expressividade e capacidade de inferência.
•
http://www.google.com/ (define:ontology).
49
Projeto
Roteiro
•
•
•
•
•
•
•
•
•
04 - Ontologias
Engenharia de Ontologias
Projeto de Ontologias
Domínio e Escopo
Reutilização
Termos
Classes
Propriedades
Restrições
Instâncias
51
Engenharia de Ontologias
 Definir os termos do domínio e o relacionamento
entre eles:
04 - Ontologias

Definir os conceitos do domínio (classes)

Organizar os conceitos em uma hierarquia (sub-classes
e superclasses).

Definir os atributos e propriedades (slots) que as classes
podem apresentar e as restrições sobre seus valores.

Definir indivíduos e os valores de seus slots
52
Projeto de Ontologias
• Determinar o domínio e o escopo,
• Considerar reutilização,
• Enumerar Termos,
• Definir Classes,
• Definir Propriedades,
• Definir Restrições,
• Criar Instâncias.
04 - Ontologias
53
A ontologia é só o começo:
Declarar
estrutura
Ontologias
Bases de
dados
Bases de
Conhecimento
Descrição do
domínio
Agentes
de
Software
04 - Ontologias
Solução
de
Problemas
Aplicações
independentes
54
Dimensões de Ontologias
04 - Ontologias
55
Engenharia de Ontologias x
Modelagem Orientada a Objetos
 Uma Ontologia:
 Uma Classe da OO:

Reflete a estrutura do mundo.
• Reflete a estrutura dos dados e código.

Apresenta-se como uma estrutur
ação de conceitos.
• É usualmente sobre
comportamento (métodos).

A representação física não é uma
questão.
• Descreve a representação física
dos dados: (long int, char, etc.).
04 - Ontologias
56
O Triângulo do Significado
04 - Ontologias
57
O Processo de
Desenvolvimento de Ontologias
 Em teoria:
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
define
classes
enumerate
terms
define
classes
create
instances
define
classes
create
instances
• Na realidade, um processo interativo:
determine
scope
consider
reuse
define
properties
define
classes
consider
reuse
define
properties
04 - Ontologias
enumerate
terms
define
properties
define
constraints
consider
reuse
define
constraints
create
instances
58
Passo1:
Determinar o Domínio e o Escopo
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
 Qual o domínio a ser coberto pela ontologia?
 Para quê será usada esta ontologia?
 Para que tipo de questões a informação na ontologia
deve oferecer respostas?
 Respostas a estas questões podem mudar ao longo
do ciclo de vida da ontologia.
04 - Ontologias
59
Passo 2:
Considerar a Reutilização
consider
reuse
determine
scope
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
• Por que reutilizar outras ontologias?
– Para poupar esforços.
– Para interagir com as ferramentas que
usam outras ontologias.
– Para empregar ontologias que foram validadas
através do uso em outras aplicações.
04 - Ontologias
60
O que reutilizar (I):
• Bibliotecas de Ontologias
–
Protégé Ontology Library
http://protege.stanford.edu/ontologies.html
– DAML ontology library
http://www.daml.org/ontologies/
– Ontolingua Ontology Library
http://www.ksl.stanford.edu/software/ontolingua/
• Ontologias de Senso Comum
– IEEE Standard Upper Ontology http://suo.ieee.org/
– Cyc http://www.cyc.com/
04 - Ontologias
61
O que reutilizar (II):
• Ontologias Gerais
– DMOZ http://www.dmoz.org
– WordNet http://www.cogsci.princeton.edu/~wn/
• Ontologias de Domínio
– UMLS Semantic Net
– GO (Gene Ontology) http://www.geneontology.org/
– GLIF
– HL7
04 - Ontologias
62
Passo 3:
Enumerar os Termos Importantes
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
• Quais os termos sobre os quais vamos falar?
• Quais as propriedades desses termos?
• O que queremos dizer sobre esses termos?
04 - Ontologias
63
Passo 4:
Definir Classes e Hierarquias de Classes
determine
scope
consider
reuse
04 - Ontologias
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
•
Uma classe é um conceito do domínio.
•
Representa uma coleção de elementos com
propriedades similares.
•
Classes podem ser estruturadas em hierarquias,
incluindo os conceitos de superclasses e
subclasses.
•
Os objetos do domínio são instâncias de
classes.
64
Herança entre Classes
 As classes normalmente constituem uma hierarquia t
axonômica.
 Uma hierarquia de classes é uma hierarquia É_UM.
 Uma instância de uma subclasse é uma instância de u
ma superclasse.
 Se a classe for pensada como um conjunto de elemen
tos, uma subclasse é um subconjunto.
04 - Ontologias
65
Exemplos de Herança entre Classes
 Maçã é uma subclasse de Fruta:
 Toda maçã é uma fruta.
 Vinho Tinto é uma subclasse de Vinho:
 Todo vinho tinto é um vinho.
 Chianti é uma subclasse de Vinho Tinto:
 Todo Chianti é um vinho tinto.
04 - Ontologias
66
Níveis na Hierarquia de Classes
Nível
Superior
Nível
Intermediário
Nível
Inferior
04 - Ontologias
67
Formas de Desenvolvimento
 Top-down – define os conceitos mais gerais e depois os
especializa.
 Bottom-up – define os conceitos mais específicos e
então os organiza em classes mais gerais.
 Middle-out – define os conceitos mais importantes primeiro
e depois os generaliza ou especializa, conforme o caso.
04 - Ontologias
68
Documentação
 Classes (e slots) usualmente possuem documentação:
 Descrevendo a classe em linguagem natural
 Listando hipóteses do domínio relevantes para a
definição da classe
 Listando sinônimos
 Documentar classes e seus slots é tão importante quanto
documentar o código de programas.
04 - Ontologias
69
Passo 5:
Definir as Propriedades das Classes – Slots
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
 Os slots, na definição de uma classe descrevem
atributos de instâncias da classe e sua relação com
outras instâncias
 Cada vinho possui uma cor, quantidade de açucar,
produtor, distribuidor, ano de safra, etc.
04 - Ontologias
70
Propriedades (Slots)
 Tipos de Propriedades:

Propriedades intrínsecas: sabor e cor de um vinho.

Propriedades extrínsecas: nome e preço de um vinho.

Partes: ingredientes em um prato.

Relações com outros objetos: produtor do vinho (adega).
 Propriedades Simples e Complexas:
04 - Ontologias

Propriedades simples (atributos): contém
valores primitivos (strings, números, ...).

Propriedades complexas: contém (ou apontam para)
outros objetos.
71
Slots e Herança de Classes
 Uma subclasse herda todos os slots da superclasse.
 Se um vinho tem um nome e um sabor, um vinho
tinto também tem um nome e um sabor.
 Se uma classe tem múltiplas superclasses ela herda os
slots de todas elas.
 Vinho do porto é tanto um vinho de sobremesa
quanto um vinho tinto.
 Ele herda “conteúdo de açucar: alto” da primeira
superclasse e “cor:vermelha” da segunda.
04 - Ontologias
72
Passo 6: Definir Restrições
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
 Restrições sobre Propriedades (facetas) descrevem ou
limitam o conjunto de valores possíveis para um slot.
 O nome de um vinho é um string
 O produtor do vinho é uma instância de adega
 A adega possui exatamente uma localização
04 - Ontologias
73
Facetas Comuns
 Cardinalidade do Slot – o número de valores que
um slot possui.
 Tipo de Valor do Slot – o tipo de valor que o slot pode
apresentar.
 Valores Mínimo e Máximo – um intervalo de valores
para um slot numérico.
 Valor Default – o valor que um slot apresenta, a
menos que explicitamente especificado de outra
forma.
04 - Ontologias
74
Cardinalidade do Slot

Cardinalidade



04 - Ontologias
Cardinalidade N significa que o slot deve ter N valores.
Cardinalidade Mínima

Cardinalidade mínima 1 significa que o slot deve apresentar
pelo menos um valor (requerido)

Cardinalidade mínima 0 significa que o valor do slot é opcional.
Cardinalidade Máxima

Cardinalidade máxima 1 significa que o slot pode ter no máximo
um valor (slot mono valorado)

Cardinalidade máxima maior do que 1 significa que o slot pode
ter mais do que um valor (slot multivalorado)
75
Tipos de Valores

String: um string de caracteres (“Château Lafite”)

Numero: inteiro ou em ponto flutuante (15, 4.5)

Booleano: um valor lógico verdadeiro/falso

Tipo enumerado: uma lista de valores permitidos
(alto, médio, baixo)

Tipo complexo: uma instância de uma outra classe.
 Especificar a classe a que a instância pertence
04 - Ontologias
76
Facetas e Herança entre Classes
 Uma subclasse herda todos os slots da
superclasse.
 Uma subclasse pode reescrever as facetas para
restringir a lista de valores permitidos.
 Diminuir o escopo da cardinalidade
 Substituir uma classe em um determinado escopo
por uma subclasse.
04 - Ontologias
77
Passo 7: Criação de Instâncias
determine
scope
consider
reuse
enumerate
terms
define
classes
define
properties
define
constraints
create
instances
 Criar uma instância de uma classe:

A classe se torna um tipo direto da instância.

Qualquer superclasse do tipo direto é um tipo
da instância.
 Atribuir os valores dos slots para a instância:
04 - Ontologias

Devem estar de acordo com as restrições nas facetas

Ferramentas de aquisição de conhecimento podem ser
empregadas para esta verificação.
78
Prática de Projeto
Projetar uma ontologia
 Organização das Equipes
 Definir Domínio e Escopo
 Tentar Reutilização
 Seleção dos Termos
 Definição das Classes
 Definição das Propriedades
 Definição das Restrições
 Definição das Instâncias
04 - Ontologias
80
Organizar equipes
 O desenvolvimento de ontologias é uma atividade
que idealmente deve ser executada em equipes.
 Perfil das equipes neste curso: 2 a 4 participantes
cobrindo as seguintes habilidades:
 Uso de computador e Internet
 Perspectiva das Ciências Humanas: Educação,
Filosofia, Sociologia, ...
 Liderança, organização e iniciativa
04 - Ontologias
81
Definir Domínio e Escopo
 Domínio e Escopo?
 Algumas Sugestões:
 Veículos
 Refeições
 Vinhos
 Música
 Filmes
 Casa
 Esportes
04 - Ontologias
82
Tentar Reutilização
 Bibliotecas de Ontologias
 Protégé Ontology Library
http://protege.stanford.edu/ontologies.html
 DAML ontology library
http://www.daml.org/ontologies/
 Ontolingua Ontology Library
http://www.ksl.stanford.edu/software/ontolingua/
 Ontologias de Senso Comum
 IEEE Standard Upper Ontology
http://suo.ieee.org/
 Cyc
http://www.cyc.com/
04 - Ontologias
83
Seleção dos Termos
 Usar um Vocabulário Controlado:
 O vocabulário vai nomear os conceitos, identificar suas
propriedades e as relações desejadas.
 Resource Library
http://sky.fit.qut.edu.au/~middletm/cont_voc.html
 Outra Biblioteca:
http://www.lub.lu.se/metadata/subject-help.html
04 - Ontologias
84
Definição das Classes
 Classes são os conceitos do domínio, nomeados pelo
alfabeto controlado.
 As classes são organizadas em hierarquias, definindo
relacionamentos de generalização (subclasses 
superclasse) e especialização (superclasse  subclasse).
 As classes apresentam propriedades (atributos e
relacionamentos) em slots.
04 - Ontologias
85
Definição das Propriedades
 Cada classe é caracterizada por um conjunto de
atributos e relacionamentos, cada um ocupando
um slot.
 As propriedades de uma classe são herdadas por
suas subclasses.
 Portanto as propriedades somente precisam ser
definidas em um dos níveis da hierarquia.
 A técnica de overriding é empregada para alterar
alguma propriedade na subclasse.
04 - Ontologias
86
Definição das Restrições
 Cada propriedade é modelada por um conjunto
de restrições que definem os valores que pode
m ser assumidos.
 As restrições (facetas) mais comuns são a
cardinalidade do valor da propriedade, seus
limites, strings, números, elemento de um
conjunto, etc.
04 - Ontologias
87
Definição das Instâncias
 Instâncias são entidades do domínio que
atendem às especificações de uma classe.
 A atividade de instanciação corresponde a criar
os registros de uma base de dados a partir do
seu esquema (descrição das classes).
04 - Ontologias
88
Produto Final do Projeto
 Descrição semi-formal da ontologia
 Termos, classes, hierarquias, propriedades,
restrições, instâncias.
 Todos esses os elementos irão permitir o uso
de uma ferramenta de software para a
especificação da ontologia em alguma
linguagem formal.
04 - Ontologias
89
Protégé
04 - Ontologias
90
Roteiro
 O que é Protégé?
 Download e Instalação
 Getting Started
 Criando um Projeto
 Salvando e nomeando um projeto
 Criando classes
 Criando slots
 Criando instâncias
 Criando formulários
 Criando e salvando consultas
04 - Ontologias
91
O que é Protégé?
 Protégé é um ambiente extensível e independente de
plataforma para a criação e edição de ontologias e
bases de conhecimento.
 Escrito em Java, utiliza uma máquina virtual para a
execução em quase qualquer plataforma.
 Permite representar classes como instâncias e valores
de slots, em concordância com o protocolo da Open
Knowledge Base Connectivity (OKBC) .
 Importa e exporta ontologias em diversos formatos,
facilitando a reutilização e intercâmbio de ontologias.
04 - Ontologias
92
Download e Instalação
04 - Ontologias

A última versão do Protégé pode ser obtida em:
http://protege.stanford.edu/

Um excelente FAQ pode ser encontrado em
http://protege.stanford.edu/doc/faq.html

Para o download da versão para o Windows,
recomenda-se usar o instalador automático
oferecido pelo site.

A versão para Windows, incluindo a máquina
virtual Java tem cerca de 100MB. É um software
ainda algo “pesado” e emprega diversos plugins
para obter funcionalidade.
93
Getting Started
04 - Ontologias

Após baixar e instalar o Protégé, coloque-o em
execução a partir do menu Iniciar> Programas>
Protégé>

Na janela “Welcome” que vai se abrir, use o botão
“Getting Started” para obter rápido auxílio nas
funcionalidades do Protégé.

Mantenha o “Getting Started” aberto para
acompanhar o desenvolvimento da sua ontologia.

Use a FAQ e o “User Guide” sempre que necessário.
94
Criando o Projeto
 Selecione “Create New Project” da Janela
“Welcome” ou clique no botão “New Project”
se esta já estiver fechada.
 Abre-se a janela para a seleção do tipo de
arquivo. Escolha “Protégé Files (pont e pins)”
e clique em “Finish”.
 Aparecem os painéis “Class Browser” à esquerda
e “Class Editor” à direita.
 No box “Class Hierarchy” aparecem THING e
SYSTEM_CLASS
04 - Ontologias
95
Salvando e nomeando o Projeto
 Selecione o botão “Save Project”. Use o
navegador para selecionar uma pasta e dar um
nome ao Projeto (pprj).
 Os arquivos de classes (pont) e de instâncias
(pins) são nomeados automaticamente.
 Tecle OK. O projeto foi salvo. Confira o nome na
barra da janela. Voltam o browser e o editor.
04 - Ontologias
96
Criando Classes
 Na hierarquia de classes selecione
SYSTEM_CLASS.
 Clique o botão “Create Class”. Uma nova
classe é criada, como classe do sistema,
e automaticamente nomeada.
 Passe para o painel “Class Editor”. Modifique
ou acrescente a informação que quiser.
Aproveite para criar os “Template Slots”
 Use o mesmo método para criar outras classes
e subclasses.
04 - Ontologias
97
Criando Slots
 Clique na aba “Slots”. Como anteriormente, há
um painel “Slot Browser” e outro “Slot Editor”.
 Na hierarquia de slots escolha o tipo de slot
apropriado (p.ex: ANNOTATED_INSTANCE).
 Passe para a janela “Slot Editor”. Faça as
modificações e as entradas desejadas.
 Use o mesmo método para criar slots de cada
classe.
04 - Ontologias
98
Criando Instâncias
 Clique na aba “Instances”. Aparecem os
painéis “Class Browser”, “Instance Browser”
e “Instance Editor”.
 Escolha a classe na hierarquia de classes.
Somente classes concretas podem ter
instâncias.
 Clique em “Create Instance”. Edite a instância
para refletir a informação desejada. Repetir
para as demais instâncias.
04 - Ontologias
99
Criando Formulários
 Na aba “Forms” é possível construir
formulários para a entrada de instâncias
on-line.
 Selecione a classe e o slot desejados e use
o editor para configurar e posicionar a
correspondente região do formulário.
04 - Ontologias
100
Criando e Salvando Consultas
 Use a aba “Queries” para formular e salvar
consultas à ontologia.
 Após a formulação e teste, a consulta pode
ser salva em uma biblioteca de consultas
através do botão “Add to Query Library”.
04 - Ontologias
101
Ontologias importadas pelo Protégé

Não deixe de consultar:
http://protege.stanford.edu/download/ontologies.html.

Qualquer uma dessas ontologias pode ser lida e editada
com o Protégé.

Outras fontes:
 DAML ontology library
http://www.daml.org/ontologies/
 Ontolingua Ontology Library
http://www.ksl.stanford.edu/software/ontolingua

O Protégé tem suporte nativo para .rdfs e .owl

Outros formatos  através de plugins.
04 - Ontologias
102
Plugins do Protégé
 O Protégé tem muitos plugins:
http://protege.stanford.edu/download/plugins.html.
 Qualquer um desses plugins pode ser adicionado como
uma nova funcionalidade ao Protégé.
 Entre eles, recursos de compatibilidade com xml, xmls,
daml+oil, visualização gráfica e muitos outros.
 O Protégé tem suporte nativo para .rdfs e .owl
04 - Ontologias
103
Construção
04 - Ontologias
104
Implementação
 Use esta apresentação, os links, a
documentação disponível, o projeto
de ontologia e o Protégé para
implementar sua primeira ontologia.
04 - Ontologias
105
Feedback
04 - Ontologias
106
Feedback
 Nesta etapa os estudantes apresentam seus
trabalhos para os colegas e fazem um
breve relato do aprendizado, dificuldades,
idéias e possíveis projetos futuros.
04 - Ontologias
107
04 - Ontologias
108
Download

Ontologias