Monitor Virtual

Este projeto tem como finalidade auxiliar o aluno durante o ensino através da explicação de questões/dúvidas do aluno, assim como a realização de avaliação do aluno através das questões formuladas. Ambos processos de forma autônoma, por meio de metodologias computacionais.

Motivação

O amplo acesso à educação é um dos principais objetivos para o desenvolvimento econômico e social das nações. Para atender a expansão educacional, espera-se um aumento no número de alunos e na demanda por educadores. O acúmulo de diversas funções dos professores, torna cada vez mais necessário o desenvolvimento de meios automáticos para sanar as dúvidas dos alunos. Apesar dos inúmeros benefícios que a interação social entre educadores e alunos proporciona, o grande volume de dúvidas associado à autonomia de escolha do horário de aula, dificulta a troca de informações de forma presencial. Adicionalmente, a disponibilização de mecanismos nos quais os alunos possam se autoavaliar é de grande utilidade para o entendimento do conteúdo abordado.

Metodologias

Conforme descrito anteriormente, o projeto possui dois objetivos: solução de dúvidas e autoavaliação a partir da resposta a um questionário. Subprocessos são comuns em ambas as vertentes.

Abaixo estão descritos todos os processos envolvidos em cada etapa do software. Em ordem é apresentado como foram coletados os documentos utilizados, como ocorre o procedimento de seleção dos documentos de acordo com as palavras do usuário, assim como a explicação do processo de geração de perguntas e respostas e, por fim, a etapa de verificação de similaridade entre frases.

Acervo de Documentos
Inicialmente foram pesquisados temas em diversos repositórios científicos (Elsevier, IEEE, etc). Alguns desses repositórios possuem acesso e requisição de documentos através de APIs. Para os outros, foi desenvolvido um Scraper para aquisição dos documentos com os temas de interesse.

Para o desenvolvimento do software Demo foram avaliados e escolhidos cerca de 30 livros sobre os temas de Data Mining e Redes Neurais. Em seguida, todos os livros em extensão pdf foram tratados através de pdfminer e OCR, especificamente com o software Tornado, desenvolvido pelo ICA. Na sequência foi realizado o pós processamento com o objetivo de retirar os trechos sem informação pertinente, tais como apresentação, sumário, anexos e etc.

Busca por Documentos Similares
Em ambos processos é necessário realizar a seleção dos documentos ou parágrafos que contenham informações pertinentes ao tema escolhido pelo usuário. Esta tarefa é considerada o estado da arte na área de Processamento de Linguagem Natural na subárea de Information Retrieval, que tem como foco reunir as informações mais relevantes para o tema escolhido pelo usuário. O software selecionou o módulo baseado no algoritmo BM-25, só que com aprimoramentos para a aplicação desejada.  

Este processo tem como entrada a pergunta do aluno e os arquivos pós-processados da etapa anterior (Acervo de Documentos) rearranjados em parágrafos. Após aplicado o algoritmo citado, obtém-se como resposta um conjunto com 5 parágrafos mais relevantes que segue para os processos subsequentes de geração de perguntas ou respostas.

Gerador de Perguntas
Nesse projeto, após inúmeros testes com diversos tipos de redes neurais, as redes escolhidas para gerar as perguntas foram UniLM e Prophenet, devido a sua comprovada eficácia na geração de perguntas relacionadas ao tema inserido pelo usuário.

O fluxo ocorre de acordo com a imagem abaixo. Uma vez inserido o tema desejado pelo usuário, os documentos mais correlatos são selecionados e separados em parágrafos, comumente chamados de contextos. Em seguida são selecionadas as palavras mais importantes deste conjunto de parágrafos/contextos. Por fim, após a seleção das palavras-chave (keywords), as perguntas são geradas através das redes que recebem como entrada tanto as palavras-chave como os contextos.

Gerador de Respostas
O processo de geração de respostas está presente tanto no modo de resposta às dúvidas como na avaliação do aluno através de perguntas geradas pelo software. A grande diferença entre os dois casos, está no objetivo da rede utilizada. Para o processo de gerar respostas, as redes utilizadas foram BERT e GPT-2, a primeira por ter um desempenho bom e resposta rápida e a outra rede por ter um ótimo desempenho apesar de um tempo de resposta mais demorado.

Assim como no modo anterior (resposta às dúvidas), após o usuário inserir o tema desejado, deve escolher o procedimento de solução de dúvidas. Em seguida, o usuário deve inserir a pergunta, que por sua vez será pré-processada para retirar algumas palavras que contém pouca importância para o entendimento da rede, como preposições, artigos, sinais, dentre outros. Novamente, após o pré-processamento são selecionados os documentos mais correlatos com o conjunto de palavras inserido. Em seguida são repassados como entrada das redes BERT e GPT-2 os contextos e as palavras processadas da pergunta.

Validação por Similaridade
Uma vez que o processo de geração de pergunta e resposta foi selecionado, a junção destes permite o processo automático de avaliação do aluno. Como o processo de avaliação exige a comparação entre duas respostas, a forma de avaliação escolhida para o software é através da similaridade de frases. Uma vez que o usuário insere a resposta à pergunta gerada pelo software, o sistema confronta a resposta do aluno com a resposta gerada pelo próprio programa. Essa comparação ocorre através da técnica de similaridade entre frases, que neste projeto utiliza a rede RoBERTa-base. Esta rede tem como entradas as duas frases: referência (resposta do sistema) e teste (resposta do aluno) e obtém como resposta um valor de 0 a 1, que indica a porcentagem de similaridade entre estas. A resposta do aluno é considerada correta quando a porcentagem atinge um valor acima de 0,5.

Além disso, esse processo de avaliação por similaridade também é executado ao final do processo de geração de perguntas. Tendo em vista que são geradas mais de 5 perguntas, o sistema precisa definir quais devem seguir para a etapa de escolha do usuário. Assim, devido à possível semelhança entre as perguntas geradas, a utilização do processo de validação por similaridade é necessário para que sejam selecionadas as perguntas mais distintas para a escolha do usuário.

Funcionamento

O software demo possui um fluxo de utilização. A primeira etapa consiste em mencionar qual a disciplina o aluno deseja aprofundar seus conhecimentos, por exemplo: data mining, statistics, deep learning, etc. Em seguida, o aluno deve escolher se deseja a resposta de uma dúvida (selecionando o valor 1), ou se deseja fazer a autoavaliação (selecionando o valor 2).