O blog da AWS

Correção de Provas usando Inteligência Artificial na AWS – Parte 1 (Redações)

Por Isabela Gherson Monteiro, Arquiteta de Soluções AWS; Wembley Carvalho, Arquiteto de Soluções Senior AWS e Gabriel Martini, Arquiteto de Soluções Senior AWS.

Entenda como usar Inteligência Artificial Generativa e a tecnologia AWS para corrigir redações manuscritas usando regras de correção customizadas

Para o setor educacional, é essencial poder aplicar regularmente provas como método avaliativo para os alunos durante o ano. Existem diversos tipos de provas, mas podemos destacar como mais frequentes os modelos de questões dissertativas, múltipla-escolha e redação dissertativa argumentativa. Durante o processo de aplicação de provas, o estágio que toma a maior parte do tempo para os professores é o de correção, principalmente para os modelos dissertativos, onde centenas a milhares de provas completamente diferentes se acumulam para serem corrigidas em um curto intervalo de tempo. Além disso, o professor também precisa seguir múltiplos critérios de correção, e manter consistência na avaliação para todos os alunos.

Para escalar esse processo avaliativo, é possível utilizar Inteligência Artificial como ferramenta de apoio ao professor para otimizar o tempo das correções. Nessa série de blogposts exploraremos como é possível usar o Amazon Bedrock (serviço que representa a forma mais simplificada de implementar aplicações de IA Generativa na AWS) para o desenvolvimento de soluções de baixo custo que automatizam o processo de correção de provas, inclusive no modelo manuscrito através da extração ótica de caracteres.

Este é o primeiro artigo da série de blogposts AWS relacionada ao tema de correção de provas, e irá cobrir o caso de uso de correção de redações. Se tiver interesse em ver as outras soluções, acesse:

• Correção de Provas usando Inteligência Artificial na AWS – Parte 2 (Questões dissertativas) (a ser publicado em breve)

Observação: O link da próxima parte será atualizado após a divulgação do blog.

O processo de correção de redações

As redações dissertativas representam uma forma frequente de avaliação educacional, principalmente para vestibulares. Elas são usadas para testar o conhecimento, a capacidade de argumentação e habilidades de escrita dos alunos sob determinado assunto. Nesse modelo de prova, o aluno precisa elaborar um texto de múltiplas linhas, que usualmente precisa seguir determinada estrutura e possui parâmetros de correções a serem considerados antes de atribuir a nota ao aluno.

Para otimizar o tempo do professor, é possível utilizar modelos de Inteligência Artificial Generativa para assistir durante o processo de correção de redações, automatizando avaliações das dissertações a partir de critérios de correção pré-definidos. Neste artigo, vamos explorar uma solução sem servidor, robusta e escalável para análise automatizada de redações. Sua arquitetura combina serviços de armazenamento, computação em nuvem, Inteligência Artificial Generativa e uma aplicação web para criar um sistema eficiente de análise de redações. Vamos detalhar cada componente e etapa do processo na sessão a seguir.

Solução: Correção Automática de Redações

A imagem a seguir apresenta um diagrama da Solução:

Imagem 1: Diagrama da Solução

Imagem 1: Diagrama da Solução

A seguir, temos a descrição da solução, seguindo o fluxo descrito na arquitetura:

1 – Amazon CloudFront:
O ponto de entrada da solução é uma página web estática servida pelo Amazon CloudFront. Este serviço de CDN (Content Delivery Network) garante baixa latência e alta disponibilidade.

2 – Amazon S3 static website hosting:
A página web, baseada em React Native, é hospedada em um bucket do Amazon S3 configurado para hospedagem de sites estáticos.

3 – Amazon API Gateway:
O Amazon API Gateway serve como porta de entrada para todas as APIs da solução, que são requisitadas conforme o usuário (professor) interage com a aplicação web.

4 – API de Upload (upload_exam):
API responsável por gerar URLs pré-assinadas para upload seguro de redações. Essa API é inicializada ao executar o upload de uma nova redação a ser corrigida, e carrega uma nova imagem no Bucket S3.

5 – Repositório de redações:
Este bucket do Amazon S3 armazena todas as redações enviadas através da API de Upload, utilizado também para visualização das redações via API download_exam. O acesso as imagens ocorrem apenas via URL pré-assinada, com acesso temporário e gerada pela API de download.

6 – API de Download (download_exam):
API responsável por recuperação de redações de forma segura usando URLs pré-assinadas com tempo limitado de acesso. Essa API é inicializada ao acessar o resultado da transcrição e da revisão da redação, para recuperar a imagem armazenada no bucket do Amazon S3.

7 – API de Listagem (get_exam):
API responsável por recuperar a lista de redações enviadas, que é executada toda vez ao carregar a página principal e de revisões da aplicação web, para listar as redações disponíveis e também as revisões armazenadas na base de dados do Amazon DynamoDB.

8 – Amazon DynamoDB:
O Amazon DynamoDB oferece um banco de dados NoSQL totalmente sem servidor. Na solução, uma tabela do Amazon DynamoDB é utilizada para armazenar os resultados das análises.

9 – Função de Análise (analyze_exam):
Esta função é o principal componente da solução e é acionada automaticamente após o upload de uma nova redação. Ela é responsável por extrair o texto da redação enviada e executar a correção. Para isso, ela executa chamadas de API para o modelo Anthropic Claude Sonnet 3.5 através do serviço Amazon Bedrock. Na instrução enviada ao modelo para a avaliação, são especificados os critérios de correção a serem utilizados, que podem ser ajustados posteriormente para uma solução customizável. Todos os resultados são armazenados na tabela do Amazon DynamoDB.

10 – Amazon Bedrock com Anthropic Claude Sonnet 3.5:
O Amazon Bedrock é um serviço de Inteligência Artificial Generativa da AWS, que fornece acesso a diferentes Large Language Models (LLMs) através de chamada de API. Para análise da redação, optamos por utilizar o modelo da Anthropic Claude Sonnet 3.5. Em testes da solução, essa versão do modelo performou melhor para a interpretação imagens das redações em português e geração da transcrição.

Demonstração

Para implementação da solução siga o passo a passo descrito no repositório público da solução, que irá utilizar o AWS Serverless Application Model (AWS SAM) para provisionar a infraestrutura necessária para a aplicação de correção.
Após a conclusão do provisionamento da stack usando o AWS SAM, é enviado como output o link do Amazon CloudFront onde você poderá acessar a aplicação. Siga o passo a passo a seguir para testar o uso da solução:

1) Carregue uma nova redação: Na aplicação, clique em selecionar uma imagem, escolha uma foto com extensão jpeg da redação a ser corrigida e depois clique em carregar imagem. Isso irá carregar a sua redação no Amazon S3, e depois inicializar o fluxo de análise da redação.

Imagem 2: Carregando uma redação na aplicação

2) Analise os resultados: A aplicação gera como saída a transcrição da redação, e a correção, com notas atribuídas pelo modelo a partir do critério de correção de exemplo. Nesta demonstração utilizamos o padrão de correção do ENEM, especificando cada uma das 5 competências e suas devidas pontuações. Para acessar a transcrição e a correção, basta clicar no ícone abaixo de cada um:


Imagem 3: Registro de Análise de redação

A seguir, resultados de transcrição e de correção de uma redação de exemplo:

Imagem 4: Transcrição da redação

Imagem 5: Correção da redação

Imagem 6: Continuação – Correção da redação

Observação: A solução foi desenvolvida incluindo os critérios de avaliação do ENEM no prompt enviado ao modelo. É possível alterar o código para trabalhar com outros critérios de correção e customizar sua própria solução. Também observamos que a solução é uma prova de conceito e que sua performance pode ser otimizada com técnicas de engenharia de prompt e maior customização.

Com relação a segurança, por se tratar de uma Prova de Conceito, alguns cuidados como, quem pode subir redações para correção ou quem pode acessar os resultados, bem como autenticação de usuários e auditoria de acessos, não estão sendo abordados e precisam se enquadrar às regras de negocio de cada instituição.

Conclusão

Neste blogpost abordamos como é possível utilizar inteligência artificial generativa como ferramenta de apoio ao Professor para o processo de correção de redações.

A arquitetura sem servidor da solução oferece uma ferramenta escalável para análise automatizada de redações. Ao combinar serviços da AWS para hospedagem e análise usando Inteligência Artificial Generativa, o sistema pode lidar com um grande volume de redações de forma eficiente e econômica, fornecendo correções detalhadas e recomendações que podem ser aliados ao processo de avaliação executado pelos professores.

Este é o primeiro artigo de uma série de blogposts relacionados ao tema de correção de provas, que cobriu o caso de uso de correção de Redações. Se tiver interesse em ver as outras soluções acesse:

• Correção de Provas usando Inteligência Artificial na AWS – Parte 2 (Redações)(a ser publicado em breve)

Observação: O link da próxima parte será atualizado após a divulgação do blog.

Sobre os Autores:

Isabela Gherson Monteiro é Arquiteta de Soluções na AWS há 4 anos e ajuda clientes do setor educacional a construírem suas soluções seguindo boas práticas na nuvem AWS. É entusiasta nas áreas de Dados e Inteligência Artificial e faz parte da comunidade técnica de Analytics na AWS.
Wembley Carvalho – Arquiteto de Soluções na AWS desde 2019, mas com 10 anos de experiência em nuvem AWS, especializado em transformação digital em diversas indústrias, desenvolvendo projetos e soluções escaláveis e inovadoras em nuvem. Focado atualmente no setor educacional.
Gabriel Martini — Com experiência em engenharia de software, arquitetura de solução e ciência de dados trabalha com TI desde 2014 e ingressou na AWS em 2017. Na AWS atuou como Arquiteto de Soluções para grandes clientes, também trabalhou em iniciativas de pesquisa de dados abertos e atualmente atua como Arquiteto Especialista em Inteligência Artificial para o Setor Público, com foco em áreas como IA Generativa, MLOps e Visão Computacional.