Text classification for brazilian news

Encontrar trabalhos de limpeza e categorização de textos em lingua portuguesa não era algo tão comum na época em que este projeto foi desenvolvido, então abordei de forma prática e direta a classificação múltipla de categorias utilizando uma base de dados de notícias de portais brasileiros. Busquei esse tema para poder me desenvolver em NLP e para poder testar esse conhecimento antes de finalmente aplicá-lo em um desafio que estava enfrentando no ambiente de trabalho.
Por essa finalidade mais técnica, você não encontrará uma apresentação visual do projeto, mas poderá entender como desenvolvi a ideia, a organização de código e as técnicas para limpeza de texto, para gerar wordclouds e para implementar a regressão.
Principais insights
90.2%
acurácia
89.9%
revocação
89.8%
f-1
Conclusões
A base de dados original conta com mais de 10.000 notícias brasileiras sobre os temas de ESPORTES (60%), ESCONOMIA (15%), POLITICA (13%), TECNOLOGIA (6%) e FAMOSOS (5%). Apliquei técnicas de remoção de caracteres especiais e acentos, retirei stopwords e padronizei as palavras através de stemmatization e lemmatization.
Em uma EDA rápida e com a ajuda de dois wordclouds, conseguimos ver que por trás de cada conjunto de notícias encontrávamos diferentes grupos de palvras. Visando utilizar a nosso favor o comportamento mencionado acima, dividi a base em dois conjuntos de dados aqui nomeados "treino" (70% dos dados) e "teste" (30% dos dados) e apliquei a técnica de TF-IDF para preparar a base para a aplicação de um modelo de regressão logística multi categorias. Os resultados finais foram uma acurácia de 90.2% e uma revocação (recall) de 89.9%.
Apresentação

Galeria de imagens


