Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Organizando a informação pública brasileira com...
Search
Gabriel Jordão
October 02, 2013
300
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Organizando a informação pública brasileira com Python e NLP
Gabriel Jordão
October 02, 2013
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Thoughts on Productivity
jonyablonski
76
5.4k
How STYLIGHT went responsive
nonsquared
100
6.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
410
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Code Review Best Practice
trishagee
74
20k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Utilizing Notion as your number one productivity tool
mfonobong
4
580
Transcript
Organizando a informação pública brasileira com Python e NLP Gabriel
Jordão Engenheiro de Software na JusBrasil
• A informação Pública Brasileira • Problemas • Organizando a
informação
A informação pública brasileira
+200k páginas A4 por dia
Diários Oficiais
Conforme Lei Municipal nº 10.919/90, regulamentada pelo Decreto Municipal nº
29.586 /91, que dispõe sobre a obrigatoriedade de o Executivo Municipal dar publicidade à poda e corte de árvores
Concursos Gastos públicos Processos E muito mais informações relevantes Não
é só isso…
Parece perfeito...
Mas no Brasil, dificilmente é... FAIL
E o cidadão?
Lentos Com busca precária Documentos não estruturados Diários antigos inacessíveis
Diversos sites
Por dia
Para ler um diário
E aí, vamos melhorar isso? NLP, Estruturação, Busca unificada, etc
None
Vamos começar a processar essa informação!
Basta crawlear e processar os pdfs!
None
None
None
+700k acessos por dia
None
Mas e o Python e NLP nessa história?
Como faz?
Identificação de entidades (NER) Pessoas, Órgãos, Datas, Atos, Ações, etc
O MINISTRO DE ESTADO CHEFE DA CONTROLADORIA-GERAL DA UNIÃO ,
no uso da competência que lhe foi subdelegada pelo art. 1º da Portaria nº 1.056, do Ministro de Estado Chefe da Casa Civil da Presidência da República, de 11 de junho de 2003, resolve: ...
Domínio específico para linguagem jurídica
Machine Learning Aprendizado supervisionado Aprendizado não supervisionado
Precisamos de dados!
Interface para treinamento
Arquitetura do Projeto Training Interface Flask Backend Scikit Learn Celery
Flask Etc... MySQL Training Set Service HBase Elastic Search Redis Etc... Restful
Na prática!
Machine Learning com Python
None
Classificando
svm.LinearSVC
svm.LinearSVC >>> from sklearn import svm >>> features = [[2,
120], [4, 950]] >>> labels = [0, 1] >>> clf = svm.LinearSVC() >>> clf.fit(features, labels) >>> clf.predict([[4, 960]]) array([1])
Features para o NER
None
Tipo da palavra Romano UPPER CASE Camel Case Número Pontuação
Etc...
O Reitor em exercício da Universidade Federal de São Carlos,
no uso de suas atribuições legais e estatutárias Contexto
Convertendo os dados
>>> measurements = [ ... {'city': 'Sao Paulo', 'temperature': 33.},
... {'city': 'Rio de Janeiro', 'temperature': 12.}, ... {'city': 'Salvador', 'temperature': 18.}, ... ] >>> from sklearn.feature_extraction import DictVectorizer >>> vec = DictVectorizer() >>> vec.fit_transform(measurements).toarray() array([[ 1., 0., 0., 33.], [ 0., 1., 0., 12.], [ 0., 0., 1., 18.]]) >>> vec.get_feature_names() ['city=Sao Paulo', 'city=Rio de Janeiro', 'city=Salvador', 'temperature']
Matrizes esparsas
Serialização de classificador em Pickle Processamento distribuído com Celery Na
produção
Identifiquei as entidades, E ai ?
Estruturação de documentos
Notificações
Evoluindo o Classificador
Graph Search
Onde podemos chegar?
Perguntas?
Estamos contratando
[email protected]
Obrigado! github.com/gabrielpjordao
[email protected]
gabrielpjordao.jusbrasil.com.br