A Rankdone é uma aplicação composta de um backend em PHP, um frontend em TypeScript (Angular) e diversos micro serviços, escritos em diversas linguagens, que agregam novas funcionalidades Este projeto foi para agregar o micro serviço de um corretor automático de redações utilizando ferramentas de Machine Learning. O projeto Avaliação de Redação teve o propósito de automatizar a avaliação de redações escritas por candidatos que participam de processos seletivos. O objetivo do projeto foi dar uma nota à redação de um candidato a uma vaga de emprego e gerar um ranqueamento dos candidatos que tiveram melhor desempenho na redação.
Sobre o projeto
Desafios na implementação
- Quantificar erros ortográficos levando em conta semântica das palavras.
- Verificar o quanto uma redação fugiu ao tema proposto.
- Avaliar a qualidade de escrita do candidato.
- Reunir dados com qualidade suficiente para treinar algoritmos de Machine Learning.
- Reunir, transformar e enriquecer dados para treinar e melhorar a acurácia e precisão dos algoritmos de Machine Learning.
- Processar um grande volume de dados durante o treinamento dos algoritmos de Machine Learning e de Processamento Natural de Linguagem.
- Automatizar o modelo de Machine Learning em produção.
Solução implementada
Para implementar o projeto Avaliação de Redação foram usadas as seguintes ferramentas:
- Jupyter Notebook com Scikit Learn: Para prototipagem do projeto.
- Python com Spark MLlib: Implementação do modelo de Machine Learning e pré-processamento dos dados.
- NiFi, Kafka, Hadoop: Para ingestão de dados via streaming de documentos de textos e armazenamento de dados.
- Docker, Jenkins, Apache Airflow e MLFlow: Para automação de processos de Machine Learning – DataOps. Teste automatizado, qualidade e alertas e qualidade do ambiente de produção.
- ArangoML: para gerenciamento de modelos.
Benefícios e resultados
- Disponibilização de novo micro serviço para a plataforma Rankdone.
- Corrigir uma grande quantidade de redação, dar notas e fazer o ranqueamento em pouquíssimo tempo.
- Diminuir custos com profissionais que corrigem redações.
- Reduzir o viés ideológico de avaliação de redações por seres humanos.
- Criação de algoritmos de Machine Learning Escaláveis.
- Criação de modelos de Machine Learning com aplicação de DataOps.