Introdução à Modelagem Conceitual 4. Ontologias

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

Programação em Java Prof. Maurício Braga
A busca das mulheres para alcançar seu espaço dentro das organizações
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
VBA – Módulos, Procedimentos e Funções
Engenharia de Dados Mini-Curso Introdução à Web Semântica
Curso de ADMINISTRAÇÃO
Modelagem Orientada a Objetos
Desenvolvimento de Ontologia 101
Técnicas de Representação de Conhecimento
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
EXPRESSÕES ARITMÉTICAS
Estatística Básica Utilizando o Excel
FUNÇÃO MODULAR.
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Alunos: Benedito Jr, Douglas Bertol, Robson Costa
PROTEGÉ Suporte FRAMES
Aula 4 Nomes, Vinculações, Tipos e Escopos
Ontologias e web semântica
Conceitos Básicos.
TÉCNICAS DE PROGRAMAÇÃO II
Conhecendo o Visual Studio.NET
DIAGRAMA DE COMPONENTES
Renda até 2 SM.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
PESQUISA SOBRE PRAZO MÉDIO DA ASSISTÊNCIA NA SAÚDE SUPLEMENTAR
Sistemas Inteligentes Ontologia e Protegé
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
Taxonomia Profa. Lillian Alvares,
Funcionários - Grau de Satisfação 2096 avaliações
PETER ANTONY RAUSCH JOYCE MARTINS
Extranet GRD – Guia de Remessa de Documentos
Projeto Medindo minha escola.
Introdução às Ontologias
1.
Projeto de Banco de Dados
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1.
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
Ontologias Profa. Lillian Alvares
Máquina de Turing Universal
ÁREA DE TRABALHO DO WINDOWS
Princípios de Análise e Projeto Orientados a Objetos com UML
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
SISTEMAS DISTRIBUIDOS Aula 4
© Ricardo Pereira e Silva
Banco de Dados Aplicado ao Desenvolvimento de Software
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
CIn- UFPE 1 Construindo Bases de Conhecimento Lógica de Primeira Ordem eficiente para representar conhecimento e para raciocinar porém, nada diz sobre.
Introdução a Banco de Dados Aula 04
Inteligência Artificial Web Semântica
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Ferramentas de Manipulação de Ontologias (Protégé)
Utilização de Ontologias para Integração de Heterogeneidade Semântica
Tesauro, Taxonomia e Ontologia: uma evolução?
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Criando Otologias em OWL com o Protégé 4.0
Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Transcrição da apresentação:

Introdução à Modelagem Conceitual 4. Ontologias Universidade Católica de Pelotas Centro Politécnico Laboratório de Modelagem Computacional Introdução à Modelagem Conceitual 4. Ontologias Luiz A M Palazzo Maio, 2011

Roteiro Motivação Conceitos Projeto Prática de Projeto Protégé Construção Feedback 04 - Ontologias

1 Motivação

Motivation! 04 - Ontologias

Motivação Noção de ontologia Afinal, ontologias pra quê? Áreas de aplicação Exemplos de aplicações Desafios Perspectivas futuras 04 - Ontologias

Noção de Ontologia Ramo da filosofia que lida com a natureza e organização da realidade. Ciência do ser (Aristóteles). Tenta responder as questões: O que é ser ? Quais as características comuns a todos os seres? Em computação: Uma especificação formal e compartilhada de uma conceitualização. (Gruber, 1993). 04 - Ontologias

Afinal, ontologias pra quê? Para compartilhar conhecimento comum sobre a estrutura da informação: Entre pessoas Entre agentes de software Para permitir a reutilização do conhecimento sobre um domínio: Para evitar a “reinvenção da roda” Para introduzir padrões que permitam a interoperabilidade entre aplicações 04 - Ontologias

Algumas Áreas de Aplicação Modelos conceituais, Recuperação de informações, Bibliotecas digitais, Web semântica, Gestão de conhecimento, Processamento da linguagem natural, Inteligência artificial, Sistemas multiagentes... 04 - Ontologias

Exemplos de Aplicações (KA)2: Anotação de documentos Web CIA World Factbook OntoShare Semantic Web Research Community SWAP: Ontologias + P2P Gene: Bioinformática CVA-ON: Comunidades Virtuais 04 - Ontologias

Bibliotecas Virtuais Ontologias para a indexação de grandes repositórios de recursos digitais. The WWW Virtual Library http://vlib.org/ Wikipedia em português http://pt.wikipedia.org/wiki/ Outras bibliotecas virtuais brasileiras http://www.cg.org.br/gt/gtbv/alfabetica.htm Ontologias... http://www.cs.utexas.edu/users/mfkb/related.html 04 - Ontologias

Web Semântica Iniciativa do W3C com o objetivo de adicionar significado à Web. Baseada na tecnologia xml/rdf, fazendo evoluir o html da Web Sintática. WWW Consortium http://www.w3.org Linguagens para a Web Semântica: RDF – http://www.w3.org/RDF/ DAML+OIL - http://www.daml.org/ OWL - http://www.w3.org/TR/owl-features/ 04 - Ontologias

DAML+OIL / OWL Estendem o vocabulário XML e RDF/S Web Languages RDF/S XML Estendem o vocabulário XML e RDF/S São linguagens ricas para a representação de ontologias Orientadas a uma implementação eficiente DAML-ONT OIL DAML+OIL OWL Frame Systems Formal Foundations Description Logics FACT, CLASSIC, DLP, … 04 - Ontologias

Camadas da Web Semântica Camada de Estrutura Responsável por estruturar os dados e definir seu significado Camada de Esquema Responsável por definir relações entre os dados Uso de ontologias em páginas web torna mais simples a resolução de indefinição ou conflito de terminologia Camada Lógica Responsável por definir mecanismos para fazer inferência sobre os dados Composta por um conjunto de regras de inferência Regras de inferência fornecem aos agentes computacionais o poder de raciocinar sobre as estruturas de dados 04 - Ontologias

Camadas da Web Semântica Busca Semântica … E-commerce Aplicações Web Semântica Regras de Inferência Camada Lógica Ontologia Ontologia Ontologia Camada de Esquema Camada de Estrutura Dados 04 - Ontologias

A Arquitetura de Tim Berners-Lee 04 - Ontologias

Gestão de Conhecimento The KM Research Center http://www.cio.com/research/knowledge/ Portal KMOL http://www.kmol.online.pt/ KM na Wikipédia http://pt.wikipedia.org/wiki/Gestão_do_Conhecimento#Links_Externos Gestão Estratégica do Conhecimento http://www.cni.org.br/links/links-at-gestaoconhecimento.htm Debate: GC... Onde? 04 - Ontologias

Desafios da Web Semânttica Carência de profissionais especializados, Evolução de culturas (html  xml/rdf), Padrões digitais de mídia instáveis, Crescimento simultâneo e continuado da Web Sintática, Falta de investimento adequado, Falta de visibilidade da área. 04 - Ontologias

Perspectivas Base para a computação móvel e ubíqua, Grande disseminação prevista a médio prazo, Novo patamar para as interações homem-computador, Novos produtos e oportunidades de pesquisa, Aplicação em grande escala em educação e gestão de conhecimento. 04 - Ontologias

2 Conceitos

Conceitos Noção precisa de Ontologia Elementos de uma Ontologia Exemplos de Ontologia Vocabulários Glossários Thesauri Taxonomias Redes Semânticas Ontologias 04 - Ontologias

Noção Precisa de Ontologia Especificação formal explícita de uma conceitualização compartilhada (Gruber, 1993). Conceitualização: modelo das entidades, relações, axiomas e regras de algum domínio. Formal: Processável por máquina Permitindo raciocínio automático Com semântica lógica formal Compartilhada: por uma comunidade, permitindo entendimento. Conceitos de computação relacionados: Base de conhecimento reutilizável Esquema de banco de dados 04 - Ontologias

Elementos de uma Ontologia Hierarquia de conceitos Entidades Relações Restrições Regras Dedutivas Instâncias de Conceitos 04 - Ontologias

Hierarquia de Conceitos Entidades Cada entidade é definida por um conjunto de pares atributo-valor Correspondem: às classes dos modelos orientado a objetos às entidades do modelo relacional aos termos do modelo lógico Relações sem hierarquia x em hierarquia paralela a hierarquia de entidades correspondem: às associações, agregações e atributos dos modelos OO cujos valores são objetos às relações do modelo relacional aos predicados do modelo lógico 04 - Ontologias

Restrições Sobre valores possíveis dos atributos dos conceitos Correspondem: às assinaturas de classes em modelos OO aos axiomas universalmente quantificados em modelos lógicos às restrições de integridade nos esquema de BD 04 - Ontologias

Regras Dedutivas Sobre atributos de (conjuntos de) conceitos Permitem inferência automática da existência de instâncias de conceitos a partir da existência de outras instâncias Correspondem: às regras dos sistemas especialistas e da programação em lógica aos métodos dos modelos OO às visões em BD 04 - Ontologias

Instâncias de Conceitos Definição de entidades e relações específicas (indivíduos) Correspondem: aos fatos de sistemas especialistas e programação em lógica aos objetos dos modelos OO aos dados das BD 04 - Ontologias

Tipos de Ontologias Especialista: modela um domínio particular restrito Geral: modela o conhecimento de senso comum compartilhado por todos os seres humanos. parte de mais alto nível, reutilizável em vários domínios. Conceitual: fundamentada na capacidade de raciocinar. Lingüística: fundamentada no vocabulário de alguma(s) língua(s). De Metadados: “especializada” na descrição de recursos on-line sobre qualquer domínio De Tarefas e Métodos: modela procedimentos e comportamentos abstratos no lugar de entidades ou relações 04 - Ontologias

Exemplo de Ontologia Especialista: Fragmentos de uma Ontologia Acadêmica em UML 04 - Ontologias

Pessoas em uma Universidade Person address : String editor : Publication email : String fax : String firstName : String lastName : String memberOfPC : Event middleInitial : String name : String organizerOrChairOf : Event phone : String photo : String publication : Publication Employee affiliation : Organization headOf : Project headOfGroup : ResearchGroup worksAtProject : Project Student studiesAt : University PhDStudent supervisor : AcademicStaff Researcher cooperatesWith : Researcher memberOf : ResearchGroup researchInterest : ResearchTopic AcademicStaff supervises : PhDStudent Lecturer AdministrativeStaff TechnicalStaff Secretary secretaryOf : ResearchGroup Pessoas em uma Universidade 04 - Ontologias

Publicações 04 - Ontologias ConferencePaper conference : Conference firstPage : Number lastPage : Number proceedingsTitle : String ArticleInBook book : Book JournalArticle journal : Journal TechnicalReport number : Number organization : Organization series : String WorkshopPaper workshop : Workshop Article Book containsArticle : ArticleInBook editor : Person publisher : Organization OnlinePublication onlineVersionOf : Publication type : String Journal containsArticle : JournalArticle volume : Number Publication abstract : String author : Person describeProject : Project onlineVersion : OnlinePublication title : String year : Number SpecialIssue Publicações 04 - Ontologias

Exemplo de Ontologia Conceitual Geral: Fragmentos da Ontologia de Senso Comum de Russell e Norvig em UML 04 - Ontologias

Qualquer Coisa (Russel e Norvig) 04 - Ontologias Anything AbstractObjects Events Sets Numbers RepresentationalObjects Categories Sentences Measurements Intervals Places PhysicalObjects Processes Moments Things Stuff Animals Agents Humans Solid Liquid Gas Qualquer Coisa (Russel e Norvig) 04 - Ontologias

Problemas de Modelagem em uma Ontologia Geral Categorias e conjuntos Medidas Objetos compostos Tempo Espaço Mudanças Eventos e processos Objetos físicos Substâncias Objetos mentais e crenças 04 - Ontologias

Ontologias Gerais: Categorias Também chamadas de classes, relações, tipos ... Conjuntos de objetos com propriedades comuns Organiza e simplifica a base de conhecimento. Exemplos de simplificação: Gato é um mamífero - instanciação/classificação Todo mamífero bebe leite - herança de atributos Taxonomia: Tipo particular de ontologia: relações hierárquicas entre classe e sub-classes em forma de árvores Propriedades discriminantes ex. biologia sistemática Relações Disjunção Decomposição exaustiva Partição: decomposição exaustiva disjunta 04 - Ontologias

Ontologias Gerais também podem representar: Medidas Valores atribuídos às propriedades dos objetos do mundo real: peso, comprimento, altura, etc... Objetos compostos formados por partes que também são objetos: relação “parte-de”. Mudanças com eventos Cálculo de eventos: um fato é verdade em um intervalo de tempo. 04 - Ontologias

Medidas Valores atribuídos aos objetos do mundo real: servem para descrever objetos ex. peso, comprimento, altura, diâmetro, ... Medidas quantitativas são fáceis de representar ex. Tamanho(L1) = Polegadas(1,5) = Centímetros (3,81) Medidas qualitativas são mais complicadas ex. beleza de um poema, dificuldade de um exercício O importante é ordenar: "e1, e2 : e1 Î Exercícios Ù e2 Î Exercícios Ù Elabora(João,e1) Ù Elabora(Pedro,e2) Þ Dificuldade(e1) < Dificuldade(e2) 04 - Ontologias

Objetos Compostos Objetos formados por partes que também são objetos: São caracterizados pela estrutura dos objetos que os compõem Ex. massa de um carro é a soma das massas de suas partes (carroceria, motor, pneu, ...) Para representá-los, emprega-se a relação ParteDe: Ex. ParteDe(motor, Carro), ParteDe(pneu, Carro) 04 - Ontologias

Objetos Compostos ParteDe também serve para descrever estrutura de eventos: Script ou Schema. ex. comer no restaurante Quando se está interessado apenas nas características do conjunto: BunchOf ex. peso do saco de maçãs BunchOf(maçãs) define um objeto composto formado pelas maçãs do saco. 04 - Ontologias

Representando Mudanças com Eventos Cálculo de situações: adequado quando temos um único agente realizando ações discretas e instantâneas (uma ação por situação). inadequado quando: existem vários agentes no mundo. o mundo pode mudar espontaneamente. mudanças ocorrem continuamente. Cálculo de eventos: versão contínua do calculo de situações No cálculo de situações, um fato é verdade em uma situação No cálculo de eventos, uma coisa é verdade num intervalo de tempo ex. SubEvento(BatalhaDaNormandia, SegundaGuerraMundial) SubEvento(SegundaGuerraMundial, SéculoXX) 04 - Ontologias

Exemplo de Ontologia Lingüística Geral: WordNet 04 - Ontologias

WordNet Princeton WordNet: Euro WordNet: http://www.hum.uva.nl/~ewn/ redes semânticas de 155.327 significados de 207.016 palavras (145.104 substantivos) do inglês organizados em 4 categorias sintática: substantivos, verbos, adjetivos e advérbios, são agrupados em conjuntos de sinônimos disponível online: http://www.cogsci.princeton.edu/~wn/ resulta de 15 anos de desenvolvimento manual por um time de psico linguistas Euro WordNet: http://www.hum.uva.nl/~ewn/ Resultado de um grande projeto da comunidade européia Versão multilíngua adicionando e interligando WordNets do Espanhol, Francês, Italiano, Alemão, Holandês, Tcheco e Estoniano ao do Inglês 04 - Ontologias

Aplicações com o WordNet Extração e recuperação de informação Classificação de texto Ensino de linguagens Construção de redes semânticas em outras linguagens (EuroWordnet) Chatterbots (Geração e interpretação de texto) 04 - Ontologias

Construindo Ontologias Vocabulários Glossários Thesauri Taxonomias Redes Semânticas Ontologias 04 - Ontologias

Vocabulários São conjuntos de termos que descrevem as entidades do e as relações entre elas. Há vocabulários estabelecidos para diferentes classes de domínios: Dublin Core: http://dublincore.org/ Vocabulários e ontologias: http://www-usr.inf.ufsm.br/~rrocha/proj/cva-on/metadados.html 04 - Ontologias

Glossários Listas alfabéticas de termos, limitados a uma área de conhecimento especial, acompanhados das respectivas definições. http://www.google.com (define:glossary). 04 - Ontologias

Thesauri Uma compilação de termos, com os respectivos sinônimos e/ou antônimos e termos relacionados empregada na indexação de bases de dados. Forma um vocabulário controlado para descrever os registros na base de dados. http://www.google.com/ (define:thesaurus). 04 - Ontologias

Taxonomias Teoria e prática de descrever, nomear e classificar plantas e animais. http://www.google.com/ (define:taxonomy). Vocabulário controlado, usado principalmente para a criação de estruturas de navegação para um website. Frequentemente baseada em um tesauro, mas pode apresentar hierarquias mais superficiais, ou ausências de alguma estrutura. 04 - Ontologias

Redes Semânticas Um grafo direcionado e rotulado, com nodos representando objetos físicos ou conceituais e arcos representando relações entre os objetos. Permite o uso de regras genéricas, herança e programação orientada a objetos. http://www.google.com/ (define:”semantic network”). 04 - Ontologias

Ontologias É a especificação de uma conceituação de um domínio do conhecimento. É um vocabulário controlado que descreve os objetos do domínio e as relações entre eles. Possui uma gramática para usar os termos do vocabulário na expressão de algo significativo sobre o domínio de interesse. O vocabulário é empregado na construção de consultas e declarações. Ontologias podem incluir glossários, taxonomias e tesauros, mas normalmente apresentam maior expressividade e capacidade de inferência. http://www.google.com/ (define:ontology). 04 - Ontologias

3 Projeto

Roteiro Engenharia de Ontologias Projeto de Ontologias Domínio e Escopo Reutilização Termos Classes Propriedades Restrições Instâncias 04 - Ontologias

Engenharia de Ontologias Definir os termos do domínio e o relacionamento entre eles: Definir os conceitos do domínio (classes) Organizar os conceitos em uma hierarquia (sub-classes e superclasses). Definir os atributos e propriedades (slots) que as classes podem apresentar e as restrições sobre seus valores. Definir indivíduos e os valores de seus slots 04 - Ontologias

Projeto de Ontologias Determinar o domínio e o escopo, Considerar reutilização, Enumerar Termos, Definir Classes, Definir Propriedades, Definir Restrições, Criar Instâncias. 04 - Ontologias

A ontologia é só o começo: Bases de dados Declarar estrutura Ontologias Bases de Conhecimento Descrição do domínio Aplicações independentes Agentes de Software Solução de Problemas 04 - Ontologias

Dimensões de Ontologias

Engenharia de Ontologias x Modelagem Orientada a Objetos Uma Ontologia: Reflete a estrutura do mundo. Apresenta-se como uma estrutur ação de conceitos. A representação física não é uma questão. Uma Classe da OO: Reflete a estrutura dos dados e código. É usualmente sobre comportamento (métodos). Descreve a representação física dos dados: (long int, char, etc.). 04 - Ontologias

O Triângulo do Significado 04 - Ontologias

O Processo de Desenvolvimento de Ontologias Em teoria: determine scope consider reuse enumerate terms define classes properties constraints create instances Na realidade, um processo interativo: determine scope consider reuse enumerate terms define classes define properties create instances classes constraints consider reuse define properties constraints create instances 04 - Ontologias

Passo1: Determinar o Domínio e o Escopo determine scope consider reuse enumerate terms define classes define properties define constraints create instances Qual o domínio a ser coberto pela ontologia? Para quê será usada esta ontologia? Para que tipo de questões a informação na ontologia deve oferecer respostas? Respostas a estas questões podem mudar ao longo do ciclo de vida da ontologia. 04 - Ontologias

Passo 2: Considerar a Reutilização determine scope consider reuse enumerate terms define classes define properties define constraints create instances Por que reutilizar outras ontologias? Para poupar esforços. Para interagir com as ferramentas que usam outras ontologias. Para empregar ontologias que foram validadas através do uso em outras aplicações. 04 - Ontologias

O que reutilizar (I): Bibliotecas de Ontologias Protégé Ontology Library http://protege.stanford.edu/ontologies.html DAML ontology library http://www.daml.org/ontologies/ Ontolingua Ontology Library http://www.ksl.stanford.edu/software/ontolingua/ Ontologias de Senso Comum IEEE Standard Upper Ontology http://suo.ieee.org/ Cyc http://www.cyc.com/ 04 - Ontologias

O que reutilizar (II): Ontologias Gerais Ontologias de Domínio DMOZ http://www.dmoz.org WordNet http://www.cogsci.princeton.edu/~wn/ Ontologias de Domínio UMLS Semantic Net GO (Gene Ontology) http://www.geneontology.org/ GLIF HL7 04 - Ontologias

Passo 3: Enumerar os Termos Importantes enumerate terms determine scope consider reuse define classes define properties define constraints create instances Quais os termos sobre os quais vamos falar? Quais as propriedades desses termos? O que queremos dizer sobre esses termos? 04 - Ontologias

Passo 4: Definir Classes e Hierarquias de Classes define classes determine scope consider reuse enumerate terms define properties define constraints create instances Uma classe é um conceito do domínio. Representa uma coleção de elementos com propriedades similares. Classes podem ser estruturadas em hierarquias, incluindo os conceitos de superclasses e subclasses. Os objetos do domínio são instâncias de classes. 04 - Ontologias

Herança entre Classes As classes normalmente constituem uma hierarquia taxonômica. Uma hierarquia de classes é uma hierarquia É_UM. Uma instância de uma subclasse é uma instância de uma superclasse. Se a classe for pensada como um conjunto de elementos, uma subclasse é um subconjunto. 04 - Ontologias

Exemplos de Herança entre Classes Maçã é uma subclasse de Fruta: Toda maçã é uma fruta. Vinho Tinto é uma subclasse de Vinho: Todo vinho tinto é um vinho. Chianti é uma subclasse de Vinho Tinto: Todo Chianti é um vinho tinto. 04 - Ontologias

Níveis na Hierarquia de Classes Nível Superior Nível Interme- diário Nível Inferior 04 - Ontologias

Formas de Desenvolvimento Top-down – define os conceitos mais gerais e depois os especializa. Bottom-up – define os conceitos mais específicos e então os organiza em classes mais gerais. Middle-out – define os conceitos mais importantes primeiro e depois os generaliza ou especializa, conforme o caso. 04 - Ontologias

Documentação Classes (e slots) usualmente possuem documentação: Descrevendo a classe em linguagem natural Listando hipóteses do domínio relevantes para a definição da classe Listando sinônimos Documentar classes e seus slots é tão importante quanto documentar o código de programas. 04 - Ontologias

Passo 5: Definir as Propriedades das Classes – Slots determine scope consider reuse enumerate terms define classes define properties define constraints create instances Os slots, na definição de uma classe descrevem atributos de instâncias da classe e sua relação com outras instâncias Cada vinho possui uma cor, quantidade de açucar, produtor, distribuidor, ano de safra, etc. 04 - Ontologias

Propriedades (Slots) Tipos de Propriedades: Propriedades intrínsecas: sabor e cor de um vinho. Propriedades extrínsecas: nome e preço de um vinho. Partes: ingredientes em um prato. Relações com outros objetos: produtor do vinho (adega). Propriedades Simples e Complexas: Propriedades simples (atributos): contém valores primitivos (strings, números, ...). Propriedades complexas: contém (ou apontam para) outros objetos. 04 - Ontologias

Slots e Herança de Classes Uma subclasse herda todos os slots da superclasse. Se um vinho tem um nome e um sabor, um vinho tinto também tem um nome e um sabor. Se uma classe tem múltiplas superclasses ela herda os slots de todas elas. Vinho do porto é tanto um vinho de sobremesa quanto um vinho tinto. Ele herda “conteúdo de açucar: alto” da primeira superclasse e “cor:vermelha” da segunda. 04 - Ontologias

Passo 6: Definir Restrições determine scope consider reuse enumerate terms define classes define constraints define properties create instances Restrições sobre Propriedades (facetas) descrevem ou limitam o conjunto de valores possíveis para um slot. O nome de um vinho é um string O produtor do vinho é uma instância de adega A adega possui exatamente uma localização 04 - Ontologias

Facetas Comuns Cardinalidade do Slot – o número de valores que um slot possui. Tipo de Valor do Slot – o tipo de valor que o slot pode apresentar. Valores Mínimo e Máximo – um intervalo de valores para um slot numérico. Valor Default – o valor que um slot apresenta, a menos que explicitamente especificado de outra forma. 04 - Ontologias

Cardinalidade do Slot Cardinalidade Cardinalidade Mínima Cardinalidade N significa que o slot deve ter N valores. Cardinalidade Mínima Cardinalidade mínima 1 significa que o slot deve apresentar pelo menos um valor (requerido) Cardinalidade mínima 0 significa que o valor do slot é opcional. Cardinalidade Máxima Cardinalidade máxima 1 significa que o slot pode ter no máximo um valor (slot mono valorado) Cardinalidade máxima maior do que 1 significa que o slot pode ter mais do que um valor (slot multivalorado) 04 - Ontologias

Tipos de Valores String: um string de caracteres (“Château Lafite”) Numero: inteiro ou em ponto flutuante (15, 4.5) Booleano: um valor lógico verdadeiro/falso Tipo enumerado: uma lista de valores permitidos (alto, médio, baixo) Tipo complexo: uma instância de uma outra classe. Especificar a classe a que a instância pertence 04 - Ontologias

Facetas e Herança entre Classes Uma subclasse herda todos os slots da superclasse. Uma subclasse pode reescrever as facetas para restringir a lista de valores permitidos. Diminuir o escopo da cardinalidade Substituir uma classe em um determinado escopo por uma subclasse. 04 - Ontologias

Passo 7: Criação de Instâncias create instances determine scope consider reuse enumerate terms define classes define properties define constraints Criar uma instância de uma classe: A classe se torna um tipo direto da instância. Qualquer superclasse do tipo direto é um tipo da instância. Atribuir os valores dos slots para a instância: Devem estar de acordo com as restrições nas facetas Ferramentas de aquisição de conhecimento podem ser empregadas para esta verificação. 04 - Ontologias

4 Prática de Projeto

Projetar uma ontologia Organização das Equipes Definir Domínio e Escopo Tentar Reutilização Seleção dos Termos Definição das Classes Definição das Propriedades Definição das Restrições Definição das Instâncias 04 - Ontologias

Organizar equipes O desenvolvimento de ontologias é uma atividade que idealmente deve ser executada em equipes. Perfil das equipes neste curso: 2 a 4 participantes cobrindo as seguintes habilidades: Uso de computador e Internet Perspectiva das Ciências Humanas: Educação, Filosofia, Sociologia, ... Liderança, organização e iniciativa 04 - Ontologias

Definir Domínio e Escopo Algumas Sugestões: Veículos Refeições Vinhos Música Filmes Casa Esportes 04 - Ontologias

Tentar Reutilização Bibliotecas de Ontologias Protégé Ontology Library http://protege.stanford.edu/ontologies.html DAML ontology library http://www.daml.org/ontologies/ Ontolingua Ontology Library http://www.ksl.stanford.edu/software/ontolingua/ Ontologias de Senso Comum IEEE Standard Upper Ontology http://suo.ieee.org/ Cyc http://www.cyc.com/ 04 - Ontologias

Seleção dos Termos Usar um Vocabulário Controlado: O vocabulário vai nomear os conceitos, identificar suas propriedades e as relações desejadas. Resource Library http://sky.fit.qut.edu.au/~middletm/cont_voc.html Outra Biblioteca: http://www.lub.lu.se/metadata/subject-help.html 04 - Ontologias

Definição das Classes Classes são os conceitos do domínio, nomeados pelo alfabeto controlado. As classes são organizadas em hierarquias, definindo relacionamentos de generalização (subclasses  superclasse) e especialização (superclasse  subclasse). As classes apresentam propriedades (atributos e relacionamentos) em slots. 04 - Ontologias

Definição das Propriedades Cada classe é caracterizada por um conjunto de atributos e relacionamentos, cada um ocupando um slot. As propriedades de uma classe são herdadas por suas subclasses. Portanto as propriedades somente precisam ser definidas em um dos níveis da hierarquia. A técnica de overriding é empregada para alterar alguma propriedade na subclasse. 04 - Ontologias

Definição das Restrições Cada propriedade é modelada por um conjunto de restrições que definem os valores que pode m ser assumidos. As restrições (facetas) mais comuns são a cardinalidade do valor da propriedade, seus limites, strings, números, elemento de um conjunto, etc. 04 - Ontologias

Definição das Instâncias Instâncias são entidades do domínio que atendem às especificações de uma classe. A atividade de instanciação corresponde a criar os registros de uma base de dados a partir do seu esquema (descrição das classes). 04 - Ontologias

Produto Final do Projeto Descrição semi-formal da ontologia Termos, classes, hierarquias, propriedades, restrições, instâncias. Todos esses os elementos irão permitir o uso de uma ferramenta de software para a especificação da ontologia em alguma linguagem formal. 04 - Ontologias

5 Protégé 04 - Ontologias

Roteiro O que é Protégé? Download e Instalação Getting Started Criando um Projeto Salvando e nomeando um projeto Criando classes Criando slots Criando instâncias Criando formulários Criando e salvando consultas 04 - Ontologias

O que é Protégé? Protégé é um ambiente extensível e independente de plataforma para a criação e edição de ontologias e bases de conhecimento. Escrito em Java, utiliza uma máquina virtual para a execução em quase qualquer plataforma. Permite representar classes como instâncias e valores de slots, em concordância com o protocolo da Open Knowledge Base Connectivity (OKBC) . Importa e exporta ontologias em diversos formatos, facilitando a reutilização e intercâmbio de ontologias. 04 - Ontologias

Download e Instalação A última versão do Protégé pode ser obtida em: http://protege.stanford.edu/ Um excelente FAQ pode ser encontrado em http://protege.stanford.edu/doc/faq.html Para o download da versão para o Windows, recomenda-se usar o instalador automático oferecido pelo site. A versão para Windows, incluindo a máquina virtual Java tem cerca de 100MB. É um software ainda algo “pesado” e emprega diversos plugins para obter funcionalidade. 04 - Ontologias

Getting Started Após baixar e instalar o Protégé, coloque-o em execução a partir do menu Iniciar> Programas> Protégé> Na janela “Welcome” que vai se abrir, use o botão “Getting Started” para obter rápido auxílio nas funcionalidades do Protégé. Mantenha o “Getting Started” aberto para acompanhar o desenvolvimento da sua ontologia. Use a FAQ e o “User Guide” sempre que necessário. 04 - Ontologias

Criando o Projeto Selecione “Create New Project” da Janela “Welcome” ou clique no botão “New Project” se esta já estiver fechada. Abre-se a janela para a seleção do tipo de arquivo. Escolha “Protégé Files (pont e pins)” e clique em “Finish”. Aparecem os painéis “Class Browser” à esquerda e “Class Editor” à direita. No box “Class Hierarchy” aparecem THING e SYSTEM_CLASS 04 - Ontologias

Salvando e nomeando o Projeto Selecione o botão “Save Project”. Use o navegador para selecionar uma pasta e dar um nome ao Projeto (pprj). Os arquivos de classes (pont) e de instâncias (pins) são nomeados automaticamente. Tecle OK. O projeto foi salvo. Confira o nome na barra da janela. Voltam o browser e o editor. 04 - Ontologias

Criando Classes Na hierarquia de classes selecione SYSTEM_CLASS. Clique o botão “Create Class”. Uma nova classe é criada, como classe do sistema, e automaticamente nomeada. Passe para o painel “Class Editor”. Modifique ou acrescente a informação que quiser. Aproveite para criar os “Template Slots” Use o mesmo método para criar outras classes e subclasses. 04 - Ontologias

Criando Slots Clique na aba “Slots”. Como anteriormente, há um painel “Slot Browser” e outro “Slot Editor”. Na hierarquia de slots escolha o tipo de slot apropriado (p.ex: ANNOTATED_INSTANCE). Passe para a janela “Slot Editor”. Faça as modificações e as entradas desejadas. Use o mesmo método para criar slots de cada classe. 04 - Ontologias

Criando Instâncias Clique na aba “Instances”. Aparecem os painéis “Class Browser”, “Instance Browser” e “Instance Editor”. Escolha a classe na hierarquia de classes. Somente classes concretas podem ter instâncias. Clique em “Create Instance”. Edite a instância para refletir a informação desejada. Repetir para as demais instâncias. 04 - Ontologias

Criando Formulários Na aba “Forms” é possível construir formulários para a entrada de instâncias on-line. Selecione a classe e o slot desejados e use o editor para configurar e posicionar a correspondente região do formulário. 04 - Ontologias

Criando e Salvando Consultas Use a aba “Queries” para formular e salvar consultas à ontologia. Após a formulação e teste, a consulta pode ser salva em uma biblioteca de consultas através do botão “Add to Query Library”. 04 - Ontologias

Ontologias importadas pelo Protégé Não deixe de consultar: http://protege.stanford.edu/download/ontologies.html. Qualquer uma dessas ontologias pode ser lida e editada com o Protégé. Outras fontes: DAML ontology library http://www.daml.org/ontologies/ Ontolingua Ontology Library http://www.ksl.stanford.edu/software/ontolingua O Protégé tem suporte nativo para .rdfs e .owl Outros formatos  através de plugins. 04 - Ontologias

Plugins do Protégé O Protégé tem muitos plugins: http://protege.stanford.edu/download/plugins.html. Qualquer um desses plugins pode ser adicionado como uma nova funcionalidade ao Protégé. Entre eles, recursos de compatibilidade com xml, xmls, daml+oil, visualização gráfica e muitos outros. O Protégé tem suporte nativo para .rdfs e .owl 04 - Ontologias

6 Construção 04 - Ontologias

Implementação Use esta apresentação, os links, a documentação disponível, o projeto de ontologia e o Protégé para implementar sua primeira ontologia. 04 - Ontologias

7 Feedback 04 - Ontologias

Feedback Nesta etapa os estudantes apresentam seus trabalhos para os colegas e fazem um breve relato do aprendizado, dificuldades, idéias e possíveis projetos futuros. 04 - Ontologias

FIM 04 - Ontologias