Skip to content

análises dos pronunciamentos de senadores e senadoras

License

Notifications You must be signed in to change notification settings

liquera/fala-senado

Repository files navigation

Fala Senado

Projeto que busca analisar os pronunciamentos de senadores e senadoras em Python com técnicas de Processamento de Linguagem Natural, Linguística de Corpus, Análise de Sentimento e por aí afora.

Começando

Essas instruções vão te ajudar a pegar uma cópia do projeto e fazer ela funcionar na sua máquina para testar.

Pré-requisitos

Além do Python 3.6+, é necessário um ambiente com as seguintes bibliotecas e suas respectivas dependências:

  • pandas
  • nltk
  • sklearn
  • matplotlib
  • requests
  • lxml
  • beautifulsoup
  • unidecode

Instalando

É preciso configurar um ambiente com os pré-requisitos acima.

Executando

Para que os exemplos de análise nesse repositório funcionem, é preciso salvar todos os scripts numa mesma pasta e executá-los numa determinada ordem. Os primeiros scripts vão buscar os objetos de análise na internet, são eles:

  • lista_senadores: salva um xml temporário e um csv com dados básicos de cada senador(a). 152kb+ e 13kb+
  • lista_urls: salva um csv com os links de cada pronunciamento que será acessado. 2,6MB+
  • todos_textos: acessa os links e salva um csv com todos os pronunciamentos de maneira organizada. 400MB+
  • bow_partidos: a partir do csv maior, organiza um csv menor com os textos por partido para análise com bag of words (bow). 250MB+

Depois de salvar a base de dados, as análises podem ser feitas em qualquer ordem:

  • comp_freq: a partir dos bows dos partidos, compara a frequência relativa de termos nos pronunciamentos. Exemplo: educação, saúde, segurança/todos partidos exemplo comp_freq

  • graf_termo: a partir do csv geral, faz um gráfico comparativo que mostra a evolução da frequência de determinado termo pelo tempo por partidos. Exemplo: educação/PT, MDB, PSDB exemplo graf_termo

  • tfidf: a partir do csv geral, vetoriza os termos de um partido por data e pontua com TF-IDF, revelando os termos mais importantes por data do partido escolhido. Exemplo: PT exemplo tfdif

  • tfidf_link: a partir do csv geral, vetoriza os termos de cada pronunciamento e pontua com TF-IDF, revelando os termos mais importantes por pronunciamento no senado. salva em csv.

  • assuntos: a partir do csv geral e do csv gerado com o tfidf_link, cria um gráfico que mostra os 3 unigramas mais importantes(1) mencionados pelo senado por semestre. a altura de cada barra determina a força daquele assunto no semestre.

(1)importância de acordo com a frequência do termo em relação a sua frequência invertida no corpus (tf-idf) Exemplo: todos os partidos, por semestre exemplo assuntos

Notas

Os scripts têm indicações de funcionamento dentro deles para maiores detalhes. Não sou especialista em Python, muito menos em programação, qualquer ajuda é bem-vinda.

Contribuições

O projeto ainda tá engatinhando, entre em contato para discutirmos possíveis contribuições.

Licença

Esse projeto está licenciado sob os termos do AGPL 3.0 - veja o arquivo LICENSE para mais detalhes.

About

análises dos pronunciamentos de senadores e senadoras

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published