Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux
1. Ferramentas da Web Semântica
Aplicadas à Gestão do Conhecimento
Ligado ao Linux
Ferramentas da Web SemânticaFerramentas da Web Semântica
Aplicadas à Gestão do ConhecimentoAplicadas à Gestão do Conhecimento
Ligado aoLigado ao LinuxLinux
Guillaume Barreau
UFBA
gui@im.ufba.br
2. MotivaçãoMotivaçãoMotivaçã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
3. Motivação (2)Motivação (2)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”
4. Estrutura da palestraEstrutura da palestraEstrutura 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
5. O que é a Web Semântica?O que é a Web Semântica?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 AtualWeb AtualWeb Atual
A informação só pode ser
apresentada na tela para
leitura por um humano.
A informação só pode ser
apresentada na tela para
leitura por um humano.
Web SemânticaWeb SemânticaWeb Semântica
A informação esta estruturada de
tal forma que máquinas possam a
“entender” e usa-la de algum jeito
A informação esta estruturada de
tal forma que máquinas possam a
“entender” e usa-la de algum jeito
6. O que é a Web Semântica? (2)O que é a Web Semântica? (2)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
7. 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
Como criar a Web Semântica (2)Como criar a Web Semântica (2)Como criar a Web Semântica (2)
8. O que são metadados?O que sãoO que são metadadosmetadados??
São dados.
Mas são dados que fazem referencia a outros dados
– dados sobre dados
São destinados ao consumo por máquinas.
9. Exemplo de metadados (1)Exemplo deExemplo de metadadosmetadados (1)(1)
5353 1234 5678 5353
O dado acima anotado num pedaço de papel fica
sem sentido até para um humano
10. Exemplo de metadados (2)Exemplo deExemplo de metadadosmetadados (2)(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:
5252 1234 5678 5353
Número de cartão de
crédito de Maria
Azevedo
11. Metadados em HtmlMetadadosMetadados emem HtmlHtml
<html>
<head>
<title>Meu CV</title>
</head>
<body>
<h1>Meu CV</h1>
<h2>Dados para contato</h2>
…
</body>
</html>
Metadado
Não é Metadado
12. Metadados em HtmlMetadadosMetadados emem HtmlHtml
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
13. XML em 3 minutosXML em 3 minutosXML 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>
15. XML vs. HTMLXMLXML vsvs. HTML. HTML
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.
16. XML SchemaXMLXML SchemaSchema
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
17. Da para fazer a Web
Semântica só com XML?
Da para fazer a WebDa para fazer a Web
Semântica só com XML?Semântica só com XML?
Isto é como uma maquina enxerga uma pagina web escrita em
qualquer linguagem natural
18. XML ajudaXML ajudaXML ajuda
XML permite que o texto seja balisado/estruturado por sinais faceis
de interpretar por um computador (os tags)
<contatos>
<cv>
<formacao>
<experiencia>
<nome>
19. Mas não resolve porque …Mas não resolve porque …Mas não resolve porque …
os tags sao enxergados assim pelo computador
<Χς>
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
20. XML Schema ajuda um pouco
mais
XMLXML SchemaSchema ajuda um poucoajuda um pouco
maismais
CV
name
education
work
private
< >
< >
< >
< >
< >
< Χς >
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
CV
name
education
work
private
< >
< >
< >
< >
< >
< Χς >
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
< Χς >
… ja que identificam as partes correspondentes de documentos
de uma determinada classe
<πριϖατε>
21. Mas podem existir variações
de esquemas
Mas podem existir variaçõesMas podem existir variações
de esquemasde esquemas
<curiculo>
<name>
<contatos>
<titulacao>
<trabalhos>
Outra pessoa usa tags diferentes para um CV
22. XML e XML Schema definem a
sintaxe de um documento
XML e XMLXML e XML SchemaSchema definem adefinem a
sintaxe de um documentosintaxe de um documento
<Χς>
<ναµε>
<εδυχατιον>
<ωορκ>
<πριϖατε>
Mas não define a semânticaMas não define a semântica
23. Sintaxe vs SemânticaSintaxeSintaxe vsvs SemânticaSemântica
Sintaticamente correta mas com semântica anômala:
– Idéias verdes e descoloridas dormem
furiosamente (Noam Chomsky)
– Ela chegou durante uma hora
24. Sentido por conexãoSentido por conexãoSentido 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
26. URIs (2)URIsURIs (2)(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
27. Resource Description
Framework (RDF)
Resource DescriptionResource Description
FrameworkFramework (RDF)(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,…)
28. RDFRDFRDF
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)
29. RDF com URIsRDF comRDF com URIsURIs
RDF usa URIs para diminuir a ambigüidade
– (autor,http://www.abc.org/index.html,Pedro)
http://www.abc.org/prof/pedrohttp://www.abc.org/prof/pedro
http://purl.org/DC#Creatorhttp://purl.org/DC#Creator
30. Representação em grafoRepresentação em grafoRepresentação em grafo
http://purl.org/DC#Creatorhttp://purl.org/DC#Creator
http://www.abc.org/index.htmlhttp://www.http://www.abcabc.org/index.html.org/index.html
http://www.abc.org/prof/pedro/http://www.http://www.abcabc.org/.org/profprof//pedropedro//
31. DCMI (Dublin Core Metadata
Initiative)
DCMI (Dublin CoreDCMI (Dublin Core MetadataMetadata
InitiativeInitiative))
Title
Creator
Subject
Description
Publisher
Contributor
Date
Type
Format
Identifier
Source
Language
Relation
Coverage
Rights
32. Dublin CoreDublin CoreDublin 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>
33. O projeto FOAF (Friend OF A
Friend)
O projeto FOAF (O projeto FOAF (FriendFriend OF AOF A
FriendFriend))
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
35. Exemplo de arquivo FOAFExemplo de arquivo FOAFExemplo de arquivo FOAF
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<foaf:Person>
<foaf:name>Edd Dumbill</foaf:name>
<foaf:mbox rdf:resource="mailto:edd@xml.com" />
<foaf:nick>edd</foaf:nick>
<foaf:workplacehomepage rdf:resource="http://xml.com/" />
<foaf:depiction
rdf:resource="http://heddley.com/edd-shoulders.jpg" />
</foaf:Person>
</rdf:RDF>
36. Dublin Core e FOAFDublin Core e FOAFDublin Core e FOAF
37. Uma falha do RDFUma falha do RDFUma 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?
39. O que é uma ontologia?O queO que éé uma ontologia?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
40. O que é uma ontologia? (2)O queO que éé uma ontologia? (2)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
41. Studer(98)
Manipulavel
por maquina
Conceitos, propriedades,
funções, axiomas
são definidos
explicitamente
Conhecimento
concensual
Um modelo abstrato
de algum fenomeno
do mundo
Uma especificação explicita e formal de uma conceitualização compartilhada
O que é uma ontologia? (3)O queO que éé uma ontologia?uma ontologia? (3)(3)
42. Por que desenvolver uma
ontologia?
PorPor que desenvolver umaque desenvolver uma
ontologia?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
43. Elementos de uma ontologiaElementos de uma ontologiaElementos 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
44. Etapas da construção de uma
ontologia
Etapas da construção de umaEtapas da construção de uma
ontologiaontologia
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?
46. Definição de classes e da
hierarquia de classes
DefiniDefiniçãção de classes e dao de classes e da
hierarquia de classeshierarquia de classes
47. • cardinalidade do slot
Ex: faz_fronteira_com multiplo, ponto_inicio unico
• tipo de valor do slot
Ex: faz_fronteira_com Pais
ElementoGeografico
Pais Cidadetem_capital
e_capital_defaz_fronteira_com
Conexao
ponto_final
ponto_inicio
Capital
Definição de slotsDefiniDefiniçãção de slotso de slots
48. -slots transitivos
A.conexao(B)
B.conexao(C) A.conexao(C)
-slots simetricos
Ex. A faz_fronteira_com B B faz_fronteira_com A
- slot inverso (redundante, mas explicito)
Pais
tem_capital
e_capital_de
Capital
Questões relacionadas com
slots
QuestQuestõões relacionadas comes relacionadas com
slotsslots
50. Camadas da Web SemânticaCamadas da Web SemânticaCamadas da Web Semântica
XML + XML SchemaXML + XML Schema
RDFRDFRDF
OntologiasOntologiasOntologias
URIURIUnicodeUnicode
LogicaLogicaLogica
51. ConclusãoConclusãoConclusã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