Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2023-24   2025-26



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2024-25

Especificación de formato y desarrollo de herramientas para el procesamiento de currículum vitae en el ámbito académico universitario


Tecnologías Específicas

Computación
 


Descripcion y Objetivos

A pesar de la existencia de un formato normalizado de currículum vitae (CVN) en España, la elaboración, mantenimiento y adaptación de los currículos a distintos contextos consume un tiempo significativo que los profesores e investigadores universitarios podrían dedicar a actividades más productivas. Esta circunstancia se debe, en parte, a que no existe una definición de bajo nivel del formato CVN, y la ausencia de un estándar específico para la representación de datos dificulta el desarrollo de herramientas abiertas para el procesamiento de currículos.

Este Trabajo de Fin de Grado (TFG) tiene como objetivo, partiendo del formato CVN, definir un esquema de datos para la representación de currículos en el ámbito universitario y de investigación en España. Dicho esquema debe posibilitar el desarrollo de herramientas abiertas para la gestión automatizada (creación, actualización y adaptación) de estos documentos.

Inicialmente, la definición y especificación de los datos se diseñará de forma agnóstica al formato de representación. Sin embargo, se propondrá un formato final basado en JSON, que permitirá almacenar los currículos directamente tanto en archivos de texto como en bases de datos NoSQL, y servirá como base para el desarrollo de aplicaciones de procesamiento. Además, se incluirán mecanismos que contemplen la modificación y ampliación del formato en futuras versiones.

Una vez definido el esquema, se desarrollarán dos herramientas principales. La primera será un analizador (parser) implementado en Python, que empleará Pydantic para la validación de datos, y servirá como base para otras herramientas. En particular, se desarrollará una aplicación específica para el almacenamiento en local y la exportación a LaTeX.

Finalmente, se explorará el uso de modelos de lenguaje de última generación (LLM) para crear una herramienta que permita importar currículos en este nuevo formato a partir del CVN generado por la aplicación de la FECYT.

 

 


Metodología y Competencias

El trabajo propuesto se estructura en las siguientes fases:

  • Estudio del formato CVN actual y análisis de sus limitaciones: Se llevará a cabo una revisión detallada del formato existente, identificando sus principales carencias y áreas de mejora.
  • Propuesta de un formato de bajo nivel, independiente del formato de representación: Se diseñará un esquema conceptual agnóstico al formato final de representación. Esta fase incluirá la elaboración de un borrador con la definición preliminar del formato.
  • Definición de un esquema JSON basado en el formato propuesto: Se desarrollará un esquema detallado en JSON, alineado con las especificaciones definidas en la fase anterior.
  • Desarrollo de una aplicación en Python para la lectura y validación de currículos: Esta herramienta utilizará Pydantic para validar los datos y garantizar la conformidad con el nuevo esquema.
  • Implementación de un parser para la exportación de currículos a LaTeX: A partir del esquema JSON, se desarrollará un módulo que permita generar documentos LaTeX de forma eficiente y estructurada.
  • Creación de una herramienta de importación basada en modelos de lenguaje (LLM): Se diseñará una aplicación que permita convertir los currículos generados en PDF por la aplicación de la FECYT al nuevo formato definido, utilizando tecnologías avanzadas de procesamiento de lenguaje natural.

Por otra parte, el proyecto trabaja las siguientes competencias de la intensificación de computación:

[CM1] Capacidad para tener un conocimiento profundo de los principios fundamentales y modelos de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar, y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática.
[CM2] Capacidad para conocer los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la creación, diseño y procesamiento de lenguajes.
[CM5] Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
[CM6] Capacidad para desarrollar y evaluar sistemas interactivos y de presentación de información compleja y su aplicación a la resolución de problemas de diseño de interacción persona computadora.

 


Medios a utilizar

Un PC, el lenguaje de programación Python.
API de OpenAI o acceso a otros modelos de lenguaje a través de otras servicios como Groq.
Acceso a bases de datos NoSQL, o a través de servicios gratuítos como MongoDB Atlas.

 


Bibliografía

  • JSON y definición de esquemas JSON: https://json-schema.org/
  • Representación y validación de datos en python con Pydantic: https://docs.pydantic.dev/latest/
  • Tutoriales de LaTeX: https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes
  • Almacenamiento de datos NoSQL con MongoDB: https://www.mongodb.com/
  • Uso de la API de OpenAI: https://platform.openai.com/docs/overview
 


Tutores


OSSA JIMENEZ, LUIS DE LA
GAMEZ MARTIN, JOSE ANTONIO
 

Alumno




 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2024-25
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete

informatica.ab@uclm.es
aviso legal