Ontologias e Representação do Conhecimento Orientada a Objetos - ppt carregar
Ontologias e Representação do Conhecimento Orientada a Objetos
PublicouAnasofia Fortes Alterado mais de 3 anos atrás
Apresentação em tema: "Ontologias e Representação do Conhecimento Orientada a Objetos"— Transcrição da apresentação:
1 Ontologias e Representação do Conhecimento Orientada a Objetos
Amanda Pimentel Jacques Robin CIn-UFPE
2 Roteiro Limitações da lógica como formalismo de representação do conhecimento Formalismos de representação do conhecimento orientado a objetos Redes semânticas UML: redes semânticas utilizadas no nível certo Frames: a volta dos procedimentos Linguagens de programação orientadas a objetos como FRC Lógicas descritivas: a volta vingativa da lógica Ontologias Definição e origens Tipologia das ontologias e suas aplicações Ontologias e reuso de conhecimento Ontologias já estudadas na disciplina Áreas da engenharia ontológica Linguagens de representação de ontologias Web semântica: o renascimento das ontologias e dos FRCOO Arquitetura de software dirigido por modelos: ontologias entram no mainstream Catálogo das ontologias disponíveis
3 Formalismo de Representação do Conhecimento Orientados a Objetos (FRCOO)
4 Limitações da lógica como formalismos de representação do conhecimento
Complexa Representação - Entendimento Surgimento cognitivo - Sem usar lógica "non-logical" FRC foram desenvolvidos motivados pela crença que lógica (clássica) é inadequada para representação do conhecimento em aplicações IA.
5 Redes semântica: construtores
Uma rede semântica é uma representação na qual existem nós que representam entidades e links (predicados) que representam relacionamentos entre essas entidades; cada link conecta um nó origem até um nó destino; normalmente, os nós e links denotam entidades de domínio específico. Forma mais flexível e intuitiva de representar conhecimento.
6 Redes semânticas: serviços de inferência
7 Redes semânticas: exemplo
8 Redes semânticas: limitações
Duas limitações principais das redes semânticas: 1. Computacionalmente incompletos para implementar a maioria dos sistemas inteligentes 2. Sem semântica declarativa formal bem-definida (atalho entre nível do conhecimento e nível da implementação sem lógica) Frames são sucessores das redes semânticas visando a superar a 1a limitação Lógicas descritivas são sucessores das redes semânticas visando a superar a 2a limitação Busca em redes semânticas grandes pode ser muito ineficiente. Não há homogeneidade na definição de nós e links. Hereditariedade pode causar dificuldades no tratamento de exceções. Pode haver conflito entre características herdadas. É difícil representar conhecimento procedimental seqüenciamento e tempo não estão explícitos. Menos expressiva que a Lógica de Primeira Ordem não há quantificadores
9 Redes semânticas no 3o milênio: diagramas de classes e de objetos UML
10 Vantagens de UML sobre redes semânticas
Padrão - rede semântica nunca padronizou nem notação nem ferramenta de edição Links bens definidos - composição, agregação, ... Trabalha a nível do conhecimento Gráfico - bom para modelar
11 Frames Um frame é identificado por um nome e descreve um objeto complexo através de um conjunto de atributos Um Sistema de Frames é um conjunto de frames organizados hierarquicamente. São uma evolução das Redes Semânticas: nós são substituídos por frames arcos são substituídos por atributos (slots) procedimentos podem ser anexados a um frame
12 Frames: construtores F - Conjunto de definições do Frame
Definição do Frame– Frame: F in KB F E F – Nome do frame E – Expressão do frame S – Nome do slot representa propriedades da situação descrita no frame H – Slots constraints (INTERSECTION, UNION, NOT) F - Conjunto de definições do Frame
13 Frames - Facetas Descrevem conhecimento ou algum procedimento relativo ao atributo. Propriedades Valor: especifica o único valor possível. Valor default: especifica o valor assumido pelo atributo caso não haja nenhuma informação a esse respeito. Tipo: indica o tipo de dado do valor. Domínio: descreve os valores possíveis para o atributo.
14 Frames - Gatilhos Definição Procedimentos Demons:
15 Frames: exemplo
16 Limitações dos Frames Conhecimento comportamental não declarativo impede codificação direita por especialista do domínio que não é programador Sem semântica formal Implementação ad-hoc de dedução e adbução, geralmente ineficientes Não existe máquina de inferência indutivas para aprendizagem Não inclui noções de encapsulamento e componentes das linguagens de programação OO modernas
17 LPOO como FRC: construtores
Objetos (estado + comportamento) Classes Instância Subclasse Encapsulamento (ocultamento de implementação e modularidade) Encapsulamento é o processo de empacotamento dos dados de um objeto juntamente com seus métodos. A grande vantagem do encapsulamento é o ocultamento de detalhes de implementação para os demais objetos. Isto significa que a porção interna de um objeto apresenta mais visibilidade do que a porção externa. Encapsulamento fornece duas vantagens para os programadores: ocultamento de implementação e modularidade. A primeira se refere à proteção da implementação interna de um objeto. A segunda significa que um objeto pode ser mantido (modificado, atualizado) de maneira independente dos outros objetos. Um objeto
18 LPOO como FRC: serviços de inferência
Rico em termos de estrutura, pobre em termos de inferência Inferência – Herança (você não programa herança) Ex: Implementar maquina de inferência em Java Trabalhoso, lento, limitado Jeops: um sistema de produção embutido em Java
19 LPOO como FRC: exemplo public class Course {
final static short MAX_ENROLLED = 30; final static short MIN_ENROLLED = 2; private Student[] enrolls; private Lecturer taughtby; public void setEnrolls(Student[] enrolls) { if(enrolls.length >= MIN_ENROLLED && enrolls.length >= MAX_ENROLLED) { this.enrolls = enrolls; } else{ throw new IllegalArgumentException("Enrolls must be between "+ MIN_ENROLLED+" and "+MAX_ENROLLED); } ...
20 LPOO como FRC: exemplo public class BasCourse extends Course {
public BasCourse() { } public void setTaughtby(Lecturer taughtby) { if(taughtby instanceof Professor){ this.setTaughtby(taughtby); } else { throw new IllegalArgumentException("Lecurer must be an Professor to teach an BasCourse");
21 Lógicas descritivas: princípios
Usar lógica para definir formalmente semântica de formalismos de representação de conhecimento OO. Estudar computabilidade e complexidade das linguagens e serviços de inferência antes de implementá-los. Limitar expressividade para garantir que esses serviços sejam computacionalmente tratáveis.
22 Lógicas descritivas: conceitos chaves
Utilizar lógica para dar semântica a hierarquia OO Formalismos lógicos para representação das informações sobre classes de indivíduos e suas descrições. Subconjunto da lógica de primeira ordem, trata de: Relações unárias (conceitos) Ex, Student = {x | Student(x)} Relações binárias (papéis); Ex, SUPERVISED = {(x,y) | SUPERVISED(x,y) } Possui também: Construtores sobre os conceitos (,, outros) Ex, PdhStudent = Student  SUPERVISED.AcademicStaff = { x | Student(x)  y.SUPERVISED(x,y)  AcademicStaff(y) } Indivíduos, e instâncias dos conceitos franklin, jacques, thiago; Student(thiago), PhdStudent(franklin), Researcher(jacques)
23 Lógicas descritivas: construtores
24 Lógicas descritivas: bases de conhecimento
KB = Tbox + Abox Tbox (Terminological part) - intensional knowledge Descrições Exemplo: Woman = Person  Female Abox (Assertional part) - extensional knowledge Instâncias Exemplos: Female  Person (Anna) hasChild (Anna, Jacopo)
25 Lógicas descritivas: serviços de inferência
Dada uma base de conhecimento  = <Tbox,Abox>, dois conceitos C e D, e um indivíduo a, chamamos: Satisfiability:  |= C   Verificar se há um modelo I de  tal que CI   Exemplo: Student  Person ? Subsumption:  |= C  D Verificar se C é subsumed por D. CI  DI em todo modelo I de  Exemplo: Employee  Person  Student ? Consistência:  |= Verificar se a própria base tem um modelo. Exemplo: Student = Person ? Classificação de instância:  |= C(a) Verificar se uma dada asserção é válida. Exemplo: Person(joao) Subsumption C  D - Checa se o conceito denotado por D (subsumer) é considerado mais geral o denotado por C (subsumee) Satisfiability Checa se a expressão de um conceito não necessariamente denota o conceito vazio. Caso especial de subsumption, com o subsumer sendo o conceito vazio, significando que o conceito é não satisfeito. Dada uma base de conhecimento  = <Tbox,Abox>, dois conceitos C e D, e um indivíduo a, chamamos:
26 Lógicas descritivas: exemplos
Course  enrolls.Student   2 enrolls   30 enrolls  taughtby.(Professor  GradStudent)  =1taughtby AdvCourse  Course  enrolls. GradStudent   20 enrolls BasCourse  Course  taughtby.Professor GradStudent  Student  degree.String  = 1 degree Undergrad  Student GradStudent(João) Taughtby(Jacques,UFPE)
27 Lógicas descritivas: aplicações práticas
Modelagem de Aplicações - entendimento retirando inconsistências Engenharia de Software - Uma das primeiras aplicações : usar DL para um sistema de software Configuração - Incluem aplicações que suportam o design de sistemas complexos criados pela combinação de componentes Medicina - Construção de ontologias de conhecimento médico A critical element in the development of applications based on Description Logics is the usability of the knowledge representation system. Here we focus on the efectiveness of Description Logics as a modeling language. A modeling language should have intuitive semantics and the syntax must help convey the intended meaning. we identify several application domains in Section 1.5.2; these include Software Engineering, Configuration, Medicine, and Digital Libraries and Web-based Information Systems. As already mentioned, there are at least two major alternatives for increasing the usability of Description Logics as a modeling language: (i) providing a syntax that resembles more closely natural language; (ii) implementing interfaces where the user can specify the representation struc- tures through graphical operations.
28 Lógicas descritivas: limitações
DL não trata bem de conceitos quantitativos tais como ordem, quantidade, tempo e taxas. Limitar expressividade para garantir que esses serviços sejam computacionalmente tratáveis. Definição cíclica Ex: Pessoa – filho (pessoa) Infelizmente esses tipo de raciocínio é essencial ara certos aspectos computacionais
29 Ontologias
30 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 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
31 Origem e motivação para ontologias
32 Tipologias das ontologias
Especialista: modela um domínio particular restrito Geral: inclue vocabulário relacionado a coisas eventos, tempo, espaço, etc 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
33 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 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
34 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: 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
35 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
36 Ontologias e reuso de conhecimento
AP1 G D1 AP2 Domínio 1 G D2 AP1 G D2 AP2 Domínio 2 Aplicação 1 Aplicação 2
37 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 crenças
38 Engenharia ontológica: 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: através de herança todo mamífero bebe leite Taxonomia: tipo particular de ontologia: relações hierárquicas entre classe e sub-classes em forma de árvores
39 Engenharia ontológica: categorias
Disjunção - não há interseção entre as categorias ex. Disjunção({Animais, Vegetais}) Decomposição exaustiva ex. DecomposiçãoExaustiva({Americano, Canadense, Mexicano}, Norte-Americano) Partição - decomposição exaustiva disjunta ex.. Partição(({macho, fêmea}), animal)
40 Engenharia ontológica: 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)
41 Engenharia ontológica: 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)
42 Linguagens de representação de ontologias
Lógicas descritivas: LOOM, Classic, FaCT, ... Linguagens de interoperabilidade entre agentes: KIF Programação em Lógica OO: Flora, Lopix, Sirli Linguagens específicas para ontologias antes da iniciativa Web Semântica da W3C: Ontolingua Linguagens de Web semântica: XMLS (esquema para documentos XML) RDFS (essencialmente redes semânticas distribuidas na web) DAML-OIL e OWL (essencialmente lógicas descritivas distribuidas na web) RuleML (essencialmente regras Prolog e regras de produção distribuídas na web) UML
43 Web semântica Torna pesquisa de ontologia atual
Uma das aplicações de ontologia Extensão da Web atual Tentar contornar a falta de precisão dos engenhos de busca Informação estruturada e com semântica bem definida Agentes computacionais capazes de processar e entender os dados
44 Web semântica Arquitetura
Engenho de Busca … E-commerce Web Semântica Regras de Inferência Camada Lógica Ontologia Ontologia Ontologia Camada de Esquema Camada de Estrutura Dados
45 Web semântica Arquitetura
Camada de Estrutura - Responsável por estruturar os dados e definir seu significado Camada de Esquema - Responsável por definir relações entre os dados - Ontologia: "Entendimento comum e compartilhado de um domínio" - Uso de ontologias em páginas web torna mais simples a resolução de indefinição ou conflito de terminologia Camada Lógica - Responsável por definir mecanismos para fazer inferência sobre os dados - Composta por um conjunto de regras de inferência - Regras de inferência fornecem aos agentes computacionais o poder de raciocinar sobre as estruturas de dados
46 Arquitetura de software dirigida por modelos
Model-driven architecture, an OMG standard
47 Catálogo de ontologias disponíveis
48 Problemática geral e questões sobre ontologias
49 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 No entanto, já existe tentativa de padronização:
50 Referências e links The Description Logic Handbook : Theory, Implementation and Applications Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider Ontological Engeneering: a state of the arte Asunción Goméz Peréz Artificial Intelligence a Modern Approach (2nd Edition), S. Russell & P. Norvig, 2002, Prentice-Hall. Ontologies, the Silver Bullet for Knowledge Management and Electronic Commerce, D. Fensel. 2001, Springer-Verlag.