Ontologias e sua utilização em aplicações semânticas - UFF - CASI - 2014
Uma introdução aos conceitos da web semântica, mostrando conceitos de construção de uma Ontologia, apresentando o Schema.org e mostrando cases de sucesso de tais tecnologias.
6. Web atual
‣ Apresentação dos conteúdos
‣ Formatação, não significado (HTML)
‣ Pouco ou nenhuma estruturação
Monday, April 14, 14
7. Multimídia
‣ Vários elementos na página
‣ Fotos, vídeos e animações
‣ Qual a relação entre eles?
‣ Quem é mencionado no texto?
‣ Quem, Quando, Onde...
Monday, April 14, 14
20. Web Semântica
“Interliga significados de palavras e, neste âmbito, tem
como finalidade conseguir atribuir um significado
(sentido) aos conteúdos publicados na Internet de modo
que seja perceptível tanto pelo humano como pelo
computador.”
Wikipedia
Monday, April 14, 14
21. Sintaxe ≠ Semântica
‣ Sintaxe é como você diz algo
‣ Semântica é o que algo significa
Monday, April 14, 14
23. “Sonho”
“I have a dream for the web in which computers
become capable of analyzing all the data on the web -
the content, links, and transactions between people and
computers.”
Tim Berners-Lee
Monday, April 14, 14
25. Globo.com
‣ Esportes, Jornalismo, Entretenimento,Tecnologia, etc..
‣ + 2 mil novas matérias por dia
‣ + 15 milhões de usuarios diferentes todo dia
Monday, April 14, 14
49. OpenGraph
‣ Grafo de ações dos usuários
‣ Vocabulário definido
‣ Meta dados no HTML
‣ Inspirado no Dublin Core, RDFa, link-rel canonical
Monday, April 14, 14
61. Ações
‣ Anotação e indexação do conteúdo baseado em
indivíduos
‣ Ontologia pública
‣ Interligação com repositórios de dados externos
‣ Usando schema.org e opengraph
Monday, April 14, 14
68. Ações
‣ Ontologias públicas
‣ Inteligação com repositórios de dados externos
‣ Criação de categorias e agregadores úteis
‣ Grande embaixador da Web Semântica
Monday, April 14, 14
76. Resultados
‣ + 30% em tráfego de motores de busca
‣ +15% em taxas de cliques noYahoo!
‣ Aumento significativo no Google PageRank
Monday, April 14, 14
78. Definição
“Uma ontologia é um modelo de dados que representa
um conjunto de conceitos dentro de um domínio e os
relacionamentos entre eles”
Wikipedia
Monday, April 14, 14
80. Redes Semânticas
‣ OWL e Orientação a objetos
‣ Primeiro formalismo de IA - Anos 70
‣ Gênese das linguagens de programação
‣ UML representam redes semânticas
Monday, April 14, 14
82. Redes Semânticas
‣ Nós representam entidades e links (predicados)
‣ Relações
‣ a-kind-of
‣ is-a
‣ has-a
‣ part-of
Monday, April 14, 14
83. Conhecimento Único
‣ Menor risco de duplicidade dos dados
‣ Simplificação do uso e da manutenção dos dados
‣ Agilidade na recuperação dos dados
Monday, April 14, 14
84. Construção
‣ Identificar os indivíduos (exemplares)
‣ Descrever seus atributos
‣ Agrupar os indivíduos em classes (conceitos)
‣ Enumerar as relações entre indivíduos
‣ Definir regras sobre atributos e relações
Monday, April 14, 14
85. Desenvolvimento
Determinar
domínio e espcopo
Considerar reuso
de ontologias
Enumerar termos
importantes
Definir classes e
hierarquias
Definir
propriedades de
classes
Definir restrições
de propriedades
Criar instâncias da
ontologia
Ontology Development 101
Monday, April 14, 14
86. OWL
‣ Web Ontology Language
‣ Formaliza um domínio de conhecimento
‣ Define indivíduos (instâncias)
‣ Infere informações de um DataSet
Monday, April 14, 14
87. RDF
‣ Resource description framework
‣ Modelo baseado em triplas
‣ Você já usou RDF: RSS
‣ Padrão W3C
‣ É muito próximo a como escrevemos uma frase
Monday, April 14, 14
95. DBPedia
Pessoas 763 mil
Lugares 572 mil
Organizações 192 mil
Outros
+2.240
milhões
DBPedia em Inglês - Março/2014
Monday, April 14, 14
96. Linked Data
‣ Use URI para descrever coisas (things)
‣ Use HTTP URIs para pessoas e computadores
‣ Forneça informações úteis, usando padrões RDF
‣ Inclua links para outras coisas relacionadas
Tim Berners-Lee
Monday, April 14, 14
97. Linked Data
‣ Use URI para descrever coisas (things)
‣ Use HTTP URIs para pessoas e computadores
‣ Forneça informações úteis, usando padrões RDF, SPARQL
‣ Inclua links para outras coisas relacionadas
Tim Berners-Lee
Monday, April 14, 14
99. LOD
‣ Uso geral
‣ DBPedia
‣ FreeBase
‣ Domínios específicos
‣ GeoNames
‣ MusicBrainz
‣ Sites com autoridades sobre o domínio
Monday, April 14, 14
100. Classes - owl:Class
‣ Conceito mais básico em um domínio
‣ Todo indivíduo pertence a classe owl:Thing
‣ Toda classe é subclasse de owl:Thing
Monday, April 14, 14
114. Namoro monogâmico :)
Namora é uma relação funcional, logo Edson e
Pelé são a mesma pessoa.
Funcionais
:Xuxa :namora :Edson
:Xuxa :namora :Pelé
Monday, April 14, 14
115. Funcionais
P(x,y) e P(x,z) implica y=z
:namora a owl:ObjectProperty, owl:FunctionalProperty ;
rdfs:domain :Human ;
rdfs:range :Human .
Monday, April 14, 14
116. Inversas
:e_pai e :e_filho são relações inversas,
consegue navegar nas 2 direções
:Zeca :e_pai :Chico
:Chico :e_filho :Zeca
Monday, April 14, 14
123. Cardinalidade - Max
<owl:Restriction>
<owl:onProperty rdf:resource="#hasParent" />
<owl:maxCardinality
rdf:datatype="&xsd;nonNegativeInteger">2</
owl:maxCardinality>
</owl:Restriction>
Todos pessoas tem no máximo 2
pais (biológicos)
Monday, April 14, 14
124. Cardinalidade - Min
<owl:Restriction>
<owl:onProperty rdf:resource="#hasParent" />
<owl:minCardinality
rdf:datatype="&xsd;nonNegativeInteger">1</
owl:minCardinality>
</owl:Restriction>
Todos pessoas tem no mínimo 1
pai (biológico)
Monday, April 14, 14
128. Indivíduos iguais - owl:sameAs
‣ Indivíduos são iguais em ontologias diferentes
‣ URIs que representam o mesmo conceito no mundo
real
Monday, April 14, 14
130. Indivíduos diferentes
‣ Muito usado para definir oposição
‣ Individualmente é usado o owl:differentFrom
‣ Em um conjunto é usado owl:distinctMembers
Monday, April 14, 14
133. Vocabulários
‣ Dublin Core Metadata Initiative (DCMI)
‣ Friend of a Friend (FOAF)
‣ Core Ontology for Multimedia (COMM)
‣ Good Relations (Best Buy)
‣ RNews (Media)
Monday, April 14, 14
134. SCHEMA.ORG
‣ É uma ontologia simples de usar
‣ Coleção de esquemas, html tags
‣ Muito melhor para o SEO
‣ Cria rich snippets
‣ Aproveita de definições de outras ontologias
‣ Iniciativa: Google, Bing, Yahoo eYandex
Monday, April 14, 14
139. SPARQL
‣ Definido pelo W3C
‣ Consulta padrão nos maiores repositórios da WS
‣ Consulta em múltiplas ontologias e repositórios
Monday, April 14, 14
140. Estrutura da Query
# prefix declarations
PREFIX foo: <http://example.com/resources/> ...
# result clause
SELECT ...
# dataset definition
FROM ...
# query pattern
WHERE { ...
}
# query modifiers
ORDER BY ...
Monday, April 14, 14
141. Estrutura da Query
‣ Declaração de prefixo: abreviação das URIs
‣ Cláusula de resultado: informações que devem ser
retornadas da consulta
‣ Definição de datasets: grafos RDF que estão sendo
consultados
‣ Padrão da consulta: o que consultar (matching)
‣ Modificadores de query: ordenamento e qualquer
processamento a ser feito nos resultados
Monday, April 14, 14
143. Exemplo de consulta
Selecionar todos os predicados e objetos da classe
dbpedia:SoccerPlayer
PREFIX dbpedia: <http://dbpedia.org/ontology/>
SELECT *
FROM <http://dbpedia.org>
WHERE {
dbpedia:SoccerPlayer ?p ?o
}
LIMIT 100
Monday, April 14, 14
145. Exemplo de consulta
Selecionar todos indivíduos do tipo dbpedia:SoccerPlayer e
retornar com os seus nomes
PREFIX dbpedia: <http://dbpedia.org/ontology/>
SELECT ?soccerPlayer ?name
FROM <http://dbpedia.org>
WHERE {
?soccerPlayer rdf:type dbpedia:SoccerPlayer;
rdfs:label ?name.
}
LIMIT 100
Monday, April 14, 14
147. Insert
Inserir o tipo globo:Celebridade no globo:Neymar
PREFIX globo: <http://s.globo.com>
INSERT data INTO <http://s.globo.com/> {
globo:Neymar rdf:type globo:Celebridade .
}
Monday, April 14, 14
148. Delete
Excluir o tipo globo:Celebridade no globo:Neymar
PREFIX globo: <http://s.globo.com>
DELETE from <http://s.globo.com/> {
globo:Neymar rdf:type globo:Celebridade .
} WHERE {
globo:Neymar rdf:type globo:Celebridade .
}
Monday, April 14, 14
150. Recapitulação
‣ Melhor SEO
‣ Conteúdo interligado de forma inteligente
‣ Unificação dos dados
‣ Páginas automatizadas
‣ Categorização e classificação
‣ Long Tail
Monday, April 14, 14