Organicer: Organizando informação com Python
-
Upload
rodrigo-senra -
Category
Documents
-
view
1.048 -
download
1
description
Transcript of Organicer: Organizando informação com Python
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
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