Ontologias e Web Semântica Charles Alberton Herdt Dyson Pereira Junior Maurício Edgar Stivanello Roteiro Introdução Ontologias Web Semântica Roteiro Introdução Ontologias Web Semântica Introdução Cenário Atual Internet introduz um problema de manipulação de informação: Possui grande volume de informações não estruturadas ou pouco estruturadas; Alguns dos grandes problemas são: Consulta: encontrar o que se deseja Integração: integrar informações de várias fontes Interpretação: extrair significado das páginas Comunicação: interconectar sistemas Introdução Cenário Atual - Consultas O modelo atual de busca não é preciso, pela falta de semântica; O grande volume de informações não estruturadas agrava a situação; Problema de precisão, pois é baseado em links e palavras chave Introdução Cenário Atual - Consultas Introdução Cenário Atual - Integração Integração de Informações: Problema: O site A tem descrição de produtos de software; O site B tem preços de material de computação; Combinar produtos e preços; Dificuldade Como integrar tais informações? Introdução Cenário Atual - Interpretação Humanos extraem significado com facilidade; Para as máquinas não é tão fácil; Como é possível extrair informações sem conhecer de antemão o formato utilizado na criação das páginas? Introdução Cenário Atual - Interpretação Nome Foto E-mail Introdução Cenário Atual - Interpretação A extração de informações somente é possível para um conjunto de páginas com formato bem conhecido ( através de wrappers ); Ex: Coleta de títulos e preço de vendas em um site de comércio eletrônico; Introdução Cenário Atual - Comunicação Como interconectar sistemas que falam da mesma coisa mas com linguagens diferentes? Introdução Cenário Atual Resumindo: O conteúdo pode ser lido, mas é difícil de ser processado pela máquina; É difícil automatizar processos; Solução: A solução seria descrever os dados contidos na Web e representá-los de forma conveniente... Introdução Cenário Atual - Solução... A IA forneceu alternativas para resolver problemas de manipulação de informação na Internet; Resurge o paradigma declarativo lógico para a resolução dos problemas surgidos com a Internet; Introdução Cenário Atual - Solução... Como captar a semântica do conteúdo das páginas da web? Dotar os sistemas de inteligência e autonomia; Fazer com que as páginas possuam uma semântica clara e definida. As ontologias representam um papel fundamental em ambas as soluções. Roteiro Introdução Ontologias Web Semântica Ontologias Introdução É possível representar conhecimento através de formalismos orientados a classes e relações: Frames; Redes Semânticas; Lógicas de restrição; Estes formalismos fundamentam a representação do conhecimento em ontologias. Ontologias Definição “Uma especificação explícita e formal de uma conceitualização compartilhada” Por Especificação explícita: definições de conceitos, relações Por formal: compreensível para agentes e sistemas Por conceitualização: se trata de um modelo abstrado de uma área de conhecimento Por compartilhado: conhecimento consensual Ontologias Classificação das Ontologias Tipos de Ontologias: de Representação; Gerais; Centrais; de Domínio; de Aplicação. Ontologias KSE – Knowledge Sharing Effort Até anos 90, Ontologias estavam isoladas. Percebido então os benefícios da reutilização; KSE criado para prover meios de reutilização do conhecimento; Como resultado, encontram-se disponíveis várias ontologias e ferramentas. Ontologias Ferramentas para manuseio Ferramentas KSE (KQML, KIF, Editor de Frames, OKBC, Chimaera, Servidor, Repositório); Protégé-2000; Ferramentas KAON e Ontoprise. Ontologias Engenharia de Ontologias Princípios de construção de Ontologias: Clareza; Legibilidade; Coerência; Extensibilidade; Mínima codificação; Mínimo compromisso ontológico. Ontologias Criação ontologia geográfica em 7 passos Passo 1: Determinar o domínio e o escopo da ontologia; Domínio: Geografia Aplicação: Planificador de rotas Perguntas possíveis: -Qual é a distância entre duas cidades? -Que tipo de conexão existe entre duas cidades? -Em que país se encontra uma cidade? -Quantas fronteiras são atravessadas? Ontologias Criação ontologia geográfica em 7 passos Passo 2: Reutilizar ontologias existentes; Verificar se é possível utilizar ou estender alguma das ontologias existentes. Existem várias fontes disponíveis: - Ontolingua Ontology Library (www.ksl.stanford.edu/software/ontolingua); - DAML Ontology Library (www.daml.org/ontologies); Ontologias Criação ontologia geográfica em 7 passos Passo 3: Levantar termos importantes; Termos importantes para o problema de planificação de rotas: capital Conexão por terra Estado cidade fronteira estrada conexão Ontologias Criação ontologia geográfica em 7 passos Passo 4: Definir classes e sua hierarquia; Selecionar do passo 3 somente os objetos, definindo sua hierarquia: T Topo C Conexão C Conexão Aérea C Conexão Terrestre C Ferroviária C Rodoviária C Conexão Marítima C Entidade geográfica C Cidade C Capital C Interior C País Ontologias Criação ontologia geográfica em 7 passos Passo 5: Definir propriedades das classes; ElementoGeografico Selecionar do passo 3 as propriedades e atribuir às classes: ponto_inicio +descrição +area Conexão +descrição ponto_final País +moeda temEstados Estado temCidades Cidade capital faz_fronteira_com capital_de capital_de capital Capital Ontologias Criação ontologia geográfica em 7 passos Passo 6: Definir restrições das propriedades; Tipo de propriedade; -Valores permitidos; -Cardinalidade; -Tipos de relacionamentos. ElementoGeografico - * faz_fronteira_com +descrição: String +area: Float 1 1 * ponto_inicio * Conexão +descrição: String ponto_final País temEstados +moeda: string 1 1 1 * temCidades 1 1 Cidade * capital capital_de capital_de capital Estado 1 1 1 Capital Ontologias Criação ontologia geográfica em 7 passos Passo 6: Definir restrições das propriedades; Inverso Simétrico capital País +moeda: string Capital +moeda: string capital_de * faz_fronteira_com Transitivo ElementoGeografico +descrição: String +area: Float País 1 1 1 1 * ponto_inicio ponto_final * Conexão +descrição Ontologias Criação ontologia geográfica em 7 passos Passo 7: Instanciar as classes, criando a base de conhecimento. Roteiro Introdução Ontologias Web Semântica Web Semântica Introdução Evolução da Web atual; Definição W3C: É a idéia de se ter dados na web definidos e ligados de maneira tal que possam ser usados por máquinas não só com o objetivo de apresentação, mas para automação, integração e reuso de dados entre aplicações. Idealizada por Tim Berners-Lee; Web Semântica Web Atual X Web Semântica Recurso Software Link para temManual Link para requer Link para Recurso Recurso requer Recurso Link para Recurso Documento Link para Biblioteca Documento Link para Assunto Link para Recurso Biblioteca parteDe baseadoEm Recurso Link para Imagem Recurso Link para Recurso As s unto Assunto Tópico Tópico autor Pessoa Web Semântica Camadas da proposta W3C Berners Lee, T. et al., The Semantic Web. [2001] Web Semântica Camada Unicode - URI UNICODE Garante o uso padronizado do mesmo conjunto de caracteres; URI – Identificador Universal de Recursos Provê uma forma unívoca de identificação e localização de recursos; Ex: URL – documentos, imagens, músicas, etc; E-mail – pessoas; Web Semântica Camada XML + XMLS XML – Extensible Markup Language escolhida como a linguagem de programação para Web Semântica Função: Auto-descrição das informações (metadados) Padronizar a publicação e troca de dados entre aplicações Web Web Semântica Camada XML + XMLS Metadados: Auto-descrição das informações 5353123456785353? Número do cartão de crédito do João da Silva Web Semântica Camada XML + XMLS HTML Metadados Aparência Marcadores de metadados insuficientes; Não possui criação de novos marcadores; Preocupação apenas com apresentação; Web Semântica Camada XML + XMLS XML Criação de marcadores; Blocos endereçáveis; Organização hierárquica; Web Semântica Camada XML + XMLS XML Schema Permite restrições sobre um documento: Define os marcadores válidos; Define regras de validade para o conteúdo de cada bloco: O marcador <reunião> deve conter Exatamente um marcador <local>; 2 ou mais marcadores <pessoa>; O marcador <pessoa> deve conter Exatamente um marcador <nome> Define uma estrutura de dados Web Semântica Camada XML + XMLS HTML XMLS XML Web Semântica Camada RDF – Sentido por conexão Temos sintaxe, mas não semântica; Sentido: O sentido se estabelece através de relações entre as coisas; Só podemos definir formalmente o sentido de uma palavra com outras palavras; Web Semântica Camada RDF RDF – Resource Description Framework É um modelo de dados para referenciar objetos e como eles estão relacionados; Representado usando a sintaxe XML; Descreve os recursos através de declarações; Web Semântica Camada RDF Declarações são triplas(sujeito,predicado,objeto): Recurso tem propriedades que têm valores; Recurso Propriedade Declaração Valor Web Semântica Camada RDF Declarações RDF podem ser vistas como grafos direcionados e rotulados: http://www.paleo.org/dinos.html editora título autor Vida dos Dinossauros [email protected] http://www.edissauros.com.br Web Semântica Camada RDF Descrição RDF: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc=" http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.paleo.org/dinos.html"> <dc:title> Vida dos Dinossauros </dc:title> <dc:creator rdf:resource=“mailto:[email protected]"/> <dc:publisher rdf:resource="http://www.edissauros.com.br"/> </rdf:Description> </rdf:RDF> Web Semântica Camada RDFS RDF Schema: Criação de um modelo para recursos de determinada categoria; Utiliza o conceito de classes da OO; Web Semântica Camada RDFS Classe RDFS: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdfs:Class rdf:ID="Livro"> </rdfs:Class> <rdfs:Property rdf:ID="Titulo"> <rdfs:domain rdf:resource=”#Livro”/> <rdfs:range rdf:resource=”http://www.w3.org/2000/01/rdf-schema#Literal”/> </rdfs:Property> <rdfs:Property rdf:ID="Autor"> <rdfs:domain rdf:resource=”#Livro”/> <rdfs:range rdf:resource=”http://www.w3.org/2000/01/rdf-schema#Literal”/> </rdfs:Property> </rdf:RDF> Web Semântica Camada RDFS RDFS não fornece detalhes suficientes para descrever recursos: Não possuiu restrições de existência ou cardinalidade. Não possui propriedades transitivas, inversas ou simétricas. Web Semântica Camada Ontologia Adiciona mais vocabulário para descrever propriedades e classes: Relações entre classes; Cardinalidade; Igualdade; Tipagem mais rica de propriedades; Caracteristicas de propriedades; Web Semântica Camada Ontologia OWL – Web Ontology Language Web Semântica Camadas Lógica, Prova e Validação Ainda não tomaram corpo: Lógica: especificação de regras que atuam sobre instâncias e recursos; Prova: executa as regras da camada lógica (mecanismos de inferência); Validação: avalia se a prova está correta ou não (verificação de autenticidade e resolução de contradições). Web Semântica Conclusão A WS é uma tentativa ambiciosa de construir uma estrutura complexa que permita que os computadores nos auxiliem na manipulação da informação; Esforço na produção de metadados; Padronização de vocabulários; Massa crítica; Formalismos complexos (demanda para boas ferramentas); Web Semântica Referências Freitas, Frederico Luiz Gonçalves: Ontologias e a Web Semântica. Acessado em 20/08/2006. Disponível em http://www.das.ufsc.br/~gb/pg-ia/tuonto.doc. Barreau, Guillaume: Ferramentas de Web Semântica aplicadas à gestão de conhecimento ligado ao linux. Acessado em 20/08/2006. Disponível em http://www.uefs.br/erbase2004/documentos/erbase/erbase4_p11_guillaum e_barreau.pdf#search=%22%22guillaume%20barreau%22%20web%20se m%C3%A2ntica%22 W3C World Wide Web. Acessado em 20/08/2006. Postal disponível em www.w3c.org.