A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ontologias e Representação do Conhecimento Orientada a Objetos

Apresentações semelhantes


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
Base de conhecimento nós e links da rede. Máquina de inferência busca e casamento de padrões a busca se dá para frente e para trás através dos links. A busca pode ser usada de várias maneiras para se extrair informações como uma ferramenta explicativa; para explorar exaustivamente um tópico; para encontrar o relacionamento entre dois objetos.

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:
São procedimentos anexados aos frames, disparados por consultas ou atualizações. Podem inferir valores para atributos a partir de valores de outros atributos especificados anteriormente em qualquer frame do sistema. Procedimentos Demons: when-requested quando o valor é pedido mas não existe ainda when-read quando valor é lido when-written quando valor é modificado

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
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

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
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?

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.


Carregar ppt "Ontologias e Representação do Conhecimento Orientada a Objetos"

Apresentações semelhantes


Anúncios Google