15
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 chearply...”

Tópicos O que é uma ontologia - inf.ufsc.brfernando.gauthier/EGC6006/material/Aula 6... · Classes: representam conceitos, que são definidos de senso comum. ... Um axioma é uma

  • Upload
    buique

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

1

Engenharia de Ontologiapara 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. McGuinnesshttp://protege.stanford.edu/publications/ontology_development/ontology101.html

VinhosFrancesese regiõesvinículas

Vinhos daCalifornia e regiõesvinícolas

Qual vinhoeu devo

servir com frutos do mar hoje? Uma

ONTOLOGIAComum de

Vinho e comida

Tópicos

O que é uma ontologia?Tipos de ontologiaPorquê desenvolver uma ontologia?Passo-a-Passo: Desenvolvendo uma ontologiaAprofundando: Problemas comuns e soluçõesOntologias nas linguagens de Web SemânticaPesquisa atual e questões na engenharia daontologia

O que é uma ontologia

Uma ontologia é uma descrição explícita de um domínio:

conceitospropriedades e conceitos de atributosRestrições nas propriedades e atributosIndividuos/instâncias (as vezes, mas nem sempre)

Uma ontologia define um vocabulário comumum 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

chearply...”

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 umaontologia

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 umaontologia

Modelando ontologias heavyweightGruber (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 é únicopara 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 DLDescription 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 umaontologia

Modelando ontologias lightweightCom técnicas de engenharia de software: A UML de Rumbaugh et al. (1998) pode ser usada como uma técnica para modelar ontologias. Umadas 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/Relacionamentopara com uma extensão comum de generalização de relacionamentosentre entidades.

3

Exemplos de ontologia

Taxonomias na WebYahoo! categorias

Catalogos para vendas on-lineAmazon.com (produtos catálogos)

Terminologia padrão de domínio-específicoUnified 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 valoresDefinir individuos/instâncias e preencher os valoresdo slot

Tópicos

O que é uma ontologia?Tipos de ontologiaPorquê desenvolver uma ontologia?Passo-a-Passo: Desenvolvendo uma ontologiaAprofundando: Problemas comuns e soluçõesOntologias nas linguagens de Web SemânticaPesquisa atual e questões na engenharia daontologia

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 maisrelaçõ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)

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 sobreum dado paradigma de KR. (Frame ontology e OKBC ontology).

Ontologias geral ou comum: são usadas para representar conhecimentode 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 existentedeve 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 tarefagené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çõesaplicadas para especificar um processo de raciocíneo assim como realizaruma tarefa particular. (Scheduling pela decomposição em tarefas).

Ontologias de aplicação: são aplicações dependentes que contém todasas definições necessárias para modelar o conhecimento requerido parauma aplicação particular. (Metereology ontology).

Usabilidade X Reusabilidade Tópicos

O que é uma ontologia?Tipos de ontologiaPorquê desenvolver uma ontologia?Passo-a-Passo: Desenvolvendo uma ontologiaAprofundando: Problemas comuns e soluçõesOntologias nas linguagens de Web SemânticaPesquisa atual e questões na engenharia daontologia

5

Porquê desenvolver uma ontologia?Para compartilhar entendimento comumda estrutura da informação

entre pessoasentre agentes de software

Para possibilitar reuso do conhecimentodo domínio

evitar “re-inventar a roda”Introduzir padrões para interoperabilidade

Mais Razões

Para fazer suposições explícitas do domíniofacilitar 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 operacionalseparadamente (e.g., configuração baseada nasrestrições)

Uma ontologia as vezes é só o começo

Ontologias

Agentesde

Software

Métodos de resolução

de problemas

Aplicaçõesindependentes

de domínio

DatabasesDeclara aestrutura

Bases deconhecimento

ProporcionaDescrição do domínio

Tópicos

O que é uma ontologia?Tipos de ontologiaPorquê desenvolver uma ontologia?Passo-a-Passo: Desenvolvendo uma ontologiaAprofundando: Problemas comuns e soluçõesOntologias nas linguagens de Web SemânticaPesquisa atual e questões na engenharia daontologia

Vinhos e VinícolasProcesso de devenvolvimento de ontologia

Neste exemplo:determinar

escopoconsiderar

reusoenumerar

termosdefinir

classesdefinir

propriedadesdefinir

restriçõescriar

instâncias

Na realidade – um processo iterativo:determinarescopo

considerarreuso

enumerartermos

definirclasses

considerarreuso

enumerartermos

definirclasses

definirpropriedades

criarinstâncias

definirclasses

definirpropriedades

definirrestrições

criarinstâncias

definirclasses

considerarreuso

definirpropriedades

definirrestrições

criarinstâncias

6

Ontology Engineering versus Object-Oriented Modeling

Uma ontologiareflete a estrutura do mundoé as vezes sobre a estrutura dos conceitosa representação físicaatual não é o caso

Uma estrutura de classe OO reflete a estrutura do dado e do códigogeralmente 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 ontolgogiassuporta um modelo de conhecimento ricoé open-source e disponível para uso livremente(http://protege.stanford.edu)

Algumas outras ferramentas disponíveis:Ontolingua e ChimaeraOntoEditOilEd

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 naontologia deve prover respostas (questõesde competência)?Respostas para estas questões podem mudar

durante o ciclo de vida

determinarescopo

considerarreuso

enumerartermos

definirclasses

definirpropriedades

definirrestrições

criarinstâncias

Questões de Competência

Quais características de vinho eu devo considerarquando 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 suarelaçã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çointeragir com as ferramentas que usamoutras ontologiasusar ontologias que tenham sido validadasatravés do uso em aplicações

determinarescopo

considerarreuso

enumerartermos

definirclasses

definirpropriedades

definirrestrições

criarinstâncias

O que Reusar?

Bibliotecas de OntologiasDAML 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 UpperIEEE Standard Upper Ontology (suo.ieee.org)Cyc (www.cyc.com)

7

O que Reusar?(II)

Ontologia GeralDMOZ (www.dmoz.org)

WordNet (www.cogsci.princeton.edu/~wn/)Ontologias de domínio-específico

UMLS Semantic NetGO (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?

considerarreuso

determinarescopo

enumerartermos

definirclasses

definirpropriedades

definirrestrições

criarinstâncias

Enumerando Termos – A ontologiade vinho

vinho, uva, vinícola, localização, cor do vinho, corpo do vinho, sabor do

vinho, quantidade de açucarvinho branco, vinho tinto, vinho Bordeauxcomida, frutos do mar, peixe, carne,

vegetais, queijo

Definir Classes e hierarquia de Classes

Uma classe é um conceito no domíniouma classe de vinhosuma classe de vinícolasuma classe de vinhos tinto

Uma classe é uma coleção de elementos com propriedades similaresInstâncias de classes

uma garrafa de vinho da California para um almoço

considerarreuso

determinarescopo

definirclasses

definirpropriedades

definirrestrições

criarinstâncias

enumerartermos

Herança de Classes

Classes geralmente constituem uma taxonomiahierárquica (uma hierarquia de subclasse-superclasse)Uma hierarquia de classe é geralmente umahierarquia IS-A:uma instância de uma subclasse é uma

instância de uma superclasseSe você pensa uma classe como um conjuntode elementos, uma subclasse é um subconjunto

Herança de Classe - Exemplo

Maçã é uma subclasse de FrutasToda maçã é uma fruta

Vinho tinto é uma subclasse de VinhoToda vinho tinto é um vinho

Vinho Chianti é uma subclasse de vinho tintoTodo vinho Chianti é um vinho tinto

8

Níveis na Hierarquia

Middlelevel

Toplevel

Bottomlevel

Modos de Desenvolvimento

top-down – define os conceitos maisgerias primeiro e então especializa-osbottom-up – define os conceitos maisespecíficos e então organiza-os emclasses mais geraiscombinação – define os conceitos maissalientes 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 classeListar sinônimos

Documentar classes e propriedades é tãoimportante quanto documentar código emprogramas!

Definir Propriedades de Classes –Slots

Propriedades (slot) em uma definição de classe descreve atributos de instâncias daclasse e relações a outras instânciasCada vinho terá cor, quantidade de açucar,

produtores, etc.

considerarreuso

determinarescopo

definirrestriçõess

criarinstâncias

enumerartermos

definirclasses

definirpropriedades

Propriedades (Slots)

Tipos de propriedadespropriedade “intrínsica” : sabor e cor do vinhoPropriedade “extrínsica” : nome e preço do vinhopartes: ingredientes em um pratorelações com outros objetos: produtores de vinho(vinícola)

Propriedades simples e complexaspropriedade simples (atributos): contém valoresprimitivos (strings, numbers)propriedade complexas: contém (ou aponta para) outros objetos (e.g., uma instância de vinícola)

Propriedades para a ClasseVinho

(no Protégé-2000)

9

Propriedade e herança de Classe

Uma subclasse herda todos as propriedades da superclasseSe um vinho tem o mesmo nome e gosto, um vinho

tinto também tem o mesmo nome e gostoSe uma classe tem múltiplassuperclasses, ela herda propriedades de todasPort é 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 slotO nome de um vinho é uma stringO produtor de vinho é uma instância de vinícolaUma vinícola tem uma localização explícita

considerarreuso

determinarescopo

criarinstâncias

enumerartermos

definireclasses

definirrestrições

definirepropriedades

Restrições para propriedades naClasse vinho Restrições comuns

Cardinalidade da propriedade – o númerode valores que uma propriedade temTipo de valor da propriedade – o tipo de valor que uma propriedade temValores mínimo e máximo – um range de valores para uma propriedade numéricaValor default – valor que uma propriedadetem caso não explicitamente especificado

Restrições comuns: Cardinalidade da propriedade

CardinalidadeCardinalidade N significa que a propriedade deve ter N valores

Cardinalidade mínimaCardinalidade 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áximaCardinalidade máxima 1 significa que a propriedade deve ter aomenos 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 pertencemA classe vinho é o tipo de valor para a propriedade “produtores” da

classe vinícola

10

Domínio e Range da propriedade

Domínio de uma propriedade – umaclasse (ou classes) que tem a propriedade

Mais precisamente: instâncias de classe (ouclasses) da qual uma propriedade pode ter

Range de uma propriedade – uma classe(ou classes) para qual valores podempertencer a uma propriedade

Restrições e heranças de Classe

Uma subclasse herda todos as propriedades dasuperclasseUma subclasse pode sobrescrever as restriçõespara “aproximar” a lista de valores permitidos

Tornar o range da cardinalidade menorSubstituir uma classe no range com uma subclasse

Vinho

VinhoFrancês

Vinícola

VinícolaFrancesa

is-a is-a

produtor

produtor

Criar Instâncias

Criar uma instância de uma classeA classe torna-se um tipo direto de instânciaQualquer superclasse do tipo direto é um tipo de instância

Atribuir valores da propriedade para a instânciaValores das propriedades devem obedecer as restrições da mesmaFerramentas de aquisição de conhecimento as vezesfazem isto

considerarreuso

determinarescopo

criarinstâncias

enumerartermos

definirclasses

definirpropriedades

definirrestrições

Criar uma Instância: Exemplo

Sumário

O que é uma ontologia?Tipos de ontologiaPorquê desenvolver uma ontologia?Passo-a-Passo: Desenvolvendo uma ontologiaAprofundando: Problemas comuns e soluçõesOntologias nas linguagens de Web SemânticaPesquisa atual e questões na engenharia daontologia

Aprofundando

Cobertura da primeiro largura

determinarescopo

considerarreuso

enumerartermos

definirclasses

definirpropriedades

definirrestrições

criarinstâncias

determinarescopo

considerarreuso

enumerartermos definir

classes

definirpropriedades

definirrestrições

criarinstâncias

Cobertura da primeiro largura

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 superclasseUma subclasse herda slots e restrições facet de todos ospaisSistemas diferentes resolvemconflitos diferentemente

Classes disjuntasClasses são disjuntas se elas não podem ter instânciascomunsClasses disjuntas não pode ter qualquer outrassubclasses comuns

Vinho tinto, Vinho branco,Vinho rose são disjuntos

Vinho suave e vinho tintonão são disjuntos

Vinho

Vinhotinto

Vinhorose

Vinhobranco

Vinhosuave

Port

Evitando Classes Cíclicas

O perigo de herança múltipla: ciclos na hierarquia de classeClasses 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 nahierarquia de classe deveestar no mesmo nível de generalidadeCompare as seções e subseções em um livro

O tamanho da família perfeita

Se uma classe tem sómenteum filho, pode ser um problema modelarSe o único tinto Burgundy que nós temos é Côtes d’Or, porque introduzir nasubhierarquia?Compare os botões na lista

12

O tamanho da família perfeita (II)

Se uma classe tem mais do que umadúzia de filhos, subcategoriasadicionais pode ser necessáriosContudo, se nãoexiste 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 daclasse de VinhosNomes de Classe de ser um dos dois

tudo singulartudo plural

Class

Instance

instance-of

Classes e seus Nomes

Classes representam conceitos no domínio, não seusnomes

O nome da classe pode mudar, mas ainda se referirá aomesmo conceito

Nomes sinônimos para o mesmo conceito não sãoclasses diferentes

Muitos sistemas permitem listas de sinônimos como parte dadefinição da classe

Uma hierarquiacompleta de Vinhos

De volta as propriedades: Domínio e Range

Quando definindo um domínio ou range parauma propriedade (slot), procure a classe (ouclasses) mais geralConsidere a propriedade sabor

Domínio: Vinho tinto, vinho branco, vinho roseDomínio: Vinho

Considere a propriedade produtores para umaVinícola:

Range: Vinho tinto, vinho branco, vinho roseRange: Vinho

Quando definindo um domínio ou range para umapropriedade, ache as classes ou classe mais geralConsidere a propriedade sabor

Domínio: Vinho tinto, vinho branco, vinho roseDomínio: Vinho

Considere a propriedade produtor para uma vinícola:Range: Vinho tinto, vinho branco, vinho rose Range: Vinho

propriedadeclasse valores permitidos

DOMÍNIO RANGE

De volta as propriedades: Domínio e Range

13

Definindo Domínio e RangeUma classe e umasuperclasse –substitua com a superclasseTodas as subclasses de uma classe –substitua com a superclasseMuitas subclasses de uma classe –considere substituirpela superclasse

Valores Default

Valor default - um valor para a propriedadequando uma instância é criadaO valor default pode ser mudadoO valor default é um valor comum para a propriedade, mas não é um valor requeridoPor 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 generalizarmais do que a aplicação requerNão necessitam incluir todas as propriedadespossíveis da classe

Sómente as propriedades mais salientesSó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 garrafaCôr do rótulo da garrafaComida e vinho preferido

Uma ontologia de experimentos biológicosconterão

Organismos biológicosExperimentos

A classe Experimento é uma subclasse de Organismo Biológico?

Tópicos

O que é uma Ontologia?Tipos de ontologiaPorquê desenvolver uma Ontologia?Passo-a-Passo: Desenvolvendo uma ontologiaAprofundando: Problemas comuns e soluçõesOntologias nas linguagens de Web SemânticaPesquisa atual e questões na engenharia daontologia

Ontologias e as linguagens WS

Muitas linguagens de Web Semântica sãodesignadas explicitamente para representarontologias

RDF SchemaDAML+OILSHOEXOLXML Schema

14

Linguagens da WS

As linguagens diferem em suasyntaxe

Não é importante aqui – Uma ontologia é uma representaçãoconceitual

terminologiaClasse-conceitoInstância-objetoSlot-propriedade

expressividadeO que nós podemos expressar em muitas linguagens, não se podeexpressar em outras

semânticaA mesma declaração pode significar coisas diferentes emlinguafens diferentes.

Tópicos

O que é uma Ontologia?Tipos de ontologiaPorquê desenvolver uma Ontologia?Passo-a-Passo: Desenvolvendo uma ontologiaAprofundando: Problemas comuns e soluçõesOntologias nas linguagens de Web SemânticaPesquisa atual e questões na engenharia daontologia

Questões de pesquisa na Enginhariada Ontologia

Geração de conteúdoAnalise e avaliaçãoManutençãoLinguagens de ontologiaFerramentas de desenvolvimento

Conteúdo: Ontologias Top-Level

O que significa “top-level” ?Objetos: tangíveis, intangíveisProcessos, eventos, atores, papéisAgentes, organizaçõesEspaços, fronteiras, localizaçõesTempo

Esforço da IEEE Standard Upper OntologyObjetivo: Projetar uma ontologia simples upper-level Processo: Unir ontologias upper-level existentes

Conteúdo: Aquisição de conhecimento

Aquisição de conhecimento é o gargaloCompartilhar e reusar amenizam o problemaMas é necessários automatizar as técnicas de aquisiçãode conhecimento

Técnicas lingüística: aquisição de ontologia de textosMachine-learning: gerar ontologias de documentos estruturados(e.g., documentos XML)Explorar a estrutura WEB: gerar ontologias por sites web estruturados por crawlingModelos de aquisição de conhecimento: especificarespecialistas somente em parte do conhecimento requerido

AnálisesAnalises: consistência semântica

Violação de restrições de propriedadesCiclos na hierarquia de classesTermos que são usados mas não definidosRestrições de intervalo que produzem intervalos vazios (min > max)

Analise: estiloClasses com uma simples subclasseClasses e propriedades sem definiçõesPropriedades sem restrições (tipo do valor, cardinalidade)

Ferramentas para análise automáticaChimaera (Stanford KSL)DAML validator

15

Onde procurar mais?

TutoriaisNatalya F. Noy and Deborah L. McGuinness (2001) “Ontology Development 101: A Guide to Creating Your First Ontology”http://protege.stanford.edu/publications/ontology_development/ontology101.htmlFarquhar, A. (1997). Ontolingua tutorial. http://ksl-web.stanford.edu/people/axf/tutorial.pdf

MetodologiaGó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)