Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Engenharia de Ontologia Qual vinho Vinhos

Franceses
para Web Semântica eu devo
servir com e regiões
frutos do vinículas
José Leomar Todesco
mar hoje? Uma
ONTOLOGIA
Comum de
Vinho e comida Vinhos da
California
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 e regiões
Ontology” by Natalya F. Noy and Deborah L. McGuinness vinícolas
http://protege.stanford.edu/publications/ontology_development/ontology101.html

Tópicos O que é uma ontologia


„ O que é uma ontologia? „ Uma ontologia é uma descrição explícita de um
„ Tipos de ontologia domínio:
„ Porquê desenvolver uma ontologia? „ conceitos
„ propriedades e conceitos de atributos
„ Passo-a-Passo: Desenvolvendo uma ontologia
„ Restrições nas propriedades e atributos
„ Aprofundando: Problemas comuns e soluções „ Individuos/instâncias (as vezes, mas nem sempre)
„ Ontologias nas linguagens de Web Semântica „ Uma ontologia define
„ Pesquisa atual e questões na engenharia da „ um vocabulário comum
ontologia „ um entendimento compartilhado

Fundamentos teóricos da ontologia Fundamentos teóricos da ontologia

Ontologias são largamente usados na engenharia do Em 1991, o DARPA teve a visão de construir sistemas inteligentes. Eles
propuseram o seguinte: “Building knowledge-based systems today usually entails
conhecimento, inteligência artificial e ciência da
constructing new knowledge bases from scratch. It could be instead done by
computação em aplicações relacionadas a gestão do
assembling reusable components. Systems developers would then only need to
conhecimento, processamento de linguagem natural, e-
worry about creating the specialized knowledge and reasoners new to the specific
commerce, integração de informação inteligente, task of their system. This new system would interoperate with existing systems,
recuperação de informação, integração e projeto de banco using then to perform some of its reasoning. In this way, declarative knowledge,

de dados, bio-informática, educação e mais recentemente problem-solving techniques and reasoning services would all be shared among
systems. This approach would facilitate building bigger and better systems and
a um campo emergente chamado Web Semântica.
chearply...”

1
Fundamentos teóricos da ontologia
Definições de ontologia
No mesmo período da apresentação da idéia do DARPA, vários projetos surgiram „ Neches e colegas (1991): “An ontology defines the basic terms and relations

com propostas de metodologias para desenvolver sistemas baseados em comprising the vocabulary of a topic area as well as the rules for combining
terms and relations to define extensions to the vocabulary.”
conhecimento. Nem todos tratam ontologias, mas fundamentam as noções na
„ Alguns anos depois Gruber (1993): “An ontology is an explicit specification of
comunidade da Engenharia do Conhecimento. Este projetos incluem:
a conceptualization.”
Estruturas de tarefas (Chandrasekaran et al., 1992); Métodos de role-limiting
„ Borst modificou a definição de Gruber em 1997: “Ontologies are defined as a
(McDermott, 1988); CommonKADS (Schreiber et al., 1994); Protégé (Musen,
formal specification of a shared conceptualization”
1993); MIKE (Angele et al., 1998); IDEAL (Gómez-Perez et al., 1997);
„ Bernaras e colegas. (1996): “It [an ontology] provides the means for describing
Componentes de Expertise (Steels, 1990); EXPECT (Swartout an Gil, 1995); explicitly the conceptualization behind the knowledge represented in a
GDM (Terpstra et al., 1993); VITAL (Domingue et al., 1993) knowledge base.”

Principais componentes de uma


Definições de ontologia ontologia
„ Ontologias heavyweight e lightweight podem ser modeladas com diferentes técnicas
„ Swartout et al. (1997): “An ontology is a hierarchically structured set of terms de modelagem e implementadas em várias linguagens.
for describing a domain that can be used as a skeletal foundation for a „ Altamente informal: expressada em linguagem natural

knowledge base.” „ Semi-informal: expressada em linguagem natural estruturada e restrita


„ Semi-formal: expressada em uma linguagem artificial e definida formalmente (Ontolingua, OWL)
„ Guarino (1998): “A set of logical axioms designed to account for the intended
„ Rigorosamente formal: provem termos definidos meticulosamente com semântica formal,
meaning of a vocabulary.” teoremas e provas de propriedades tais como inspirados na terminologia clássica da lógica de

„ Uschold e Jasper (1999): “An ontology may take a variety of forms, but it will primeira ordem (soundness).

necessarily include a vobabulary of terms and some specification of their „ 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.
meaning. This includes definitions and an indication of how concepts are inter-
related which collectivelly impose a structure on the domain and constrain the „ 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,
possible interpretations of terms.”
DAML+OIL e OWL tem aparecido no contexto da Web Semântica.

Principais componentes de uma Principais componentes de uma


ontologia ontologia
„ Modelando ontologias heavyweight
„ Modelando ontologias lightweight
„ 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. „ Com técnicas de engenharia de software: A UML de Rumbaugh et al.
„ Classes: representam conceitos, que são definidos de senso comum. (1998) pode ser usada como uma técnica para modelar ontologias. Uma
„ Relações: representam um tipo de associação entre conceitos de um domínio. das razões é o fácil entendimento e uso que a UML proporciona para as
„ Funções: são um caso especial de relações em que o n-ésimo elemento da relação é único
pessoas de fora da comunidade de IA.
para o n-1-ésimo elemento precedente. (Ex. Pagar, que obtém o preço após aplicar desconto)
„ Empregam diagramas de classes para representar conceitos (e seus atributos)
„ Axiomas formais: serve para modelar sentenças que são sempre verdadeiras.
e OCL (Object Constraint Language) para representar reláções entre conceitos
„ Instâncias: são usadas para representar elementos ou indivíduos em uma ontologia.
e aximas.
„ Modelando ontologias heavyweight com DL
„ Description Logics é um formalismo lógico cuja teoria é dividida em duas partes: TBox e ABox
„ Com banco de dados: Utiliza-se dos diagrams Entidade/Relacionamento
„ TBox: contém conhecimento intensional (teminologias). Contém definições de conceitos e para com uma extensão comum de generalização de relacionamentos
papéis/funções (roles). entre entidades.
„ ABox: provem conhecimento extensional (assertivo) que é específico para o indivíduo.
Indivíduos representam instâncias.

2
Exemplos de ontologia O que é “Ontology Engineering”?

„ Taxonomias na Web Ontology Engineering: Define termos no domínio e


„ Yahoo! categorias relationamentos entre eles
„ Catalogos para vendas on-line „ Definir conceitos no domínio (classes)
„ Amazon.com (produtos catálogos) „ Arranjando os conceitos na hierarquia (hierarquia de
subclasse-superclasse)
„ Terminologia padrão de domínio-específico
„ Definir quais atributos e propriedades (slots) que as
„ Unified Medical Language System (UMLS) classes podem ter e restrições em seus valores
„ UNSPSC – terminologia para produtos e serviços „ Definir individuos/instâncias e preencher os valores
do slot

Tópicos Tipos de ontologia


„ O que é uma ontologia? „ Nível de Representação:
„ Vocabulário: consiste de uma lista de termos e respectivas definições.
„ Tipos de ontologia Corresponde a uma definição em XML Schema, por exemplo;
„ Taxonomia: definição de hierarquias sobre os termos do vocabulário.
„ Porquê desenvolver uma ontologia? Cada termo em uma taxonomia pode estar relacionado a uma ou mais
„ Passo-a-Passo: Desenvolvendo uma ontologia relações do tipo “pai-filho”;
„ Sistema Relacional: prevê relacionamentos arbitrários além dos
„ Aprofundando: Problemas comuns e soluções hierárquicos entre os termos do vocabulário.
„ Teoria Axiomática: além dos relacionamentos, suporta a definição de
„ Ontologias nas linguagens de Web Semântica 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
„ Pesquisa atual e questões na engenharia da comprovada a partir de outras afirmações, mas que pode servir para a
ontologia construção de sistemas e para a formulação de teorias (como a teoria
de conjuntos).

Tipos de ontologias (Mizoguchi e Tipos de ontologias (Van Heijst e


colegas) colegas)

3
Tipos de Ontologias (Lassila e
Tipos de Ontologias (Guarino) McGuinnes)

Tipos de Ontologias (Goméz-Pérez) Tipos de Ontologias (Goméz-Pérez)


„ Ontologias de Representação do Conhecimento (KR): captura as „ Ontologias de tarefa: descrevem o vocabulário relacionado a uma tarefa
primitivas de representação usadas para formalizar conhecimento sobre genérica ou atividade pela especialização de termos nas ontologias top-
um dado paradigma de KR. (Frame ontology e OKBC ontology). level. (diagnóstico, scheduling, etc).
„ Ontologias geral ou comum: são usadas para representar conhecimento „ Ontologias de tarefa de domínio (domínio específico): são tarefas de
de senso comum reutilizáveis através do domínio. (Metereology ontology). domínio reutilizáveis em um dado domínio, mas não em outros domínios,
„ Ontologias top-level ou upper-level: descrevem conceitos bem gerais e são aplicações independentes.
provêm noções gerais sobre quais termos da raiz na ontologia existente „ Ontologias de métodos: dão definições de conceitos relevantes e relações
deve ser linkado. (IEEE Standard Upper Ontology – SUO). aplicadas para especificar um processo de raciocíneo assim como realizar
„ Ontologias de domínio: são reusadas em um dado domínio específico. uma tarefa particular. (Scheduling pela decomposição em tarefas).
(Médica, farmaceutica, engenharia, leis, empresas, automóveis, etc). „ Ontologias de aplicação: são aplicações dependentes que contém todas
Proporcionam vocabulários sobre conceitos dentro do domínio. 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

4
Porquê desenvolver uma ontologia? Mais Razões
„ Para compartilhar entendimento comum „ Para fazer suposições explícitas do domínio
da estrutura da informação „ facilitar mudanças das hipóteses do domínio
„ entre pessoas (considerar uma base de conhecimento genética)
„ entre agentes de software „ facilitar entendimento e atualização de dados legados

„ Para possibilitar reuso do conhecimento „ Para separar o conhecimento do domínio do


conhecimento operacional
do domínio
„ reusar o conhecimento do domínio e operacional
„ evitar “re-inventar a roda” separadamente (e.g., configuração baseada nas
„ Introduzir padrões para interoperabilidade restrições)

Uma ontologia as vezes é só o


começo Tópicos
Declara a
Databases
estrutura „ O que é uma ontologia?
Ontologias
„ Tipos de ontologia
Bases de
conhecimento „ Porquê desenvolver uma ontologia?
Proporciona
Descrição do domínio „ Passo-a-Passo: Desenvolvendo uma ontologia
„ Aprofundando: Problemas comuns e soluções
Aplicações „ Ontologias nas linguagens de Web Semântica
Agentes Métodos de independentes
de resolução
„ Pesquisa atual e questões na engenharia da
de domínio
Software de ontologia
problemas

Processo de devenvolvimento de
Vinhos e Vinícolas ontologia
Neste exemplo:
determinar considerar enumerar definir definir definir criar
escopo reuso termos classes propriedades restrições instâncias

Na realidade – um processo iterativo:


determinar considerar enumerar considerar definir enumerar definir
escopo reuso termos reuso classes termos classes

definir definir definir definir criar definir criar


propriedades classes propriedades restrições instâncias classes instâncias

considerar definir definir criar


reuso propriedades restrições instâncias

5
Ontology Engineering versus
Object-Oriented Modeling Ferramentas
Uma ontologia Uma estrutura de „ Todas as telas a seguir do exemplo de vinhos são do:
Protégé-2000, que é:
„ reflete a estrutura do classe OO
„ uma ferramenta gráfica de desenvolvimento de ontolgogias
mundo „ reflete a estrutura do „ suporta um modelo de conhecimento rico
„ é as vezes sobre a dado e do código „ é open-source e disponível para uso livremente
estrutura dos conceitos „ geralmente sobre o (http://protege.stanford.edu)
„ a representação física comportamento „ Algumas outras ferramentas disponíveis:
atual não é o caso (métodos) „ Ontolingua e Chimaera
„ descreve a „ OntoEdit
representação física do „ OilEd
dado (long int, char, etc.)

Determinar Domínio e Escopo Questões de Competência


determinar considerar enumerar definir definir definir criar
escopo reuso termos classes propriedades restrições instâncias „ Quais características de vinho eu devo considerar
quando escolher um vinho?
„ Qual é o domínio que a ontologia irá cobrir? „ Bordeaux é um vinho tinto ou branco?
„ Para que nós estaremos usando a ontologia? „ Cabernet Sauvignon vai bem com frutos do mar?
„ Quais tipos de questões a informação na „ Qual a melhor escolha de vinho para carne grelhada?
ontologia deve prover respostas (questões „ Quais as características de um vinho que afetam sua
relação com um prato (comida)?
de competência)?
„ O sabor ou corpo de um específico vinho muda com o
Respostas para estas questões podem mudar ano da safra?
durante o ciclo de vida „ Qual foi a melhor safra do Napa Zinfandel?

Considerar Reuso O que Reusar?


determinar considerar enumerar definir definir definir criar
escopo reuso termos classes propriedades restrições instâncias „ Bibliotecas de Ontologias
„ DAML ontology library (www.daml.org/ontologies)
„ Porquê reusar outras ontologias? „ Ontolingua ontology library
„ economizar esforço (www.ksl.stanford.edu/software/ontolingua/)
„ Protégé ontology library
„ interagir com as ferramentas que usam (protege.stanford.edu/plugins.html)
outras ontologias
„ Ontologias Upper
„ usar ontologias que tenham sido validadas
„ IEEE Standard Upper Ontology (suo.ieee.org)
através do uso em aplicações
„ Cyc (www.cyc.com)

6
O que Reusar?(II) Enumerar termos importantes
determinar considerar enumerar definir definir definir criar
„ Ontologia Geral escopo reuso termos classes propriedades restrições instâncias

„ DMOZ (www.dmoz.org)
„ Quais são os termos que são falados?
„ WordNet (www.cogsci.princeton.edu/~wn/)
„ Quais são as propriedades destes termos?
„ Ontologias de domínio-específico
„ O que nós queremos dizer sobre os termos?
„ UMLS Semantic Net
„ GO (Gene Ontology) (www.geneontology.org)

Enumerando Termos – A ontologia Definir Classes e hierarquia de


de vinho Classes
determinar considerar enumerar definir definir definir criar

vinho, uva, vinícola, localização, escopo reuso termos classes propriedades restrições instâncias

cor do vinho, corpo do vinho, sabor do „ Uma classe é um conceito no domínio


„ uma classe de vinhos
vinho, quantidade de açucar
„ uma classe de vinícolas
vinho branco, vinho tinto, vinho Bordeaux „ uma classe de vinhos tinto
comida, frutos do mar, peixe, carne, „ Uma classe é uma coleção de elementos com
propriedades similares
vegetais, queijo
„ Instâncias de classes
„ uma garrafa de vinho da California para um almoço

Herança de Classes Herança de Classe - Exemplo


„ Classes geralmente constituem uma taxonomia „ Maçã é uma subclasse de Frutas
hierárquica (uma hierarquia de subclasse- Toda maçã é uma fruta
superclasse)
„ Vinho tinto é uma subclasse de Vinho
„ Uma hierarquia de classe é geralmente uma
Toda vinho tinto é um vinho
hierarquia IS-A:
„ Vinho Chianti é uma subclasse de vinho tinto
uma instância de uma subclasse é uma
Todo vinho Chianti é um vinho tinto
instância de uma superclasse
„ Se você pensa uma classe como um conjunto
de elementos, uma subclasse é um subconjunto

7
Níveis na Hierarquia Modos de Desenvolvimento
Top
level
„ top-down – define os conceitos mais
gerias primeiro e então especializa-os
Middle
level „ bottom-up – define os conceitos mais
Bottom específicos e então organiza-os em
level
classes mais gerais
„ combinação – define os conceitos mais
salientes primeiro e então generaliza e
especializa-os

Definir Propriedades de Classes –


Documentação Slots
determinar considerar enumerar definir definir definir criar
„ Classes (e propriedades) geralmente tem escopo reuso termos classes propriedades restriçõess instâncias

documentação
„ Descrever as classes em linguagem natural „ Propriedades (slot) em uma definição de
„ Listar suposições relevantes do domínio para as classe descreve atributos de instâncias da
definições de classe classe e relações a outras instâncias
„ Listar sinônimos
Cada vinho terá cor, quantidade de açucar,
„ Documentar classes e propriedades é tão produtores, etc.
importante quanto documentar código em
programas!

Propriedades para a Classe


Propriedades (Slots) Vinho
„ 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)
(no Protégé-2000)

8
Propriedade e herança de Classe Restrições de Propriedade
determinar considerar enumerar definire definire definir criar
„ Uma subclasse herda todos as escopo reuso termos classes propriedades restrições instâncias

propriedades da superclasse
Se um vinho tem o mesmo nome e gosto, um vinho
„ Restrições de propriedade (facets)
tinto também tem o mesmo nome e gosto descrevem ou limitam o conjunto de
„ Se uma classe tem múltiplas valores possíveis para um slot
superclasses, ela herda propriedades de O nome de um vinho é uma string
todas O produtor de vinho é uma instância de vinícola
Port é tanto um vinho suave quanto um vinho tinto. Ele
herda “conteúdo de açucar: high” do primeiro e “cor: Uma vinícola tem uma localização explícita
tinto” do último

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 Restrições comuns: Tipo de valor
„ Cardinalidade „ String: uma string de caracteres (“Château Lafite”)
„ Cardinalidade N significa que a propriedade deve ter N valores
„ Número: um integer ou um float (15, 4.5)
„ Cardinalidade mínima
„ Cardinalidade mínima 1 significa que a propriedade deve ter um „ Boolean: uma flag true/false
valor (requerido)
„ Tipo enumerated: uma lista de valores (high, medium,
„ Cardinalidade mínima 0 significa que o valor da propriedade é
opcional low)
„ Cardinalidade máxima „ Tipo complex: uma instância de outra classe
„ Cardinalidade máxima 1 significa que a propriedade deve ter ao „ Especifica a classe para qual as instâncias pertencem
menos um valor (slot de valor simples)
A classe vinho é o tipo de valor para a propriedade “produtores” da
„ Cardinalidade máxima maior do que 1 significa que a
propriedade tem mais do que um valor (slot de valor múltiplo) classe vinícola

9
Domínio e Range da propriedade Restrições e heranças de Classe
„ Domínio de uma propriedade – uma „ Uma subclasse herda todos as propriedades da
superclasse
classe (ou classes) que tem a propriedade
„ Uma subclasse pode sobrescrever as restrições
„ Mais precisamente: instâncias de classe (ou para “aproximar” a lista de valores permitidos
classes) da qual uma propriedade pode ter „ Tornar o range da cardinalidade menor
„ Range de uma propriedade – uma classe „ Substituir uma classe no range com uma subclasse
(ou classes) para qual valores podem Vinho
produtor
Vinícola
pertencer a uma propriedade is-a is-a
Vinho produtor Vinícola
Francês Francesa

Criar Instâncias Criar uma Instância: Exemplo


determinar considerar enumerar definir definir definir criar
escopo reuso termos classes propriedades restrições instâncias

„ Criar uma instância de uma classe


„ 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

Sumário Aprofundando
„ O que é uma ontologia? „ Cobertura da primeiro largura
„ Tipos de ontologia
determinar considerar enumerar definir definir definir criar
„ Porquê desenvolver uma ontologia? escopo reuso termos classes propriedades restrições instâncias

„ Passo-a-Passo: Desenvolvendo uma ontologia „ Cobertura da primeiro largura


„ Aprofundando: Problemas comuns e soluções
propriedades

determinar considerar enumerar criar


„ Ontologias nas linguagens de Web Semântica
restrições

escopo reuso termos instâncias


classes

definir
definir

definir

„ Pesquisa atual e questões na engenharia da


ontologia

10
Definir Classes e uma hierarquia de
Classe Herança múltipla

„ Coisas para lembrar: „ Uma classe pode ter mais do


que uma superclasse
„ Não existe uma única hierarquia de classe
„ Uma subclasse herda slots e
„ Mas existem alguns guidelines restrições facet de todos os
pais
„ A questão a ser perguntada:
„ Sistemas diferentes resolvem
“Uma instância da subclasse é uma instância conflitos diferentemente
de sua superclasse?”

Classes disjuntas Evitando Classes Cíclicas


„ Classes são disjuntas se elas não podem ter instâncias
comuns „ O perigo de herança múltipla:
„ Classes disjuntas não pode ter qualquer outras ciclos na hierarquia de classe
subclasses comuns
„ Classes A, B, e C tem
Port
Vinho
Vinho conjuntos equivalentes de
Vinho tinto, Vinho branco,
suave instâncias
Vinho rose são disjuntos Vinho Vinho Vinho „ Para muitas definições, A, B, e
tinto branco rose
Vinho suave e vinho tinto C são portanto equivalentes
não são disjuntos

Irmãos na hierarquia de Classe O tamanho da família perfeita


„ Todos os irmãos na „ Se uma classe tem sómente
hierarquia de classe deve um filho, pode ser um
estar no mesmo nível de problema modelar
generalidade „ Se o único tinto Burgundy
que nós temos é Côtes d’Or,
„ Compare as seções e porque introduzir na
subseções em um livro subhierarquia?
„ Compare os botões na lista

11
O tamanho da família perfeita (II) Nome de Classe Simples ou Plural
„ Se uma classe tem „ Um “vinho” não é um tipo
mais do que uma “vinhos”
dúzia de filhos,
subcategorias „ Um vinho é uma instância da
adicionais pode ser classe de Vinhos
Class
necessários „ Nomes de Classe de ser um
„ Contudo, se não dos dois
instance-of
existe classificação, a „ tudo singular
lista longa pode ser Instance

mais natural „ tudo plural

Classes e seus Nomes


„ Classes representam conceitos no domínio, não seus Uma hierarquia
nomes
completa de
„ O nome da classe pode mudar, mas ainda se referirá ao
Vinhos
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

De volta as propriedades: De volta as propriedades:


Domínio e Range Domínio e Range
„ Quando definindo um domínio ou range para DOMÍNIO RANGE
uma propriedade (slot), procure a classe (ou classe propriedade valores permitidos
classes) mais geral
„ Considere a propriedade sabor „ Quando definindo um domínio ou range para uma
propriedade, ache as classes ou classe mais geral
„ Domínio: Vinho tinto, vinho branco, vinho rose
„ Considere a propriedade sabor
„ Domínio: Vinho
„ Domínio: Vinho tinto, vinho branco, vinho rose
„ Considere a propriedade produtores para uma „ Domínio: Vinho
Vinícola: „ Considere a propriedade produtor para uma vinícola:
„ Range: Vinho tinto, vinho branco, vinho rose „ Range: Vinho tinto, vinho branco, vinho rose
„ Range: Vinho „ Range: Vinho

12
Definindo Domínio e Range Valores Default
„ Uma classe e uma
superclasse – „ Valor default - um valor para a propriedade
substitua com a quando uma instância é criada
superclasse
„ Todas as subclasses „ O valor default pode ser mudado
de uma classe – „ O valor default é um valor comum para a
substitua com a
superclasse propriedade, mas não é um valor requerido
„ Muitas subclasses de „ Por exemplo, o valor default para corpo do
uma classe –
considere substituir vinho pode ser FULL
pela superclasse

Limitando o Escopo Limitando o Escopo (II)


„ Ontologia de vinho, comida, e seus pares
„ Uma ontology não deve conter todas as provavelmente não incluem
informações possíveis sobre o domínio „ Tamanho da garrafa
„ Não necessitam especializar ou generalizar „ Côr do rótulo da garrafa
mais do que a aplicação requer „ Comida e vinho preferido
„ Não necessitam incluir todas as propriedades „ Uma ontologia de experimentos biológicos
conterão
possíveis da classe
„ Organismos biológicos
„ Sómente as propriedades mais salientes
„ Experimentos
„ Sómente as propriedades que a aplicação requer
„ A classe Experimento é uma subclasse de
Organismo Biológico?

Tópicos Ontologias e as linguagens WS


„ O que é uma Ontologia? „ Muitas linguagens de Web Semântica são
„ Tipos de ontologia designadas explicitamente para representar
„ Porquê desenvolver uma Ontologia? ontologias
„ RDF Schema
„ Passo-a-Passo: Desenvolvendo uma ontologia
„ DAML+OIL
„ Aprofundando: Problemas comuns e soluções „ SHOE
„ Ontologias nas linguagens de Web Semântica „ XOL
„ Pesquisa atual e questões na engenharia da „ XML Schema
ontologia

13
Linguagens da WS Tópicos
„ As linguagens diferem em sua „ O que é uma Ontologia?
„ syntaxe
„ Não é importante aqui – Uma ontologia é uma representação „ Tipos de ontologia
conceitual
„ terminologia „ Porquê desenvolver uma Ontologia?
„ Classe-conceito „ Passo-a-Passo: Desenvolvendo uma ontologia
„ Instância-objeto
„ Slot-propriedade „ Aprofundando: Problemas comuns e soluções
„ expressividade
„ O que nós podemos expressar em muitas linguagens, não se pode
„ Ontologias nas linguagens de Web Semântica
expressar em outras
„ Pesquisa atual e questões na engenharia da
„ semântica
„ A mesma declaração pode significar coisas diferentes em ontologia
linguafens diferentes.

Questões de pesquisa na Enginharia


da Ontologia Conteúdo: Ontologias Top-Level

„ Geração de conteúdo „ O que significa “top-level” ?


„ Objetos: tangíveis, intangíveis
„ Analise e avaliação „ Processos, eventos, atores, papéis
„ Manutenção „ Agentes, organizações
„ Espaços, fronteiras, localizações
„ Linguagens de ontologia „ Tempo
„ Ferramentas de desenvolvimento „ 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 Análises
„ Aquisição de conhecimento é o gargalo „ Analises: consistência semântica
„ Violação de restrições de propriedades
„ Compartilhar e reusar amenizam o problema „ Ciclos na hierarquia de classes
„ Mas é necessários automatizar as técnicas de aquisição „ Termos que são usados mas não definidos
de conhecimento „ Restrições de intervalo que produzem intervalos vazios (min > max)
„ Analise: estilo
„ Técnicas lingüística: aquisição de ontologia de textos
„ Classes com uma simples subclasse
„ Machine-learning: gerar ontologias de documentos estruturados „ Classes e propriedades sem definições
(e.g., documentos XML) „ Propriedades sem restrições (tipo do valor, cardinalidade)
„ Explorar a estrutura WEB: gerar ontologias por sites web „ Ferramentas para análise automática
estruturados por crawling „ Chimaera (Stanford KSL)
„ Modelos de aquisição de conhecimento: especificar „ DAML validator
especialistas somente em parte do conhecimento requerido

14
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)

15

You might also like