Ontologias - Portal Infocat

Download Report

Transcript Ontologias - Portal Infocat

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

1.

2.

3.

4.

5.

6.

7.

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

Motivação

Motivation!

04 - Ontologias 4

Motivação

      Noção de ontologia Afinal, ontologias pra quê?

Áreas de aplicação Exemplos de aplicações Desafios Perspectivas futuras 04 - Ontologias 5

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 compartilhada de uma (Gruber, 1993). conceitualização . e 04 - Ontologias 6

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 7

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 8

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 9

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 10

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 11

DAML+OIL / OWL

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

Frame Systems Web Languages RDF/S XML DAML-ONT DAML+OIL OWL OIL Formal Foundations Description Logics FACT, CLASSIC, DLP , …

04 - Ontologias 12

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 04 - Ontologias  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 13

Camadas da Web Semântica

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

A Arquitetura de Tim Berners-Lee

04 - Ontologias 15

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 16

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,   Falta de investimento adequado,  Crescimento simultâneo e continuado da Web Sintática, Falta de visibilidade da área.

04 - Ontologias 17

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 18

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 20

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 21

Elementos de uma Ontologia

 Hierarquia de conceitos  Entidades  Relações  Restrições  Regras Dedutivas  Instâncias de Conceitos 04 - Ontologias 22

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 23

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 24

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 25

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 26

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 27

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

04 - Ontologias 28

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 AcademicStaff supervises : PhDStudent AdministrativeStaff TechnicalStaff Lecturer Secretary secretaryOf : ResearchGroup 04 - Ontologias Researcher cooperatesWith : Researcher memberOf : ResearchGroup researchInterest : ResearchTopic 29

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

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

04 - Ontologias 31

AbstractObjects Anything

Qualquer Coisa (Russel e Norvig)

Events Sets Numbers RepresentationalObjects Intervals Places PhysicalObjects Processes Categories Sentences Measurements Moments Animals Things Stuff Agents Solid Liquid Gas

04 - Ontologias

Humans

32

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 33

Ontologias Gerais: Categorias

04 - Ontologias  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 34

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 35

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(L 1 ) = 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: " 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 ) 04 - Ontologias 36

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 37

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 38

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 39

Exemplo de Ontologia Lingüística Geral: WordNet

04 - Ontologias 40

WordNet

Princeton WordNet: • 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 41

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 42

Construindo Ontologias

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

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 44

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 45

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 46

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 47

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 48

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 49

Projeto

Roteiro

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

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 52

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 53

A ontologia é só o começo:

Ontologias Declarar estrutura Descrição do domínio Agentes de Software Solução de Problemas Aplicações independentes Bases de dados Bases de Conhecimento

04 - Ontologias 54

Dimensões de Ontologias

04 - Ontologias 55

Engenharia de Ontologias x Modelagem Orientada a Objetos

Uma Ontologia:  Uma Classe da OO:    Reflete a estrutura do mundo.

Apresenta-se como uma estrutur ação de conceitos.

A representação física não é uma questão.

• 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 56

O Triângulo do Significado

04 - Ontologias 57

O Processo de Desenvolvimento de Ontologias

 Em teoria:

determine scope consider reuse enumerate terms define classes define properties define constraints create instances

• Na realidade, um processo interativo:

determine scope define properties consider reuse define classes enumerate terms define properties consider reuse define classes define constraints create instances consider reuse define properties define constraints create instances enumerate terms define classes define classes create instances

04 - Ontologias 58

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 59

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 60

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 61

O que reutilizar (II):

• Ontologias Gerais – 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 62

Passo 3: Enumerar os Termos Importantes

determine scope consider reuse enumerate terms 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 63

Passo 4: Definir Classes e Hierarquias de Classes

determine scope consider reuse enumerate terms define classes 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 64

Herança entre Classes

    As classes normalmente constituem uma hierarquia t axonômica.

Uma hierarquia de classes é uma hierarquia É_UM.

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.

04 - Ontologias 65

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 66

Níveis na Hierarquia de Classes

Nível Interme diário Nível Superior Nível Inferior

04 - Ontologias 67

Formas de Desenvolvimento

 Top-down especializa.

– define os conceitos mais gerais e depois os  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 68

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 69

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 70

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 71

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 72

Passo 6: Definir Restrições

determine scope consider reuse enumerate terms define classes define properties define constraints 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 73

Facetas Comuns

04 - Ontologias     Cardinalidade do Slot um slot possui.

– o número de valores que Tipo de Valor do Slot apresentar.

– o tipo de valor que o slot pode Valores Mínimo e Máximo para um slot numérico.

– um intervalo de valores Valor Default – o valor que um slot apresenta, a menos que explicitamente especificado de outra forma. 74

Cardinalidade do Slot

   Cardinalidade  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 75

Tipos de Valores

04 - Ontologias  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 76

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 77

Passo 7: Criação de Instâncias

determine scope consider reuse enumerate terms define classes define properties define constraints create instances

 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 78

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 80

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 81

Definir Domínio e Escopo

 Domínio e Escopo?

 Algumas Sugestões:  Veículos  Refeições  Vinhos  Música  Filmes  Casa  Esportes 04 - Ontologias 82

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 83

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 84

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 85

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 86

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 87

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 88

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 89

04 - Ontologias

Protégé

90

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 91

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 92

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 93

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 94

Criando o Projeto

04 - Ontologias  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 95

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 96

Criando Classes

04 - Ontologias  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.

97

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 98

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 99

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 100

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 101

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 102

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 103

04 - Ontologias

Construção

104

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 105

04 - Ontologias

Feedback

106

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 107

04 - Ontologias 108