Unidade 4: Web Semântica
Prof. Cláudio Baptista
Motivação
• A Web atual representa informação usando:
 linguagem natural (e.g., English)
 Gráficos, multimedia
 Page layout
• Ok para humanos
• Difícil para machine processing
(ambiguidade, formatos de dados sem tipos)
Motivação: Web Atual
Motivação: Web Semântica
Motivação
• Os dados na Web são organizados para serem lidos por
humanos e não por programas de computador. (human
versus machine understandable)
• Em geral, os computadores não possuem uma forma
confiável de processar semântica na Web.
• Idéia: anotar elementos de páginas com instâncias de
conceitos definidos em ontologias acessíveis na Web e em
formato legível por máquina
• Faz com que a Web possa ser lida tanto por humanos como
por máquinas.
Definição
• "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
Definição
• A Web semântica é uma visão: a idéia de se
ter dados na Web definidos e interligados de
modo que possam ser usados por máquinas
não apemas com o propósito de
apresentação (display), mas também
automação, integração e reuso de dados
entre diversas aplicações
Definições
• Ambiente onde agentes de software vagariam entre páginas,
podendo realizar tarefas para os usuários;
• WS não é uma outra Web e sim uma extensão da que
existe;
• Para o funcionamento da WS, computadores têm que ter
acesso a coleções de informações estruturadas e conjuntos
de regras de inferência;
Definições
• Vai permitir que máquinas possam compreender a
semântica de documentos e dados;
• Existência de diferentes formas de representar a
mesma coisa na Web, então é aí que entra as
ontologias;
• Com ontologias, pode-se resolver ambiguidades em
terminologia. ex.: Zip Code e Postal Code;
Definições
• Ontologias podem aumentar a funcionalidade da Web em
muitos aspectos;
• O poder real da WS será quando as pessoas criarem muitos
programas que coletam contextos da Web, processam a
informação e trocam os resultados com outros programas.
Definições
“Imagine um forno de microondas que, através da Internet,
consulta um site de comidas congeladas para otimizar
parâmetros de cozimento”
Princípios básicos da WS
• 1- Qualquer coisa deve ser identificável na
WS (uso de URI)
• 2- Informação é parcial e continuará parcial
(não esperemos consistência global => erro
404 continuará a existir)
• 3- Fácil Evolução
• 4- Simplicidade
Infra-estrutura em camadas da
W3C para web semântica
Arquitetura Proposta
Arquitetura Proposta
• Schema Layer:
- Estrutura os dados e define o seu significado;
- Representação do Conhecimento – dar significado aos
dados, para ser possível elaborar raciocínio lógico.
- Linguagem que permita expressar os dados para definir
regras de raciocínio.
- Uso de XML e RDF.
Arquitetura Proposta
• Ontology Layer:
- Define as relações entre os dados;
- Definição de relação entre conceitos – Ontologias;
- Ontologias definem relações entre termos.
Arquitetura Proposta
• Logic Layer:
- Define mecanismos para fazer inferência sobre os dados;
- Conjunto de Regras de Inferência que os agentes utilizam
para relacionar e processar informações.
Metadados
• Motivação
– Cenário 1: busca por um livro numa biblioteca
– Cenário 2: busca por um vídeo numa locadora
– Cenário 3: busca por um telefone num serviço
de Yellow Pages
– Metadata: Data about Data
• Principal uso: resource-discovery
Metadados
• Motivação
– Ferramentas de busca, exceto Yahoo, coletam
metadata de forma crua (através de web robots)
sem semântica.
– Isto resulta em baixa precisão e recall
– Porém não existe uma instituição
www.GOD.org que regulamenta e obriga o
mundo usar metadados
– O que fazer?
Metadados
– Ao invés de descartar a idéia de metadados
podemos usar RDF
– Como vimos nos cenários, existem muitos
metadados em comum
– Portanto, podemos, usando RDF, organizar
estes metadados para que possam ser usados
por aplicações!!!
Metadados: Dublin Core
• Conjunto simples de elementos de
metadados para informação online
• 15 elementos básicos
• projetado para todos os tipos e gêneros
de material
• todos os elementos são opcionais
• todos os elementos são repetitivos
• Desenvolvido por um grupo
internacional desde 1995
Elementos do Dublin Core
1. Title nome dado ao recurso pelo criador ou publisher.
2. Creator pessoa ou organização responsável pelo conteúdo
intelectual do recurso. Por exemplo, autores de documents, artistas,
fotógrafos, etc.
3. Subject o tópico do recurso. Tipicamente, é expressado com
keywords ou frases que descrevem o assunto ou conteúdo do
recurso. O uso de vocabulários controlados e classificação formal
é encorajado.
Dublin Core elements
4. Description uma descrição textual do conteúdo do recurso,
incluindo abstracts no caso de objetos do tipo documentos ou
descrição de conteúdo no caso de recursos visuais.
5. Publisher entidade responsável pela produção do recurso, por
exemplo uma editora, departamento de uma universidade, ou uma
entidade corporativa.
6. Contributor pessoa ou organização não especificada no elemento
creator que teve contribuição na criação intelectual do recurso mas
cuja contribuição é secundária. Por exemplo um editor, tradutor, e
ilustrador).
Dublin Core elements
7. Date data associada com a criação ou disponibilidade do
recurso.
8. Type categoria do recurso, por exemplo home page, novela,
poema, working paper, preprint, technical report, ensaio,
dicionário.
9. Format formato de dados do recurso, usado para identificar o
software e possivelmente hardware que são necessários para
manipulação do recurso.
10. Identifier um string ou número usado para unicamente
identificar o recurso. Examplo : URL
Dublin Core elements
11. Source informação sobre um segundo recurso do qual o
presente recurso é derivado.
12. Language a língua usada no recurso.
13. Relation identificador de um segundo recurso e seu
relacionamento com o presente recurso. Este elemento permite
links entre recursos relacionados. Examplos incluem uma
edição de um trabalho (IsVersionOf), ou um capítulo de um
livro (IsPartOf).
Dublin Core elements
14. Coverage localizações espaciais e duração temporal do
recurso.
15. Rights contém informação sobre copyright
Dublin Core com Meta Tags
<meta name="publisher" content="OCLC">
<meta name="creator" content="Weibel, Stuart L.">
<meta name="creator" content="Miller, Eric J.">
<meta name="title" content="Dublin Core Reference Page">
<meta name="date" content="1996-05-28">
<meta name="form" content="text/html">
<meta name="language" content="en">
Dublin Core com qualificadores
<title>Digital Libraries and the Problem of Purpose</title>
<creator>David M. Levy</creator>
<publisher>Corporation for National Research Initiatives</publisher>
<date date-type = "publication">January 2000</date>
<type resource-type = "work">article</type>
<identifier uri-type = "DOI">10.1045/january2000-levy</identifier
<identifier uri-type =
"URL">http://www.dlib.org/dlib/january00/01levy.html</identifier>
<language>English</language>
<rights>Copyright (c) David M. Levy</rights>
RDF e RDFS
• RDF - Resource Description Framework
– Modelo para descrever recursos
– É uma aplicação XML
– Baseado em um modelo de grafo no lugar de
árvore
– Melhora a descoberta, o acesso e o
gerenciamento das informações da Web
RDF: constituintes
de uma descrição RDF
• Formas de representação
– Tripla:
• Sujeito: recurso
• Objeto: outro recurso
• Predicado: relação que associa vários recursos
– Como grafo:
• Sujeitos são nós
• Objetos também são nós ou literais (átomos)
• Predicados são os arcos que ligam os nós
• Recursos são unicamente identificados por URI
Exemplo de uso de RDF
[Sujeito = <http://www.sinbad.dsc.ufpb.br/>,
Predicado
=<http://gosta.exemplo.org/termo/gosta>,
Objeto = <http://www.w3c.org> ]
http://www.sinbad.dsc.ufpb.br/
http://gosta.exemplo.org/termo/gosta
http://www.w3c.org
RDF: ressurgimento das redes
semânticas
• Redes semânticas
– Forma de representar linguagem natural
– Formato para organizar expressões numa forma
fácil de ser computada
• RDF é uma rede semântica para a Web
Redes Semânticas
spine has
heart
vertebrate
isa
isa
hair
mammal
walk can
bird
isa
canary
freddie
wings
fly
isa
yellow
doesn’t fly
ostrich
hugo
RDF em XML
• Texto tripla:
[Sujeito=<http://uri-of-document>,
Predicado=<dc:Creator>,
Objeto=<Creator_001>]
[Sujeito=<Creator_001>,
Predicado=<card:name>,
Objeto=<Jonh Smith>]
[Sujeito=<Creator_001>,
Predicado=<card:email>,
Objeto=<[email protected]>]
• XML
<rdf:rdf>
<rdf:Description rdf:href=“http://uri-ofdocument”>
<dc:Creator
rdf:href=“#Creator_001”/>
</rdf:Description>
<rdf:Description
rdf:ID=“Creator_001”>
<card:name>
Jonh Smith
</card:name>
<card:email>
[email protected]
</card:email>
</rdf:Description>
</rdf:rdf>
RDF em XML: Grafo
dc:Creator
http://uri-of-document
Creator_001
card:name
“John Smith”
card:email
“[email protected]”
RDF em XML: Árvore
rdf:rdf
rdf:Description
rdf:Description
rdf:ID
card:name
Creator_001
card:email
rdf:href http://uri-of-Document
dc:Creator
rdf:href #Creator_001
“John Smith”
“[email protected]”
RDF e XMLNS
<?xml version=“1.0” ?>
Namespace para as especificações RDF
<rdf:RDF
xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
Namespace para uma especificação
xmlns:dc=“http://purl.org/DC/”>
customizada
<rdf:Description about=“http://rama.cpe.fr/index.html”>
<dc:Creator rdf:resource=“mailto:[email protected]”/>
</rdf:Description>
</rdf:RDF>
Predicado
Objeto
Sujeito
RDF Schema (RDFS):
definição e motivação
• Provê um sistema de tipo básico
• Provê mapeamento entre recursos e
propriedades
• Permite a construção de estruturas hierárquicas
• Mesma sintaxe que RDF
• Interoperabilidade de metadados de diferentes
comunidades
• Permite codificar, trocar e reusar estrutura de
metadados
RDFS: constituintes
de um esquema de descrições
• Classes básicas
– rdfs:Resource : todas as coisas descritas são recursos
(Objeto)
– rdfs:Property: propriedades
– rdfs:Class :similar à noção de classe em OO
• Propriedades Básicas
– rdf:type: indica que um recurso é membro de uma classe
– rdfs:subClassOf: similar à noção de subclasse em OO
– rdfs:subPropertyOf: indica que uma propriedade é
especialização de outra
RDFS em XML: exemplo
• Exemplo de RDFS
<? xml version=“1.0” ?>
< rdf xmlns:rdf = “http://w3.org/TR/Prrdf-syntax#”
xmlns:rdfs=“http://w3.org/TR/WDrdf-schema#” >
<rdf:Description ID = “Title”>
<type resource = "http://w3.org/TR/PRrdf-syntax#Property" />
<rdfs:label> Title </RDFS:label>
</rdf:Description>
<rdf:Description ID = "Creator" >
< rdf:type resource =
"http://w3.org/TR/PR-rdfsyntax#Property" />
<rdfs:label> Author or Creator
</rdfds:label>
</rdf:Description>
</rdf>
• Exemplo de 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/”>
<rdf:Description
about=“http://dstc.com.au/report.ht
m”>
<dc:Creator
rdf:resource=“mailto:[email protected]”/>
<dc:Title = “Report” />
</rdf:Description>
</rdf:RDF>
Ontologia
• Permite que informações de diferentes
fontes sejam integradas, para tanto requer-se
um entendimento compartilhado de um
dados domínio.
• Associa termos de vocabulário com
entidades identificadas na conceitualização
e provê definições para restringir as
interpretações destes termos.
Ontologia
• Como um XML DTD ou XML Schema,
uma ontologia pode prover um vocabulário
de problema.
• Entretanto, uma ontologia pode também
conter estruturas ou axiomas que definem as
semânticas dos termos do vocabulário.
• Estas semânticas são usadas para:
• inferir informação baseado no conhecimento prévio
do domínio
• integrar fontes de dados de diferentes domínios.
Ontologia
• Definição: especificação (semi-)formal explícita de uma concepção
compartilhada
– Concepção: modelo das entidades, relações, axiomas e regras de algum
domínio
– Formal:
• processável por máquina
• permitindo raciocínio automático
• com semântica lógica formal
– Compartilhada: por uma comunidade, permitindo entendimento
• Conceitos de computação relacionados:
– Base de conhecimento reutilizável
– Esquema de banco de dados
Elementos de uma ontologia
• Hierarquia de conceitos:
– entidades
• cada entidade definida por conjunto de pares atributo-valor
• correspondem às classes dos modelos orientado a objetos; às
entidades do modelo relacional; aos termos do modelo lógico
• atributos propriedades x atributos relações
– preenchidos por valores atômicos (tipos primitivos) x por outros
conceitos
• Status epistemológico do valor
– Exatamente conhecida, default, probabilista
– relações
• sem hierarquia x em hierarquia paralela a hierarquia de entidades
• correspondem: às associações, agregações e atributos dos modelos
OO cujos valores são objetos; às relações do modelo relacional; aos
predicados do modelo lógico
Elementos de uma ontologia
– Restrições:
• sobre valores possíveis dos atributos do conceitos
• correspondem: às assinaturas de classes em modelos OO;
aos axiomas universalmente quantificados em modelos
lógicos; às restrições de integridade nos esquema de BD
– Regras dedutivas:
• sobre atributos de conceitos
• permitem inferência automática da existência de
instâncias de conceitos a partir da existência de outras
instâncias
• correspondem às regras dos sistemas especialistas e
programação em lógica; aos métodos dos modelos OO;
às visões em BD
Elementos de uma ontologia
• Instâncias de conceitos:
– definição de entidade e relações específicos
(indivíduos)
– correspondem:
• aos fatos de sistemas especialistas e programação em
lógica
• aos objetos dos modelos OO
• aos dados dos BD
Serviços suportados por uma
ontologia
• Consultas e manipulação:
– correspondem aos métodos de acesso a valor e de reflexão
em linguagens OO; consultas de interrogação e manipulação
em BD; ask, tell e retract das bases de conhecimento
– sobre conceitos:
• Quais são as entidades E relacionadas a entidade e0 via relações r1,
r2?
• Quais são as relações R mais gerais que r1?
• Definição d de entidade E é consistente com o resto da ontologia?
– sobre instâncias
• um indivíduo I com propriedades P1, ..., Pn é instância de quais
conceitos?
• Raciocínio automático (geralmente dedutivo)
Ontologias
• Uma ontologia define os termos usados para
descrever uma área de conhecimento.
• Ontologias são usadas por pessoas, SGBD e
aplicações que necessitam compartilhar
informação de domínio (medicina, biologia,
finanças, vendas de veículos, etc)
• Ontologias incluem definições (entendidas por
computador) de conceitos num domínio e os
relacionamentos entre eles
– Ontologias codificam conhecimento entre domínios,
permitindo reusabilidade de conhecimento
Ontologias
• Ontologia tem sido usado com vários
significados: taxonomia de vocabulários
(ex. hierarquia do Yahoo), metadata schema
(ex. Dublin Core) e teorias lógicas
• Na Web Semântica, precisamos de
ontologias que especifiquem 3 tipos de
conceitos:
• Classes
• Relacionamentos
• Propriedades
Ontologias
• XML e XML Schema representam apenas
sintaxe
• RDF e RDFs são a primeira tentativa de ser
ter semântica associada.
• RDFS pode ser chamada de uma linguagem
de ontologia simples
• Limitações: não faz inferência, não permite
especificar disjunção de classes, dentre
outros.
Ontologia - Histórico
– O trabalho em Ontologias remonta muitos anos
nos campos de filosofia, IA, biblioteconomia
– Representação do conhecimento na Web
usando ontologias surgiu na década de 90:
 1995 - SHOE (Simple HTML Ontology Extensions), Univ
of Maryland.
 1996/7 - Ontobroker, Univ. of Karlsruhe
 1997-1999 - OIL (Ontology Interchange Level),
Amsterdam led EU project
– Investimento governamental em WS:
 1999 - The DARPA Agent Markup Language Program
 2000 - EU IST Project (Framework 5, 6)
 2000 - outras propostas nos EUA, Japão e Austrália
Tipos de Ontologias
• Especialista: modela um domínio particular restrito
• Geral:
– modela o conhecimento de senso comum compartilhado por
todos os seres humanos
– parte de mais alto nível, reutilizável em vários domínios
• Conceitual: fundamentada na capacidade de raciocinar
• Lingüística: fundamenta no vocabulário de uma(s) língua(s)
• De meta-dados: “especializada” na descrição de recursos online, no entanto sobre qualquer domínio
• De tarefas e métodos: modela procedimentos e comportamentos
abstratos no lugar de entidades ou relações
Ontologias - Aplicações
• 1- Web Portals:
– ponto de partida para se colher uma informação
específica
– formam uma comunidade que interage num
determinado assunto => pode-se classificar os
conceitos, ex. Jornal é uma publicação
– Exemplo de portal que usa WS: Open
Directory Project (http://dmoz.org/)
• grande diretório da Web editado manualmente. (usa
RDF)
Ontologias - Aplicações
• 2- Coleções Multimídia
– ontologias podem ser usadas para fazer
anotações de imagens, vídeos, áudios e textos
– MM ontologias:
• Content-specific
• Media-specific
– Exemplo: um site de móveis antigos
• usuário busca por um ‘late Georgian’
• Ontologia ajuda a inferir o período que equivale a
1760 e 1811 e que a cultura é ‘British’
• Também poder-se-ia inferir o tipo de madeira usada
naquela época repassando esta informação na busca
Exemplo de ontologia especialista:
fragmentos de uma ontologia
acadêmica
em UML
Exemplo de ontologia conceitual geral:
fragmentos da ontologia de senso comum
de Russell e Norvig em UML
Anything
AbstractObjects
Events
Sets
Numbers
RepresentationalObjects
Intervals
Categories
Places
PhysicalObjects
Stuff
Things
Sentences
Measurements
Processes
Moments
Animals
Agents
Humans
Solid
Liquid
Gas
Exemplo de ontologia lingüística
geral:
fragmentos de WordNet em UML
Wordnet
• Princeton WordNet:
• rede semântica de 70.100 significados
• de 95.600 palavras (57.000 substantivos) do inglês
• organizados em 4 categorias sintática: substantivos,
verbos, adjetivos e advérbios,
• são agrupados em conjuntos de sinônimos
• disponível online:
http://www.cogsci.princeton.edu/~wn/
• resulta de 15 anos de desenvolvimento manual por
time de psico-lingüistas
EuroWordnet
• EuroWordNet: http://www.hum.uva.nl/~ewn/
• Resultado de um grande projeto da comunidade
européia
• Versão multi-língue adicionando e interligando
WordNets do Espanhol, Francês, Italiano, Alemão,
Holandês, Tcheco e Estoniano ao do Inglês
Wordnet
unit, social unit
Person, individual, someone, human
family, household, menage
relative, relation
Brother, blood brother
Legenda:
sinonímia
body,organic structure
sister, sis
hipernímia
arm
meronímia
leg
antonímia
WordNet Online
Aplicações com o WordNet
•
•
•
•
Extração e recuperação de informação
Classificação de texto
Ensino de línguas
Construção de redes semânticas em outras
linguagens (EuroWordnet)
• Chatterbots (Geração e interpretação de texto)
Linguagens de Ontologias - Requisitos de
Projeto (W3C Ontology Language)
– Compartilhamento de Ontologias por diversas
fontes de dados
– Evolução
– Interoperabilidade
– Detecção de inconsistência
– Balanço entre expressividade e escalabilidade
– Fácil de usar
– Compatibilidade com outros padrões (XML,
RDF, UML)
– Internacionalização
Exemplos: Ontobroker
• inclui una linguagem de definição de
ontologias, uma ling. de anotação de web
page, um web crawler, interfaces de
consulta e máquina de inferência
• é baseado em frame-logic
• é voltado para intranets
Object[].
Person :: Object.
Faculty :: Person.
Chair :: Faculty.
Student :: Person.
Organization :: Object
Department :: Organization.
Person[
name =>> STRING;
headOf =>> Organization].
Faculty[
teaches =>> Class;
advises =>> Student].
FORALL X, Y
X:Chair <- X:Person[headOf ->> Y] AND Y:Department
ANOTAÇÃO: <a onto=" ’http://www.state.edu/users/jsmith/’:Chair">
Exemplo: RDF e RDFS
• Implementa uma rede semântica
• É uma aplicação de XML
• Com RDFSchema permite a construção de
vocabulários controlados, estensíveis e
compartilhados
• Uso de rdfs:Class, rdfs:Property e
rdfs:subClassOf
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#">
<rdfs:Class rdf:ID="Faculty">
<rdfs:subClassOf rdf:resource=
"http://schema.org/general#Person" />
</rdfs:Class>
<rdfs:Class rdf:ID="Student">
<rdfs:subClassOf rdf:resource=
"http://schema.org/general#Person" />
</rdfs:Class>
<rdfs:Class rdf:ID="Chair">
<rdfs:subClassOf rdf:resource="#Faculty" />
</rdfs:Class>
<rdfs:Property rdf:ID="advises">
<rdfs:domain rdf:resource="#Faculty" />
<rdfs:domain rdf:resource="#Student" />
</rdfs:Property>
</rdf:RDF>
Exemplo DAML
• DARPA Agent Markup Language
• Involve alto investimento da academia,
governo e indústria
• Hoje juntou-se a linguagem OIL (Ontology
Inference Layer) formando DAML+OIL
• Escrito em RDF
• Baseado em Description Logic
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#"
xmlns:daml="http://www.daml.org/2001/03/daml+oil#" >
<daml:Ontology rdf:about="">
<daml:versionInfo>1.0</daml:versionInfo>
<daml:imports rdf:resource="http://schema.org/base#" />
</daml:Ontology>
<daml:Class rdf:ID="Husband">
<rdfs:subClassOf rdf:resource="#Male" />
<rdfs:subClassOf>
<daml:Restriction>
<daml:onProperty rdf:resource="#isMarriedTo" />
<daml:hasClass rdf:resource="#Female" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
</rdf:RDF>
Futuro: W3C Web Ontology Language
– The WOWG está trabalhando na criação de
uma recomendação para a "Web Ontology
Language": OWL 51 Membros de 30 W3C
Organizations
 Companies: Agfa, Daimler-Chrysler, EDS, Fujitsu,
Hewlett-Packard, IBM, Intel, IVIS, Lucent, Network
Inference, Nisus, Nokia, Philips, Stilo, Sun, Unisys
 Public Sector: DISA, Electricite de France, Intelink,
INTAP, MITRE, NIST
 Research projects/Labs: DFKI, FZI, Ibrow group,
Stanford, U. Bristol, U. Maryland, U. Southhampton
 Invited Experts: Medical, Digital Library, Defense,
Technical
Download

Unidade 4: Web Semântica