danielsp13 / CorrectIt

CorrectIt: un corrector de exámenes escritos en lenguaje natural.
GNU General Public License v3.0
0 stars 0 forks source link

SuperCatch

Infraestructura Virtual (2022/23)


Autor: danielsp13 (Daniel Pérez Ruiz). Repositorio para el proyecto de la asignatura Infraestructura Virtual del Grado de Ingeniería Informática de la Universidad de Granada.


:question: Problema a resolver

En la ESO / Bachillerato, se realizan muchos exámenes para comprobar que el alumnado entiende los contenidos que se imparten en las asignaturas. Sin embargo, no todas ellas se pueden realizar en un formato tipo test con opciones, si no que se requiere respuestas complejas en lenguaje natural, como puede ser el caso de Historia. El problema reside en que la corrección de dichos exámenes es una tarea en la que se tarda mucho tiempo, ya que no es una tarea puramente objetiva, lo que impide que el profesor se pueda dedicar a otras tareas, o que realice controles / tareas de seguimiento de la clase de forma más periódica para poder ayudar a sus alumnos en su fase de aprendizaje.

:bulb: Solución propuesta

Se propone una solución en forma de plataforma residente en la nube con el objetivo de:

  1. Automatizar la tarea de corrección de exámenes / controles que requieren respuestas en lenguaje natural.
  2. Deducir el rendimiento general de la clase a través de los resultados de dichos controles.

:page_with_curl: Documentación del Proyecto

Todo lo que se necesita saber acerca del proyecto se encuentra en las siguientes secciones:


:shell: Órdenes de instalación y verificación

Para instalar el gestor de dependencias y de tareas, en un ámbito global al usuario:

$ pip install poetry poethepoet

Para instalar las dependencias del proyecto:

$ poe install

Se creará un entorno virtual para la instalación de las dependencias utilizadas de forma aislada.

Una vez se ha realizado la anterior orden, será necesario instalar los datos de una de las bibliotecas de las que depende el proyecto, NLTK, de la que se habla en dependencias Para ello, hay que usar la orden:

$ poe nltk_data

Esta orden descarga en el directorio HOME del usuario los datos necesarios para algunas de las fases de la lógica de negocio (concretamente, la tokenización y eliminación de stopwords).

Para comprobar la sintaxis de las fuentes:

$ poe check

Para lanzar los tests que prueben el código implementado:

$ poe test

Para construir la imagen del contenedor Docker en local (requiere tener docker instalado):

$ poe build_docker

Para ejecutar el contenedor Docker y abrir una shell sin privilegios (eliminando el contenedor tras finalizar):

$ poe run_docker

Para eliminar la imagen del contenedor Docker:

$ poe rmi_docker

Secciones de interés

Para más información adicional referente al repositorio, puede consultar los siguientes enlaces: