Diseño de chats asistenciales con Watson Assistant: inteligencia artificial al servicio de las personas

  • Nivel:
    • Bachillerato
    • E.S.O.
    • F.P.
    • Primaria
  • Área del pensamiento computacional:
    • Inteligencia Artificial

Nombre del recurso

DISEÑO DE CHATS ASISTENCIALES CON WATSON ASSISTANT: inteligencia artificial al servicio de las personas

Breve descripción

Un chatbot es una aplicación informática en línea de inteligencia artificial que trata de simular una conversación mediante teclado o voz con personas que chatean con él. En esta experiencia se plantea al alumnado el diseño, construcción y puesta en funcionamiento de un chatbot por teclado pensado para proporcionar ayuda a las familias que acceden a la web del colegio: comedor, calendario escolar, horarios, libros de texto, información del AMPA… Para su implementación se propone utilizar el servicio online Watson Assistant. Es una herramienta que forma parte de la suite IBM Cloud.  

Nivel/niveles

  • 6º Educación Primaria
  • ESO
  • Bachillerato
  • FP

Asignatura/s

  • Proyecto interdisciplinar
  • Tecnología
  • Informática 

Temporalización

Se desarrolla durante 6 sesiones en el 2º y 3º trimestre. 

¿Qué áreas del pensamiento computacional y/o de la inteligencia artificial queremos cubrir con él?

  • Áreas del pensamiento computacional: algoritmos y programación.  
  • Áreas de inteligencia artificial: aprendizaje automático e interacción humana. 

¿Se requieren conocimientos previos? ¿Cuáles son?

Para facilitar el seguimiento de la experiencia se recomienda que el alumnado disponga de los siguientes conocimientos previos:   

  • Conceptos computacionales básicos: secuencia, estructuras de decisión, bucles, variables, procedimientos… 
  • Familiarización con la programación visual tipo Scratch.  
  • Dominio del inglés para interactuar con la interfaz de IBM Cloud.  

Objetivos

  • Comprender conceptos computacionales básicos como la secuenciación, estructuras de decisión, iteraciones, variables, parámetros… 
  • Conocer y utilizar de forma apropiada los diferentes elementos de la lengua para identificar y recoger las intenciones del usuario y crear respuestas comprensibles, congruentes y útiles desde el chatbot.  
  • Resolver problemas que requieran operaciones de cálculo y lógica en el diseño del programa. 
  • Desarrollar el gusto por la ciencia y la tecnología participando con entusiasmo en el diseño de productos digitales.  
  • Emplear con destreza y eficiencia los recursos tecnológicos a su alcance para conseguir llevar a cabo las tareas propuestas.  
  • Colaborar en un proyecto de equipo que suponga participar de forma activa y autónoma, aceptar y tomar responsabilidad de su rol, alcanzar acuerdos consensuados, aprender y ayudar a los demás… tomando conciencia de que las aportaciones colectivas contribuyen a conseguir un trabajo de mayor calidad.  
  • Mejorar la organización y rendimiento del trabajo personal mediante el uso de organizadores visuales. 
  • Adquirir sensibilidad y compromiso hacia diferentes colectivos creando servicios que traten de satisfacer sus necesidades (aprendizaje-servicio) y desarrollando competencias de inteligencia emocional (empatía).  
  • Desarrollar la capacidad de exposición oral en la presentación de su proyecto a los demás.  

¿Qué materiales necesito para ponerlo en práctica en el aula?

Para el desarrollo de esta experiencia cada alumno/a necesita:  

  • Una cuenta gratuita en IBM Cloud para utilizar el servicio Watson Assistant.   
  • Un ordenador PC.  

Watson Assistant (https://www.ibm.com/es-es/products/watson-assistant) es una herramienta profesional de IBM Cloud que permite crear un chatbot. Sus principales características son: 

  • Basado en Inteligencia Artificial. Watson Assistant se basa en modelos de deep learning, machine learning y proceso de lenguaje natural (NLP) para comprender preguntas y buscar las mejores respuestas. 
  • Escalabilidad. Es una solución muy escalable que facilita el diseño de un chatbot con distintos niveles de complejidad. 
  • Facilidad de diseño. IBM WS proporciona una interfaz web muy visual e intuitiva para diseñar y entrenar un flujo de conversación sin conocimientos de programación. 
  • Gratuidad. Es posible desplegar un chat básico con los servicios necesarios usando una cuenta gratuita (lite) de IBM Cloud. Esta gratuidad y su facilidad de diseño inicial lo hacen especialmente interesante para utilizar en el ámbito educativo. 
  • Canales. El asistente creado se puede ofertar por chat web, teléfono, SMS, WhatsApp, Telegram, redes sociales y otros canales. 
  • Analítica. Proporciona métricas sobre el uso del chatbot puesto en producción. 
  • Seguridad. Está dotado de funciones de seguridad en la gestión de los datos de clientes y empresa. 

¿Qué ventajas obtengo de utilizar este recurso en el aula?

Los chatbots de atención a clientes representan una de las aplicaciones más populares y extendidas de inteligencia artificial. A menudo son utilizados por las empresas para interactuar con sus clientes. Desde las soluciones más básicas para responder a preguntas frecuentes hasta opciones más avanzadas con recogida de datos para tomar un pedido o bien aquellos que proporcionan una experiencia de conversación más sofisticada mediante voz. Los chatbots están revolucionando la forma de comunicación entre usuarios y empresas.  

La creación de conversadores virtuales por parte del alumnado aporta aspectos muy interesantes desde el punto de vista educativo: 

  • Familiarización con ideas y conceptos de la Inteligencia Artificial (IA). La tarea se centra en la esencia de la IA. Consiste en crear un sistema automatizado capaz de mantener una conversación humana. Se experimentan de forma práctica múltiples conceptos como el entrenamiento, el aprendizaje automático, el aprendizaje profundo, las redes neuronales, la predicción de intenciones… 
  • Pensamiento visual. La creación de un chatbot sin aplicar conocimientos informáticos se basa necesariamente en el diseño de árboles de decisión que contribuyen al desarrollo del pensamiento visual. 
  • Trabajo cooperativo por proyectos. La elaboración de un asistente es un proceso que demanda un trabajo en equipo para conseguir mejores resultados. La tarea de preparación, elaboración y depuración es mucho más potente cuando se afronta entre varias personas. 
  • Empatía. Uno de los principales valores del diseño de un chatbot es la necesidad de ponerse en el lugar del usuario final para conseguir un buen producto. La descentración del pensamiento es una conquista en la escolarización del alumnado que este tipo de prácticas puede favorecer. 
  • Paciencia y exigencia. Los procesos de depuración y entrenamiento del chatbot permiten educar la paciencia de sus jóvenes creadores, que en muchas ocasiones se impacientan cuando las tareas no son inmediatas. El alumno/a interioriza la necesidad de invertir tiempo en el entrenamiento del modelo como exigencia para obtener un sistema de cierta calidad. 
  • Servicio. El diseño de un chatbot suele surgir con la intención de prestar un servicio a una o varias personas de un colectivo concreto. El contexto puede ser muy variado: familias que acceden a la página web del centro para buscar información; alumnado de un determinado curso que demanda información de orientación académica; personas mayores que viven solas en sus hogares y necesitan realizar citas o encargar pedidos… La experiencia de diseño y puesta en funcionamiento de un chatbot aporta un valor genuino y auténtico por su orientación al Aprendizaje Servicio. 
  • Motivación. La experiencia pone de manifiesto que la creación de un chatbot le resulta una actividad muy interesante y atractiva al alumnado. 

Desarrollo de la propuesta

SESIÓN 1. ¿QUÉ ES LA INTELIGENCIA ARTIFICIAL? (Presentación y debate)

Objetivo

Aproximarse y tomar conciencia del alcance y de los límites de la inteligencia artificial en la sociedad actual.  

Organización

Cada alumno/a visualiza el vídeo propuesto en su casa como preparación de la sesión (flipped learning). Se recomienda que durante ese visionado individual se tomen notas de la información que encuentren más relevante. Durante la sesión en clase se podrá volver a visionar alguna sección del vídeo si fuera necesario o surgieran dudas.  

Se forman equipos de 4 alumnos/as: heterogéneos y nivelados. Cada equipo recibe un cuestionario en papel con las preguntas relacionadas con el contenido del vídeo. En la sesión, se pretende responder a las diez cuestiones mediante la técnica cooperativa “Lápices al centro”, que sigue las instrucciones presentadas a continuación:  

  • Los lápices de todos/as se sitúan en el centro de la mesa.  
  • Al principio solo se puede hablar y escuchar. No se puede escribir.  
  • Cada miembro del grupo será el responsable de dirigir una de las preguntas. Se encargará de leerla en voz alta y coordinar las intervenciones del resto cuando se trate de aportar la posible respuesta.  
  • Cada uno de los miembros del equipo expondrá su respuesta junto con sus argumentos. Se debate entre todos y se trata de alcanzar un consenso sobre cuál es la respuesta correcta. Cuando se llega al acuerdo, el responsable coge el lápiz del centro de la mesa y anota la respuesta.  
  • Una vez escrita la respuesta, será el turno para el compañero/a de la izquierda, siguiendo el sentido de las agujas del reloj, que se convertirá en el encargado/a de dirigir la resolución de la segunda pregunta. Y así sucesivamente.  

Después del trabajo por equipos-base se expondrán las conclusiones en común en el gran grupo-clase.  

Temporalización

  • Tarea por equipos (35 min) 
  • Tarea de puesta en común (15 min) 

Material

Discovery Latinoamérica | Inteligencia Artificial 
https://www.youtube.com/watch?v=5rvZBsueMoc  

Secciones del vídeo: 

00:00:00-00:02:09 (Introducción) 
00:02:09-00:03:20 (1. Qué es la IA) 
00:03:20-00:07:38 (2. Comprensión del lenguaje) 
00:07:38-00:17:55 (3. Debatiendo con una máquina) 
00:17:55-00:24:58 (4. IA en el camino)
00:24:58-00:31:57 (5. Cómo aprenden las máquinas) 
00:31:57-00:40:45 (6. Trabajando con IA)
00:40:45-00:51:43 (7. Aprendizaje de por vida) 
00:51:43-01:03:00 (8. Fusión con las máquinas) 
01:03:00-01:11:48 (9. Un sexto sentido sintético) 
01:11:48-01:21:25 (10. En busca de un descubrimiento) 
01:21:25-01:28:47 (Inteligencia General Artificial)

Preguntas

Sección: 1. Qué es la Inteligencia Artificial.  
Pregunta: ¿Qué entendemos por Inteligencia Artificial? 

Respuesta:  
Cuando una máquina muestra la capacidad de ver, escuchar, comprender y aprender sobre el mundo como un ser humano. 

Sección: 2. Comprensión del lenguaje. 
Pregunta: ¿Cómo funciona el sistema de IA de Watson en el concurso de Jeopardy (2011) para emitir una respuesta? 

Respuesta:  
Los pasos que sigue son:  

  1. Trata de comprender la pregunta descomponiendo y analizando sus palabras.  
  2. Analiza millones de artículos relacionados con estas palabras clave. 
  3. Examina todas las posibilidades para reducir su número.  
  4. Ordena las posibles respuestas en base a la fiabilidad. 
  5. Emite la respuesta de mayor confianza. 

Sección: 3. Debatiendo con una máquina. 
Pregunta: ¿Qué pasos sigue la máquina de Watson para debatir con un ser humano de una forma eficiente? 

Respuesta: 
Los pasos que sigue son:  

  1. Examina la pregunta para tratar de comprender su contenido.  
  2. Analiza millones de artículos en Internet donde encontrar argumentos que le permitan construir su intervención de 4 minutos defendiendo su posición. 
  3. Expone verbalmente esos argumentos en un discurso coherente.   

Sección: 4. Inteligencia Artificial en el camino. 
Pregunta: ¿Por qué resulta complicado que un auto sin conductor funcione adecuadamente? 

Respuesta: 
Resulta muy difícil para una máquina conducir cuando está oscuro o está lloviendo debido a problemas de percepción. La seguridad es crucial en este tipo de tecnología. La IA puede fallar en sus predicciones y si ocurre en la conducción de un auto las consecuencias pueden ser catastróficas.  En este proceso debe percibir los carriles de la carretera y los vehículos, hacer predicciones de sus trayectorias y saber dónde se quiere desplazar.  

Sección: 5. ¿Cómo aprenden las máquinas? 
Pregunta: ¿En qué consiste el aprendizaje automático? 

Respuesta:  
Es la capacidad de la máquina para analizar datos, extraer patrones, inferir predicciones, emitir una respuesta y confirmar o refutarla en función del éxito alcanzado. 

Sección: 6. Trabajando con IA 
Pregunta: ¿La Inteligencia Artificial conseguirá suprimir puestos de trabajo? 

Respuesta:  
La IA puede generar una pérdida de empleos, pero también puede crear otros nuevos. Esta tendencia se ha repetido en distintos periodos históricos, como la revolución industrial y la revolución de servicios online. Los trabajadores que usan IA están sustituyendo a los trabajadores que no la usan. Así surge la figura de entrenador/a de robots, pues en lugar de programar, resulta más eficaz que el propio trabajador pueda entrenar al robot para que realice acciones rutinarias.  

Sección: 7. Aprendizaje de por vida 
Pregunta: ¿En qué puede mejorar la IA aplicada a programas de aprendizaje? 

Respuesta:  
Los programas de aprendizaje basados en IA analizan las respuestas del alumnado y reorientan a nivel individual las tareas a realizar con el propósito de que el alumno/a vaya progresando más rápidamente. Esto favorece la personalización de la enseñanza. Al profesorado le permite detectar las dificultades más comunes a un grupo de alumnos/as con intención de volver a incidir sobre ellas a nivel general.   

Sección: 8. Fusión con las máquinas.  
Pregunta: ¿En qué consiste el proyecto de WearWorks?  

Respuesta:  
En el proyecto WearWorks se ha diseñado un brazalete de vibraciones que guía a los corredores invidentes mediante señales hápticas por un espacio libre. El sistema de IA crea un pasillo virtual seguro usando señales GPS y aprendizaje automático. Cuando el corredor se sale del mismo, recibirá una señal háptica de alarma para indicarle que debe regresar al mismo. 

Sección: 9. Un sexto sentido sintético. 
Pregunta: ¿Crees que el reconocimiento facial puede atentar contra el derecho a la privacidad de los ciudadanos? ¿Piensas que es posible detectar si una persona es un delincuente o no solamente porque muestre unos rasgos faciales concretos? 

Respuesta:  
Libre 

Sección: 10. En busca de un descubrimiento.  
Pregunta: ¿De qué forma la IA puede ayudar a acelerar la investigación científica? 

Respuesta:  
La IA puede procesar a gran velocidad una amplísima bibliografía científica con intención de encontrar conexiones entre los millones de informes. A partir de estas conexiones puede proporcionar información de posibles avances a investigar. Por ejemplo: plantear el uso de nuevos fármacos en el tratamiento de algunas enfermedades.  


SESIÓN 2. CREAR UN ASISTENTE DE CONVERSACIÓN 

Objetivos

  • Registrar una cuenta gratuita en IBM Cloud y activar el servicio Watson Assistant.  
  • Crear un asistente de conversación.  
  • Reconocer y aplicar el concepto de intencionalidad de una conversación.  
  • Crear el catálogo inicial de intenciones del chatbot en función del contexto del usuario final: madre/padre de alumno/a del centro educativo.

Organización

  • Cada equipo de trabajo formado por 4 alumnos/as crea una cuenta en IBM Cloud usando el correo electrónico de uno de sus miembros.  
  • El resto de los miembros del grupo pueden crearse su propia cuenta en IBM Cloud para realizar pruebas.  

Metodología

  • Descubrimiento guiado. El docente irá explicando cómo registrarse en IBM Cloud, cómo activar el servicio Watson Assistant, cómo crear un asistente de conversación y en qué consisten las intenciones de una conversación.  
  • Torbellino de ideas. Cada equipo realizará un análisis de las necesidades informativas de las madres o padres al visitar la web del centro educativo. Esa información debe ser breve y estar disponible en una página con una URL concreta dentro de la web del centro. Después se organiza un turno de intervenciones en el que cada grupo expone su listado con intención de depurarlo gracias a las aportaciones del resto.  
  • Registrar las intenciones en el asistente de conversación. Una vez que cada grupo complete su listado comenzará a introducir las intenciones en su asistente de conversación.  

Secuencia de tareas

PASO 1. OBTENER UNA CUENTA EDUCATIVA EN IBM CLOUD

Para que un docente o alumno/a pueda obtener una cuenta educativa en IBM Cloud es necesario que su centro educativo esté registrado previamente en IBM Academic Initiative. El responsable del centro en este registro indica el dominio de cuentas que tendrán los docentes y alumnado de su entidad. A partir de ese momento cualquier miembro del centro educativo se podrá registrar en IBM Academic Initiative. Para ello deberá utilizar obligatoriamente una cuenta en ese dominio común del centro.   

1.1 Registro del centro en IBM Academic Initiative

El responsable del centro educativo registra el centro educativo siguiendo estos pasos:  

1. Accede a IBM Academic Initiative: https://www.ibm.com/academic/home  
2. Clica en el botón Register now.  
3. Introduce su email en el centro y pulsa en Submit.  
4. Si ese dominio no está registrado previamente se mostrará un formulario para introducir los datos del gestor y del centro. Es importante que en Type of User se elija Staff
5. Una vez completado el formulario se envía. Al cabo de unos minutos se recibirá en el email del gestor la notificación de que la solicitud ha sido aprobada.  

Nota: la gestión descrita solamente es necesario hacerla una vez. A partir de ese momento cualquier docente y/o estudiante del centro podrá inscribirse en IBM Academic Initiative. 

1.2 Darse de alta como docente/estudiante en IBM Academic Initiative 

Este registro debe realizarlo cada docente o alumno/a que desee utilizar IBM Cloud.  

1. Accede a IBM Academic Initiative: https://www.ibm.com/academic/home  
2. Clica en Register now.  
3. Introduce la dirección de correo electrónico del docente o alumno/a. Si el centro ya está registrado te introducirá en un formulario donde aparecerá tu email y el nombre de la institución educativa.  
4. Completa el formulario. Si eres docente selecciona Staff y si eres estudiante selecciona Student

5. Para terminar, pulsa en el botón Register. 
6. A continuación, serás redirigido al formulario de creación de tu cuenta IBM gratuita.

7. Completa el formulario: correo electrónico, nombre, apellidos, contraseña, país de residencia, centro educativo… 
8. Te llegará un email a tu cuenta con un código que es necesario introducir para validar la propiedad del email. 
9. Tras concluir el proceso habrás creado una cuenta de IBM gratuita.  

1.3 Crear una cuenta en IBM Cloud desde IBM Academic Initiative 

1. Accede a IBM Academic Initiative: https://www.ibm.com/academic/home  
2. Clic en el botón Log In. 
3. Introduce el email y la contraseña si la solicita.  
4. En la barra superior horizontal selecciona Topics > IBM Cloud. 

5. En la barra lateral izquierda selecciona Software y a continuación pulsa en la flecha azul que aparece en el recuadro IBM Cloud Feature Code

6. Clica en el botón Copy Code para copiar el código alfanumérico que se ofrece.  

7. A continuación, en el navegador web accede a la dirección de IBM Cloud: https://www.ibm.com/es-es/cloud  
8. Clica en el botón Cree una cuenta de IBM Cloud.
9. Introduce el correo electrónico y pulsa en Siguiente. 

10. Se remitirá un código de validación de la cuenta de correo. Consulta tu cuenta de correo electrónico para copiar el código de verificación y pegarlo en el formulario anterior.  
11. A continuación, te pedirá de nuevo introducir el correo electrónico y la contraseña de tu cuenta IBM.  
12. Se muestra el formulario Verificar identidad 

13. En el apartado Información de la cuenta, pulsa en el enlace Registrarse con un código para pegar el código proporcionado anteriormente desde IBM Academic Initiative

14. Clica en el botón Crear cuenta. Al cabo de unos segundos ya dispondremos de cuenta operativa en IBM Cloud.  
15. Para utilizarla ya bastará con acceder a IBM Cloud e introducir email y contraseña de tu cuenta IBM (IBM ID): https://www.ibm.com/es-es/cloud 

PASO 2. ACTIVAR EL SERVICIO WATSON ASSISTANT 

1. Entra en la web de IBM Cloud: https://www.ibm.com/es-es/cloud e inicia sesión con tu email y contraseña de IBMid.
2. Clica en el botón Catálogo situado en la barra horizontal superior. Esta acción mostrará todos los servicios disponibles en tu cuenta de IBM Cloud. 
3. En el buscador introduce los términos Watson Assistant y pulsa en el botón de lupa para iniciar la búsqueda en el catálogo.  

4. Pulsa en el ítem Watson Assistant para seleccionarlo.  

5. Marca el check de los acuerdos de licencia y pulsa en el botón Crear. 

6. Una vez incorporada una instancia del servicio Watson Assistant a tu cuenta de IBM Cloud, estará accesible en Lista de recursos > IA / Aprendizaje automático > Watson Assistant. 

PASO 3. CREAR UN ASISTENTE DE CONVERSACIÓN 

1. En la lista de recursos de tu cuenta en IBM Cloud pulsa en IA/Aprendizaje Automático > Watson Assistant.  
2. Clica en el botón Iniciar Watson Assistant

3. Se solicita introducir los datos del primer asistente que vamos a crear.  

4. Introduce los siguientes datos y pulsa en el botón Next (siguiente).  

  • Assistant name. Ejemplo: Familias Bot 
  • Description. Opcional.  
  • Assistant language. En este caso Spanish 

5. En la página Personalize your assistant despliega los distintos combos para elegir opciones:  

  • Where do you plan on deploying your assistant? Elegimos Web.  
  • Which industry do you work in? N/A (I am student). 
  • What is your role …? Libre.  
  • Which statement describes your needs best? Por ejemplo: I’m using Watson Assistant to complete a course or certification.  

6. Clica en Next 

7. En la página Customize your chat UI para definir los colores y el título superior. En este caso solamente modificaremos el título. Observa que en la parte inferior derecha se muestra la vista previa del chat.  

8. En la página Preview pulsa en el botón Create 
9. Para activar el editor Dialog que nos ofrece un mayor control del flujo lógico de la conversación, haz clic en el botón Assistant settings que muestra el icono de rueda dentada en la esquina inferior izquierda.  

10. Clic en el botón Activate Dialog y confirma pulsando en el botón azul Activate dialog

A partir de este momento ya tenemos activado el modo de edición Dialog que permite programar el asistente de una forma más profesional y compleja.  

PASO 4. DEFINIR LAS INTENCIONES DE LA CONVERSACIÓN

4.1 Crear las intents del asistente

Las intents hacen referencia a la acción que desea realizar el usuario. Se trata de anticipar las frases que el usuario puede introducir para expresar una idea o un objetivo específico. Normalmente se expresan con un verbo.

1. Desde la página del asistente pulsa en Dialog para acceder a este editor.  

2. En la columna lateral izquierda selecciona Intents 
3. Para crear una intención pulsa en el botón Create intent

4. Se define un nombre y una descripción para cada intent. Por ejemplo: #Dar_saludo.  

5. A continuación, se le añaden los ejemplos de mensajes que a priori puede introducir el usuario, es decir, distintas frases relacionadas con esa intención. Ejemplos: Hola, Buenos días, Buenas tardes, Buenas noches… Para ello teclea esa frase y pulsa en el botón Add example. El motor de IA de Watson analizará los mensajes introducidos por el cliente y tratará de identificar esa intención.  

6. Sigue los pasos anteriores para introducir las intenciones que tratará de reconocer nuestro asistente de conversación.  

En estos momentos cada equipo debe acordar el catálogo inicial de intents que deberá reconocer su asistente de conversación. A continuación, se expone un ejemplo.  

Intents de protocolo:

Intent Ejemplos 
#Dar_Saludo – Buenas noches 
– Buenas tardes 
– Buenos días 
– Hola 
#Dar_Gracias – Gracias 
– Mil gracias 
– Muchas gracias 
#Dar_Despedida – Adiós
– Bye
– Hasta luego
– Hasta pronto
– Nos vemos 
#Preguntar_Estado – ¿Cómo estás? 
– ¿Cómo te encuentras? 
#Rehusar_Palabrotas – asqueroso
– feo
– imbécil 
– malo 
– mierda 
– porra 
– tonto 
#Solicitar_Nombre – ¿Cómo te llamas? 
– Nombre 
#Solicitar_Edad – ¿Cuántos años tienes? 
– Edad 

Intents de solicitud de información:

Intent Ejemplos 
#Solicitar_AMPA – AMPA
– Asociación
– Madres 
– Padres 
#Solicitar_Ayuda – Ayuda 
Help 
– Menú 
– Opciones 
#Solicitar_Calendario – Calendario 
– Calendario escolar 
– Festivos 
– Vacaciones 
#Solicitar_Comedor – Comedor 
– Información del comedor 
– Menús del comedor 
#Solicitar_Email – Dime el email del colegio 
– Email 
#Solicitar_Horarios – ¿Cuál es el horario del director? 
– Horarios 
– Horario del equipo directivo 
#Solicitar_Justificantes – Autorizaciones 
– Impresos 
– Justificantes 
– Modelos 
#Solicitar_Libros – Libros 
– Listado de libros 
– Material 
#Solicitar_Proyectos – Acción tutorial 
– Convivencia 
– Diversidad 
– Plan TIC 
– Planes 
– Proyecto Educativo 
– Proyectos 
#Solicitar_Teléfono – Móvil del centro 
– Teléfono del centro 
#Solicitar_Ubicación – ¿Dónde está el centro? 
– Calle
– Dirección 
– Dirección postal 
– Localización 
– Ubicación 

Intents de solicitud de información:

#Solicitar_Mejor_Clase – ¿Cuál es la mejor clase? 
– La mejor clase es… 

4.2. Intercambio de intents entre proyectos 

En la esquina superior derecha del listado de intents se ofrecen 2 botones: Upload intents y Download all items que pueden resultar muy útiles para intercambiar el listado entre distintos proyectos de los grupos de alumnos/as. Se utiliza como intermediario un fichero *.csv para descargar o subir este catálogo.  

4.3 El motor IA de Watson

En este momento del diseño de intenciones es importante poner énfasis en que el motor de IA de Watson es capaz en ocasiones de inferir intenciones a partir de textos introducidos por el usuario que no están inicialmente previstos en su configuración. No es un simple sistema de base de datos de preguntas y respuestas. No obstante, como veremos más adelante, conviene realizar un entrenamiento lo más completo posible para incrementar la confianza en las respuestas.  


SESIÓN 3. NODOS DE DIÁLOGO Y DEPURACIÓN INICIAL  

Objetivos

  • Reconocer y aplicar el concepto de “entidad” de una conversación.  
  • Reconocer y aplicar el concepto de “diálogo” de una conversación.  
  • Crear un prototipo inicial y completo de asistente de conversación incorporando intenciones, entidades y el control lógico de flujo de los diálogos. 

Organización

  • Cada equipo de trabajo formado por 4 alumnos/as diseña su propio asistente utilizando la cuenta IBM Cloud de uno de sus miembros.    

Metodología

  • Descubrimiento guiado. El docente irá explicando en qué consisten las entidades y los diálogos de una conversación, así como los detalles de su implementación. 
  • Trabajo de equipo I. Cada equipo recopila la información puntual y/o el enlace directo en la web del centro educativo que contiene la información que devolverá el chatbot en cada una de las intenciones detectadas.
  • Trabajo de equipo II. Cada grupo comenzará a introducir los nodos de diálogo en su asistente de conversación.  

Secuencia de tareas

PASO 5. ESTABLECER LAS ENTIDADES DE LA CONVERSACIÓN

Las entities son los objetos sobre los cuales el cliente puede actuar y son entradas que modifican la forma en que Watson responde a la intención del usuario. Hay entidades de sistema como la fecha, hora, números… que se utilizan para recoger datos del usuario. 

1. Para crear una entidad personalizada pulsa en la pestaña My Entities y a continuación haz clic en el botón Create entity.  
2. Introduce el nombre de la entidad precedida del símbolo “@”. Ejemplo: @estado 
3. A continuación, teclea los posibles valores que puede tener este objeto. Ejemplo: bien, mal, regular… 

4. En la sección My entities se mostrarán las entidades creadas.  

Nota: en el chatbot que se propone no utilizaremos entidades. 

PASO 6. CREAR LOS NODOS DE DIÁLOGO

6.1 ¿Qué son los nodos de diálogo?

Los nodos de diálogo forman un árbol de ítems o elementos que definen el flujo lógico del asistente de conversación. Cada nodo contiene la condición que lo dispara (normalmente cuando el asistente reconoce una intención o un cierto valor de la entidad), lo que el asistente responde (texto, imagen, enlace…) y por último lo que hará el asistente después de responder (esperar o saltar a otro nodo).  

1. Pulsa en Dialog para acceder a los nodos de diálogo.  

2. Observa que se ofrecen por defecto dos nodos: Bienvenido y En otras cosas. No conviene eliminarlos. El primero se muestra al inicio de la conversación y el segundo se activa cuando el asistente no sabe qué nodo disparar tras un envío del usuario. Es importante que estos dos nodos sean el primero y el último respectivamente.  
3. Para crear un nodo pulsa en el botón Add node.  
4. En cada nodo añadido es necesario especificar:  

  • If assistant recognizes… define lo que tiene que ocurrir para que se dispare el nodo. Puede ser el reconocimiento de una intención (#Solicitar_Ayuda) o de un determinado valor de una entidad (@estado.Bien).  
  • Assistant responds permite definir lo que el asistente responderá. Si se introducen distintas alternativas se puede optar por que se muestren de forma secuencial o aleatoria en sucesivas activaciones del nodo. La respuesta puede ser texto, una imagen cuya URL se añade, un audio, vídeo, combo desplegable… 
  • Then assistant should es para decidir qué hará el asistente después de responder. Por defecto suele ser Wait for replay, es decir, esperar una respuesta, pero también puede ser saltar automáticamente a otro nodo produciendo su activación.  

6.2 Nodo Bienvenido

Para que el asistente se inicie con una presentación del proyecto y solicitar el nombre del cliente para almacenarlo en una variable de contexto y luego reutilizarlo:  

1. Pulsa sobre el nodo Bienvenido.  
2. Asegúrate que en la sección If assistant recognizes… figura el ítem welcome. Este valor hace que este nodo se active al inicio del chatbot.  

3. En la sección Assistant responds se definirá la imagen y textos que mostrará el asistente. Para añadir más de una respuesta haz clic en Add response type. Todas ellas se mostrarán una detrás de otra cuando se active el nodo.  
4. Añade como respuesta Image y copia el siguiente enlace en Image source:  

5. Clica en Add response type para incorporar una respuesta de tipo texto: Hola, soy Charlie un chatbot de asistencia.

6. Clica en Add response type para incorporar una respuesta de tipo texto: He sido diseñado por alumnado de 6ºD del CEIP Costa Teguise con la aplicación de Inteligencia Artificial IBM Watson Assistant. 

7. Clica en Add response type para incorporar una respuesta de tipo texto: ¿Cuál es su nombre para poder dirigirme a usted? 

8. A continuación, haz clic en el botón “3 puntos” que aparece en la esquina superior derecha del nodo Bienvenido y elige la opción Add child node.  

9. En el árbol se mostrará un nuevo nodo colgado del nodo Bienvenido. Este nodo hijo se dispara automáticamente cuando el cliente introduce una respuesta. En este caso se supone que la respuesta del usuario es su nombre.  

10. En este nuevo nodo sitúa el valor true en la condición que el asistente debe reconocer para ejecutar ese nodo. De esta forma el nodo hijo se ejecutará automáticamente.

11. En la sección Assistant responds pulsa en el botón “3 puntos” y elige la opción Open context editor para acceder al editor de variables de contexto.

12. Añade la variable $nombre y en valor escribe “<?input.text?>”. Esta definición hará que en la variable de contexto $nombre se guarde lo que acaba de teclear el cliente. A partir de ese momento cuando se utilice la variable $nombre en cualquier nodo, se escribirá el nombre introducido por el cliente.  

13. En la sección Assistant responds añade un texto con distintas posibilidades que reutilicen el nombre del usuario mediante la sintaxis “$nombre,…”. Puedes elegir la opción Sequential  para que cada frase se muestre en orden secuencial en cada llamada del nodo o bien de forma aleatoria si eliges Random.  

6.3 Nodo “En otras cosas”

Este nodo debe situarse al final del árbol. El asistente mostrará este nodo cuando no sea capaz de encontrar una intención prevista dentro de la conversación. Sus parámetros serán:  

  • If assistant recognizes: debe figurar el identificador anything_else para que funcione como nodo comodín.  
  • Assistant responds: incluye las posibles respuestas en orden secuencial, aleatorio… Conviene añadir distintas frases para indicar que el asistente no puede atender la petición del cliente.  
  • Then assistant should: Wait for reply.  

6.4 Resto de nodos de la conversación

Siguiendo las instrucciones explicadas se crearán nuevos nodos para crear la lógica de la conversación: 

1. Para crear un nodo pulsa en el botón Add node
2. En cada nodo añadido es necesario especificar la intención que reconoce el asistente, el texto-combo-enlace que responde el asistente y lo que hará cuando haya terminado.  

3. Siguiendo este procedimiento vamos incorporando los distintos nodos. En la siguiente tabla se recogen algunos que se podrían añadir a modo de ejemplo.  

Nodo de diálogo Intent Ejemplos de tipos de respuesta 
Bienvenido #welcome Hola, soy Charlie un chatbot de asistencia. 
Preguntar Estado #Preguntar_Estado Yo me encuentro muy bien y espero que usted también.  
Rechazar Palabrota #Rehusar_Palabrotas Por favor $nombre, trate de ser más educad@ en su conversación. 
Ofrecer saludo #Dar_Saludo Hola, $nombre. 
Decir nombre #Solicitar_Nombre Me llamo Charlie y soy un chatbot de asistencia. 
Decir edad #Solicitar_Edad Tengo apenas unos meses de vida, pero estoy aprendiendo mucho. 
Decir Mejor Clase #Solicitar_Mejor_Clase Sin duda LA MEJOR CLASE DEL COLEGIO ES 6ºD ¡Hasta el infinito y más allá! Aunque las otras clases de 6º también son excelentes.  
Calendario #Solicitar_Calendario En esta dirección puede consultar el calendario escolar para el próximo curso: <a target=”blank” href=”https://www.gobiernodecanarias.org/educacion/web/centros/calendario_escolar/”>Calendario escolar 2022-2023</a> 
Email #Solicitar_Email Haga clic aquí para enviar un email al centro: <a target=”blank” href=”mailto:35013878\@gobiernodecanarias.org”>35013878\@gobiernodecanarias.org </a>  
AMPA #Solicitar_AMPA En esta dirección puede consultar toda la información relativa a la Asociación de Madres y Padres del colegio: <a target=”blank” href=”https://ampapejeverde.blogspot.com/”>AMPA Pejeverde CEIP Costa Teguise</a> 
Justificantes #Solicitar_Justificantes Desde esta sección de la web del colegio podrá descargar los distintos tipos de impresos de justificantes y autorizaciones: <a target=”blank” href=”https://www.ceipcostateguise.es/oficina-virtual-documentacion/”>Oficina Virtual del CEIP Costa Teguise</a> 
Ubicación #Solicitar_Ubicación La dirección del centro es: <br>CEIP Costa Teguise<br/>Calle Malagueña s/n.<br/>35508 Costa Teguise. Lanzarote. Las Palmas. <a target=”blank” href=”https://goo.gl/maps/CAQKyGnBvMxoKimw5″>Ubicación del CEIP Costa Teguise en Google Maps</a> 
Proyectos #Solicitar_Proyectos Aquí podrá acceder a los distintos proyectos del centro: <a target=”blank” href=”https://www.ceipcostateguise.es/proyecto-educativo/”>Proyecto Educativo del CEIP Costa Teguise</a> 
Horarios #Solicitar_Horarios HORARIOS <br/>Invierno del centro: 8:30-13:30 h<br/>Verano del centro: 8:30-12:30 h.<br/>secretario: lunes 8:45-9:30 h<br/>Jefatura: lunes-miércoles 8:45-9:30 h<br/>Director: martes a viernes 8:45-9:30 h 
Teléfono #Solicitar_Teléfono Los teléfonos del CEIP Costa Teguise son: <b>928 34 66 47</b> y <b>638 74 93 83</b> 
Libros #Solicitar_Libros En esta dirección puede consultar el listado de libros del centro para el próximo curso: <a target=”blank” href=”https://www.ceipcostateguise.es/libros-curso-2022-2023/”>Listado de libros 2022-2023</a> 
Comedor #Solicitar_Comedor Toda la información del comedor se puede consultar aquí: <a target=”blank” href=”https://www.ceipcostateguise.es/comedor-escolar-menus/”>Comedor del colegio</a> 
Gracias #Dar_Gracias Gracias a usted, es un placer atenderle. 
Despedida #Dar_Despedida ¡Hasta pronto!, $nombre. 

Nota:  es necesario que el alumnado disponga de dos nociones básicas de lenguaje HTML para crear respuestas del asistente con saltos de línea (<br/>) y con enlaces (<a href=”<url del enlace>”>texto del enlace</a>). 

6.5 Nodo con respuesta de combo

La respuesta del asistente puede ser texto o imagen. También su respuesta puede ser un combo donde el usuario elige una opción del mismo. En este caso podemos implementar el nodo Ayuda con los siguientes parámetros:  

  • If assistant recognizes… Se selecciona la intent #Solicitar_Ayuda.  
  • Assistant responds para definir una respuesta de tipo texto, por ejemplo: “Estos son los servicios informativos que puedo ofrecerle:” 
  • Assistant responds para añadir una respuesta de tipo Option e introducir las etiquetas y los valores de las palabras clave asociadas. Cuando el usuario elige una opción del combo, se escribirá su valor asociado y será interpretado por el asistente.  

6.6 Compartir catálogo de diálogos entre proyectos

En ocasiones puede resultar interesante importar y exportar el catálogo de diálogos que hemos creado en nuestro asistente. Para ello es necesario seguir estos pasos:  

1. Desde la página Dialog elige Dialog > Upload/Download 

2. Desde la página Upload/Download es posible descargar todos los nodos de diálogo del asistente actual en la pestaña Download. Se descarga en un archivo en formato *.JSON.  

3. Asimismo, desde la pestaña Upload es posible subir al asistente actual los nodos almacenados en un archivo *.JSON descargado de otro asistente.  

Nota: la posibilidad de importar/exportar nodos de diálogo permite el intercambio de recursos entre equipos en clase.  

PASO 7. PROBAR EL ASISTENTE DE CONVERSACIÓN

Una vez que disponemos de un número suficiente de intents y dialogs podemos testear el comportamiento del asistente. Para ello:  

1. Desde la página de Dialog pulsa en el botón Try it situado en la esquina superior derecha.  

2. Se desplegará una columna lateral derecha donde podremos simular la conversación virtual con el asistente que estamos diseñando.  

3. Clica en Clear para reiniciarlo.  
4. Pulsa en Manage context para acceder a las variables de contexto definidas en ese momento de la conversación.  


SESIÓN 4. DEPURACIÓN Y ENTRENAMIENTO DEL CHATBOT 

Objetivos

    null
  • Depurar los errores de diseño y programación del asistente.  
  • Valorar y aplicar la importancia del entrenamiento del chatbot como una condición indispensable para conseguir un asistente optimizado.  

Metodología

  • Trabajo de equipo. Grupo de 4 personas con un ordenador y una cuenta única en IBM Cloud. El conductor dispone del control del teclado; el navegante escucha, analiza y decide; y los otros dos observan, aportan, revisan y emiten opiniones (organización Mob).  

Secuencia de tareas

PASO 8. DEPURACIÓN INICIAL DEL CHATBOT.

El grupo interactúa con el chatbot corrigiendo los errores detectados durante 10 minutos.  

PASO 9. ENTRENAMIENTO DEL CHATBOT.  

9.1 Investigación de campo con voluntarios externos.

Se buscan voluntarios que no pertenezcan al grupo clase y se les propone que interactúen por teclado con el chatbot. Pueden ser alumnos/as de otras clases, docentes o incluso familiares. Se les explica el propósito del asistente y el contexto de uso. A continuación, el grupo va anotando en un cuaderno de campo las peticiones realizadas que no han sido correctamente resueltas por el asistente. Este periodo de pruebas con público voluntario puede durar 20-30 minutos o incluso alguna sesión más.  

9.2 Entrenamiento del chatbot.

Tomando como referencia las notas de campo recogidas, el grupo ahora trata de reproducir los contextos en los que el chatbot no proporcionó respuestas ajustadas. En el entrenamiento del asistente podemos distinguir dos situaciones distintas:  

  • Situación A. El asistente no tenía contemplado proporcionar la información solicitada. En este caso su inclusión se valora por el grupo y se implementa añadiendo las intent y dialog correspondientes.  
  • Situación B. El asistente no es capaz de inferir la intención adecuada a partir del mensaje del cliente. Es decir, tenemos contemplada esa información solicitada pero el chatbot no identifica su petición a partir del texto introducido por el usuario.  

A continuación, se explica cómo mejorar el asistente mediante el entrenamiento de intenciones:  

1. Desde la página Dialog pulsa en el botón Try it.  
2. Introduce el texto que es considerado como Irrelevante por el testeador del asistente. Por ejemplo: “Quiero que me ayudes”.  
3. Observa que el asistente emite una de las frases que teníamos en el nodo de diálogo En otras cosas. Por ejemplo: “Lo siento. No estoy programado para solucionar su petición”.  

4. En el panel de la conversación despliega el combo Irrelevant y elige la intent que debería interpretar el asistente cuando el usuario introduzca esta frase. En este caso: #Solicitar_Ayuda
5. Si observas la intención #Solicitar_Ayuda se habrá añadido automáticamente esa nueva frase a los ejemplos de usuario de esa intent.  

6. A partir de ese entrenamiento si el usuario introduce de nuevo la expresión anterior, el asistente responderá adecuadamente.  


SESIÓN 5. INTEGRACIÓN WEB DEL CHATBOT  

Objetivo

  • Integrar el asistente como un recurso online en una web, blog, sites… 

Organización

  • Se puede organizar la sesión para que cada grupo entregue, a través del aula virtual, la URL de acceso a su asistente u otra posibilidad es que lo integre en la página web de su blog o portfolio personal y a continuación remita la URL de este último.  

Secuencia de tareas

PASO 10. INTEGRACIÓN WEB DEL ASISTENTE DE CONVERSACIÓN

10.1 Enlace directo al asistente de conversación.

1. Recuerda que cuando creamos el asistente habíamos elegido el entorno Web como el destino de publicación del mismo.  
2. Desde la página principal del asistente selecciona en el menú principal la opción Publish.

3. Pulsa en el botón Publish. Esta acción habrá que realizarla cada vez que hagamos una modificación en la programación del asistente.  

4. Tras la publicación se mostrará el número de la nueva versión publicada en la columna lateral derecha de esa página.  

5. Clic en Preview para ver la integración web del asistente.  

6. Se mostrará una imagen de fondo como ejemplo de website y en la esquina inferior derecha se desplegará el asistente.  

7. Si se pulsa en el botón Copy link to share se copiará la URL de acceso a este chatbot. Cualquier usuario anónimo puede acceder directamente a través de este enlace.

8. Para modificar la imagen de fondo haz clic en Change background y sube una nueva imagen (por URL o bien subiendo la imagen desde tu equipo). Clica en el botón Change background.  
9. A partir de este momento se mostrará la nueva imagen de fondo y el panel del webchat te dará la opción de desplegarse pulsando en el botón inferior derecho.

10.2 Personalizar el web chat.

1. Para customizar el webchat pulsa en el botón Customize web chat

2. Desde esta página es posible personalizar estos parámetros: 

  • Style. Permite definir el título que tendrá la ventana flotante del asistente, sus colores y una imagen avatar.  
  • Launcher. Define el mensaje de bienvenida que mostrará el web chat durante los 15 primeros segundos después de cargarse la página web.  

El Launcher aparecerá en la esquina inferior derecha de la página web donde se integra el asistente.  

  • Home Screen. Muestra al principio, a título orientativo, ejemplos de lo que el asistente puede ofrecer.  

La Home Screen mostrará algunos ejemplos de opciones al comienzo de la conversación. Bastará con que el usuario pulse en uno de ellos para ver la respuesta.  

Nota:  

  • En el caso que nos ocupa podemos desactivar la Home Screen pulsando en su interruptor On/Off porque hemos programado una presentación inicial del chatbot desde el editor de diálogos.  
  • Suggestions. Se trata de sugerencias que aparecen como opciones de mensajes cuando el usuario necesita un poco de ayuda. Se adaptan a la conversación y pueden ofrecer posibles solicitudes o incluso conexión con un agente humano. En este caso vamos a desactivar esta característica.  

10.3 Integración del asistente en una página web. 

1. Sitúate en las opciones de personalización del web chat mediante Preview > Customize Web Chat y luego pulsa en la pestaña Embed 

2. Copia y pega este código HTML en un widget de tu blog o website.  
3. Al mostrarse esa página de tu website se mostrará el botón del asistente en la esquina inferior derecha. 
4. El usuario tendrá que pulsarlo para que se despliegue el panel del asistente de conversación.  


SESIÓN 6. PRESENTACIÓN FINAL DE PROYECTOS

Objetivo

  • Exponer a los demás los puntos fuertes y debilidades del asistente creado, así como las dificultades y propuestas de mejora.  

Actividad

  • Cada equipo de trabajo expone por turnos su producto usando una pequeña presentación con diapositivas y una demostración práctica de su asistente. 

¿Cómo evalúo las competencias adquiridas por mi alumnado con este recurso?

La evaluación de la propuesta se realizará mediante una valoración de estos cuatro aspectos:  

  1. Visionado del vídeo en sesión inicial (accede a la rúbrica aquí).
  2. Participación del alumnado en el proyecto (accede a la rúbrica aquí).
  3. Producto elaborado: asistente de conversación (accede a la rúbrica aquí).
  4. Presentación a los demás (accede a la rúbrica aquí).

Para evaluar cada elemento se propone una rúbrica que el alumnado conocerá antes del comienzo de la unidad de trabajo. En el caso de la valoración del producto elaborado, es decir, del asistente diseñado por cada grupo, se propone una combinación de las 3 perspectivas de evaluación: hetero-, co- y auto-evaluación usando CoRubrics (https://corubrics-es.tecnocentres.org/). Con la misma rúbrica, el docente(s), otro equipo y el mismo equipo evalúan cada producto.  

Propuestas de mejora

Entre las propuestas de mejora de esta experiencia cabe mencionar:  

  • Profesorado de apoyo. El desarrollo de las tareas prácticas durante las sesiones se puede ver facilitado con un profesor/a de apoyo que colabore en la resolución de incidencias técnicas y atienda al alumnado con dificultades de seguimiento.  
  • Experiencia previa del alumnado. Se recomienda que el alumnado tenga experiencia en trabajar en equipo, en la programación visual y tenga ciertos conocimientos de inglés.  
  • Portfolio del alumnado. El uso de un portfolio en formato web por parte del alumnado puede facilitar la publicación del chatbot creado mediante integración web. En su defecto se puede trabajar con el enlace compartido que el alumnado envía como respuesta a una tarea en el aula virtual.  
  • Mejoras del asistente. Se contempla el diseño del asistente para clientes de otros idiomas: inglés, francés, alemán… teniendo en cuenta el alto porcentaje de familias anglosajonas en algunos centros educativos.  
  • Otros ámbitos de asistencia. Una vez concluido el diseño de este asistente para familias que visitan la web del centro, es posible proponer al alumnado la creación de asistentes útiles en otros contextos: asistencia a ancianos que viven solos, gestión de pedidos de un restaurante, guía de orientación de estudios para alumnado de Bachillerato, asistencia a clientes de un banco, gestión de incidencias en el uso de un programa de software, guía de consulta para estudiantes sobre las dudas de un tema… 

Material de apoyo y/o ampliación

  • Programa “Watson va a clase”. Se trata del espacio web oficial del Departamento RSC de IBM Madrid que contiene el acceso a distintos recursos de apoyo y ampliación. Destaca el curso formativo gratuito dentro de la plataforma de aprendizaje IBM SkillsBuild. https://www.watsonvaaclase.org/ 
  • Youtube “Construyendo un chatbot. Vídeo resumen explicado por el alumnado sobre lo que es un chatbot y cómo se crea con Watson Assistant. https://www.youtube.com/watch?v=PIXYGHWjdpA.  
  • Ejemplo de chatbot. En el sitio web del CEIP Costa Teguise” se puede utilizar un chatbot asistencial pensado para ayudar a familias a localizar información del centro: http://ceipcostateguise.es