
En esta entrada presento IAs que ayudan a insertar etiquetas mlang en cuestionarios para que puedan visualizarse en diferentes idiomas dentro de código GIFT y así exportar masivamente gran cantidad de preguntas a Moodle.
Habrás llegado a esta página por varios motivos. Si entiendes perfectamente de lo que hablo salta a la segunda sección. Si no entiendes nada de lo que dice el título, y aún así quieres darle una oportunidad a este post, sigue leyendo…
Y ¡oye! No te olvides de hacer scroll hasta el final del artículo, que encontrarás guías interactivas para ayudarte en el proceso. 🙂
¿mlang? ¿GIFT? ¿cuestionarios? ¿Moodle?
En esta entrada voy a explicar como crear rápidamente preguntas de cuestionario en diferentes idiomas y exportarlas en masa a Moodle.
Vamos por lo básico. Moodle es un Entorno Virtual de Aprendizaje que muchas administraciones educativas usan. Por ejemplo, en la Comunidad Valenciana se usa y se le llama Aules. Esto es lo fácil.
Seguimos. Moodle tiene una función que es la de usar cuestionarios para hacer diferentes tipos de preguntas y que los alumnos respondan, se autocorrija y se les proporcione feedback y una nota. Aquí más info sobre esto: https://docs.moodle.org/all/es/Actividad_de_examen
Hay muchos tipos de preguntas disponibles: de elección múltiple, de verdadero/falso, de emparejar, de seleccionar palabras, etc… Aquí puedes saber más sobre ellas: https://docs.moodle.org/all/es/Preguntas
Ahora bien, crear un cuestionario, es una tarea que puede ser algo tediosa desde el menú disponible para ello en Moodle: seleccionas el tipo de pregunta, escribes el enunciado en un sitio, cada respuesta por separado en otros sitios, luego el feedback, también cuál es la correcta, las penalizaciones, etc… Por lo que existe un formato de archivo de texto, llamado GIFT que sirve para precisamente exportar (e importar) de golpe un montón de preguntas con todas sus características. Más sobre este formato: https://docs.moodle.org/all/es/Formato_GIFT
Y por último, mlang es un plugin de Moodle que permite escribir un texto en todos los idiomas que desees (etiquetando claramente qué texto pertenece a cada idioma, por supuesto) y luego en Moodle solo se visualiza el texto correspondiente al idioma que usa el usuario. Algo genial para entornos multilingües.
¿Cuál es el problema?
Iré directo al grano:
El filtro {mlang} usa los símbolos «{» y «}» que en el «lenguaje» GIFT tienen otros significados, por lo que da problemas crear un archivo GIFT con etiquetas mlang.
¿Cuál es la solución?
Pues estás de suerte, porque en esencia es muy fácil. En informática hay un procedimiento que se llama carácter de escape que consiste, resumiendo mucho, que si pongo «\» delante de otro carácter, el código GIFT no hará caso de ese carácter.
Por lo que, en código GIFT, sin mlang, el código para una pregunta es:
¿Cual es la respuesta a esta pregunta de opción múltiple?
{
~respuesta incorrecta
#comentario de retroalimentación para esta respuesta incorrecta
~otra respuesta incorrecta
#comentario de retroalimentación para esta respuesta incorrecta
=respuesta correcta
#¡Muy bien!
}
Con etiquetas mlang que fueran, por ejemplo, para que un texto se muestre en Español (internacional) y en Valenciano para cualquier otra opción de idioma que no fuera Español, la lógica nos diría que debe ser así:
{mlang es}¿Cual es la respuesta a esta pregunta de opción múltiple?{mlang}{mlang other}Quina és la resposta a aquesta pregunta d'opció múltiple?{mlang}
{
~{mlang es}respuesta incorrecta{mlang}{mlang other}resposta incorrecta{mlang}
#{mlang es}comentario de retroalimentación para esta respuesta{mlang}{mlang other}comentari de retroalimentació per a aquesta resposta incorrecta incorrecta{mlang}
~{mlang es}otra respuesta incorrecta{mlang}{mlang other}altra resposta incorrecta{mlang}
#{mlang es}comentario de retroalimentación para esta respuesta{mlang}{mlang other}comentari de retroalimentació per a aquesta resposta incorrecta incorrecta{mlang}
={mlang es}respuesta correcta{mlang}{mlang other}resposta correcta{mlang}
#{mlang es}¡Muy bien!{mlang}{mlang other}Molt bé!{mlang}
}
Pero el código anterior está sin los caracteres de escape, por lo que para funcione, el código debe ser exactamente este:
\{mlang es\}¿Cual es la respuesta a esta pregunta de opción múltiple?\{mlang\}\{mlang other\}Quina és la resposta a aquesta pregunta d'opció múltiple?\{mlang\}
{
~\{mlang es\}respuesta incorrecta\{mlang\}\{mlang other\}resposta incorrecta\{mlang\}
#\{mlang es\}comentario de retroalimentación para esta respuesta\{mlang\}\{mlang other\}comentari de retroalimentació per a aquesta resposta incorrecta incorrecta\{mlang\}
~\{mlang es\}otra respuesta incorrecta\{mlang\}\{mlang other\}altra resposta incorrecta\{mlang\}
#\{mlang es\}comentario de retroalimentación para esta respuesta\{mlang\}\{mlang other\}comentari de retroalimentació per a aquesta resposta incorrecta incorrecta\{mlang\}
=\{mlang es\}respuesta correcta\{mlang\}\{mlang other\}resposta correcta\{mlang\}
#\{mlang es\}¡Muy bien!\{mlang\}\{mlang other\}Molt bé!\{mlang\}
}
Claro, esto es más complejo de escribir. Así que vamos con la siguiente sección, en la que hablamos de herramientas para automatizar esto.
Herramientas de Automatización
La idea es conseguir más con menos, no menos con más. Así que vamos a ver cómo automatizar todas las partes del proceso. Eso dependerá del escenario de partida. En principio pueden producirse los siguientes:
- A: Preguntas sin crear
- B1: Preguntas creadas (sin retroalimentación, sin traducir)
- B2: Preguntas creadas (con retroalimentación, sin traducir)
- C1: Preguntas creadas (sin retroalimentación, con traducción)
- C2: Preguntas creadas (con retroalimentación, con traducción)
- D: Preguntas dentro de Moodle (en cualquiera de los casos anteriores)
Escenario A: Preguntas sin crear
Pues o te pones a crearlas desde cero, las recuperas de bancos de preguntas existentes (libros, materiales digitales) o usas la IA para crearlas. Tan fácil como pedir «hazme 5 preguntas de [tipo] sobre [contexto]», o si tienes conocimientos de prompting, puedes elaborar mucho más.
Lo más básico que necesitas es el enunciado y las opciones, eso se puede conseguir muy fácilmente con IA. Yo he creado dos GPTs personalizados que te pueden ayudar a ello y están disponibles en la GPT store:
- BloomBot: especializado en hacer preguntas según la taxonomía de Bloom
- BloomBoom: especializado en hacer preguntas con respuestas trampa
Si quieres saber más sobre ellos, puedes encontrar más info aquí.
Depende de cuál sea tu forma de generar las preguntas, al terminar este escenario deberíamos tener algo similar a esto:
¿Cual es la respuesta a esta pregunta de opción múltiple?
- respuesta incorrecta
- otra respuesta incorrecta
- respuesta correcta
Ten en cuenta que, por economía de espacio, ahora solo pongo una pregunta, pero puedes tener todas las que quieras una detrás de otra.
Con esto ya llegas, habitualmente, al escenario B1
Escenario B1: Sin retroalimentación / sin traducir
Llegados a este punto alguien podría decir, «oye, ¿y por qué no le has pedido ya la retroalimentación de primeras?». Pues porque tanto las preguntas como la retroalimentación son de mayor calidad si se obtienen de la IA por separado.
Ahora se trataría o de crear la retroalimentación a mano, o de usar una IA que de nuevo nos ayude. Cualquier chatbot habitual puede hacerlo. Pero por si te interesa, de nuevo, tengo uno especializado en ello:
- MindBloom: especializado en crear diferentes tipos de retroalimentaciones.
Está también disponible en la GPT store, pero por si quieres saber más, aquí tienes más info.
Al finalizar este escenario deberías tener algo similar a esto:
¿Cual es la respuesta a esta pregunta de opción múltiple?
- respuesta incorrecta
-- comentario de retroalimentación para esta respuesta incorrecta
- otra respuesta incorrecta
-- comentario de retroalimentación para esta respuesta incorrecta
- respuesta correcta
-- ¡Muy bien!
Escenario B2: Con retroalimentación / sin traducir
Ahora lo ideal en el siguiente paso es hacer la traducción y las etiquetas mlang en el mismo paso, puesto que los textos en ambos idiomas se van a tener que entremezclar en cada linea de código.
De nuevo, tengo una herramienta para ello. Se trata de una IA que traduce a los idiomas que solicitas e inserta las etiquetas mlang; con escape de carácteres o sin, según prefiera el usuario.
- ¿Para qué interesa sin escape? Por si solo se quiere obtener el texto para poner directamente en el menú de moodle, sin pasar por GIFT. Lo ideal es esta opción. Se copia una a una las líneas y se añade al creador de preguntas. Para una corrección rápida puntual o algo concreto puede ser mejor opción.
- ¿Para qué interesa con escape? Para luego utilizar el código GIFT y hacer una exportación masiva.
Al mismo tiempo, también se eliminan cualquier referencia a lista ordenada o desordenadas en las respuestas, ya que son elementos que luego insertará Moodle y la visualización no será limpia.
Un ejemplo de un texto en tres idiomas y con caracteres escapados que se puede conseguir al finalizar este escenario es:
\{mlang es\}¿Cual es la respuesta a esta pregunta de opción múltiple?\{mlang\}\{mlang en\}What is the answer to this multiple-choice question?\{mlang\}\{mlang ca\}Quina és la resposta a aquesta pregunta d'opció múltiple?\{mlang\}
\{mlang es\}respuesta incorrecta\{mlang\}\{mlang en\}wrong answer\{mlang\}\{mlang ca\}resposta incorrecta\{mlang\}
\{mlang es\}comentario de retroalimentación para esta respuesta incorrecta\{mlang\}\{mlang en\}feedback comment for this wrong answer\{mlang\}\{mlang ca\}comentari de retroalimentació per a aquesta resposta incorrecta\{mlang\}
\{mlang es\}otra respuesta incorrecta\{mlang\}\{mlang en\}another wrong answer\{mlang\}\{mlang ca\}una altra resposta incorrecta\{mlang\}
\{mlang es\}comentario de retroalimentación para esta respuesta incorrecta\{mlang\}\{mlang en\}feedback comment for this wrong answer\{mlang\}\{mlang ca\}comentari de retroalimentació per a aquesta resposta incorrecta\{mlang\}
\{mlang es\}respuesta correcta\{mlang\}\{mlang en\}correct answer\{mlang\}\{mlang ca\}resposta correcta\{mlang\}
\{mlang es\}¡Muy bien!\{mlang\}\{mlang en\}Very good!\{mlang\}\{mlang ca\}Molt bé!\{mlang\}
*Al igual que Moodle tiene diferentes paquetes de idioma para español (es) de España {mlang es} y de Méjico {mlang es_mx}, lo mismo sucede con el catalán (ca), que tiene una versión para la variante oriental {mlang ca} y otro para la variante occidental {mlang ca_valencia}. Hay que tener esto en cuenta sabiendo qué paquete de idioma tiene exactamente Moodle instalado en estos casos. Si no puedes preguntarlo, lo mejor es hacer pruebas con las etiquetas para saberlo. Si no has seleccionado la variante correctamente, el texto no se mostrará en pantalla.
Escenario C1: Sin retroalimentación / con traducción
Esta situación es algo extraña. Lo ideal sería pedirle a la IA de Retroalimentación que proporcione la retroalimentación en todos los idiomas y respetando el código. Pero no tendría más misterio.
Escenario C2: Con retroalimentación / con traducción
Ya estamos a solo un paso de crear ahora el código GIFT. Para eso se puede usar alguno de los GPTs que tengo especializados en código GIFT que aquí se pueden consultar: https://elpulpoenelvaso.jlmirall.es/?page_id=220
Aunque estos están pensados para crear las preguntas desde cero hasta GIFT (sin traducciones ni etiquetas mlang), se puede usar su conocimiento del formato GIFT para transformar el código con etiquetas mlang en GIFT. Con un prompt como este:
Usa tu conocimiento del código GIFT para transformar el siguiente código que te voy a enviar de preguntas con respuestas y retroalimentaciones en código GIFT. Respeta todas las etiquetas mlang y no las modifiques. Si están escapadas, devuélvelas también escapadas.
[Contexto]
Usando el prompt anterior podemos obtener esto:
::Pregunta de opción múltiple en varios idiomas::
\{mlang es\}¿Cual es la respuesta a esta pregunta de opción múltiple?\{mlang\}\{mlang en\}What is the answer to this multiple-choice question?\{mlang\}\{mlang ca\}Quina és la resposta a aquesta pregunta d'opció múltiple?\{mlang\} {
~\{mlang es\}respuesta incorrecta\{mlang\}\{mlang en\}wrong answer\{mlang\}\{mlang ca\}resposta incorrecta\{mlang\}
#\{mlang es\}comentario de retroalimentación para esta respuesta incorrecta\{mlang\}\{mlang en\}feedback comment for this wrong answer\{mlang\}\{mlang ca\}comentari de retroalimentació per a aquesta resposta incorrecta\{mlang\}
~\{mlang es\}otra respuesta incorrecta\{mlang\}\{mlang en\}another wrong answer\{mlang\}\{mlang ca\}una altra resposta incorrecta\{mlang\}
#\{mlang es\}comentario de retroalimentación para esta respuesta incorrecta\{mlang\}\{mlang en\}feedback comment for this wrong answer\{mlang\}\{mlang ca\}comentari de retroalimentació per a aquesta resposta incorrecta\{mlang\}
=\{mlang es\}respuesta correcta\{mlang\}\{mlang en\}correct answer\{mlang\}\{mlang ca\}resposta correcta\{mlang\}
#\{mlang es\}¡Muy bien!\{mlang\}\{mlang en\}Very good!\{mlang\}\{mlang ca\}Molt bé!\{mlang\}
}
Y este código es el que se puede exportar como GIFT a Moodle. Se guarda en un archivo txt con el editor de notas (o cualquier otro editor de código que tengas) y ese archivo se importa al banco de preguntas.
Escenario D: Preguntas ya en Moodle
En este caso, puede que tengamos ya las preguntas en Moodle, y queramos hacer uso de alguna de las herramientas anteriores para completar algo de ellas (añadir feedback, añadir traducciones mlang), así que lo mejor es exportarlas en formato GIFT desde Moodle, y copiar el código a la herramienta que necesitemos.
Si nos falta traducción: usaremos la IA que traduce e inserte mlang (muy probablemente con caracteres escapados), Indicándole que respete los símbolos de GIFT y que las etiquetas mlang estarán siempre después de los caracteres de GIFT.
Si nos falta retroalimentación: usaremos a MindBloom, igualmente indicándole que respete las etiquetas mlang (si las tiene) y las etiquetas GIFT.
Y una vez con el archivo GIFT con la información que falta lo podremos importar de nuevo en Moodle.
Otras herramientas interesantes
Aunque puede que en un futuro cercano podamos usar la IA directamente en Excel, si te interesa el formato GIFT te puede ser útil este creado de preguntas en código GIFT a partir de excel: https://hbubecc.wixsite.com/jordan/tools
Y… ¿cómo puedo comprobar si el código es correcto sin tener que importarlo cada vez a Moodle y probar?
Por desgracia aun no conozco un método para comprobar el funcionamiento de las etiquetas mlang (más allá de entender el código y revisarlo o probarlo directamente en Moodle), pero para comprobar que el código GIFT está correcto se puede hacer con algunas herramientas, antes de subir a Moodle.
Existe un comprobador de código on-line aquí, que funciona bastante bien si es para pocas preguntas:
También existe una opción más completa si se está trabajando con gran cantidad de preguntas, pero que implica los siguientes pasos:
- Descargar Visual Studio Code (un editor de código de la empresa Microsoft, pero que es multiplataforma).
- Instalar una extensión para entender y visualizar GIFT en Visual Studio Code.
A primera vista asusta un poco, pero para lo que necesitamos usar no es tan difícil. Aquí tienes una pequeña guía para utilizarlo.
Realmente la ventaja es que puedes archivarte los bancos de preguntas en archivos txt en formato GIFT que puedes ir visualizando en Visual Studio Code y comprobar que se visualizan correctamente. Y también puedes editarlos desde ahí, incluso sería muy fácil hacer un cambio masivo de etiquetas mlang.
O incluso, se puede conectar VS Code con una IA y que vaya realizando todo el proceso de creación de preguntas, retroalimentaciones, traducciones, etiquetas dentro del propio VS Code. Por ahora, todavía no he descubierto como conectar un GPT personalizado directamente con VS Code, pero si elaboramos bien el prompt de instrucciones de lo que debe hacer se puede conseguir hacer todo desde ahí. En otra entrada explicaré como hacerlo.
Por ahora, ya hemos cumplido con el objetivo de esta entrada que era ayudar al proceso completo de crear preguntas y obtener el código GIFT con etiquetas mlang.
Se podría resumir en:
graph TD B[Determinar punto de partida] B --> C1[A: Preguntas sin crear] B --> C2[B1: Preguntas sin retroalimentación/sin traducir] B --> C3[B2: Preguntas con retroalimentación/sin traducir] B --> C4[C1: Preguntas sin retroalimentación/con traducción] B --> C5[C2: Preguntas con retroalimentación/con traducción] B --> C6[D: Preguntas ya en Moodle] C1 --> D1a[Usar BloomBot/BloomBoom] D1a --> F1[Añadir retroalimentación] C2 --> F1 F1 --> F1a[Usar MindBloom] F1a --> H1[Traducir e insertar etiquetas mlang] C3 --> H1 H1 --> H1a[Usar Translate and insert mlang] H1a --> H1b{¿Necesita escape?} H1b -->|Sí| I1[Añadir caracteres de escape] H1b -->|No| K0[Inserción manual en Moodle] C4 --> F2[Añadir retroalimentación en todos los idiomas] F2 --> J2[Convertir a formato GIFT] I1 --> J2 C5 --> J2 J2 --> J2a[Usar GPTs para código GIFT] J2a --> M1[Exportar como archivo .txt] M1 --> N1[Importar a banco de preguntas] K0 --> N2[Preguntas en Moodle] N1 --> N2 C6 --> D6[Exportar preguntas en formato GIFT] D6 --> E6{¿Qué falta?} E6 -->|Traducción| F6[Usar Translate and insert mlang] F6 --> N1 E6 -->|Retroalimentación| H6[Usar MindBloom] H6 --> N1
O incluso puedes navegar por esta guía interactiva que te indica paso a paso como proceder:
Guía Interactiva: Cuestionarios Multilingües en Moodle
Esta guía te ayudará a crear cuestionarios multilingües en Moodle usando el formato GIFT y etiquetas mlang. Vamos a determinar tu situación actual y te proporcionaremos los pasos adecuados a seguir según tu caso específico.
Deja un comentario