Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux
-
Upload
elliando-dias -
Category
Technology
-
view
2.183 -
download
0
Transcript of Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux
Ferramentas da Web SemânticaAplicadas à Gestão do Conhecimento
Ligado ao Linux
Ferramentas da Web SemânticaFerramentas da Web SemânticaAplicadas à Gestão do ConhecimentoAplicadas à Gestão do Conhecimento
Ligado aoLigado ao Linux Linux
Guillaume BarreauUFBA
MotivaçãoMotivaçãoMotivação
Em 10 anos, a Web revolucionou o nosso conceito deinformaçã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)Motivação (2)Motivação (2)
Outra revolução dos anos 90: Linux e o software livreMuita informação disponívelExperiência pessoal configurando Linux– Quem busca (muito), encontra– Ideal seria poder perguntar:
• “Quero todos as soluções ao problema X na instalaçãodo hardware Y”
… e melhor ainda• “Ordene estas soluções em função da similaridade com
a configuração do meu sistema”
Estrutura da palestraEstrutura da palestraEstrutura da palestra
MotivaçãoVisã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?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 entrecomputadores e pessoas.
Web AtualWeb AtualWeb Atual
A informação só pode serapresentada na tela paraleitura por um humano.
A informação só pode serapresentada na tela paraleitura por um humano.
Web SemânticaWeb SemânticaWeb Semântica
A informação esta estruturada detal forma que máquinas possam a“entender” e usa-la de algum jeito
A informação esta estruturada detal forma que máquinas possam a“entender” e usa-la de algum jeito
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 pormáquinas– uma inteligência artificial mágica que, de repente,
vai permitir que as máquinas entendam aselucubrações humanas? Não!
Deve se apoiar na habilidade de uma máquinaresolver problemas bem definidos, usando dadosbem definidos.– Mais trabalho na elaboração dos dados– Esforços de padronização
Para que os dados sejam bem definidos, devem sercolocados em contexto pela adição de metadados.
Metadados contêm a “semântica” dos dados aosquais 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)
O que são metadados?O que sãoO 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)Exemplo deExemplo de metadados metadados (1) (1)
5353 1234 5678 5353O dado acima anotado num pedaço de papel ficasem sentido até para um humano
Exemplo de metadados (2)Exemplo deExemplo de metadados metadados (2) (2)
Um computador não sabe restabelecer contexto deforma implícita
O papel do metadado é dar informação a máquinasobre o contexto de uma forma que ela possa usar:
5252 1234 5678 5353
Número de cartão decrédito de Maria
Azevedo
Metadados em HtmlMetadadosMetadados em em Html Html
<html> <head> <title>Meu CV</title> </head> <body> <h1>Meu CV</h1> <h2>Dados para contato</h2>
… </body></html>
Metadado
Não é Metadado
Metadados em HtmlMetadadosMetadados em em Html Html
A grande maioria dos tags em html define aaparência do documento.– Orientam o computador sobre como representar o
conteúdo na tela.Não dão nenhum auxílio sobre o sentido/finalidadedo conteúdo.Alguns tags na seção <head> fazem este papel demetadado– Mas são pouco e mal usados– E têm um poder limitado
XML em 3 minutosXML em 3 minutosXML em 3 minutos
um documento XML é um arquivo texto estruturado em blocosdelimitados por pares de tags:– <nome> … </nome>– <preço> … </preço>
Estes blocos podem conter outros blocos ou podem conterdados não-estruturados (texto)Todo tag tem que ser fechado pelo tag correspondenteUm tag pode conter outro(s) completamente mas não: <nome> <preço> </nome> </preço>
<?xml version="1.0"?><Encomenda> <Cliente> < PrimeiroNome >Luiz</PrimeiroNome> < UltimoNome >Silva</ UltimoNome > </Cliente> <Preco>3</Preco> <Moeda>Reais</Moeda></Encomenda>
PrimeiroNome
Encomenda
Cliente
UltimoNome
Preço Moeda
XML: exemploXML: exemploXML: exemplo
XML vs. HTMLXMLXML vs vs. 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 destahierarquia é endereçável.
XML SchemaXMLXML Schema Schema
XML Schema permite restrições adicionais sobre umdocumento:– 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 WebSemântica só com XML?Da para fazer a WebDa para fazer a WebSemântica só com XML?Semântica só com XML?
Isto é como uma maquina enxerga uma pagina web escrita emqualquer linguagem natural
XML ajudaXML ajudaXML ajuda
XML permite que o texto seja balisado/estruturado por sinais faceisde interpretar por um computador (os tags)
<contatos>
<cv><formacao>
<experiencia>
<nome>
Mas não resolve porque …Mas não resolve porque …Mas não resolve porque …
os tags sao enxergados assim pelo computador
<Χς>
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
XML Schema ajuda um poucomaisXMLXML Schema Schema ajuda um pouco ajuda um poucomaismais
CV
name
education
work
private
< >
< >
< >
< >
< >
< Χς >
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
CV
name
education
work
private
< >
< >
< >
< >
< >
< Χς >
< ναµε >
<εδυχατιον>
<ωορκ>
<πριϖατε>
< Χς >
… ja que identificam as partes correspondentes de documentos de uma determinada classe
<πριϖατε>
Mas podem existir variaçõesde esquemasMas podem existir variaçõesMas podem existir variaçõesde esquemasde esquemas
<curiculo>
<name>
<contatos>
<titulacao>
<trabalhos>
Outra pessoa usa tags diferentes para um CV
XML e XML Schema definem asintaxe de um documentoXML e XMLXML e XML Schema Schema definem a definem asintaxe de um documentosintaxe de um documento
<Χς>
<ναµε>
<εδυχατιον>
<ωορκ>
<πριϖατε>
Mas não define a semânticaMas não define a semântica
Sintaxe vs SemânticaSintaxeSintaxe vs vs Semântica 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ãoSentido por conexãoSentido por conexão
O sentido se estabelece através de relações entre ascoisasSó podemos definir formalmente o sentido de umapalavra usando outras palavrasURLs é a cola que mantém a Web atual juntaWeb Semântica usa como cola algo mais geral: URIs
URIsURIsURIs
Uniform Resource IdentifierGeneralização do conceito de URLE uma forma globalizada de dar um nome para ascoisasUma URL ou um endereço email são únicosPodem fazer o papel de chave primaria
URIs (2)URIsURIs (2) (2)
Uma URL dá acesso a um recurso pela Internet (umdocumento, uma imagem, uma musica, …)Uma URI não garante que haja algo interessante naoutra ponta do linkEla pode ser simplesmente uma forma de se referir aalgo que só pode existir fora da Internet– por exemplo:
http://www.topicmaps.org/xtm/1.0/language.xtm#dee usado para se referir a língua portuguesa
Resource DescriptionFramework (RDF)Resource DescriptionResource DescriptionFrameworkFramework (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 Webmas pode ser usado também para representar informaçõessobre coisas que:– podem ser identificadas pela Web– não podem ser obtidas pela Web
por exemplo, para adicionar informações sobre itens quepodem ser comprados numa loja on-line (preço,disponibilidade,…) ou sobre pessoas (email,interesses,…)
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)
RDF com URIsRDF comRDF com URIs URIs
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
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//
DCMI (Dublin Core MetadataInitiative)DCMI (Dublin CoreDCMI (Dublin Core Metadata MetadataInitiativeInitiative))
TitleCreatorSubjectDescriptionPublisherContributorDate
TypeFormatIdentifierSourceLanguageRelationCoverageRights
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>
O projeto FOAF (Friend OF AFriend)O projeto FOAF (O projeto FOAF (FriendFriend OF A OF AFriendFriend))
Objetivo:criar uma web interpretável por máquinas dehomepages que descrevam:– pessoas– as relações entre elas– as coisas que elas criam e fazem
FOAF BasicsAgentPersonnamenicktitlehomepagemboxmbox_sha1sumimgdepictionsurnamefamily_namegivennamefirstName
Personal InfoweblogknowsinterestcurrentProjectpastProjectplanbased_nearworkplaceHomepageworkInfoHomepageschoolHomepagetopic_interestpublicationsdnaChecksum
Elementos do FOAFElementos do FOAFElementos do FOAF
Projects and GroupsProjectOrganizationGroupmembermembershipClassfundedBytheme
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:[email protected]" /> <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>
Dublin Core e FOAFDublin Core e FOAFDublin Core e FOAF
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?
OntologiasOntologiasOntologias
XML + XML SchemaXML + XML Schema
RDFRDFRDF
OntologiasOntologiasOntologias
URIURIUnicodeUnicode
LogicaLogicaLogica
O que é uma ontologia?O que O que éé uma ontologia? uma ontologia?
Em filosofia, ontologia é o estudo dos tipos de coisasque existem– Tentativas por Aristóteles de classificar as coisas
do mundo“Onto” vem de uma palavra grega que significaexistência, ser
O que é uma ontologia? (2)O que O que éé uma ontologia? (2) uma ontologia? (2)
Uma ontologia define, para uma determinada área deconhecimento,– 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
Studer(98)
Manipulavelpor maquina
Conceitos, propriedades,funções, axiomas são definidosexplicitamente
Conhecimentoconcensual
Um modelo abstratode algum fenomenodo mundo
Uma especificação explicita e formal de uma conceitualização compartilhada
O que é uma ontologia? (3)O que O que éé uma ontologia? uma ontologia? (3) (3)
Por que desenvolver umaontologia?PorPor que desenvolver umaque desenvolver umaontologia?ontologia?
Para compartilhar uma compreensão da estrutura decerto tipo de informação entre pessoas e agentes desoftwarePara permitir a reciclagem do conhecimento em umdomínioPara explicitar suposições/hipóteses feitas sobre umdomínioPara analisar o conhecimento de um domínio
Elementos de uma ontologiaElementos de uma ontologiaElementos de uma ontologia
Conceitos (classes) e suas hierarquiasPropriedades 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 umaontologiaEtapas da construção de umaEtapas da construção de umaontologiaontologia
Domínio: geografiaAplicaçã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?
país
cidade capital
fronteira
conexao
Conexao_por_terra
conexao_area
conexao_maritima
estrada
conexao_por_trem
moeda
Enumeração dos termosimportantesEnumeraEnumeraçãção dos termoso dos termosimportantesimportantes
Definição de classes e dahierarquia de classesDefiniDefiniçãção de classes e dao de classes e dahierarquia de classeshierarquia de classes
• cardinalidade do slotEx: faz_fronteira_com multiplo, ponto_inicio unico
• tipo de valor do slotEx: faz_fronteira_com Pais
ElementoGeografico
Pais Cidadetem_capital
e_capital_defaz_fronteira_com
Conexaoponto_final
ponto_inicio
Capital
Definição de slotsDefiniDefiniçãção de slotso de slots
-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)
Paistem_capital
e_capital_de
Capital
Questões relacionadas comslotsQuestQuestõões relacionadas comes relacionadas comslotsslots
Ferramentas para ontologias:ProtégéFerramentas para ontologias:Ferramentas para ontologias:ProtégéProtégé
Camadas da Web SemânticaCamadas da Web SemânticaCamadas da Web Semântica
XML + XML SchemaXML + XML Schema
RDFRDFRDF
OntologiasOntologiasOntologias
URIURIUnicodeUnicode
LogicaLogicaLogica
ConclusãoConclusãoConclusão
a Web Semântica é uma tentativa de construir umedifício complexo que permita que os computadoresnos auxiliem melhor no uso e na filtragem dainformaçãoObjetivo ambiciosoEsforço na produção de metadadosPadronização de vocabuláriosMassa critica necessariaFormalismos complexos vão ser necessárias boasferramentas para auxiliar na criação destesmetadados
Enquanto isso, naEnquanto isso, na Nasa Nasa … …
Outras Webssao estudadasOutrasOutras Webs Webssao estudadassao estudadas
Antes do coquetelAntes doAntes do coquetel coquetel
soniferossoniferossoniferoscafeinacafeinacafeinaestimulante (benzedrine)estimulanteestimulante ( (benzedrinebenzedrine))
LSDLSDLSD mescalinamescalinamescalinamaconhamaconhamaconha