Date post: | 07-Apr-2016 |
Category: |
Documents |
Upload: | andre-claro |
View: | 212 times |
Download: | 0 times |
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. McGuinnesshttp://protege.stanford.edu/publications/ontology_development/ontology101.html
VinhosFrancesese regiõesvinículas
Vinhos daCalifornia e regiões vinícolas
Qual vinho eu devo
servir com frutos do mar hoje? Uma Uma
ONTOLOGIAONTOLOGIAComum deComum de
Vinho e comidaVinho 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...”
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.
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 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)
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 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
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
Ontologias
Agentes de
Software
Métodos de resolução
de problemas
Aplicaçõesindependentes
de domínio
DatabasesDeclara aestrutura
Bases de conhecimento
ProporcionaDescriçã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
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
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
determinarescopo
considerarreuso
enumerartermos
definirclasses
definirpropriedades
definirrestrições
criarinstâ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
determinarescopo
considerarreuso
enumerartermos
definirclasses
definirpropriedades
definirrestrições
criarinstâ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) 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
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 ontologia de 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í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
considerarreuso
determinarescopo
definirclasses
definirpropriedades
definirrestrições
criarinstâncias
enumerartermos
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 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
Níveis na Hierarquia
Middlelevel
Toplevel
Bottomlevel
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ânciasCada vinho terá cor, quantidade de açucar,
produtores, etc.
considerarreuso
determinarescopo
definirrestriçõess
criarinstâncias
enumerartermos
definirclasses
definirpropriedades
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 superclasseSe 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 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 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 pertencemA 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
VinhoFrancês
Vinícola
VinícolaFrancesa
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
considerarreuso
determinarescopo
criarinstâncias
enumerartermos
definirclasses
definirpropriedades
definirrestriçõ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
determinarescopo
considerarreuso
enumerartermos
definirclasses
definirpropriedades
definirrestrições
criarinstâncias
determinarescopo
considerarreuso
enumerartermos definir
classes
definirpropriedades
definirrestrições
criarinstâncias
Cobertura da primeiro largura
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
Vinhorose
Vinhobranco
Vinhosuave
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?
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
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
propriedadeclasse valores permitidos
DOMÍNIO RANGE
De volta as propriedades: Domínio e Range
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 designadas explicitamente para representar ontologias RDF Schema DAML+OIL SHOE XOL XML Schema
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) 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/ontology101.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)