WEB SEMÂNTICA Prof. Dr. Fernando Gauthier INE/UFSC Web Atual O que é? Web hoje é... O que é a web Uma biblioteca digital hipermídia Uma biblioteca de documentos (páginas web) interconectados por hiperlinks Uma base de dados e uma plataforma de aplicações Um portal comum de acesso a aplicações que apresentam sua interface em páginas web Uma plataforma para elementos multimídia Filmes, música, videoconferência Um esquema de nomes Cada um dos documentos que anteriores tem uma forma única de identificar-se: URL Web Atual é Sintática!!! Web hoje é...sintática http://www.ppgcc.inf.ufsc.br/ href= href= href= http://homer.inf.ufsc.br/ppgcc/linhaspesquisa.php http://homer.inf.ufsc.br/ppgcc/professores.php?cd=114256 http://homer.inf.ufsc.br/ppgcc/docentes.php href= href= http://www.inf.ufsc.br/~gauthier A Web é um local em que os computadores se encarregam da apresentação de informações e as pessoas se encarregam de interpretar e fazer as ligações (links). Computadores Parte FÁCIL Pessoas Parte COMPLICADA Porque não colocar os computadores a fazer o trabalho COMPLICADO? (Jesús Barrasa Rodríguez, 2004) 1
Dificuldades usando a web sintática (atual) Qual a formação acadêmica do Esperidião Amin? Muitos resultados sem nenhum valor para a busca Problemas para Compartilhar informação Apesar de existirem muitas informações na Web, ainda é muito difícil o compartilhamento de informação entre diferentes sistemas. Como fazer para inserir no meu Outlook nome, endereço eletrônico e telefone dos professores do INE/USFC, que estão disponíveis na web,? Manualmente e com MUITA paciência!!!!! Tenho que fazer tudo manualmente 60 professores nome e e-mail = 120 Crtl C e Crtl V Se quiser colocar telefone devo entrar na página de cada professor e copiar. 2
Combinar Informações Qual o Problema? Site de locais turísticos, sites de Tenho que fazer tudo manualmente hotéis, sites de preços de vôos e site do Banco Pesquisar do hotéis, Brasil. anotar preços, pegar a calculadora e ver preço de estadia de uma Quanto semana; custa uma viagem turística de uma semana em Salvador? Posso passar passagens, uma semana lá? Minha Voltar secretaria a calculadora... consegue responder... Pesquisar Companhias de aviação, ver preços de Acessar a conta do Banco e... Tomar uma cerveja na Lagoa da Conceição!! <HTML> <head> <title></title> <base target="_self"> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"></head> <BODY BGCOLOR="#CEC5B3" TEXT="#ffffff" LINK="#800000"> <P ALIGN=Center> <font color="#666600"><b><font SIZE=+3><SMALL>Prof. Fernando Ostuni Gauthier, Dr.Eng</SMALL></FONT></B> </font> Que informação vemos? Informação na Web Atual A web atual representa a informação em linguagem natural com muito pouca estrutura (HTML) e elementos gráficos Fácil de ser compreendida pelas pessoas mas muito complexa para ser compreendida pelas máquinas O que se pode fazer? Web semântica Máquinas mais inteligentes, capazes de compreender linguagem natural, conhecimento de senso comum, reconhecimento de imagens...etc. -- IA?!!!?!!!? Informação mais clara para que possa ser compreendida pelas máquinas Incluir conteúdo semântico na web de forma que as informações possam ser processadas pelas máquinas Evolução da web atual que visa dar significado semântico ao conteúdo da páginas da web, criando um ambiente onde agentes de software e usuários possam trabalhar de forma cooperativa 3
. "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." -- Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001 SIR TIM BERNERS LEE- He Created the Web.Now he's working in Internet 2.0. Technology Review, October 2004 MIT Stata Center Três perspectivas para Web Semântica? O que? Particular Universal Pessoa Quem? Máquina Muito do Uso Atual Perspectiva de Base de Dados Federadas Possibilidade de troca de informações entre diferentes aplicações Biblioteca de Alexandria Organizar o Conteúdo para facilitar a busca (biblioteca multimídia) Navegador de conhecimento Possibilidade de trabalho conjunto de Agentes de software com pessoas Quais problemas resolvem? Biblioteca de Alexandria Organizar o Conteúdo para facilitar a busca (biblioteca multimídia) Qual a formação acadêmica do Esperidião Amin? Perspectiva de Base de Dados Federadas Possibilidade de troca de informações entre diferentes aplicações. Atualizar o Outlook. Navegador de conhecimento Possibilidade de trabalho conjunto de Agentes de software com pessoas. Férias em Salvador. Aspectos computacionais 4
A pirâmide de linguagens da Web Semântica Uma das premissas de arquitetura da web semântica é uma pilha de linguagens computacionais conforme a figura apresentada por Tim Bernes-Lee Unicode O padrão Unicode fornece um único número para todo caractere não importando a plataforma, a língua ou o programa. Antes de ser criado o Unicode existiam centenas de sistemas de codificação para atribuir os números. O padrão foi adotado por empresas como: Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, etc. (http://www.unicode.org). URI - Uniform Resource Identifier Para identificar itens na web são utilizados identificadores, como o sistema de identificação é uniforme e como cada item na web é considerado um recurso os identificadores são chamados de Identificadores uniformes de recursos ou Uniforms Resource Identifiers (URI). Pode-se atribuir uma URI a qualquer coisa e qualquer coisa que tem uma URI esta na web. Uma universidade, um livro, uma disciplina, uma instituição, seu cachorro, qualquer coisa em que se possa pensar pode ter uma URI. URL URIs são descentralizadas Um tipo de URI muito comum é a URL (Uniform Resource Locator ) ou Localizador Uniforme de Recurso. Este tipo de URI não só identifica mas localiza o recurso permitindo que o computador o encontre http://www.inf.ufsc.br/~gauthier). Outro tipo de URIs, porem, somente identificam o recurso, por exemplo: mid: identifica uma mensagem eletrônica não é possível localiza-la a partir deste identificador. Ninguém controla sua criação a forma em que são usadas enquanto alguns esquema de URIs dependem de controle centralizado e outros são completamente descentralizados. Não é necessária permissão de alguém para criar uma URI podendo-se inclusive criar URIs para itens dos quais não se é proprietário. 5
Uma prática comum para criar URIs é começar com descrevendo o objeto a ser identificado numa página web e utilizar a URL como identificação do objeto. http://www.inf.ufsc.br/~gauthier/planodenegocios/ identifica a disciplina Plano de Negócios ministrada pelo Prof. Gauthier. XML XML (Extensible Markup Language) é uma linguagem para marcar documentos que contêm informações estruturadas. Informação estruturada tem tanto conteúdo como alguma indicação de que rol esse conteúdo tem no documento. Um documento pode ter o conteúdo Fernando Gauthier na área de bibliografias o que tem significado diferente de estar na página de rosto logo abaixo do título. O XML foi projetado para marcar documento de estrutura arbitraria em oposição ao HTML que foi projetado para marcar documentos com estruturas fixas. Atualmente é bastante utilizado em uma série de atividades de desenvolvimento de software. Em HTML, tanto o conjunto de marcadores (tags) quanto sua semântica são fixos <h1> é sempre o título de primeiro nível Código XML XML não especifica nem a semântica nem o conjunto de marcadores XML é uma meta-linguagem para descrever linguagens de marcação, permitindo definir marcadores e a relação estrutural entre eles. <palestra> <titulo>web Semântica</titulo> <autor> Fernando Gauthier</autor> </palestra> 6
DTD XMLSchema Em uma determinada aplicação o conjunto de marcadores é definido num documento chamado DTD que também especifica como os marcadores devem ser aninhados. Uma DTD define uma gramática para especificar as combinações os aninhamentos de marcadores, atributos etc. Basicamente a mesma finalidade de DTDs: definir uma gramática para os documentos XML. definem vocabulários de marcação compartilhados, a estrutura dos documentos que utilizam esses vocabulários e fornecem subsídios para associar semânticas com eles. XMLSchema define: XMLnamespace - NS um conjunto de tipos de dados simples que podem ser associados com os tipos dos elementos métodos para descrever a estrutura e as restrições dos conteúdos de documentos XML as regras para validar documentos XML. Documentos XML possuem elementos e atributos que são definidos ou utilizados por vários módulos de software. Podem ocorrer problemas de reconhecimento e colisão destes em documentos tendo vários vocabulários de marcação. Mesmo significado? Exemplo: <palestra> <titulo>web Semântica</titulo> <autor> Fernando Gauthier</autor> </palestra> <livro> <titulo>web Semântica</titulo> <autor> Fernando Gauthier</autor> <editora>ufsc</editora> </livro> Um XML namespace (NS) é uma coleção de nomes, identificada por uma URI, que são utilizados em documentos XML como tipos de elementos e nomes de atributos 7
XML, XMLSchema e XMLNS especificam somente convenções sintáticas, qualquer aspecto semântico (significado dos elementos, etc. ) não faz parte das as especificações XML. RDF -Resource Description Framework Recomendação do W3C para padronizar a definição e utilização de meta-dados de descrição de recursos da web. Porém, RDF são adequados para representar dados e proporcionam uma forma simples de expressar afirmações sobre estes recursos. O RDF tenta trazer interoperabilidade ante a multiplicidade de formatos incompatíveis existentes. A base do RDF é uma tripla do tipo objeto-atributo-valor que representam afirmações (statements). A página http://www.inf.ufsc.br/~gauthier tem como criador Fernando Gauthier. Objeto: http://www.inf.ufsc.br/~gauthier Atributo: criador Valor: Fernando Gauthier Atributo(Objeto, Valor) ou criador(http://www.inf.ufsc.br/~gaut hier, Fernando Gauthier) http://www.inf.ufsc.br/~gauthier criador Fernando Gauthier RDF permite que objetos e valores troquem de posição: criador(http://www.inf.ufsc.br/~gauthier, Fernando Gauthier) cargo(fernando Gauthier, Professor Adjunto) Para representar formalmente, em linguagem compreensível pela máquina, RDF utiliza o XML. Um documento RDF é uma lista de descrições de recursos em XML. 8
Descrição propriedade com valor contendo literal: RDFSchema (RDFS) <rdf:description about="http://www.inf.ufsc.br/~gauthier"> <criador> Fernando Gauthier </criador> </rdf:description> Permitem definir um vocabulário básico para dados RDF e especificar o tipo de objetos aos quais se aplicam esses atributos. Introduze primitivas básicas que permitem falar de classes, subclasses, domínio e restrições de valores das propriedades no contexto da web. Proporciona um mecanismo de tipagem básica para modelos RDF, utilizando termos definidos como: Class, subpropertyof e subclassof. RDFS pode ser vista como uma linguagem para descrever conhecimento bem simples Existem muitos tipos de conhecimentos que não podem ser expressos nesta linguagem. afirmar que cada livro tem um único título e pelo menos um autor afirmar que um livro tem que ter capa dura ou capa normal Ontologia Representação do vocabulário de um determinado domínio e suas conceituações. Ex: Ontologia de Análise orientada a objeto Classe Objeto Herança Instância Normalmente precisamos conhecer os termos e seu significado para poder emitir opiniões 9
Ontologia [Studer et al 98] Especificação explícita e formal de uma conceitualização compartilhada Ontologia Exemplo: Ontologia de Palestra Especificação explícita e formal de uma conceitualização compartilhada definições de conceitos, instâncias, relações, restrições e axiomas são explícitas declarativamente definida, portanto, compreensível para agentes e sistemas Conhecimento consensual Modelo abstrato de parte do conhecimento Conceitos: Titulo, Duração, Data, Autor.. <palestra> <titulo>web Semântica</titulo> <autor> Fernando Gauthier</autor> </palestra> Palestra, Curso, Apresentações de Trabalhos.. Alguém não concorda que Palestra tem Título? Elementos de uma ontologia Como construir uma ontologia Conceitos (Classes) + hierarquia Propriedades dos conceitos (slots/atributos) Restrições sobre as propriedades (tipo, cardinalidade,...) Relações entre conceitos (Igualdades, disjunções,...) Instâncias de conceitos Determinar o domínio e o alcance Enumerar os termos importantes Definir classes e hierarquias Definir atributos e relações Definir restrições (cardinalidade, tipo ) OWL (Web Ontology Language) linguagem recomendada pelo W3C (10 de fevereiro de 2004) para representar conhecimento OWL pode ser utilizada para expressar o significado dos termos em vocabulários e as relações entre eles. A linguagem tem mais dispositivos para expressar significado do que XML, RDF, and RDFS estando portanto acima delas para representar conteúdo compreensível pelas máquinas na WEB. OWL constitui uma revisão da linguagem DAML+OIL DAML- DARPA Agent Markup Language). OIL - Ontology Inference Layer OIL - Ontology Interchange Language fornece três sublinguagens com capacidade expressiva crescente OWL Lite, OWL DL, OWL Full. 10
Protegé Ferramenta para criar e gerenciar ontologias Trabalha com várias linguagens inclusive OWL Exemplo de ontologia Compartilha-se existência de.. Desenvolver uma ontologia de web semântica a ser utilizada para material didático disponibilizado na web por professores universitários. Tipos de Documentos: Planos de Aula; Exercícios; Textos; Informações sobre o autor: Nome Titulação Instituição com Vinculo Informações sobre o documento: Tipo Data de publicação Nome da disciplina Autor Criando as classes: Desenvolvimento no Protégé 11
Lista dos atributos, chamados de propriedades no Protégé Cardinalidade e tipos dos atributos Atributo com inverso: Incluindo os atributos nas classes Incluindo os atributos nas classes Incluindo os atributos nas classes 12
Criando instancias ou indivíduos da classe Autor Mais uma instância de autor Criando uma disciplina Criando outra disciplina Criando uma instancia de texto Selecionando o autor do texto 13
Selecionando a disciplina do texto Criando outro texto Criando uma instância de plano de aula Exibindo todas as instâncias de documentos Pesquisando na ontologia com a ferramenta Queries. Quais os autores com vínculo com a FURB? Quais os documentos da disciplina Introdução à Inteligência Artificial? Quais as disciplinas que tem documentos com autor com vinculo com a FURB? 14
Exibindo todas as instâncias de documentos Quais os autores com vínculo com a FURB? Quais os documentos da disciplina Introdução à Inteligência Artificial? Quais as disciplinas que tem documentos com autor com vinculo com a FURB? Outras ferramentas para trabalhar com ontologias OilEd OntoEdit KAON OntoBuilder ANOTAÇÃO (ANNOTATION) 15
Anotação Página com Anotação Processo de incluir contudo semântico nos documentos (Html, word,..) Atribuir ao texto o às entidades no texto ligação com com sua descrição semântica Código da Página Camada Lógica Algumas linguagens Esta camada permite, através de regras consultar paginas, fazer filtragem de conteúdos, concluir sobre fatos. Quais os professores que trabalham no mesmo departamento do Prof. Gauthier? Seria necessário acessar páginas de professores onde o local de trabalho seja igual ao do prof. Gauthier. Quais os colegas de turma de graduação do reitor da ufsc? Seria necessário criar regras que definam colega de turma acessar uma ontologia sobre universidades, localizar o significado de reitor, localizar a instância... RuleML DAML-L F-Logic 16
Prova(Proof) e Cronfiança(Trust) Existe necessidade de desenvolver mecanismo para raciocinar e provar que determinados fatos são verdadeiros baseando-se na informação disponível Ex: Um agente precisa provar que é possível viajar de férias a Salvador por uma semana(tem hotel, tem passagens e dinheiro sobrando) A página que o Agente está acessando é realmente a do Banco do Brasil? Se o agente fez reservas em Salvador, quem me fornece o recibo? Ele é válido legalmente? Semantic Word Processing for Content Authors Marcelo Tallis Teknowledge Corporation. 17
FIM http://compsem.inf.ufsc.br/~gauthier 18