organicer: organizando informação com python

Post on 18-Dec-2014

1.048 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Conteúdo parcial do que foi efetivamente apresentado na PythonBrasil [8] em novembro de 2012 no Rio de Janeiro.

TRANSCRIPT

ORGANICER

Organizando Informação com Python

Rodrigo Dias Arruda SenraIC-Unicamp / Globo.com

PythonBrasil [8], RJ 2012

Apenas um rapaz latino americano...

• Desenvolvedor e Projetista de Software(no mercado desde 1996, hoje na Globo.com )

• Engenheiro de Computação Graduação-MSc-(defesa PhD 10/12/12) IC-Unicamp

• Entusiasta de FLOSS(atuante na comunidade desde 1999)

2

Roteiro

• Motivação• Problemas• Organografos • Organicer (preview)

• Python Snippets

3

Motivação

5

5

Organization

Hierarchies

Automation

Clustering

Classification

Data Sharing

EvaluationDatabases

Classification

Information Extraction

Information Retrieval

CognitionDigital Libraries

Content Management

RDF

XML

RSS

Semantic Web

Personal Desktop

User Interfaces

Visualization

k-Means

Nearest Neighbors

Support Vector Machines

Neural Nets

Naïve Bayes

Jaccard

DiceCosine

Matching Wrappers

Taxonomy

Tagging

Folksonomy

Social Networks

Syndication

Feeds

Organographs

Python

Javascript

Go

NoSQL

Mongo

CouchDB

Fapesp

CNPq

CAPES

INCT

Crescenzi

Chen

Hull Sebastiani

Sokal

6

6

Quantos conceitos ?

6

Quantos conceitos ?

Em que ordem eles apareceram ?

6

Quantos conceitos ?

Em que ordem eles apareceram ?

Como categorizá-los ?

6

Quantos conceitos ?

Em que ordem eles apareceram ?

Como categorizá-los ?

De onde vieram ?

6

Quantos conceitos ?

Em que ordem eles apareceram ?

Como categorizá-los ?

De onde vieram ?

Quais as relações entre os conceitos ?

6

Quantos conceitos ?

Em que ordem eles apareceram ?

Como categorizá-los ?

De onde vieram ?

Quais as relações entre os conceitos ?

Quais são relevantes para mim agora ?

6

Quantos conceitos ?

Em que ordem eles apareceram ?

Como categorizá-los ?

De onde vieram ?

Quais as relações entre os conceitos ?

Quais são relevantes para mim agora ?

...

6

Quantos conceitos ?

Em que ordem eles apareceram ?

Como categorizá-los ?

De onde vieram ?

Quais as relações entre os conceitos ?

Quais são relevantes para mim agora ?

...[Miller 1956] regra 7±2: capacidade cognitiva é limitada

Problemas

8

Qual das categorias abaixo é a que melhor acomoda o objeto acima ?

9

Vermelhos ? Triangulos ? Relacionados ?

Motivação

Uma breve história no tempo

10

Uma breve história no tempo

10

Uma breve história no tempo

10

Uma breve história no tempo

10

Uma breve história no tempo

10

Uma breve história no tempo

10

Uma breve história no tempo

10

Uma breve história no tempo

10

Uma breve história no tempo

10Muito mais difícil que

O que há de errado ?

11

O que há de errado ?

11

1. Única categoria para conteúdo Multi-facetado

O que há de errado ?

11

1. Única categoria para conteúdo Multi-facetado

2. Categorias definidas manualmente

O que há de errado ?

11

1. Única categoria para conteúdo Multi-facetado

2. Categorias definidas manualmente

3. Critério não é explícito

O que há de errado ?

11

1. Única categoria para conteúdo Multi-facetado

2. Categorias definidas manualmente

3. Critério não é explícito

4. Relação estática de pertinência

O que há de errado ?

11

1. Única categoria para conteúdo Multi-facetado

2. Categorias definidas manualmente

3. Critério não é explícito

4. Relação estática de pertinência

5. Organização não é reutilizável

Objetivos

Objetivos

1. Avaliar hierarquias criadas manualmente

Objetivos

1. Avaliar hierarquias criadas manualmente

2. Reorganizar conteúdo dinamicamente

Objetivos

1. Avaliar hierarquias criadas manualmente

2. Reorganizar conteúdo dinamicamente

3. Reutilizar organização

Avaliar Hierarquias

13

Avaliar Hierarquias

13

muito conteúdo junto

Avaliar Hierarquias

13

muito conteúdo junto

duplicado, deslocado

Avaliar Hierarquias

13

muito conteúdo junto

muitos agregadores

duplicado, deslocado

Avaliar Hierarquias

13

muito conteúdo junto

muitos agregadores

duplicado, deslocado

profundo demais

Avaliar Similaridade

DendogramaMatriz de Similaridade

Reorganizar conteúdo dinamicamente

15

Alice

Beto

2011

2008

2011

Autor

Data de Publicação

Artigo 1

Artigo 2

Artigo 3

Reorganizar conteúdo dinamicamente

15

Alice

Beto

2011

2008

2011

Autor

Data de Publicação Autor

Data de Publicação

Artigo 1

Artigo 2

Artigo 3

Reorganizar conteúdo dinamicamente

15

Alice

Beto

2011

2008

2011 Alice

Beto

2008

2011

Alice

Autor

Data de Publicação Autor

Data de Publicação

Artigo 1

Artigo 2

Artigo 3

Reorganizar conteúdo dinamicamente

15

Alice

Beto

2011

2008

2011 Alice

Beto

2008

2011

Alice

Autor

Data de Publicação Autor

Data de Publicação

Artigo 1

Artigo 2

Artigo 3

Reorganizar conteúdo dinamicamente

15

Alice

Beto

2011

2008

2011 Alice

Beto

2008

2011

Alice

Autor

Data de Publicação Autor

Data de Publicação

Artigo 1

Artigo 2Artigo 3

Reorganizar conteúdo dinamicamente

15

Alice

Beto

2011

2008

2011 Alice

Beto

2008

2011

Alice

Autor

Data de Publicação Autor

Data de Publicação

Artigo 1

Artigo 2

Artigo 3

Reorganizar conteúdo dinamicamente

15

Alice

Beto

2011

2008

2011 Alice

Beto

2008

2011

Alice

Autor

Data de Publicação Autor

Data de Publicação

a TAREFA é importante!

Artigo 1

Artigo 2

Artigo 3

Reutilizar organização

16

Reutilizar organização

16

Reutilizar organização

16

Organografos

Metodologia

18

coleção

Metodologia

18

coleção

organizar

Metodologia

18

coleção

organizar

avaliar

Metodologia

18

coleção

organizar

avaliar

reorganizar

Metodologia

18

coleção

organizar

avaliar

reorganizar

compartilhar

19

19

Organografos

... são artefatos que tornam explícito como organizar informação digital no contexto de uma tarefa específica.

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

• patterns• dictionaries• rules• probabilities• templates/wrappers

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

• matching• dice• jaccard• overlap• cosine

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

• FOAF• Dbpedia• Schema.org• Freebase• MusicBrainz• Geonames

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

• Naive Bayes• SVM• Nearest Neighbors• LDA• LSI

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

• Filesystem• Gmail• Evernote• Delicious• Dropbox, Box

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

• Fuse, Dokan• Infoviz• D3

NLP

Autor doOrganofrafo

MLDomínio

Papéis

OntologiasClassificadoresExtração de

Informação

Algoritmos

SimilaridadeOrganografo

Algoritmos de Visualização

20

Iteradores

Data Container UX

Autoria de Organografo

Tarefa !

acmccs98 = acm_extractor(‘http://www.acm.org/about/class/1998/ccs98.xml’)

organograph: input: collection(‘file:///some/local/dir/docs’) output: collection(‘rodsenra@dropbox:/output’) id: ‘docs by year’ level: label: format(‘YYYY’, input.Vcnt.publication_date) level: classifier: naive_bayes(classes=acmccs98.Vagg[1], train=acmccs98.Vagg[2:] + acmccs98.Vcnt) label: classifier.class

Organicer

Hierarquia de Origem

Hierarquia de Origem

Pre-processamento

BeautifulSouppyPdf

Hierarquia de Origem

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Hierarquia de Origem

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Índice deFacetas

pymongo

Hierarquia de Origem

Workflow de Transformação

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Índice deFacetas

pymongo

Hierarquia de Origem

Workflow de Transformação

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Índice deFacetas

pymongo

networkx gensimnumpy scikit-learn

Hierarquia de Origem

Workflow de Transformação

HierarquiaResultante

Visualização

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Índice deFacetas

pymongo

networkx gensimnumpy scikit-learn

Hierarquia de Origem

Workflow de Transformação

HierarquiaResultante

Visualização

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Índice deFacetas

pymongo

networkx gensimnumpy scikit-learn

matplotlibObsPy

InfoViz.jsD3.js

Hierarquia de Origem

Workflow de Transformação

HierarquiaResultante

Visualização

Navegação daHierarquia

Iterador

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Índice deFacetas

pymongo

networkx gensimnumpy scikit-learn

matplotlibObsPy

InfoViz.jsD3.js

Hierarquia de Origem

Workflow de Transformação

HierarquiaResultante

Visualização

Navegação daHierarquia

Iterador

ExtraçãoNLTK

Pre-processamento

BeautifulSouppyPdf

Índice deFacetas

pymongo

networkx gensimnumpy scikit-learn

matplotlibObsPy

InfoViz.jsD3.js

os.walkpydeliciousevernote

Conclusão

Resumo

• Organografos: metodologia, arquitetura,utilização

• Capturar a tarefa por trás de uma organização

• Avaliar, reorganizar e compartilhar.

27

Agradecimentos

• Laboratório de Sistemas de Informação (IC-Unicamp)

http://www.lis.ic.unicamp.br• Brazilian Institute for Web Science Research

http://webscience.org.br• Globo.com

28

Obrigado a todos pela atenção.

Rodrigo Dias Arruda Senrahttp://rodrigo.senra.nom.br

rsenra@acm.org

As opiniões e conclusões expressas nesta apresentação são de exclusiva responsabilidade de Rodrigo Senra.

Não é necessário requisitar permissão do autor para o uso de partes ou do todo desta apresentação, desde que não sejam feitas alterações no conteúdo reutilizado e que esta nota esteja presente na íntegra no material resultante. Em caso de alterações, favor consultar o autor.

Imagens e referências para outros trabalhos nesta apresentação permanecem propriedade daqueles que detêm seus direitos de copyright.

Hierarquia de Origem

HierarquiaResultante

Usuário do Organografo

Índice deFacetas

Pre-processamento

Extração

Navegação daHierarquia

Workflow de Transformação

Execução de Organografo

FCat() FHil()

Visualização

Iterador

Organicer

31

Organicer

31

Organicer

31

Organicer

31

Organicer

31

top related