Eduardo Nicola Zágari

49
Um papo sobre Web Semântica Eduardo Nicola F. Zagari zagari em abril com br NIH - Núcleo de Engenharia e Pesquisa Abril Digital São Paulo, 09/11/2009

description

Apresentação de Eduardo Zágari, Abril Digital, na palestra "Introdução à Web Semântica".

Transcript of Eduardo Nicola Zágari

Page 1: Eduardo Nicola Zágari

Um papo sobre!Web Semântica!

Eduardo Nicola F. Zagari!zagari em abril com br!

NIH - Núcleo de Engenharia e Pesquisa!Abril Digital!

São Paulo, 09/11/2009!

Page 2: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Sumário!

  Apresentação do NIH!   Introdução!   Abordagens!   Aplicações!   Tecnologias para Anotação de Conteúdo: RDF,

Microformatos, RDFa, OWL, SPARQL!   NLP e Extração de Entidades!   Considerações Finais!

Page 3: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

NIH!• Monitorar de forma sistemática novas

técnicas, linguagens, interfaces, arcabouços e sistemas computacionais utilizados na Web que possam ser implantados em nossos produtos;!

• Desenvolver Novos Serviços de Inteligência Computacional, de Infraestrutura de Backend e de Interfaces Visuais para nossos produtos;!

• Investigar novas soluções algorítmicas, técnicas e de interfaces para problemas das novas features, proposta, prototipação e avaliação das mesmas e!

• Disseminar dentro da ABD os conhecimentos adquiridos na área, através de Tech Talks e/ou treinamentos.!

Page 4: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

NIH!   Bibliotecas compartilhadas por serviços

(Runner, HTMLParsing, Instrumentation, Stats etc)!

  Flash Cassino, Veja Lua, Handler-Uploader de Imagens!

  Classificador Automático!

  Super Robot!

  NER, Visualização de Grandes Massas de Dados!

Page 5: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

 Definição na Wikipedia:!

  a term used to describe persistent social, corporate or institutional culture that avoids using or buying already existing products, research or knowledge because of its different origins. It is normally used in a pejorative sense.

  a term and label developed in the computer industry referring to organizations incapable of using technology from other organizations.

NIH!

Page 6: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Introdução!   No começo, existia a Web e as pessoas

gostavam de surfar por suas páginas, trocar e-mails, fazer programas para suas empresas... A vida era boa... !

  Só que um dia, as “pessoas” começaram a gostar tanto dela, que resolveram usar seu conteúdo de novas formas... !

  Mas a Web foi feita para compartilhar documentos e não os dados internos de suas páginas... E estas “pessoas” ficaram tristes...!

  Aí surge a Web Semântica... e “elas” voltarão a ser felizes em breve! :-)!

Page 7: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Web Semântica!   Múltiplas faces: !

  uma plataforma tecnológica de metadados da Web!

Page 8: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

(Plataforma Tecnológica)!

  Computadores devem estar aptos a saber:!

  o que uma determinada requisição significa;!

  sobre o que são dados e documentos particulares;!

  o relacionamento entre tudo isto.!

Page 9: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

(Evolução das Aplicações)!

  Processamento de Dados!

  Processamento de Informação!

  Processamento de Conhecimento!

  Processamento Inteligente!

Page 10: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Web Semântica!   Múltiplas faces: !

  uma plataforma tecnológica de metadados da Web!

  um movimento social de “abertura de dados” (open-source data)!

  uma nova encarnação da Inteligência Artificial clássica!

Page 11: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

(Web Semântica e Inteligência Artificial)!

 Segundo Sir Tim Beners-Lee:!

mas...!

Habilidade da máquina de resolver problemas ‘bem definidos’, realizando operações ‘bem definidas’ em dados existentes ‘bem definidos’!

Page 12: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

(Inteligência Artificial)!   Alan Turing, 1956!

  IA Forte e IA Fraca!

  Sistemas Especialistas, Redes Neuronais, Lógica Fuzzy!

  Inverno da IA - Aprendizado de Máquinas, Robótica, Visão Computacional!

  Algoritmos Genéticos, Computação Bio-inspirada!

Page 13: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Web Semântica!

  Um passo além da onda iniciada em 2004, a Web Colaborativa (Web 2.0)!   Web 3.0 ?!

  Web Semântica, Cloud Computing, Ubiqüidade, WRTAp!

Page 14: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

As 3 ondas da Web!

Fonte: Semantic Web de Jeffrey Pollockext!

r!

rw!rwx!

tec.!soc.!

tec + soc!

Page 15: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Web Semântica!

  Objetivo:!

  Interligar conteúdos publicados na Web!

  A associação deve ser perceptível tanto pelo homem (manualmente) como pela máquina (automática)!

  Problema:!

  Atribuição de significado (sentido) aos conteúdos...!

Com os computadores entendendo os conteúdos, eles teoricamente estarão aptos a resolver problemas que hoje estão fora de alcance

Page 16: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Abordagens!   Bottom-up (Clássica):!

  Anotação de informação nas páginas, usando RDF, para que seja “legível” por máquinas!

  Top-down (Conhecimento semântico vertical):!   Alavancagem de informações em páginas

web já existentes, como estão, para extrair significado automaticamente!

  reconhecimento de nomes e verbos cotidianos!

Page 17: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Aplicações!

  Desktop Web Semântico (Browsers (Glue), Emails, Gerenciador de Janelas)!

  Blogging Semântico (Zemanta)!

  Wikis Semânticas!

  Máquinas de Busca Semânticas!

  Redes Sociais Semânticas!

Page 18: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Yahoo! Search!

Page 19: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

ZoomInfo !Construção de perfil

através da associação de

dados de diferentes

fontes!

Page 20: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

TripIt!Agregador de Viagens!

Page 21: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Dapper!adição de anotação semântica em páginas

já existentes!(bottom-up

tool)!

Page 22: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Tecnologias de Anotação!

  RDF - Resource Description Framework!

  RDFa e Microformatos!

  SPARQL!

  OWL!

Page 23: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

RDF!   Linguagem usada para descrever dados,

metadados e até mesmo outras linguagens de dados!

  Formato de grafo de dados! Grafo!

Árvore!

Page 24: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

RDF!   Usa triplas: {Recurso, Predicado, Objeto}!

  Empregado em RSS e FOAF!

  Idéia básica!

  cada item de dado deve ter um identificador Web único (URI)!

  atributo central do modelo: relacionamento de URIs entre itens de dados!

Page 25: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Um Grafo RDF Simples!<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="http://bike.zagari.org/"> <dc:title>Viagens com a Magrela</dc:title> </rdf:Description>

<rdf:Description rdf:about="http://bike.zagari.org/"> <dc:creator rdf:resource="http://zagari.org/foaf.rdf#me"/> </rdf:Description>

</rdf:RDF>

Page 26: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Um Grafo RDF Simples!

Page 27: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

RDFa e Microformatos!

  Web -> HTML !

  -> Linguagem de dados não estruturada!

  Microformatos e RDFa!

  Forma de codificar dados dentro de documentos HTML e XHTML!

Page 28: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

HTML!

<div>

<div>Nicola Zagari</div> <div>Abril Digital</div> <div>11-3818-1234</div> <a href="http://www.abril.com.br/"> http://www.abril.com.br/</a> </div>

Page 29: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

HTML!

<div>

<div>Abril Digital</div> <div>Nicola Zagari</div> <div>11-3818-1234</div> <a href="http://www.abril.com.br/"> http://www.abril.com.br/</a> </div>

Page 30: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Microformatos!

•  Com microformato hCard: !<div class="vcard"> <div class="fn">Nicola Zagari</div> <div class="org">Abril Digital</div> <div class="tel">11-3818-1234</div> <a class="url" href="http://www.abril.com.br/"> http://www.abril.com.br/</a> </div>

Page 31: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

RDFa!

<div xmlns:dc=http://purl.org/dc/elements/1.1/

about="http://www.example.com/books/wikinomics">

  <span property="dc:title">Wikinomics</span>

  <span property="dc:creator">Don Tapscott</span>

  <span property="dc:date">2006-10-01</span>

</div>

Page 32: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

RDFa!<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="XHTML+RDFa 1.0" xml:lang="en"> <head> <title>John's Home Page</title> <base href="http://example.org/john-d/" /> <meta property="dc:creator" content="Jonathan Doe" /> </head> <body> <h1>John's Home Page</h1> <p>My name is <span property="foaf:nick">John D</span> and I like <a href="http://www.neubauten.org/" rel="foaf:interest" xml:lang="de">Einstürzende Neubauten</a>. </p> <p> My <span rel="foaf:interest" resource="urn:ISBN:0752820907">favorite book</span> is the inspiring <span about="urn:ISBN:0752820907"><cite property="dc:title">Weaving the Web</cite> by <span property="dc:creator">Tim Berners-Lee</span></span> </p> </body> </html>

Page 33: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

RDFa x Microformato!

  Microformato especifica:!

  a sintaxe para embutir os dados dentro do documento HTML!

  um vocabulário de termos específicos para cada tipo de informação (eventos, contatos, localização geográfica etc)!

  RDFa especifica apenas a sintaxe:!

  especificação de termos é independente!

Page 34: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

SPARQL"!

  SPARQL (Simple) Protocol and RDF Query Language!

  Permite realizar queries em grafos de dados RDF!

  É determinístico!

Page 35: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Query SPARQL!PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX edu:<http://www.us.edu/universities#> PREFIX surf:<http://www.surf.com/surf#>

SELECT ?university

WHERE { ?university rdf:type edu:University . ?university go:within_3_power_10_meters ?beach . ?beach rdf:type surf:Beach . ?beach surf:temperature ?temperature ?temperature unit:type http://imetro.com.br/temp.rdf#celsius . FILTER (?temperature > 22) }

ORDER BY ?university

Page 36: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

OWL!

  Web Ontology Language!

  Linguagem para definir e instanciar ontologias na Web!

  Pode incluir descrições de classes, suas respectivas propriedades e relacionamentos!

  É uma extensão de RDF para permitir a representação da semântica de modelos de dados mais complexos!

Page 37: Eduardo Nicola Zágari

Desafios!

Page 38: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Bottom-Up!Desafios Técnicos!

Bottom-Up!   Como criar os documentos de descrição de

dados?!

  Algoritmo de NLP?!

  Manual?!

  Quem os geraria? Centralizado (Google-like) ou os próprios sites? Qual a motivação?!

  No caso da abordagem distribuída, como fica a questão de padronização?!

Page 39: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Bottom-Up!Desafios Científicos!

  Problema NP-completo!

  Lidar com a Incerteza!

  Representação precisa dos fatos!

Page 40: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Bottom-Up versus !Top-Down!

  Por estes aspectos, a abordagem Top-Down apresenta-se mais interessante que a Bottom-Up, mas...!

Page 41: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Top-Down!

  Primeiro, é uma abordagem simplista e não a Web Semântica como ela foi pensada!

  Um conjunto de apps e serviços web que geram valor a partir de semânticas simples!

  Nem sempre chegam a resultados corretos, devido à ambiguidade!

Page 42: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Bottom-Up e Top-Down!Desafios de Negócio!

  Qual o real valor para o usuário?!

  Redução de tempo? !

  Quais as aplicações que podem ser construídas no topo da Web Semântica?!

Page 43: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

NLP e NER!   NLP!

  Subárea de IA e da linguística que estuda os problemas da geração e compreensão automática de linguas humanas naturais!

  NER:!

  ramo do processamento de linguagem natural que procura extrair e classificar as entidades mencionadas em um texto escrito em linguagem natural.!

Page 44: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Calais!

Page 45: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

CMS!

Page 46: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Considerações Finais!

  Web Semântica: a bola da vez!

  Ponto de inflexão!

  Abordagem por Segmentos!

Page 47: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Considerações Finais!

  Big Player?!

  Aplicações inovadoras (killer apps)!

  Agentes Inteligentes / máquinas de inferência !

  Conteúdo relevante e de alta qualidade: gerência de conteúdo => inteligência social!

Page 48: Eduardo Nicola Zágari

Eduardo Nicola Zagari!

Referências!RDF. W3C, http://www.w3.org!

RDF, Microformats, OWL, SPARQL. Wikipedia, http://en.wikipedia.org/wiki/Main_Page!

The Road to the Semantic Web. Alex Iskold, !http://www.readwriteweb.com/archives/semantic_web_road.php!

Semantic Web Patterns: A Guide to Semantic Technologies. Alex Iskold, !http://www.readwriteweb.com/archives/semantic_web_patterns_a_guide_redux.php!

Semantic Web FOR DUMmIES. Jeff rey T. Pollock, Wiley Publishing, Inc.!

WEB 2.0 AND BEYOND - Understanding the New Online Business Models, Trends, and Technologies. Tom Funk, Praeger Publishers!

Semantic Web: Difficulties with the Classic Approach. Alex Iskold!http://www.readwriteweb.com/archives/semantic_web_difficulties_with_classic_approach.php!

Top-Down: A New Approach to the Semantic Web. Alex Iskold, !http://www.readwriteweb.com/archives/the_top-down_semantic_web.php!

Page 49: Eduardo Nicola Zágari

Web Semântica!Eduardo Nicola F. Zagari!zagari em abril com br!

Ekke Ekke Ekke Ptang Zoo Boing - Núcleo de Engenharia e Pesquisa !Abril Digital!