Análise exploratória de textos

Sobre o que falam os documentos oficiais? Quais as palavras mais frequentes? Este é um notebook para exploração inicial do texto dos documentos municipais. Atualmente só mostra as palavras mais frequentes, mas há outras análises interessantes.

O exemplo é com as Leis Municipais, porém qualquer documento oficial pode ser carregado para realizar a mesma análise.

Algumas ideias para melhorar esse notebook:

Algumas referências para ideias e melhorias:

Pré-requisitos

Para rodar este notebook, você precisa de um conjunto de textos (corpus).

Atualmente usamos o corpus das Leis Municipais, presente no arquivo leis.json, disponível no Kaggle.

Abaixo um exemplo de uma lei do munícipio

Quais as palavras mais comuns?

A seguir, geramos uma visualização das palavras mais comuns no texto das Leis. Algo que pode ser desenvolvido em uma núvem de palavras.

A ideia é descobrir palavras chave recorrente nas Leis. Sobre o que falam nossas Leis Municiapis?

Removendo stopwords

Stopwords são palavras a serem removidas na etapa de pré-processamento do texto. Em geral são palavras muito comuns, utilizadas em quase todos os textos, ou não possuem valor descritivo do que diz o texto.

Em ambos os casos, não possuem informação sobre o que trata o texto, que é o que a gente quer visualizar com a frequencia das palavras do texto.

O método clean_text já remove algumas stopwords padrões do português, como preposições, artigos, etc: ("de", "a", "este").

Utilizamos o módulo Counter do Python para visualizar as palavras mais comuns nos textos das Leis e decidir se elas possuem valor semântico ou não. Isto é, se descrevem o conteúdo do texto ou não. As palavras que não possuirem, incluímos na lista de stopwords, palavras a serem removidas.

Selecionando as stopwords

Palavras como: 'art' (artigo), 'municipal', 'lei', 'rua', 'feira', 'santana', 'prefeito', 'câmara', 'município', 'publicação', 'seguinte', 'disposições', 'estado', 'bahia', 'vigor', aparecem em quase todas as Leis, portanto elas não identificam bem o texto das Leis.

Letras do alfabeto e números romanos, como: 'i', 'ii', 'iii', 'd', 'n', 'r' também aparecem bastante no texto das Leis e não possuem valor semântico. Também vamos remove-las.

Analisando o resultado

O que esperava era obter palavras comuns no texto das Leis que também descrevessem o conteúdo.

Existem algumas palavras descritivas do conteúdo, por exemplo "revogadas", "secretaria", "serviços", "despesas", "social", "saúde", de certa forma descrevem o conteúdo das Leis.

Aparecem alguns nomes próprios, como "José", "Silva", "Santos", "Carvalho". Nomes frequentes na base de dados. Os nomes do prefeito em exercício, do edil, presidente da câmara e outros cargos, frequentemente aparecem no texto das Leis. O que por exemplo explica os nomes José e Carvalho, que aparecem no nome do prefeito José Ronaldo de Carvalho, ganhador de 4 pleitos no município.

No entanto apenas estas palavras não dão uma boa indicação sobre o conteúdo destas Leis. Por isso, sugerimos no começo deste notebook algumas técnicas para extração tópicos dos textos, bem como as palavras mais frequentes nestes tópicos. Possivelmente este procedimento retornará um resultado mais interpretável.