Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

53
Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux Ferramentas da Web Semântica Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Aplicadas à Gestão do Conhecimento Ligado ao Ligado ao Linux Linux Guillaume Barreau UFBA [email protected]

Transcript of Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Page 1: 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

[email protected]

Page 2: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 3: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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”

Page 4: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 5: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 6: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 7: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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)

Page 8: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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.

Page 9: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 10: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 11: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 12: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 13: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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>

Page 14: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

<?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

Page 15: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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.

Page 16: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 17: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 18: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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>

Page 19: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Mas não resolve porque …Mas não resolve porque …Mas não resolve porque …

os tags sao enxergados assim pelo computador

<Χς>

< ναµε >

<εδυχατιον>

<ωορκ>

<πριϖατε>

Page 20: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

<πριϖατε>

Page 21: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 22: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 23: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 24: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 25: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 26: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 27: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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,…)

Page 28: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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)

Page 29: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 30: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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//

Page 31: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

DCMI (Dublin Core MetadataInitiative)DCMI (Dublin CoreDCMI (Dublin Core Metadata MetadataInitiativeInitiative))

TitleCreatorSubjectDescriptionPublisherContributorDate

TypeFormatIdentifierSourceLanguageRelationCoverageRights

Page 32: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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>

Page 33: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 34: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

FOAF BasicsAgentPersonnamenicktitlehomepagemboxmbox_sha1sumimgdepictionsurnamefamily_namegivennamefirstName

Personal InfoweblogknowsinterestcurrentProjectpastProjectplanbased_nearworkplaceHomepageworkInfoHomepageschoolHomepagetopic_interestpublicationsdnaChecksum

Elementos do FOAFElementos do FOAFElementos do FOAF

Projects and GroupsProjectOrganizationGroupmembermembershipClassfundedBytheme

Page 35: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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>

Page 36: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Dublin Core e FOAFDublin Core e FOAFDublin Core e FOAF

Page 37: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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?

Page 38: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

OntologiasOntologiasOntologias

XML + XML SchemaXML + XML Schema

RDFRDFRDF

OntologiasOntologiasOntologias

URIURIUnicodeUnicode

LogicaLogicaLogica

Page 39: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 40: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 41: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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)

Page 42: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 43: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 44: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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?

Page 45: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 46: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Definição de classes e dahierarquia de classesDefiniDefiniçãção de classes e dao de classes e dahierarquia de classeshierarquia de classes

Page 47: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

• 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

Page 48: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

-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

Page 49: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Ferramentas para ontologias:ProtégéFerramentas para ontologias:Ferramentas para ontologias:ProtégéProtégé

Page 50: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Camadas da Web SemânticaCamadas da Web SemânticaCamadas da Web Semântica

XML + XML SchemaXML + XML Schema

RDFRDFRDF

OntologiasOntologiasOntologias

URIURIUnicodeUnicode

LogicaLogicaLogica

Page 51: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

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

Page 52: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Enquanto isso, naEnquanto isso, na Nasa Nasa … …

Page 53: Ferramentas da Web Semântica Aplicadas à Gestão do Conhecimento Ligado ao Linux

Outras Webssao estudadasOutrasOutras Webs Webssao estudadassao estudadas

Antes do coquetelAntes doAntes do coquetel coquetel

soniferossoniferossoniferoscafeinacafeinacafeinaestimulante (benzedrine)estimulanteestimulante ( (benzedrinebenzedrine))

LSDLSDLSD mescalinamescalinamescalinamaconhamaconhamaconha