23
Departamento de Ciência da Computação Web Semântica com Python Edison Ishikawa

Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Embed Size (px)

Citation preview

Page 1: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Web Semântica com Python

Edison Ishikawa

Page 2: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Objetivo

● Python

Page 3: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Sumário

● Introdução● Desenvolvimento● Considerações Finais

Page 4: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

SI Semântico?

Fontes Estruturadas

Fontes Não Estruturadas

Sistemas Legados

Sem Informações Semânticas Processáveis por Máquinas

InformaçõesSemânticas

Aplicações Semânticas

Page 5: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Arquitetura do Servidor CMS

Adm

inistração do

Conteúdo

Repositório do

Conteúdo

Modelo de Dados do

Conteúdo

Gerenciamentodo

Conteúdo

Acesso ao Conteúdo

Interface

1D - Conteúdo

Page 6: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Arquitetura de Referência/ Servidor CMS Semântico

Adm

inistração do

Conteúdo

Repositório do

Conteúdo

Modelo de Dados do

Conteúdo

Gerenciamentodo

Conteúdo

Acesso ao Conteúdo

Interface

Conteúdo Conhecimento

Interface

Acesso ao Conhecimento

Adm

inistração do C

onhecimento

Repositório do Conhecimento

Modelos de Conhecimentos

Pipeline de extração de conhecimentos

Interface Semântica2D – Conteúdo x Semântica

Orquestrador?

Page 7: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Arquitetura de R

eferência

Servidor C

MS

Sem

ântico para Jornalism

o

Produção Jornalística

Interface

Acesso à RedaçãoA

dministração

Da R

edação

Repositório do Workflow

Modelos de Workflow

Workflow da Redação

Interface Semântica

3DConteúdo

xSemântica

xProdução

Produção=

Processo=

Workflow=

Qualidade+

Confiabilidade

orquestrador

Page 8: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Python

RDF LIB SGBD API

+

Documento Grafo RDF

Editor de Texto

AnotadorSemântico

BuscadorSemântico

Lista de documentosrankeados

Ontologia do Domínio

do DocumentoEditado

+ +

+ +

+ +

Documentos comAnotações semânticas

Interface {

{Aplicação

Interface

{Base de Dados

Page 9: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Anotações Semânticas

Zika

Vírus É um

Doença

Causa

MIcrocefalia

É uma

Vacina

para

É mais representativo

Page 10: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Então Interface MudaMetáfora muda?

Edição do Texto

Impeachment da Zica

Nova vacina promete erradicar...

Edição da AnotaçãoSemântica

Zika

[HTML] Zika virus outbreak on Yap Island, federated states of Micronesia

[HTML] Ophthalmological findings in infants with microcephaly and presumable intra-uterus Zika virus infection

[PDF] Probable non-vector-borne transmission of Zika virus, Colorado, USA

Zika virus (I). Isolations and serological Specificity

[PDF] Potential sexual transmission of Zika virus

Máquinade Busca

Resultados

Ontologia daZica

Fish Eye

Page 11: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Ciclo de Vida dos Dados da Web Semântica

● Desenvolvimento da ontologia● Planejamento de como usar os dados● Criação de novos dados ou refinamenento dos

dados já existentes● Armazenamento persistente dos dados● Publicação e acesso externo aos dados

Fonte: Lifecycle models of data-centric systems and domains. Knud Möller. 2012

Page 12: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Ciclo de Vida dos Dados da Web Semântica

● Desafio de desenvolver ontologias é bem conhecido● Desafios para implementar uma App de Web Semântica

(criação, refinamento, persistência e publicação dos dados):– Dados heterogêneos e com muito ríudo

– Descasamento entre modelos de dados e descasamento entre os componetes das APIs

● Modelo relacional e grafos● SuRF for Python(http://pypi.python.org/pypi/SuRF) Object RDF

Mapper

– Melhores práticas e padrões imaturos e atrasados

– Distribuição da lógica da App entre componentes

Page 13: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Classificação das App de Web Semântica e da Web de Dados

● O requisito básico que caracteriza uma App de Web Semântica é o uso de metadados RDF pela App

● Adicionalmente um conjunto de vocabulários formais pode ser usado para capturar o domínio da App

● SPARQL é usado como linguagem de consulta– Exceto para App que usam programação para

acessar dados RDF por razões de eficiência

Page 14: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Componentes mais comuns de uma App Web Semântica

1.Interface de Dados

■ Provê uma abstração entre dados locais e remotos

2.Armazenamento persistente

■ Armazena dados e o estado do aplicação

3.Interface do usuário

■ Provê acesso ao usuário

4.Serviços de Integração

■ Fornece uma visão unificada de dados heterogêneos

5.Serviços de busca (Search)

■ Busca dados

6.Interface de autoria

■ Permite a criação de novos dados e a edição dos dados existentes

7.Serviços de ratreamento (Crawler)

■ Descobre e recupera dados remotos

Page 15: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Pilha Python

● Semantic Python – Seth– Integração profunda de OWL-DL (lógica descritiva)

com a linguagem de programação Python● Classes OWL convivem com classes Python

Page 16: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Passo do projeto

● 1- Elaboração de um caso – processo quase todo manual– Preparação de uma base de testes

– Anotação da base● Diferentes métodos

– Elaboração de temas para a matéria jornalística

– Formas de busca sem contexto para gerar os melhores resultados

– Elaboração de linhas editoriais sintéticas distintas (dois ou mais)

– Formas de busca com contexto para gerar os melhores resultados

Page 17: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Passo do projeto

● 2- Automatização do caso – processos repetitivos automatizados– Persistência da base de testes

– Implementação do Editor para Anotação da base● Diferentes métodos

– Implementação do Editor de conteúdo da matéria jornalística

– Implementação do mecanismo de busca sem levar em conta o contexto

– Implementação do mecanismo de busca levando em conta o contexto (linha editorial)

– Visualizador dos resultados da busca e dos documentos recuperados

Page 18: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Arquivo CSV

Fonte: http://gromgull.net/blog/category/coding/python/

Page 19: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Transformando arquivo CSV em RDF

Page 20: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

CMS Semântico

● Pilha Conteúdo– App

– Django CMS

– Python

– Apache

– Linux

● Pilha Conhecimento– App Reasoner

– Django Framework?

– Python/Java?

– Apache/Tomcat?

– JENA TDB/SDB?

– RDF4J(Ex-Sésame)?

– Linux

SOA?

Page 21: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Trabalhos

● Pilha Conteúdo– Layout interface

● Metáfora semântica● Visualizador de anotações● Editor de matéria● Editor de anotações● Resultados da busca

– Modelar gerência dos documentos

– Modelar armazenamento dos documentos

– Interface SOA

● Pilha semântica– Banco de Dados

– Popular o BD● Ontologias● Anotações de Dados não

estruturados● Anotações de Dados

estruturados

– Criar App em SPARQL● Dados não estruturados● Dados estruturados

– Criar reasoner em função da consulta SPARQL?

– Interface SOA

Page 22: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Equipes

● Conteúdo/CMS– Natanael

– Luciano

– Hsiang

● Semântica – Renan Lobato

– Renan Reboredo

– Marília

– Rafael

virus

Page 23: Web Semântica com Python Edison Ishikawa · com a linguagem de programação Python ... Departamento de Ciência da Computação Passo do projeto 1- Elaboração de um caso – processo

Departamento de Ciência da Computação

Referências

● Fabian Christ, Benjamin Nagel. A reference Architecture for Semantic Content Management

● Pierre Lévy. A Esfera Semântica: tomo I, computação, cognição, economia da informação