Engenharia de Ontologia
para Web Semântica
José Leomar Todesco
Baseado no trabalho de Natalya F. Noy - A large part of this tutorial is
based on “Ontology Development 101: A Guide to Creating Your First
Ontology” by Natalya F. Noy and Deborah L. McGuinness
http://protege.stanford.edu/publications/ontology_development/ontology101.html
Qual vinho
eu devo
servir com
frutos do
mar hoje?
Vinhos
Franceses
e regiões
vinículas
Uma
ONTOLOGIA
Comum de
Vinho e comida
Vinhos da
California
e regiões
vinícolas
Tópicos







O que é uma ontologia?
Tipos de ontologia
Porquê desenvolver uma ontologia?
Passo-a-Passo: Desenvolvendo uma ontologia
Aprofundando: Problemas comuns e soluções
Ontologias nas linguagens de Web Semântica
Pesquisa atual e questões na engenharia da
ontologia
O que é uma ontologia

Uma ontologia é uma descrição explícita de um
domínio:





conceitos
propriedades e conceitos de atributos
Restrições nas propriedades e atributos
Individuos/instâncias (as vezes, mas nem sempre)
Uma ontologia define


um vocabulário comum
um entendimento compartilhado
Fundamentos teóricos da ontologia
Ontologias são largamente usados na engenharia do
conhecimento,
inteligência
artificial
e
ciência
da
computação em aplicações relacionadas a gestão do
conhecimento, processamento de linguagem natural, ecommerce,
integração
de
informação
inteligente,
recuperação de informação, integração e projeto de banco
de dados, bio-informática, educação e mais recentemente
a um campo emergente chamado Web Semântica.
Fundamentos teóricos da ontologia
Em 1991, o DARPA teve a visão de construir sistemas inteligentes. Eles
propuseram o seguinte: “Building knowledge-based systems today usually entails
constructing new knowledge bases from scratch. It could be instead done by
assembling reusable components. Systems developers would then only need to
worry about creating the specialized knowledge and reasoners new to the specific
task of their system. This new system would interoperate with existing systems,
using then to perform some of its reasoning. In this way, declarative knowledge,
problem-solving techniques and reasoning services would all be shared among
systems. This approach would facilitate building bigger and better systems and
chearply...”
Fundamentos teóricos da ontologia
No mesmo período da apresentação da idéia do DARPA, vários projetos surgiram
com propostas de metodologias para desenvolver sistemas baseados em
conhecimento. Nem todos tratam ontologias, mas fundamentam as noções na
comunidade da Engenharia do Conhecimento. Este projetos incluem:
Estruturas de tarefas (Chandrasekaran et al., 1992); Métodos de role-limiting
(McDermott, 1988); CommonKADS (Schreiber et al., 1994); Protégé (Musen,
1993);
MIKE (Angele et al., 1998);
IDEAL (Gómez-Perez et al., 1997);
Componentes de Expertise (Steels, 1990); EXPECT (Swartout an Gil, 1995);
GDM (Terpstra et al., 1993); VITAL (Domingue et al., 1993)
Definições de ontologia

Neches e colegas (1991): “An ontology defines the basic terms and relations
comprising the vocabulary of a topic area as well as the rules for combining
terms and relations to define extensions to the vocabulary.”

Alguns anos depois Gruber (1993): “An ontology is an explicit specification of
a conceptualization.”

Borst modificou a definição de Gruber em 1997: “Ontologies are defined as a
formal specification of a shared conceptualization”

Bernaras e colegas. (1996): “It [an ontology] provides the means for describing
explicitly the conceptualization behind the knowledge represented in a
knowledge base.”
Definições de ontologia

Swartout et al. (1997): “An ontology is a hierarchically structured set of terms
for describing a domain that can be used as a skeletal foundation for a
knowledge base.”

Guarino (1998): “A set of logical axioms designed to account for the intended
meaning of a vocabulary.”

Uschold e Jasper (1999): “An ontology may take a variety of forms, but it will
necessarily include a vobabulary of terms and some specification of their
meaning. This includes definitions and an indication of how concepts are interrelated which collectivelly impose a structure on the domain and constrain the
possible interpretations of terms.”
Principais componentes de uma
ontologia

Ontologias heavyweight e lightweight podem ser modeladas com diferentes técnicas
de modelagem e implementadas em várias linguagens.

Altamente informal: expressada em linguagem natural

Semi-informal: expressada em linguagem natural estruturada e restrita

Semi-formal: expressada em uma linguagem artificial e definida formalmente (Ontolingua, OWL)

Rigorosamente formal: provem termos definidos meticulosamente com semântica formal,
teoremas e provas de propriedades tais como inspirados na terminologia clássica da lógica de
primeira ordem (soundness).

No início da década de 90, ontologias foram feitas usando principalmente técnicas de
modelagem de IA baseadas em frames e lógica de 1ª ordem.

Nos últimos anos, técnicas de representação de conhecimento baseadas description
logics (DL) tem sido usada para construir ontologias e novas linguagens DL como OIL,
DAML+OIL e OWL tem aparecido no contexto da Web Semântica.
Principais componentes de uma
ontologia

Modelando ontologias heavyweight

Gruber (1993) propôs modelar ontologias usando frames e lógica de 1ª ordem, identificando 5
tipos de componentes: classes, relações, funções, axiomas formais e instâncias.

Classes: representam conceitos, que são definidos de senso comum.

Relações: representam um tipo de associação entre conceitos de um domínio.

Funções: são um caso especial de relações em que o n-ésimo elemento da relação é único
para o n-1-ésimo elemento precedente. (Ex. Pagar, que obtém o preço após aplicar desconto)


Axiomas formais: serve para modelar sentenças que são sempre verdadeiras.

Instâncias: são usadas para representar elementos ou indivíduos em uma ontologia.
Modelando ontologias heavyweight com DL

Description Logics é um formalismo lógico cuja teoria é dividida em duas partes: TBox e ABox

TBox: contém conhecimento intensional (teminologias). Contém definições de conceitos e
papéis/funções (roles).

ABox: provem conhecimento extensional (assertivo) que é específico para o indivíduo.
Indivíduos representam instâncias.
Principais componentes de uma
ontologia

Modelando ontologias lightweight

Com técnicas de engenharia de software: A UML de Rumbaugh et al.
(1998) pode ser usada como uma técnica para modelar ontologias. Uma
das razões é o fácil entendimento e uso que a UML proporciona para as
pessoas de fora da comunidade de IA.

Empregam diagramas de classes para representar conceitos (e seus atributos)
e OCL (Object Constraint Language) para representar reláções entre conceitos
e aximas.

Com banco de dados: Utiliza-se dos diagrams Entidade/Relacionamento
para com uma extensão comum de generalização de relacionamentos
entre entidades.
Exemplos de ontologia

Taxonomias na Web


Catalogos para vendas on-line


Yahoo! categorias
Amazon.com (produtos catálogos)
Terminologia padrão de domínio-específico


Unified Medical Language System (UMLS)
UNSPSC – terminologia para produtos e serviços
O que é “Ontology Engineering”?
Ontology Engineering: Define termos no domínio e
relationamentos entre eles




Definir conceitos no domínio (classes)
Arranjando os conceitos na hierarquia (hierarquia de
subclasse-superclasse)
Definir quais atributos e propriedades (slots) que as
classes podem ter e restrições em seus valores
Definir individuos/instâncias e preencher os valores
do slot
Tópicos







O que é uma ontologia?
Tipos de ontologia
Porquê desenvolver uma ontologia?
Passo-a-Passo: Desenvolvendo uma ontologia
Aprofundando: Problemas comuns e soluções
Ontologias nas linguagens de Web Semântica
Pesquisa atual e questões na engenharia da
ontologia
Tipos de ontologia

Nível de Representação:




Vocabulário: consiste de uma lista de termos e respectivas definições.
Corresponde a uma definição em XML Schema, por exemplo;
Taxonomia: definição de hierarquias sobre os termos do vocabulário.
Cada termo em uma taxonomia pode estar relacionado a uma ou mais
relações do tipo “pai-filho”;
Sistema Relacional: prevê relacionamentos arbitrários além dos
hierárquicos entre os termos do vocabulário.
Teoria Axiomática: além dos relacionamentos, suporta a definição de
regras de inferência e de restrições através de axiomas (DACONTA,
2003 p. 206). Um axioma é uma afirmação lógica que não pode ser
comprovada a partir de outras afirmações, mas que pode servir para a
construção de sistemas e para a formulação de teorias (como a teoria
de conjuntos).
Tipos de ontologias (Mizoguchi e
colegas)
Tipos de ontologias (Van Heijst e
colegas)
Tipos de Ontologias (Guarino)
Tipos de Ontologias (Lassila e
McGuinnes)
Tipos de Ontologias (Goméz-Pérez)

Ontologias de Representação do Conhecimento (KR): captura as
primitivas de representação usadas para formalizar conhecimento sobre
um dado paradigma de KR. (Frame ontology e OKBC ontology).

Ontologias geral ou comum: são usadas para representar conhecimento
de senso comum reutilizáveis através do domínio. (Metereology ontology).

Ontologias top-level ou upper-level: descrevem conceitos bem gerais e
provêm noções gerais sobre quais termos da raiz na ontologia existente
deve ser linkado. (IEEE Standard Upper Ontology – SUO).

Ontologias de domínio: são reusadas em um dado domínio específico.
(Médica, farmaceutica, engenharia, leis, empresas, automóveis, etc).
Proporcionam vocabulários sobre conceitos dentro do domínio.
Tipos de Ontologias (Goméz-Pérez)

Ontologias de tarefa: descrevem o vocabulário relacionado a uma tarefa
genérica ou atividade pela especialização de termos nas ontologias toplevel. (diagnóstico, scheduling, etc).

Ontologias de tarefa de domínio (domínio específico): são tarefas de
domínio reutilizáveis em um dado domínio, mas não em outros domínios,
são aplicações independentes.

Ontologias de métodos: dão definições de conceitos relevantes e relações
aplicadas para especificar um processo de raciocíneo assim como realizar
uma tarefa particular. (Scheduling pela decomposição em tarefas).

Ontologias de aplicação: são aplicações dependentes que contém todas
as definições necessárias para modelar o conhecimento requerido para
uma aplicação particular. (Metereology ontology).
Usabilidade X Reusabilidade
Tópicos







O que é uma ontologia?
Tipos de ontologia
Porquê desenvolver uma ontologia?
Passo-a-Passo: Desenvolvendo uma ontologia
Aprofundando: Problemas comuns e soluções
Ontologias nas linguagens de Web Semântica
Pesquisa atual e questões na engenharia da
ontologia
Porquê desenvolver uma ontologia?

Para compartilhar entendimento comum
da estrutura da informação



entre pessoas
entre agentes de software
Para possibilitar reuso do conhecimento
do domínio


evitar “re-inventar a roda”
Introduzir padrões para interoperabilidade
Mais Razões

Para fazer suposições explícitas do domínio



facilitar mudanças das hipóteses do domínio
(considerar uma base de conhecimento genética)
facilitar entendimento e atualização de dados legados
Para separar o conhecimento do domínio do
conhecimento operacional

reusar o conhecimento do domínio e operacional
separadamente (e.g., configuração baseada nas
restrições)
Uma ontologia as vezes é só o
começo
Declara a
estrutura
Databases
Ontologias
Bases de
conhecimento
Proporciona
Descrição do domínio
Agentes
de
Software
Métodos de
resolução
de
problemas
Aplicações
independentes
de domínio
Tópicos







O que é uma ontologia?
Tipos de ontologia
Porquê desenvolver uma ontologia?
Passo-a-Passo: Desenvolvendo uma ontologia
Aprofundando: Problemas comuns e soluções
Ontologias nas linguagens de Web Semântica
Pesquisa atual e questões na engenharia da
ontologia
Vinhos e Vinícolas
Processo de devenvolvimento de
ontologia
Neste exemplo:
determinar
escopo
considerar
reuso
enumerar
termos
definir
classes
definir
propriedades
definir
restrições
criar
instâncias
Na realidade – um processo iterativo:
determinar
escopo
considerar
reuso
definir
propriedades
definir
classes
considerar
reuso
definir
propriedades
enumerar
termos
definir
propriedades
definir
restrições
considerar
reuso
definir
restrições
criar
instâncias
definir
classes
enumerar
termos
definir
classes
criar
instâncias
definir
classes
criar
instâncias
Ontology Engineering versus
Object-Oriented Modeling
Uma ontologia



reflete a estrutura do
mundo
é as vezes sobre a
estrutura dos conceitos
a representação física
atual não é o caso
Uma estrutura de
classe OO



reflete a estrutura do
dado e do código
geralmente sobre o
comportamento
(métodos)
descreve a
representação física do
dado (long int, char, etc.)
Ferramentas

Todas as telas a seguir do exemplo de vinhos são do:
Protégé-2000, que é:




uma ferramenta gráfica de desenvolvimento de ontolgogias
suporta um modelo de conhecimento rico
é open-source e disponível para uso livremente
(http://protege.stanford.edu)
Algumas outras ferramentas disponíveis:



Ontolingua e Chimaera
OntoEdit
OilEd
Determinar Domínio e Escopo
determinar
escopo



considerar
reuso
enumerar
termos
definir
classes
definir
propriedades
definir
restrições
criar
instâncias
Qual é o domínio que a ontologia irá cobrir?
Para que nós estaremos usando a ontologia?
Quais tipos de questões a informação na
ontologia deve prover respostas (questões
de competência)?
Respostas para estas questões podem mudar
durante o ciclo de vida
Questões de Competência







Quais características de vinho eu devo considerar
quando escolher um vinho?
Bordeaux é um vinho tinto ou branco?
Cabernet Sauvignon vai bem com frutos do mar?
Qual a melhor escolha de vinho para carne grelhada?
Quais as características de um vinho que afetam sua
relação com um prato (comida)?
O sabor ou corpo de um específico vinho muda com o
ano da safra?
Qual foi a melhor safra do Napa Zinfandel?
Considerar Reuso
determinar
escopo

considerar
reuso
enumerar
termos
definir
classes
definir
propriedades
definir
restrições
criar
instâncias
Porquê reusar outras ontologias?



economizar esforço
interagir com as ferramentas que usam
outras ontologias
usar ontologias que tenham sido validadas
através do uso em aplicações
O que Reusar?

Bibliotecas de Ontologias




DAML ontology library (www.daml.org/ontologies)
Ontolingua ontology library
(www.ksl.stanford.edu/software/ontolingua/)
Protégé ontology library
(protege.stanford.edu/plugins.html)
Ontologias Upper


IEEE Standard Upper Ontology (suo.ieee.org)
Cyc (www.cyc.com)
O que Reusar?(II)

Ontologia Geral



DMOZ (www.dmoz.org)
WordNet (www.cogsci.princeton.edu/~wn/)
Ontologias de domínio-específico


UMLS Semantic Net
GO (Gene Ontology) (www.geneontology.org)
Enumerar termos importantes
determinar considerar
reuso
escopo



enumerar
termos
definir
classes
definir
propriedades
definir
restrições
criar
instâncias
Quais são os termos que são falados?
Quais são as propriedades destes termos?
O que nós queremos dizer sobre os termos?
Enumerando Termos – A ontologia
de vinho
vinho, uva, vinícola, localização,
cor do vinho, corpo do vinho, sabor do
vinho, quantidade de açucar
vinho branco, vinho tinto, vinho Bordeaux
comida, frutos do mar, peixe, carne,
vegetais, queijo
Definir Classes e hierarquia de
Classes
determinar considerar
reuso
escopo




definir
classes
definir
propriedades
definir
restrições
criar
instâncias
Uma classe é um conceito no domínio


enumerar
termos
uma classe de vinhos
uma classe de vinícolas
uma classe de vinhos tinto
Uma classe é uma coleção de elementos com
propriedades similares
Instâncias de classes

uma garrafa de vinho da California para um almoço
Herança de Classes


Classes geralmente constituem uma taxonomia
hierárquica (uma hierarquia de subclassesuperclasse)
Uma hierarquia de classe é geralmente uma
hierarquia IS-A:
uma instância de uma subclasse é uma
instância de uma superclasse

Se você pensa uma classe como um conjunto
de elementos, uma subclasse é um subconjunto
Herança de Classe - Exemplo

Maçã é uma subclasse de Frutas
Toda maçã é uma fruta

Vinho tinto é uma subclasse de Vinho
Toda vinho tinto é um vinho

Vinho Chianti é uma subclasse de vinho
tinto
Todo vinho Chianti é um vinho tinto
Níveis na Hierarquia
Top
level
Middle
level
Bottom
level
Modos de Desenvolvimento



top-down – define os conceitos mais
gerias primeiro e então especializa-os
bottom-up – define os conceitos mais
específicos e então organiza-os em
classes mais gerais
combinação – define os conceitos mais
salientes primeiro e então generaliza e
especializa-os
Documentação

Classes (e propriedades) geralmente tem
documentação




Descrever as classes em linguagem natural
Listar suposições relevantes do domínio para as
definições de classe
Listar sinônimos
Documentar classes e propriedades é tão
importante quanto documentar código em
programas!
Definir Propriedades de Classes –
Slots
determinar considerar
escopo
reuso

enumerar
termos
definir
classes
definir
propriedades
definir
restriçõess
criar
instâncias
Propriedades (slot) em uma definição de
classe descreve atributos de instâncias da
classe e relações a outras instâncias
Cada vinho terá cor, quantidade de açucar,
produtores, etc.
Propriedades (Slots)

Tipos de propriedades





propriedade “intrínsica” : sabor e cor do vinho
Propriedade “extrínsica” : nome e preço do vinho
partes: ingredientes em um prato
relações com outros objetos: produtores de vinho
(vinícola)
Propriedades simples e complexas


propriedade simples (atributos): contém valores
primitivos (strings, numbers)
propriedade complexas: contém (ou aponta para)
outros objetos (e.g., uma instância de vinícola)
Propriedades para a Classe
Vinho
(no Protégé-2000)
Propriedade e herança de Classe

Uma subclasse herda todos as
propriedades da superclasse
Se um vinho tem o mesmo nome e gosto, um vinho
tinto também tem o mesmo nome e gosto

Se uma classe tem múltiplas
superclasses, ela herda propriedades de
todas
Port é tanto um vinho suave quanto um vinho tinto. Ele
herda “conteúdo de açucar: high” do primeiro e “cor:
tinto” do último
Restrições de Propriedade
determinar considerar
escopo
reuso

enumerar
termos
definire
classes
definire
propriedades
definir
restrições
criar
instâncias
Restrições de propriedade (facets)
descrevem ou limitam o conjunto de
valores possíveis para um slot
O nome de um vinho é uma string
O produtor de vinho é uma instância de vinícola
Uma vinícola tem uma localização explícita
Restrições para propriedades na
Classe vinho
Restrições comuns




Cardinalidade da propriedade – o número
de valores que uma propriedade tem
Tipo de valor da propriedade – o tipo de
valor que uma propriedade tem
Valores mínimo e máximo – um range de
valores para uma propriedade numérica
Valor default – valor que uma propriedade
tem caso não explicitamente especificado
Restrições comuns:
Cardinalidade da propriedade

Cardinalidade


Cardinalidade mínima



Cardinalidade N significa que a propriedade deve ter N valores
Cardinalidade mínima 1 significa que a propriedade deve ter um
valor (requerido)
Cardinalidade mínima 0 significa que o valor da propriedade é
opcional
Cardinalidade máxima


Cardinalidade máxima 1 significa que a propriedade deve ter ao
menos um valor (slot de valor simples)
Cardinalidade máxima maior do que 1 significa que a
propriedade tem mais do que um valor (slot de valor múltiplo)
Restrições comuns: Tipo de valor

String: uma string de caracteres (“Château Lafite”)

Número: um integer ou um float (15, 4.5)

Boolean: uma flag true/false

Tipo enumerated: uma lista de valores (high, medium,
low)

Tipo complex: uma instância de outra classe

Especifica a classe para qual as instâncias pertencem
A classe vinho é o tipo de valor para a propriedade “produtores” da
classe vinícola
Domínio e Range da propriedade

Domínio de uma propriedade – uma
classe (ou classes) que tem a propriedade


Mais precisamente: instâncias de classe (ou
classes) da qual uma propriedade pode ter
Range de uma propriedade – uma classe
(ou classes) para qual valores podem
pertencer a uma propriedade
Restrições e heranças de Classe


Uma subclasse herda todos as propriedades da
superclasse
Uma subclasse pode sobrescrever as restrições
para “aproximar” a lista de valores permitidos


Tornar o range da cardinalidade menor
Substituir uma classe no range com uma subclasse
Vinho
produtor
is-a
Vinho
Francês
Vinícola
is-a
produtor
Vinícola
Francesa
Criar Instâncias
determinar considerar
escopo
reuso

definir
classes
definir
propriedades
definir
restrições
criar
instâncias
Criar uma instância de uma classe



enumerar
termos
A classe torna-se um tipo direto de instância
Qualquer superclasse do tipo direto é um tipo de
instância
Atribuir valores da propriedade para a instância


Valores das propriedades devem obedecer as
restrições da mesma
Ferramentas de aquisição de conhecimento as vezes
fazem isto
Criar uma Instância: Exemplo
Sumário







O que é uma ontologia?
Tipos de ontologia
Porquê desenvolver uma ontologia?
Passo-a-Passo: Desenvolvendo uma ontologia
Aprofundando: Problemas comuns e soluções
Ontologias nas linguagens de Web Semântica
Pesquisa atual e questões na engenharia da
ontologia
Aprofundando

Cobertura da primeiro largura
determinar
escopo

considerar
reuso
enumerar
termos
definir
classes
definir
propriedades
definir
restrições
criar
instâncias
Cobertura da primeiro largura
definir
restrições
enumerar
termos
definir
propriedades
considerar
reuso
definir
classes
determinar
escopo
criar
instâncias
Definir Classes e uma hierarquia de
Classe


Coisas para lembrar:

Não existe uma única hierarquia de classe

Mas existem alguns guidelines
A questão a ser perguntada:
“Uma instância da subclasse é uma instância
de sua superclasse?”
Herança múltipla



Uma classe pode ter mais do
que uma superclasse
Uma subclasse herda slots e
restrições facet de todos os
pais
Sistemas diferentes resolvem
conflitos diferentemente
Classes disjuntas


Classes são disjuntas se elas não podem ter instâncias
comuns
Classes disjuntas não pode ter qualquer outras
subclasses comuns
Port
Vinho tinto, Vinho branco,
Vinho rose são disjuntos
Vinho suave e vinho tinto
não são disjuntos
Vinho
Vinho
suave
Vinho
tinto
Vinho
branco
Vinho
rose
Evitando Classes Cíclicas


O perigo de herança múltipla:
ciclos na hierarquia de classe
Classes A, B, e C tem
conjuntos equivalentes de
instâncias

Para muitas definições, A, B, e
C são portanto equivalentes
Irmãos na hierarquia de Classe


Todos os irmãos na
hierarquia de classe deve
estar no mesmo nível de
generalidade
Compare as seções e
subseções em um livro
O tamanho da família perfeita



Se uma classe tem sómente
um filho, pode ser um
problema modelar
Se o único tinto Burgundy
que nós temos é Côtes d’Or,
porque introduzir na
subhierarquia?
Compare os botões na lista
O tamanho da família perfeita (II)


Se uma classe tem
mais do que uma
dúzia de filhos,
subcategorias
adicionais pode ser
necessários
Contudo, se não
existe classificação, a
lista longa pode ser
mais natural
Nome de Classe Simples ou Plural


Class

instance-of
Instance
Um “vinho” não é um tipo
“vinhos”
Um vinho é uma instância da
classe de Vinhos
Nomes de Classe de ser um
dos dois


tudo singular
tudo plural
Classes e seus Nomes

Classes representam conceitos no domínio, não seus
nomes

O nome da classe pode mudar, mas ainda se referirá ao
mesmo conceito

Nomes sinônimos para o mesmo conceito não são
classes diferentes

Muitos sistemas permitem listas de sinônimos como parte da
definição da classe
Uma hierarquia
completa de
Vinhos
De volta as propriedades:
Domínio e Range


Quando definindo um domínio ou range para
uma propriedade (slot), procure a classe (ou
classes) mais geral
Considere a propriedade sabor



Domínio: Vinho tinto, vinho branco, vinho rose
Domínio: Vinho
Considere a propriedade produtores para uma
Vinícola:


Range: Vinho tinto, vinho branco, vinho rose
Range: Vinho
De volta as propriedades:
Domínio e Range
DOMÍNIO
classe


propriedade
valores permitidos
Quando definindo um domínio ou range para uma
propriedade, ache as classes ou classe mais geral
Considere a propriedade sabor



RANGE
Domínio: Vinho tinto, vinho branco, vinho rose
Domínio: Vinho
Considere a propriedade produtor para uma vinícola:


Range: Vinho tinto, vinho branco, vinho rose
Range: Vinho
Definindo Domínio e Range



Uma classe e uma
superclasse –
substitua com a
superclasse
Todas as subclasses
de uma classe –
substitua com a
superclasse
Muitas subclasses de
uma classe –
considere substituir
pela superclasse
Valores Default




Valor default - um valor para a propriedade
quando uma instância é criada
O valor default pode ser mudado
O valor default é um valor comum para a
propriedade, mas não é um valor requerido
Por exemplo, o valor default para corpo do
vinho pode ser FULL
Limitando o Escopo

Uma ontology não deve conter todas as
informações possíveis sobre o domínio


Não necessitam especializar ou generalizar
mais do que a aplicação requer
Não necessitam incluir todas as propriedades
possíveis da classe
Sómente as propriedades mais salientes
 Sómente as propriedades que a aplicação requer

Limitando o Escopo (II)

Ontologia de vinho, comida, e seus pares
provavelmente não incluem




Uma ontologia de experimentos biológicos
conterão



Tamanho da garrafa
Côr do rótulo da garrafa
Comida e vinho preferido
Organismos biológicos
Experimentos
A classe Experimento é uma subclasse de
Organismo Biológico?
Tópicos







O que é uma Ontologia?
Tipos de ontologia
Porquê desenvolver uma Ontologia?
Passo-a-Passo: Desenvolvendo uma ontologia
Aprofundando: Problemas comuns e soluções
Ontologias nas linguagens de Web Semântica
Pesquisa atual e questões na engenharia da
ontologia
Ontologias e as linguagens WS

Muitas linguagens de Web Semântica são
designadas explicitamente para representar
ontologias





RDF Schema
DAML+OIL
SHOE
XOL
XML Schema
Linguagens da WS

As linguagens diferem em sua

syntaxe


terminologia




Classe-conceito
Instância-objeto
Slot-propriedade
expressividade


Não é importante aqui – Uma ontologia é uma representação
conceitual
O que nós podemos expressar em muitas linguagens, não se pode
expressar em outras
semântica

A mesma declaração pode significar coisas diferentes em
linguafens diferentes.
Tópicos







O que é uma Ontologia?
Tipos de ontologia
Porquê desenvolver uma Ontologia?
Passo-a-Passo: Desenvolvendo uma ontologia
Aprofundando: Problemas comuns e soluções
Ontologias nas linguagens de Web Semântica
Pesquisa atual e questões na engenharia da
ontologia
Questões de pesquisa na Enginharia
da Ontologia
Geração de conteúdo
 Analise e avaliação
 Manutenção
 Linguagens de ontologia
 Ferramentas de desenvolvimento

Conteúdo: Ontologias Top-Level

O que significa “top-level” ?






Objetos: tangíveis, intangíveis
Processos, eventos, atores, papéis
Agentes, organizações
Espaços, fronteiras, localizações
Tempo
Esforço da IEEE Standard Upper Ontology


Objetivo: Projetar uma ontologia simples upper-level
Processo: Unir ontologias upper-level existentes
Conteúdo: Aquisição de
conhecimento



Aquisição de conhecimento é o gargalo
Compartilhar e reusar amenizam o problema
Mas é necessários automatizar as técnicas de aquisição
de conhecimento




Técnicas lingüística: aquisição de ontologia de textos
Machine-learning: gerar ontologias de documentos estruturados
(e.g., documentos XML)
Explorar a estrutura WEB: gerar ontologias por sites web
estruturados por crawling
Modelos de aquisição de conhecimento: especificar
especialistas somente em parte do conhecimento requerido
Análises

Analises: consistência semântica





Analise: estilo




Violação de restrições de propriedades
Ciclos na hierarquia de classes
Termos que são usados mas não definidos
Restrições de intervalo que produzem intervalos vazios (min >
max)
Classes com uma simples subclasse
Classes e propriedades sem definições
Propriedades sem restrições (tipo do valor, cardinalidade)
Ferramentas para análise automática


Chimaera (Stanford KSL)
DAML validator
Onde procurar mais?

Tutoriais



Natalya F. Noy and Deborah L. McGuinness (2001) “Ontology
Development 101: A Guide to Creating Your First Ontology”
http://protege.stanford.edu/publications/ontology_development/o
ntology101.html
Farquhar, A. (1997). Ontolingua tutorial.
http://ksl-web.stanford.edu/people/axf/tutorial.pdf
Metodologia


Gómez-Pérez, A. (1998). Knowledge sharing and reuse.
Handbook of Applied Expert Systems. Liebowitz, editor, CRC
Press.
Uschold, M. and Gruninger, M. (1996). Ontologies: Principles,
Methods and Applications. Knowledge Engineering Review 11(2)
Download

O que é uma ontologia