Este repositório contém
O sistema foi desenvolvido no MacOS Mojave, no entanto deve ser possível também a instalação das ferramentas em outros sistemas operacionais, em especial no Linux.
O projeto foi desenvolvido em Python 3.7.4 e Nodejs 10.6.3, os quais devem estar previamente instalados.
Recomenda-se o uso do virtualenv
para isolar as dependências do ambiente Python.
Para instalar as dependências do Python, basta navegar até o diretório raiz do projeto (/hackathon_sebrae):
pip install -r all_requirements.txt
Alguns pacotes python dependem da instalação de dependências no Sistema Operacional nativo.
Para a parte do nodejs, em /hackathon_sebrae/scraper
, digitar:
$ yarn install
Todos os programas foram desenvolvidos para uso na linha de comando, não há interface gráfica (poderia existir no futuro).
Os programas ou scripts em python
são executados utilizando python nome_do_programa.py
. Uma mensagem simples de argumentos esperados é saída.
Vamos descrevê-los um a um brevemente.
O web scraper executado em nodejs também pode ser chamado a partir de um script wrapper
em Python.
Usage: enrich_with_icms.py dataset_filepath active_txt cancelled_txt output_directory
Parâmetros:
dataset_filepath: Caminho para dataset de entrada no formato .csv (fornecido pelo SEBRAE) active_txt: Caminho para arquivo .txt de registros ativos no ICMS cancelled_txt: Caminho para arquivo .txt de registros cancelados no ICMS output_directory: Diretório de saída
Enrique o dataset original do sebrae com duas colunas extras, Situação no ICMS e Data de Cancelamento (se foi cancelado). Depende dos arquivos disponiblizados em:
https://www.fazenda.pr.gov.br/modules/conteudo/conteudo.php?conteudo=109
Usage: scraper_wrapper.py dataset output_directory [batch_mode]
Recebe um dataset de entrada em arquivo .csv, no formato fornecido pelo SEBRAE nesta competição,
e aciona o web scraper Puppeteer para buscar os primeiros links fornecidos pelo Duckduckgo, salvando cada resultado em
.json
no diretório fornecido. A função batch_mode ainda não foi habilitada (trabalhos futuros)
Usage: cei_requester.py input_dataset output_directory
Consome API da Receita para consultar informação de CEIS para os CNPJs da base de entrada.
Consome API da Receita para consultar informação de CNEP para os CNPJs da base de entrada.
Usage: cnep_requester.py input_dataset output_directory
Ainda não utilizado (trabalhos futuros).
Não é necessário acessá-lo diretamente, aqui há diferentes versões do web scraper que utiliza a ferramenta Puppeteer do Google.
Bases originais fornecidas pelo SEBRAE.
Bases enriquecidas com o uso do script enrich_with_icms.py
.
Usage: preprocess_captcha.py image.jpg
Realiza a segmentação de uma imagem captcha no site do governo do Paraná para posterior conversão em texto. Ferramenta base para automatização por web scraping da coleta de informações.
Imagens do captcha coletadas para realizar o desenvolvimento do algoritmo de segmentação da imagem. Poderá ser utilizado no desenvolvimento de um algoritmo de aprendizagem supervisionada.
Os demais arquivos neste diretório são versões experimentais do algoritmo de segmentação.