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 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 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 Gerenciamento do Conhecimento em Organizações desde 90 Sistemas Especialistas desde 80 Processamento de Linguagem Natural Psicologia Cognitiva desde 60 Lingüística 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êmica em 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)
Representando Mudanças com Eventos
Tempos, Intervalos e Ações Meet(i,j) i j Before(i,j) After(j,i) During(i,j) Overlap(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: EuroWordNet: http://www.hum.uva.nl/~ewn/ 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 antonímia meronímia family, household, menage Person, individual, someone, human sister, sis arm relative, relation unit, social unit Brother, blood brother body,organic structure leg hipernímia Legenda: sinoní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)
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/