Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Origem Teoria sobre a natureza da existência 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? Conceitos Ontologia é disciplina que lida com a natureza e a organização da realidade Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada Conceito Em computação: uma especificação formal compartilhada de uma conceituação Conceitos Uma "conceitualização" refere-se a um modelo abstrato de algum fenômeno no mundo que identifica conceitos relevantes daquele fenômeno. "Explícito" significa que os tipos de conceitos usados e as restrições a esses conceitos estão definidas explicitamente. "Formal" refere-se ao fato de que a ontologia deve ser legível para as máquinas. Com isso, diferentes graus de formalidade são possíveis. Conceito Diferencia-se das classificações, taxonomias e tesauros porque agregam valor aos demais esquemas de representação, por meio de uma semântica mais profunda e também sob os aspectos conceitual, relacional e tecnológico. Definição Especificação formal explícita de uma conceituação compartilhada 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. Componentes básicos de ontologias Comunicação InterOperabilidade Engenharia de Sistemas Reutilização Entre Pessoas e Organizações Entre Sistemas Confiabilidade Especificação Classes organizadas em uma taxonomia; Relações de vários tipos entre os conceitos; Axiomas usados para modelar sentenças sempre verdadeiras; Instâncias usadas para representar elementos específicos que são os dados. Problemas Diferentes conceitos, estruturas e métodos comunicação pobre entre pessoas e organizações. Sistemas de TI dificuldade de identificar os requisitos e consequentemente de definir uma especificação. Linguagens, paradigmas e ferramentas limitam inter-operabilidade potencial de reuso e compartilhamento Soluções Comunicação e inter-operabilidade Entendimento compartilhado Framework unificador (unifying framework) Conceitualização (entidades, atributos, processos) Benefícios para a construção de sistemas Reuso Confiabilidade Especificação Aplicações Aplicações Cenários para aplicação de ontologias 1. Autoria Neutra 2. Ontologia como especificação 3. Acesso comum para a informação 4. Busca baseada em ontologia 5. Reutilização do conhecimento Aplicações 1 - Autoria Neutra Ontologia criada em uma linguagem pode ser usada em múltiplos sistemas, independente de aplicação. Ex.: Ontologia criada na linguagem neutra (Ontolingua) pode ser traduzida em outras linguagens e utilizada em várias aplicações. Aplicações 2 - Ontologia como especificação Ontologia modela a aplicação de um domínio; produz um vocabulário para especificar os requisitos para uma ou mais aplicações; documentação; confiabilidade; Ex.: Ontologia como parte da especificação de requisitos no desenvolvimento de um SBC (KBS). Aplicações 3 - Acesso comum para a informação Múltiplas aplicações terem acesso a fontes de informações heterogêneas; inter-operabilidade; reuso do conhecimento. Ex.: Um glossário de termos com diferentes jargões. Aplicações 4 - Busca baseada em ontologia Uso da ontologia para buscar em uma base de informações os recursos (docs., web pages) desejados. melhora na precisão da busca; redução do tempo total gasto na busca. Ex.: tanque tanque para lavar roupa ou tanque de guerra? Aplicações 4 - Busca baseada em ontologia Quando não é encontrada uma resposta perfeita a consulta, a estrutura semântica da ontologia capacita o sistema a retornar respostas que são mais próximas da resposta requerida. Elementos de uma Ontologia Elementos de uma Ontologia Hierarquia de conceitos Entidades Relações Restrições Regras Dedutivas Instâncias de Conceitos Hierarquia de Conceitos Entidades Cada entidade é definida por 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 à 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 Restrições Sobre valores possíveis dos atributos dos conceitos Correspondem: às assinaturas de classes aos axiomas universalmente quantificados em modelos lógicos às restrições de integridade nos esquema de BD Regras Dedutivas Sobre atributos 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 programação em lógica aos métodos às visões em BD 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 aos dados das BD Elementos Gerais Objetivos 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 Onde Aplicar Recuperação de informações, Bibliotecas digitais, Web semântica, Gestão de conhecimento, Processamento da linguagem natural, Comércio eletrônico, Sistemas multiagentes... 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 Tipologia das Ontologias Ontologias Gerais: 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: Gato é um mamífero - instânciação/classificação Todo mamífero bebe leite - herança de atributos Ontologias Gerais: Categorias Taxonomia: Tipo particular de ontologia: relações hierárquicas entre classe e sub-classes em forma de árvores Propriedades discriminantes ex. biologia sistemática Ontologias Genéricas Representam 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. Representam Medidas Valores atribuídos aos objetos do mundo real: servem para descrever objetos Medidas quantitativas são fáceis de representar ex. peso, comprimento, altura, diâmetro, ... 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: Representam 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) Representam 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. Representam 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) Herança entre Classes 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. Exemplos de Herança entre Classes Maçã é uma subclasse de Fruta: Vinho Tinto é uma subclasse de Vinho: Toda maçã é uma fruta. Todo vinho tinto é um vinho. Chianti é uma subclasse de Vinho Tinto: Todo Chianti é um vinho tinto. Níveis na Hierarquia de Classes Nível Superior Nível Intermediário Nível Inferior