Chisme 103 del Lince: el gato obediente con la voz

Tutorial paso a paso. Usaremos dos pestañas abiertas a la vez: LearningML para entrenar la IA con tu voz y Scratch de LearningML para mover al gato.

Noche en Sierra Bermeja. El Lince de la Noche tiene que pasar entre las rocas sin tocar ninguna piedra, y el gato montés que lo acompaña no le hace ni caso. «Que se mueva cuando le hablo», pide el Lince. La Gata Montesa, desde lo alto de una roca, responde: «Pues dile lo que quieres que haga, y que el ordenador lo entienda».

Introducción

Vamos a construir un gato de Scratch que obedece órdenes de voz: arriba, abajo, izquierda, derecha y salto. Para eso entrenamos una IA con grabaciones de tu voz y la usamos dentro de Scratch.

Por qué este chisme

Hablar con un ordenador es algo que hacemos a diario, con asistentes y altavoces. Este chisme nos deja ver cómo funciona por dentro, con una lista pequeña de órdenes que tú decides, y nos permite comprobar cuándo la IA entiende y cuándo no.

Cómo funciona

La IA no entiende las palabras como las entendemos nosotros. Cuando grabamos una orden, la convierte en un conjunto de números que describen el sonido, y los compara con los ejemplos que hemos grabado de cada clase. Como en el chisme 102, devuelve la clase que más se parece y un nivel de confianza entre 0 y 1.

En este programa, el gato solo actúa si la confianza es mayor de 0,6. Si no, dice «No te he entendido». Así evitamos que un ruido del aula lo mueva sin que lo hayamos pedido.

Qué necesitamos

Construcción

Paso 1. Pestañas abiertas

Abre dos pestañas: una con learningml.org (editor) y otra con el Scratch de LearningML.

Paso 2. Crea las clases

En el editor de LearningML, crea un proyecto de sonidos con seis clases, escritas exactamente así: arriba, abajo, izquierda, derecha, salto y nada. El programa compara con estos nombres, así que una tilde o una letra distinta haría que el gato no reaccione.

Paso 3. Graba la voz con variaciones

Di cada palabra muchas veces, con pequeñas diferencias: más rápido y más lento, más fuerte y más bajito, en voz alta y en voz baja, con otro tono. Cuantas más variaciones, mejor reconocerá la IA la orden en distintas situaciones. Graba también la clase nada con los ruidos normales del aula, sin decir ninguna de las palabras de arriba.

No grabes a otras personas sin permiso. Las grabaciones son de la clase y se usan solo para este chisme.

Paso 4. Entrena el modelo y pruébalo

Entrena el modelo y prueba las órdenes con voces distintas a la de quien ha grabado. ¿Acierta? ¿Qué palabra confunde con cuál? Apunta los fallos en papel.

Paso 5. Crea las variables en Scratch

En el Scratch de LearningML, carga el modelo que has entrenado, elige el gato y crea estas tres variables:

Paso 6. Escucha una vez y clasifica lo mismo

Dentro de un bucle por siempre, graba una sola vez y guarda el resultado en grabacion. Después clasifica esa grabación para obtener la orden y la confianza. Si grabaras dos veces, la orden y la confianza saldrían de sonidos distintos.

por siempre
  dar a grabacion el valor (Record audio)
  dar a orden el valor (Classify item grabacion)
  dar a confianzaorden el valor (Confidence for item grabacion)

Paso 7. Mueve al gato según la orden

Comprueba primero si la confianza es mayor de 0,6. Si lo es, mira la orden con un si para cada una:

Si la confianza no supera 0,6, el gato dice No te he entendido durante 2 segundos.

La clase nada no tiene bloque propio: si la IA la detecta, el gato dirá «No te he entendido». Es una buena discusión para el aula: ¿debe responder el gato cuando no le hablas? Si queréis que se quede callado, añadid un si orden = nada sin ninguna acción dentro.

Para el profesorado

Antes de clase, haz tú la prueba completa: graba, entrena, programa y comprueba que el gato responde. Los nombres de las clases tienen que coincidir exactamente con los de los bloques (salto, no salta). Las grabaciones se hacen en el propio ordenador y no deben subirse a ningún servicio externo.

Cómo probarlo

  1. Di cada orden cinco veces y anota cuántas acierta el gato.
  2. Repite con otra persona de la clase. ¿Cambia el resultado?
  3. Haz ruido de fondo (una silla, una conversación) y mira si el gato se mueve sin que lo pidas.

Qué estamos midiendo realmente

El micrófono mide cambios de presión del aire en el tiempo. La IA no «oye» una palabra: compara ese sonido con los ejemplos que ha visto. Si todos los ejemplos son de la misma persona, a la misma velocidad y en el mismo lugar, el modelo aprende esas condiciones, no la palabra. Por eso hay que variar las grabaciones y probar con gente distinta. Medir no significa necesariamente medir bien.

Para el aula

Retos

  1. Haz que funcione. Consigue que el gato haga las cinco órdenes seguidas.
  2. Modifica algo. Cambia el tamaño del paso (20) y observa cómo se mueve.
  3. Añade una orden. Por ejemplo, «para», con su propia clase y su propio bloque.
  4. Guarda los datos. Registra 30 órdenes y calcula el porcentaje de aciertos.
  5. Haz que otro participe. Prueba el gato con un compañero que no haya grabado nada. ¿Cambia el resultado?

Qué hemos aprendido

Un gato que obedece la voz enseña condicionales, variables y bucles, pero también que la IA aprende de los ejemplos que le damos. Si los ejemplos son pocos o parecidos, la IA se equivoca de forma predecible, y eso podemos medirlo.

Para seguir investigando