se refactoriza las función extract_answers para que funcione con todos los schamas de datos de las respuestas estructuradas
This commit is contained in:
@@ -2,6 +2,19 @@ import pandas as pd
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from extraccion import agentes_entidades
|
from extraccion import agentes_entidades
|
||||||
|
from extraccion.schemas_entidades import (
|
||||||
|
Acciones,
|
||||||
|
Temas,
|
||||||
|
Estrategias,
|
||||||
|
Factores,
|
||||||
|
Entidades,
|
||||||
|
Competencias,
|
||||||
|
Herramientas,
|
||||||
|
Mecanismos,
|
||||||
|
Opiniones,
|
||||||
|
Expectativas,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
module_path = os.path.abspath(os.path.join(".."))
|
module_path = os.path.abspath(os.path.join(".."))
|
||||||
|
|
||||||
@@ -11,8 +24,8 @@ if module_path not in sys.path:
|
|||||||
print(module_path)
|
print(module_path)
|
||||||
|
|
||||||
|
|
||||||
INPUT_FOLDER = f"{module_path}/input/Preguntas Categoricas/"
|
INPUT_FOLDER = "input/Preguntas Categoricas"
|
||||||
OUTPUT_FOLDER = f"{module_path}/output/fase1"
|
OUTPUT_FOLDER = "output/fase1"
|
||||||
FILES_TO_PROCESS = os.listdir(INPUT_FOLDER)
|
FILES_TO_PROCESS = os.listdir(INPUT_FOLDER)
|
||||||
DELIMITER = "|^"
|
DELIMITER = "|^"
|
||||||
DIC_QUESTIONS = {
|
DIC_QUESTIONS = {
|
||||||
@@ -34,11 +47,79 @@ DIC_QUESTIONS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def extract_answers(answers):
|
# 2. Refactorizar 'extract_answers' para manejar todos los tipos de esquemas
|
||||||
|
def extract_answers(answers_obj):
|
||||||
|
"""
|
||||||
|
Toma el objeto Pydantic devuelto por un extractor y lo formatea
|
||||||
|
en un único string delimitado por |^.
|
||||||
|
"""
|
||||||
answer_formated = ""
|
answer_formated = ""
|
||||||
iterator_answers = answers.acciones
|
list_items = [] # Lista genérica de items (ej. [Accion, Accion])
|
||||||
for item in iterator_answers:
|
item_attr_name = "" # Atributo a extraer de cada item (ej. "accion")
|
||||||
answer_formated += f"{item.accion}{DELIMITER}"
|
|
||||||
|
# --- Manejo de todos los esquemas que son listas de objetos ---
|
||||||
|
|
||||||
|
if isinstance(answers_obj, Acciones):
|
||||||
|
list_items = answers_obj.acciones
|
||||||
|
item_attr_name = "accion"
|
||||||
|
elif isinstance(answers_obj, Temas):
|
||||||
|
list_items = answers_obj.temas
|
||||||
|
item_attr_name = "tema"
|
||||||
|
elif isinstance(answers_obj, Estrategias):
|
||||||
|
list_items = answers_obj.estrategias
|
||||||
|
item_attr_name = "estrategia"
|
||||||
|
elif isinstance(answers_obj, Factores):
|
||||||
|
list_items = answers_obj.factores
|
||||||
|
item_attr_name = "factor"
|
||||||
|
elif isinstance(answers_obj, Entidades):
|
||||||
|
list_items = answers_obj.entidades
|
||||||
|
item_attr_name = "entidad"
|
||||||
|
elif isinstance(answers_obj, Herramientas):
|
||||||
|
list_items = answers_obj.herramientas
|
||||||
|
item_attr_name = "herramienta"
|
||||||
|
elif isinstance(answers_obj, Mecanismos):
|
||||||
|
list_items = answers_obj.mecanismos
|
||||||
|
item_attr_name = "mecanismo"
|
||||||
|
elif isinstance(answers_obj, Opiniones):
|
||||||
|
list_items = answers_obj.opiniones
|
||||||
|
item_attr_name = "opinion"
|
||||||
|
elif isinstance(answers_obj, Expectativas):
|
||||||
|
list_items = answers_obj.expectativas
|
||||||
|
item_attr_name = "expectativa"
|
||||||
|
|
||||||
|
# Si se encontró un tipo de lista estándar, procesarla
|
||||||
|
if list_items and item_attr_name:
|
||||||
|
for item in list_items:
|
||||||
|
# Obtener el texto (ej. item.accion, item.tema) de forma segura
|
||||||
|
item_text = getattr(item, item_attr_name, "")
|
||||||
|
if item_text:
|
||||||
|
answer_formated += f"{item_text}{DELIMITER}"
|
||||||
|
return answer_formated
|
||||||
|
|
||||||
|
# --- Manejo del caso especial: Competencias ---
|
||||||
|
|
||||||
|
if isinstance(answers_obj, Competencias):
|
||||||
|
comp_texts = []
|
||||||
|
# El esquema de Competencias usa listas de strings, no listas de objetos
|
||||||
|
if answers_obj.basicas:
|
||||||
|
comp_texts.extend([f"Básica: {c}" for c in answers_obj.basicas])
|
||||||
|
if answers_obj.socioemocionales:
|
||||||
|
comp_texts.extend(
|
||||||
|
[f"Socioemocional: {c}" for c in answers_obj.socioemocionales]
|
||||||
|
)
|
||||||
|
if answers_obj.ciudadanas:
|
||||||
|
comp_texts.extend([f"Ciudadana: {c}" for c in answers_obj.ciudadanas])
|
||||||
|
if answers_obj.siglo_xxi:
|
||||||
|
comp_texts.extend([f"Siglo XXI: {c}" for c in answers_obj.siglo_xxi])
|
||||||
|
|
||||||
|
if not comp_texts:
|
||||||
|
return "" # Devuelve vacío si el objeto Competencias está vacío
|
||||||
|
|
||||||
|
# Unir todos los textos de competencias
|
||||||
|
answer_formated = DELIMITER.join(comp_texts) + DELIMITER
|
||||||
|
return answer_formated
|
||||||
|
|
||||||
|
# Si el tipo no coincide con nada (o era una lista vacía), devuelve un string vacío
|
||||||
return answer_formated
|
return answer_formated
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ def load_prompts_config(file_path):
|
|||||||
return prompts_config
|
return prompts_config
|
||||||
|
|
||||||
|
|
||||||
path_prompts = f"{os.path.abspath(os.path.join('..'))}/extraccion/prompts.yaml"
|
path_prompts = "extraccion/prompts.yaml"
|
||||||
prompts_config = load_prompts_config(path_prompts)
|
prompts_config = load_prompts_config(path_prompts)
|
||||||
|
|
||||||
context = LLMContext()
|
context = LLMContext()
|
||||||
|
|||||||
2
input/Preguntas_Categoricas/Encuesta_MediaG01Q02.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG01Q02.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120000366/I.E. AURELIO MEJIA,G01Q02,"Realiza promoción por radio, mensajes informativos en porteria y carteleras del plantel, voz a voz con la comunidad educativa"
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG01Q04.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG01Q04.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120000366/I.E. AURELIO MEJIA,G01Q04,Continuamente hacer encuestas de satisfacción para conocer las inquietudes y deseos que tienen nuestros estudiantes. También se ofrecen talleres de nivelación para aquellos que presentan dificultades en el rendimiento
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG01Q10.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG01Q10.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120000366/I.E. AURELIO MEJIA,G01Q10,"Desde hace ya mas de tres años no se actualizaba el PEI, se incluyó el tema de los ajustes razonables y se reorganizó los principios instritucionales"
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG03Q17.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG03Q17.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120000366/I.E. AURELIO MEJIA,G03Q17,"PIAR, STEAM,+H y tecnologías"
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG03Q18.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG03Q18.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120000366/I.E. AURELIO MEJIA,G03Q18,Generalmente la encuesta en linea
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG03Q19.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG03Q19.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120000366/I.E. AURELIO MEJIA,G03Q19,No
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG04Q22.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG04Q22.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G04Q22,l la participación de los padres de familia y los estudiantes por lo tanto como estrategia principal esta que ellos participen dando la información de que hay cupos para educación media creando material informativo y que sean los encargados de la distribución en sus barrios
|
||||||
|
3
input/Preguntas_Categoricas/Encuesta_MediaG04Q23.csv
Normal file
3
input/Preguntas_Categoricas/Encuesta_MediaG04Q23.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G04Q23,"A nivel social y económico, el comercio en la zona necesita mano de obra barata y los estudiantes prefieren ir a trabajar asi sea por poco dinero pero tener algo con que sobrevivir.
|
||||||
|
A nivel cultural en las familias son pocos los bachilleres que hay entonces terminar no es motivación"
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG04Q25.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG04Q25.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G04Q25,
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG05Q28.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG05Q28.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G05Q28,"En la última actualización del PEI intentamos que muchos de los temas de clase tengan como eje las problemáticas del territorio para que ellos analicen y de forma critican generen propuestas, sin embargo algunos profesores aún están reacios a cambiar la metodología"
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG05Q30.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG05Q30.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G05Q30,"La empatía, trabajo en equipo y se trabaja de manera muy fuerte las competencias matemáticas"
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG05Q34.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG05Q34.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G05Q34,Rubricas de evaluación por áreas de conocimiento y listas de chequeo de acuerdo a las dimensiones del desarrollo con el grado de transición
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG06Q35.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG06Q35.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G06Q35,Son muy altas pues desde hace varios años hemos venido solicitando el apoyo de dicha institución para que nos colabore con recursos
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG06Q38.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG06Q38.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G06Q38,"Las veces que han dado charlas son mas que todo para motivarlos a que sigan en educación superior y ellos desean aprender herramientas tecnológicas para sus emprendimientos familiares o propios, pocos quieren seguir estudiando"
|
||||||
|
2
input/Preguntas_Categoricas/Encuesta_MediaG06Q40.csv
Normal file
2
input/Preguntas_Categoricas/Encuesta_MediaG06Q40.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cod_dane,cod_pregunta,respuesta
|
||||||
|
205120001435/I.E. GASPAR DE RODAS,G06Q40,"Comparte mucha información de las alianzas que se han logrado pero en nuestra subregión no hay nada, todo es para el oriente "
|
||||||
|
1
output/fase1/.~lock.Encuesta_MediaG06Q40.csv#
Normal file
1
output/fase1/.~lock.Encuesta_MediaG06Q40.csv#
Normal file
@@ -0,0 +1 @@
|
|||||||
|
,mongar,mongar,14.11.2025 14:50,file:///home/mongar/.config/libreoffice/4;
|
||||||
2
output/fase1/Encuesta_MediaG01Q04.csv
Normal file
2
output/fase1/Encuesta_MediaG01Q04.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120000366/I.E. AURELIO MEJIA,G01Q04,Continuamente hacer encuestas de satisfacción para conocer las inquietudes y deseos que tienen nuestros estudiantes. También se ofrecen talleres de nivelación para aquellos que presentan dificultades en el rendimiento,Realizan encuestas de satisfacción de forma continua para conocer las inquietudes y deseos de los estudiantes.|^Ofrecen talleres de nivelación para estudiantes que presentan dificultades en el rendimiento académico.|^
|
||||||
|
2
output/fase1/Encuesta_MediaG01Q10.csv
Normal file
2
output/fase1/Encuesta_MediaG01Q10.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120000366/I.E. AURELIO MEJIA,G01Q10,"Desde hace ya mas de tres años no se actualizaba el PEI, se incluyó el tema de los ajustes razonables y se reorganizó los principios instritucionales",Actualización del Proyecto Educativo Institucional (PEI) después de más de tres años sin actualización|^Inclusión del tema de ajustes razonables en la transformación curricular|^Reorganización de los principios institucionales|^
|
||||||
|
2
output/fase1/Encuesta_MediaG03Q17.csv
Normal file
2
output/fase1/Encuesta_MediaG03Q17.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120000366/I.E. AURELIO MEJIA,G03Q17,"PIAR, STEAM,+H y tecnologías",PIAR (Planes Individualizados de Ajustes Razonables)|^STEAM|^Humanidades (+H)|^Tecnologías|^
|
||||||
|
2
output/fase1/Encuesta_MediaG03Q18.csv
Normal file
2
output/fase1/Encuesta_MediaG03Q18.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120000366/I.E. AURELIO MEJIA,G03Q18,Generalmente la encuesta en linea,Realizar encuestas en línea para identificar las necesidades de formación del equipo docente.|^
|
||||||
|
2
output/fase1/Encuesta_MediaG04Q22.csv
Normal file
2
output/fase1/Encuesta_MediaG04Q22.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G04Q22,l la participación de los padres de familia y los estudiantes por lo tanto como estrategia principal esta que ellos participen dando la información de que hay cupos para educación media creando material informativo y que sean los encargados de la distribución en sus barrios,Promover la participación de padres de familia y estudiantes en la difusión de información sobre cupos disponibles en educación media.|^Crear material informativo sobre la disponibilidad de cupos para educación media.|^Encargar a padres de familia y estudiantes la distribución del material informativo en sus barrios.|^
|
||||||
|
3
output/fase1/Encuesta_MediaG04Q23.csv
Normal file
3
output/fase1/Encuesta_MediaG04Q23.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G04Q23,"A nivel social y económico, el comercio en la zona necesita mano de obra barata y los estudiantes prefieren ir a trabajar asi sea por poco dinero pero tener algo con que sobrevivir.
|
||||||
|
A nivel cultural en las familias son pocos los bachilleres que hay entonces terminar no es motivación",La demanda de mano de obra barata por parte del comercio local que atrae a los estudiantes a trabajar por poco dinero para sobrevivir.|^La baja escolaridad en las familias (pocos bachilleres) que genera falta de motivación para terminar la educación media.|^
|
||||||
|
2
output/fase1/Encuesta_MediaG04Q25.csv
Normal file
2
output/fase1/Encuesta_MediaG04Q25.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G04Q25,,
|
||||||
|
2
output/fase1/Encuesta_MediaG05Q28.csv
Normal file
2
output/fase1/Encuesta_MediaG05Q28.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G05Q28,"En la última actualización del PEI intentamos que muchos de los temas de clase tengan como eje las problemáticas del territorio para que ellos analicen y de forma critican generen propuestas, sin embargo algunos profesores aún están reacios a cambiar la metodología",En la última actualización del PEI se intentó que muchos temas de clase tengan como eje las problemáticas del territorio.|^Se busca que los estudiantes analicen críticamente las problemáticas del territorio y generen propuestas.|^Algunos profesores aún están reacios a cambiar la metodología necesaria para implementar estos cambios.|^
|
||||||
|
2
output/fase1/Encuesta_MediaG05Q30.csv
Normal file
2
output/fase1/Encuesta_MediaG05Q30.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G05Q30,"La empatía, trabajo en equipo y se trabaja de manera muy fuerte las competencias matemáticas",Básica: Matemáticas|^Socioemocional: Empatía|^Socioemocional: Trabajo en equipo|^
|
||||||
|
2
output/fase1/Encuesta_MediaG05Q34.csv
Normal file
2
output/fase1/Encuesta_MediaG05Q34.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G05Q34,Rubricas de evaluación por áreas de conocimiento y listas de chequeo de acuerdo a las dimensiones del desarrollo con el grado de transición,Rúbricas de evaluación por áreas de conocimiento|^Listas de chequeo de acuerdo a las dimensiones del desarrollo|^
|
||||||
|
2
output/fase1/Encuesta_MediaG06Q35.csv
Normal file
2
output/fase1/Encuesta_MediaG06Q35.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G06Q35,Son muy altas pues desde hace varios años hemos venido solicitando el apoyo de dicha institución para que nos colabore con recursos,Recibir apoyo de la institución con recursos para el fortalecimiento de la educación media|^
|
||||||
|
2
output/fase1/Encuesta_MediaG06Q38.csv
Normal file
2
output/fase1/Encuesta_MediaG06Q38.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G06Q38,"Las veces que han dado charlas son mas que todo para motivarlos a que sigan en educación superior y ellos desean aprender herramientas tecnológicas para sus emprendimientos familiares o propios, pocos quieren seguir estudiando","Las charlas de la Secretaría de Educación se enfocan principalmente en motivar a los estudiantes a continuar con educación superior.|^Los estudiantes desean aprender herramientas tecnológicas para sus emprendimientos familiares o propios, más que continuar estudiando.|^Pocos estudiantes desean seguir estudiando después de las charlas de motivación ofrecidas.|^"
|
||||||
|
2
output/fase1/Encuesta_MediaG06Q40.csv
Normal file
2
output/fase1/Encuesta_MediaG06Q40.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
,cod_dane,cod_pregunta,respuesta,respuestas_formato
|
||||||
|
0,205120001435/I.E. GASPAR DE RODAS,G06Q40,"Comparte mucha información de las alianzas que se han logrado pero en nuestra subregión no hay nada, todo es para el oriente ","La Secretaría de Educación comparte información sobre alianzas, pero estas no llegan a la subregión.|^Los beneficios y apoyos de la Secretaría se concentran en la región del oriente, dejando fuera a otras subregiones.|^Existe una falta de coherencia en la distribución geográfica de la formación y apoyo ofrecido por la Secretaría de Educación.|^"
|
||||||
|
Reference in New Issue
Block a user