O que é uma ontologia. Tópicos. Fundamentos teóricos da ontologia. Fundamentos teóricos da ontologia. Engenharia de Ontologia para Web Semântica

Texto

(1)

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 Vinhos Franceses e regiões vinículas Vinhos da California e regiões vinícolas Qual vinho eu devo servir com frutos do

mar hoje? Uma

ONTOLOGIA Comum de Vinho e comida

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,

e-commerce, 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

(2)

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 inter-related 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.

(3)

Exemplos de ontologia

„Taxonomias na Web

„Yahoo! categorias

„Catalogos para vendas on-line

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

(4)

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 top-level. (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

(5)

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

Ontologias Agentes de Software Métodos de resolução de problemas Aplicações independentes de domínio Databases Declara a estrutura Bases de conhecimento Proporciona Descrição do 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

enumerar

(6)

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

„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

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

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

„

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 determinar escopo considerar reuso enumerar termos definir classes definir propriedades definir restrições criar instâncias

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)

(7)

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

„

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?

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

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

„ Uma classe é um conceito no domínio

„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

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

Herança de Classes

„ Classes geralmente constituem uma taxonomia

hierárquica (uma hierarquia de subclasse-superclasse)

„ 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

(8)

Níveis na Hierarquia

Middle level Top 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

„

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. considerar reuso determinar escopo definir restriçõess criar instâncias enumerar termos definir classes definir propriedades

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

(9)

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

„

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

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

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 N significa que a propriedade deve ter N valores

„ Cardinalidade mínima

„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

(10)

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 Vinho Francês Vinícola Vinícola Francesa is-a is-a produtor produtor

Criar 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 considerar reuso determinar escopo criar instâncias enumerar termos definir classes definir propriedades definir restrições

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 determinar escopo considerar reuso enumerar termos def ini r cl asses def ini r pr opr ie dades def ini r rest ri ções criar instâncias

(11)

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

Vinho tinto, Vinho branco, Vinho rose são disjuntos Vinho suave e vinho tinto

não são disjuntos

Vinho Vinho tinto Vinho rose Vinho branco Vinho suave Port

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?

(12)

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

„

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 Class Instance instance-of

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

„ Quando definindo um domínio ou range para uma

propriedade, ache as classes ou classe mais geral

„ Considere a propriedade sabor

„ 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

propriedade

classe valores permitidos

DOMÍNIO RANGE

(13)

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

„Tamanho da garrafa

„Côr do rótulo da garrafa

„Comida e vinho preferido

„ Uma ontologia de experimentos biológicos

conterão

„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

(14)

Linguagens da WS

„ As linguagens diferem em sua

„syntaxe

„Não é importante aqui – Uma ontologia é uma representação conceitual „terminologia „Classe-conceito „Instância-objeto „Slot-propriedade „expressividade

„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 „ 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) „ Analise: estilo

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

(15)

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.

Imagem

Referências

temas relacionados :