Instituto Mises Brasil – Uma análise editorial usando Natural Language Processing

Este post será o primeiro de uma pequena série onde eu fiz algumas analises sobre a mudança editorial do Instituto Mises Brasil usando um pouco de Natural Language Processing (NLP) e Latent Dirichlet Allocation (LDA). Este texto inicial é apenas a descrição do repositório em que os dados e os scripts estão armazenados. Tudo é livre e pode ser copiado e contestado sem nenhum tipo de restrição.

O endereço do repositório é: https://github.com/fclesio/mises-brasil-nlp/

Sabe quando algo muda na redação de algum jornal, revista ou algum meio de comunicação, mas você não sabe o que é? Pois bem, eu fiquei com a mesma dúvida e resolvi usar algumas ferramentas para validar se houve uma mudança ou não.

Background

Tem algum tempo que eu venho acompanhando a política brasileira da perspectiva de ensaístas de vertentes ligadas ao libertarianismo, anarcocapitalismo, secessão, autopropriedade e assuntos correlatos; e um fato que me chamou bastante a atenção foi a mudança editorial que está acontecendo de forma lenta em um dos principais Think Tanks liberais do Brasil que é o Instituto Mises Brasil (IMB).

Para quem não sabe, em meados de 2015 houve uma ruptura no núcleo do IMB em que de um lado ficou o Presidente do IMB (Hélio Beltrão) e do outro ficaram o Chiocca Brothers (Fernando, Cristiano, Roberto) que na sequência criaram o Instituto Rothbard. O motivo dessa ruptura foi devido a divergências relativas a artigos ligados a secessão.

E devido a esse processo de ruptura que eu penso que houve essa transição do IMB para uma linha editorial mais leve no que diz respeito a assuntos ligados à liberdade o que contrário as ideias do próprio Ludwig von Mises.

Qual o motivo desse repositório?

O principal motivo é fazer uma análise de dados simples usando Natural Processing Language (NLP) em todos textos do Mises Brasil para validar uma hipótese que é:

  • Hipótese [0]: Houve uma mudança editorial no Instituto Mises Brasil em que assuntos ligados ao austrolibertarianismo, liberdade, ética, e secessão e outras questões relacionadas deram espaço para temas efêmeros como financismo, burocracia e principalmente política.

Caso a resposta da H0 seja positiva, eu vou tentar chegar nas repostas das seguintes perguntas que são:

  • Pergunta [1]: Caso H0 for verdadeira, assuntos ligados ao austrolibertarianismo como praxeologia, fim do estatismo, ética argumentativa, e secessão estão sendo deixados de lado em termos editoriais?
  • Pergunta [2]: O Instituto Mises Brasil está se tornando em termos editoriais mais liberal-mainstream do que libertário?
  • Pergunta [3]: Houve uma mudança em relação ao grupo de assuntos que são tratados ao longo do tempo como também a mudança do espectro de assuntos dos articulistas presentes?

Preparação

Tudo isso foi gerado em um MacMini com Python 3.6, mas também pode ser executado em computadores com Linux com a pré-instalação das seguintes bibliotecas:

$ pip install numpy==1.17.2
$ pip install pandas==0.25.1
$ pip install requests==2.22.0
$ pip install spacy==2.2.1
$ pip install beautifulsoup4==4.8.1
$ pip install bs4==0.0.1
$ python -m spacy download pt_core_news_sm

Sinceramente: Usem o R para geração dos seus próprios gráficos. Eu adoro o Seaborn e o Matplotlib para geração de gráficos, mas nesse sentido o R é muito mais flexível e precisa de bem menos “hacking” para fazer as coisas ficarem legais.

Extração de dados

A base que está no repositório foi gerada em 16.10.2019 para fins de congelar a análise e deixar a mesma com um grau maior de replicabilidade.

A extração busca todos os textos, independente de ser artigo do blog ou post da página principal. Isso ocorre devido ao fato de que não há uma divisão das URLs que faça essa distinção e algumas vezes temos artigos do blog que viram posts na página principal.

Outro ponto é que deve ser mencionado é que o Leandro Roque é o principal tradutor/ ensaísta do site e alguns posts de tradução são assinados por ele (o que é correto). Isso leva a dois efeitos que são 1) ele e muito profícuo com o fluxo de artigos no site e definitivamente isso distorce as estatísticas individuais dele como ensaísta e 2) por causa das traduções ele tem um espectro de assuntos bem mais diversos do que os outros autores, e isso tem que ser considerado quando analisarmos os assuntos os quais ele mais escreve. Pessoalmente eu desconsideraria ele de todas as análises dado esses dois pontos colocados. Mas aí vai de cada um.

Para quem quiser gerar uma base de dados nova com os dados até a presente data basta executar o comando abaixo no terminal:

$ python3 data-extraction.py

Ao final da execução vão aparecer as seguintes informações:

Fetching Time: 00:16:52
Articles fetched: 2855

Avisos gerais

Essa análise é apenas para fins educacionais. É obvio que uma análise editorial que envolva questões linguísticas/semânticas é algo muito complexo até mesmo para nós seres humanos, e colocar que uma máquina consiga fazer isso é algo que não tem muito sentido dado a natureza da complexidade da linguagem e as suas nuances.

Esse repositório como também a análise não tem a menor pretensão de ser algo “cientifico”. Isso significa que não haverá elementos de linguística cognitiva, linguística computacional, análise do discurso ou ciências similares. Esse repositório traz muitas visões pessoais e observações que porventura usa alguns dados e alguns scripts.

Distribuição e usos

Todos os dados, scripts, gráficos podem ser usados livremente sem nenhum tipo de restrição. Quem puder ajudar faz um hyperlink para o meu site/blog ou pode citar academicamente que vai ajudar bastante.

Eu não sou dono dos direitos dos textos do Instituto Mises Brasil e aqui tem apenas uma compilação dos dados extraídos do site, dados estes públicos e que podem ser extraídos por qualquer pessoa.

Garantias, erros e afins

Não existe garantia nestas análises, gráficos, dados e scripts e o uso está por conta de quem usar. Vão ter muitos erros (principalmente gramaticais, sintáticos e semânticos) e na medida que forem acontecendo podem abrir um Pull Request ou me mandar um e-mail que eu vou ajustando. Porém, como eu vou escrevendo na velocidade dos meus pensamentos nem sempre o sistema responsável pela correção sintática vai funcionar bem.

Instituto Mises Brasil – Uma análise editorial usando Natural Language Processing

O Campeonato Brasileiro está ficando mais injusto? (UPDATE FINAL)

Introdução

Como o Campeonato Brasileiro terminou oficialmente neste domingo com o Flamengo campeão e com todas as rodadas encerradas, vamos novamente realizar a mesma pergunta que inicei no meu post que indaga: “O Campeonato Brasileiro está ficando mais injusto?

Mais uma vez fui na Wikipedia, e atualizei os dados já incluindo o ano de 2019.

A desigualdade estrutural no Campeonato Brasileiro é uma tendência?

Na primeira análise feita aqui no blog eu cheguei a conclusão de que Sim. Com o uso do Coeficiente de Gini como métrica para mensurar se há uma desigualdade estrutural mostrou que existem sim elementos latentes dessa desigualdade.

Dado a campanha excepcional do Flamengo que não só bateu o recorde de números de pontos em uma única edição, como também se considerarmos apenas os jogos fora de casa o Flamengo ainda sim não seria rebaixado (37 jogos – 11v 4e 4d) (Fonte: Tiago Vinhoza).

Mas como estamos falando aqui da variância da distribuição dos pontos dentro desta edição Brasileirão um fato colocado pelo @Impedimento foi que esta edição teve a Menor pontuação efetivamente conquistada por um time que se salvou: 39 (Ceará) sendo que eram necessários apenas 37 para se salvar. Ou como disse o Tiago Vinhoza, uma estratégia só de empates em todos os jogos já seria suficiente para se salvar.

Sem mais demora, vamos rodar os mesmos scripts agora com os dados atualizados.

Ranking de desigualdade entre todas as edições do Brasileirão usando o Coeficiente de Gini

Diferentemente da nossa última análise em que a edição de 2018 (Palmeiras campeão) era a mais desigual até então, essa edição com o Flamengo Campeão teve um aumento de 17% ((1 – (0.1449/0.1746)) x 100) na desigualdade em relação ao número de pontos em 2018, o que mostra que a tendência dessa desigualdade veio pra ficar.

Assim como fizemos anteriormente, vamos olhar com calma essa edição de 2019 para verificar alguns fatos interessantes:

Aos moldes da nossa última análise, vamos ver alguns pontos da tabela final:

  • O Flamengo finalmente furou a impressionante barreira dos 90 pontos em campeonato de 20 times; o que é para efeitos de comparação é o mesmo número de pontos que o Real Madrid e/ou Barcelona fazem em temporadas avassaladoras no Campeonato Espanhol o que indica que houve uma disparidade muito grande dentro de campo;
  • Como já colocado acima, uma estratégia de apenas empates (38 pontos) já seria o suficiente para sair do rebaixamento;
  • O Avaí foi o saco de pancadas desse brasileirão em que cedeu 72 pontos (24 * 3) ao longo da tabela para inúmeros times, e perdeu 22 pontos em empates (ou tirou de outros times). Alem disso tivemos além do Avaí mais 4 times com mais de 20 derrotas (Botafogo, CSA, e Chapecoense) o que possivelmente pode ter contribuído para essa desigualdade de pontos.
  • Tivemos na verdade 4 Campeonatos: Campeonato 1 que eu chamaria de “Passeio Flamenguista”; Campeonato 2 que seria “Briga pelo Vice estrelando Santos e Palmeiras”; e Campeonato 3 “Vagas na Libertadores e Sulamericana”; e o último campeonato (4) que seria “Quem vai ser rebaixado com o CSA, Chape e Avaí?”; e
  • Entre o 7o Colocado (Internacional) até o penúltimo colocado (Chapecoense) a maior diferença de pontos foram de 4 pontos.

Em linhas gerais o que podemos ver é que tivemos alguns blocos de times com um determinado número de pontos, mas o grosso de todos os pontos foram para os times de cima, em especial o Campeão e os dois vice campeões.

Vamos agora olhar a evolução dessa desigualdade ao longo do tempo, e comparar com as edições anteriores.

Na minha última análise eu tinha feito a seguinte consideração:

Algo surpreendente é que os vales costumam acontecer nos anos ímpares e os picos nos anos pares. Isso talvez seja explicado por algum efeito externo, tal como as Olimpíadas e Copa do Mundo que ocorrem em anos pares. E uma hipótese bem fraca, mas ainda sim é uma hipótese.

Ou seja: O Brasileirão desse ano não somente mostrou que essa era uma hipótese que não faz mais sentido, como mostra agora que é um outlier dentro de todas as edições de pontos corridos, em termos de desigualdade dos times.

Para suavizar um pouco esse efeito, vamos considerar aos moldes do post anterior apenas uma média móvel considerando um recuo de 3 anos.

Olhando com mais calma, podemos até mesmo pensar na hipótese de que Não foi o ano de 2019 que foi um outlier, mas os anos de 2017 e 2009 que são os verdadeiros outliers em relação à desigualdade.

Aos moldes do post anterior, vamos remover o campeão e o pior time de todas as temporadas e recalcular novamente.

Mesmo removendo o Avaí (pior time) e o Campeão (Flamengo) ainda sim o campeonato de 2019 continua o mais desigual de todos os tempos.

Vamos gerar o gráfico apenas para verificar se a tendência do aumento da desigualdade permanece ou não.

Olhando o Coeficiente de Gini removendo o campeão e o pior time, podemos ver que ainda temos a tendência de aumento da desigualdade dentro da liga.

Considerações finais

Se tivermos que responder a nossa pergunta principal que foi “O brasileirão está ficando mais injusto ao longo do tempo?” a resposta seria:

“Sim. Existe uma esigualdade estrutural no Campeonato Brasileiro com uma tendência de alta, sendo que a edição de 2019 foi a mais desigual de todas.”.

Aqui eu vou tomar a liberdade de realizar algumas considerações em relação ao que eu penso que pode estar acontecendo no Campeonato:

Por inspiração de uma interação que eu tive no Twitter com Tiago Vinhoza – @tiagotvv eu vou coletar os dados das ligas européias desde a década de 90 e analisar se essa desigualdade acontece nas outras ligas do mundo e comparar com a liga Brasileira.

Como sempre os dados e o código estão no GitHub.

Inequality in the Premier League – Çınar Baymul

An Analysis Of Parity Levels In Soccer – Harvard Sports

Which Sports League has the Most Parity? – Harvard Sports

Major League Soccer and the Effect of Egalitarianism – Harvard Sports

The Gini Coefficient as a Measure of League Competitiveness and Title Uncertainty – Australia Sports Betting

Mourão, P. R., & Teixeira, J. S. (2015). Gini playing soccer. Applied Economics, 47(49), 5229-5246

How “fair” are European soccer leagues? Gini index applied to points distribution of 5 soccer leagues between 2000 and 2015 – r/soccer

Footballomics: Estimating League Disparity Performance with a Point-Rank Gini Index – Christoforos Nikolaou

O Campeonato Brasileiro está ficando mais injusto? (UPDATE FINAL)