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