Treinamento supervisionado de modelo de Machine Learning de classificação e Análise de Sentimento com base no texto dos comentários dos tweets coletados do perfil institucional do Ministro de Infraestrutura no Twitter, a fim de auxiliar na tomada de decisão.
O projeto ainda está em desenvolvimento e as próximas atualizações serão voltadas nas seguintes tarefas:
- Análise exploratória dos dados
- Limpeza e preparação dos dados
- Treinamento e teste cego de modelos de classificação
- Otimização de hiperparâmetros
- Avaliação e interpretação dos resultados
- Apresentação para a área de negócio
- Implantação do modelo em produção
- Máquina com sistema operacional
<Windows / Linux / Mac>
; - Ambiente de desenvolvimento
<Google Colaboratory> <Jupyter Notebook>
; - Linguagem de programação
<Python>
.
O Ministério da Infraestrutura tem como visão tornar o Brasil líder em infraestrutura de transportes na América Latina e para isso é preciso “mensurar” o quão perto isso está de acontecer. Uma das formas de se fazer isso, seria utilizar os dados do Twitter analisando o que os cidadãos têm falado sobre as rodovias brasileiras, por exemplo.
No entanto, analisar os dados de maneira manual e classificar os tweets nas classes positivo, negativo ou questionamento é uma tarefa custosa, complexa e passível de erro humano ou subjetividade.
Treinamento supervisionado de modelo de Machine Learning de classificação e Análise de Sentimento com base no texto dos comentários dos twitters coletados do perfil institucional do Ministro de Infraestrutura no Twitter.>
As bases de dados utilizadas são abertas e não possuem dados sigilosos.
- Banco de dados do MInfra: contém Tweets coletados e classificados manualmente pela área de negócio do MINFRA;
- Base de dados do Kaggle com tweets já classificados: para aumento do número da classe 'negativo';
- Base de dados complementar:Tweets coletados e classificados manualmente por nós para aumento do número da classe 'questionamento';
Atributo texto_reply: contém os textos dos comentários do Tweeter.
Atributo classificacao: contém as três classes de sentimentos <positivo, negativo ou questionamento>
- Exploração de dados:
<Pandas> <Numpy>
- Visualização de dados:
<Seaborn> <Matplotlib> <Plotly>
- Limpeza e Preparação dos dados:
<Regex>
- Processamento de Linguagem Natural:
<NLTK> <Spacy>
- Treinamento:
Sklearn <Train Test Split, Cross validation>
- Modelos de Machine Learning:
Sklearn <SGDClassifier, SVC, DecisionTreeClassifier, RandomForestClassifier, MultinomialNB, XGBClassifier>
- Otimização de hiperparâmetros:
Sklearn <GridSearchCV, Pipeline>
- Avaliação dos resultados:
Sklearn <F1-score, DummyClassifier, Matriz de Confusão>
- Interpretação do modelo:
Sklearn <SGDClassifier.coef_> <Eli5>
As redes sociais são, atualmente, grandes fontes de dados capazes de capturar a opinião pública sobre os mais diversos assuntos. Dessa forma, podem contribuir significativamente para o aumento da participação social nas políticas públicas.
Esse projeto buscou mensurar a opinião pública sobre o tema de negócio rodovias, do Ministério de Infraestrutura e avaliar sua aplicabilidade para melhoria da tomada de decisão no âmbito institucional.
Os resultados aferidos pela aplicação da análise de sentimento foram capazes de identificar com precisão satisfatória o número de opiniões positivas, negativas e questionamentos referentes ao tema "rodovias" adotado como objeto de estudo.
Conforme demonstrado pela métrica F1 score, que combina precisão e recall, houve qualidade geral do modelo de **80% **que indica a possibilidade de aplicação em produção, inclusive em conjunto de dados desbalanceados.
Segue abaixo, demais considerações sobre o modelo desenvolvido:
-
Extração de insights, que permitem ao gestor atuar de forma proativa e redefinir estratégias de ação (cidadão como parceiro e coprodutor de políticas públicas):
- Reclamações sobre o preço dos pedágios;
- Questionamento sobre duplicação de trechos rodoviários e BR470;
-
Entendimento de como os clientes enxergam o negócio (cidadão como sensor e não apenas alvo de informações do governo):
- Verificou-se uma maior quantidade de comentários positivos em relação aos negativos e questionamentos, no período apurado.
-
Visão abrangente e próximo do tempo real do feedback dos usuários em todo território nacional.
- A biblioteca utilizada no processo de lematização não funciona tão bem com palavras em português;
- Melhoria do processo de limpeza, que é custoso;
- Melhoraria e padronização do processo de coleta:
- foram perdidos os emojis durante a coleta?
- houve moderação?
- classificação enviesada por ter sido feita apenas por uma pessoa?
- Nova coleta de tweets negativos e questionamento pela área de negócio;
- Utilização de modelo pré-treinado, como o BERT, seria mais eficiente?
- Utilização de técnicas de deep learning;
- Aplicar técnicas capazes de melhorar a precisão da classificação automatizada em textos com alta carga de ironia e ambiguidade.
Agradecemos às seguintes pessoas que contribuíram para este projeto:
Francisco Edmundo Andrade |
Liliane Vieira Lopes |
Marcela Gomes Corrêa |
Priscilla A. S. Rodrigues |
Jose Renato Borelli |
Esse projeto está sob licença Creative Commons. Veja o arquivo LICENÇA para mais detalhes.