Ontologias Prof. Fred Freitas CIn - UFPE Prof. Fred Freitas - [email protected] 1 Objetivo: Situar o contexto em que surgiram as ontologias e a Web semântica • Dentro da Informática – A controvérsia declarativo-procedimental – Porque as ontologias ganharam foco com a Web – Web Semântica • Dentro de Inteligência Artificial Simbólica – Histórico do paradigma declarativo – Formalismos de representação de conhecimento – Motivações de reuso e compartilhamento de conhecimento – Integração de conhecimento escrito em formalismos de representação diferentes Prof. Fred Freitas - [email protected] 2 Objetivo: Estudar as questões mais técnicas relativas a Ontologias • Tipos, exemplos e benefícios de Ontologias • Ferramentas para as ontologias e a Web semântica – Ontolingua, Protégé, OntoEdit e ODE • Engenharia de Ontologias • Aplicações de Ontologias – PACT e MASTER-Web • Tópicos Abertos de Pesquisa Prof. Fred Freitas - [email protected] 3 O que é uma ontologia? Prof. Fred Freitas - [email protected] 4 Ontologias • Corpo de conhecimento declarativo sobre um dado domínio, assunto ou área de conhecimento • Na prática, hierarquias de conceitos (classes) com suas relações, restrições, axiomas e terminologia associada • Termo às vezes mal-empregado. Ontologias não são: – Simples hierarquias – Conjuntos de conceitos associados a palavras-chave – Esquemas de bancos de dados Prof. Fred Freitas - [email protected] 5 Relacionamentos na Ontologia Ciência Prof. Fred Freitas - [email protected] 6 Axiomas • Axiomas são sentenças sempre válidas no domínio • Servem para inferência e restrições complexas Ex: Todo empregado tem um ID único: (forall ?person1 (forall ?person2 (=> (and (=> (not (not (own-slot-not-null ID ?person1) (own-slot-not-null ID ?person2)) (= ?person1 ?person2)) (= (ID ?person1) (ID ?person2)))))) Prof. Fred Freitas - [email protected] 7 Axiomas de definição • Uma pizza de 4 queijos: • • • • Roquefort Queijo Muzzarela Queijo ... Pizza4Queijos ≡ Pizza and temCobertura some Tomate and temCobertura = 4 Queijo and temCobertura only (Queijo or Tomate) Usos de ontologias • Realizar inferência • Servir como vocabulário compartilhado numa comunicação entre agentes inteligentes • Codificar conhecimento interoperável – entre linguagens (F-logic, Prolog, Jess) – entre formalismos de representação de conhecimento (frames, redes semânticas, lógica de descrições) • Definir páginas da Web semântica Prof. Fred Freitas - [email protected] 9 Contexto das Ontologias em Informática Prof. Fred Freitas - [email protected] 10 Controvérsia Declarativo-Procedimental • Abordagem procedimental – Descreve o funcionamento de processos passo-a-passo – Código compilado, mais rápido, simples, controlável e popular – Metáfora do “como” • Abordagem declarativa – Descreve um domínio com suas entidades e características, através de “fatos” declarativos que não estão dentro dos programas – Motores de inferência deduzem novos fatos a partir dos existentes – Metáfora do “o quê” Prof. Fred Freitas - [email protected] 11 Nova conjuntura para a controvérsia: a Internet • Grande volume de informações desestruturadas • HTTP e HTML asseguram apenas navegação e apresentação • Solução procedimental: Engenhos de busca – Análise apenas em nível léxico – Falta de precisão e muitos resultados irrelevantes, • Principais ausências – Falta de contexto – Falta de semântica na definição das páginas Prof. Fred Freitas - [email protected] 12 Soluções possíveis para o tratamento de informação na Web • Dotar os sistemas de inteligência – Agentes inteligentes – Manipulação cooperativa de informação [Oates et al 94]: distribuição, cooperação e comunicação sobre a semântica das páginas – Restrição de domínios • Dotar a Internet de inteligência: a Web Semântica – Linguagens e padrões para definir páginas com uma semântica clara e definida formalmente – Os agentes poderão raciocinar e “conversar” no contexto desta semântica => Ontologias desempenham um papel fundamental em ambas as soluções! Prof. Fred Freitas - [email protected] 13 Contexto das Ontologias em Inteligência Artificial Simbólica Prof. Fred Freitas - [email protected] 14 Sistemas Baseados em Conhecimento • Criar sistemas diretamente a partir do conhecimento • Separação entre o conhecimento e o processo dedutivo ou inferência • Conhecimento sobre o domínio e sobre processos são dados (fatos), que podem ficar fora do programa • A concepção passa por 3 especificações consecutivas: – O nível de conhecimento ou epistemológico – O nível lógico – O nível de implementação Prof. Fred Freitas - [email protected] 15 Formalismos de Representação de Conhecimento • Prover teorias - fundamentadas em lógica matemática - e sistemas para expressar e manipular conhecimento declarativo de forma tratável e eficiente computacionalmente • Um formalismo deve prover: – Acesso aos fatos (conhecimento) – Mecanismo de inferência (ou estratégia de resolução) – Estratégias de controle e escalonamento da inferência Prof. Fred Freitas - [email protected] 16 Tipos de formalismos em relação ao foco • Formalismos orientados a predicados: regras de produção (vide aula prática) e programação em lógica – Pioneiros – Foco no processo, funcionamento • Formalismos orientados a domínios: frames, redes semânticas, lógica de descrições – Classes, relações e restrições – Facilitam a estruturação de conhecimento sobre um domínio de aplicação Prof. Fred Freitas - [email protected] 17 Formalismos orientados a domínios Prof. Fred Freitas - [email protected] 18 Redes Semânticas • Proposta por Quillian [68] a partir da modelagem da memória semântica humana • Nós (objetos) conectados por arcos (relações binárias) • Arcos típicos: é-um (is-a), é-parte • Muito utilizadas em Processamento de Linguagem Natural – Ontologias linguísticas (Ex: WordNet) Prof. Fred Freitas - [email protected] 19 Redes Semânticas pessoa nome cônjuge id primeiro último string string último nome pessoa id X: pessoa ( nome => id ( primeiro => string, último => Y: string ), Cônjuge => pessoa ( nome => id ( último => Y),Cônjuge => X)) Prof. Fred Freitas - [email protected] 20 Exemplo de ontologias em redes semânticas faz Animal Ako Pássaro Comer Ako Mamífero tem Pêlos Ako Cão Is-a (instanciação) Fido Prof. Fred Freitas - [email protected] 21 Problemas de redes semânticas • • • • Muitos nós para representar pouca coisa Muita repetição de nós Não há distinção entre classes e objetos Não podemos falar sobre as relações – Dizer por exemplo que é de 1:1 ou 1:n – A não ser reificando-as ... • ... Prof. Fred Freitas - [email protected] 22 Frames (Quadros) • Base: modelos mentais de psicologia cognitiva usados na resolução de problemas [Bartlett 32] – Esquemas: estruturas de conhecimento (estereótipos) armazenadas na memória duradoura, baseadas em experiências passadas, a serem adaptadas • Proposta por M. Minsky [75] • Precursores declarativos dos objetos procedimentais Prof. Fred Freitas - [email protected] 23 Animais Frames Vivo: V Voa: F [Figueira 98] Pássaros Mamíferos Pernas: 2 Voa: V Subconjunto Pernas: Subconjunto Canários Gatos Amigo: Piu-piu Humanos Frajola Nome: 2 Membro Membro Piu-piu Nome: Subconjunto Pernas: Amarelo Membro Cor: 4 Frajola Amigo: Prof. Fred Freitas - [email protected] Fred Nome: Fred 24 Expressividade dos Frames • Classes – Herança múltipla – Instâncias • Atributos (slots) – Slots podem ser instâncias de outras classes (relações) – Slots inversos: • Ex: Slot Orientados da classe Professor é inverso do slot Orientador da classe Aluno • Ao preencher um o outro é preenchido automaticamente • Facetas – Restrições sobre os slots • Inferência por meio de herança e restrições Prof. Fred Freitas - [email protected] 25 Definindo classes e instâncias (defclass City "Cities are part of countries or states." (is-a Location) (multislot is-Part-Of (type INSTANCE) (allowed-classes Country State) (inverse-slot has-Parts) (cardinality 1 ?VARIABLE)) (single-slot name (type STRING) (cardinality 1 1))) ([Locations_00427] of City (is-Part-Of [WA]) (name "Washington")) Prof. Fred Freitas - [email protected] 26 Facetas mais comuns em sistemas de Frames • Valor default • Valores permitidos (allowed-values) • Domínio – Ex: 1..100 • Cardinalidade máxima e mínima • Tipo: inteiro, string, booleano, float, símbolo, instância • Classes permitidas (allowed-classes): válida apenas para slots do tipo instância Prof. Fred Freitas - [email protected] 27 Frames x Objetos procedimentais [Farquhar 97] • Semelhança apenas aparente • Frames modelam aspectos de um domínio real • Objetos e suas classes visam modelar estruturas de dados e reusar código • Às vezes frames e objetos se parecem • Às vezes objetos violam o engajamento ontológico Class circulo {int x,y; int altura} Class elipse extends circulo {int largura} Prof. Fred Freitas - [email protected] 28 Frames x Objetos procedimentais (cont.) • Também não é necessária em frames a inclusão de detalhes de implementação, como tamanho de strings, etc • Frames não possuem métodos nem information hiding, desnecessária para a declaratividade • Objetos não possuem facetas • Frames têm sua parte procedimental – Daemons: procedimentos executados quando um valor é lido, incluído ou modificado num slot Prof. Fred Freitas - [email protected] 29 Regra e frames • Frames e regras podem ser combinados – CLIPS, para ganhar expressividade, inclui uma linguagem interna (COOL – “C” Object-Oriented Language) para definir e manipular frames – Regras CLIPS referenciam estes frames (defrule x (object (is-a City) (is-Part-Of nil) (name ?a)) => (printout t “Specify a state for “ ?a crlf)) Prof. Fred Freitas - [email protected] 30 Análise: Problemas de SBCs Prof. Fred Freitas - [email protected] 31 Porque SBCs não se tornaram populares? • Não muito usados por razoes técnicas “históricas” • Programar procedimentalmente é mais fácil, rápido, simples e controlável – Eficiência : funcionamento diretamente no código – Fácil funcionamento : despreocupação com contextos – O programador mantém o fluxo de controle Prof. Fred Freitas - [email protected] 32 Problema: Dificuldades de reuso • Formalismos diferentes não facilitam o reuso • Reuso é imperativo: – BCs são a parte mais cara de um SBC • Como ter reuso no nível de conhecimento? • Como abstrair formalismos? Prof. Fred Freitas - [email protected] 33 Problemas de reuso: Interoperabilidade • Necessidade de reuso em domínios com grande número de conceitos e relações (ex: medicina) • Falta de interoperabilidade entre formalismos, mesmo entre os orientados a domínio • Formalismo diferentes, porém certa similaridade expressiva • Solução visando reuso em nível de conhecimento: Ontologias! Prof. Fred Freitas - [email protected] 34 Ontologias Prof. Fred Freitas - [email protected] 35 Motivações de Ontologias • Permitir reuso entre formalismos de representação diferentes • Servir como vocabulário compartilhado de comunicação entre agentes • Unidade básica de representação: Frames (sem daemons) • Define um domínio, visando maximizar o reuso destas definições • Idealmente não deve refletir nenhum formalismo • Materialização do nível de conhecimento Prof. Fred Freitas - [email protected] 36 Ontologias • Termo oriundo da filosofia • Ramo da filosofia que lida com a natureza e organização da realidade • Categorias de Aristóteles: taxonomia para os objetos do mundo • Kant, Peirce, Whitehead, Heidegger, Wittgenstein, ... • Em informática e inteligência artificial, ganha um senso mais prático – Organização de conhecimento manipulável Prof. Fred Freitas - [email protected] 37 Definições de ontologia • Ontologia: Especificação de uma conceitualização [Gruber 91] • Hierarquia de conceitos (classes) com suas relações, restrições, axiomas e terminologia associada [é-um 777] 777 Ont. de Meios de Transporte Trem Meu agente Avião Transporte Carreira Barco Caça Agente da Cia. Aérea Avião [Huhns & Singh 97] Prof. Fred Freitas - [email protected] Id Modelo Xy 777 38 Definições de ontologia (cont.) • “Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada” [Studer et al 98] • Especificação explícita: definições declarativas de conceitos, instâncias, relações, restrições e axiomas • Formal: declarativamente definida, sendo compreensível e manipulável para agentes e sistemas • Conceitualização: modelo abstrato de uma área de conhecimento ou de um universo limitado de discurso • Compartilhada: conhecimento consensual, seja uma terminologia comum da área modelada, ou acordada entre os desenvolvedores dos agentes que se comunicam Prof. Fred Freitas - [email protected] 39 Tipos de ontologias quanto ao grau de genericidade adaptado de [Gómez-Perez 99] Prof. Fred Freitas - [email protected] 40 Ontologias de Representação • Definem as primitivas de representação - como frames, axiomas, atributos e outros – de forma declarativa • Tenta abstrair os formalismos de representação • Ex: Frame-Ontology da Ontolingua – Classes: Relação, partição, argumento, axioma, etc Prof. Fred Freitas - [email protected] 41 Definição de partição na Frame-Ontology (defrelation Class-Partition (?set-of-classes) := (and (=> (and (Member@Hpkb%Kif-Sets ?c1 ?set-of-classes) (Member@Hpkb%Kif-Sets ?c2 ?set-of-classes) (not (= ?c1 ?c2))) (Disjoint@Hpkb%Kif-Sets ?c1 ?c2)) (=> (Member@Hpkb%Kif-Sets ?c ?set-of-classes) (Class@Okbc-Ontology ?c)) (Set@Hpkb%Kif-Sets ?set-of-classes))) Prof. Fred Freitas - [email protected] 42 Ontologias Gerais (ou de topo) • Trazem definições abstratas necessárias para a compreensão de aspectos do mundo, como tempo, processos, papéis, espaço, seres, coisas, etc. [Sowa 99] Prof. Fred Freitas - [email protected] 43 Ontologias centrais ou genéricas de domínio (core ontologies) • Definem os ramos de estudo de uma área e/ou conceitos mais genéricos e abstratos desta área • Serve de base para a construção de ontologias de ramos mais específicos de um domínio • Ex: a ontologia central de direito [Valente & Breuker 96] – Conhecimentos meta-legal, definicional, causal, normativo, de responsabilidade, reativos, criativo, de agências legais, reação legal, comportamentos permitidos, etc – Servirá para criar ontologias de direito tributário, de família e outras Prof. Fred Freitas - [email protected] 44 Ontologias de domínio e de aplicação • Ontologias de domínio tratam de um domínio mais específico de uma área genérica de conhecimento, como direito tributário, microbiologia, etc • Ontologias de aplicação procuram solucionar um problema específico de um domínio – Referenciam termos de uma ontologia de domínio – Ex: Ontologia para identificar doenças do coração, a partir de uma ontologia de domínio de cardiologia • Classificação quanto ao teor: ontologias de tarefas e de domínio Prof. Fred Freitas - [email protected] 45 Benefícios e Ferramentas de Ontologias Prof. Fred Freitas - [email protected] 46 Benefícios das Ontologias • Reuso massivo de conhecimento – Incorporação de conhecimento é facilitada, inclusive de linguagem natural • Facilidades de acesso a conhecimento – Via browser – Servidores • Interoperabilidade entre formalismos – Tradução – Mapeamento • Comunicação em nível de conhecimento Prof. Fred Freitas - [email protected] 47 Knowledge Sharing Effort (KSE) • O KSE produziu inicialmente quatro ferramentas : – Ambiente de edição, manipulação e acesso de ontologias: Ontolingua – Tradução: Linguagem KIF – Comunicação entre agentes: Linguagem KQML – Conectividade/ Interoperabilidade: OKBC Prof. Fred Freitas - [email protected] 48 Editor da Ontolingua [Fikes 98] Prof. Fred Freitas - [email protected] 49 Tradução na Ontolingua • Tradução intermediária para a interlingua KIF (Knowledge Interchange Format) – No. de tradutores cai de (n-1)² para 2n • KIF foi feita para ser usada com a Frame-Ontology Ontologias “de prateleira” Ontolingua LOOM Ontol. “T-box” Epikit Axiomas Express Modelo Inform. Prolog CLIPS Regras Regras backwar forward chaining chaining Prof. Fred Freitas [email protected] ” CORBA IDL KIF Lógica predic.1ª ordem 50 Usos da Ontolingua Colaboradores remotos Escritores Servidor / Editor de Ontologias Editor HTT P Leitores Aplicações remotas NGF P Bibl NGF P Aplic. GUI Servidor DB Tradutores: LOOM,IDL,CLIPS... Aplicações stand-alone Aplic. Transferência de arquivos (Batch) Prof. Fred Freitas - [email protected] KQ ML BC 51 Ontologias disponíveis na Ontolingua • Normalmente mantidas por grupos de pesquisa • Metadados de imagens de satélites • Metadados para integração de bases de dados de genoma • Catálogos de produtos • Osciloscópios • Robótica • • • • • • • Semicondutores Modelagem de sólidos Matemática Engenharia Drogas Terminologia medica Padrão IEEE para interconexões entre ferramentas Prof. Fred Freitas - [email protected] 52 KQML: Comunicação entre Agentes Cognitivos • Introduziu o modelo de Comunicação em Nível de Conhecimento ou peer-to-peer • Modelo baseado na Teoria dos Atos de Fala [Austin 62], que modela a comunicação humana • Os atos de fala expressam as intenções dos agentes – assertivos (informar) – diretivos (pedir ou consultar) – comissivos (prometer ou comprometer-se) – proibitivos, – declarativos (causar eventos para o próprio comunicador) – expressivos (emoções) Prof. Fred Freitas - [email protected] 53 KQML (Knowledge Query and Manipulation Language) • KQML dá suporte a agentes na identificação, conexão e troca de informação com outros agentes. • Mensagens KQML não enxergam o conteúdo das mensagens que elas transportam • É dividida em três camadas : – camada de comunicação - parâmetros de baixo nível da comunicação (sender, recipient, id,etc) – camada de conteúdo - mensagem – camada de mensagem - detalhes de interações da comunicação ( ling. de conteúdo, ontologia , etc) Prof. Fred Freitas - [email protected] 54 Exemplo de Comunicação em KQML (ask-all :sender CFP-Agent :receiver PPR-Agent :reply-with id1 :language JessTab :ontology Science :content (object (is-a Link) (URL ?u) (anchor ?a&:(occurs [call-for-papers] ?a)))) Prof. Fred Freitas - [email protected] 55 Ex. de Comunicação em KQML (cont.) (tell :sender PPR-Agent :receiver CFP-Agent :in-reply-to id1 :reply-with id2 :language JessTab :ontology Science :content (object (is-a Link) (URL “http://lcn2002.cs.bonn.edu”) (anchor “ IEEE Conference on Local Computer Networks (LCN 2002)”))) Prof. Fred Freitas - [email protected] 56 O Protégé • Ferramenta desktop criada pelo Depto. de Informática Médica da Univ. Stanford [Noy et al 2000] – Milhares de usuários • Flexibilidade: – Editor de ontologias com interface gráfica • Cria formulários para entrada de instâncias – Integração de Componentes • Ex: Componentes gráficos, como OntoViz, Jambalaya – Plugin OKBC: acesso remoto à Ontolingua – Modelo de conhecimento: classes primitivas (metaclasses) podem ser redefinidas • CLIPS, Jess, F-Logic, Prolog, RDF, OIL, XML, Topic Maps Prof. Fred Freitas - [email protected] 57 Plugin OKBC acessando a Ontolingua Prof. Fred Freitas - [email protected] 58 Importando BCs via OKBC Prof. Fred Freitas - [email protected] 59 Ferramentas do KAON e da Ontoprise • Desenvolvidas em Karlsruhe, Alemanha • 1o. protótipo do que viria a ser a Web semântica, o Ontobroker [Benjamins et al 98] • O KAON (the KArlsruhe ONtology and semantic web tool suite) engloba ferramentas para: – – – – edição de ontologias (OntoEdit) disponibilizar ontologias num servidor baseado em BDs criação de ontologias a partir de texto (Text-to-Onto) busca baseada em ontologias sobre bases de texto (SemanticMiner) – anotação semi-automática de referências a ontologias em páginas para a Web – agrupamento de textos baseados em ontologias Prof. Fred Freitas - [email protected] 60 Requisitos para ferramentas de ontologias • • • • • • • • • • • • facilidades de uso entendimento intuitivo da interface interface gráfica visibilidade gradativa conexão a repositórios portabilidade interoperabilidade organização dos arquivos gerados documentação de alterações suporte a trabalho cooperativo extensibilidade (capacidade de inclusão de componentes) ferramentas de apoio Prof. Fred Freitas - [email protected] 61 Requisitos para formalismos e linguagens de representação • Não apenas expressividade, como em [Corcho & GómezPerez 2000] • Existência de um motor de inferência • Acoplamento do motor a um editor de ontologias • Traduzível: – independência de uma linguagem ou formalismo específico • Popularidade • Ex: F-Logic Prof. Fred Freitas - [email protected] 62 Aplicações de Ontologias Prof. Fred Freitas - [email protected] 63 Ramos de aplicação • • • • • Comércio eletrônico Gestão de conhecimento Workflow Tratamento inteligente de informação Web semântica! Prof. Fred Freitas - [email protected] 64 PACT (Palo Alto Collaboration Testbed ) [Cutovsky et al 93] • Objetivo: resolução negociada de problemas de projeto de manipuladores robóticos entre sistemas já existentes de fábricas da HP e da Lockheed e de uma empresa de software Prof. Fred Freitas - [email protected] 65 PACT (cont.) • Ontologias – Matemática para engenharia - quantidades, unidades, dimensões, matrizes e funções – Projeto e configurações - parâmetros, componentes, restrições (monitor :from consumer :to producer :ontology standard-units-and-dimensions :language KIF :content (= (q.magnitude (diameter shaft-a) inches) ?x)) Prof. Fred Freitas - [email protected] 66 Você já ouviu falar de Siri? Não este! O futuro no celular: Siri A capacidade de lidar com contextos Renault: diagnósticos e manuais“on-the-fly” Vodafone: busca semântica Richard Benjamins Outros http://buytaert.net/rdfa-and-drupal http://www.oracle.com/technology/tech/seman tic_technologies/index.html http://cloudofdata.com/2008/12/amazonpublic-data-sets-bring-the-cloud-of-datacloser/ http://semweb.meetup.com/32/boards/thread/7569801/ http://sioc-project.org/wordpress/ http://3.ly/e8P Muitas aplicações aparecendo... • BBC: anotações dos jogos olímpicos ... e da copa 2013 • Globo: todas as mídias semanticamente anotadas • Audi • Governos Italiano, Espanhol,... • ... Tópicos de pesquisa corrente • Web semântica – Padrões, princípios, linguagens, limitações • Concepção de ontologias – Engenharia de ontologias – Paradoxo: tensão entre aplicação e extensibilidade – Aspectos a serem abordados • funcional, intencional, social, físico, etc – Modularização de ontologias Prof. Fred Freitas - [email protected] 75 Tópicos de pesquisa corrente (cont.) • Aprendizado e ontologias – Construção de ontologias a partir de texto (Text-to-Onto) – Anotação semi-automática de páginas baseadas em ontologias – Extração, agrupamento [Hotho et al 2001] e classificação de informação (mineração de textos) • Integração inteligente de informação – Diversidade de visões de ontologias sobre um mesmo domínio, que o abordam sobre perspectivas distintas – Soluções: mapeamento e integração semântica através de contextos comuns [Wache & Stuckenschmidt 2001] Prof. Fred Freitas - [email protected] 76 Conclusões • Ontologias revigoraram o paradigma declarativo • Materialização do nível de conhecimento • Possibilitaram um modelo de comunicação expressivo e intencional para agentes cognitivos • Área promissora, de pesquisa ativa • Aplicável principalmente em: – Gestão de Conhecimento – Web semântica – e-commerce: muitas soluções com comunicação baseadas em ontologias Prof. Fred Freitas - [email protected] 77