Ontologias e a Web Semântica

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

Ontologias e Web Semântica
João Lúcio de Azevedo ESALQ/USP, UMC, UCS, CBA
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Engenharia de Software
(Unified Modeling Language)
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Engenharia de Software
Curso de ADMINISTRAÇÃO
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Aplicação de XML Web Semântica Tópicos Avançados em Bancos de Dados II
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Sistemas Baseados em Conhecimento
Professora: Aline Vasconcelos
Introdução a Teoria da Classificação
Material III-Bimestre Wagner Santos C. de Jesus
Felipe Dias Maria Fernanda
Inteligência Artificial aplicada a Controle e Automação DAS 6607 Ontologias Guilherme Bittencourt Departamento de Automação e Sistemas Universidade Federal.
Alunos: Benedito Jr, Douglas Bertol, Robson Costa
Aula 2 Aspectos Preliminares
Aula 4 Nomes, Vinculações, Tipos e Escopos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Princípios e Conceitos de Software(v2)
Classes e objetos P. O. O. Prof. Grace.
TÉCNICAS DE PROGRAMAÇÃO II
Introdução a Arquitetura Orientada a serviços
Prof. Fred Freitas CIn - UFPE
Sistemas Inteligentes Ontologia e Protegé
Fundamentos de Engenharia de SW
DIAGRAMA DE CLASSE Modelagem de Software
Taxonomia Profa. Lillian Alvares,
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Funcionários - Grau de Satisfação 2096 avaliações
Semântica de Linguagens de Programação
Regras de Produção: o Motor de Inferência JESS
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
Projeto de Banco de Dados
Sistemas Especialistas
Desenvolvimento Rápido de Aplicação (RAD)
Modelos de Processo de Software
Sistemas Inteligentes
Engenharia do Conhecimento
Agentes Cognitivos Adaptativos Aula: Ontologias – Uma breve introdução Aula original de Fred Freitas e Patrícia Tedesco Revisada por Flávia Barros 1.
Professor: Márcio Amador
Olhe fixamente para a Bruxa Nariguda
Prof. Fred Freitas CIn - UFPE
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Analises de sistemas ESTRUTURADA Analise de sistema estruturada.
Paradigmas de Linguagens de Programação Aula 2
SISTEMAS DISTRIBUIDOS Aula 4
Documentação de Software
Princípios da Programação em Prolog
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Processos.
Introdução a Banco de Dados Aula 04
Inteligência Artificial Web Semântica
Laboratório de Programação
Aula 1 – Profª Danielle Costa
Requisitos de Software
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Programação Lógica com Prolog
Integração de Ferramentas CASE
Ferramentas de Manipulação de Ontologias (Protégé)
Desenvolvimento de Software Dirigido a Modelos
Web Semântica Fred Freitas CIn - UFPE.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
Transcrição da apresentação:

Ontologias e a Web Semântica Prof. Fred Freitas Programa de Pós-graduação em Informática Universidade Católica de Santos Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 Para alunos de graduacao Dificuldades dos alunos em entender o q é daml owl, ontologias Visao sistemica Mais ontos e menos web semantica Visao minha Desde 97 Visao historica ajuda a ter visao critica! Prof. Fred Freitas - fred@unisantos.br

Objetivo: Estudar a parte técnica de Ontologias e Web Semântica 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 A Web Semântica e suas camadas XML, RDF e OWL Perspectivas Tópicos Abertos de Pesquisa Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br O que é uma ontologia? Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 - fred@unisantos.br

Relacionamentos na Ontologia Ciência Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 Como qqr conhecimento declarativo Prof. Fred Freitas - fred@unisantos.br

Contexto das Ontologias em Informática Prof. Fred Freitas - fred@unisantos.br

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ê” Controversia nos anos 70 e 80e ntre eles a solução do problema ou a ação a ser tomada Prof. Fred Freitas - fred@unisantos.br

Evolução = Elevação das abstrações códigos binários e endereços: mnemônicos e rótulos simbólicos,e depois variáveis modificações nos endereços: atribuições saltos:estruturas de controle expressões:funções comandos:procedimentos estruturas armazenamento : estruturas de dados assembler: linguagens consultas a BDs: linguagens de consulta modelos físicos : conceituais dados e operações: tipos abstratos de dados ou objetos tipos: polimorfismo compiladores: gramáticas formais e geradores de compiladores funções para relações código para conhecimento explícito num formalismo lógico de representação Prof. Fred Freitas - fred@unisantos.br

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 Sistemas procedimentais ganharam , mas... Tratam infos apenas com algoritmos estatisticos Um programa comum só pode fornecer respostas às situações as quais ele foi concebido! Um sistema de IA pode: Incorporar novos conhecimentos (aprender) sem alterar seu funcionamento; Pode raciocinar na ausência de algumas informações; Estatistica é util mas é precisó definir contextos As palavras dos textos podem ganhar mais semântica, se interpretadas de acordo com o contexto (agregar valor) Prof. Fred Freitas - fred@unisantos.br

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! Solucoes procediemntais são feitas para info estruturada Mundo real IA j´tinha aprendido a licao de restringir dominios (anos 70) Autonomia robustez Prof. Fred Freitas - fred@unisantos.br

Adequação dos Sistemas Multiagentes ao Problema A distribuição gera concorrência e paralelismo Vantagens da Representação de Conhecimento Engajamento ontológico Expressividade Inferência O conhecimento e contexto sobre determinados tipos de páginas não se refere só a palavras-chaves como em RI Modelo de comunicação entre agentes muito expressivo, baseado na comunicação humana engajamento ontológico às soluções – ou seja, similaridade com o conhecimento como o organizamos, e com a terminologia que empregamos, provendo uma tradução mais direta do conhecimento e teoria do domínio Prof. Fred Freitas - fred@unisantos.br

Contexto das Ontologias em Inteligência Artificial Simbólica Prof. Fred Freitas - fred@unisantos.br

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 Programa = motor de inferencia Conheciemnto = dados Vantagens: flexibilidade, legibilidade, fidelidade semântica, engajamento ontológico, extensibilidade,abstração das compilações, e capacidade de inferência Prof. Fred Freitas - fred@unisantos.br

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 Taxonomia minha, pode ser discutida, existem outras Antes e ateh hoje pesquisadores se orientam a predicados, mas com ontologias estao mais ligados a dominios Prof. Fred Freitas - fred@unisantos.br

Tipos de formalismos em relação ao foco Formalismos orientados a predicados: regras 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 Classes e relacoesdomínios Prof. Fred Freitas - fred@unisantos.br

Formalismos orientados a predicados Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Regras de Produção Formalismo mais simples, procedimental e popular animal(x)^estimação(x)^pequeno(x) => doméstico(x) premissas conseqüente Base de fatos e base de regras animal(Rex),estimação(Rex),pequeno(Rex) Mecanismo de inferência: São produzidos novos fatos instanciando fatos existentes nas regras (encadeamento para a frente) Estratégia de controle: resolução de conflito “Para todo x (quantificador universal implícito), se existe um fato afirmando que x é animal e outro fato afirmando que é de estimação e outro fato afirmando que é pequeno, isto implica a validade de um novo fato, o de que x é doméstico”. Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br O problema é simples... [Friedman-Hill 98] Facts "Item #123 is expensive speakers" "Gold cables are expensive" "Bob is a customer" "Bob is buying item #123" List of Actions to Take "Recommend that Bob buy gold cables." Inference Engine Rules "Recommend appropriate cables when customers buy speakers" Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br ... Mas a solução é cara! Facts List of Actions to Take "Recommend that Bob buy gold cables." Inference Engine For every customer, for every item in their cart, if it is speakers, for every catalog item, if the cart item is the catalog item, if the catalog item is in some price category, if it is a cable and it is in the same category, recommend that cable to that customer. Rules Por isso, existem estratégias de controle! Prof. Fred Freitas - fred@unisantos.br

Regras de produção (cont.) Propostas enquanto formalismo por A. Post (1936) Usadas no 1o. sistema especialista (Dendral-1971) Motores de inferência plugáveis CLIPS [Riley 99] e Jess [Friedmann-Hill 97] Prof. Fred Freitas - fred@unisantos.br

Formalismos orientados a predicados Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Programação em Lógica Encadeamento para trás (backward-chaining) avô(x,z) <= pai(x,y) ^ pai(y,z) Estratégia de resolução, que encontra a prova por negação (ou refutação) [Robinson 65] Suponho que avô(x,z) é verdadeiro e vou tentar encontrar uma contradição (ex: ~pai(x,y) ) Exs: Prolog, LIFE AVISAR SOBRE BACKWARD CHAINING Prof. Fred Freitas - fred@unisantos.br

Formalismos orientados a domínios Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Animais Frames Vivo: V Voa: F Subconjunto Subconjunto [Figueira 98] Pássaros Mamíferos Pernas: 2 Pernas: 4 Voa: V Subconjunto Subconjunto Subconjunto Canários Gatos Humanos Cor: Amarelo Pernas: 2 Membro Membro Membro Piu-piu Frajola Fred Nome: Piu-piu Nome: Frajola Nome: Fred Amigo: Amigo: Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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 Info hiding ou encapsulamento? O q eh encapsulamento? Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Axiomas Axiomas são sentenças sempre válidas Servem para inferência e restrições complexas sobre os slots Ex: Todo empregado tem um ID único: (forall ?person1 (forall ?person2 (=> (and (own-slot-not-null ID ?person1) (own-slot-not-null ID ?person2)) (=> (not (= ?person1 ?person2)) (not (= (ID ?person1) (ID ?person2)))))) Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Redes Semânticas X: pessoa ( nome => id ( primeiro => string, último => Y: string ), Cônjuge => pessoa ( nome => id ( último => Y),Cônjuge => X)) Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Lógica de Descrições Também chamada de Lógica Terminológica [Brachman & Schmolze 85] Definição de conceitos por meio de descrições, fornecendo nativamente atributos bastante expressivos: Herança Múltipla (PRIMITIVE (AND CAR EXPENSIVE-THING) sports-car) Instâncias do conceito carro esporte (sports-car) herdam as descrições de CAR e EXPENSIVE-THING Papéis (FILLS thing-driven Corvette) Um Corvette desempenha o papel de algo dirigível Prof. Fred Freitas - fred@unisantos.br

Lógica de Descrições (cont.) Restrição de valores (ALL thing-driven CAR), Tudo que é dirigível dentro deste domínio é da classe CAR Restrição de limites (AT-LEAST 3 wheel) Descrevendo qualquer objeto relacionado a 3 outros objetos distintos que “desempenham o papel” de roda (wheel) Co-referência (SAME-AS (driver) (insurance-payer)) Todos os indivíduos que atuam como motoristas (driver) o papel de segurados (insurance-payer) Prof. Fred Freitas - fred@unisantos.br

Análise: Problemas de SBCs Prof. Fred Freitas - fred@unisantos.br

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 Bala de canhao para matar uma formiga Vou abordar cada um despreocupação com contextos : Generalidade é mais trabalhoso Prof. Fred Freitas - fred@unisantos.br

Porque não colou de cara ?? Explosão combinatorial: problemas com escalabilidade Ex: GPS, provadores de teorema(fins dos 60) Complexidade (NP-completo, etc) ainda não formalizada (início dos 70) -> indústria estruturada Embevecimento, falta de objetividade e amadorismo dos pesquisadores Falta de produtos no cotidiano, formando indústria Falta de trabalho “braçal” em Engenharia de Software e testes de confiabilidade Falta de metodologias mais formalizadas sobre como obter e codificar conhecimento declarativo razoes técnicas “históricas Gerou muita expectativa e pouco resultado Coincidiu com o descredito das redes neurais (mInsky) Prof. Fred Freitas - fred@unisantos.br

Problemas com Hardware O processo de inferência não “casou” bem com as implementações de hardware e software básico, projetados para programação procedimental A programação lógica deve tanto quanto possível explorar concorrência e paralelismo (Ex: PIM, 64 MLIPS) Prolog embora criada em 1972, só popularizou-se em 1977, com as Warren Abstract Machines (WAMs) Compila num código intermediário e depois executa instruções usam registradores e pilhas auxiliares, que a WAM cria, implementados em C Resultado : performance no nível de C (50 KLIPS) Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

Problemas de reuso: foco funcional Para muitos pesquisadores até hoje, a especificação de SBCs deve ter uma foco funcional Reuso dificultado: muitos conceitos e relações do domínio estão: Implícitos Tratados como premissas Misturados com conhecimento estratégico (regras) Solução (parcial): KADS [Wielinga et al 92] Metodologia de desenvolvimento de SBCs Complexa, não se popularizou herdada dos formalismos orientados a predicados DBs separam dados de programas Prof. Fred Freitas - fred@unisantos.br

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! passo importante de evolução na especificação de conhecimento Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Ontologias Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 Charles Sander Peirce (século XIX) Em informática e inteligência artificial, ganha um senso mais prático Organização de conhecimento manipulável ao criar a primeira forma de lógica, criou também as Prof. Fred Freitas - fred@unisantos.br

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 [Huhns & Singh 97] Prof. Fred Freitas - fred@unisantos.br

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 Especifi= não tem info hiding Prof. Fred Freitas - fred@unisantos.br

Tipos de ontologias quanto ao grau de genericidade adaptado de [Gómez-Perez 99] Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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 Ontologias de tarefas descrevem tarefas de um domínio - como processos, planos, metas, escalonamentos, etc -, com uma visão mais funcional, embora declarativa, de um domínio. Prof. Fred Freitas - fred@unisantos.br

Benefícios e Ferramentas de Ontologias Prof. Fred Freitas - fred@unisantos.br

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 Antes disso, o conhecimento não podia ser reusado ou compartilhado, organizando-se em bases de conhecimento monolíticas e isoladas, sem interfaces de acoplamento, e, portanto, sem interoperabilidade. Maior cooperação entre os grupos de pesquisa responsáveis por manter as ontologias, da mesma forma como mantêm o conhecimento da área um acontecimento sem paralelo na história da ciência da computação Isso representa para a história da informática o que, para a história humana, representou a criação de escolas, enciclopédias e bibliotecas. Enfim, o armazenamento de conhecimento, Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Editor da Ontolingua [Fikes 98] Prof. Fred Freitas - fred@unisantos.br

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 Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Usos da Ontolingua Colaboradores remotos Escritores Leitores Servidor / Editor de Ontologias HTTP Editor Aplicações remotas NGFP NGFP Aplic. GUI Bibl Servidor DB Tradutores: LOOM,IDL,CLIPS... Aplicações stand-alone Transferência de arquivos (Batch) Aplic. KQML BC Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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 - fred@unisantos.br

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)))) Ancora e´ o texto Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

OKBC (Open Knowledge Base Connectivity) API para garantir a interoperabilidade entre diferentes linguagens e ferramentas de representação Mesmo princípio de ODBC para BCs Interfaces de métodos para: Bases de conhecimento (Ex: get-kbs) Classes (Ex: get-classe-supers) Atributos (Ex: get-slot-value) Facetas (Ex: get-facet-values) Instâncias (Ex: instance-of, retornando a classe da instância) Cada nova linguagem / ferramenta precisa implementar estes métodos Prof. Fred Freitas - fred@unisantos.br

Problemas da Ontolingua As ontologias criadas na Ontolingua ficam complexas porque devem referenciar a Frame-Ontology Falta um motor de inferência para KIF Falta de integração: nenhum teste com ontologias e inferência pode ser rodado Falta à Ontolingua uma interface para estações de trabalho que permita a manipulacao de ontologias, sem estar acessando a Internet Extensibilidade: Como incluir novas funcionalidades? O gerador de gráficos não é configurável Prof. Fred Freitas - fred@unisantos.br

Problemas com a tradução [Valente et al 99] Diferenças de expressividade entre os formalismos Informações perdidas durante a tradução A linguagem para frames F-logic possui restrições para facetas de cardinalidade máxima e mínima Os diferentes tipos de inferências e premissas das ontologias de topo e de linguagens de representação normalmente estão refletidas no conhecimento definido As ontologias de topo das linguagens deveriam ser mapeadas entre si para minimizar os erros de tradução Prof. Fred Freitas - fred@unisantos.br

Mapeamento entre Ontologias “de Topo” Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 várias reengenharias e reimplementações, e provendo ferramentas simples e configuráveis A complexidade de seu modelo de conhecimento, por exemplo, é escondida do usuário, Prof. Fred Freitas - fred@unisantos.br

Plugin OKBC acessando a Ontolingua Prof. Fred Freitas - fred@unisantos.br

Importando BCs via OKBC Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

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 (característica útil quando se visualizam grandes ontologias) (Workshop of Evaluation Ontology Tools) [EON 2002] Prof. Fred Freitas - fred@unisantos.br

Requisitos para formalismos e linguagens de representação Não apenas expressividade, como em [Corcho & Gómez-Perez 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 O Ontosaurus [McGregor 90], por exemplo, manipula bases de conhecimento apenas na linguagem para lógica de descrições LOOM, o OilEd [OilEd 2003], apenas na linguagem para a Web semântica OIL [Horrocks et al 2000], e o WebOnto[Domingues 98], na linguagem proprietária OCML (Operational Conceptual Modeling Language, linguagem para modelagem conceitual operacional) [Motta 99]. Prof. Fred Freitas - fred@unisantos.br

Engenharia de ontologias Prof. Fred Freitas - fred@unisantos.br

Princípios de construção Clareza Legibilidade Coerência Extensibilidade Mínima codificação Mínimo compromisso ontológico Clareza-definir apenas o que se presume ser útil na resolução da classe de problemas a ser atingida. Definições completas, com condições necessárias e suficientes, devem ter precedência sobre definições parciais. Legibilidade: correspondência com as definições correntes e informais. jargão e terminologia Coeencia-As inferências derivadas da ontologia devem ser corretas Mínima codificação: Devem ser especificados conceitos genéricos independente de padrões estabelecidos para mensuração, notação e codificação, garantindo a extensibilidade. Essa genericidade é limitada pela clareza. Esta característica se contrapõe à programação imperativa orientada a objetos, porque, por exemplo, atributos de objetos trazem tipos básicos e informações sobre a implementação. Mínimo compromisso ontológico: Para maximizar o reuso, apenas o conhecimento essencial deve ser incluído, permitindo a criação de conceitos novos, mais especializados. Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Ontologia Ciência Reusada a partir da ontologia do projeto europeu (KA)2 [Benjamins et al 98] do espelho da Ontolingua na Universidade de Madri Refinada em granularidade e engajamento ontológico Inclui ontologias auxiliares de tempo, locais e turismo [Freitas 2001] auxiliares de tempo, locais e turismo, esta última englobando definições de moedas correntes de país, tipos de acomodações, etc, enfim, definições úteis para a extração de atruibutos da classe Evento ao Vivo. Reusada por analistas da Mercedes-Benz de Stuttgart, Alemanha Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Princípios usados Clareza e legibilidade – Jargão empregado Mínimo compromisso ontológico – na classe Documento Científico, não há restrições desnecessárias para o slot Autores (qualquer subclasse da classe Pessoa inclusive a subclasse Pesquisador) Extensibilidade - novas classes puderam ser definidas a partir das já existentes Coerência - a relação parte-todo entre artigos de um proceedings, ou entre capítulos de um livro, não estava explicitada a definição da classe Documento Científico, apresentada na figura 9. Pode-se perceber que não há restrições desnecessárias na definição do atributo Autores. Poder-se-ia especificar que subclasse da classe Pessoa pode ser autor de artigos, como, por exemplo, a subclasse Pesquisador. Porém, especificou-se exclusivamente o conhecimento do conceito sem definir prematuramente certas decisões Prof. Fred Freitas - fred@unisantos.br

Metodologias de desenvolvimento [Gómez-Perez 99] Processo iterativo, com revisões constantes Nas metodologias propostas, são considerados passos similares aos de engenharia de software: Especificação Conceitualização Implementação Atividades de suporte são executadas concomitantemente com o desenvolvimento Aquisição Avaliação Documentação Integração com ontologias existentes Atividades de suporte (corrigir) – que verifica se a ontologia atende aos requisitos e propósitos planejados -, Prof. Fred Freitas - fred@unisantos.br

Metodologias de desenvolvimento (cont.) Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Especificação Determina o propósito e escopo da ontologia Deve incluir uma análise para decidir se é possível, necessário ou adequado o reuso de ontologias Sugere-se elaborar uma lista de questões de competência [Uschold & Gruninger 96] Servirão para a avaliação da ontologia durante o desenvolvimento Ex: “Jornais científicos são considerados eventos científicos?” A onto precisa dar condicoes ao sist/agente de responder as questoes Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Conceitualização [Noy 97] Fase crítica, nela ocorrem a maior parte das atividades de suporte de aquisição e avaliação Passos e dicas: Enumerar os termos do domínio Definir as classes - não confundir nomes de um conceito com o próprio conceito Definir a hierarquia das classes - passo capcioso Definir os slots e facetas de cada classe, interagindo com os dois passos anteriores Criar as instâncias - Se elas não possuem uma hierarquia natural, é preciso revisar a hierarquia das classes Usar convenções de nomes e nomes facilmente compreensíveis Enumerar os termos do domínio, sem preocupar-se com similaridade, repetições e relações entre ele. Costuma-se usar o processo de brainstorming para este fim. Definir as classes. É preciso não confundir nomes de um conceito com o próprio, inclusive existem sistemas que permitem a inclusão de sinônimos e termos associados a conceitos de uma ontologia. Definir a hierarquia das classes. Ocorrendo junto com a anterior, esse constitui o passo mais capcioso do desenvolvimento, devido às sutilezas das hierarquias os novos atributos ou facetas que definem uma classe, exceto em classes terminológicas, como, por exemplo, em medicina. Criar as instâncias, tendo como lema que são os conceitos mais específicos de uma ontologia, ou seja, os elementos separados por menor granularidade Prof. Fred Freitas - fred@unisantos.br

Definir a hierarquia das classes Observar a clareza e consistência da hierarquia Evitar subclasses demais pelo uso de classes intermediárias Ver se não há poucas subclasses - a informação dos slots pode tornar-se insuficiente para refletir diferenças entre as instâncias. Abordagens para a definição de hierarquias [Uschold & Gruninger 96]: top-down, classes mais gerais e depois as específicas bottom-up middle-out, que começa por classes intermediárias que vão sendo especializadas (para baixo) e generalizadas (para cima) Prof. Fred Freitas - fred@unisantos.br

Definir os slots e facetas Slots intrínsecos – ex: número de pernas Slots extrínsecos – ex: nome de uma pessoa Partes de uma classe – ex: partes do corpo: cabeça, tronco e membros Relacionamentos - instâncias de outras classes. Especificar a classe mais geral possível EX: a faceta classes-permitidas do slot Participantes da classe Projeto são instâncias da classe Pesquisadores Pesquisadores incluem estudantes de pós-graduação, professores, etc Partes é importante para a inferencia Pariticipantes - errata Prof. Fred Freitas - fred@unisantos.br

Implementação e Avaliação Objetivo: transformar a ontologia em algo computável Na fase de implementação, a ontologia é escrita numa linguagem de representação de conhecimento Na fase de avaliação, são executados testes para verificar se a ontologia atende aos requisitos especificados na fase de especificação Testes freqüentemente provocam mudanças na implementação Prof. Fred Freitas - fred@unisantos.br

Ferramentas para o processo de definição e aquisicao [Volz & Studer 2003] Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Especificação Prof. Fred Freitas - fred@unisantos.br © York Sure

Fontes de Conhecimento Prof. Fred Freitas - fred@unisantos.br © York Sure

Questões de Competência Prof. Fred Freitas - fred@unisantos.br © York Sure

Prof. Fred Freitas - fred@unisantos.br Rastreamento Prof. Fred Freitas - fred@unisantos.br © York Sure

Aplicações de Ontologias Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Ramos de aplicação Comércio eletrônico Gestão de conhecimento Workflow Tratamento inteligente de informação Web semântica Prof. Fred Freitas - fred@unisantos.br

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 primeiro teste prático de uso de ontologias como vocabulário de comunicação Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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)) A intenção ”monitor” pede para manter o agente remetente informado sobre mudanças no campo conteúdo, expresso em KIF. Assim, qualquer mudança no diâmetro do eixo da peça q será informada ao agente remetente. Note o uso de conceitos como magnitude, diâmetro e polegada, que é uma instância de medida Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br MASTER-Web [Freitas & Bittencourt 2003] Multi-Agent Sytem for Text Extraction, classeification and Retrieval over the Web Manipulação integrada de informação usando ontologias Objetivo: recuperar, classificar e extrair dados de páginas pertencentes às classes a um grupo EX:o grupo científico, com classes como artigos científicos, eventos, pesquisadores, etc Cada agente trata uma classe Os agentes cooperam sugerindo links entre as classe Beneficiam-se dos relacionamentos entre as classes Prof. Fred Freitas - fred@unisantos.br

Arquitetura do MASTER-Web Prof. Fred Freitas - fred@unisantos.br

Experimentos do MASTER-Web Instanciado para o meio científico Ontologia de Ciência Agente CFP: eventos científicos Agente PPR: artigos científicos As páginas são classificadas em subclasses dentro da ontologia Ex: o agente CFP as classifica em Conferência, Workshop, Jornal, Revista, Evento-Genérico-ao-Vivo, Evento-Genérico-de-Publicação e Edição-Especial-de-Jornal e de Revista Taxa de acerto no reconhecimento e classificação: +80% em todos os testes Prof. Fred Freitas - fred@unisantos.br

Uso de ontologias no MASTER-Web Generalidade da solução: Para tratar páginas de outro grupo, basta criar uma ontologia de seu domínio Vocabulário de comunicação entre agentes Definição e organização do conhecimento A ontologia do domínio deve ser bastante detalhada para garantir precisão no reconhecimento e classificação Ganho de expressividade e flexibilidade O conhecimento sobre uma classe não se circunscreve a termos e palavras-chaves, mas a qualquer fato que diga respeito às páginas, como estrutura, regiões, conceitos, etc Prof. Fred Freitas - fred@unisantos.br

Informando conceitos de um caso... (inform :sender cfp :receiver ppr :language JessTab :ontology Science :content ([ppr_00008] of Case (Description "cfp suggestions") (Concepts [Call-for-participation] [annual] [conference] [Call-for-papers] [workshop])))) Prof. Fred Freitas - fred@unisantos.br

Pedindo links com os conceitos... (ask-all :sender cfp :receiver ppr :language JessTab :ontology Science :content (object (is-a Anchor) (Link-Text ?l)) (Result (Page-Status CLASSIFIED) (Class "Conference-Paper")) (object (is-a Web-Page) (Contents ?co)) (test (and (if-occur ?l (begin-until "abstract" ?co)) (if-occur (slot-get [ppr_00008] Concepts) ?l)))) Explicar e propaganda Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br A Web Semântica Prof. Fred Freitas - fred@unisantos.br

Trajetória da Internet 1a. Geração - troca de dados entre máquinas distintas 2a. Geração - a World Wide Web Disponibilizou uma vasta gama de aplicativos e informação para as pessoas Comércio eletrônico entre clientes e empresas (b2c) Problema: software tem dificuldade de lidar com as páginas, que só possuem informação léxica agentes e/ou robôs dotados de inferência encontram um ambiente hostil para a realização de suas tarefas, porque tanto o conteúdo das páginas como o relacionamento entre elas é difícil de ser compreendido por entidades de software, por encontrarem-se, em sua maioria, em linguagem natural. As pessoas, em conseqüência, sofrem com essa falta de definições semânticas: por vezes os usuários possuem dados parciais sobre a informação que procuram e não podem utilizá-los para localizar esta informação. Prof. Fred Freitas - fred@unisantos.br

3a. Geração - A Web Semântica Objetivo: prover contexto e semântica à informação para o software Transformar os dados e aplicativos em elementos úteis, legíveis e compreensíveis para o software Facilitar a comunicação dinâmica, a cooperação e a inferência para os agentes inteligentes Possibilitar o comércio eletrônico entre empresas (b2b) A Web Semântica é uma aplicação direta de ontologias! Precursores: SHOE [Luke et al 96] Ontobroker [Fensel et al 97] Prof. Fred Freitas - fred@unisantos.br

Camadas da Web Semântica (W3C) [Koivunen & Miller 2001] Subindo – ganha em abstracao A camada Unicode A primeira camada garante o uso padronizado do mesmo conjuntos de caracteres (Unicode) e uma forma unívoca para a identificação e localização de páginas (URI – Uniform Resource Indicator Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Limitações de HTML HTML não possui recursos para anotação semântica No máximo, tags opcionais como título, descrição, sumário e palavras-chave <html> <body> <h2>Being a Dog Is a Full-Time Job</h2> <p> by Charles M. Schulz</p> <p>ISBN: 0836217462</p> </body> </html> adaptado de [van der Vilt 2000] <h2> e <p> são apenas de editoração, para aumentar o tamanho da fonte e pular linha Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br A camada XML HTML foi abstraída para XML (eXtensible Markup Language) XML é uma meta-linguagem de editoração Dados descritos por elementos Dados ganham estrutura, mas não significado <library> <book> <title>Being a Dog Is a Full-Time Job</title> <author>Charles M. Schulz</author> <isbn>0836217462</isbn> </book> </library> meta-ling - Permite a representação de outras linguagens de forma padronizada dados estão descritos por elementos, o que facilita seu tratamento, se o software que trata a página conhece este formato Prof. Fred Freitas - fred@unisantos.br

Definições de Tipos de Documentos (DTDs) DTDs definem a estrutura e sintaxe de um documento Classes, atributos, valores default e ordem de aparecimento dos dados das instâncias Aninhamento léxico <!DOCTYPE library [ <!ATTLIST book id ID #IMPLIED> <!ATTLIST author id ID #IMPLIED> <!ATTLIST ISBN id ID #IMPLIED>]> Parte ligada a projetos de docs DTDs definem a estrutura e sintaxe de um documento, ajudando a validar se ele está em conformidade com uma estrutura.. Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Esquemas XML (XMLS) Semelhantes a DTDs, porém mais ricos Definem-se ainda tipo e formato exato dos atributos, número exato de instâncias de um aninhamento Há mecanismos de inclusão e derivação de esquemas que proporcionam reuso A camada XML descreve a estrutura do documento, deixando para as que acima dela a definição do conteúdo Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br A camada RDF Resource Description Framework Adiciona semântica a um documento, sem referir-se à sua estrutura Usa XML como sintaxe Descreve “recursos” (URIs) da Web Partes específicas de documentos ou dados como lugares, pessoas, etc Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Descrição de recursos Recursos são descritos como trios objetos-atributos-valores Os objetos são recursos Valores são recursos ou strings Trios podem ser representados como grafos diretos rotulados Trios equivalem em termos formais às redes semânticas sujeito-verbo-objeto das redes semânticas Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br <rdf:Description about=http://www.qqr.com/~ze> <nome>Jose</nome> <sobrenome>Virgulino</sobrenome> <namoraCom> <rdf:Description about=http://www.qqr.com/~maria> <nome>Maria</nome> <sobrenome>Bonita</sobrenome> </rdf:Description> </namoraCom> Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Esquemas RDF (RDFS) Para uma padronização de uso de RDF, foi criado RDFS Fornecem tipos básicos para a criação de esquemas voltados à aplicações Primitivas: classe subclasse (herança) propriedade sub-propriedade instância restrição (para construir hierarquias de propriedades) Prof. Fred Freitas - fred@unisantos.br

Exemplos de Esquemas RDF <rdf:Description ID=”Pessoa”> <rdf:type resource=”http://www.w3c.org/TR/1999/PR-rdf-schema- 19990303#Class”> <rdfs:subClassOf rdf.resource=”http://www.w3c.org/TR/1999/PR- rdf-schema-19990303#Resource”> </rdf:Description> <rdf:Description ID=”nome”> 19990303#Property”> <rdfs:domain rdf:resource=”#Pessoa”> <rdfs:range rdf.resource=”http://www.w3c.org/TR/xmlschema- 2#string”> O código diz que Pessoa é do tipo classe e herda as características de um recurso. Observe que, pelo código, tanto classe como recurso estão definidos por URIs que apontam para o sítio da W3C. Já o atributo nome é uma propriedade cujo domínio são elementos da classe Pessoa e cuja imagem é uma string. Também propriedade e string estão definidos URIs que apontam para no sítio da W3C. Prof. Fred Freitas - fred@unisantos.br

Capacidade Expressiva de RDF/RDFS Fred Jaguar S138 Carro Person subClassOf type pertenceA domain range Veiculo Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Avaliação de RDF / RDFS Vantagem sobre DTDs e XMLS: liberdade de ignorar as imposições da estrutura do documento Existem ferramentas para edição e parsing sobre RDF RDF / RDFS ainda não têm a expressividade necessária à modelagem de ontologias Slots inversos, axiomas, etc Existem outras linguagens candidatas: SHOE e XOL RDF / RDFS tornaram-se padrões de fato Como se vê, especificar código RDF pode ser um pouco complicado à primeira vista. Existem ferramentas para edição e parsing sobre RDF, que têm a finalidade de auxiliar o usuário . apesar da expressividade de representação deste par ainda deixar a desejar quanto à modelagem de ontologias Vantagem : referindo-se apenas a dados sobre o conteúdo Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Camada de ontologias Objetivo: Prover expressividade semântica Define restrições complexas e outros construtos para frames e lógica de descrições OIL (Ontology Inference LayerI ou Ontology Interchange Language) DAML (DARPA Agent Markup Language) DAML+OIL = OWL (Web Ontology Language) OWL foi padronizada pelo W3C camada mais importante e pesquisada Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br OIL Requisito: facilidade de adoção por parte dos desenvolvedores Já nasceu para a Web semântica Menos expressiva que KIF da Ontolingua Motor de inferência consistente, completo e eficiente: FaCT OIL foi a primeira destas linguagens Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Módulos de OIL Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br OWL Requisitos de internacionalização (Unicode) e de apresentação e documentação (rótulos para axiomas, URIs, etc) Três sublinguagens: OWL Lite OWL DL OWL Full As menos expressivas (OWL Lite e DL) estão contidas nas mais expressivas uma ontologia definida numa linguagem menos expressiva é aceita por uma linguagem mais expressiva; a recíproca, naturalmente, não é verdadeira. Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br OWL Lite Expressa frames e lógica de descrições, com restrições Ex: cardinalidade máxima ou mínima é 0 ou 1 Ideal para usuários iniciantes e desenvolvedores que referem frames a lógica de descrições Slots (aqui chamados de propriedades) podem ter: transitividade, simetria, slots inversos e papéis propriedades funcionais (se P(x,y) ^ P(y,x) => x=y) propriedades funcionais inversas (se P(x,y) ^ P(z,x) => x=z) Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br OWL DL Completa e decidível, expressa lógica de descrições Classes podem ser construídas por: União Interseção Complemento enumeração de instâncias Classes podem ter disjunções Tipos são mantidos cuidadosamente separados (por exemplo, uma classe não pode ser instância e propriedade ao mesmo tempo) Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br OWL Full Permite novas metaclasses Metaclasses são subclasses definidas em RDFS Aqui, não há restrições de separação de tipos É possível manipular e modificar metaclasses Não há garantia de computabilidade Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Headers de OWL Dizem onde estão, na Web, as classes primitivas das ontologias para que se possa definir novas classes como subclasse destas Determina um namespace para a nova ontologia. <rdf:RDF xmlns="file:/G:/myclasses#" xmlns:eyeglass="file:/G:/Glasses#" xmlns:owl="http://www.w3.org/2003/02/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#“ xmlns:xsd="http://www.w3.org/2000/10/XMLSchema#"> As classes a serem definidas estarão localizadas no namespace da primeira definição. A segunda definição serve para que ontologias externas possam referenciar a ontologia sendo definida. As restantes localizam as definições primitivas de OWL, RDF, RDFS e XMLSchema. Prof. Fred Freitas - fred@unisantos.br

Classes e atributos em OWL <owl:Class rdf:ID="Flueve"> <rdfs:subClassOf rdf:resource="#River"/> </owl:Class> <rdf:Property rdf:ID="emptiesInto"> <rdfs:domain rdf:resource="#River"/> <rdfs:range rdf:resource="#BodyOfWater"/> </rdf:Property> [Costello & Jacobs 2003] Prof. Fred Freitas - fred@unisantos.br

Classes e atributos em OWL (cont.) Definindo uma classe é com o auxílio de uma restrição: <owl:Class rdf:ID="Flueve"> <rdfs:subClassOf rdf:resource="#River"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#emptiesInto"/> <owl:allValuesFrom rdf:resource="#Sea"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> em lógica de descrições, a definição dos atributos não têm de estar junto com a classe Prof. Fred Freitas - fred@unisantos.br

Protégé 2.0 e as classes OWL Prof. Fred Freitas - fred@unisantos.br

Restrições mais poderosas com OWL Prof. Fred Freitas - fred@unisantos.br

As camadas de lógica, prova e confiança Estas camadas ainda estão sendo pesquisadas A camada lógica permite a especificação de regras que atuam sobre instâncias e recursos A camada de prova as executa A camada de confiança avalia se a prova está correta ou não [Koivunen & Miller 2001]. Para que estas camadas entrem em operação, as camadas inferiores devem estar bem sedimentadas, o que ainda está acontecendo. Além do mais, sob o ponto de vista ontológico, não é interessante antecipar o uso de ontologias . pois isto pode restringir a sua aplicabilidade. Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br A camada de lógica Uso discutível: Regras podem violar o princípio de mínimo compromisso ontológico Mas regras podem ser úteis para restringir atributos e exprimir axiomas Protótipos de linguagens para a camada de lógica: DAML-L HornML RuleML [Boley et al 2001] Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Regra em RuleML <imp> <_head> <atom> <rel>cooperatesWith</rel> <var>person2</var> <var>person1</var> </atom> </_head> <_body> </body> </imp> Prof. Fred Freitas - fred@unisantos.br

Uma aplicação da Web semântica: ITTalks http://ittalks.org/ [Cost et al 2002] Sítio da Web que dá acesso a um BD de palestras, pessoas (professores, cientistas, convidados, etc) e lugares (salas, instituições Cada instância destas classes foi anotada semanticamente em DAML Ontologias: tópicos de pesquisa perfis pessoais calendários conversação ontologia da ACM (Association for Computer Machinery) Ontos distintas – porém relacionadas - Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br ITTalks (cont.) Os usuários se cadastram especificando que tópicos são de seu interesse Agentes do sistema notificam-nos quando alguma palestra que casa com o perfil de tópicos é incluída no BD A anotação de tópicos de pesquisa tanto em páginas quanto nos perfis de usuários é executada por um classificador baseado em aprendizado automático Com as páginas semanticamente anotadas, será fácil, no futuro, preparar um mediador para o acesso ao BD Classficador consulta os resumos das palestras e as páginas pessoais e currículos dos usuários Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br

Avaliação e Perspectivas da Web semântica e Ontologias Prof. Fred Freitas - fred@unisantos.br

A Web semântica e o usuário leigo Misturar navegação, apresentação e semântica numa só definição prejudica a legibilidade Com as tecnologias atuais, a Web semântica deve voltar-se inicialmente a aplicações e não ao usuário comum Formular consultas que envolvam regras de lógica e ontologias, especificar ontologias ou instanciá-las em páginas não é fao fácil para o usuário leigo Padrões complexos (ex: lógica de descrições e as camadas OWL-RDF-XML) As páginas possuem, às vezes, conteúdo ambíguo, vago, e que exigem PLN Ontologias consensuais são um desiderato, mas raras na prática Mesmo com interf grafica Consensual – I3 Prof. Fred Freitas - fred@unisantos.br

Perspectivas da Web semântica Adequada para as aplicações relacionadas a ontologias Comércio eletrônico, workflow, tratamento da informação Florescem aplicações e ferramentas Motores de inferência: Euler para OWL FaCT para OIL Outros motores também podem ser usados: Jess Prolog Algernon F-Logic Prof. Fred Freitas - fred@unisantos.br

Cuidado com padrões complexos! È preciso aprender com os erros da Ontolingua OWL é bastante expressivo Legibilidade e clareza? Que usuários estão familiarizados com DL? OWL Lite deve tornar-se popular antes Prof. Fred Freitas - fred@unisantos.br

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 Relações parte-todo não há métodos sedimentados de validação, verificação, desenvolvimento Prof. Fred Freitas - fred@unisantos.br

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 - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Ontologias x UML Interessante para a comunidade OO UML (Unified Modeling Language) é o padrão de modelagem da OMG UML não é um formalismo de representação Não provê qualquer tipo de inferência Não possui uma semântica formal - sua semântica é definida por um metamodelo É mais para modelagem estrutural e comportamental - que favorecem à implementação de objetos - do que conceitual, como as ontologias Apenas um tipo de relação parte-todo, a agregação Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br UML e OCL Porém, UML possui construtos abstratos o suficiente para permitirem a representação de ontologias Classes e atributos Restrições, definidas na linguagem auxiliar OCL (Object Constraint Language) OCL tem a expressividade da lógica de 1ª. ordem Relacionamentos são chamados em UML de associações, e herança de generalização Prof. Fred Freitas - fred@unisantos.br

Aproximando UML e ontologias È necessária definição de uma semântica formal de UML Pode-se ter inferência em UML Regras de transformação dedutivas podem provar que um diagrama é conseqüência de outro [Evans 98] Proposta para acoplar UML à Web semântica Através de tradutores entre UML e a DAML [Lockheed 2000] A tradução DAML-UML é mais complexa, porque as palavras-chaves de DAML podem ter várias traduções possíveis em UML Já existem aplicações com ontologias em UML Ex: Sistema de gestão de conhecimento para processos legislativos da alfândega e receita federal holandesas, que apressa a implementação de mudanças em leis [Engers & Glassée 2001] Prof. Fred Freitas - fred@unisantos.br

Tópicos de pesquisa: Ontologias x BDs Problemas para armazenar frames em BDs relacionais: Eles ferem já a 1a. Forma normal, pois um atributo pode ser multivalorado Os atributos podem ser instâncias de classes Atributos inversos Soluções sendo pesquisadas: Modelagens específicas para BDs relacionais Extensões de SQL Bancos de dados dedutivos Extensões de BDOOs Data warehousing Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br 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 E-commerce: FIPA Prof. Fred Freitas - fred@unisantos.br

Prof. Fred Freitas - fred@unisantos.br Conclusões (cont.) Ontologias são o elemento estruturador da Web semântica Padrões ainda em processo de maturação A Web semântica promete oferecer um tratamento melhor da informação As ontologias já começam a desempenhar o papel de conhecimento estruturado disponível em larga escala, reusável por sistemas e programas Prof. Fred Freitas - fred@unisantos.br