Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux - Presentation Transcript
Ferramentas da Web Semântica
Aplicadas à Gestão do Conhecimento
Ligado ao Linux
Guillaume Barreau
UFBA
gui@im.ufba.br
Motivação
Em 10 anos, a Web revolucionou o nosso conceito de
informação:
– Crescimento exponencial foi possível pela simplicidade do
html/http
– Vitima do seu próprio sucesso:
• 5 milhões de terabytes gerados em 2002 800Mb/pessoa
• de que serve esta informação se ela não é acessível na hora
certa?
– Por enquanto a única pergunta que você pode fazer a uma
motor de busca é :
• “Que paginas contem estas palavras?“
– Possibilidade de definir perguntas de mais alto nível:
• Qual é a população do Irã?
• Ache tutoriais de java que sejam adequados para alguem que
já programa em python
Motivação (2)
Outra revolução dos anos 90: Linux e o software livre
Muita informação disponível
Experiência pessoal configurando Linux
– Quem busca (muito), encontra
– Ideal seria poder perguntar:
• “Quero todos as soluções ao problema X na instalação
do hardware Y”
… e melhor ainda
• “Ordene estas soluções em função da similaridade com
a configuração do meu sistema”
Estrutura da palestra
Motivação
Visão geral de Web Semântica (W3C)
Conceitos chaves da Web Semântica (W3C)
– Metadados
– XML e XML schema
– URIs
– RDF
– Ontologias
Conclusão
O que é a Web Semântica?
A Web Semântica é uma extensão da Web atual
– a informação passa a ser estruturada de forma
que permite uma melhor cooperação entre
computadores e pessoas.
Web Atual
Web Atual Web Semântica
Web Semântica
A informação só pode ser
A informação só pode ser A informação esta estruturada de
A informação esta estruturada de
apresentada na tela para tal forma que máquinas possam a
tal forma que máquinas possam a
apresentada na tela para
leitura por um humano. “entender” e usa-la de algum jeito
“entender” e usa-la de algum jeito
leitura por um humano.
O que é a Web Semântica? (2)
Web Semântica documentos compreensíveis por
máquinas
– uma inteligência artificial mágica que, de repente,
vai permitir que as máquinas entendam as
elucubrações humanas? Não!
Deve se apoiar na habilidade de uma máquina
resolver problemas bem definidos, usando dados
bem definidos.
– Mais trabalho na elaboração dos dados
– Esforços de padronização
Como criar a Web Semântica (2)
Para que os dados sejam bem definidos, devem ser
colocados em contexto pela adição de metadados.
Metadados contêm a “semântica” dos dados aos
quais se referem
– graças a eles podemos esperar que o computador
saiba o que fazer com o dado
O que são metadados?
metadados?
São dados.
Mas são dados que fazem referencia a outros dados
– dados sobre dados
São destinados ao consumo por máquinas.
Exemplo de metadados (1)
5353 1234 5678 5353
O dado acima anotado num pedaço de papel fica
sem sentido até para um humano
Exemplo de metadados (2)
Um computador não sabe restabelecer contexto de
forma implícita
O papel do metadado é dar informação a máquina
sobre o contexto de uma forma que ela possa usar:
Número de cartão de
crédito de Maria
5252 1234 5678 5353 Azevedo
Metadados em Html
<html> Metadado
<head>
<title>Meu CV</title>
</head>
<body>
<h1>Meu CV</h1> Não é Metadado
<h2>Dados para contato</h2>
…
</body>
</html>
Metadados em Html
A grande maioria dos tags em html define a
aparência do documento.
– Orientam o computador sobre como representar o
conteúdo na tela.
Não dão nenhum auxílio sobre o sentido/finalidade
do conteúdo.
Alguns tags na seção <head> fazem este papel de
metadado
– Mas são pouco e mal usados
– E têm um poder limitado
XML em 3 minutos
um documento XML é um arquivo texto estruturado em blocos
delimitados por pares de tags:
– <nome> … </nome>
– <preço> … </preço>
Estes blocos podem conter outros blocos ou podem conter
dados não-estruturados (texto)
Todo tag tem que ser fechado pelo tag correspondente
Um tag pode conter outro(s) completamente mas não:
<nome>
<preço>
</nome>
</preço>
XML vs. HTML
vs.
Estrutura geral:
– Ambos usam pares de tags para marcar inicio e fim de
blocos.
Tags possíveis:
– HTML tem um conjunto de tags predefinido
– XML permite que você crie seus próprios tags
Finalidade:
– HTML define o aspecto visual do documento
– XML revela a estrutura lógica interna do documento
estruturando este em forma hierárquica. Cada ponto desta
hierarquia é endereçável.
XML Schema
XML Schema permite restrições adicionais sobre um
documento:
– define os tags que são válidos
– define regras de validade para o conteúdo de cada tag
• O tag <festa> deve conter
– exatamente um tag <local>
– 10 ou mais tags <convidado>
• O tag <convidado> deve conter
– exatamente um tag <nome>
– ou um tag <telefone_fixo> ou um tag <telefone_cel>
…
Define uma estrutura de dados
Da para fazer a Web
Semântica só com XML?
Isto é como uma maquina enxerga uma pagina web escrita em
qualquer linguagem natural
XML ajuda
XML permite que o texto seja balisado/estruturado por sinais faceis
de interpretar por um computador (os tags)
<nome>
<contatos>
<cv>
<formacao>
<experiencia>
Mas não resolve porque …
os tags sao enxergados assim pelo computador
< ναµε >
<εδυχατιον>
<Χς>
<ωορκ>
<πριϖατε>
XML Schema ajuda um pouco
mais
ναµε
< name >
ναµε
< name >
<εδυχατιον>
< education>
<εδυχατιον>
< education>
Χς
< CV >
<ωορκ>
< work>
Χς
< CV >
<ωορκ>
< work>
<πριϖατε>
< private >
<πριϖατε>
< private >
< Χς >
<πριϖατε>
… ja que identificam as partes correspondentes de documentos
de uma determinada classe
Mas podem existir variações
de esquemas
Outra pessoa usa tags diferentes para um CV
<name>
<contatos>
<curiculo>
<titulacao>
<trabalhos>
XML e XML Schema definem a
sintaxe de um documento
<ναµε>
<εδυχατιον>
<Χς>
<ωορκ>
<πριϖατε>
Mas não define a semântica
Mas não define a semântica
Sintaxe vs Semântica
Sintaticamente correta mas com semântica anômala:
– Idéias verdes e descoloridas dormem
furiosamente (Noam Chomsky)
– Ela chegou durante uma hora
Sentido por conexão
O sentido se estabelece através de relações entre as
coisas
Só podemos definir formalmente o sentido de uma
palavra usando outras palavras
URLs é a cola que mantém a Web atual junta
Web Semântica usa como cola algo mais geral: URIs
URIs
Uniform Resource Identifier
Generalização do conceito de URL
E uma forma globalizada de dar um nome para as
coisas
Uma URL ou um endereço email são únicos
Podem fazer o papel de chave primaria
URIs (2)
Uma URL dá acesso a um recurso pela Internet (um
documento, uma imagem, uma musica, …)
Uma URI não garante que haja algo interessante na
outra ponta do link
Ela pode ser simplesmente uma forma de se referir a
algo que só pode existir fora da Internet
– por exemplo:
http://www.topicmaps.org/xtm/1.0/language.xtm#de
e usado para se referir a língua portuguesa
Resource Description
Framework (RDF)
serve para representar metadados sobre recursos da web:
– titulo, autor e ultima modificação de uma pagina Web
– copyright e informação sobre a licença de uso de uma foto
na Web
mas pode ser usado também para representar informações
sobre coisas que:
– podem ser identificadas pela Web
– não podem ser obtidas pela Web
por exemplo, para adicionar informações sobre itens que
podem ser comprados numa loja on-line (preço,
disponibilidade,…) ou sobre pessoas (email,interesses,…)
RDF
RDF permite construir enunciados do tipo:
– sujeito S tem o valor V para a propriedade P
– triplas (P,S,V)
• S é o recurso, P e V juntos descrevem S
Um exemplo:
– (autor,http://www.example.org/index.html,Pedro)
RDF com URIs
RDF usa URIs para diminuir a ambigüidade
– (autor,http://www.abc.org/index.html,Pedro)
http://purl.org/DC#Creator
http://purl.org/DC#Creator
http://www.abc.org/prof/pedro
http://www.abc.org/prof/pedro
Representação em grafo
http://www.abc.org/index.html
http://www.abc.org/index.html
http://purl.org/DC#Creator
http://purl.org/DC#Creator
http://www.abc.org/prof/pedro/
http://www.abc.org/prof/pedro/
DCMI (Dublin Core Metadata
Initiative)
Initiative)
Title Type
Creator Format
Subject Identifier
Description Source
Publisher Language
Contributor Relation
Date Coverage
Rights
Dublin Core
Exemplo de uso do Dublin Core
<? xml version=\"1.0\" ?>
<RDF xmlns = http://w3.org/TR/1999/PR-rdf-syntax-19990105#
xmlns:DC = \"http://purl.org/DC#\">
<Description about = \"http://dstc.com.au/report.html\">
<DC:Title>The Future of Metadata</DC:Title>
<DC:Creator>Jacky Crystal </DC:Creator>
<DC:Date>1998-01-01 </DC:Date>
<DC:Subject>Metadata, RDF, Dublin Core</DC:Subject>
</Description>
</RDF>
O projeto FOAF (Friend OF A
(Friend
Friend)
Friend)
Objetivo:
criar uma web interpretável por máquinas de
homepages que descrevam:
– pessoas
– as relações entre elas
– as coisas que elas criam e fazem
Elementos do FOAF
FOAF Basics Personal Info Projects and Groups
Agent weblog Project
Person knows Organization
name interest Group
nick currentProject member
title pastProject membershipClass
homepage plan fundedBy
mbox based_near theme
mbox_sha1sum workplaceHomepage
img workInfoHomepage
depiction schoolHomepage
surname topic_interest
family_name publications
givenname dnaChecksum
firstName
Uma falha do RDF
RDF usa como sujeitos:
– recursos da web
• web pages, imagens, …
– coisas que podem ser identificadas na web mas
que não estão na web:
• ex: um produto usando uma url que descreva o produto
Mas em certos casos, haverá ambigüidade:
– enunciado rdf onde a pagina web que dá as
especificações de um produto
– o enunciado se refere à pagina ou ao produto?
Ontologias
Logica
Logica
Ontologias
Ontologias
RDF
RDF
XML + XML Schema
Unicode URI
O que é uma ontologia?
Em filosofia, ontologia é o estudo dos tipos de coisas
que existem
– Tentativas por Aristóteles de classificar as coisas
do mundo
“Onto” vem de uma palavra grega que significa
existência, ser
O que é uma ontologia? (2)
Uma ontologia define, para uma determinada área de
conhecimento,
– os termos básicos
– as relações entre os termos desta área
– as regras para combinar termos em relações de forma
definir extensões do vocabulário
O que é uma ontologia? (3)
tuder(98)
Uma especificação explicita e formal de uma conceitualização compartilhada
Manipulavel Conhecimento
por maquina concensual
Conceitos, propriedades, Um modelo abstrato
funções, axiomas de algum fenomeno
são definidos do mundo
explicitamente
Por que desenvolver uma
ontologia?
Para compartilhar uma compreensão da estrutura de
certo tipo de informação entre pessoas e agentes de
software
Para permitir a reciclagem do conhecimento em um
domínio
Para explicitar suposições/hipóteses feitas sobre um
domínio
Para analisar o conhecimento de um domínio
Elementos de uma ontologia
Conceitos (classes) e suas hierarquias
Propriedades dos conceitos (slots/atributos)
Restrições sobre as propriedades (tipo, cardinalidade,
domínio)
Relações entre conceitos (disjunto, equivalência)
Instancias
Etapas da construção de uma
ontologia
Domínio: geografia
Aplicação: agente planificador de rotas
Possíveis perguntas:
– Qual é a distancia 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?
Enumeração dos termos
Enumeração
importantes
cidade capital
Conexao_por_terra
país
fronteira estrada
conexao_por_trem
conexao_maritima
moeda conexao_area
conexao
Definição de classes e da
Definição
hierarquia de classes
Definição de slots
Definição
ponto_inicio
ElementoGeografico Conexao
ponto_final
Pais tem_capital Cidade
faz_fronteira_com e_capital_de
Capital
• cardinalidade do slot
Ex: faz_fronteira_com multiplo, ponto_inicio unico
• tipo de valor do slot
Ex: faz_fronteira_com Pais
Questões relacionadas com
Questões
slots
- slot inverso (redundante, mas explicito)
tem_capital
Pais Capital
e_capital_de
-slots simetricos
Ex. A faz_fronteira_com B B faz_fronteira_com A
-slots transitivos
A.conexao(B)
B.conexao(C) A.conexao(C)
Ferramentas para ontologias:
Protégé
Camadas da Web Semântica
Logica
Logica
Ontologias
Ontologias
RDF
RDF
XML + XML Schema
Unicode URI
Conclusão
a Web Semântica é uma tentativa de construir um
edifício complexo que permita que os computadores
nos auxiliem melhor no uso e na filtragem da
informação
Objetivo ambicioso
Esforço na produção de metadados
Padronização de vocabulários
Massa critica necessaria
Formalismos complexos vão ser necessárias boas
ferramentas para auxiliar na criação destes
metadados
Enquanto isso, na Nasa …
Outras Webs
Outras Webs Antes do coquetel
Antes do coquetel
sao estudadas
sao estudadas
estimulante ((benzedrine)
estimulante benzedrine) cafeina
cafeina soniferos
soniferos
LSD
LSD maconha
maconha mescalina
mescalina
0 comments
Post a comment