Actividad – Juego de preguntas y respuestas

Objetivo

En esta actividad vas a construir un juego de preguntas y respuestas. La computadora preguntará al jugador por los diferentes periodos de la prehistoria; paleolítico, neolítico y edad de los metales, y el jugador responderá escribiendo libremente lo que sepa sobre ese periodo. Entonces la computadora responderá diciendo si lo que ha dicho es correcto o no y asignará una puntuación a la respuesta.

Creación del modelo para clasificar definiciones de los periodos prehistóricos

El primer paso es crear un modelo que sea capaz de clasificar las definiciones que escribimos como pertenecientes al paleolítico, neolítico o edad de los metales. Puedes imaginarte al modelo como una máquina. Por un lado le metemos un texto y entonces la máquina lo analiza sacando por otro lado el tipo de orden a la que pertenece ese texto. El editor de LearningML es la herramienta que usarás para construir este modelo.

  1. Abre el editor de LearningML. Para ello, dirige tu navegador (Chrome o Firefox) a la dirección https://learningml.org/editor.
  2. Cómo daremos las órdenes presentándole textos, pincha en el botón Reconocer Textos, y se abrirá la herramienta con las opciones necesarias para construir un modelo de reconocimiento de texto.
  3. Ahora, en la sección  “1. Entrenar”, vas a añadir 3 clases (o etiquetas, que también se llaman así), una para cada periodo prehistórico. El nombre de estas clases (o etiquetas) serán: paleolítico, neolítico, edad de los metale. Para crear una nueva clase pincha en el botón Añadir nueva clase de texto.
  4. Añade a cada clase varios textos que tengan que ver con lo que la clase representa. A continuación te damos algunos ejemplos. Puedes consultar en Internet o en tu libro de historia nuevos textos sobre cada periodo prehistórico. Escribe por lo menos 10 textos en cada clase.

paleolítico

  • En esta etapa los primeros seres humanos cazaban animales y recogían frutos del bosque.
  • Podían vivir al aire libre, pero también en cabañas y en cuevas
  • utilizaban piedras que golpeaban contra otras piedras

neolítico

  • crearon poblados donde permanecían y ya no cambiaban de lugar.
  • dibujaban pinturas en las paredes de las cuevas.
  • el ser humano inventa el tejido y la cerámica

edad de los metales

  • Primero apareció el cobre
  • Después el bronce, que es en realidad una mezcla de cobre y zinc
  • El ser humano empieza a utilizar metales, para fabricar herramientas distintas, armas, pero también adornos.

Para añadir nuevos textos a una clase, pincha en el botón + de esa clase. Fíjate que cada clase tiene su propio botón + para añadir sus textos.

  1. Muy bien, ya tienes el conjunto de datos de ejemplo. Ahora pincha en el botón Aprender a reconocer textos de la sección “2. Aprender”. Asegúrate de que el desplegable Lenguaje de los textos esté en Español, a menos que hayas decidido dar las órdenes en inglés o en gallego, en cuyo caso tendrás que escoger el idioma que hayas usado para escribir los textos. 
  • IMPORTANTE: Una vez que pinches en este botón, tu ordenador estará “aprendiendo” a partir de los textos que has escrito. Este aprendizaje se hace gracias a un algoritmo que denominamos Algoritmo de Machine Learning. Esto puede tardar un ratito. Sé paciente. Al final de este paso, el algoritmo de Machine Learning ha creado lo que llamamos un modelo. Ese modelo es algo que tú puedes utilizar para que el ordenador reconozca nuevas órdenes parecidas aunque diferentes a las del conjunto de datos de entrenamiento.
  1. Ahora hay que ver si el modelo que ha construido el algoritmo de Machine Learning funciona bien. Utiliza la caja de texto de la sección “3. Probar” para escribir textos que tengan que ver con las  características del paleolítico, el neolítico y la edad de los metales. Pincha entonces en el botón Comprobar y observa si lo que dice LearningML coincide con la respuesta correcta. 
  2. Enhorabuena! Ya tienes un modelo de inteligencia artificial que reconoce 4 órdenes.

Puede ocurrir que en el paso 6, lo que dice LearningML no coincide con el tipo de peridodo correcto. Por ejemplo, imagina que has usado como texto “Descubrieron la ganadería y la agricultura” y LearningML dice que ese texto pertenece a la orden paleolítico. Obviamente no ha funcionado bien, pues debería ser neolítico, que es cuando la humanidad se convirtión en ganadera y agricultora. En ese caso, puedes añadir esa frase a la clase que realmente le corresponda (en este caso neolítico) y volver a ejecutar el algoritmo de machine learning, es decir, volver a pinchar en el botón Aprender a reconocer textos. Así crearás un nuevo modelo que habrá aprendido esa nueva frase y será más “potente”, pues es capaz de reconocer correctamente más textos. 

Programamos el juego de preguntas y respuestas

Ya tienes la pieza fundamental del asistente virtual, la que es capaz de reconocer a qué tipo de orden pertenece un texto. A esta pieza la hemos llamado modelo. Ahora usaremos esa pieza inteligente, es decir el modelo, para hacer el juego de preguntas y respuestas.

  1. En la sección “3. Probar” del editor de LearningML, pincha en el botón que tiene el gato de Scratch… y se abre Scratch!
  2. Fíjate que en la primera columna, donde aparecen los tipos de bloques, hay unos que se llaman “learningml-texts” y “learningml-images”. Pincha sobre ellos y verás que contienen varios bloques nuevos. Estos bloques sirven para usar el modelo que acabas de construir hace un momento. Como has hecho un modelo de reconocimiento de textos, debes usar los bloques de la sección “learningml-texts”.
  3. Coloca un bloque “classify text <texto>” en la zona de programación de Scratch y escribe en su entrada algún texto que tenga que ver con una de las órdenes de nuestro asistente. Por ejemplo: “usaban piedras para hacer sus herramientas”. Entonces pincha encima del bloque y observa lo que ocurre. Al lado del bloque aparece la clase de orden a la que pertenece el texto. Y así es, precisamente, cómo funciona ese bloque: Al ejecutarse calcula la clase a la que pertenece el texto que ponemos en su entrada. Este hecho nos da la clave para construir nuestro juego de preguntas y respuestas.
  4. Y ahora es el momento de programar el juego. Puedes utilizar los siguientes bloques para ello:
Algunos bloques que puedes usar para hacer el juego de preguntas y respuestas sobre la prehistoria

Ten en cuenta que el bloque “classify <texto>” devuelve la clase a la que pertenece el texto, es decir alguna de las siguientes: 

  • paleolítico
  • neolítico
  • edad de los metales

Si no consigues hacer el programa puedes bajarte esta solución y examinarla.