Web Semântica Fred Freitas CIn - UFPE Objetivos • Entender a utilidade e a filosofia da Web Semântica • Distinguir as camadas da Web Semântica • De cada camada: – Discernir a expressividade de cada uma delas – Entender o papel de cada uma delas – Conhecer suas respectivas linguagens Plano de aula • Motivação: Problemas e potenciais da Web • A Web Semântica e suas camadas • As camadas XML e RDF • A camada de Ontologias • Aplicações e perspectivas 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) A Internet • A linguagem em que são codificadas as páginas da Internet (HTML – HyperText Markup Language) garante apenas apresentação e navegação • Como achar a informação desejada?? Quero saber o que pesquisa o Prof. Robin… Página dele, em HTML <meta NAME="Author" CONTENT="Jacques Robin"> <meta NAME="Description" CONTENT="Personal HOme-page of Jacques Robin professor"> … <h3><font face="Arial">Research Interests</font></h3> <ul> <li> Artificial Intelligence </li> <li> Multi-Agent Systems </li> O que está codificado na <li> Computational Linguistics </li> página dele não diz nada <li> NLP </li> a respeito do conteúdo! <li> Hypertext Generation </li> <li> Intelligent Databases </li> <li> Logic Programming </li> <li>Data Warehousing and OLAP</li> </ul> Os Engenhos de Busca se confundem… Baixa precisão Baixa Cobertura Motivação: Problemas de Recuperação de Informação na Web • Falta de precisão: muitos resultados irrelevantes • Principais ausências – Falta de contexto – Falta de semântica na definição das páginas • O usuário em busca de informações objetivas é quem fica com o trabalho duro de interpretar, filtrar e combinar os resultados de sistemas de busca Qual o significado dos Links? Jacques Robin's Research Students PhD. students: Franklin Ramalho http://www.di.ufpe.br/~jr/students.html Franklin Ramalho is a PhD student in the Centro de Informática at the Universidade Federal de Pernambuco. http://www.cin.ufpe.br/~fsr/ O significado dos links está relacionado a: • O que há em torno • Um contexto Motivação: Perguntas que podem ser respondidas (mas não são!) ? „Quais são os competidores da Audi no mercado em Recife ?“ Respostas: Volvo Motivação: Informações implícitas 1 A Audi vende carros de luxo em Recife. & 2 A Volvo vende carros de luxo em Recife. = 3 Audi e são competidores no mercado de Recife. Plano de aula • Motivação: Problemas e potenciais da Web • A Web Semântica e suas camadas • As camadas XML e RDF • A camada de Ontologias • Aplicações e perspectivas 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) Camadas da Web Semântica Dedução do Implícito Semântica Explícita Dados relacionais distrib. Troca de dados 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 Plano de aula • Motivação: Problemas e potenciais da Web • A Web Semântica e suas camadas • As camadas XML e RDF • A camada de Ontologias • Aplicações e perspectivas A camada XML • HTML foi abstraída para XML XML – eXtensible Markup Language • As etiquetas (tags) podem ser rotulados • Dados ganham sintaxe, mas não significado: <livraria> <livro> <titulo>O Lobo da Estepe</titulo> <autor>Herman Hesse</autor> <isbn>0836217462</isbn> </livro> </livraria> • Etiquetas como “livro” e “autor” são intuitivas para nós – Mas não para o computador: o que é “livro”? Quais as relações? ... Definições de Tipos de Documentos (DTDs) XML • 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 livraria [ <!ATTLIST livro id ID #IMPLIED> <!ATTLIST autor id ID #IMPLIED> <!ATTLIST ISBN id ID #IMPLIED>]> Esquemas XML (XMLS) XML • 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 Web Semântica & XML • XML organiza os dados em árvores e define sintaxe • Mas só sintaxe não ajuda muito em B2B: Empresa 1: <Produto> <tipo>Carro</tipo> <Nome>Jaguar</Nome> <Preco>300.000 R$</Preco> </Produto> XML Empresa 2: <Automovel> <Nome>Jaguar XJ </Nome> <Custo>100.000 US$ </Custo> </Automovel> Problemas: XML não provê semântica formal Serve apenas para colaboração –Conflitos de Nome previamente acertada, com agentes e páginas num ambiente limitado –Conflitos de Valor (comunidade ou intranet) .. Mas não para páginas a serem disponibilizadas –Conflitos de Estrutura para quaisquer usuários na Internet A camada RDF RDF+RDFSchema • 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 Exemplo de descrição em RDF http://www.cin.ufpe.br Jacques Robin Professor Creator http://www.cin.ufpe.br/~jr Sujeito (recurso) http://www.cin.ufpe.br/~jr Predicado Criador (“creator”) (atributo) Objeto “Jacques Robin" (valor) 02-05-2002 Date Código em RDF <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# Meta-descrição xmlns:dc=http://pur1.org/metadata/dublin_core# > <rdf:Description about= http://www.cin.ufpe.br/~jr> <dc:Creator>Jacques Robin</dc:Creator> <dc:Date>05-02-2002</dc:Date> Descrição <dc:Description>Personal home-page …</dc:Description> <Professor rdf:resource=“http://www.cin.ufpe.br”/> </rdf:Description> </rdf:RDF> RDF & RDF(S) RDF+RDFSchema • RDF • Recursos são descritos como trios objetos-atributos-valores • Os objetos são recursos • Valores são recursos ou strings • Ao invés de árvores, trios representam grafos diretos rotulados • RDF Schema – Padroes (primitivas) de modelagem • class, subclassof, type • property, subpropertyof (hierarquias de propriedade) • domain, range (domínio e imagem) • Motores de inferência: TRIPLE e Sesame RDF & RDF(S) RDF+RDFSchema • RDF • Recursos são descritos como trios objetos-atributos-valores • Os objetos são recursos • Valores são recursos ou strings • Ao invés de árvores, trios representam grafos diretos rotulados Empregado Pessoa domain responsavelPor • RDF Schema subClassOf – Padroes (primitivas) de modelagem Professor subproperty orienta • class, subclassof, type • property, subpropertyof (hierarquias de propriedade) type orienta • domain, range (domínio e imagem) Fred • Motores de inferência: TRIPLE e Sesame range Aluno type Tercio Avaliação de RDF & RDF(S) • Com RDF(S) é possível : RDF+RDFSchema – Falar sobre recursos da Web – Definir vocabulário – Modelar relações simples • Porém, isto é insuficiente para a Web – Como expressar contexto apropriadamente: • Igualdade? – ex: 2 páginas que falam sobre um mesmo livro • Características de relações? – Relações inversas, transitivas, simétricas • Conjuntos disjuntos • ... Plano de aula • Motivação: Problemas e potenciais da Web • A Web Semântica e suas camadas • As camadas XML e RDF • A camada de Ontologias • Aplicações e perspectivas Definições de ontologia Ontologias • 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] Id Modelo Xy 777 Definições de ontologia II Ontologias • “Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada” [Studer et al 98] • 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 inferência por agentes e sistemas – Precisa estar representada num formalismo de representação de conhecimento, como Frames e Lógica de Descrições! • Conceitualização: modelo abstrato de uma área de conhecimento ou de um universo limitado de discurso • Compartilhada: conhecimento consensual Ontologia Ciência Ontologias Relações na Ontologia Ciência A linguagem OWL Ontologias • A camada de ontologias foi padronizada pelo W3C usando a linguagem OWL (Web Ontology Language) • Implementa o formalismo lógica de descrições – Inferência completa e decidível – Motores de inferência: FAcT, Racer Expressividade da camada de ontologias • Classes podem ser construídas por: – – – – União Interseção Complemento Enumeração de instâncias • Classes podem ter disjunções • Propriedades podem ter: – transitividade, simetria, atributos inversos – propriedades funcionais • (se P(x,y) ^ P(y,x) => x=y) • Igualdade e desigualdade de instâncias Ontologias Igualdade x:email Declaração de propriedades x:Human x:Person rdfs:domain rdfs:Class rdfs:range x:Human x:supervises x:Person rdfs:range igualdade sub-classe desigualdade instância x:Human x:PhD-Student x:Professor x:Fred rdfs:range rdfs:domain x:advises Declaração de classes x:Person rdf:Literal Ontologias RDF x:Tercio x:Rafael Igualdade instance(Human) Advises( Fred, ??) x:email Declaração deFred, propriedades Tercio, Tercio Rafael Declaração de classes rdfs:range rdfs:domain x:Human rdf:Literal rdfs:range x:advises x:email x:supervises x:isSupervisedBy rdfs:range rdfs:domain x:Person rdfs:Class x:Fred x:Person x:Human x:supervises igualdade x:email x:Human [email protected] x:Person x:Tercio sub-classe x:advises [email protected] desigualdade instância Ontologias X:Rafael RDF x:PhD-Student x:Professor x:email x:Fred x:Tercio x:Rafael [email protected] Igualdade x:email Declaração Conhecimento adicional rdfs:domain x:Human de propriedades •supervises e isSupervisedBy sao inversos x:advises rdf:Literal rdfs:range rdfs:range x:Human • cooperatesWith é simétrica • Os tópicos de pesquisa de um Phd-Student sao um subconjunto dos tópicos do Professor que o orienta Declaração de classes x:email x:supervises x:isSupervisedBy rdfs:range rdfs:domain x:Person rdfs:Class x:Fred x:Person x:supervises igualdade x:email x:Human [email protected] x:Person x:Tercio sub-classe x:advises [email protected] desigualdade instância Ontologias X:Rafael RDF x:PhD-Student x:Professor x:email x:Fred x:Tercio x:Rafael [email protected] Plano de aula • Motivação: Problemas e potenciais da Web • A Web Semântica e suas camadas • As camadas XML e RDF • A camada de Ontologias • Aplicações e perspectivas Aplicações • Gestão de Conhecimento – A Web semântica pode ser o elemento agregador, pois o conhecimento de uma empresa pode ser organizado em torno de ontologias • Agentes inteligentes! – Poderão trocar e processar informação convenientemente em processos de comércio eletrônico – Se programados convenientemente poderão responder a perguntas sobre informações da Web • ITTALKS: Palestras de TI são anotadas em OWL automaticamente – Usuários são avisados sobre palestras de seu interesse Perspectivas da Web semântica • Deve se popularizar primeiro em segmentos empresariais – Comércio eletrônico B2B – Workflow – E-government, e-learning • Florescem aplicações e ferramentas – Motores de inferência – Ambientes para ontologias – Anotadores semi-automáticos Cuidado com padrões complexos! • Misturar navegação, apresentação e semântica numa só definição prejudica a legibilidade • È preciso aprender com os erros da Ontolingua • Problemas relativos à lógica de descrições: OWL é bastante expressivo, mas... – Que usuários estão familiarizados com LD? – O usuário comum se habituará à LD Conclusão • Tecnologias ligadas à Web Semântica podem ser muito úteis – Soluções para Gestão de Conhecimento e de Documentos – Muitas possíveis aplicações para a Web – Muitas possíveis aplicações para eBusiness, egov, e-learning... Conclusão II • A Web Semântica pode levar o tratamento de informação a outro patamar – Domínios modelados com clareza e interpretação semântica – Relações entre itens de informação podem ser descritas com interpretação compreensível para o software – Usuários recebem respostas, e não listas de links! Para fixar: Resumo • A Web Semântica visa transformar os dados e aplicativos em elementos úteis, legíveis, compreensíveis para o software • Com ela é possível inferir dados implícitos • As principais camadas são: – A camada XML, que provê sintaxe – A camada RDF, que provê semântica simples – A camada de ontologias, que provê rica expressividade para definir domínios de aplicação • Existem ferramentas para a Web semântica • Existem repositórios para reuso de ontologias Próximas aulas Ferramentas para Manipulação de Ontologias Reusos de Ontologias 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) BC KQM L Aos Interessados • Tutorial “Ontologias e Web Semântica” – Fred Freitas – JAIA (Jornada de Atualização em IA), Congresso da Sociedade Brasileira de Computação (SBC), Campinas, 28/agosto • Tutorial “Ontologies: Representation, Engineering, Learning & Applications” – Prof. Dr. Rudi Studer, W3C – 3rd IFIP Conference on E-Commerce, E-business and EGovernment (I3E), Casa Grande Hotel, Guarujá, 2124/setembro de 2003