Engenharia de Dados Mini-Curso Introdução à Web Semântica

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Sistemas Inteligentes
Profa. Dra Maria Luiza de Almeida Campos
Software Básico Silvio Fernandes
O Modelo de Jesus para Crescimento e Serviço
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
O Modelo E-R Definição: Características
Modelo Entidade-Relacionamento
Software Básico Silvio Fernandes
Gerenciamento de tempo do projeto
Orientação a Objetos: Encapsulamento e Classificação
Resolução.
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Desenvolvimento de Ontologia 101
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
Técnicas de Representação de Conhecimento
Árvores.
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Ontologias para Melhorar Precisão e Cobertura de Buscas na Web
Introdução a Teoria da Classificação
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Introdução à Modelagem Conceitual 4. Ontologias
PROTEGÉ Suporte FRAMES
Aula 4 Nomes, Vinculações, Tipos e Escopos
Linguagens de Programação
Questionário de Avaliação Institucional
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
AP 1.
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Provas de Concursos Anteriores
Conceitos Básicos.
Prof. Alfredo Parteli Gomes
UML - Unified Modeling Language
Inteligência Artificial
Sistemas Inteligentes Ontologia e Protegé
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Algoritmos Culturais.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Taxonomia Profa. Lillian Alvares,
Tipos de Sistemas de Organização do Conhecimento
Coordenação Geral de Ensino da Faculdade
EMPREENDEDORES EM AÇÃO PROF. NILSON R. FARIA Colégio Wilson Joffre.
Introdução às Ontologias
IF696 - Integração de Dados e DW
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1.
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Marcio de Carvalho Victorino
Ontologias Profa. Lillian Alvares
Máquina de Turing Universal
Princípios de Análise e Projeto Orientados a Objetos com UML
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
UML Diagrama de classes.
SISTEMAS DISTRIBUIDOS Aula 4
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Introdução a Banco de Dados Aula 04
Métodos Formais.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Ferramentas de Manipulação de Ontologias (Protégé)
Utilização de Ontologias para Integração de Heterogeneidade Semântica
Tesauro, Taxonomia e Ontologia: uma evolução?
Projeto de Banco de Dados
Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília.
Ontologias Aula 26/05/2015 PPGCI Prolegômenos ORGANIZAÇÃO E RECUPERAÇÃO DA INFORMAÇÃO CONCEITO FUNDAMENTAL - REPRESENTAÇÃO DA INFORMAÇÃO - COMO.
Transcrição da apresentação:

Engenharia de Dados Mini-Curso Introdução à Web Semântica Projeto e Desenvolvimento de Ontologias Luiz A M Palazzo André D Jardim Universidade Católica de Pelotas Centro Politécnico Abril de 2009

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

1 Motivação

Noção Informal 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 conceitualização (Gruber, 1993). Projeto e Desenvolvimento de Ontologias

Mas, ontologias para quê? Para compartilhar conhecimento comum sobre a estrutura da informação: Entre pessoas Entre agentes de software (programas) 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 Projeto e Desenvolvimento de Ontologias

Onde Aplicar Ontologias? Recuperação de informações, Bibliotecas digitais, Gestão de conhecimento Web semântica, Computação pervasiva, Processamento da linguagem natural, Comércio eletrônico, Sistemas multiagentes... Projeto e Desenvolvimento de Ontologias

2 Conceitos

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

Noção (mais) Precisa de Ontologia Especificação formal explícita de uma conceituação compartilhada (Gruber, 1993). Conceituaçã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 Projeto e Desenvolvimento de Ontologias

Elementos em uma Ontologia Hierarquias de conceitos Entidades Relações Atributos Restrições Regras Dedutivas Instâncias de Conceitos Projeto e Desenvolvimento de Ontologias

Tipologia das 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 Meta-dados: “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 Projeto e Desenvolvimento de Ontologias

Problemas de Modelagem Categorias e conjuntos Medidas Objetos compostos Tempo Espaço Mudanças Eventos e processos Objetos físicos Substâncias Objetos mentais e crenças Projeto e Desenvolvimento de Ontologias

Wordnet Princeton WordNet: EuroWordNet: http://www.hum.uva.nl/~ewn/ redes semânticas de 155.287 significados de 206.941 palavras (146.312 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 mais de 15 anos de desenvolvimento manual por time de psico-lingüistas EuroWordNet: http://www.hum.uva.nl/~ewn/ Resultado de um grande projeto da comunidade européia Versão multi-língua adicionando e inter-ligando WordNets do Espanhol, Francês, Italiano, Alemão, Holandês, Tcheco e Estoniano ao do Inglês Projeto e Desenvolvimento de Ontologias

Aplicações com o WordNet Extração e recuperação de informação Classificação de texto Ensino de linguagens Construção de redes semânticas em outras linguagens (EuroWordnet) Robôs de Chat (Geração e interpretação de texto) Projeto e Desenvolvimento de Ontologias

Construindo Ontologias Vocabulários Glossários Thesauri Taxonomias Redes Semânticas Ontologias Projeto e Desenvolvimento de Ontologias

Vocabulários São conjuntos de termos que descrevem as entidades do domínio 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 FOAF (Friend Of A Friend) Projeto e Desenvolvimento de Ontologias

Glossários Uma lista alfabética de termos, limitados a uma área de conhecimento especial, acompanhados das respectivas definições. http://www.google.com (define:glossary). Projeto e Desenvolvimento de Ontologias

Thesaurus 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). Projeto e Desenvolvimento de Ontologias

Taxonomias Teoria e prática de descrever, nomear e classificar plantas e animais. http://www.google.com/ (define:taxonomy). Vocabulário controlado, usado principalmente para a criação de estruturas de navegação para um sítio na Web. Freqüentemente baseada em um tesauro, mas pode apresentar hierarquias mais superficiais, ou ausências de alguma estrutura. Projeto e Desenvolvimento de Ontologias

Redes Semânticas Grafos direcionados e rotulados, com nodos representando objetos físicos ou conceituais e arcos representando relações entre os objetos. Permitem o uso de regras genéricas, herança e programação orientada a objetos. http://www.google.com/ (define:”semantic network”). Projeto e Desenvolvimento de Ontologias

Ontologias Empregam um vocabulário controlado que descreve os objetos do domínio e as relações entre eles. Possuem 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). Projeto e Desenvolvimento de Ontologias

3 Projeto

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

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

Projeto de Ontologias Metodologia 101 (Noy & McGuiness): Determinar o domínio e o escopo, Considerar reutilização, Enumerar Termos, Definir Classes, Definir Propriedades, Definir Restrições, Criar Instâncias. Projeto e Desenvolvimento de Ontologias

A ontologia é só o começo: Bases de Dados Declarar estrutura Ontologias Bases de Conhecimento Descrição do domínio Aplicações Independentes Agentes de Software Solução de Problemas Projeto e Desenvolvimento de Ontologias

Metodologia 101 Em teoria: Na realidade, um processo interativo: determine scope consider reuse enumerate terms define classes properties constraints create instances Na realidade, um processo interativo: determine scope consider reuse enumerate terms define classes define properties create instances classes constraints consider reuse define properties constraints create instances Projeto e Desenvolvimento de Ontologias

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

Passo 2: Considerar a Reutilização determine scope consider reuse enumerate terms define classes define properties define constraints create instances Por que reutilizar 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. Projeto e Desenvolvimento de Ontologias

O que reutilizar? 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/ Swoogle: http://swoogle.umbc.edu Projeto e Desenvolvimento de Ontologias

Passo 3: Enumerar os Termos Importantes enumerate terms determine scope consider reuse define classes define properties define constraints create instances Quais os termos sobre os quais se vai falar? Quais as propriedades desses termos? O que se quer dizer sobre esses termos? Projeto e Desenvolvimento de Ontologias

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

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

Exemplos 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. Projeto e Desenvolvimento de Ontologias

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

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

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

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

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

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

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

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

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

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

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

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

Revisão: Os Sete Passos Determinar o domínio e o escopo, Considerar reutilização, Enumerar Termos, Definir Classes, Definir Propriedades, Definir Restrições, Criar Instâncias. Projeto e Desenvolvimento de Ontologias