350 likes | 475 Views
Introdução às Ontologias. Jacques Robin e Franklin Ramalho CIn-UFPE. Roteiro. O que é uma ontologia? Elementos de uma ontologia Origem e motivação das ontologias Tipologias das ontologias Exemplo de ontologia conceitual especialista Exemplo de ontologia conceitual geral
E N D
Introdução às Ontologias Jacques Robin e Franklin Ramalho CIn-UFPE
Roteiro • O que é uma ontologia? • Elementos de uma ontologia • Origem e motivação das ontologias • Tipologias das ontologias • Exemplo de ontologia conceitual especialista • Exemplo de ontologia conceitual geral • Exemplo de ontologia lingüística geral • Problemática geral e questões sobre ontologias
O que é uma ontologia? • Definição: especificação (semi-)formal explícita de uma concepção compartilhada • Concepçã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
Elementos de uma ontologia • Hierarquia de conceitos: • entidades • cada entidade definida por conjunto de pares atributo-valor • correspondem: • as classes dos modelos orientado a objetos • as entidades do modelo relacional • aos termos do modelo lógico • atributos propriedades x atributos relações • preenchidos por valores atômicas (tipos primitivos) x por outros conceitos • Status epistemológico do valor • Exatamente conhecida, default, probabilista • relações • sem hierarquia x em hierarquia paralela a hierarquia de entidades • correspondem: • associações, agregações e atributos dos modelos OO cujos valores são objetos • as relações do modelo relacional • aos predicados do modelo lógico
Elementos de uma ontologia • Restrições: • sobre valores possíveis dos atributos do conceitos • correspondem: • as assinaturas de classes em modelos OO • as axiomas universalmente quantificados em modelos lógicos • as restrições de integridade nos esquema de BD • Regras dedutivas: • sobre atributos de (conjunto 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: • as regras dos sistemas especialistas e programação em lógica • aos métodos dos modelos OO • as visões em BD
Elementos de uma ontologia • Instâncias de conceitos: • definição de entidade e relações específicos (indivíduos) • correspondem: • aos fatos de sistemas especialistas e programação em lógica • aos objetos dos modelos OO • aos dados dos BD
Serviços suportados por uma ontologia • Consultas e manipulação: • correspondem: • métodos de acesso a valor e de reflexão em linguagens OO • consultas de interrogação e manipulação em BD • ask, tell e retract das bases de conhecimento • sobre conceitos: • Quais são as entidades E relacionadas a entidade e0 via relações r1, r2? • Quais são as relações R mais gerais que r1? • Definição d de entidade E é consistente com o resto da ontologia? • sobre instâncias • um indivíduo I com propriedades P1, ..., Pn é instância de quais conceitos? • Raciocínio automático • geralmente dedutivo
Sistemas Especialistas desde 80 Psicologia Cognitiva desde 60 Lingüística desde 60 Processamento de Linguagem Natural desde 80 Origem e motivação para ontologias Gerenciamento do Conhecimento em Organizações desde 90 Integração de Dados desde 95 Ontologias Engenharia de Software: requisitos e reuso desde 90 Filosofia desde 350 A.C. Sistemas Multi-agentes desde 95 Recuperação de Informação na Web desde 00
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: fundamenta no vocabulário de uma(s) língua(s) • De meta-dados: “especializada” na descrição de recursos on-line, no entanto sobre qualquer domínio • De tarefas e métodos: modela procedimentos e comportamentos abstratos no lugar de entidades ou relações
Exemplo de ontologia especialista: fragmentos de uma ontologia acadêmicaem UML
Exemplo de ontologia conceitual geral: fragmentos da ontologia de senso comum de Russell e Norvig em UML
Sub-problemas de modelagem de 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 crênças
Ontologias Genéricas: Categorias • Também chamadas de classes, relações, tipos ... • conjuntos de objetos com propriedades comuns • organiza e simplifica a base de conhecimento. • Exemplos de simplificação: • comprar(Maçã123) x comprar(Maçã) - classe-instância • Todo mamífero bebe leite - herança • 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 entre Categorias • Disjunção: não há interseção entre as categorias "s Disjunção(s) Û ("c1,c2 c1Î s Ù c2Î s Ù c1¹ c2Þ c1Ç c2 = f) ex. Disjunção({Animais, Vegetais}) • Decomposição exaustiva "s,c DecomposiçãoExaustiva(s,c) Û ("i. i Î c Û$c2 c2Î s Ù i Î c2) ex. DecomposiçãoExaustiva({Americano, Canadense, Mexicano}, Norte-Americano) • Partição: decomposição exaustiva disjunta "s,c Partição(s,c) Û Disjunção(s) DecomposiçãoExaustiva(s,c) ex.. Partição(({macho, fêmea}), animal)
Ontologias Genéricas: 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.
Medidas • Valores atribuídos aos objetos do mundo real: servem para descrever objetos • ex. peso, comprimento, altura, diâmetro, ... • Medidas quantitativas são fáceis de representar • ex. Tamanho(L1) = Polegadas(1,5) = Centímetros (3,81) • Medidas qualitativas são mais complicadas • ex. beleza de um poema, dificuldade de um exercício • O importante é ordenar "e1, e2 e1Î Exercícios Ù e2Î Exercícios Ù Elabora(João,e1) Ù Elabora(Pedro,e2) Þ Dificuldade(e1) < Dificuldade(e2)
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, usamos a relação ParteDe • e.g., ParteDe(motor, Carro), ParteDe(pneu, Carro) • Exemplo: "a Bipede(a) Þ $ l1, l2, b Perna(l1) Ù Perna(l2) Ù Corpo(b) Ù ParteDe(l1,a) Ù ParteDe(l2,a)ÙParteDe(b,a) Ù Ligado(l1,b) Ù Ligado(l2,b) Ù l1 ¹ l2 Ù " l3 Perna(l3) Ù ParteDe(l3,a) Þ (l3 = l1 Ú l3 = l2)
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.
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)
i Meet(i,j) j i Before(i,j) After(j,i) j i During(i,j) j i Overlap(i,j) j Tempos, Intervalos e Ações
Cálculo de Eventos: Exemplos • Se duas pessoas ficaram noivas, então em algum intervalo no futuro elas irão se casar ou acabar o noivado: "x,y,i0 T(Noivado(x,y),i0) Þ $i1 (Encontra(i0,i1) È Depois(i1,i0)) Ù T(Casamento(x,y) È FimNoivado(x,y), i1) • A segunda guerra de Canudos ocorreu na Bahia no século XIX $g g Î Guerras Ù SubEvento(g,SéculoXIX) Ù ParteDe(Localização(g),Bahia)
Exemplo de ontologia lingüística geral: fragmentos de WordNet em UML
Wordnet • Princeton WordNet: • redes semântica de 70100 significados • de 95600 palavras (57000 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 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
unit, social unit Person, individual, someone, human family, household, menage relative, relation body,organic structure Brother, blood brother sister, sis leg arm hipernímia meronímia antonímia sinonímia Legenda: Wordnet
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)
Problemática geral e questões sobre ontologias • Divisão: • como delimito as classes e os atributos? • quais são as distinções que trazem valor agregado? • Escopo: • qual conhecimento incluir? • qual a fronteira do meu domínio? • Granularidade: • até que nível de detalhe modelar os domínio? • problema da ramificação? • Validação: • como avalio a qualidade do modelo? • como escolho entre várias modelagem alternativas (as vezes propostas por pessoas diferentes)?] • como identificar aspectos importantes que estão faltando?
Problemática geral e questões sobre ontologias • Muito difícil responder a essas perguntas porque: • Almejados reuso e relativa independência de aplicação impedem ser guiado completamente pelos requisitos de uma aplicação restrita • Para ontologias gerais de senso comum pior devido a imensidão em largura e profundidade do conhecimento a modelar • Metodologias ainda incipientes • Methontology: • Sensus: http://www.isi.edu/natural-language/resources/sensus.html • No entanto, já existe tentativa de padronização: http://suo.ieee.org/