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 Amanda Pimentel Jacques Robin CIn-UFPE.

Apresentações semelhantes


Apresentação em tema: "Ontologias e Representação do Conhecimento Orientada a Objetos Amanda Pimentel Jacques Robin CIn-UFPE."— 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 - Entendimento  Surgimento cognitivo - Sem usar lógica - 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 1 a limitação  Lógicas descritivas são sucessores das redes semânticas visando a superar a 2 a 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 3 o 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  Definição do Frame– Frame: F in KB F E  F – Nome do frame  E – Expressão 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  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)

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 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 MAX_ENROLLED = 30; final static short MIN_ENROLLED = 2; final static short MIN_ENROLLED = 2; private Student[] enrolls; private Student[] enrolls; private Lecturer taughtby; private Lecturer taughtby; public void setEnrolls(Student[] enrolls) { public void setEnrolls(Student[] enrolls) { if(enrolls.length >= MIN_ENROLLED && if(enrolls.length >= MIN_ENROLLED && enrolls.length >= MAX_ENROLLED) { enrolls.length >= MAX_ENROLLED) { this.enrolls = enrolls; this.enrolls = enrolls; } else{ } else{ throw new IllegalArgumentException("Enrolls must be between "+ throw new IllegalArgumentException("Enrolls must be between "+ MIN_ENROLLED+" and "+MAX_ENROLLED); MIN_ENROLLED+" and "+MAX_ENROLLED); } }......}

20 LPOO como FRC: exemplo public class BasCourse extends Course { public BasCourse() { public BasCourse() { } public void setTaughtby(Lecturer taughtby) { public void setTaughtby(Lecturer taughtby) { if(taughtby instanceof Professor){ if(taughtby instanceof Professor){ this.setTaughtby(taughtby); this.setTaughtby(taughtby); } else { } else { throw new IllegalArgumentException("Lecurer must be an Professor to teach an BasCourse"); 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 Descrições  Exemplo:  Woman = Person  Female  Abox (Assertional part) - extensional knowledge Instâncias Instâncias  Exemplos:  Female  Person (Anna)  hasChild (Anna, Jacopo)

25 Lógicas descritivas: serviços de inferência Dada uma base de conhecimento  =, dois conceitos C e D, e um indivíduo a, chamamos: Dada uma base de conhecimento  =, 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)

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 - entendimento retirando inconsistências  Engenharia de Software - Uma das primeiras aplicações : usar DL para um sistema 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 - 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 - Construção de ontologias de conhecimento médico

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) Ex: Pessoa – filho (pessoa)

29 Ontologias

30 O que é uma ontologia ?  Definição: especificação (semi-)formal explícita de uma concepção compartilhada  Concepção:  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:  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 Integração de Dados desde 95 Sistemas Multi-agentes desde 95 Recuperação de Informação na Web desde 00 Psicologia Cognitiva desde 60 Lingüística desde 60 Sistemas Especialistas desde 80 Processamento de Linguagem Natural desde 80 Ontologias Filosofia desde 350 A.C. Engenharia de Software: requisitos e reuso desde 90

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

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  correspondem :  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 G D1 AP1 G D1 AP2 G D2 AP1 G D2 AP2 Aplicação 1Aplicação 2 Domínio 1 Domínio 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 - 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 - 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(L 1 ) = 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  e 1, e 2 e 1  Exercícios  e 2  Exercícios  Elabora(João,e 1 )  Elabora(Pedro,e 2 )  Dificuldade(e 1 ) < Dificuldade(e 2 )

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 Dados Web Semântica Engenho de Busca Ontologia Camada de Estrutura Camada de Esquema Regras de Inferência Camada Lógica …E-commerce

45 Web semântica Arquitetura  Camada de Estrutura - Responsável por estruturar os dados e definir seu significado - Responsável por estruturar os dados e definir seu significado  Camada de Esquema - Responsável por definir relações entre os dados - Responsável por definir relações entre os dados - Ontologia: “Entendimento comum e compartilhado de um domínio” - 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 - 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 - Responsável por definir mecanismos para fazer inferência sobre os dados - Composta por um conjunto de regras de inferência - 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 - 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  The Description Logic Handbook : Theory, Implementation and Applications Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider Franz BaaderDiego CalvaneseDeborah McGuinnessDaniele Nardi Peter Patel-Schneider   Ontological Engeneering: a state of the arte Asunción Goméz Peréz   Artificial Intelligence a Modern Approach (2 nd 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 Amanda Pimentel Jacques Robin CIn-UFPE."

Apresentações semelhantes


Anúncios Google