Introdução às Ontologias Jacques Robin e Franklin Ramalho CIn-UFPE Roteiro 1. 2. 3. 4. 5. 6. 7. 8. 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 Formal: algum domínio 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: atributos propriedades x atributos relações preenchidos por valores atômicas (tipos primitivos) x por outros conceitos Status epistemológico do valor as classes dos modelos orientado a objetos as entidades do modelo relacional aos termos do modelo lógico 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 Origem e motivação para ontologias Sistemas Especialistas desde 80 Gerenciamento do Conhecimento em Organizações desde 90 Psicologia Cognitiva desde 60 Filosofia desde 350 A.C. Integração de Dados desde 95 Engenharia de Software: requisitos e reuso desde 90 Ontologias Lingüística desde 60 Processamento de Linguagem Natural desde 80 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êmica em UML Conf erencePaper inv example1: self .lastPage > self .f irstPage Publication inv example2: self .y ear > 1980 Exemplo de ontologia conceitual geral: fragmentos da ontologia de senso comum de Russell e Norvig em UML Anything AbstractObjects Events Sets Numbers RepresentationalObjects Intervals Categories Places PhysicalObjects Stuff Things Sentences Measurements Processes Moments Animals Agents Humans Solid Liquid Gas 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 “partede”. 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) Representando Mudanças com Eventos Tempos, Intervalos e Ações Meet(i,j) Before(i,j) After(j,i) i j i j i During(i,j) Overlap(i,j) j i j 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 Wordnet unit, social unit Person, individual, someone, human family, household, menage relative, relation Brother, blood brother Legenda: sinonímia body,organic structure sister, sis hipernímia arm meronímia leg antonímia WordNet Online 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) Root State Location Abstraction Grouping Possession Entity Psychological Feature PhysicalObject LivingThing Organism Person Act Event Phenomenon 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/