Ontologias e Representao do Conhecimento Orientada a Objetos
Ontologias e Representação do Conhecimento Orientada a Objetos Amanda Pimentel Jacques Robin CIn-UFPE
Roteiro E Limitações da lógica como formalismo de representação do conhecimento E Formalismos de representação do conhecimento orientado a objetos E E E 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 E Ontologias E E E E E 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
Formalismo de Representação do Conhecimento Orientados a Objetos (FRCOO)
Limitações da lógica como formalismos de representação do conhecimento E Complexa Representação - Entendimento E Surgimento cognitivo - Sem usar lógica E “non-logical” FRC foram desenvolvidos motivados pela crença que lógica (clássica) é inadequada para representação do conhecimento em aplicações IA.
Redes semântica: construtores E Uma rede semântica é uma representação na qual E existem nós que representam entidades e links (predicados) que representam relacionamentos entre essas entidades; E cada link conecta um nó origem até um nó destino; E normalmente, os nós e links denotam entidades de domínio específico. E Forma mais flexível e intuitiva de representar conhecimento.
Redes semânticas: serviços de inferência E Base de conhecimento E nós e links da rede. E Máquina de inferência E busca e casamento de padrões E a busca se dá para frente e para trás através dos links. E A busca pode ser usada de várias maneiras para se extrair informações E como uma ferramenta explicativa; E para explorar exaustivamente um tópico; E para encontrar o relacionamento entre dois objetos.
Redes semânticas: exemplo
Redes semânticas: limitações E 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) E Frames são sucessores das redes semânticas visando a superar a 1 a limitação E Lógicas descritivas são sucessores das redes semânticas visando a superar a 2 a limitação E Busca em redes semânticas grandes pode ser muito ineficiente. E Não há homogeneidade na definição de nós e links. E Hereditariedade pode causar dificuldades no tratamento de exceções. E Pode haver conflito entre características herdadas. E É difícil representar conhecimento procedimental E seqüenciamento e tempo não estão explícitos. E Menos expressiva que a Lógica de Primeira Ordem E não há quantificadores
Redes semânticas no 3 o milênio: diagramas de classes e de objetos UML
Vantagens de UML sobre redes semânticas E Padrão - rede semântica nunca padronizou nem notação nem ferramenta de edição E Links bens definidos - composição, agregação, . . . E Trabalha a nível do conhecimento E Gráfico - bom para modelar
Frames E Um frame é identificado por um nome e descreve um objeto complexo através de um conjunto de atributos E Um Sistema de Frames é um conjunto de frames organizados hierarquicamente. E São uma evolução das Redes Semânticas: E nós são substituídos por frames E arcos são substituídos por atributos (slots) E procedimentos podem ser anexados a um frame
Frames: construtores E Definição do Frame– Frame: F in KB F E E F – Nome do frame E E – Expressão do frame E S – Nome do slot representa propriedades da situação descrita no frame E H – Slots constraints (INTERSECTION, UNION, NOT) E F - Conjunto de definições do Frame
Frames - Facetas E Descrevem conhecimento ou algum procedimento relativo ao atributo. E Propriedades E Valor: especifica o único valor possível. E Valor default: especifica o valor assumido pelo atributo caso não haja nenhuma informação a esse respeito. E Tipo: indica o tipo de dado do valor. E Domínio: descreve os valores possíveis para o atributo.
Frames - Gatilhos E Definição E São procedimentos anexados aos frames, disparados por consultas ou atualizações. E Podem inferir valores para atributos a partir de valores de outros atributos especificados anteriormente em qualquer frame do sistema. E Procedimentos Demons: E when-requested E quando o valor é pedido mas não existe ainda E when-read E quando valor é lido E when-written E quando valor é modificado
Frames: exemplo
Limitações dos Frames E Conhecimento comportamental não declarativo impede codificação direita por especialista do domínio que não é programador E Sem semântica formal E Implementação ad-hoc de dedução e adbução, geralmente ineficientes E Não existe máquina de inferência indutivas para aprendizagem E Não inclui noções de encapsulamento e componentes das linguagens de programação OO modernas
LPOO como FRC: construtores E Objetos (estado + comportamento) E Classes E Instância E Subclasse E Encapsulamento (ocultamento de implementação e modularidade)
LPOO como FRC: serviços de inferência E Rico em termos de estrutura, pobre em termos de inferência E Inferência – Herança (você não programa herança) E Ex: Implementar maquina de inferência em Java Trabalhoso, lento, limitado E Jeops: um sistema de produção embutido em Java
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 set. Enrolls(Student[] enrolls) { if(enrolls. length >= MIN_ENROLLED && enrolls. length >= MAX_ENROLLED) { this. enrolls = enrolls; } else{ throw new Illegal. Argument. Exception("Enrolls must be between "+ MIN_ENROLLED+" and "+MAX_ENROLLED); } }. . .
LPOO como FRC: exemplo public class Bas. Course extends Course { public Bas. Course() { } public void set. Taughtby(Lecturer taughtby) { if(taughtby instanceof Professor){ this. set. Taughtby(taughtby); } else { throw new Illegal. Argument. Exception("Lecurer must be an Professor to teach an Bas. Course"); } } }
Lógicas descritivas: princípios E Usar lógica para definir formalmente semântica de formalismos de representação de conhecimento OO. E Estudar computabilidade e complexidade das linguagens e serviços de inferência antes de implementá-los. E Limitar expressividade para garantir que esses serviços sejam computacionalmente tratáveis.
Lógicas descritivas: conceitos chaves E Utilizar lógica para dar semântica a hierarquia OO E Formalismos lógicos para representação das informações sobre classes de indivíduos e suas descrições. E Subconjunto da lógica de primeira ordem, trata de: E Relações unárias (conceitos) E Ex, Student = {x | Student(x)} E Relações binárias (papéis); E Ex, SUPERVISED = {(x, y) | SUPERVISED(x, y) } E Possui também: E Construtores sobre os conceitos ( , , outros) E Ex, Pdh. Student = Student SUPERVISED. Academic. Staff = { x | Student(x) y. SUPERVISED(x, y) Academic. Staff(y) } E Indivíduos, e instâncias dos conceitos E franklin, jacques, thiago; E Student(thiago), Phd. Student(franklin), Researcher(jacques)
Lógicas descritivas: construtores
Lógicas descritivas: bases de conhecimento E KB = Tbox + Abox E Tbox (Terminological part) - intensional knowledge Descrições E Exemplo: E Woman = Person Female E Abox (Assertional part) - extensional knowledge Instâncias E Exemplos: E Female Person (Anna) E has. Child (Anna, Jacopo)
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: E Satisfiability: |= C E Verificar se há um modelo I de tal que CI E Exemplo: Student Person ? E Subsumption: |= C D E Verificar se C é subsumed por D. CI DI em todo modelo I de E Exemplo: Employee Person Student ? E Consistência: |= E Verificar se a própria base tem um modelo. E Exemplo: Student = Person ? E Classificação de instância: |= C(a) E Verificar se uma dada asserção é válida. E Exemplo: Person(joao)
Lógicas descritivas: exemplos E Course enrolls. Student 2 enrolls 30 enrolls taughtby. (Professor Grad. Student) =1 taughtby E Adv. Course enrolls. Grad. Student 20 enrolls E Bas. Course taughtby. Professor E Grad. Student degree. String = 1 degree E Undergrad Student E Grad. Student(João) E Taughtby(Jacques, UFPE)
Lógicas descritivas: aplicações práticas E Modelagem de Aplicações - entendimento retirando inconsistências E Engenharia de Software - Uma das primeiras aplicações : usar DL para um sistema de software E Configuração - Incluem aplicações que suportam o design de sistemas complexos criados pela combinação de componentes E Medicina - Construção de ontologias de conhecimento médico
Lógicas descritivas: limitações E DL não trata bem de conceitos quantitativos tais como ordem, quantidade, tempo e taxas. E Limitar expressividade para garantir que esses serviços sejam computacionalmente tratáveis. E Definição cíclica Ex: Pessoa – filho (pessoa)
Ontologias
O que é uma ontologia ? E Definição: especificação (semi-)formal explícita de uma concepção compartilhada E Concepção: modelo das entidades, relações, axiomas e regras de algum domínio E Formal: E processável por máquina E com semântica lógica formal E Compartilhada: por uma comunidade, permitindo entendimento E Conceitos de computação relacionados: E Base de conhecimento reutilizável E Esquema de banco de dados
Origem e motivação para ontologias Sistemas Especialistas desde 80 Gerenciamento do Conhecimento em Organizações desde 90 Psicologia Cognitiva desde 60 Filosofia desde 350 A. C. Integração de Dados desde 95 Engenharia de Software: requisitos e reuso desde 90 Ontologias Lingüística desde 60 Processamento de Linguagem Natural desde 80 Sistemas Multi-agentes desde 95 Recuperação de Informação na Web desde 00
Tipologias das ontologias E Especialista: modela um domínio particular restrito E Geral: E inclue vocabulário relacionado a coisas eventos, tempo, espaço, etc E modela o conhecimento de senso comum compartilhado por todos os seres humanos E 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 E De tarefas e métodos: modela procedimentos e comportamentos abstratos no lugar de entidades ou relações E E E
Elementos de uma ontologia E Hierarquia de conceitos: E entidades E cada entidade definida por conjunto de pares atributo-valor E correspondem: E as classes dos modelos orientado a objetos E as entidades do modelo relacional E aos termos do modelo lógico E relações E sem hierarquia x em hierarquia paralela a hierarquia de entidades E correspondem: E associações, agregações e atributos dos modelos OO cujos valores são objetos E as relações do modelo relacional E aos predicados do modelo lógico
Elementos de uma ontologia E Restrições: E sobre valores possíveis dos atributos do conceitos E correspondem: E as assinaturas de classes em modelos OO E as axiomas universalmente quantificados em modelos lógicos E as restrições de integridade nos esquema de BD E Regras dedutivas: E permitem inferência automática da existência de instâncias de conceitos a partir da existência de outras instâncias E correspondem: E as regras dos sistemas especialistas e programação em lógica E aos métodos modelos OO E as visões em BD
Elementos de uma ontologia E Instâncias de conceitos: E definição de entidade e relações específicos (indivíduos) E correspondem: E aos fatos de sistemas especialistas e programação em lógica E aos objetos dos modelos OO E aos dados BD
Ontologias e reuso de conhecimento G G D 1 AP 2 G G D 2 AP 1 AP 2 Aplicação 1 Aplicação 2 Domínio 1 Domínio 2
Sub-problemas de modelagem de uma ontologia geral E E E E E Categorias e conjuntos Medidas Objetos compostos Tempo Espaço Mudanças Eventos e processos Objetos físicos Substâncias Objetos mentais e crenças
Engenharia ontológica: categorias E Também chamadas de classes, relações, tipos. . . E conjuntos de objetos com propriedades comuns E organiza e simplifica a base de conhecimento. E Exemplos de simplificação: E através de herança E todo mamífero bebe leite E Taxonomia: E tipo particular de ontologia: E relações hierárquicas entre classe e sub-classes em forma de árvores
Engenharia ontológica: categorias E Disjunção - não há interseção entre as categorias ex. Disjunção({Animais, Vegetais}) E Decomposição exaustiva ex. Decomposição. Exaustiva({Americano, Canadense, Mexicano}, Norte. Americano) E Partição - decomposição exaustiva disjunta ex. . Partição(({macho, fêmea}), animal)
Engenharia ontológica: medidas E Valores atribuídos aos objetos do mundo real: servem para descrever objetos E ex. peso, comprimento, altura, diâmetro, . . . E Medidas quantitativas são fáceis de representar E ex. Tamanho(L 1) = Polegadas(1, 5) = Centímetros (3, 81) E Medidas qualitativas são mais complicadas E ex. beleza de um poema, dificuldade de um exercício E 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)
Engenharia ontológica: Objetos Compostos E Objetos formados por partes que também são objetos E São caracterizados pela estrutura dos objetos que os compõem E ex. massa de um carro é a soma das massas de suas partes(carroceria, motor, pneu, . . . ) E Para representá-los, usamos a relação Parte. De E e. g. , Parte. De(motor, Carro), Parte. De(pneu, Carro) E Exemplo: a Bipede(a) Þ l 1, l 2, b Perna(l 1) Perna(l 2) Corpo(b) Parte. De(l 1, a) Parte. De(l 2, a) Parte. De(b, a) Ligado(l 1, b) Ligado(l 2, b) l 1 l 2 l 3 Perna(l 3) Parte. De(l 3, a) Þ (l 3 = l 1 Ú l 3 = l 2)
Linguagens de representação de ontologias E E Lógicas descritivas: LOOM, Classic, Fa. CT, . . . 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 W 3 C: 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) E Rule. ML (essencialmente regras Prolog e regras de produção distribuídas na web) E E E UML
Web semântica E Torna pesquisa de ontologia atual E Uma das aplicações de ontologia E Extensão da Web atual E Tentar contornar a falta de precisão dos engenhos de busca E Informação estruturada e com semântica bem definida E Agentes computacionais capazes de processar e entender os dados
Web semântica Arquitetura Engenho de Busca … E-commerce Web Semântica Camada Lógica Camada de Ontologia Esquema Camada de Estrutura Regras de Inferência Ontologia Dados Ontologia
Web semântica Arquitetura E Camada de Estrutura - Responsável por estruturar os dados e definir seu significado E 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 E 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
Arquitetura de software dirigida por modelos E Model-driven architecture, an OMG standard E http: //www. omg. org/
Catálogo de ontologias disponíveis E www. daml. org
Problemática geral e questões sobre ontologias E Divisão: E como delimito as classes e os atributos? E quais são as distinções que trazem valor agregado? E Escopo: E qual conhecimento incluir? E qual a fronteira do meu domínio? E Granularidade: E até que nível de detalhe modelar os domínio? E problema da ramificação? E Validação: E como avalio a qualidade do modelo? E como escolho entre várias modelagem alternativas (as vezes propostas por pessoas diferentes)? ] E como identificar aspectos importantes que estão faltando?
Problemática geral e questões sobre ontologias E Muito difícil responder a essas perguntas porque: E Almejados reuso e relativa independência de aplicação impedem ser guiado completamente pelos requisitos de uma aplicação restrita E Para ontologias gerais de senso comum pior devido a imensidão em largura e profundidade do conhecimento a modelar E Metodologias ainda incipientes E No entanto, já existe tentativa de padronização: http: //suo. ieee. org/
Referências e links E The Description Logic Handbook : Theory, Implementation and Applications Franz Baader, Diego Calvanese, Deborah Mc. Guinness, Daniele Nardi, Peter Patel-Schneider E Ontological Engeneering: a state of the arte Asunción Goméz Peréz E Artificial Intelligence a Modern Approach (2 nd Edition), S. Russell & P. Norvig, 2002, Prentice-Hall. E Ontologies, the Silver Bullet for Knowledge Management and Electronic Commerce, D. Fensel. 2001, Springer-Verlag. E www. daml. org E http: //www. omg. org/ E http: //www. cin. ufpe. br/~in 1006/2003
- Slides: 50