A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Introdução à Modelagem Conceitual 4. Ontologias Luiz A M Palazzo Maio, 2011 Universidade Católica de Pelotas Centro Politécnico Laboratório de Modelagem."— Transcrição da apresentação:

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

2 Roteiro 1.Motivação 2.Conceitos 3.Projeto 4.Prática de Projeto 5.Protégé 6.Construção 7.Feedback Ontologias

3 Motivação

4 Motivation! Ontologias

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

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

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

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

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

10 Bibliotecas Virtuais Ontologias para a indexação de grandes repositórios de recursos digitais. Ontologias para a indexação de grandes repositórios de recursos digitais. The WWW Virtual Library The WWW Virtual Library Wikipedia em português Wikipedia em português Outras bibliotecas virtuais brasileiras Outras bibliotecas virtuais brasileiras Ontologias... Ontologias Ontologias

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

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

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

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

15 A Arquitetura de Tim Berners-Lee Ontologias

16 Gestão de Conhecimento The KM Research Center The KM Research Center Portal KMOL Portal KMOL KM na Wikipédia KM na Wikipédia Gestão Estratégica do Conhecimento Gestão Estratégica do Conhecimento Debate: GC... Onde? Debate: GC... Onde? Ontologias

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

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

19 Conceitos

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

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

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

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

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

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

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

27 Tipos de Ontologias Especialista: modela um domínio particular restrito Especialista: modela um domínio particular restrito Geral: Geral: modela o conhecimento de senso comum compartilhado por todos os seres humanos. 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. parte de mais alto nível, reutilizável em vários domínios. Conceitual: fundamentada na capacidade de raciocinar. Conceitual: fundamentada na capacidade de raciocinar. Lingüística: fundamentada no vocabulário de alguma(s) língua(s). 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 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 De Tarefas e Métodos: modela procedimentos e comportamentos abstratos no lugar de entidades ou relações Ontologias

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

29 Pessoas em uma Universidade Ontologias

30 Publicações Ontologias

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

32 Qualquer Coisa (Russel e Norvig) Ontologias

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

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

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

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

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

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

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

40 Exemplo de Ontologia Lingüística Geral: WordNet Ontologias

41 WordNet Princeton WordNet: Princeton WordNet: redes semânticas de significadosredes semânticas de significados de palavras ( substantivos) do inglêsde palavras ( substantivos) do inglês organizados em 4 categorias sintática: substantivos, verbos, adjetivos e advérbios,organizados em 4 categorias sintática: substantivos, verbos, adjetivos e advérbios, são agrupados em conjuntos de sinônimossão agrupados em conjuntos de sinônimos disponível online: online: resulta de 15 anos de desenvolvimento manual por um time de psico linguistasresulta de 15 anos de desenvolvimento manual por um time de psico linguistas Euro WordNet: Euro WordNet: Resultado de um grande projeto da comunidade européiaResultado 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êsVersão multilíngua adicionando e interligando WordNets do Espanhol, Francês, Italiano, Alemão, Holandês, Tcheco e Estoniano ao do Inglês Ontologias

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

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

44 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: –Vocabulários e ontologias : usr.inf.ufsm.br/~rrocha/proj/cva-on/metadados.html usr.inf.ufsm.br/~rrocha/proj/cva-on/metadados.html Ontologias

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

46 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. (define:thesaurus).http://www.google.com/ Ontologias

47 Taxonomias Teoria e prática de descrever, nomear e classificar plantas e animais. (define:taxonomy).http://www.google.com/ 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 Ontologias

48 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. (define:semantic network).http://www.google.com/ Ontologias

49 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. (define:ontology).http://www.google.com/ Ontologias

50 Projeto

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

52 Engenharia de Ontologias Definir os termos do domínio e o relacionamento entre eles: Definir os termos do domínio e o relacionamento entre eles: Definir os conceitos do domínio (classes) Definir os conceitos do domínio (classes) Organizar os conceitos em uma hierarquia (sub-classes e superclasses). 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 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 Definir indivíduos e os valores de seus slots Ontologias

53 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 Ontologias

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

55 Dimensões de Ontologias Ontologias

56 Engenharia de Ontologias x Modelagem Orientada a Objetos Uma Ontologia: Uma Ontologia: Reflete a estrutura do mundo. Reflete a estrutura do mundo. Apresenta-se como uma estrutur ação de conceitos. Apresenta-se como uma estrutur ação de conceitos. A representação física não é uma questão. 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.) Ontologias

57 O Triângulo do Significado Ontologias

58 O Processo de Desenvolvimento de Ontologias Em teoria: Em teoria: determinescopeconsiderreuseenumeratetermsdefineclassesdefinepropertiesdefineconstraintscreateinstances Na realidade, um processo interativo:Na realidade, um processo interativo: determinescopeconsiderreuseenumerateterms defineclassesconsiderreuseenumeratetermsdefineclasses definepropertiescreateinstancesdefineclassesdefinepropertiesdefineconstraintscreateinstancesdefineclasses considerreusedefinepropertiesdefineconstraintscreateinstances Ontologias

59 Passo1: Determinar o Domínio e o Escopo Qual o domínio a ser coberto pela ontologia? Qual o domínio a ser coberto pela ontologia? Para quê será usada esta ontologia? Para quê será usada esta ontologia? Para que tipo de questões a informação na ontologia deve oferecer respostas? 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. Respostas a estas questões podem mudar ao longo do ciclo de vida da ontologia. determinescope considerreuseenumeratetermsdefineclassesdefinepropertiesdefineconstraintscreateinstances Ontologias

60 Passo 2: Considerar a Reutilização 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. determinescope considerreuse enumeratetermsdefineclassesdefinepropertiesdefineconstraintscreateinstances Ontologias

61 O que reutilizar (I): Bibliotecas de Ontologias –Protégé Ontology Library –DAML ontology library –Ontolingua Ontology Library Ontologias de Senso Comum –IEEE Standard Upper Ontology –Cyc Ontologias

62 O que reutilizar (II): Ontologias Gerais –DMOZ –WordNet Ontologias de Domínio –UMLS Semantic Net –GO (Gene Ontology) –GLIF –HL Ontologias

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

64 Passo 4: Definir Classes e Hierarquias de Classes 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. consider reuse determine scope define classes define properties define constraints create instances enumerate terms Ontologias

65 Herança entre Classes As classes normalmente constituem uma hierarquia t axonômica. As classes normalmente constituem uma hierarquia t axonômica. Uma hierarquia de classes é uma hierarquia É_UM. Uma hierarquia de classes é uma hierarquia É_UM. Uma instância de uma subclasse é uma instância de u ma superclasse. Uma instância de uma subclasse é uma instância de u ma superclasse. Se a classe for pensada como um conjunto de elemen tos, uma subclasse é um subconjunto. Se a classe for pensada como um conjunto de elemen tos, uma subclasse é um subconjunto Ontologias

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

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

68 Formas de Desenvolvimento Top-down – define os conceitos mais gerais e depois os especializa. 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. 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. Middle-out – define os conceitos mais importantes primeiro e depois os generaliza ou especializa, conforme o caso Ontologias

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

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

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

72 Slots e Herança de Classes Uma subclasse herda todos os slots da superclasse. 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 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. 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. 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. Ele herda conteúdo de açucar: alto da primeira superclasse e cor:vermelha da segunda Ontologias

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

74 Facetas Comuns Cardinalidade do Slot – o número de valores que um slot possui. 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. 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. 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. Valor Default – o valor que um slot apresenta, a menos que explicitamente especificado de outra forma Ontologias

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

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

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

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

79 Prática de Projeto

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

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

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

83 Tentar Reutilização Bibliotecas de Ontologias Bibliotecas de Ontologias Protégé Ontology Library Protégé Ontology Library DAML ontology library DAML ontology library Ontolingua Ontology Library Ontolingua Ontology Library Ontologias de Senso Comum Ontologias de Senso Comum IEEE Standard Upper Ontology IEEE Standard Upper Ontology Cyc Cyc Ontologias

84 Seleção dos Termos Usar um Vocabulário Controlado: Usar um Vocabulário Controlado: O vocabulário vai nomear os conceitos, identificar suas propriedades e as relações desejadas. O vocabulário vai nomear os conceitos, identificar suas propriedades e as relações desejadas. Resource Library Resource Library Outra Biblioteca: Outra Biblioteca: Ontologias

85 Definição das Classes Classes são os conceitos do domínio, nomeados pelo alfabeto controlado. 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 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. As classes apresentam propriedades (atributos e relacionamentos) em slots Ontologias

86 Definição das Propriedades Cada classe é caracterizada por um conjunto de atributos e relacionamentos, cada um ocupando um slot. 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. 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. 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. A técnica de overriding é empregada para alterar alguma propriedade na subclasse Ontologias

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

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

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

90 Protégé Ontologias

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

92 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. 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. 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). 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. Importa e exporta ontologias em diversos formatos, facilitando a reutilização e intercâmbio de ontologias Ontologias

93 Download e Instalação A última versão do Protégé pode ser obtida em: A última versão do Protégé pode ser obtida em: Um excelente FAQ pode ser encontrado em Um excelente FAQ pode ser encontrado em Para o download da versão para o Windows, recomenda-se usar o instalador automático oferecido pelo site. 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. 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 Ontologias

94 Getting Started Após baixar e instalar o Protégé, coloque-o em execução a partir do menu Iniciar> Programas> Protégé> 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é. 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. Mantenha o Getting Started aberto para acompanhar o desenvolvimento da sua ontologia. Use a FAQ e o User Guide sempre que necessário. Use a FAQ e o User Guide sempre que necessário Ontologias

95 Criando o Projeto Selecione Create New Project da Janela Welcome ou clique no botão New Project se esta já estiver fechada. 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. 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. Aparecem os painéis Class Browser à esquerda e Class Editor à direita. No box Class Hierarchy aparecem THING e SYSTEM_CLASS No box Class Hierarchy aparecem THING e SYSTEM_CLASS Ontologias

96 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). 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. 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. Tecle OK. O projeto foi salvo. Confira o nome na barra da janela. Voltam o browser e o editor Ontologias

97 Criando Classes Na hierarquia de classes selecione SYSTEM_CLASS. Na hierarquia de classes selecione SYSTEM_CLASS. Clique o botão Create Class. Uma nova classe é criada, como classe do sistema, e automaticamente nomeada. 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 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. Use o mesmo método para criar outras classes e subclasses Ontologias

98 Criando Slots Clique na aba Slots. Como anteriormente, há um painel Slot Browser e outro Slot Editor. 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). 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. 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. Use o mesmo método para criar slots de cada classe Ontologias

99 Criando Instâncias Clique na aba Instances. Aparecem os painéis Class Browser, Instance Browser e Instance Editor. 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. 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. Clique em Create Instance. Edite a instância para refletir a informação desejada. Repetir para as demais instâncias Ontologias

100 Criando Formulários Na aba Forms é possível construir formulários para a entrada de instâncias on-line. 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. Selecione a classe e o slot desejados e use o editor para configurar e posicionar a correspondente região do formulário Ontologias

101 Criando e Salvando Consultas Use a aba Queries para formular e salvar consultas à ontologia. 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. 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 Ontologias

102 Ontologias importadas pelo Protégé Não deixe de consultar: Não deixe de consultar: Qualquer uma dessas ontologias pode ser lida e editada com o Protégé. Qualquer uma dessas ontologias pode ser lida e editada com o Protégé. Outras fontes: Outras fontes: DAML ontology library DAML ontology library Ontolingua Ontology Library Ontolingua Ontology Library O Protégé tem suporte nativo para.rdfs e.owl O Protégé tem suporte nativo para.rdfs e.owl Outros formatos através de plugins. Outros formatos através de plugins Ontologias

103 Plugins do Protégé O Protégé tem muitos plugins: O Protégé tem muitos plugins: Qualquer um desses plugins pode ser adicionado como uma nova funcionalidade ao Protégé. 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. 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 O Protégé tem suporte nativo para.rdfs e.owl Ontologias

104 Construção Ontologias

105 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. Use esta apresentação, os links, a documentação disponível, o projeto de ontologia e o Protégé para implementar sua primeira ontologia Ontologias

106 Feedback Ontologias

107 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. 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 Ontologias

108 Ontologias


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

Apresentações semelhantes


Anúncios Google