• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Web Semântica na Globo.com (Novas Mídias UFRJ)
 

Web Semântica na Globo.com (Novas Mídias UFRJ)

on

  • 1,679 views

Apresentação para o Curso de Novas Mídias na UFRJ sobre Web Semântica e como a tecnologia é usada na Globo.com. Apresentado em 24/10/2013.

Apresentação para o Curso de Novas Mídias na UFRJ sobre Web Semântica e como a tecnologia é usada na Globo.com. Apresentado em 24/10/2013.

Statistics

Views

Total Views
1,679
Views on SlideShare
1,605
Embed Views
74

Actions

Likes
6
Downloads
24
Comments
0

4 Embeds 74

http://www.bloglecom.com.br 70
http://digg.com 2
https://www.linkedin.com 1
http://cloud.feedly.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

Web Semântica na Globo.com (Novas Mídias UFRJ) Web Semântica na Globo.com (Novas Mídias UFRJ) Presentation Transcript

  • Web Semântica globo.com Ícaro Medeiros icaro.medeiros@gmail.com Time de Semântica semantica@corp.globo.com Thursday, October 24, 13 Curso Novas Mídias UFRJ, 2013
  • Agenda • Web atual: hipertexto • Web semântica • Ontologias • RDF e SPARQL • Linked Open Data • Semântica na globo.com Thursday, October 24, 13
  • WEB ATUAL E COMO MELHORÁ-LA? Thursday, October 24, 13
  • Web Atual • Apresentação dos conteúdos • Formatação, não significado • Pouca ou nenhuma estruturação Thursday, October 24, 13
  • Conteúdo na Web • 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... Thursday, October 24, 13
  • COMO ISSO AFETA TAREFAS COMUNS? Busca por Gols do Roberto Carlos no Maracanã Thursday, October 24, 13
  • Na globo.com Thursday, October 24, 13
  • E... No google Thursday, October 24, 13
  • Problemas • Busca feita por palavras • Contexto indefinido (como fotos e vídeos se relacionam com o texto?) • Ambiguidade (qual Roberto Carlos?) Thursday, October 24, 13
  • Objetivos • Registrar de forma precisa • Organizar corretamente • Transmitir significado Thursday, October 24, 13
  • WEB SEMÂNTICA Thursday, October 24, 13
  • Web Semântica “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 Thursday, October 24, 13
  • Registrar Informação • Produtor do conteúdo • Sabe o que, quem, quando, onde... • Resolve ambiguidade Thursday, October 24, 13
  • Gol do Roberto Carlos Thursday, October 24, 13
  • ONTOLOGIAS Thursday, October 24, 13
  • Conceitualização de um domínio (Gruber, 1991) D Thursday, October 24, 13
  • Devedzic, 2004 Thursday, October 24, 13
  • Tópicos num domínio D, Devedzic, 2004 Thursday, October 24, 13
  • Tópicos num domínio D, Usando uma linguagem L, Devedzic, 2004 Thursday, October 24, 13
  • Tópicos num domínio D, Usando uma linguagem L, Uma ontologia é um catálogo de tipos de coisas em D Devedzic, 2004 Thursday, October 24, 13
  • Tópicos num domínio D, Usando uma linguagem L, Uma ontologia é um catálogo de tipos de coisas em D Tipos são representados em termos de conceitos e relações em L. Devedzic, 2004 Thursday, October 24, 13
  • Pizza Base de Pizza Pizza de Calabresa tem base Comida Thursday, October 24, 13 Massa fina
  • :Pizza rdfs:subClassOf :Comida , [ rdf:type owl:Restriction ; owl:onProperty :base ; owl:someValuesFrom :BaseDePizza ]. Thursday, October 24, 13
  • Por que Construir e usar Ontologias? • Compartilhar conhecimento (interoperabilidade) • Vocabulários padronizados (reuso) • Informação processável por máquina Thursday, October 24, 13
  • Engenharia de Ontologias • Identificar os indivíduos • Descrever seus atributos • Agrupar os indivíduos em classes • Enumerar as relações entre indivíduos • Definir regras (restrições, axiomas) sobre classes, atributos e relações Thursday, October 24, 13
  • RDF E SPARQL Thursday, October 24, 13
  • Representação em Triplas sujeito objeto Neymar é um jogador Barcelona é um time Neymar Thursday, October 24, 13 predicado está no elenco Barcelona
  • <Jogador> é um <Time> está no elenco <Neymar> é um <Barcelona> mandante <Partida> é um <Santos> visitante <BarcelonaXSantos:02082013> é uma local <Camp Nou> Thursday, October 24, 13 data “02/08/2013”
  • Triplas e Grafos • Bancos de triplas são bancos de grafo especializados que funcionam com a restrição <sujeito, predicado, objeto> • Simplifica a entrada e consulta de dados Thursday, October 24, 13
  • Contrução de Ontologias • Linguagens • OWL (Web Ontology Language) • RDF (Resource Description Framework) • SPARQL (SPARQL Protocol and RDF Query Language) Thursday, October 24, 13
  • Triplas em RDF Thursday, October 24, 13
  • Triplas em RDF <Neymar> Thursday, October 24, 13
  • Triplas em RDF <Neymar> é um Thursday, October 24, 13
  • Triplas em RDF <Neymar> é um <Jogador> Thursday, October 24, 13
  • Triplas em RDF <http://semantica.globo.com/esportes/Jogador/Neymar> <Neymar> é um <Jogador> Thursday, October 24, 13
  • Triplas em RDF <http://semantica.globo.com/esportes/Jogador/Neymar> <Neymar> <Jogador> Thursday, October 24, 13
  • Triplas em RDF <http://semantica.globo.com/esportes/Jogador/Neymar> <Neymar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <Jogador> Thursday, October 24, 13
  • Triplas em RDF <http://semantica.globo.com/esportes/Jogador/Neymar> <Neymar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://semantica.globo.com/esportes/Jogador> <Jogador> Thursday, October 24, 13
  • Triplas em RDF <http://semantica.globo.com/esportes/Jogador/Neymar> <Neymar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://semantica.globo.com/esportes/Jogador> <Jogador> Thursday, October 24, 13
  • Triplas em RDF <http://semantica.globo.com/esportes/Jogador/Neymar> <Neymar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://semantica.globo.com/esportes/Jogador> <Jogador> URI Thursday, October 24, 13
  • Triplas em RDF (Turtle) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix dbpedia: <http://dbpedia.org/ontology> <http://semantica.globo.com/esportes/Jogador/Neymar> rdf:type dbpedia:SoccerPlayer ; rdfs:label "Neymar" ; foaf:name "Neymar da Silva Santos Júnior" ; dbpedia:birthDate "05/02/1992" . Thursday, October 24, 13
  • SPARQL • Linguagem definida pelo W3C para consultas em bases RDF • Permite consultas federadas • Sintaxe baseada em SQL Thursday, October 24, 13
  • Estrutura da consulta # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13
  • Estrutura da consulta # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13 o que retornar
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13 o que retornar
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... o que retornar # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13 de que grafos
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... o que retornar # definição de datasets FROM ... # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13 de que grafos
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... o que retornar # definição de datasets FROM ... de que grafos # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13 o que consultar (matching)
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... o que retornar # definição de datasets FROM ... de que grafos # padrão para consulta WHERE { ... } # modificadores de consulta ORDER BY ... Thursday, October 24, 13 o que consultar (matching)
  • Estrutura da consulta abreviação de URIs # declaração e prefixos PREFIX esportes: <http://semantica.globo.com/esportes/> # cláusula de resultado SELECT ... o que retornar # definição de datasets FROM ... de que grafos # padrão para consulta WHERE { ... } o que consultar (matching) # modificadores de consulta ORDER BY ... Thursday, October 24, 13 pós-processamento
  • dbpedia.org/sparql Thursday, October 24, 13
  • Exemplo de Consulta Selecionar os 100 primeiros 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 Thursday, October 24, 13
  • Resultado Thursday, October 24, 13
  • Exemplo de Consulta Selecionar todas as instâncias da classe dbpedia:SoccerPlayer e seus nomes PREFIX dbpedia: <http://dbpedia.org/ontology/> SELECT ?soccerPlayer ?name FROM <http://dbpedia.org> WHERE { ?soccerPlayer a dbpedia:SoccerPlayer ; rdfs:label ?name . } Thursday, October 24, 13
  • Resultado Thursday, October 24, 13
  • LINKED DATA Thursday, October 24, 13
  • Linked Data • Rede de dados, co-refenciados • Endpoints SPARQL abertos • Identificadores únicos (URIs) para conceitos • URIs derreferenciáveis • Bases de dados de referência Thursday, October 24, 13
  • Linked Data • Repositório de uso geral • • DBPedia (conceitos extraídos da Wikipedia) Repositório sobre domínios específicos • GeoNames • MusicBrainz • legislation.data.gov.uk Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Como padronizar seus dados? • Vocabulários controlados • Exemplo: Dublin Core Metadata Initiative (DCMI) • termos com significado bem definido: • title, creator, contributor, ... Thursday, October 24, 13
  • Outros Vocabulários • FOAF (Friend of a Friend) • Informações sobre pessoas • Originalmente usado para redes sociais Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets review Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets review Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets review Thursday, October 24, 13
  • SCHEMA.ORG • Iniciativa Google, Bing e Yahoo! • Grande melhoria em SEO • Gera Rich Snippets review atores Thursday, October 24, 13
  • Exemplo Schema.org <div itemscope itemtype="http://schema.org/Movie"> <div itemtype="http://schema.org/AggregateRating" itemscope itemprop="aggregateRating"> Ratings: <span itemprop="ratingValue">7.0</span> <span>/<span itemprop="bestRating">10</span></span> from <span itemprop="ratingCount">174,328</span> users </div> </div> Thursday, October 24, 13
  • Benefícios • Significado explícito • Sem ambiguidades • Entendido por máquinas de busca Thursday, October 24, 13
  • Buscas Semânticas • Encontram e analisam meta-informação • • • HTML 5 microdata, RDFa Repositórios de triplas Relacionam informações em sites diferentes • Dado que usem vocabulários padrão Thursday, October 24, 13
  • globo.com COMO USAMOS Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • globo esporte .com Thursday, October 24, 13
  • globo esporte .com Thursday, October 24, 13
  • globo esporte .com Thursday, October 24, 13
  • globo esporte .com Thursday, October 24, 13
  • globo esporte .com Thursday, October 24, 13
  • globo esporte .com Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Números • 98% das matérias do GE e EGO são anotadas • + 8 MIL páginas de tópico Thursday, October 24, 13
  • Conhecimento Único • Menos duplicidade dos dados • Simplificação do uso e da manutenção dos dados • Agilidade na recuperação dos dados Thursday, October 24, 13
  • Como? Ontologias Materia Matéria XYZ Thursday, October 24, 13 cita a entidade cita a entidade Pessoa Romário
  • CMS • Metadados com significado (diferente de tags) • CMS se adapta a ontologia • Extrator automático de indivíduos • Suggest de anotação • Menor esforço editorial Thursday, October 24, 13
  • Thursday, October 24, 13
  • O Que Estamos Fazendo • API hipermídia: simplificando uso de semântica • Ontologias mais focadas: de produtos para domínios • Modelagem com equivalências a ontologias como a DBPedia Thursday, October 24, 13
  • API Hipermídia • Diminuir complexidade da arquitetura • Reduzir necessidade de queries SPARQL • Gerenciamento de dados (deduplicação, validação, integração com dados externos) • Ponto único de acesso ao banco de triplas Thursday, October 24, 13
  • CMS suggest annotation suggest annotation Arquitetura atual entity extractor entity extractor search engine suggest annotation entity extractor A P I triple store CDA suggest annotation entity extractor process queue Thursday, October 24, 13
  • Nova arquitetura A P I search engine triple store Thursday, October 24, 13
  • Hipermídia? • Não lembre URLs. Navegue! • Negociação de conteúdo • Aplicação é tratada como uma Máquina de estados Thursday, October 24, 13
  • Relações self inCollection /esports/ Time /esportes/Time/ Barcelona item create Thursday, October 24, 13 replace delete
  • / Thursday, October 24, 13
  • GET Thursday, October 24, 13 /
  • GET Thursday, October 24, 13 /
  • { GET Thursday, October 24, 13 / "items": [ { "title": "Upper", "@id": "http://semantica.globo.com/upper/", "resource_id": "upper" }, { "title": "Esportes", "@id": "http://semantica.globo.com/esportes/", "resource_id": "esportes" } ]
  • GET Thursday, October 24, 13 /
  • GET Thursday, October 24, 13 / "links": [ { "href": "http://api.semantica.dev.globoi.com/", "rel": "self" }, { "href": "http://api.semantica.dev.globoi.com/ {resource_id}", "rel": "item" }, { "href": "http://api.semantica.dev.globoi.com/", "method": "POST", "rel": "create" }, { "href": "http://api.semantica.dev.globoi.com/ {resource_id}", "method": "DELETE", "rel": "delete" }, { "href": "http://api.semantica.dev.globoi.com/? page=2", "method": "GET", "rel": "next" } ]
  • GET Thursday, October 24, 13 /
  • rel:item GET Thursday, October 24, 13 /
  • resource_id:esportes rel:item GET Thursday, October 24, 13 /
  • resource_id:esportes rel:item GET Thursday, October 24, 13 /
  • resource_id:esportes rel:item GET / GET Thursday, October 24, 13
  • resource_id:esportes rel:item GET /esportes / GET Thursday, October 24, 13
  • GET /esportes Thursday, October 24, 13
  • rel:item GET /esportes Thursday, October 24, 13
  • resource_id:Time rel:item GET /esportes Thursday, October 24, 13
  • resource_id:Time rel:item GET /esportes Thursday, October 24, 13
  • resource_id:Time rel:item GET /esportes Thursday, October 24, 13 GET
  • resource_id:Time rel:item GET /esportes Thursday, October 24, 13 GET /esportes/Time
  • /esportes/ GET Time Thursday, October 24, 13
  • /esportes/ GET Time Thursday, October 24, 13 rel:item
  • resource_id:Barcelona /esportes/ GET Time Thursday, October 24, 13 rel:item
  • resource_id:Barcelona /esportes/ GET Time Thursday, October 24, 13 rel:item
  • resource_id:Barcelona /esportes/ GET Time Thursday, October 24, 13 rel:item GET
  • resource_id:Barcelona /esportes/ GET Time Thursday, October 24, 13 rel:item GET /esportes/Time/ Barcelona
  • GET Thursday, October 24, 13
  • GET /esportes/Time/ Barcelona Thursday, October 24, 13
  • rel:delete GET /esportes/Time/ Barcelona Thursday, October 24, 13
  • rel:delete GET /esportes/Time/ Barcelona Thursday, October 24, 13
  • rel:delete DELETE GET /esportes/Time/ Barcelona Thursday, October 24, 13
  • Futuro • Navegação sugerida por inferência • Potencialização de SEO (schema.org automático) • Sugestão de anotação • Conteúdo mais rico, com atualização frequente • Conectado com dados abertos (DBPedia, dados.gov.br) Thursday, October 24, 13
  • CASES RELEVANTES Modelos de uso da Web Semântica Thursday, October 24, 13
  • Thursday, October 24, 13
  • Ações Realizadas • Uso da ontologia GoodRelations • Adição de metadados: RDFa Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Resultados • Tráfego originado por motores de busca: + 30% • Taxa de cliques no Yahoo!: + 15% • Aumento significativo do Google PageRank Thursday, October 24, 13
  • Thursday, October 24, 13
  • Ações Realizadas • Ontologias públicas • Interligação com repositórios de dados externos • Criação de categorias e agregadores úteis Thursday, October 24, 13
  • Domínios Representados Thursday, October 24, 13
  • Domínios Representados Thursday, October 24, 13
  • Domínios Representados Thursday, October 24, 13
  • Ontologia De Programas Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Resultados • Proliferação de links relevantes: potencialização de SEO • Reuso das informações: menor desperdício de pessoal • Navegação interligada e escalável para toda a BBC Thursday, October 24, 13
  • Thursday, October 24, 13
  • Ações Realizadas • Anotação e indexação do conteúdo baseado em indivíduos • Ontologia pública • Interligação com repositórios de dados externos • Adição de metadados: Open Graph Thursday, October 24, 13
  • NYT Index Abstract Jenny Brown, owner of Woodstock (NY) Farm Animal Sanctuary, forms special bond with Albie, goat that probably escaped from New York City slaughterhouse; Albie injured leg in escape and it had to be amputated; Brown had leg amputated as child; wears artificial leg and wants to also get one for Albie; photos (M) Thursday, October 24, 13 ✓ Assuntos: Livestock; Goats; Amputation; Prosthesis; Legs ✓ Organizações: Woodstock Farm Animal Sanctuary ✓ Lugares: Woodstock (NY); New York City ✓ Pessoas: Santos, Fernanda; Brown, Jenny
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • Thursday, October 24, 13
  • globo.com /talentos Programa de estagiários Thursday, October 24, 13
  • globo.com Ícaro Medeiros icaro.medeiros@gmail.com Time de Semântica semantica@corp.globo.com slides http://www.slideshare.net/icaromedeiros Thursday, October 24, 13