EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA...

123
EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA TUTORÍA INTELIGENTE EN UN ENTORNO VIRTUAL Autor Carolina Monserratte López Guanipatín [email protected] Tutor Jaime Ramírez Rodríguez [email protected] Angélica de Antonio Jiménez [email protected]

Transcript of EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA...

Page 1: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

EVALUACIÓN Y MEJORA

DE UN SISTEMA DE DIÁLOGO

PARA TUTORÍA INTELIGENTE

EN UN ENTORNO VIRTUAL

Autor Carolina Monserratte López Guanipatín

[email protected]

Tutor Jaime Ramírez Rodríguez

[email protected]

Angélica de Antonio Jiménez [email protected]

Page 2: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

AAgradecimientos

Agradezco a Dios por protegerme durante todo mi camino y darme fuerzas para

superar obstáculos y dificultades a lo largo de toda mi vida.

A mis padres y a mi hermano, que me han enseñado a no rendirme y a luchar

por mis sueños, y que siempre han estado presentes para guiarme y darme sus

consejos a lo largo de la carrera estudiantil. Y que a pesar de la distancia nunca faltó

una llamada para darme las fuerzas necesarias para seguir adelante.

A Christian, que me ayuda a ser una mejor persona, y gracias porque día tras

día seguimos apoyándonos y porque este año la distancia no fue un impedimento para

seguir adelante.

A mi familia, que durante este año han estado presentes a pesar de la distancia,

que nunca me faltó una llamada o un mensaje de apoyo.

A todas las personas con las que conviví este año lejos de mi hogar, gracias por

hacer de esta época una de las mejores experiencias de vida.

A Jaime y Angélica que supieron guiar de la mejor manera este proyecto de

titulación.

Gracias a todas las personas que ayudaron directa o indirectamente en la

realización de este proyecto.

Page 3: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

i

ÍÍndice

ÍNDICE ............................................................................................................................................ I

ÍNDICE DE FIGURAS .................................................................................................................... VII

ÍNDICE DE TABLAS ........................................................................................................................ X

ÍNDICE DE ECUACIONES .............................................................................................................. XI

RESUMEN .................................................................................................................................... XII

SUMMARY .................................................................................................................................. XIII

1 INTRODUCCIÓN .......................................................................................................... 1

1.1. JUSTIFICACIÓN ...................................................................................................................... 2

1.2. CONTRIBUCIÓN ..................................................................................................................... 3

1.3. ORGANIZACIÓN DEL PROYECTO ........................................................................................... 4

2 ESTADO DEL ARTE ...................................................................................................... 5

2.1. LABORATORIO VIRTUAL DE BIOTECNOLOGÍA ..................................................................... 6

2.1.1. Open Simulator ................................................................................................................ 7

2.1.1.1. Comunicación entre objetos ........................................................................................................ 8

2.1.2. Protocolo de la práctica ................................................................................................... 9

2.1.3. Tutor automático del laboratorio .................................................................................... 9

2.1.3.1. Configuración del tutor automático .......................................................................................... 10

2.1.3.2. Validación de acciones por el tutor............................................................................................ 10

2.2. SISTEMA INTELIGENTE DE TUTORÍA CON INTERACCIÓN EN LENGUAJE NATURAL ......... 12

2.2.1. Arquitectura implementada del SIT ............................................................................... 13

2.2.1.1. Módulo experto y módulo tutor ................................................................................................ 13

2.2.1.2. Módulo estudiante...................................................................................................................... 13

Page 4: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ii

2.2.1.3. Módulo mundo ........................................................................................................................... 13

2.2.1.4. Módulo de comunicación ........................................................................................................... 13

2.2.2. Funcionamiento del SIT con interacción en lenguaje natural ........................................ 14

2.3. GESTOR DE DIÁLOGO: WATSON ASSISTANT ..................................................................... 16

2.3.1. Elementos del gestor de diálogo ................................................................................... 16

2.3.1.1. Intenciones (intents) ................................................................................................................... 16

2.3.1.2. Entidades (entities) ..................................................................................................................... 17

2.3.1.3. Estructura de diálogo .................................................................................................................. 17

2.3.2. Definición de intenciones y entidades ........................................................................... 17

2.3.2.1. Intenciones (intents) del laboratorio virtual .............................................................................. 17

2.3.2.2. Entidades (entities) del laboratorio virtual ................................................................................ 18

2.3.3. Estructura de diálogo ..................................................................................................... 19

2.3.3.1. Variables de contexto ................................................................................................................. 19

2.3.3.2. Definición de nodos .................................................................................................................... 19

Nodos principales de diálogo común .................................................................................................. 20

Nodos principales basados en la acción siguiente del estudiante .................................................... 21

Nodo principal para casos extras ........................................................................................................ 22

2.4. ONTOLOGÍAS ....................................................................................................................... 23

2.4.1. Conceptos básicos ......................................................................................................... 23

2.4.1.1. ¿Qué es una ontología? .............................................................................................................. 23

2.4.1.2. Lenguaje de Ontología Web (OWL) ........................................................................................... 23

2.4.2. Ontología mundo ........................................................................................................... 24

2.4.3. Ontología estudiante ..................................................................................................... 26

2.5. ASPECTOS PERCEPTIVOS Y ESPACIALES RELACIONADOS CON LA GENERACIÓN DE

INDICACIONES ............................................................................................................................ 28

2.5.1. Algoritmo para la generación de indicaciones para localización de objetos .................. 28

2.5.1.1. El objeto para localizar está en el mismo cuarto del usuario, pero no en su campo de visón

................................................................................................................................................................... 28

Page 5: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

iii

2.5.1.2. El objeto para localizar no está en el mismo cuarto ................................................................. 28

2.5.1.3. El objeto a localizar está en el campo de visión del usuario..................................................... 29

(c.1) El objeto a localizar se encuentra dentro de otro objeto .................................................... 29

(c.2) El objeto a localizar es saliente por sí solo ............................................................................ 29

(c.3) Necesidad de objeto de referencia ....................................................................................... 29

2.5.2. Algoritmo para la selección de objeto de referencia ..................................................... 30

2.5.2.1. Filtrado previo ............................................................................................................................. 30

2.5.2.2. Selección del objeto de referencia............................................................................................. 30

Conocimiento previo ( ) ................................................................................................................... 30

Saliencia visual o saliencia general del objeto (GS) ............................................................................ 31

Probabilidad de recordar la posición del objeto en el entorno (PR) ................................................. 34

33 PLANTEAMIENTO DEL PROBLEMA ............................................................................ 35

3.1. PROBLEMAS PREVIOS ......................................................................................................... 36

3.1.1. Tramo controlado .......................................................................................................... 36

3.1.2. Deshabilitación de peticiones del estudiante ................................................................ 37

3.1.3. Traza del estudiante en tiempo real .............................................................................. 37

3.1.4. Generación de indicaciones de ubicación en lenguaje natural ...................................... 38

3.2. EVALUACIÓN: PRUEBAS REALIZADAS ................................................................................. 39

3.2.1. Descripción de los errores encontrados en las pruebas ................................................ 39

3.2.1.1. Pruebas 13 de mayo de 2019 ..................................................................................................... 39

3.2.1.2. Pruebas 14 de mayo de 2019 ..................................................................................................... 40

3.2.1.3. Pruebas 16 de mayo de 2019 ..................................................................................................... 41

3.2.1.4. Pruebas 17 de mayo de 2019 ..................................................................................................... 42

3.2.2. Análisis de las pruebas ................................................................................................... 43

3.2.2.1. Recuento por estudiante de respuestas exitosas y fallidas ...................................................... 43

3.2.2.2. Clasificación de los errores encontrados ................................................................................... 44

3.3. OBJETIVOS ........................................................................................................................... 47

3.3.1. Mejoras derivadas de los problemas previamente conocidos ....................................... 47

Page 6: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

iv

3.3.1.1. Estudiante dentro del tramo controlado ................................................................................... 47

3.3.1.2. Deshabilitación de peticiones del estudiante ............................................................................ 47

3.3.1.3. Traza de estudiante en tiempo real ........................................................................................... 47

3.3.1.4. Generación de indicaciones de ubicación en lenguaje natural ................................................ 48

3.3.2. Mejoras derivadas de la evaluación ............................................................................... 50

44 SOLUCIÓN ADOPTADA ............................................................................................. 52

4.1. MEJORAS EN LA CALIDAD DEL CÓDIGO DEL PROYECTO PREVIO ..................................... 53

4.2. IMPLEMENTACIONES PREVIAS A LA EVALUACIÓN ............................................................ 57

4.2.1. Estudiante dentro de tramo controlado ........................................................................ 57

4.2.2. Servicio web para deshabilitar estudiante ..................................................................... 58

4.3. SOLUCIONES A ERRORES DE LA EVALUACIÓN ................................................................... 59

Solución 1: Corrección de errores de tipografía ................................................................................ 59

Solución 2: Sinónimos en entidades ................................................................................................... 59

Solución 3: Ejemplos en intenciones existentes ................................................................................ 60

Solución 4: Evitar respuestas repetidas de que no se entiende algo ................................................ 60

Solución 5: Nueva intención para logros del estudiante ................................................................... 61

Solución 6: Nueva intención “como hacer” ........................................................................................ 61

Solución 7: Dos entidades (quimico-vitrina) ....................................................................................... 61

Solución 8: Dos entidades (vaso-fregadero) ....................................................................................... 62

Solución 9: Dos entidades (vaso-agitador) ......................................................................................... 62

Solución 10: Dos entidades (botella-sala de autoclave) .................................................................... 62

4.4. TRAZA DE ESTUDIANTES EN TIEMPO REAL ........................................................................ 63

4.4.1. Proyecto previo ............................................................................................................. 63

4.4.2. Implementación ............................................................................................................. 63

4.5. UBICACIÓN DE OBJETOS BASADA EN ASPECTOS PERCEPTIVOS Y ESPACIALES ............... 66

4.5.1. Preprocesamiento: script que permite agregar información a la ontología mundo ...... 66

4.5.1.1. Proyecto ScriptWorldInformation .............................................................................................. 66

Funcionamiento de ScriptWorldInformation ..................................................................................... 67

Page 7: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

v

Resultado de ScriptWorldInformation ................................................................................................ 70

4.5.2. Algoritmo de generación de indicaciones para ubicar objetos ...................................... 72

4.5.2.1. Explicación ................................................................................................................................... 72

4.5.2.2. Proyecto previo ........................................................................................................................... 72

4.5.2.3. Pseudocódigo .............................................................................................................................. 74

4.5.3. Implementación ............................................................................................................. 76

4.5.3.1. Posición y orientación del avatar del estudiante ...................................................................... 76

4.5.3.2. Elección de la instancia del objeto a localizar ........................................................................... 77

Instancias en la misma sala que el usuario ......................................................................................... 77

Instancia más cercana al estudiante ................................................................................................... 79

Cambio de la instancia del objeto a localizar ..................................................................................... 79

4.5.3.3. Campo de visión del estudiante ................................................................................................. 80

Verificación de si el OL se encuentra en el campo de visión ............................................................. 80

Instrucción para que quede dentro del campo de visión .................................................................. 81

4.5.3.4. Generación de la instrucción ...................................................................................................... 82

Descripción del objeto ......................................................................................................................... 82

Cálculo de la saliencia de contexto ..................................................................................................... 82

Cálculo de la saliencia general............................................................................................................. 83

Verificar si el objeto es saliente por sí mismo .................................................................................... 83

Selección del mejor objeto de referencia ........................................................................................... 84

55 PRUEBAS .................................................................................................................. 85

5.1. REFORMULACIÓN DE PREGUNTAS CON RESPUESTAS ERRÓNEAS DURANTE LA

EVALUACIÓN ............................................................................................................................... 86

5.2. GENERACIÓN DE INSTRUCCIÓN DE UBICACIÓN DE OBJETO SACAROSA ......................... 88

5.2.1.1. Posición y orientación del avatar del estudiante ...................................................................... 89

5.2.1.2. Elección de la instancia del objeto a localizar ........................................................................... 89

Instancias en el mismo cuarto que el estudiante ............................................................................... 90

Instancia más cercana al estudiante ................................................................................................... 91

Cambio de la instancia del objeto a localizar ..................................................................................... 91

5.2.1.3. Campo de visión del estudiante ................................................................................................. 92

Cálculo del campo de visión del estudiante ....................................................................................... 92

Verificación si Chemicals_Showcase_2 se encuentra dentro del campo de visión .......................... 92

Instrucción para que quede dentro del campo de visión .................................................................. 93

Page 8: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

vi

5.2.1.4. Generación de la instrucción ...................................................................................................... 93

Descripción del objeto ......................................................................................................................... 93

Cálculo de la saliencia de contexto y de la saliencia general ............................................................. 94

Verificar si Chemicals_Showcase_2 es saliente por sí mismo ........................................................... 94

Selección del mejor objeto de referencia ........................................................................................... 94

Instrucción generada por el algoritmo ............................................................................................... 95

66 CONCLUSIONES Y TRABAJO FUTURO ........................................................................ 96

6.1. CONCLUSIONES ................................................................................................................... 97

6.2. TRABAJO FUTURO ............................................................................................................... 98

7 ANEXOS .................................................................................................................. 100

7.1. ANEXO 1: TABLA DE INDIVIDUOS AÑADIDOS A LA ONTOLOGÍA MUNDO ..................... 101

7.2. ANEXO 2: RESULTADO DE LA IMPLEMENTACIÓN DE SOLUCIONES PARA PROBLEMAS

ENCONTRADOS EN LA EVALUACIÓN ....................................................................................... 104

8 REFERENCIAS.......................................................................................................... 107

Page 9: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

vii

ÍÍndice de figuras

FIGURA 1. ESTUDIANTES REALIZANDO LA PRÁCTICA EN EL LABORATORIO VIRTUAL DE BIOTECNOLOGÍA ............................ 7

FIGURA 2. EJEMPLO DE LA SECUENCIA DE MENSAJES INTERCAMBIADOS ENTRE EL AVATAR Y OBJETOS INVOLUCRADOS EN LA

PRÁCTICA [3] ................................................................................................................................. 8

FIGURA 3. EJEMPLO DE INTERACCIÓN ENTRE EL TUTOR AUTOMÁTICO DEL LABORATORIO Y EL ESTUDIANTE, A TRAVÉS DE

MENSAJES DE TUTORÍA .................................................................................................................. 10

FIGURA 4. ESQUEMA COMPLETO DE LA ARQUITECTURA DEL SIT CON INTERACCIÓN EN LENGUAJE NATURAL [5] ............. 12

FIGURA 5. ESQUEMA DEL FUNCIONAMIENTO DEL SIT CON INTERACCIÓN EN LENGUAJE NATURAL [5] ........................... 14

FIGURA 6. ESTRUCTURA DE DIÁLOGO: NODOS PRINCIPALES CON INTENTS DE DIÁLOGOS COMUNES .............................. 20

FIGURA 7. ESTRUCTURA DE DIÁLOGO: EJEMPLO DE RESPUESTA EN NODO PRINCIPAL DE INTENCIÓN #GENERAL_GREETINGS

................................................................................................................................................. 20

FIGURA 8. ESTRUCTURA DE DIÁLOGO: EJEMPLO DE NODO PRINCIPAL PARA ACCIÓN SIGUIENTE

AGREGARMYS/AGREGARSACAROSA .................................................................................................. 21

FIGURA 9. ESTRUCTURA DE DIÁLOGO: EJEMPLO DE CONDICIÓN CON VALORES DE UNA ENTIDAD ................................. 22

FIGURA 10. ONTOLOGÍA MUNDO: ESTRUCTURA DE CLASES ................................................................................... 24

FIGURA 11. ONTOLOGÍA MUNDO: EJEMPLO DE INDIVIDUO CHEMICAL_SHOWCASE.................................................... 25

FIGURA 12. PRINCIPALES RELACIONES AD-HOC ENTRE LAS ONTOLOGÍAS MODULARES [11] .......................................... 26

FIGURA 13. ESQUEMA DEL MODELO COMPUTACIONAL PARA CÁLCULO DE SALIENCIA GENERAL O VISUAL ( ) [6] ........... 31

FIGURA 14. DIAGRAMA DE PAQUETES DE SITCHATBOTRUNTIME ........................................................................... 54

FIGURA 15. SITCHATBOTRUNTIME: DIAGRAMA DE CLASES DEL PAQUETE WATSON ................................................... 55

FIGURA 16. SITCHATBOTRUNTIME: DIAGRAMA DE CLASES DEL PAQUETE STUDENTMODULE ...................................... 55

FIGURA 17. SITCHATBOTRUNTIME: DIAGRAMA DE CLASES DEL PAQUETE WORLDMODULE ........................................ 56

FIGURA 18. MÉTODOS Y ATRIBUTOS UTILIZADOS PARA LA SOLUCIÓN DE: ESTUDIANTE DENTRO DE TRAMO CONTROLADO .. 57

FIGURA 19. SITCHATBOTRUNTIME: DIAGRAMA DE CLASES DE PAQUETE WEBSERVICE ............................................... 58

FIGURA 20. PETICIÓN POST PARA DESHABILITAR UN ESTUDIANTE .......................................................................... 58

FIGURA 21. PETICIÓN POST PARA HABILITAR UN ESTUDIANTE ............................................................................... 58

FIGURA 22. PETICIÓN POST DE TIPO EVENTO – ACCIÓN ....................................................................................... 64

FIGURA 23. PETICIÓN POST DE TIPO EVENTO – ERROR ........................................................................................ 64

FIGURA 24. MÉTODOS Y ATRIBUTOS UTILIZADOS PARA LA SOLUCIÓN DE: TRAZAS DE ESTUDIANTES EN TIEMPO REAL ......... 64

Page 10: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

viii

FIGURA 25. EJEMPLO DE INFORMACIÓN Y PERFIL DEL ESTUDIANTE GUARDADO EN LA ONTOLOGÍA MUNDO EN TIEMPO REAL

................................................................................................................................................. 65

FIGURA 26. EJEMPLO DE TRAZA Y ESTADO DEL ESTUDIANTE GUARDADO EN LA ONTOLOGÍA MUNDO EN TIEMPO REAL ........ 65

FIGURA 27. DIAGRAMA DE PAQUETES DE PROYECTO SCRIPTWORLDINFORMATION .................................................... 66

FIGURA 28. PREPROCESAMIENTO: FORMATO PRINCIPAL DEL ARCHIVO CON DEFINICIÓN DE NUEVOS ELEMENTOS PARA

ONTOLOGÍA MUNDO ..................................................................................................................... 67

FIGURA 29. PREPROCESAMIENTO: FORMATO JSON UTILIZADO EN EL ARCHIVO DE DEFINICIÓN DE INDIVIDUOS PARA LA

ONTOLOGÍA ................................................................................................................................. 68

FIGURA 30. PREPROCESAMIENTO: CONSULTA EN SQL PARA OBTENER DATOS DE LOS OBJETOS DEL LABORATORIO VIRTUAL EN

OPENSIM ................................................................................................................................... 69

FIGURA 31. PREPROCESAMIENTO: MUESTRA DEL ARCHIVO DE REGISTRO CON TODOS LOS INDIVIDUOS CREADOS EN LA

ONTOLOGÍA MUNDO ..................................................................................................................... 70

FIGURA 32. PREPROCESAMIENTO: NUEVOS INDIVIDUOS COMO RESULTADO DE EJECUTAR EL PROGRAMA

SCRIPTWORLDINFORMATION ......................................................................................................... 71

FIGURA 33. PETICIÓN POST DE CHAT DE ESTUDIANTE CON SU ORIENTACIÓN Y POSICIÓN ............................................ 76

FIGURA 34. MÉTODOS Y ATRIBUTOS UTILIZADOS PARA GUARDAR LA POSICIÓN Y ORIENTACIÓN DEL ESTUDIANTE EN LA

ONTOLOGÍA MUNDO ..................................................................................................................... 76

FIGURA 35. CLASES UTILIZADAS PARA REPRESENTAR UN OBJETO DE LA ONTOLOGÍA MUNDO EN EL SISTEMA .................... 77

FIGURA 36. INSTANCIA DE SALA MAIN_ROOM EN LA ONTOLOGÍA MUNDO ............................................................... 78

FIGURA 37. MÉTODOS UTILIZADOS PARA ENCONTRAR INSTANCIAS DE UN OBJETO EN EL MISMO CUARTO DEL ESTUDIANTE . 79

FIGURA 38. MÉTODOS UTILIZADOS PARA ENCONTRAR LA INSTANCIA MÁS CERCANA AL ESTUDIANTE .............................. 79

FIGURA 39. REPRESENTACIÓN DE VECTORES Y ÁNGULOS PARA VERIFICAR SI UN OBJETO SE ENCUENTRA DENTRO DEL CAMPO

DE VISIÓN DEL ESTUDIANTE ............................................................................................................. 80

FIGURA 40. MÉTODOS UTILIZADOS PARA VERIFICAR SI EL OL SE ENCUENTRA O NO EN EL CAMPO DE VISIÓN DEL ESTUDIANTE

................................................................................................................................................. 81

FIGURA 41. MÉTODO UTILIZADO PARA CALCULAR SALIENCIA DE CONTEXTO PARA TODAS LAS INSTANCIAS DEL CONTEXTO ... 82

FIGURA 42. MÉTODO UTILIZADO PARA CALCULAR SALIENCIA GENERAL PARA TODAS LAS INSTANCIAS DEL CONTEXTO ......... 83

FIGURA 43. ENVIÓ DE PETICIÓN DE TIPO EVENT A TRAVÉS DE POSTMAN ................................................................... 87

FIGURA 44. ENVIÓ DE PETICIÓN DE TIPO CHAT A TRAVÉS DE POSTMAN .................................................................... 87

FIGURA 45. PETICIÓN POST DE TIPO CHAT UTILIZADA EN LA PRUEBA DE GENERACIÓN DE INSTRUCCIÓN DE UBICACIÓN DEL

QUÍMICO SACAROSA ...................................................................................................................... 88

Page 11: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ix

FIGURA 46. AVATAR DE LA ESTUDIANTE CAROLINA LOPEZ EN EL LABORATORIO VIRTUAL, CON POSICIÓN Y ORIENTACIÓN DEL

MOMENTO QUE REALIZA LA PREGUNTA ............................................................................................. 88

FIGURA 47. RESULTADO: INSTANCIA DE ESTUDIANTE EN ONTOLOGÍA MUNDO CON DATOS DE POSICIÓN Y ORIENTACIÓN .... 89

FIGURA 48. EJEMPLO DE INSTANCIAS DE UN OBJETO (SACAROSA) CARGADO EN MEMORIA CON DATOS DE LA ONTOLOGÍA

MUNDO ...................................................................................................................................... 90

FIGURA 49. REFERENCIAS (PROPERTIES) DE LA INSTANCIA ESCOGIDA, SUCROSE_2, COMO OBJETO A LOCALIZAR ............... 91

FIGURA 50. AVATAR DE LA ESTUDIANTE CAROLINA LOPEZ EN EL LABORATORIO VIRTUAL DESPUÉS DE SEGUIR LA INSTRUCCIÓN

PARA QUE EL OL QUEDE EN SU CAMPO DE VISIÓN ............................................................................... 93

Page 12: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

x

ÍÍndice de tablas

TABLA. I. TABLA DE INTENTS DEFINIDOS EN LA INSTANCIA DE WATSON ASSISTANT USADA EN EL SIT CON INTERACCIÓN EN

LENGUAJE NATURAL............................................................................................................................. 18

TABLA. II. TABLA DE ENTITIES DEFINIDAS EN LA INSTANCIA DE WATSON ASSISTANT USADA EN EL SIT CON INTERACCIÓN EN

LENGUAJE NATURAL............................................................................................................................. 18

TABLA. III. RECUENTO POR ESTUDIANTE DE RESPUESTAS EXITOSAS/FALLIDAS ............................................................... 43

TABLA. IV. GRAVEDAD DE LOS TIPOS DE ERRORES ENCONTRADOS EN LA EVALUACIÓN.................................................... 46

TABLA. V. INSTANCIAS DE LOS CUARTOS O SALAS DE LA ONTOLOGÍA MUNDO .............................................................. 78

TABLA. VI. POSIBLES INSTRUCCIONES CUANDO EL OBJETO A LOCALIZAR ES SOBRESALIENTE POR SÍ MISMO O NO TIENE

REFERENCIAS ...................................................................................................................................... 83

TABLA. VII. POSIBLES INSTRUCCIONES CUANDO LA INSTRUCCIÓN DEL OBJETO A LOCALIZAR ESTÁ BASADA EN UN OBJETO DE

REFERENCIA ....................................................................................................................................... 84

TABLA. VIII. SALIENCIA GENERAL Y SALIENCIAS DE CONTEXTO OBTENIDOS PARA EL CONTEXTO DE CHEMICALS_SHOWCASE_2 ...

................................................................................................................................................ 94

TABLA. IX. SELECCIÓN DEL MEJOR OBJETO DE REFERENCIA PARA CHEMICALS_SHOWCASE_2 ......................................... 95

TABLA. X. INSTANCIAS AGREGADAS A LA ONTOLOGÍA MUNDO ................................................................................ 103

TABLA. XI. RESULTADO DE LA IMPLEMENTACIÓN DE SOLUCIONES PARA PROBLEMAS ENCONTRADOS EN LAS PRÁCTICAS .... 106

Page 13: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

xi

ÍÍndice de ecuaciones

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

Page 14: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

xii

RResumen

En el presente proyecto se realizó la evaluación y mejora de un Sistema

Inteligente de Tutoría (SIT) con interacción en lenguaje natural, el cual se encuentra

funcionando para realizar prácticas de laboratorio en la carrera de Biotecnología

Agroforestal. Las prácticas se realizan en un laboratorio virtual con la ayuda de un tutor

automático.

Esta tesis de máster se enfocó en el módulo de comunicación, que permite el

diálogo en lenguaje natural entre el estudiante y el tutor automático del SIT.

El primer paso fue la evaluación del sistema existente, a través de la que cual se

encontraron preguntas realizadas por los estudiantes que no fueron consideradas en la

versión inicial, y también respuestas por parte del tutor automático que contenían errores

que causaban confusión en los estudiantes. Posterior a la evaluación se realizó un

análisis y corrección de los errores, teniendo como resultado una versión que abarca

mayor conocimiento y por ende brinda más ayuda a los estudiantes.

El segundo paso fue la mejora del SIT. Durante las prácticas los estudiantes

preguntan por la ubicación de los objetos dentro del laboratorio, y en la versión inicial

esta instrucción era siempre la misma, tomando como referencia la puerta de entrada.

Esto no era de ayuda para los estudiantes, por lo que se implementó un algoritmo que

permite crear instrucciones de ubicación, basado en aspectos como: ubicación del

estudiante dentro del laboratorio, campo de visión del estudiante, o saliencia de los

objetos basada en su color, forma y tamaño.

Este algoritmo depende de la información existente en una ontología del mundo,

por lo que se creó un script capaz de guardar en esta ontología la información de los

objetos del laboratorio que se encuentren especificados en un archivo JSON.

Finalmente, se realizó pruebas dentro del laboratorio virtual para comprobar que

las correcciones realizadas en base a la evaluación permitan que las respuestas por

parte del tutor automático a las preguntas de los estudiantes sean correctas. Y, además,

para verificar que las nuevas instrucciones de ubicación guíen correctamente a los

estudiantes hacia los objetos que están buscando.

Page 15: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

xiii

SSummary

In this project it has been done the evaluation and improvement of an Intelligent

Tutoring System (ITS) with natural language interaction, which is used to perform

laboratory practices in the degree of Agroforestry Biotechnology. The practices are

carried out in a virtual laboratory with the help of an automatic tutor.

This master's thesis is focused on the communication module that allows

dialogue in natural language between the student and the automatic tutor of the ITS.

The first step was the evaluation of the existing system, through which were found

questions made by the students that were not considered in the initial version, and

answers by the automatic tutor that contained errors that caused confusion in the

students. After the evaluation, an analysis and correction of the errors was made, giving

as result a new version that covers more knowledge and therefore provides more help

to the students.

The second step was the improvement of the ITS. During the practices the

students ask about the location of the objects inside the laboratory, and in the initial

version this instruction was always the same, taking as reference the entrance door. This

was not helpful for students, so an algorithm was implemented to create location

instructions based on aspects such as: student's location within the laboratory, student's

field of vision, or salience of objects based on their color, shape and size.

This algorithm depends on the existing information in a world ontology, so it was

created a script capable of saving in this ontology the information of the laboratory

objects that are specified in a JSON file.

Finally, tests were carried out within the virtual laboratory to verify that the

corrections made, based on the evaluation, allow the responses by the automatic tutor

to the students' questions to be correct. And, in addition, to verify that the new location

instructions guide students correctly to the objects they are looking for.

Page 16: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

1 INTRODUCCIÓN

Page 17: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

INTRODUCCIÓN

2

1.1. Justificación

En las carreras de grado superior, el desarrollo de prácticas de laboratorio es

esencial para obtener una mejor comprensión de los temas conceptuales que han sido

revisados en clase. Sin embargo, existen áreas cuyas prácticas de laboratorio pueden

llegar a ser muy costosas y tomar mucho tiempo para la obtención de resultados.

Siendo este el caso en la carrera de biotecnología agroforestal, se creó un

laboratorio virtual en el que los estudiantes pueden realizar prácticas de ingeniería

genética para la creación de árboles resistentes a hongos. En este mundo virtual los

estudiantes tienen la posibilidad de chatear con un tutor humano (profesor), quien se

encuentra también conectado. Adicionalmente, existe un tutor automático encargado de

guiar la práctica, y cuyo conocimiento se basa en las acciones de la práctica, su orden

y sus dependencias.

El hecho de que un tutor humano tenga que estar conectado durante el desarrollo

de la práctica se volvió una restricción de usabilidad, motivo por el cual se decidió la

creación de un Sistema Inteligente de Tutoría para entrenamiento procedimental en un

entorno virtual con interacción en lenguaje natural, cuya arquitectura y características

fueron definidas por su autor José Paladines en su artículo [1].

Tomando como referencia la arquitectura propuesta se implementó un Módulo

de soporte de gestor de diálogo o MSGD, que permite la comunicación persona-

ordenador (estudiante-tutor automático) con objetivos académicos.

Esta comunicación se da en lenguaje natural gracias a la utilización de un gestor

de diálogo capaz de comprender el lenguaje humano y responder adecuadamente a sus

preguntas. Cabe recalcar que el estudiante puede realizar preguntas relacionadas con

el entorno de entrenamiento, del cual el gestor de diálogo no tiene conocimiento alguno;

y por este motivo el MSGD tiene una integración con una ontología del mundo, de la

cual se puede obtener esta información.

Page 18: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

INTRODUCCIÓN

3

1.2. Contribución

Uno de los problemas de interactuar en lenguaje natural, en este caso el español,

es que no todos utilizamos las mismas palabras ni frases para referirnos a lo mismo.

Por lo tanto, el gestor de diálogo debe tener un constante entrenamiento que permita

mejorar su entendimiento a las preguntas realizadas por los estudiantes.

En el presente trabajo, se plantea realizar mejoras al gestor de diálogo con el fin

de que exista una comunicación más fluida estudiante-tutor. Por lo tanto, es necesario

realizar prácticas con estudiantes de la carrera de Biotecnología Agroforestal, que

permitan obtener nueva información para entrenar constantemente al gestor de diálogo

y que su entendimiento vaya en mejoría.

Otro problema de la solución actual es la falta de información en la ontología del

mundo. Dicha ontología no tiene instancias que representen a todos los objetos del

entorno virtual.

Esta falta de información es un problema para la generación de respuestas en

lenguaje natural que indiquen la ubicación de los objetos dentro del entorno. Por lo que

actualmente la instrucción es estática tomando como perspectiva la puerta principal.

Es así como en el presente proyecto se plantea también incluir en la ontología

del mundo la información de todos los objetos del entorno virtual. Y desarrollar un

módulo que permita, posteriormente, en base a esta información, generar instrucciones

dinámicas en lenguaje natural que indiquen la localización de objetos dentro del entorno.

Cabe recalcar que estas indicaciones estarán basadas en aspectos como la ubicación

del estudiante y su campo de visión.

Page 19: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

INTRODUCCIÓN

4

1.3. Organización del Proyecto

Los capítulos del presente proyecto que se encuentran a continuación son:

El capítulo 2, se enfoca en presentar un estado de arte de los trabajos previos

para poder entender de mejor manera los sistemas y tecnologías que dan soporte y

sentido a este proyecto.

En el capítulo 3, se describen los problemas previamente conocidos de la

solución actual del SIT con interacción en lenguaje natural; y se realiza un análisis de la

evaluación realizada con estudiantes para determinar mejorías en el sistema.

Finalmente, se plantean los objetivos que permitirán la implementación de una mejoría

en el este proyecto.

En el capítulo 4, se describen las soluciones adoptadas para resolver los

problemas descritos en el capítulo anterior. En las soluciones se muestran diagramas

de paquetes y de clases para un mejor entendimiento del aporte de este proyecto de

investigación.

En el capítulo 5, se describen las pruebas realizadas a las soluciones

implementadas para verificar que se han obtenido los resultados deseados.

Finalmente, en el capítulo 6 se presentan las conclusiones obtenidas durante el

desarrollo del proyecto, y se plantean trabajos futuros para un mayor desarrollo del

sistema.

Page 20: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

2 ESTADO DEL ARTE

Page 21: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

6

En este capítulo se realizará un análisis de los trabajos existentes en la literatura

que estén relacionados con los objetivos de esta tesis.

De esta forma, los apartados de este capítulo hacen referencia a varios trabajos

de investigación realizados en la Universidad Politécnica de Madrid, entre los que se

tiene:

Una arquitectura para laboratorios virtuales en ingenierías [2]

Propuesta de un Modelo de Comportamiento Colectivo de Estudiantes para un

Sistema Inteligente de Tutoría dirigido al Entrenamiento Procedimental [3]

Implementación de un Sistema de Diálogo en Lenguaje Natural basado en Watson

para un Sistema Inteligente de Tutoría [4]

Módulo de Soporte para el Gestor de Diálogo en Lenguaje Natural de un Sistema

Inteligente de Tutoría [5]

Modelo Computacional para la Generación de Indicaciones den la Localización de

Objetos en Entornos Virtuales: Aspectos espaciales y perceptivos [6]

2.1. Laboratorio virtual de biotecnología

Para la realización de esta tesis, se utiliza el laboratorio virtual de tecnología

llamado BioTech [2] obtenido como resultado de un proyecto de innovación educativa

de la Universidad Politécnica de Madrid.

El laboratorio BioTech, realizado en la plataforma OpenSim, se desarrolló para

acercar a los estudiantes de grado del área de biotecnología a una práctica en la que

puedan modificar genéticamente un árbol y dotarlo de una mayor resistencia a

enfermedades producidas por hongos [3]. Este tipo de prácticas no pueden ser

realizadas en laboratorios reales debido a que el costo individual aproximado de una

práctica es de 25.000 euros, y el tiempo para ver resultados es de alrededor de 2 años.

Con la ayuda del laboratorio virtual, todos los estudiantes tienen la oportunidad

de realizar la práctica (ver Figura 1), pues se disminuye los costos de los materiales de

laboratorio y al ser una práctica simulada la obtención de resultados es inmediata.

Además, los estudiantes no están expuestos a los riesgos asociados con esta práctica,

ni a la pérdida de recursos por la mala realización de la misma.

Page 22: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

7

Figura 1. Estudiantes realizando la práctica en el laboratorio virtual de

biotecnología

La definición de la práctica se la ha realizado en un protocolo compuesto por

acciones que han sido especificadas con la ayuda de un profesor de la asignatura.

Además, en el laboratorio virtual existe un tutor automático encargado de guiar la

práctica del estudiante.

En los siguientes subapartados se analizarán de manera más detallada:

OpenSim como herramienta de desarrollo del mundo virtual, el protocolo de la práctica

implementado, y el tutor automático del laboratorio.

2.1.1. Open Simulator

OpenSim es un servidor de aplicaciones 3D multiplataforma y multiusuario que

permite crear mundos virtuales a los que se puede acceder a través de varios clientes

o visores en múltiples protocolos [7].

Para el desarrollo del laboratorio BioTech se decidió utilizar OpenSim por su

facilidad para la creación de mundos virtuales, ya que está basado en Second Life [3] y,

además, porque es un proyecto gratuito y de código libre. Con la ayuda de OpenSim se

construyó un mundo virtual que representa un laboratorio de biotecnología, formado por

cinco habitaciones, en el que se realizan las diferentes acciones de la práctica.

Page 23: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

8

Para poder acceder a un mundo virtual creado en OpenSim se necesita un

cliente compatible que debe estar instalado en el computador [7]. El cliente escogido por

el proyecto de investigación de la universidad fue Firestorm (Phoenix), lo que significa

que el mismo debe estar instalado en la computadora de cada estudiante que deba

acceder a la práctica.

2.1.1.1. Comunicación entre objetos

En mundos virtuales creados en OpenSim, todos los objetos se comunican entre

sí a través del intercambio de mensajes. La Figura 2 muestra un esquema del

intercambio de mensajes entre los objetos, incluyendo al avatar que representa al

estudiante, involucrados en una parte de la práctica del laboratorio de biotecnología.

Figura 2. Ejemplo de la secuencia de mensajes intercambiados entre el avatar

y objetos involucrados en la práctica [3]

Page 24: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

9

2.1.2. Protocolo de la práctica

En el laboratorio virtual el estudiante debe realizar una práctica, la cual está

diseñada como un problema bien definido (well-defined), es decir, como un proceso

cerrado con un único resultado y sin muchas variaciones para alcanzar dicho resultado

correcto [3].

Como se detalla en [3], el protocolo contempla 116 acciones que tienen que

realizar los estudiantes para la correcta finalización de la práctica; adicionalmente, por

motivos pedagógicos, se han definido también acciones incorrectas y acciones

intrascendentes, dando como resultado 176 acciones configuradas en el protocolo

completo.

En el diseño de la práctica, descrito en [3], se definieron acciones altamente

estructuradas y acciones poco estructuradas. Durante las altamente estructuradas el

estudiante recibe información detallada sobre la siguiente acción a realizar, por lo tanto,

solo son permitidos errores irrelevantes. En las acciones poco estructuradas, se le dará

al estudiante una descripción general poco detallada, por ejemplo, para realizar una

mezcla no se especifica el nombre de los ingredientes químicos necesarios.

2.1.3. Tutor automático del laboratorio

En ambientes de entrenamiento, implementados en mundos virtuales, es común

que el tutor se encuentre representado por un avatar que interactúa con los usuarios.

Sin embargo, en este laboratorio el tutor esta implementado como un script que se

ejecuta en un objeto invisible del mundo [3], por lo que la única forma de interacción con

los usuarios es a través de mensajes de tutoría, como se muestra en la Figura 3.

El tutor automático del laboratorio BioTech es el encargado de guiar la práctica

de cada estudiante a través de mensajes de tutoría: además, tiene que validar los

intentos de acción del estudiante (usuario), mostrar mensajes si se ha cometido algún

error, y proporcionar ayuda sobre la siguiente acción que se debe realizar [3].

Page 25: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

10

Figura 3. Ejemplo de interacción entre el tutor automático del laboratorio y el

estudiante, a través de mensajes de tutoría

2.1.3.1. Configuración del tutor automático

Al ser el tutor automático un script, su conocimiento se basa en un archivo con

formato tabular, diseñado por el profesor de la asignatura, en el cual se define la

secuencia de las acciones del protocolo de la práctica, y los mensajes de tutoría que

aparecen a lo largo de la misma.

En dicho archivo se encuentra descrita cada una de las acciones, con su

respectivo identificador y nombre, el orden en que deben ser realizadas, y sus

dependencias, es decir las acciones que deben ejecutarse antes o después; así como

también los mensajes de tutoría, los mensajes de error por dependencia y los mensajes

de error por incompatibilidades.

2.1.3.2. Validación de acciones por el tutor

Cada vez que el estudiante ejecuta una acción, dicha acción tiene que ser

validada por el tutor, para lo cual se implementó un método validarAccion(a). Este

Page 26: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

11

método es el encargado de verificar si la acción realizada es la siguiente en la práctica

y si previamente se han realizado las acciones de las cuales depende.

Una vez realizada la verificación, la respuesta del tutor puede ser: VALIDO,

FALLO o FALLO_PERO_SEGUIR.

Respuesta FALLO: Si la acción realizada ha sido validada por el tutor como

FALLO, no se permite la ejecución de ésta, pero sí se registra el error como irrelevante

[3]. Se considera irrelevante porque al no permitirse la ejecución no tendrá

consecuencias en el resultado de la práctica.

Respuesta FALLO_PERO_SEGUIR: Si la acción realizada ha sido validada por

el tutor como FALLO_PERO_SEGUIR, se permite que el estudiante continúe su práctica

y se registra el error como relevante. Este error tendrá consecuencias en el resultado

de la práctica, y el estudiante sabrá qué error fue el causante de su práctica fallida.

Page 27: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

12

2.2. Sistema Inteligente de Tutoría con

interacción en Lenguaje Natural

Los Sistemas Inteligentes de Tutoría o SITs, son sistemas basados en la

aplicación de técnicas de la Inteligencia Artificial que emulan a un profesor humano en

ciertas tareas docentes, sobre todo en aquellas relacionadas con la supervisión de los

ejercicios prácticos de los estudiantes [8].

Un SIT clásico debe contener el módulo del estudiante, el módulo de tutoría, el

módulo experto y el módulo de comunicación. Sin embargo, para llevar a cabo una

práctica en el laboratorio de biotecnología de la UPM, se ha implementado un SIT con interacción en lenguaje natural, en el cual fue necesario añadir el módulo mundo y la

interacción a través de servicios web con el gestor de diálogo Watson Assistant.

En los apartados de este capítulo se detalla la arquitectura implementada en el

SIT con interacción en lenguaje natural. Y adicionalmente, se describe la interacción con

el entorno de entrenamiento procedimental (laboratorio virtual) y con el gestor de diálogo

Watson Assistant encargado del procesamiento del lenguaje natural.

Figura 4. Esquema completo de la arquitectura del SIT con interacción en

lenguaje natural [5]

Page 28: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

13

2.2.1. Arquitectura implementada del SIT

La arquitectura implementada en el SIT con interacción en lenguaje natural se

encuentra esquematizada en la Figura 4. A continuación, se detallarán cada uno de los

módulos que se utilizan en dicha arquitectura.

2.2.1.1. Módulo experto y módulo tutor

El módulo experto y el módulo tutor fueron implementados dentro del entorno de

entrenamiento procedimental, que en este caso es el laboratorio virtual de biotecnología

descrito en el apartado 2.1.

El módulo experto contiene una descripción del procedimiento de la práctica

llamado protocolo de la práctica y que esta detallado en el apartado 2.1.2; mientras que

el módulo tutor hace referencia al tutor automático cuya definición y funcionamiento se

encuentra especificado en el apartado 2.1.3.

2.2.1.2. Módulo estudiante

El módulo del estudiante está formado por ontologías que contienen información

del estudiante, tales como: movimientos a través del entorno virtual, acciones realizadas

sean estas correctas o fallidas, y el estado en que se encuentra su práctica. En el

apartado 2.4.3 se describe de manera más detallada la ontología del estudiante.

2.2.1.3. Módulo mundo

El módulo mundo está basado en la ontología miles, diseñada para representar

la estructura y contenido de un entorno virtual 3D. Esta ontología contiene información

sobre los objetos 2D/3D del laboratorio [1].

2.2.1.4. Módulo de comunicación

El módulo de comunicación es el encargado de la comunicación, a través de

servicios web, entre el gestor de diálogo Watson Assistant y el estudiante que interactúa

con el entorno de entrenamiento procedimental.

Page 29: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

14

De forma más detallada, es el encargado de recibir las peticiones enviadas

desde el tutor automático del laboratorio virtual y reenviarlas al gestor de diálogo Watson

Assistant, para que éste realice la interpretación del lenguaje natural y genere una

respuesta con intenciones (intents) y entidades (entities). Posteriormente, el módulo de

comunicación, basado en las intenciones, genera la respuesta final que será entregada

al estudiante.

2.2.2. Funcionamiento del SIT con interacción en

lenguaje natural

Actualmente, el SIT con interacción en lenguaje natural se encuentra

funcionando como se muestra en la Figura 5, en la cual se especifica cómo se relacionan

todas las partes para proveer una respuesta correcta a cualquiera de las peticiones

enviadas desde el entorno de entrenamiento procedimental.

Figura 5. Esquema del funcionamiento del SIT con interacción en lenguaje

natural [5]

Page 30: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

15

Se creó un módulo de soporte de gestor de diálogo (MSGD), el cual abarca

el módulo de comunicación y el módulo mundo. Siendo así el encargado de la

comunicación con el laboratorio virtual a través de servicios web, de la comunicación

con el gestor de diálogo a través del API IBM Watson, y de la obtención de información

relevante de la ontología mundo a través del API Jena.

El servidor web del MSGD recibe 3 tipos de peticiones desde el tutor automático

del entorno de entrenamiento procedimental, las cuales son:

event: mensaje de acción o de error

chat: mensaje de chat escrito por el estudiante

timeout: mensaje de inactividad

El gestor general de eventos del MSGD se encarga de recibir las peticiones, y

realizar a continuación el debido procedimiento basado en el tipo de petición. A

continuación, se detalla la forma en que actúa el gestor en cada tipo de petición.

Si la petición recibida es de tipo event, el gestor del MSGD actualiza el estado

de la práctica del estudiante, específicamente la acción siguiente.

Si la petición recibida es de tipo timeout o chat, actúa de distribuidor de mensajes

para reenviar la petición a Watson Assistant a través del API de IBM Watson. Al mensaje

recibido se le incluye el contexto (información del estudiante y estado de su práctica), y

posteriormente se reenvía el mensaje + el contexto.

El gestor de diálogo Watson Assistant es capaz de analizar el lenguaje natural

para posteriormente devolver las intenciones (intents) del mensaje, que son el propósito

del estudiante, y las entidades (entities), que representan los objetos relevantes para las

intenciones. Se detalla su funcionamiento en el apartado 2.3.

Basado en la respuesta que se obtiene de Watson Assistant, el gestor general de eventos del MSGD genera la respuesta que será entregada al estudiante. Si Watson

Assistant devuelve una respuesta directa, el gestor se encarga únicamente de reenviarla

al entorno de entrenamiento procedimental. Caso contrario, basado en la intención que

devuelve Watson Assistant, el gestor general del MSGD realiza una consulta en la

ontología mundo para generar una respuesta de definición o de ubicación de los objetos

del laboratorio virtual.

Page 31: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

16

2.3. Gestor de diálogo: Watson Assistant

El gestor de diálogo tiene como objetivo analizar y entender las preguntas de los

estudiantes, las mismas que son escritas en lenguaje natural por lo que la misma

pregunta puede ser planteada de distinta manera; es decir, el gestor de diálogo es el

encargado de entender la intención de la pregunta del estudiante.

Durante la implementación del SIT con interacción en lenguaje natural se decidió

utilizar como gestor de diálogo el servicio cognitivo denominado Watson Assistant, que

es uno de los servicios ofrecidos por la plataforma IBM Bluemix.

La construcción del gestor de diálogo se llevó a cabo mediante una interfaz web

proporcionada por IBM, en donde se definen las intenciones y las entidades, y, además,

se construye el árbol de nodos que representa la estructura de diálogo.

En los siguientes apartados se explica cada uno de los elementos del gestor de

diálogo, y se detalla de manera general la construcción del gestor de diálogo que está

siendo utilizado actualmente en el SIT con interacción en lenguaje natural

(implementado en el proyecto [4]).

2.3.1. Elementos del gestor de diálogo

2.3.1.1. Intenciones (intents)

Las intenciones representan verbos, es decir representan la acción que un

usuario quiere llevar a cabo [9]. Las intenciones hacen referencia a los objetivos que se

anticipa que los usuarios tendrán cuando interactúan con el servicio [4].

El nombre de un intent va precedido del símbolo #. Es necesario que cada intent

tenga muchos ejemplos que hagan referencia a la manera en que se podría formular las

preguntas o frases [4]. Estos ejemplos son los que utiliza Watson Assistant para

relacionar cada mensaje con su intención correspondiente.

Page 32: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

17

2.3.1.2. Entidades (entities)

Una entidad representa un término o un objeto que da contexto a una acción [4,

9]. Las entidades representan información en la entrada de usuario que es relevante

para la finalidad de la intención [9].

Los nombres de las entities van precedidos del símbolo @. Una entidad puede

tener varios valores, y a cada uno de estos valores se le configura sinónimos, los cuales

son las diferentes maneras en que puede ser mencionado ese valor de la entidad.

2.3.1.3. Estructura de diálogo

La estructura de diálogo está basada en nodos, es decir tiene forma de árbol.

Cuando un mensaje es analizado por Watson Assistant, dicho mensaje recorre cada

uno de estos nodos en el orden en el que han sido definidos, para encontrar una

intención y una entidad que tengan relación con dicho mensaje.

Cada nodo del diálogo contiene, como mínimo, una condición; y puede contener

una respuesta o varios nodos hijos que de igual forma deben contener una condición y

una respuesta [9].

El servicio procesa el diálogo desde el primer nodo en el árbol hasta el último. A

medida que recorre por el árbol, si el servicio encuentra una condición que se cumple,

activa dicho nodo. Luego se mueve por el nodo que ha sido activado para comparar la

entrada del usuario con las condiciones de los nodos hijos, desde el primer nodo hijo

hasta el último [9].

2.3.2. Definición de intenciones y entidades

2.3.2.1. Intenciones (intents) del laboratorio virtual

En el caso del laboratorio virtual, las preguntas de los estudiantes están

relacionadas con la descripción, uso y ubicación de los objetos, por lo que se definieron

intents de dichos tipos. Además, se definieron intents basadas en diálogos comunes,

tales como saludos, despedidas o agradecimiento.

Page 33: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

18

INTENTS DE UBICACIÓN INTENTS DE DESCRIPCIÓN

#Ubicacion_Quimicos

#Ubicacion_Documento

#Ubicacion_Sala

#Ubicacion_Contenedor

#Quimicos_Mezcla

#Descripcion_Maquinaria

INTENTS DE USO INTENTS DIÁLOGOS COMUNES

#Obtencion_Objeto

#Aclaracion_Contenedor

#Falla_Encender_Maquinaria

#Mensaje_Accion_Siguiente

#General_Greetings

#General_Positive_Feedback

#General_Ending

#General_Human_or_Bot

Tabla. I. Tabla de intents definidos en la instancia de Watson Assistant usada en

el SIT con interacción en lenguaje natural

2.3.2.2. Entidades (entities) del laboratorio virtual

En el caso del laboratorio virtual, una entidad puede ser cualquier objeto

relacionado con el contexto de la práctica. Como se muestra en la Tabla. II, una entidad

está compuesta por uno o varios valores, y a dichos valores es a los que se les añade

los sinónimos. Para mayor detalle de la definición ver el documento [4].

ENTITIES VALORES

@maquinaria

ph_metro

grifo

agitador

cabina de flujo

autoclave

máquina de autoclave

@documento protocolo

documento

@contenedor

vitrina de vasos

vitrina de químicos

fregadero

vitrina de instrumentos

lavamanos

mesa

nevera

percha

@químico

químico

murashiage & skoog

sacarosa

caseína

agar

@sala sala principal

sala de autoclave

@objeto guantes

botella

vaso

bata

Tabla. II. Tabla de entities definidas en la instancia de Watson Assistant usada en

el SIT con interacción en lenguaje natural

Page 34: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

19

2.3.3. Estructura de diálogo

2.3.3.1. Variables de contexto

Watson Assistant permite la definición de variables de contexto, cuyos valores

permiten realizar distinciones en las respuestas [4]. En el caso del laboratorio virtual, las

variables de contexto serán recibidas y enviadas desde el MSGD con el fin de

proporcionar una respuesta correcta al estudiante.

Los valores de las variables de contexto enviadas por el gestor general del

MSGD se llenan antes de que se realice la comunicación con Watson Assistant, y sus

valores dependen del estado de la práctica de cada estudiante. Estas variables son:

nom_alu Variable que contiene el nombre del estudiante

acc_sig Variable que determina la acción siguiente del estudiante.

niv_pis Variable que identifica el nivel de la pista (general o específico)

timeout Variable que indica si el estudiante lleva tiempo sin realizar nada

Los valores de las variables de contexto enviadas por Watson Assistant permiten

que la respuesta generada al estudiante sea en base a su pregunta, por ejemplo, si la

pregunta es singular o plural, la respuesta debe ser igual. Estas variables son:

numero Variable para diferenciar si una entidad es singular o plural

desambiguado Variable para distinguir entre entidades cuyo nombre es

igual, pero debe ser tratado de manera diferente de acuerdo con el estado

de la práctica.

2.3.3.2. Definición de nodos

La estructura de diálogo está formada por nodos, que pueden ser de dos tipos:

nodos principales y nodos hijos, entendiéndose como nodos principales los que

estructuran de forma general el diálogo y que pueden o no contener nodos hijos.

En la implementación de la estructura de diálogo del tutor automático existen tres

tipos de nodos principales: nodos principales de diálogo común, nodos principales

basados en la acción siguiente del estudiante, y nodos principales para casos extras.

Page 35: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

20

Nodos principales de diálogo común

Estos nodos utilizan las intenciones de diálogos comunes (ver Tabla. I), los

cuales no necesitan información de la práctica. Han sido configurados para que tengan

una respuesta directa para el estudiante, es decir no tienen nodos hijos a ser analizados.

Se han definido varias respuestas, que se escogerán de forma aleatoria, como se

muestra en la Figura 7.

Figura 6. Estructura de diálogo: Nodos principales con intents de diálogos

comunes

Figura 7. Estructura de diálogo: Ejemplo de respuesta en nodo principal de

intención #General_Greetings

Page 36: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

21

Nodos principales basados en la acción siguiente del estudiante

Estos nodos hacen referencia al diálogo en el que se habla de las acciones que

el estudiante tiene que realizar.

Se han creado basados en el orden en que el estudiante tiene que realizar las

acciones de la práctica. Haciendo uso de la variable de contexto acc_sig, se tiene la

información referente a cuál es la siguiente acción que el estudiante tiene que realizar.

Todos los nodos que procesan las preguntas o frases relativas a la siguiente

acción que debe realizar el estudiante poseen nodos hijos [4]. Cada nodo hijo, se

encarga de procesar una de las intents que tiene sentido considerar para dicha acción.

Por ejemplo, para la acción agregarmys/agregarsacarosa se consideran intents

y entities relacionadas con químicos. En la Figura 8 se puede observar que se hace

referencia a la intent de uso #Quimicos_Mezcla y a la intent de ubicación

#Ubicacion_Quimicos.

Figura 8. Estructura de diálogo: Ejemplo de nodo principal para acción

siguiente agregarmys/agregarsacarosa

Adicionalmente, en la Figura 9 se puede observar que para la condición de

#Ubicacion_Quimicos se busca específicamente las entidades @quimico:sacarosa y

@quimico:"murashiage & skoog”, para prevenir que se pregunte por otros químicos.

Page 37: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

22

Figura 9. Estructura de diálogo: Ejemplo de condición con valores de una

entidad

Nodo principal para casos extras

Todos los nodos de cada acción tienen un nodo hijo donde, como última opción,

al no tener una respuesta clara, se realiza un salto a otro nodo [4], el cual se denomina

en otras cosas. Este nodo implementa los siguientes nodos hijos:

Ubicar fundamentos y ubicar protocolos

Estos nodos permiten que el estudiante pregunte por estos documentos en

cualquier parte de la práctica, sin importar la acción siguiente que tenga que realizar.

Intenciones fuera de lugar

Este nodo permite que cuando Watson Assistant reconoce una intención, pero

ésta no es parte de la acción siguiente a realizar, se envíe un mensaje al estudiante

explicando que está fuera de lugar.

Mensaje no comprendido

Este nodo se implementó como un respaldo si Watson Assistant no comprende

el mensaje, y se le solicita al estudiante que repita la pregunta de otra manera.

Page 38: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

23

2.4. Ontologías

Para la representación de la información en el proyecto SIT con interacción en lenguaje natural se ha decidido utilizar ontologías. Actualmente se encuentran creadas

2 ontologías.

La ontología mundo que representa información semántica sobre los objetos que

existen en el laboratorio de biotecnología.

La ontología estudiante que representa la información de los estudiantes que

han realizado la práctica en el laboratorio de biotecnología.

A continuación, en los siguientes apartados se explican los conceptos básicos

de ontologías, el lenguaje utilizado para su creación, y se detallan las ontologías mundo

y estudiante para su mejor comprensión.

2.4.1. Conceptos básicos

2.4.1.1. ¿Qué es una ontología?

En el contexto de la gestión del conocimiento, una ontología se conoce como la

comprensión compartida de algunos dominios, que a menudo se conciben como un

conjunto de entidades, relaciones, funciones e instancias [10].

Es decir, una ontología es una entidad computacional que implica el modelado

de alguna parte del mundo real, para lo cual se definen conceptos, atributos, instancias

de los conceptos, y relaciones entre ellos [5].

2.4.1.2. Lenguaje de Ontología Web (OWL)

Para la creación de ontologías existen un gran número de lenguajes formales,

entre los que se ha escogido el lenguaje OWL para la implementación de la ontología

mundo y de la ontología estudiante. Como se explica en el artículo [11], este lenguaje

fue escogido para adherirse a la recomendación W3C.

En el lenguaje OWL se modela a través de un enfoque orientado a objetos, y la

estructura de un dominio se describe en términos de clases y propiedades [10].

Page 39: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

24

Debido a que el lenguaje OWL fue desarrollado como un seguimiento de RDF,

todos sus elementos (clases, propiedades e individuos) son definidos como recursos

RDF, e identificados por URIs [10].

Las clases representan los objetos que pueden ser parte de la ontología, y se

organizan de manera jerárquica.

Los individuos son instancias de una de las clases previamente definidas. Las

clases pueden o no tener individuos, pero cada individuo debe pertenecer a una clase.

Además, los individuos tienen propiedades de objetos que los relacionan con otros

individuos, y tienen propiedades de datos que permiten dar valor a las propiedades de

la clase.

2.4.2. Ontología mundo

La ontología mundo representa la información de los objetos existentes en el

laboratorio de biotecnología. Los objetos se encuentran detallados de manera jerárquica

en clases, como se puede ver en la Figura 10. Todas las clases de los objetos del

laboratorio son una subclase de elemento manipulable (manipulableElement).

Figura 10. Ontología mundo: Estructura de clases

Page 40: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

25

Una vez definidas las clases, se crearon individuos o instancias de éstas. De

esta forma se pueden definir las propiedades de objetos y las propiedades de datos.

Todos los individuos deben tener una propiedad de datos spanishName, cuyo

valor sea el nombre en español del objeto. Esto debido a que cuando se accede desde

el SIT a la ontología mundo en busca de información, se busca el individuo o instancia

a través del valor de la propiedad spanishName.

Parte de la información que se necesita en el SIT es la descripción de los objetos

del laboratorio de biotecnología, motivo por el cual se definieron las propiedades

descriptionE y descriptionG. El valor de estas propiedades es un texto en español que

describe el objeto, ya sea de manera general (G) o de manera más detallada o

específica (E).

Otra información que se necesita en el SIT es la ubicación de los objetos, con

relación a otros objetos del laboratorio. Las propiedades de objetos se utilizan para

relacionar individuos entre sí, y lo hacen a través de propiedades de objeto, tales como:

nearOf, toTheRight, toTheLeft, above, behind, etc.

Adicionalmente, se creó la propiedad spanishSentence, que contiene los

artículos y verbos que permiten tratar el objeto en singular o plural dependiendo de la

pregunta del estudiante; esta propiedad se utiliza al crear una instrucción de ubicación.

Figura 11. Ontología mundo: Ejemplo de individuo Chemical_Showcase

Page 41: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

26

2.4.3. Ontología estudiante

La ontología estudiante fue modelada en el trabajo de investigación [11], y se

utiliza para representar el conocimiento de un estudiante dentro de un SIT, para que se

pueda ofrecer una tutoría adaptada a las necesidades propias de cada estudiante [3].

En la Figura 12 se tiene un esquema de la ontología estudiante en la que se

muestra que está compuesta por varias ontologías modulares, y la relación existente

entre ellas.

Figura 12. Principales relaciones ad-hoc entre las ontologías modulares [11]

Las ontologías modulares necesarias para el manejo de la información del

estudiante son:

Ontología información del estudiante (Student Information Ontology)

Es la ontología raíz de toda la información de un estudiante. Y hace referencia a

las tres ontologías modulares descritas a continuación.

Ontología perfil del estudiante (Student Profile Ontology)

Representa la información personal del estudiante, es decir, sus datos

personales, preferencias, características físicas y psicológicas, etc. [3].

Page 42: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

27

Ontología estado del estudiante (Student State Ontology)

Representa el conocimiento del estudiante mediante indicadores y estadísticas

sobre su actividad dentro del entorno, así como también el grado de adquisición de sus

objetivos de aprendizaje [11, 3].

Ontología traza del estudiante (Student Trace Ontology)

Contiene un registro de todas las acciones realizadas por el estudiante, sin

importar si con correctas o fallidas.

Además, existen otras ontologías independientes del estudiante, es decir

ontologías modulares que permiten definir instancias de conceptos compartidos por

todos los estudiantes [11], y son:

Ontología de objetivos de aprendizaje (Learning Objective Ontology)

Representa los objetivos de aprendizaje definidos en el proceso de educación.

Basado en el esquema de la Figura 12 desarrollado por Clemente [11], es posible inferir

el estado de adquisición de los objetivos del estudiante a partir de su comportamiento

registrado en la ontología de traza [3].

Ontología de objetos de aprendizaje (Knowledge Object Ontology)

Describe los principales tipos de elementos de conocimiento que pueden

aprender los estudiantes dentro del proceso de entrenamiento [3].

Ontología monitorización del estudiante (Student Monitoring Ontology)

Especifica las estrategias de seguimiento de ciertas variables durante el

aprendizaje.

Page 43: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

28

2.5. Aspectos perceptivos y espaciales

relacionados con la generación de indicaciones

En la tesis doctoral de Graciela Lara [6] se desarrolló un modelo computacional

que simula el proceso de dar indicaciones para la localización de objetos en entornos

virtuales. Este modelo permite la generación automática de indicaciones en lenguaje

natural utilizando objetos de referencia y aspectos espaciales y perceptivos.

2.5.1. Algoritmo para la generación de indicaciones

para localización de objetos

Este algoritmo genera expresiones en forma de frases descriptivas para la

localización de objetos. La estructura de la frase generada se basa en la estructura

lingüística de Kelleher [6] e incluye la información necesaria para una correcta

comprensión, y esta información es: objeto a localizar + relación espacial + objeto de

referencia; y en algunos casos las propiedades del objeto.

En este trabajo de investigación se menciona que, para la generación de

indicaciones de ubicación de objetos dentro de entornos virtuales, existen tres

escenarios descritos a continuación.

2.5.1.1. El objeto para localizar está en el mismo cuarto del usuario,

pero no en su campo de visón

Para tratar este caso se necesita una estrategia para dar indicaciones extras (de

giro y movimiento) al usuario con el objetivo que el objeto a localizar entre en su campo

de visión, transformándose en el escenario descrito en el apartado 2.5.1.3.

2.5.1.2. El objeto para localizar no está en el mismo cuarto

Para tratar este caso se plantea que se dé instrucciones al usuario para que se

dirija al cuarto en el que se encuentra el objeto a localizar, y una vez allí repita la

pregunta. Cuando el usuario y el objeto se encuentren en el mismo cuarto, se puede

tener el escenario que el objeto se encuentre (apartado 2.5.1.3) o no (apartado 2.5.1.1)

en el campo de visión del usuario.

Page 44: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

29

2.5.1.3. El objeto a localizar está en el campo de visión del usuario

Cuando el objeto a localizar está dentro del campo de visión del usuario hay tres

casos posibles:

(c.1) El objeto a localizar se encuentra dentro de otro objeto

En este caso, se considera que si el objeto a localizar (OL) se encuentra dentro

de otro objeto, entonces el objeto contenedor se convierte también en un objeto

secundario para localizar (OL2).

“La pelota azul está dentro de la caja blanca que está sobre la mesa” OL SR OR/OL2 SR OR2

En donde:

OL Objeto a localizar

SR Relación espacial

OR/OL2 Objeto de referencia transformado en un objeto a localizar

OR2 Objeto de referencia del objeto secundario para localizar

(c.2) El objeto a localizar es saliente por sí solo

Si el objeto a localizar tiene una alta visibilidad perceptiva o saliencia visual, es

decir su valor de saliencia es mayor a 4.8, la instrucción de localización será generada

con una relación espacial de tipo intrínseca (centrada en el usuario).

“La pelota azul está al frente de ti”

OL SR OR

(c.3) Necesidad de objeto de referencia

Si no se cumplen las condiciones de los casos (1) y (2) es necesario seleccionar

el mejor objeto de referencia del objeto a localizar, para ello se utilizará el algoritmo

descrito en el apartado 2.5.2.

Page 45: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

30

2.5.2. Algoritmo para la selección de objeto de

referencia

Este algoritmo se basa en la saliencia perceptual del objeto, el conocimiento

previo del usuario acerca de los tipos de objetos en la escena, y la probabilidad que el

usuario tiene de recordar la posición de los objetos.

2.5.2.1. Filtrado previo

Solamente son considerados los objetos que están localizados dentro de una

esfera con su centro en el objeto a localizar y con un radio máximo del 10% del tamaño

total del entorno virtual.

2.5.2.2. Selección del objeto de referencia

Esta selección se basa en el conocimiento previo del tipo de objeto ( ), la

saliencia visual del objeto ( ) y la capacidad del usuario para recordar su posición en

el entorno, o probabilidad de recuerdo ( ).

En la ecuación (1) se observa que para la selección del mejor objeto de

referencia se realiza una suma de los tres valores para cada uno de los objetos próximos

al objeto a localizar, y de ellos el que tenga el valor máximo será considerado como el

mejor objeto de referencia.

Conocimiento previo ( )

Este aspecto es evaluado considerando las áreas de conocimiento a las cuales

cada objeto pertenece, y la familiaridad que el usuario tiene con éstas, principalmente

asociada a una experiencia o entrenamiento previo.

El conocimiento previo de cada área está asociado al estudiante, y sus valores

son: ‘1’ si el conocimiento en dicha área es alto, ‘0.5’ si el nivel es medio y ‘0’ si el nivel

es bajo.

Page 46: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

31

Saliencia visual o saliencia general del objeto (GS)

También conocida como saliencia general o saliencia perceptual. El valor de la

saliencia visual se obtiene en relación con todos los objetos que se encuentran en el

área visual del usuario. Sus valores van de 0 a 1, y se calcula como se muestra en la

ecuación (2).

El cálculo de la saliencia general de un objeto ( ) depende de la saliencia

individual ( ) y de la saliencia con respecto al contexto ( ). Dichas saliencias están

determinadas por el color, tamaño y forma del objeto.

Figura 13. Esquema del modelo computacional para cálculo de saliencia general

o visual ( ) [6]

Como se muestra en la Figura 13 y en las ecuaciones (3) y (4), el cálculo se basa

en la suma ponderada de los valores individuales de saliencia de color ( ), saliencia de

tamaño ( ) y saliencia de forma ( ).

Y aunque no existe en la literatura una medida de la importancia relativa de cada

factor, un peso fue asignado a cada factor de la siguiente manera: 0.5 al color, 0.3 al

tamaño y 0.2 a la forma [6].

Page 47: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

32

Saliencia individual ( )

Saliencia por color: Para cada objeto se valora su saliencia por color, tomando

como referencia los colores salientes, dando como resultado:

1 si es de alguno de los colores salientes

0,5 si se aproxima a alguno de los colores salientes

0 si está muy alejado de los colores salientes

Saliencia por tamaño: Para cada objeto se calcula esta saliencia haciendo un

promedio de las saliencias de: longitud ( ), ancho ( ), altura ( ) y volumen ( ), como

se muestra en la ecuación (5).

La saliencia de longitud se calcula dividiendo la longitud del objeto entre la

longitud más grande de todos los objetos del entorno virtual ( ). De igual forma se

realiza para la saliencia de ancho, altura y volumen.

Saliencia por forma: Para cada objeto se determina esta saliencia teniendo en

cuenta su forma con relación a las formas de todos los objetos en el entorno virtual,

dando como resultado:

1 si la forma del objeto es muy atípica

0,5 si su forma es medianamente atípica

0 si su forma es típica

Saliencia en base al contexto ( )

Para determinar matemáticamente el valor de la saliencia por color, tamaño y

forma de los objetos del entorno virtual con respecto al contexto, es necesario primero

calcular el valor promedio de cada uno de estos parámetros dentro del contexto. En la

Figura 13 se representan como , .

Page 48: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

33

A continuación, se calcula la distancia o diferencia entre el valor individual de la

saliencia de color (tamaño o forma) y el valor promedio del color (tamaño o forma) en el

contexto.

Finalmente, para el cálculo de la saliencia en base al contexto se propone un

proceso basado en las siguientes operaciones:

Estandarizar la distribución: Asumiendo que las distancias en color, forma y

tamaño con respecto al contexto están normalmente distribuidas, se transforman estas

distancias en su correspondiente valor en distribución normal estándar [6]. Se utiliza la

ecuación (6), en la que representa el valor promedio y la desviación estándar en la

distribución de distancias.

Esta transformación permite determinar el grado de anormalidad de una

distancia de color (tamaño o forma) entre las distancias de todos los objetos presentes

dentro del contexto [6].

Uso de una distribución proporcional para determinar el valor de la saliencia

normalizado: El objeto con puntuación estándar más alto tendrá el valor de saliencia de

‘1’, el objeto con la puntuación estándar más baja tendrá ‘0’ y el resto se transformarán

en proporción a sus valores. Para ello se utiliza la fórmula:

En donde:

Es el valor normalizado de la saliencia en base al contexto

Es el valor de puntuación estándar de distancia a ser normalizado

Es el valor mínimo o máximo de los puntajes estándar

Page 49: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

ESTADO DEL ARTE

34

Probabilidad de recordar la posición del objeto en el entorno (PR)

Considerando que la probabilidad de recordar algo es siempre subjetivo e

impreciso se plantea su cálculo con la fórmula de la ecuación (8).

Saliencia general del objeto ( : Su cálculo se encuentra detallado más atrás

en este apartado, específicamente en la página 31.

Capacidad del usuario para recordar la ubicación de un objeto ( ): Se tomará

por omisión un valor de 0.5, pues no se puede pedir una autoevaluación a los

estudiantes.

Historia de visión ( ): La historia de visión de un objeto depende del tiempo que

el usuario ha estado observándolo, y de la claridad de visibilidad. Debido a la falta de

información se anulará este parámetro.

Page 50: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

3 PLANTEAMIENTO DEL PROBLEMA

Page 51: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

36

En este capítulo se realiza un análisis al SIT con interacción en lenguaje natural,

con la vista puesta en las mejoras del MSGD (módulo de soporte del gestor de diálogo)

y del gestor de diálogo Watson Assistant.

Es así como en el primer apartado se describen los problemas que se detectaron

antes de realizar la evaluación empírica del SIT con interacción en lenguaje natural.

A continuación, en el segundo apartado se listan los problemas encontrados

durante la evaluación empírica realizada al funcionamiento del SIT con interacción en

lenguaje natural, la cual tuvo lugar durante el desarrollo de las prácticas de los

estudiantes de la asignatura de Bioquímica y Biotecnología en el grado en Ingeniería

Forestal de la UPM. Además, se realizó un estudio de los resultados, clasificando los

errores y analizando estadísticamente las respuestas correctas y fallidas.

Finalmente, en el tercer apartado, se plantean los objetivos basados en mejorar

la calidad de las respuestas del tutor automático, tomando en cuenta las soluciones a

los problemas previos y a los problemas encontrados durante la evaluación, además de

los trabajos futuros planteados en los proyectos de investigación [4, 5, 1].

3.1. Problemas previos

3.1.1. Tramo controlado

La implementación actual del SIT depende del gestor de diálogo Watson

Assistant para la interacción en lenguaje natural, y en este se encuentra únicamente

configuradas las acciones de la primera fase de la práctica. Si el gestor de diálogo

Watson Assistant recibe una petición cuya acción siguiente no está configurada, sus

respuestas siempre son incorrectas diciendo que no entiende la pregunta del estudiante.

Aunque en el entorno de entrenamiento procedimental se tiene controlado el

tramo en el que se envía peticiones a través de los servicios web, cuando ocurre algún

fallo en su tutor automático, este control podría provocar un mal comportamiento del

SIT. Por este motivo es necesario que en el módulo de comunicación se ignoren las

peticiones del estudiante una vez que este ha concluido las acciones correspondientes

al tramo controlado.

Los objetivos planteados para solucionar este problema se encuentran descritos

a continuación en el apartado 3.3.1.1.

Page 52: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

37

3.1.2. Deshabilitación de peticiones del estudiante

Durante la realización de la práctica se pueden suscitar errores que para ser

resueltos se requiere de la comunicación del estudiante con un tutor humano. Estos

problemas son difíciles de prever, por lo que no es posible entrenar a un tutor automático

que sea capaz de solventarlos.

Debido a que la comunicación con el tutor humano será a través del chat del

entorno de entrenamiento procedimental, es necesario deshabilitar el envío de los

mensajes del estudiante para evitar que su conversación sea respondida por el tutor

automático, causando confusión en el estudiante.

Los objetivos planteados para solucionar este problema se encuentran descritos

a continuación en el apartado 3.3.1.2.

3.1.3. Traza del estudiante en tiempo real

Cuando un estudiante realiza una acción o comete un error en el entorno virtual,

dicho evento es guardado en un archivo de registro que es procesado posteriormente

para guardar en la ontología estudiante la traza de cada uno de los estudiantes. Este

procesamiento se realiza una vez que la práctica ha terminado.

No obstante, sería deseable que las trazas de los estudiantes se fueran

actualizando en tiempo real, ya que de esta manera se posibilitaría en el futuro el

diagnóstico pedagógico/cognitivo de los conocimientos del estudiante durante la

práctica y sería posible tomar decisiones de tutorías basadas en esta información.

Por lo tanto, es necesario que la traza de los estudiantes se actualice en tiempo

real, es decir, que cada vez que un estudiante realice una acción o cometa un error, la

traza de dicho estudiante sea actualizada. Los objetivos planteados para solucionar este

problema se encuentran descritos a continuación en el apartado 3.3.1.3.

Page 53: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

38

3.1.4. Generación de indicaciones de ubicación en

lenguaje natural

En la solución actual del SIT con interacción en lenguaje cuando el estudiante

realiza una pregunta para saber la ubicación de un objeto del laboratorio virtual, la

generación de la indicación en lenguaje natural utiliza los individuos de la ontología

mundo.

El primer problema que se presenta tiene que ver con que las relaciones entre

dichos individuos se dan tomando siempre como referencia o perspectiva absoluta la

puerta de la sala principal. Es decir, se tiene siempre la misma relación, convirtiéndose

en una relación estática que no toma en cuenta aspectos perceptivos y espaciales.

Adicional a este problema es que en la ontología mundo no se tiene información

de la ubicación, rotación, tamaño y color de cada uno de los objetos virtuales. Además,

se tiene un solo individuo representante de cada clase, aunque en el laboratorio virtual

existan varios.

Otro problema es que para las indicaciones no se toma en cuenta la posición del

estudiante, por lo que no se sabe si el objeto que se está buscando está cerca o lejos,

y si este se encuentra o no en el área de visión del estudiante.

Y finalmente, el último problema es que al ser un laboratorio en el cual no han

estado previamente, los estudiantes no tienen conocimiento previo de todos los objetos

existentes en él. Motivo por el cual la generación de relaciones debería estar basada

también en el conocimiento previo de los objetos relacionados, el cual deberá estar

especificado para cada objeto relevante en la práctica.

Page 54: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

39

3.2. Evaluación: Pruebas realizadas

Para la evaluación se realizó una práctica con estudiantes de la asignatura de

Bioquímica y Biotecnología en el grado en Ingeniería Forestal de la UPM. Esta práctica

tuvo lugar durante 4 días, en cada uno de ellos 6 estudiantes se conectaban al mundo

virtual concurrentemente, e interactuaban a través del chat con el tutor automático.

Con base en la arquitectura del SIT (detallada en el apartado 2.2.1) y en su

funcionamiento (apartado 2.2.2), la evaluación se realiza al MSGD - Módulo de Soporte

del Gestor de Diálogo, en conjunto con su interacción con el Gestor de Diálogo Watson

Assistant y con la ontología mundo.

Los resultados obtenidos de la práctica se encuentran registrados en un archivo

de log que contiene las preguntas realizadas por los estudiantes y las respuestas que

obtuvieron por parte del tutor automático, así como las acciones y los errores de cada

estudiante.

Utilizando estos resultados en los subapartados de este capítulo se realiza un

análisis y una retroalimentación de estos, y adicionalmente, se detallan los errores

cometidos por el tutor automático durante la evaluación.

3.2.1. Descripción de los errores encontrados en las

pruebas

En este apartado se encuentran descritas los fallos encontrados durante la

evaluación, las mismas que se clasifican de acuerdo con la fecha de la prueba en la que

ocurrió, y con el componente en que sucedió. Es decir, si el error se encuentra en el

MSGD, en Watson Assistant o en la definición de la ontología mundo.

3.2.1.1. Pruebas 13 de mayo de 2019

Watson Assistant

a) Respuestas incorrectas cuando el estudiante pregunta por vitrina de químicos, y

la siguiente acción es “agregaragar” o “agregarmys/agregarsacarosa”

Page 55: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

40

b) Cuando el estudiante pregunta por algún químico, la entidad que devuelve

Watson no coincide con ningún objeto instanciado en la ontología mundo. El

problema es que Watson devuelve la entidad químico, mientras que en la

ontología mundo el nombre del objeto es quimico; debido a la tilde no se la

encuentra en la ontología.

c) Respuesta incorrecta cuando la siguiente acción es “entregarvaso” y el

estudiante dice que no sabe qué coger de la vitrina. Se reconoce la entidad

vitrina y se responde que no la necesita.

Ontología mundo miles

d) Falta de información en la ontología mundo miles

Químico Murashiage and skoog

Mesa del fondo (stirrer table)

e) Errores tipográficos en la ontología mundo miles

Descripción de autoclave

Valor de la propiedad above, le falta el pronombre “de” en la traducción al

castellano.

f) Error en la propiedad de referencia del objeto agitador. Está configurado que el

agitador se encuentra sobre la mesa central, pero debe cambiarse a que el

agitador está sobre la mesa del fondo.

3.2.1.2. Pruebas 14 de mayo de 2019

Watson Assistant

g) Respuesta incorrecta cuando el estudiante agradece al tutor después de la

ayuda recibida. Se da cuando el estudiante utiliza frases en inglés con frases

como:

okay thanks

okay

muchas gracias

Page 56: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

41

h) Respuestas incorrectas cuando el estudiante al chatear con el tutor automático

escribía frases para decir que ha logrado encontrar un objeto o realizar una

acción, tales como:

ya lo tengo

ya lo he hecho

lo he conseguido

Al no tener contempladas este tipo de oraciones, la respuesta enviada por el

tutor automático era que no lo entiende, lo que causaba confusión en los

estudiantes.

i) Respuestas incorrectas cuando el estudiante envía frases sin relación con la

práctica, tales como:

a mí también porfa

eso si te lo responde

y siempre responde eso

Debido a que el tutor no entiende, responde que no lo entiende repetitivamente

y causa un chat confuso y con errores.

j) Adicionalmente al error anterior, existen palabras que pueden ayudar a ignorar

los mensajes sin sentido de los estudiantes, entre ellos se tiene:

jaja

??? (signos de puntuación solos)

mm

3.2.1.3. Pruebas 16 de mayo de 2019

Watson Assistant

k) Respuesta incorrecta cuando la acción siguiente es “soltarvasoagitador” y el

estudiante pregunta por el lugar donde dejar el vaso. Reconoce vaso como

entidad y dice que no lo necesita.

Page 57: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

42

l) Respuestas incorrectas cuando el estudiante utiliza pronombres tales como eso

o esto para referirse a la entidad de la cual recibió la pista.

El tutor automático no asocia la pregunta a una entidad por lo que la respuesta

es que no entiende la pregunta del estudiante.

m) Respuestas incorrectas cuando el estudiante pregunta por los fundamentos y lo

trata como: libro de color azul.

El tutor automático no lo asocia con ninguna entidad por lo que la respuesta es

que no entiende la pregunta del estudiante.

n) Respuestas incorrectas cuando el estudiante pregunta como abrir los

fundamentos y/o protocolos.

Al ser un enlace, no se ha considerado que para leerlos el estudiante podría

utilizar el verbo abrir, por lo tanto, no se reconoce la intención y la respuesta es

que no entiende la pregunta del estudiante.

3.2.1.4. Pruebas 17 de mayo de 2019

Watson Assistant

o) Respuesta incorrecta cuando la acción siguiente es “insertarbotellaautoclave” y

el estudiante pregunta por el lugar donde dejar la botella. Reconoce botella como

entidad y dice que no lo necesita.

p) Respuesta incorrecta cuando el estudiante pregunta: ¿cómo agregar los

químicos? No se reconoce ninguna intención, por lo que la respuesta del tutor

es que se lo pregunte de otra manera.

Ontología mundo miles

q) Error de tipografía en ontología mundo.

Cuando el estudiante pregunta por la descripción de autoclave, esta resulta

confusa, pues al decir que se parece a una lavadora los estudiantes se acercan

a la lavadora y no a la autoclave.

Page 58: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

43

3.2.2. Análisis de las pruebas

Se analizaron las respuestas dadas por el tutor automático al estudiante y se

clasificaron como correctas o erróneas en comparación con la respuesta que un tutor

humano hubiese contestado al estudiante.

3.2.2.1. Recuento por estudiante de respuestas exitosas y fallidas

A continuación, en la Tabla. III se detalla el número de preguntas realizadas por

cada estudiante, y se clasifican en base a si la respuesta obtenida es exitosa o fallida.

ESTUDIANTE

NÚM. PREGUNTAS CORRECTAS %

CORRECTAS INCORRECTAS % INCORRECTAS

E1 0

E2 1 1 100.00% 0 0.00%

E3 1 1 100.00% 0.00%

E4 3 2 66.67% 1 33.33%

E5 4 3 75.00% 1 25.00%

E6 1 1 100.00% 0 0.00%

E7 6 4 66.67% 2 33.33%

E8 3 3 100.00% 0 0.00%

E9 2 2 100.00% 0 0.00%

E10 1 0 0.00% 1 100.00%

E11 17 10 58.82% 7 41.18%

E12 10 3 30.00% 7 70.00%

E13 0

E14 2 1 50.00% 1 50.00%

E15 0

E16 3 2 66.67% 1 33.33%

E17 2 2 100.00% 0 0.00%

E18 1 1 100.00% 0 0.00%

E19 3 2 66.67% 1 33.33%

E20 2 2 100.00% 0 0.00%

E21 2 0 0.00% 2 100.00%

E22 16 7 43.75% 9 56.25%

E23 0

TOTALES 80 47 33

58.75% 69.70% 41.25% 30.30%

Tabla. III. Recuento por estudiante de respuestas exitosas/fallidas

Page 59: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

44

Como se puede observar en esta tabla, durante la evaluación se tuvo un total de

23 estudiantes, de los cuales 4 no realizaron ninguna pregunta, y entre los otros 19 se

obtuvo un total de 80 preguntas.

De todas las preguntas realizadas, únicamente 47 preguntas que representan el

58.75% fueron contestadas exitosamente. En las otras preguntas, que representa el

41.25%, el estudiante no recibió la ayuda correcta por parte del tutor automático.

3.2.2.2. Clasificación de los errores encontrados

Debido a que el porcentaje de respuestas correctas y fallidas es muy similar, se

realiza una clasificación de los errores agrupándolos por tipo de error, entre los que se

encontró los detallados a continuación:

Error de tipografía: Error de escritura o falta ortográfica en la respuesta. Por ejemplo, se tiene el error e).

P: ¿dónde está el grifo?

R: El grifo se encuentra encima del fregadero

Sinónimo en entidad: Falta de uno o varios sinónimos en una entidad. Por

ejemplo, se tiene el error m).

P: no me sale el tutorial de color azul

R: ¿Puedes expresarse con otras palabras? No te he entendido.

Ejemplo en intención: Falta de uno o varios ejemplos de uso en una

intención. Por ejemplo, se tiene el error n).

P: ¿cómo abro el libro?

R: ¿Puedes expresarse con otras palabras? No te he entendido.

Dos entidades: Error cuando la acción siguiente depende de dos entidades,

y solo se controla el diálogo con una de ellas. Por ejemplo, se tiene el error

k), con la acción siguiente soltarvasofregadero.

P: ahora no me deja coger un vaso

R: Ahora no necesitas el vaso

Page 60: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

45

Intent "General_Already_Done": Falta de una intención que entienda

cuando el estudiante envié mensajes diciendo que ha logrado hacer o

entender algo.

P: ya lo tengo

R: ¿Puedes expresarse con otras palabras? No te he entendido

Intent “Ignore”: Falta de una intención para ignorar frases de alumnos cuyo

contenido no es de importancia para la práctica. Por ejemplo, se tienen las

frases del error j).

P: ???

R: Necesito que me lo preguntes de otra manera…

Watson no entiende: Falta de control cuando el estudiante envía varios

mensajes que Watson no entiende, o cuando los estudiantes conversan

entre ellos. Por ejemplo, se tienen las frases citadas en el error i).

P: a mí también porfa

R: ¿Puedes expresarse con otras palabras? No te he entendido

Intent “How_To_Do”: Falta de una o varias intenciones que representen

“como hacer” alguna actividad. Por ejemplo, se tiene el error p).

P: como agrego los químicos necesarios?

R: Necesito que me lo preguntes de otra manera…

Posteriormente, a cada tipo de error se le asigna un nivel de gravedad, de

acuerdo con las siguientes características:

Leve Respuestas erróneas en diálogo común (saludo, despedida).

Mediano Respuestas erróneas que no ayudan a solventar las dudas del

estudiante, pero no afectan en el entendimiento de la práctica.

Grave Respuestas erróneas que afectan el entendimiento de la práctica

y causan confusión en la realización de las acciones siguientes.

Page 61: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

46

En la Tabla. IV se muestra el nivel de gravedad asignado a cada uno de los tipos

de errores encontrados en la evaluación. Además, se muestra cuál es el número de

respuestas erróneas pertenecientes a cada tipo, y su porcentaje siendo 33 el número

total de respuestas erróneas.

TIPO DE ERROR GRAVEDAD NÚM. ERRORES

Error de tipografía Leve 1 3%

Sinónimo en entidad Mediano 4 12%

Ejemplo en intención Mediano 3 9%

Dos entidades Grave 9 27%

Intent "General_Already_Done" Leve 2 6%

Intent “Ignore” Mediano 3 9%

Watson no entiende Mediano 8 24%

Intent “How_To_Do” Mediano 3 9%

Tabla. IV. Gravedad de los tipos de errores encontrados en la evaluación

Teniendo en cuenta el nivel de gravedad, únicamente el 27% (9 respuestas) del

total de respuestas erróneas causaron problemas y confusión durante la ejecución de

las prácticas.

Estas 9 respuestas erróneas, de tipo grave, representan el 11.25% del total de

respuestas de la práctica.

Page 62: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

47

3.3. Objetivos

3.3.1. Mejoras derivadas de los problemas

previamente conocidos

3.3.1.1. Estudiante dentro del tramo controlado

Debido a que en la solución actual solo se tienen contempladas acciones de la

primera fase de la práctica, el objetivo es tener un control por estudiante de que se

encuentra dentro del tramo en el que el tutor automático es capaz de responder a sus

preguntas.

Para ello, cuando el estudiante haya superado esta fase automáticamente sale

del tramo controlado, dejando de recibir ayuda por parte del tutor automático.

3.3.1.2. Deshabilitación de peticiones del estudiante

El objetivo general es poder deshabilitar a un estudiante que está teniendo

problemas con la práctica para darle un trato más personalizado con la ayuda de un

tutor humano. Que las peticiones de un estudiante sean deshabilitadas implica que este

no recibirá respuestas por parte del tutor automático.

Adicionalmente, es necesario que también se pueda volver a habilitar al

estudiante, con el objetivo de que cuando se haya solucionado el problema, el

estudiante pueda realizar su práctica con la ayuda del tutor automático.

3.3.1.3. Traza de estudiante en tiempo real

El objetivo general es poder guardar la traza de todos los estudiantes que se

encuentren realizando la práctica en tiempo real.

Es necesario, que cada estudiante tenga su registro dentro de la ontología

estudiante, por lo que se debe verificar su existencia y si no existe, crear un registro que

permita gestionar su traza.

Page 63: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

48

Además, que cada vez que el estudiante realiza una acción o comete un error

se envié peticiones de tipo event al MSGD, y que con la información de dichas peticiones

se guarde la información en la traza del estudiante.

3.3.1.4. Generación de indicaciones de ubicación en lenguaje natural

El objetivo general es mejorar la generación de indicaciones en lenguaje natural

de la ubicación de objetos pertenecientes al laboratorio virtual de biotecnología.

Para este propósito, primero es necesario realizar un preprocesamiento, en el

que se complete los datos de la ontología mundo. Este preprocesamiento comprende

las siguientes actividades:

Agregar las siguientes propiedades de datos en la ontología mundo, de tal

manera que puedan ser utilizados en los individuos nuevos y antiguos.

Posición en eje x, eje y, y eje z

Orientación en eje x, eje y, y eje z

Tamaño (alto, ancho y altura)

Saliencia individual (promedio entre saliencia por color, saliencia por

tamaño y saliencia por forma)

Crear en la ontología mundo individuos de todos los elementos utilizados en

la práctica del laboratorio de biotecnología.

Actualmente, existe solo un individuo por cada tipo de objeto, por ejemplo,

si en el laboratorio virtual existen dos vitrinas de químicos, en la ontología

mundo hay solo un individuo que las representa.

Debido a que cada objeto en el laboratorio virtual debe convertirse en un

individuo en la ontología mundo, es necesario crear todos los individuos

faltantes.

Obtener los datos geométricos (posición, orientación y escala) de los objetos

del laboratorio virtual directamente de la base de datos de OpenSim, y de

esa forma evitar el trabajo manual de copiarlos uno por uno desde Firestorm.

Page 64: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

49

Crear un archivo JSON que contenga los datos de los individuos a crear en

la ontología mundo. Debe contener un arreglo de objetos, y que cada uno

de ellos tenga la estructura de un elemento de esta ontología.

Definir también en el archivo JSON las relaciones existentes entre individuos

de la ontología en base al entorno virtual del laboratorio de biotecnología.

Es importante definir más relaciones de las que previamente existían de tal

forma que al momento de generar la indicación de ubicación el objeto de

referencia sea su referencia más saliente.

Crear un script que permita insertar de manera automática los nuevos

individuos o instancias en la ontología mundo. Este script debe leer la

información desde el archivo JSON.

Después del preprocesamiento, es necesario crear un algoritmo para la generación de indicaciones de ubicación con lenguaje natural, el cual debe

comprender las siguientes condiciones:

Las indicaciones de ubicación deben ser generadas con arreglo a la

información de la ontología mundo. Por lo tanto, se tiene que evitar que sean

respuestas predefinidas en el gestor de diálogo Watson Assistant.

Si existen varios individuos de la misma clase, generar la indicación de

ubicación hacia la instancia o individuo más cercano al avatar del estudiante.

Generar la indicación sobre la ubicación de un objeto del laboratorio virtual

utilizando aspectos perceptivos (basado en los apartados 2.5.1 y 2.5.2),

tales como:

Posición del avatar del estudiante que realiza la pregunta

Campo de visión del avatar del estudiante

Saliencia de los objetos dentro del campo de visión

Búsqueda de objetos referenciales en base al contexto del campo de

visión

Page 65: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

50

3.3.2. Mejoras derivadas de la evaluación

Con base en la clasificación de los errores de la evaluación, detallada en el

apartado 3.2.2.2, se plantean los objetivos de mejora para solucionar cada uno de ellos.

Problema: Error de tipografía

Corregir en la ontología mundo y en el diálogo de Watson Assistant los

errores de tipografía detectados durante la evaluación.

Problema: Sinónimo en entidad

Agregar los sinónimos ausentes identificados durante las pruebas a algunas

de las entidades definidas en Watson Assistant.

Problema: Ejemplo en intención

Agregar los ejemplos encontrados durante las pruebas en las intenciones

definidas en Watson Assistant.

Problema: Dos entidades

Corregir las respuestas del tutor automático cuando la acción siguiente del

estudiante depende de dos entidades. El estudiante puede realizar

preguntas respecto a cualquiera de las dos entidades, y el tutor automático

debe ser capaz de responder correctamente.

Problema: Intent "General_Already_Done"

Configurar en una nueva intención de Watson Assistant frases que

representen que el estudiante ha logrado hacer una actividad o encontrar un

objeto. Además de actualizar el diálogo para generar respuestas en base a

esta nueva intención.

Problema: Intent “#Ignore”

Configurar en una nueva intención de Watson Assistant frases que deben

ser ignoradas por el gestor de diálogo del tutor automático. Es decir, cuando

los estudiantes envíen dichas frases no recibirán ninguna respuesta.

Problema: Watson no entiende

Configurar una nueva variable de contexto que permita identificar que

Watson no ha entendido el mensaje del estudiante.

Page 66: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PLANTEAMIENTO DEL PROBLEMA

51

Con la ayuda de esta variable controlar que, si al estudiante no se lo ha

entendido en más de dos ocasiones y es otro mensaje incorrecto, el tutor

automático no envíe respuesta al estudiante.

Y, volver a enviar respuestas al estudiante cuando realice una pregunta

relacionada con la práctica, cuya intención sea reconocida por Watson.

Problema: Intent “How_To_Do”

Configurar nuevas intenciones en Watson Assistant que permitan reconocer

frases de cómo realizar las actividades.

Page 67: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

4 SOLUCIÓN ADOPTADA

Page 68: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

53

A continuación, teniendo en cuenta los objetivos planteados en el apartado 3.3,

se presenta la solución adoptada para las mejoras y para las nuevas características

para el SIT con interacción en lenguaje natural que se introducen en el MSGD (Módulo

de soporte de gestor de diálogo) y en el gestor de diálogo Watson Assistant.

4.1. Mejoras en la calidad del código del

proyecto previo

Tomando como punto de partida el proyecto implementado en [5] y descrito en

el apartado 2.2.2, se tiene el SITChatBotRuntime que es la implementación del MSGD

encargado de la comunicación entre el estudiante y el tutor automático utilizando

lenguaje natural a través del gestor de diálogo Watson Assistant.

Previo a las nuevas implementaciones para el cumplimiento de los objetivos del

presente proyecto, se realizaron las siguientes mejoras en el proyecto existente:

Versionamiento

Debido a los cambios y las nuevas implementaciones que se planea realizar en

el código del proyecto de partida, se requiere tener un control de versiones del proyecto,

para lo cual se utiliza la plataforma de desarrollo colaborativa GitLab que provee un

servicio de almacenamiento de repositorios basados en Git. El presente proyecto se

encuentra en: https://gitlab.com/muss-lopenchi/tfm/sit

GitLab provee una interfaz gráfica basada en la web, facilitando la visualización

y manejo del repositorio. En esta plataforma se tiene un repositorio privado con la

documentación y código fuente del proyecto.

Refactorización de código

La refactorización se basó en seguir los convenios de programación de C#. Entre

los cambios realizados se tiene:

Identación del código

Renombramiento de namespaces para que coincidan con la ubicación de

los archivos

Page 69: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

54

Renombramiento de atributos y métodos para que se cumpla con el estándar

camelCase1

Reordenamiento de paquetes

Se renombraron los paquetes con base en los módulos que conforman un SIT.

En el proyecto previo se tenía el paquete Ontology que contenía clases referentes a los

módulos mundo y estudiante, se lo dividió en dos paquetes: StudentModule y

WorldModule.

En la Figura 14 se muestran los paquetes de este proyecto, que son los

contenedores de las clases en las que se realizan las nuevas implementaciones.

El paquete Watson contiene las clases que gestionan la conexión y constante

comunicación con el gestor de diálogo Watson Assistant.

El paquete StudentModule contiene información, en tiempo de ejecución, de

cada uno de los estudiantes: información personal e información referente a las

actividades realizadas durante la práctica.

El paquete WorldModule contiene la ontología mundo, las clases que gestionan

el acceso a la información dentro de esta, y la generación de textos en lenguaje natural

para dar indicaciones referentes a objetos de esta ontología.

Figura 14. Diagrama de paquetes de SITChatBotRuntime

1 Explicación estándar camelCase: https://tinyurl.com/y5le7xxa

Page 70: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

55

Diagramas de clases de la solución adoptada

A continuación, las figuras: Figura 15, Figura 16 y Figura 17 muestran los

diagramas de clases de cada uno de los paquetes. En estas imágenes, se resalta las

soluciones implementadas con colores: verde (nueva implementación) y amarillo

(cambios en implementación existente), para entender el aporte de este proyecto

investigación.

Figura 15. SITChatBotRuntime: Diagrama de clases del paquete Watson

Figura 16. SITChatBotRuntime: Diagrama de clases del paquete StudentModule

Page 71: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SO

LUC

IÓN

AD

OPT

AD

A

56

Figu

ra 1

7.

SIT

Cha

tBot

Run

tim

e: D

iagr

ama

de c

lase

s de

l paq

uete

Wor

ldM

odul

e

Page 72: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

57

4.2. Implementaciones previas a la evaluación

Previo a la ejecución de la evaluación (apartado 3.2) se realizó la implementación

de dos nuevas características, las cuales dan soluciones a dos problemas ya conocidos.

A continuación, se describen estas soluciones.

4.2.1. Estudiante dentro de tramo controlado

Para cumplir con el objetivo del apartado 3.3.1.1 se implementó la propiedad

isInsideStretch en la clase Student que permita saber si dicho estudiante se encuentra

dentro o fuera del tramo controlado.

Cada estudiante está relacionado con una lista de acciones a realizar, la cual se

modifica mientras el estudiante va realizando las acciones de la práctica. La propiedad

isInsideStretch se inicia como verdadera para todos los estudiantes.

Esta propiedad cambia su valor a falso, cuando el estudiante realiza la última

acción de su lista de acciones.

Figura 18. Métodos y atributos utilizados para la solución de: Estudiante dentro

de tramo controlado

Page 73: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

58

4.2.2. Servicio web para deshabilitar estudiante

Para cumplir con el objetivo descrito en el apartado 3.3.1.2 se creó un nuevo

servicio web denominado SITAdminHelper (ver Figura 19) que permite deshabilitar y

habilitar a un estudiante. Inicialmente, todos los estudiantes están habilitados.

Figura 19. SITChatBotRuntime: Diagrama de clases de paquete WebService

Para utilizar este servicio web se requiere realizar una petición que debe

contener el nombre del estudiante y la acción (habilitar o deshabilitar) como se muestra

en las figuras: Figura 20 y Figura 21.

Figura 20. Petición POST para deshabilitar un estudiante

Figura 21. Petición POST para habilitar un estudiante

Page 74: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

59

4.3. Soluciones a errores de la evaluación

A continuación, se listarán las soluciones adoptadas para resolver los problemas

encontrados durante la etapa de evaluación del SIT con interacción en lenguaje natural.

Los resultados de estas soluciones se encuentran como anexo en el apartado 7.2.

Las soluciones implementadas se encuentran clasificadas de acuerdo con el tipo

de error a solucionar (detallados en el apartado 3.2.2.2), y adicionalmente se especifica

en qué componente del SIT se realizó la solución.

Solución 1: Corrección de errores de tipografía

Ontología

mundo Se corrigió descriptionG y descriptionE del objeto autoclave para

que los estudiantes no lo confundan con una lavadora.

El autoclave es una maquinaria con forma de olla de presión del

tamaño de una lavadora.

Watson

Assistant Se corrigió la entidad químico, escribiéndola sin tilde pues es así

como se encuentra definida en la ontología.

Se corrigió la frase en la que se le pregunta al estudiante si necesita

ayuda, para que se le que pregunte por la ayuda que necesita. De

esta forma se evita un mensaje “si” por parte del estudiante, y que

no es posible de comprender por Watson.

Venga que lo vas a conseguir $nom_alu, ¿cómo te puedo ayudar?

Solución 2: Sinónimos en entidades

Watson

Assistant Se agregó nuevos sinónimos en entidad @documento:fundamento

a. libro(s) / libro azul / libro de color azul

b. tutorial azul

Se agregó nuevos sinónimos en entidad @documento:protocolo

a. libro(s) / libro verde / libro de color verde

b. tutorial verde

Page 75: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

60

Solución 3: Ejemplos en intenciones existentes

Watson

Assistant Se añadió ejemplos de uso, rescatados de las pruebas, en la

intención #General_Positive_Feedback entre los que se tiene:

a. okay thanks

b. okay

c. muchas gracias

Se añadió ejemplos de uso, rescatados de las pruebas, en la

intención #UBICACION_DOCUMENTO

a. ¿Cómo lo abro?

b. ¿Cómo abro los libros?

c. ¿Cómo puedo leerlos?

d. ¿Cómo puedo leerlo?

Solución 4: Evitar respuestas repetidas de que no se entiende algo

Watson

Assistant Sistema de

Diálogo

SitChatBot

Se agregó una nueva intención “#Ignore”, para que se ignoren

ciertos tipos de mensajes, y no le de ninguna respuesta al

estudiante. Entre los mensajes a ignorar se tiene:

a. jaja / ja ja / jeje / je je / lol

b. ! / !! / !!!

c. ? / ?? / ???

Crear una variable de contexto badmesage, y con esta variable un

contador en el SitChatBot.

Hay que responder que no se entiende a un máximo de 2

preguntas/afirmaciones no reconocidas, las siguientes se ignoran.

Se vuelve a generar una respuesta cuando Watson entienda una

entidad y/o una intención; en ese momento se reinicia el contador.

Con esta solución, también se pretende mitigar, de alguna manera,

la confusión que se producía cuando los estudiantes hablaban

entre ellos y el SIT debía ignorar lo que dicen.

Page 76: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

61

Solución 5: Nueva intención para logros del estudiante

Watson

Assistant

Se creó una nueva intención #General_Already_Done en el que se

tienen los siguientes mensajes:

a. Ok / okay/ okey

b. ya lo hecho

c. ya lo tengo

d. ya lo hice”

Se creó un nuevo nodo que al reconocer la intención

#General_Already_Done felicita al estudiante.

Solución 6: Nueva intención “como hacer”

Watson

Assistant

#Obtencion_Quimicos

Se agregó esta nueva intención que evalúa mensajes de cómo se

trabaja o se añade los químicos durante la práctica. Se añadió un nuevo nodo hijo que evalúe esta intención en los

nodos de acción siguiente: “agregarmys/agregarsacarosa” y

“agregaragar”

La respuesta del nuevo nodo es: Para añadir los químicos, abre la vitrina de químicos y selecciona

los que necesites.

Solución 7: Dos entidades (quimico-vitrina)

Watson

Assistant Se agregó un nodo hijo que busque la intención

“#Ubicacion_Contenedor” en los nodos principales de acciones

siguientes: “agregarmys/agregarsacarosa” y “agregarsacarosa”

Se agregó un nodo hijo que busque la intención

“#Descripcion_Contenedor” en los nodos principales de acciones

siguientes: “agregarmys/agregarsacarosa” y “agregarsacarosa”

Page 77: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

62

Se agregó un nodo hijo que busque la intención

““#Ubicacion_Quimicos” en los nodos principales de acciones

siguientes: “agregarmys/agregarsacarosa” y “agregarsacarosa”

Solución 8: Dos entidades (vaso-fregadero)

Watson

Assistant En el nodo principal de acción siguiente “soltarvasofregadero” se

agregó un nodo hijo que busque las palabras vaso o fregadero.

Este nodo envía como respuesta: $nom_alu acércate a cualquier fregadero y para soltar el vaso,

entra en el inventario y pulsa "Soltar".

Solución 9: Dos entidades (vaso-agitador)

Watson

Assistant En el nodo principal de acción siguiente “soltarvasoagitador” se

agregó un nodo hijo que busque las palabras vaso o agitador.

Este nodo envía como respuesta: $nom_alu tienes que llevar el vaso al agitador (encima de cualquier

mesa del fondo con un disco giratorio encima) y soltarlo ahí.

Solución 10: Dos entidades (botella-sala de autoclave)

Watson

Assistant En el nodo principal de acción siguiente “insertarbotellaautoclave”

se agregó un nodo hijo que busque la palabra botella.

Este nodo envía como respuesta: Debes autoclavar la botella introduciéndola en un autoclave, para

ello suelta la botella cerca del autoclave.

Page 78: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

63

4.4. Traza de estudiantes en tiempo real

4.4.1. Proyecto previo

En esta solución se utilizó como punto de partida el proyecto automatictutor

resultado de la investigación [3], específicamente los módulos: LoadLogsBiotech y

Its.StudentModule.Ontology.

El módulo Its.StudentModule.Ontology contiene la implementación de la

ontología estudiante (descrita en el apartado 2.4.3), específicamente archivos .owl que

representan cada una las ontologías modulares del estudiante.

El módulo LoadLogsBiotech es el encargado de procesar las acciones realizadas

por los estudiantes y registrarlas en esta ontología, específicamente en la traza del

estudiante.

De forma detalla, se realiza el registro de traza de los estudiantes en bloque, es

decir, se leen todas las acciones y errores desde un archivo de registros y, a través de

un bucle se las ingresa en la ontología de cada uno de los estudiantes.

4.4.2. Implementación

En el presente proyecto de investigación se implementó únicamente la

actualización de una parte de la ontología estudiante, concretamente, las ontologías

modulares utilizadas son:

Ontología información del estudiante (Student Information)

Ontología perfil del estudiante (Student Profile)

Ontología estado del estudiante (Student State)

Ontología traza del estudiante (Student Trace)

Además, con base en el proyecto automatictutor, se creó un método que sea

capaz de registrar las acciones y errores de los estudiantes de una en una, a medida

que llegan al SitChatBot por medio de los servicios web.

Para adaptar la solución del proyecto automatictutor al objetivo de este proyecto,

fue necesario eliminar la lectura del archivo de registros, y el bucle que recorre cada una

de las líneas de dicho archivo.

Page 79: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

64

Una vez adaptados los métodos al proyecto, se tiene como resultado la solución

que se explica a continuación:

Cuando un estudiante realiza una acción o comete un error en el entorno virtual,

se envía una petición con los datos del evento realizado como se muestra en las figuras

Figura 22 y Figura 23 a continuación.

Figura 22. Petición POST de tipo evento – acción

Figura 23. Petición POST de tipo evento – error

Este evento será guardado en la ontología estudiante con la ayuda del nuevo

método saveStudentEventInLogs presente en la clase StudentOntology.

Figura 24. Métodos y atributos utilizados para la solución de: Trazas de

estudiantes en tiempo real

Page 80: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

65

Cuando un estudiante realiza su primera acción (o error) se guarda al estudiante

en la ontología student_data.owl la cual contiene la información y el perfil de todos los

estudiantes, diferenciados con un identificador numérico (ver Figura 25).

Figura 25. Ejemplo de información y perfil del estudiante guardado en la

ontología mundo en tiempo real

Utilizando dicho identificador se crea un archivo nuevo id.owl dentro de la carpeta

Logs, el cual contiene el estado (student_state) y la traza (student_trace) de dicho

estudiante.

Figura 26. Ejemplo de traza y estado del estudiante guardado en la ontología

mundo en tiempo real

Page 81: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

66

4.5. Ubicación de objetos basada en aspectos

perceptivos y espaciales

4.5.1. Preprocesamiento: script que permite agregar

información a la ontología mundo

Para poder utilizar el algoritmo descrito en el siguiente apartado, fue necesario

crear nuevos individuos por cada objeto perteneciente al laboratorio virtual de

biotecnología.

Además, para generar la instrucción basada en aspectos perceptivos se

necesitan añadir propiedades de saliencia, tamaño, posición y orientación en cada uno

de estos individuos. Por otro lado, será necesario añadir las relaciones espaciales entre

los individuos que serán empleadas para generar las indicaciones de localización.

Esta información debe estar presente en el momento de la ejecución de la

práctica, por lo que es necesario realizar un preprocesamiento para agregarla al archivo

miles que tiene la definición de la ontología mundo. Para esto se creó un nuevo proyecto,

dentro de la solución SIT, denominado ScriptWorldInformation.

4.5.1.1. Proyecto ScriptWorldInformation

Este proyecto se encuentra implementado en C#, y su estructura se encuentra

definida por paquetes como se muestra en la Figura 27.

Figura 27. Diagrama de paquetes de proyecto ScriptWorldInformation

Page 82: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

67

El paquete OntologyInformation contiene las clases que representan a un

individuo o instancia dentro de la ontología mundo. El paquete OntologyAccess contiene

la clase para modificar la ontología mundo. Y el paquete Utils contiene clases que

permiten funcionalidades extras para este preprocesamiento tales como: conexión a

base de datos, registros en memoria, etc.

Funcionamiento de ScriptWorldInformation

A continuación, se detallará cada uno de los pasos realizados en el programa

principal de este proyecto para agregar la información en la ontología mundo.

(a) Archivo con definición de nuevos individuos

El primer paso fue crear un archivo JSON elements.json que tenga la definición

de los individuos o instancias a crear. Esta definición se basa en un arreglo de objetos

(Figura 28), en el que cada objeto representa una clase dentro de la ontología mundo.

Figura 28. Preprocesamiento: Formato principal del archivo con definición de

nuevos elementos para ontología mundo

Para entender el formato de cada uno de los objetos se tiene la Figura 29, en la

que se puede observar que cada uno de los objetos tiene una propiedad denominada

instances, en la que se especifican todas las instancias pertenecientes a esa clase, es

decir, cada objeto dentro de instances representa un individuo a ser creado en la

ontología.

Page 83: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

68

En cada una de estas instancias se tiene la propiedad references en la que se

especifica el tipo de relación (isInsideOf, toTheRightOf, etc) y el nombre de la instancia

con el que está relacionado.

Adicionalmente, en la Figura 29 se observa que cada uno de los objetos tienen

una propiedad denominada commonData en la que se describen las propiedades cuyos

valores son comunes para todas las instancias de la clase, entre los que tenemos:

ontologyClass

descriptionG / descriptionE

spanishName

spanishSentence

colorSalience / shapeSalience

Las demás propiedades necesarias en los individuos de la ontología mundo se

obtienen de una consulta a la base de datos de OpenSim, filtrando cada objeto con su

identificador denominado UUID. Este identificador es una propiedad de cada instance.

Figura 29. Preprocesamiento: Formato JSON utilizado en el archivo de definición

de individuos para la ontología

Page 84: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

69

(b) Información de la base de datos OpenSim

Para obtener los datos faltantes es necesario realizar una conexión a la base de

datos de OpenSim, la cual se encuentra en una base de datos relacional MySQL, por lo

que la consulta para cada objeto es la que se muestra en la figura a continuación.

Figura 30. Preprocesamiento: Consulta en SQL para obtener datos de los objetos

del laboratorio virtual en OpenSim

A través de la consulta se obtienen datos para llenar las siguientes propiedades

de cada individuo en la ontología mundo:

Tamaño (scaleX, scaleY, scaleZ)

Posición (positionX, positionY, positionZ)

Orientación (orientation)

(c) Cálculo de saliencias individuales

Para el cálculo de la saliencia individual de un objeto se utiliza la ecuación (3)

vista en el apartado 2.5.2.2, en la que es necesario tener los valores de las saliencias

por color, tamaño y forma de cada individuo.

Saliencia por color: Debido a que en el entorno virtual de aprendizaje del

laboratorio de biotecnología se tiene como color predominante el gris, la saliencia por

color se definió de manera subjetiva, tomando en cuenta que solo los objetos con

colores que resalten tendrán 1 o 0.5.

Saliencia por forma: Debido a que en el entorno virtual de aprendizaje del

laboratorio de biotecnología la mayoría de los objetos son rectangulares, la saliencia por

forma se definió de manera subjetiva, tomando en cuenta que los objetos cuya forma

sea rectangular tendrán una saliencia de 0, y si es distinta diferente será 0.5 o 1

dependiendo de cuánto resalte en el entorno.

Page 85: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

70

Saliencia por tamaño: Esta saliencia se calculó utilizando la ecuación (5) vista en

el apartado 2.5.2.2, por lo que se realizó un análisis de los valores más grandes de

longitud, ancho y altura de todos los objetos del laboratorio virtual.

(d) Actualización de la ontología mundo

Una vez que se tienen los objetos para la ontología mundo con todas sus

propiedades, se procede a actualizar la ontología, para lo cual se utiliza la clase

OntologyModification del paquete OntologyAccess.

Primero se crean todos los individuos utilizado un método de esta clase

denominado addInstancesToWorldOntology. Y posteriormente se añaden las

referencias entre individuos utilizando el método addReferencesToInstances.

Resultado de ScriptWorldInformation

Una vez que se ha ejecutado el programa, se tiene un archivo de registros en el

que se encuentran todos los objetos que han sido añadidos a la ontología.

Este archivo se encuentra en C:/ProgramData/SIT Scripts/instances.log y su

contenido tiene formato CSV, es decir cada columna está separada por el carácter “;”

(ver Figura 31).

Figura 31. Preprocesamiento: Muestra del archivo de registro con todos los

individuos creados en la ontología mundo

Para poder ver de forma más detallada todos los individuos que han sido

añadidos a la ontología, y su información se tiene en el apartado 7.1 “Anexo 1: Tabla de

individuos añadidos a la ontología mundo”.

Page 86: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

71

Además, se pueden observar los cambios en la ontología mundo, que es el

archivo miles.owl, que se podrá inspeccionar con la herramienta Protégé. Como se

muestra en la Figura 32, al lado izquierdo de color púrpura se tiene los nuevos individuos

creados. Y si se señala alguno de estos individuos, al lado derecho se mostrarán sus

propiedades con los valores asignado (data properties) y también las referencias que

tienen con otros individuos (objeto properties).

Figura 32. Preprocesamiento: Nuevos individuos como resultado de ejecutar el

programa ScriptWorldInformation

Page 87: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

72

4.5.2. Algoritmo de generación de indicaciones para

ubicar objetos

4.5.2.1. Explicación

Este algoritmo tiene como propósito generar una instrucción de ubicación que

guíe al estudiante a encontrar un objeto dentro del laboratorio virtual, por el cual ha

preguntado.

Para ello se utiliza como datos de entrada la información del laboratorio virtual

que se encuentra en la ontología mundo, y se obtiene como salida una instrucción en

español con la ubicación del objeto dentro del laboratorio virtual.

4.5.2.2. Proyecto previo

Este algoritmo se basa en el apartado 2.5 (proyecto de investigación [6]), por lo

tanto, cabe resaltar que la instrucción generada para un objeto no es siempre la misma,

pues depende de aspectos perceptivos y espaciales tales como la ubicación del

estudiante, su campo de visión y la saliencia de los objetos.

Sin embargo, el entorno virtual del proyecto de investigación [6] no es igual al del

laboratorio virtual, motivo por el que se han realizado cambios y/o consideraciones a los

algoritmos del apartado 2.5.

Consideración de distintos escenarios

En el proyecto de investigación [6] se trató la generación de indicaciones

solamente para objetos que estaban dentro del campo de visión del usuario o estudiante

(apartado 2.5.1.3). Ahora bien, en esta tesis de máster, se propuso un algoritmo capaz

de tratar también los casos en los que el objeto no se encuentra dentro de la misma sala

que el estudiante (apartado 2.5.1.1) y en el que, a pesar de estar en la misma sala, no

está dentro de su campo de visión (apartado 2.5.1.2).

Esta diferencia en la implementación fue necesaria, pues durante la práctica en

el laboratorio virtual se realizan actividades en varias salas o cuartos, y por tanto puede

ser necesario guiar al estudiante al cuarto en el que se encuentre el objeto que está

buscando.

Page 88: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

73

Objetos repetidos

Debido a que en el laboratorio virtual puede haber uno o más estudiantes

realizando la práctica al mismo tiempo, existen varios objetos del mismo tipo.

Este caso no estuvo planteado en el proyecto de investigación previo, por lo que

en este algoritmo se ha incluido la funcionalidad de generar la instrucción para la

instancia del objeto que esté más cercana al estudiante.

Simplificaciones por falta de información

a) Tiempo de visión

En el proyecto de investigación [6], la probabilidad de recuerdo de cada objeto

está basada en la historia de visión de cada uno. La historia de visión hace referencia

al tiempo de visión del estudiante sobre ese objeto, y a la claridad con que se lo observó.

Sin embargo, en el laboratorio virtual no se tiene esa información por lo que se

decidió simplificar la ecuación (8) para que no dependa de este valor, y se tiene como

ecuación definitiva la que se muestra a continuación:

b) Saliencia en base al contexto de color y forma

Debido a que no se tiene la información de color y forma de todos los objetos del

contexto, no es posible calcular los valores del contexto, y por lo tanto, tampoco se

puede calcular la distancia entre el valor del contexto y el de cada objeto.

Por lo tanto, para estandarizar la distribución se utilizó el valor de las saliencias

individuales de color y de forma.

Page 89: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

74

4.5.2.3. Pseudocódigo

Page 90: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

75

Page 91: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

76

4.5.3. Implementación

4.5.3.1. Posición y orientación del avatar del estudiante

El primer paso para la generación de indicaciones de ubicación utilizando

aspectos perceptivos y espaciales es conocer la posición y la orientación del estudiante

dentro del laboratorio virtual (entorno de entrenamiento procedimental).

Para ello, cada vez que el estudiante realice una pregunta al tutor automático se

debe enviar esta información junto con la pregunta. Un ejemplo de petición sería el que

se muestra en la Figura 33, en la que el recuadro verde es la orientación respecto al eje

vertical y el recuadro naranja es la posición en los ejes x, y, z.

Figura 33. Petición POST de chat de estudiante con su orientación y posición

Se añadieron las propiedades orientation y position en la clase Student, en la

ontología mundo, y se creó un nuevo método setOrientationPosition para que se

sobrescriban los valores de orientación y posición del estudiante en su instancia dentro

de la ontología mundo.

Figura 34. Métodos y atributos utilizados para guardar la posición y orientación

del estudiante en la ontología mundo

Page 92: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

77

4.5.3.2. Elección de la instancia del objeto a localizar

Debido a que se realizó el preprocesamiento, en la ontología mundo se tienen

varias instancias del mismo tipo de objeto.

Para evitar el acceso constante a la ontología mundo, el cual resultaría muy

lento, cuando un estudiante pregunta por la localización de un objeto, todas las

instancias de este objeto se cargan en memoria en la propiedad worldInformation de la

clase WorldOntology.

Cada una de las instancias es del tipo OntologyInformation (ver Figura 35) y los

valores de sus propiedades son cargados desde la ontología mundo. Las referencias a

otras instancias se convierten en una lista de ObjectProperty.

Figura 35. Clases utilizadas para representar un objeto de la ontología mundo en

el sistema

Instancias en la misma sala que el usuario

Con la información de todas las instancias del objeto a localizar, se procede a

filtrar las que se encuentren en el mismo cuarto o sala del usuario. Para ello, primero se

necesita que en la ontología mundo se tenga información de los cuartos o salas del

laboratorio.

Page 93: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

78

Asumiendo, que los cuartos son rectangulares es necesario que de cada uno se

tengan las coordenadas de sus cuatro esquinas. Como ejemplo se muestra el cuarto

Main_Room en la Figura 36.

Figura 36. Instancia de sala Main_Room en la ontología mundo

Todas las salas presentes en la ontología mundo también son cargadas en

memoria, en la propiedad Rooms que es una lista de objetos de tipo Room. Actualmente,

las que se encuentran en la ontología mundo son las de la Tabla. V

INSTANCIA NOMBRE COORDENADAS

Main_Room sala principal (92,85) (116,85) (116,108) (92,108)

Autoclave_Room sala de autoclave (92,85) (116,85) (116,108) (92,108)

Tabla. V. Instancias de los cuartos o salas de la ontología mundo

A continuación, se busca la sala en la que se encuentra el estudiante (método

getLocationRoomForInstance de la clase PerspectiveSpatial) utilizando las

coordenadas de su ubicación.

Una vez obtenida la sala del estudiante, se filtran las instancias del objeto a

localizar que se encuentren dentro de la misma sala, para ello se utiliza el método

isInsideRoom.

Page 94: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

79

Figura 37. Métodos utilizados para encontrar instancias de un objeto en el

mismo cuarto del estudiante

Instancia más cercana al estudiante

Si es que no existen instancias del objeto en la misma sala del estudiante, de

todas las instancias se busca la más cercana (método getNearestInstance) y se

proporciona una instrucción para que el estudiante vaya a ese cuarto.

En caso contrario, de las instancias presentes en el mismo cuarto del estudiante

se escoge la que está más cercana a él utilizado el método getNearestInstance.

El método getNearestInstance lo que hace es calcular las distancia entre la

posición del estudiante y cada instancia, y escoger la instancia cuyo valor de distancia

sea menor.

Figura 38. Métodos utilizados para encontrar la instancia más cercana al

estudiante

Cambio de la instancia del objeto a localizar

Siguiendo el pseudocódigo, si un objeto se encuentra dentro de otro objeto, el

objeto contenedor se convierte en el objeto a localizar (OL2). Debido a que se tienen las

referencias del objeto como una de sus propiedades, se verifica si alguna de ellas es

del tipo isInsideOf (dentro de) y si se cumple se procede a cambiar el objeto a localizar.

Page 95: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

80

4.5.3.3. Campo de visión del estudiante

Una vez que se tiene determinado el objeto a localizar, se procede a verificar si

este se encuentra dentro del campo de visión del avatar del estudiante.

Verificación de si el OL se encuentra en el campo de visión

Para verificar si el objeto se encuentra dentro del campo de visión, se necesita

asumir un ángulo de visión del estudiante, en este caso utilizando como referencia la

investigación [6] y la visión de la cámara en el laboratorio virtual, se ha decidido tomar

como ángulo horizontal 130º, y como ángulo vertical 180º (semicírculo). Con este

ángulo de visión, se calcula el vector que representa el campo de visión del estudiante.

Para verificar si el objeto se encuentra en el campo de visión, es necesario

calcular el ángulo existente entre el vector que representa el campo de visión del

estudiante, y el vector que se forma desde el estudiante hasta el objeto a localizar (ver

ángulo de color naranja en la Figura 39).

Figura 39. Representación de vectores y ángulos para verificar si un objeto se

encuentra dentro del campo de visión del estudiante

Para calcular el que representa el campo de visión del estudiante (vector

azul en la Figura 39) se necesita su ángulo de orientación. Se asume que altura es cero

(se anula eje z), y que la vista del usuario tiene un alcance de hasta 10m, por lo tanto,

conociendo el ángulo y su distancia se calcula el punto de visión:

y

Page 96: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

81

Para calcular el vector que se forma desde el estudiante hasta el objeto

a localizar (vector de color rojo en la Figura 39) es necesario tomar como punto (0,0) al

estudiante, y transformar la posición del objeto para que su sistema de referencia sea el

estudiante y no el laboratorio virtual.

Finalmente, se calcula el ángulo entre los dos vectores utilizando la ecuación

y si este es menor a 65º (130º/2) se dice que está dentro del campo de visión, caso

contrario no.

Para todo este proceso se utiliza el método isInsideFoV que devuelve verdadero,

si la instancia se encuentra dentro del campo de visión, y devuelve falso si no. Además,

devuelve como variable de salida el ángulo entre los vectores.

Figura 40. Métodos utilizados para verificar si el OL se encuentra o no en el

campo de visión del estudiante

Instrucción para que quede dentro del campo de visión

Si el objeto a localizar no está dentro del campo de visión del estudiante, es

necesario que se le dé una instrucción para que el estudiante y el objeto a localizar

queden frente a frente.

Para ello utilizamos el ángulo entre los dos vectores, el cual se aproxima a su

decena más cercana. Y se crea la dirección, izquierda o derecha, en base al signo del

ángulo de la siguiente manera:

Derecha: si el ángulo es positivo

Izquierda: si el ángulo es negativo

Page 97: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

82

4.5.3.4. Generación de la instrucción

Descripción del objeto

En el objeto estudiante se tiene la propiedad instructionLevel que sirve para

diferenciar que tipo de instrucción necesita el estudiante, general o específica.

Si el estudiante tiene específico como valor de instructionLevel, se añade la

descripción del objeto a la instrucción de ubicación. Esto con el objetivo de que la

respuesta recibida por el estudiante tenga más información.

Cálculo de la saliencia de contexto

El contexto está formado por el objeto a localizar y todos sus objetos referencias,

de los cuales se utilizan los que estén dentro del campo de visión del estudiante.

Una vez que se tienen los elementos del contexto, se procede a calcular los

siguientes valores de cada uno de ellos:

colorContextSalience

sizeContextSalience

shapeContextSalience

contextSalience

Para cada uno de los parámetros: color, tamaño, forma; se utilizan las

ecuaciones (6) y (7) vistas en el apartado 2.5.2.2 y se obtienen los valores

estandarizados de saliencia en relación al contexto. Después con la ecuación (4) vista

en el apartado 2.5.2.2 se calcula el valor total de la saliencia de contexto para cada una

de las instancias. Todo este proceso se realiza en un método de la clase

PerspectiveSpatial llamado calculateContexSalienceForAllInstances.

Figura 41. Método utilizado para calcular saliencia de contexto para todas las

instancias del contexto

Page 98: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

83

Cálculo de la saliencia general

Como siguiente paso para todas las instancias se calcula la saliencia general en

base a la saliencia individual y a la saliencia de contexto. Para ello se utiliza la ecuación

(2) vista en el apartado 2.5.2.2, que se implementó en el método

calculateGeneralSalienceForAllInstances de la clase PerspectiveSpatial.

Figura 42. Método utilizado para calcular saliencia general para todas las

instancias del contexto

Verificar si el objeto es saliente por sí mismo

Si el objeto a localizar tiene una saliencia general mayor a 0.6 significa que es

saliente por sí mismo y que no necesita un objeto de referencia y se genera una

instrucción intrínseca, es decir, relativa a la posición del estudiante.

De igual forma, en este laboratorio virtual si el objeto a localizar no tiene

referencias, se ha tomado la decisión de generar una instrucción intrínseca.

En estos dos casos se tendrían los siguientes tipos de instrucciones mostrados

en la Tabla. VI.

Dentro del campo de

visión Dentro de otro objeto Instrucción

Si Si El objeto 1 está dentro del objeto 2 que está al frente tuyo.

No El objeto 1 está al frente tuyo.

No

Si Estudiante gira x grados a la izquierda y verás el objeto 1 dentro del

objeto 2 que está al frente tuyo.

No Estudiante gira x grados a la izquierda y verás el objeto 1 al frente

tuyo.

Tabla. VI. Posibles instrucciones cuando el objeto a localizar es sobresaliente por

sí mismo o no tiene referencias

Page 99: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

SOLUCIÓN ADOPTADA

84

Selección del mejor objeto de referencia

De todos los elementos del contexto se elige el mejor objeto de referencia

utilizando la ecuación (1) vista en el apartado 2.5.2.2, y una vez que se haya escogido,

se tienen los siguientes tipos de instrucciones mostrados en la Tabla. VII.

Dentro del campo de

visión Dentro de otro objeto Instrucción

Si Si

El objeto 1 está dentro del objeto 2 que está relación del objeto de

referencia.

No El objeto 1 está relación del objeto de referencia.

No

Si Estudiante gira x grados a la izquierda y verás el objeto 1 dentro del

objeto 2 que está relación del objeto de referencia.

No Estudiante gira x grados a la izquierda y verás el objeto 1 relación

del objeto de referencia.

Tabla. VII. Posibles instrucciones cuando la instrucción del objeto a localizar está

basada en un objeto de referencia

Page 100: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

5 PRUEBAS

Page 101: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

86

En este capítulo se describirán los resultados obtenidos en las pruebas

realizadas al SIT con interacción en lenguaje natural después de realizar las

implementaciones descritas en el capítulo anterior.

En el primer apartado se detallan las pruebas realizadas a las correcciones de

la evaluación, y en el segundo apartado se documenta la generación de una instrucción

de ubicación para el químico sacarosa.

5.1. Reformulación de preguntas con

respuestas erróneas durante la evaluación

Para realizar estas pruebas fue necesario enviar las peticiones hacia el MSGD

para lo cual se utilizó Postman2, que es un cliente de servicios web que través de una

interfaz gráfica permite enviar peticiones y recibir respuestas a las mismas.

Debido a que los errores encontrados se dieron en diferentes partes de la

práctica, es necesario replicar que la accionsiguiente sea la misma al momento de

realizar las preguntas. Por lo tanto, se enviaron peticiones de dos tipos: primero de tipo

event para obtener la accionsiguiente deseada, y después de tipo chat para reenviar los

mensajes de chat con respuestas erróneas obtenidos durante la evaluación.

En el apartado 7.2 se muestra una tabla con todas las preguntas realizadas y las

respuestas obtenidas después de haberse implementado la solución.

A continuación, se detalla una de las pruebas realizadas en la que se tienen los

siguientes datos provenientes de una pregunta (implícita) mal contestada durante la

evaluación:

Pregunta: no sé qué coger de la vitrina

Acción siguiente: agregaragar

Respuesta: Ahora no necesitas agar.

2 Postman: https://learning.getpostman.com/

Page 102: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

87

Se realiza la petición de la Figura 43 para que la accionsiguiente sea

agregaragar. Debido a que la acción anterior es desbloquearphmetro, entonces se envía

una petición que simule que se ha completado esta acción.

Figura 43. Envió de petición de tipo event a través de Postman

Y posteriormente, se realiza una petición de tipo chat con la pregunta

previamente realizada por el estudiante. En este caso se puede observar que la

respuesta es “Debes agregar el agar”, lo que es correcto y distinto a lo obtenido durante

la evaluación.

Figura 44. Envió de petición de tipo chat a través de Postman

Page 103: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

88

5.2. Generación de instrucción de ubicación

de objeto sacarosa

Para entender la generación de instrucciones de ubicación basadas en aspectos

perceptivos se va a utilizar la siguiente petición de un estudiante (Carolina López) que

pregunta por la ubicación de la sacarosa, que es un tipo de químico utilizado en la

práctica.

Figura 45. Petición POST de tipo chat utilizada en la prueba de generación de

instrucción de ubicación del químico sacarosa

Al momento que se realiza la petición, la posición y orientación del avatar del

estudiante dentro del laboratorio virtual es la que se muestra en la Figura 46.

Figura 46. Avatar de la estudiante Carolina Lopez en el laboratorio virtual, con

posición y orientación del momento que realiza la pregunta

Page 104: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

89

5.2.1.1. Posición y orientación del avatar del estudiante

Una vez que se ha realizado la petición, en la ontología mundo se ha creado (si

no existía) una instancia del estudiante Carolina Lopez. Dicho estudiante tiene las

siguientes propiedades que fueron parte de la petición.

avatarPositionX

avatarPositionY

avatarPositionZ

orientationX

Figura 47. Resultado: Instancia de estudiante en ontología mundo con datos de

posición y orientación

5.2.1.2. Elección de la instancia del objeto a localizar

Posteriormente se carga en memoria el objeto sacarosa, del cual existen dos

instancias en la ontología. Como se puede ver en la Figura 48, el objeto es de tipo

OntologyInformation y todos sus datos han sido cargados desde la ontología mundo.

Page 105: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

90

Figura 48. Ejemplo de instancias de un objeto (sacarosa) cargado en memoria

con datos de la ontología mundo

Instancias en el mismo cuarto que el estudiante

Primero se busca en qué cuarto o sala está el estudiante. En este ejemplo la

posición del estudiante es , y dichas coordenadas se

encuentran dentro de la sala principal (ver Tabla. V), por lo tanto, este es el cuarto del

estudiante.

Después se verifica si las dos instancias de sacarosa se encuentran dentro de la

sala principal, y debido a sus posiciones mostradas a continuación, las dos están en el

mismo cuarto que el estudiante.

sucrose_1

sucrose_2

Page 106: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

91

Instancia más cercana al estudiante

De las dos instancias dentro del mismo cuarto que está el estudiante, se tiene

que escoger la más cercana a él.

Se calcula la distancia existente entre el estudiante y cada una de las instancias

y se tiene los resultados mostrados a continuación, con los que la instancia escogida es

sucrose_2.

distancia: student sucrose_1

distancia: student sucrose_2

Cambio de la instancia del objeto a localizar

Se verifica entre sus referencias (propiedad Properties) si es que sucrose_2 se

encuentra dentro de otro objeto. Como se puede ver en la Figura 49 se tiene la

referencia:

isInsideOf: Chemicals_Showcase_2

Esta referencia causa que se realice un cambio de la instancia del objeto a

localizar, por lo tanto, para los siguientes pasos la instancia es Chemicals_Showcase_2.

Figura 49. Referencias (properties) de la instancia escogida, sucrose_2, como

objeto a localizar

Page 107: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

92

5.2.1.3. Campo de visión del estudiante

Cálculo del campo de visión del estudiante

Se tiene la orientación del estudiante cuyo valor en grados es .

Se transforma este valor en radianes y se calculan las coordenadas x y del vector campo

de visión del estudiante.

Verificación si Chemicals_Showcase_2 se encuentra dentro del

campo de visión

Como se puede observar en la Figura 46, en el campo de visión del estudiante

no se muestra ninguna vitrina. Existen únicamente las mesas del fondo que contienen

los agitadores y pH-metros. Por lo tanto, el algoritmo debe darnos como resultado que

no se encuentra en el campo de visión.

Se calcula el vector desde el estudiante hasta el objeto a localizar. Considerando

que el estudiante es el punto de referencia (0,0) se transforma la posición de

Chemicals_Showcase_2 para que quede en referencia al estudiante.

Entonces, si:

Se concluye que el valor del vector entre student Chemicals_Showcase_2 es:

Teniendo los dos vectores y se calcula el ángulo existente

entre ellos, dando como resultado grados. Con este resultado se sabe que

Chemicals_Showcase_2 no está en el campo de visión del usuario.

Page 108: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

93

Instrucción para que quede dentro del campo de visión

Se genera la instrucción extra para que el Chemicals_Showcase_2 quede frente

al estudiante, como se muestra a continuación:

“Carolina gira aproximadamente 130 grados a la derecha, y encontrarás”

Como se puede observar en la Figura 50 a continuación, una vez que el

estudiante sigue la instrucción dada, la vitrina de químicos Chemicals_Showcase_2

queda al frente del avatar de la estudiante.

Figura 50. Avatar de la estudiante Carolina Lopez en el laboratorio virtual después de

seguir la instrucción para que el OL quede en su campo de visión

5.2.1.4. Generación de la instrucción

Descripción del objeto

Primero, se verifica si el estudiante tiene un nivel de instrucción específico o

general. En este caso es general, por lo tanto, no se agrega la descripción del objeto.

Page 109: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

94

Cálculo de la saliencia de contexto y de la saliencia general

Se crea el contexto con todos los objetos que tienen una referencia con

Chemicals_Showcase_2 y que se encuentren dentro del campo de visión del estudiante.

En esta prueba los elementos pertenecientes al contexto son:

Vitrina de químicos (Chemicals_Showcase_2)

Mueble amarillo (Warning_Rack_3)

Caja roja (Red_Box)

A continuación, realiza el cálculo de saliencia de contexto y de saliencia general

de todos los elementos pertenecientes al contexto. Una vez realizado el cálculo se

obtuvieron los valores a continuación en la Tabla. VIII.

Instancia Saliencia general GS

Saliencia en contexto

Color Tamaño Forma Total

Warning_Rack_3 0,732423714796702 1 1 0 0.8

Red_Box 0,508671760559082 1 0 0 0.5

Chemicals_Showcase_2 0,297414983827391 0 0,8611 0 0,258

Tabla. VIII. Saliencia general y saliencias de contexto obtenidos para el contexto de

Chemicals_Showcase_2

Verificar si Chemicals_Showcase_2 es saliente por sí mismo

Observando la saliencia general (GS) de Chemicals_Showcase_2, este valor no

es mayor a 0.6, por lo tanto, el objeto vitrina de químicos no es saliente por sí mismo

por lo que se procede a buscar el mejor objeto de referencia.

Selección del mejor objeto de referencia

Utilizando la ecuación (1) vista en el apartado 2.5.2.2 se obtienen los resultados

de la Tabla. IX para la elección del mejor objeto de referencia

Page 110: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

PRUEBAS

95

Instancia Saliencia general (GS)

Probabilidad de recuerdo (PR)

Conocimiento previo (PK) Suma

Warning_Rack_3 0,732424 0,6162119 1 2,34863557

Red_Box 0,508672 0,50433588 1 2,01300764

Tabla. IX. Selección del mejor objeto de referencia para Chemicals_Showcase_2

Escogiendo el valor más grande de la suma de: saliencia general, probabilidad

de recuerdo y conocimiento previo, se escoge como el mejor objeto de referencia a

Warning_Rack_3.

Instrucción generada por el algoritmo

Finalmente, la instrucción generada por el algoritmo es:

Carolina gira aproximadamente 130 grados a la derecha, y encontrarás la sacarosa

dentro de la vitrina de químicos que está a la derecha del mueble amarillo.

Page 111: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

6 CONCLUSIONES Y TRABAJO FUTURO

Page 112: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

CONCLUSIONES Y TRABAJO FUTURO

97

6.1. Conclusiones

La utilización de entornos de entrenamiento virtuales dedicados a la enseñanza

es una metodología que está en auge, y que permite la realización de prácticas que

serían imposibles o difíciles de realizarse en el mundo real, como es el caso de la

práctica del laboratorio de Biotecnología Agroforestal.

La incorporación del procesamiento de lenguaje natural al tutor automático del

laboratorio virtual de biotecnología convierte a este entorno virtual en un ambiente más

amigable pues el estudiante tiene el acompañamiento de un tutor cuando lo necesite,

respondiendo sus inquietudes y preguntas en lenguaje natural.

El hecho de tener implementado un gestor de diálogo con Watson Assistant

significa que el mismo debe tener entrenamiento continuo, pues todos los estudiantes

tienen diferentes maneras de realizar las mismas preguntas. Es por ello, que con la

evaluación realizada se mejoró la calidad de las respuestas a las preguntas realizadas

por los estudiantes, evitando que las respuestas causen confusión en vez de

proporcionar ayuda.

Además, cabe destacar que la evaluación dejó buenos resultados debido a que

únicamente 9 preguntas de un total de 80 recibieron respuestas erróneas graves que

confundieron al estudiante. Sin embargo, cada año que se realice la práctica se debería

refinar el gestor de diálogo teniendo en cuenta las novedades aparecidas en las

preguntas de los alumnos.

Con la clasificación de los errores encontrados en la evaluación (apartado

3.2.2.2) y las soluciones planteadas para cada tipo de error, se tiene una guía para

solucionar errores que se puedan presentar en la realización de futuras prácticas.

Adicionalmente, la incorporación del uso de aspectos perceptivos y espaciales

para la generación de instrucciones de ubicación marca un punto de mejora en el tutor

automático, pues con el uso de este algoritmo se podrían dar instrucciones de ubicación

para todos los elementos del laboratorio que se encuentren en la ontología mundo. Esto

permitirá que el tramo controlado por el tutor automático crezca y, por lo tanto, se

necesite menos la intervención de un tutor humano.

Asimismo, el uso de aspectos perceptivos y espaciales hace que la conversación

entre el estudiante y el tutor automático sea más natural, pues las instrucciones dejan

Page 113: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

CONCLUSIONES Y TRABAJO FUTURO

98

de ser estáticas para ser instrucciones personalizadas para cada estudiante y su

posición dentro del laboratorio virtual.

6.2. Trabajo Futuro

Cargar en la ontología mundo los objetos de todas las regiones del

entorno virtual

Actualmente, en la ontología mundo existen los objetos referentes a la región del

entorno virtual llamado Biotec1. Debido a que los estudiantes realizan la práctica en esta

y otras regiones, se debe cargar los datos de los objetos de todas las regiones utilizando

el proyecto ScriptWorldInformation (explicado en el apartado 4.5.1.1).

Cargar en la ontología mundo más referencias a los objetos del

laboratorio virtual

Actualmente, las instancias en la ontología mundo tienen entre 1 y 3 referencias

a otras instancias. Para probar mejor la eficacia del algoritmo y poderlo afinar, es

necesario que los objetos tengan más referencias para que el contexto del campo de

visión sea más grande.

Actualización de la ontología mundo en tiempo de ejecución

Actualmente el servicio carga la ontología mundo cuando éste inicia. Para

realizar algún cambio en el fichero, es imprescindible detener y volver a lanzar el MSGD

para que éste actualice la información de la ontología. Una mejora en este sentido es

que el MSGD sea capaz de actualizar la ontología residente en memoria en tiempo de

ejecución bajo demanda.

Mejorar los algoritmos de generación de indicaciones basado en aspectos

perceptivos y espaciales

Actualmente, los valores de saliencia individual por color y por forma fueron

calculados de manera subjetiva a la vista del laboratorio virtual de biotecnología. Para

Page 114: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

CONCLUSIONES Y TRABAJO FUTURO

99

que este algoritmo pueda ser reutilizado en otros entornos de aprendizaje se propone

mejorar el algoritmo utilizando todas las fórmulas propuestas en el trabajo de

investigación [6] incluidas las que permiten calcular las saliencias individuales de color

y forma de forma automática a partir de las geometrías de los objetos.

Adicionalmente, es necesario añadir el tiempo de visión en el cálculo de la

probabilidad de recuerdo de cada objeto. Para esto se necesita tener un control del

tiempo que un estudiante se encuentra en cada posición dentro del entorno virtual de

aprendizaje.

Validación de los cambios implementados en el SIT con interacción en

lenguaje natural con estudiantes

A pesar de haber realizado pruebas, es necesario validar que los objetivos

propuestos en este trabajo se cumplieron durante la práctica de los estudiantes de

Biotecnología Agroforestal que tendrá lugar en mayo del 2020.

Page 115: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

7 ANEXOS

Page 116: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

AN

EXO

S

101

7.1

. An

exo

1:

Tab

la d

e in

div

idu

os a

ñad

idos

a la

on

tolo

gía

mu

nd

o

INST

AN

CEN

AM

E PO

SITI

ON

O

RIE

NTA

TIO

N

SCA

LE

OB

JEC

TPR

OPE

RTI

ES

SALI

ENC

E C

OLO

R

SAL.

SI

ZE

SAL.

SH

APE

SA

L.

Frid

ge_1

(1

10,3

625,

106

,919

9, 2

3,51

33)

(270

, 0, 1

80)

(1, 2

,369

9, 0

,75)

[]

0,

2434

0

0,81

16

0

Han

dwas

h_1

(114

,089

3, 1

07,6

007,

23,

5750

) (0

, 0, 1

80)

(0,0

500,

0,1

999,

0,2

000)

[t

oThe

Rig

ht, F

ridge

_1]

0,37

85

0 0,

0951

1

Han

dwas

h_2

(113

,015

2, 1

07,6

007,

23,

5974

) (0

, 0, 1

80)

(0,0

500,

0,1

999,

0,2

000)

[t

oThe

Rig

ht, F

ridge

_1]

0,37

85

0 0,

0951

1

Han

dwas

h_3

(111

,841

3, 1

07,6

007,

23,

5974

) (0

, 0, 1

80)

(0,0

500,

0,1

999,

0,2

000)

[t

oThe

Rig

ht, F

ridge

_1]

0,37

85

0 0,

0951

1

War

ning

_Rac

k_1

(107

,676

5, 1

06,8

227,

23,

2509

) (0

, 0, 9

0)

(0,6

000,

0,6

000,

1,8

999)

[]

0,

7562

1

0,85

41

0

War

ning

_Rac

k_2

(106

,892

5, 1

06,8

227,

23,

2509

) (0

, 0, 9

0)

(0,6

000,

0,6

000,

1,8

999)

[]

0,

7562

1

0,85

41

0

War

ning

_Rac

k_3

(102

,163

8, 1

06,8

227,

23,

2509

) (0

, 0, 9

0)

(0,6

000,

0,6

000,

1,8

999)

[]

0,

7562

1

0,85

41

0

War

ning

_Rac

k_4

(101

,381

8, 1

06,8

227,

23,

2509

) (0

, 0, 9

0)

(0,6

000,

0,6

000,

1,8

999)

[]

0,

7562

1

0,85

41

0

Che

mic

als_

Show

case

_1

(105

,302

3, 1

06,9

651,

23,

5732

) (2

70, 0

, 180

) (1

,5, 2

,5, 0

,75)

[t

oThe

Rig

ht,

War

ning

_Rac

k_2]

0,

55

0 1

0

Che

mic

als_

Show

case

_2

(103

,606

2, 1

06,9

651,

23,

5732

) (2

70, 0

, 180

) (1

,5, 2

,5, 0

,75)

[t

oThe

Left,

War

ning

_Rac

k_3]

0,

55

0 1

0

IceM

achi

ne_1

(9

5,08

26, 1

00,7

820,

24,

1985

) (0

, 0, 9

0)

(0,9

677,

0,5

519,

0,0

250)

[]

0,

1678

0

0,22

6 0

IceM

achi

ne_2

(9

5,08

26, 9

1,33

97, 2

4,19

85)

(0, 0

, 90)

(0

,967

7, 0

,551

9, 0

,025

0)

[]

0,16

78

0 0,

226

0

Stir

rer_

Tabl

e_1

(95,

1817

, 98,

7746

, 23,

2502

) (0

, 0, 1

80)

(1, 1

,699

7, 0

,050

0)

[]

0,10

82

0 0,

3608

0

Page 117: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

AN

EXO

S

102

Stir

rer_

Tabl

e_2

(95,

1817

, 96,

9689

, 23,

2502

) (0

, 0, 1

80)

(1, 1

,699

7, 0

,050

0)

[]

0,10

82

0 0,

3608

0

Stir

rer_

Tabl

e_3

(95,

1817

, 95,

1491

, 23,

2502

) (0

, 0, 1

80)

(1, 1

,699

7, 0

,050

0)

[]

0,10

82

0 0,

3608

0

Stir

rer_

Tabl

e_4

(95,

1817

, 93,

3399

, 23,

2502

) (0

, 0, 1

80)

(1, 1

,699

7, 0

,050

0)

[]

0,10

82

0 0,

3608

0

Stir

rer_

1 (9

5,45

22, 9

8,86

00, 2

3,34

89)

(56,

0, 2

69)

(0,3

400,

0,0

099,

0,1

649)

[a

bove

, Stir

rer_

Tabl

e_1]

0,

7338

1

0,11

26

1

Stir

rer_

2 (9

5,45

22, 9

7,05

99, 2

3,34

89)

(56,

0, 2

69)

(0,3

400,

0,0

099,

0,1

649)

[a

bove

, Stir

rer_

Tabl

e_2]

0,

7338

1

0,11

26

1

Stir

rer_

3 (9

5,45

22, 9

5,26

00, 2

3,34

89)

(56,

0, 2

69)

(0,3

400,

0,0

099,

0,1

649)

[a

bove

, Stir

rer_

Tabl

e_3]

0,

7338

1

0,11

26

1

Stir

rer_

4 (9

5,45

22, 9

3,45

99, 2

3,34

89)

(56,

0, 2

69)

(0,3

400,

0,0

099,

0,1

649)

[a

bove

, Stir

rer_

Tabl

e_4]

0,

7338

1

0,11

26

1

PH

Met

ro_1

(9

5,28

96, 9

9,37

99, 2

3,32

11)

(90,

0, 2

69)

(0,1

500,

0,0

099,

0,1

043)

[a

bove

, Stir

rer_

Tabl

e_1,

to

TheR

ight

, Stir

rer_

1]

0,71

82

1 0,

0608

1

PH

Met

ro_2

(9

5,28

96, 9

7,58

00, 2

3,32

11)

(90,

0, 2

69)

(0,1

500,

0,0

099,

0,1

043)

[a

bove

, Stir

rer_

Tabl

e_2,

to

TheR

ight

, Stir

rer_

2]

0,71

82

1 0,

0608

1

PH

Met

ro_3

(9

5,28

96, 9

5,77

99, 2

3,32

11)

(90,

0, 2

69)

(0,1

500,

0,0

099,

0,1

043)

[a

bove

, Stir

rer_

Tabl

e_3,

to

TheR

ight

, Stir

rer_

3]

0,71

82

1 0,

0608

1

PH

Met

ro_4

(9

5,28

96, 9

3,98

00, 2

3,32

11)

(90,

0, 2

69)

(0,1

500,

0,0

099,

0,1

043)

[a

bove

, Stir

rer_

Tabl

e_4,

to

TheR

ight

, Stir

rer_

4]

0,71

82

1 0,

0608

1

Gla

sses

_Sho

wca

se_1

(1

02,8

388,

85,

1547

, 23,

5778

) (2

70, 0

, 0)

(1,5

, 2,5

, 0,7

5)

[nea

rOf,

Left_

Wal

l] 0,

55

0 1

0

Gla

sses

_Sho

wca

se_2

(1

00,5

958,

85,

1547

, 23,

5778

) (2

70, 0

, 0)

(1,5

, 2,5

, 0,7

5)

[nea

rOf,

Left_

Wal

l] 0,

55

0 1

0

Gla

sses

_Sho

wca

se_3

(9

8,37

39, 8

5,15

47, 2

3,57

78)

(270

, 0, 0

) (1

,5, 2

,5, 0

,75)

[n

earO

f, Le

ft_W

all]

0,55

0

1 0

Sin

k_1

(102

,363

4, 9

3,56

33, 2

2,72

56)

(138

, 90,

138

) (0

,800

0, 0

,839

9, 0

,019

9)

[toT

heE

nd, W

ork_

Tabl

e]

0,41

75

0 0,

2251

0

Sin

k_2

(102

,363

4, 9

8,36

67, 2

2,72

56)

(138

, 90,

138

) (0

,800

0, 0

,839

9, 0

,019

9)

[toT

heE

nd, W

ork_

Tabl

e]

0,41

75

0 0,

2251

0

Page 118: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

AN

EXO

S

103

Wor

k_Ta

ble_

1 (1

06,8

725,

93,

5638

, 23,

2503

) (0

, 0, 9

0)

(2, 6

,889

3, 0

,8)

[]

0,3

0 1

0

Wor

k_Ta

ble_

2 (1

06,8

725,

98,

3663

, 23,

2503

) (0

, 0, 9

0)

(2, 6

,889

3, 0

,8)

[]

0,3

0 1

0

Che

mic

als_

1 (1

05,4

418,

106

,925

3, 2

3,49

36)

(0, 0

, 90)

(0

,169

8, 0

,171

0, 0

,123

0)

[isI

nsid

eOf:

Che

mic

als_

Sho

wca

se_1

] 0,

0115

0

0,03

86

0

Che

mic

als_

2 (1

03,7

455,

106

,925

3, 2

3,49

36)

(0, 0

, 90)

(0

,169

8, 0

,171

0, 0

,123

0)

[isI

nsid

eOf:

Che

mic

als_

Sho

wca

se_1

] 0,

0115

0

0,03

86

0

Aga

r_1

(105

,441

8, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_1]

0,01

15

0 0,

0386

0

Aga

r_2

(103

,745

5, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_2]

0,01

15

0 0,

0386

0

Bis

acril

amid

a_1

(105

,441

8, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_1]

0,01

15

0 0,

0386

0

Bis

acril

amid

a_2

(103

,745

5, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_2]

0,01

15

0 0,

0386

0

Cas

eina

_1

(105

,441

8, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_1]

0,01

15

0 0,

0386

0

Cas

eina

_2

(103

,745

5, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_2]

0,01

15

0 0,

0386

0

Mur

ashi

ge_y

_sko

og_1

(1

05,4

418,

106

,925

3, 2

3,49

36)

(0, 0

, 90)

(0

,169

8, 0

,171

0, 0

,123

0)

[isI

nsid

eOf:

Che

mic

als_

Sho

wca

se_1

] 0,

0115

0

0,03

86

0

Mur

ashi

ge_y

_sko

og_2

(1

03,7

455,

106

,925

3, 2

3,49

36)

(0, 0

, 90)

(0

,169

8, 0

,171

0, 0

,123

0)

[isI

nsid

eOf:

Che

mic

als_

Sho

wca

se_2

] 0,

0115

0

0,03

86

0

Suc

rose

_1

(105

,441

8, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_1]

0,01

15

0 0,

0386

0

Suc

rose

_2

(103

,745

5, 1

06,9

253,

23,

4936

) (0

, 0, 9

0)

(0,1

698,

0,1

710,

0,1

230)

[i

sIns

ideO

f: C

hem

ical

s_S

how

case

_2]

0,01

15

0 0,

0386

0

Bat

a (1

13,5

608,

85,

1321

, 24,

3833

) (0

, 0, 0

) (0

,75,

0,0

399,

1,5

) []

0,

1657

0

0,21

9 0

Tabl

a. X

. In

stan

cias

agr

egad

as a

la o

ntol

ogía

mun

do

Page 119: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

AN

EXO

S

104

7.2

. An

exo

2:

Res

ult

ado

de

la im

ple

men

taci

ón

de

solu

cio

nes

par

a p

rob

lem

as

enco

ntr

ado

s en

la

eval

uac

ión

PREG

UN

TA

AC

CIÓ

N S

IGU

IEN

TE

RES

PUES

TA A

NTE

RIO

R IN

CO

RR

ECTA

N

UEV

A R

ESPU

ESTA

no s

é qu

é co

ger d

e la

vitr

ina

agre

gara

gar

Aho

ra n

o ne

cesi

tas

la v

itrin

a R

ecue

rda

agre

gar e

l aga

r.

¿Cóm

o se

abr

en lo

s lib

ros?

ag

rega

rmys

/agr

egar

saca

ros

a P

regú

ntam

e de

otra

man

era

por f

avor

. C

arol

ina

acce

de a

los

fund

amen

tos

en:

http

://tin

yurl.

com

/lro9

6zp

???

solta

rvas

oagi

tado

r N

eces

ito q

ue m

e lo

pre

gunt

es d

e ot

ra m

aner

a...

(men

saje

vac

ío)

com

o lo

abr

o en

cend

erag

itado

r A

ngel

toca

el a

gita

dor p

ara

ence

nder

lo.

Car

olin

a ac

cede

a lo

s pr

otoc

olos

en:

ht

tp://

tinyu

rl.co

m/m

hyja

l8

la fl

echa

roja

sie

mpr

e in

dica

el l

ugar

do

nde

enco

ntra

mos

las

cosa

s?

entre

garv

aso

¡A ti

Jav

ier!

(men

saje

vac

ío) -

Des

pués

de

2 m

ensa

jes

inco

rrec

tos

no p

uedo

lava

r el v

aso

solta

rvas

ofre

gade

ro

Aho

ra n

o ne

cesi

tas

el v

aso

Car

olin

a, a

cérc

ate

a cu

alqu

ier f

rega

dero

y p

ara

solta

r el

vaso

, ent

ra e

n el

inve

ntar

io y

pul

sa "S

olta

r".

ya lo

he

hech

o cr

eo

solta

rvas

ofre

gade

ro

Pre

gúnt

ame

de o

tra m

aner

a po

r fav

or.

! Enh

orab

uena

! Con

tinúa

con

la p

ráct

ica

Car

olin

a

he d

ejad

o el

vas

o en

el g

rifo

de

agua

des

tilad

a y

ha d

esap

arec

ido

solta

rvas

ofre

gade

ro

Aho

ra n

o ne

cesi

tas

el g

rifo

Car

olin

a, a

cérc

ate

a cu

alqu

ier f

rega

dero

y p

ara

solta

r el

vaso

, ent

ra e

n el

inve

ntar

io y

pul

sa "S

olta

r".

a m

i igu

al

solta

rvas

ofre

gade

ro

¿Pue

des

expr

esar

se c

on o

tras

pala

bras

? N

o te

he

ente

ndid

o.

(men

saje

vac

ío) -

Des

pués

de

2 m

ensa

jes

inco

rrec

tos

a m

i tam

bién

por

fa

solta

rvas

ofre

gade

ro

Nec

esito

que

me

lo p

regu

ntes

de

otra

man

era.

.. (m

ensa

je v

acío

) - D

espu

és d

e 2

men

saje

s in

corr

ecto

s

Page 120: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

AN

EXO

S

105

okey

ya

lo te

ngo

solta

rvas

oagi

tado

r N

eces

ito q

ue m

e lo

pre

gunt

es d

e ot

ra m

aner

a...

!Enh

orab

uena

! Con

tinúa

con

la p

ráct

ica

Car

olin

a

okey

than

ks

inse

tarb

otel

laen

auto

clav

e N

eces

ito q

ue m

e lo

pre

gunt

es d

e ot

ra m

aner

a...

¡Un

plac

er C

arol

ina!

ya c

ogi e

l vas

o, p

ero

no e

ncue

ntro

e

culti

vo

solta

rvas

ofre

gade

ro

Aho

ra n

o ne

cesi

tas

el v

aso

Car

olin

a, a

cérc

ate

a cu

alqu

ier f

rega

dero

y p

ara

solta

r el

vaso

, ent

ra e

n el

inve

ntar

io y

pul

sa "S

olta

r".

me

poni

a el

el t

utor

ial q

ue te

nia

que

coge

r un

vaso

so

ltarv

asof

rega

dero

A

hora

no

nece

sita

s el

vas

o C

arol

ina,

acé

rcat

e a

cual

quie

r fre

gade

ro y

par

a so

ltar e

l va

so, e

ntra

en

el in

vent

ario

y p

ulsa

"Sol

tar"

.

no m

e sa

le e

l tut

oria

l de

colo

r azu

l so

ltarv

asof

rega

dero

¿P

uede

s ex

pres

arse

con

otra

s pa

labr

as?

No

te h

e en

tend

ido.

- R

econ

oce

entid

ad, p

ero

no e

l IN

TEN

T

m

solta

rvas

ofre

gade

ro

¡De

nada

Osc

ar!

(men

saje

vac

ío) –

Igno

rado

ahor

a no

me

deja

cog

er u

n va

so

solta

rvas

ofre

gade

ro

Aho

ra n

o ne

cesi

tas

el v

aso

Car

olin

a, a

cérc

ate

a cu

alqu

ier f

rega

dero

y p

ara

solta

r el

vaso

, ent

ra e

n el

inve

ntar

io y

pul

sa "S

olta

r".

dim

e so

ltarv

asof

rega

dero

¿

Pue

des

expr

esar

se c

on o

tras

pala

bras

? N

o te

he

ente

ndid

o.

(men

saje

vac

ío) –

Igno

rado

que

va

solta

rvas

ofre

gade

ro

Hol

a O

scar

. ¿C

ómo

pued

o ay

udar

te?

Con

text

bad

mes

sage

no

sirv

e, p

orqu

e lo

reco

noce

co

mo

Gen

eral

_Gre

etin

gs

Don

de te

ngo

que

deja

r el v

aso?

so

ltarv

asoa

gita

dor

Aho

ra n

o ne

cesi

tas

el v

aso

Car

olin

a tie

nes

que

lleva

r el v

aso

al a

gita

dor (

enci

ma

de

cual

quie

r mes

a de

l fon

do c

on u

n di

sco

gira

torio

enc

ima)

y

solta

rlo a

hí.

esto

y en

la s

ala

auto

clav

e, n

o se

do

nde

solta

r la

bote

lla

inse

rtarb

otel

laen

auto

clav

e J

orge

aho

ra n

o lo

nec

esita

s...

Deb

es a

utoc

lava

r la

bote

lla in

trodu

cién

dola

en

un

auto

clav

e, p

ara

ello

sue

lta la

bot

ella

cer

ca d

el a

utoc

lave

.

com

o pu

edo

leer

lo n

o m

e de

eja

entre

garv

aso

¡Tú

pued

es A

lber

to! P

regú

ntam

e lo

que

qui

eras

. A

lber

to a

cced

e a

los

prot

ocol

os e

n:

http

://tin

yurl.

com

/mhy

jal8

, y a

cced

e a

los

fund

amen

tos

en:

http

://tin

yurl.

com

/lro9

6zp

com

o po

mgo

el a

gua

solta

rvas

ofre

gade

ro

Nec

esito

que

me

lo p

regu

ntes

de

otra

man

era.

.. A

ntes

de

llena

r el v

aso

con

agua

, prim

ero

debe

s so

ltar e

l va

so e

n el

freg

ader

o.

Page 121: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

AN

EXO

S

106

com

o pu

edo

vert

er e

l h2o

en

la

cube

ta

solta

rvas

ofre

gade

ro

¡A ti

Alfo

nso!

A

ntes

de

llena

r el v

aso

con

agua

, prim

ero

debe

s so

ltar e

l va

so e

n el

freg

ader

o.

com

o ag

rego

los

quim

icos

ne

cesa

rios?

ag

rega

rmys

/agr

egar

saca

ros

a A

hora

no

nece

sita

s qu

imic

o

tiene

s q

solta

r el v

aso

prim

iero

ag

rega

rmys

/agr

egar

saca

ros

a A

hora

no

nece

sita

s qu

imic

o

jaja

ag

rega

rmys

/agr

egar

saca

ros

a N

eces

ito q

ue m

e lo

pre

gunt

es d

e ot

ra m

aner

a...

(men

saje

vac

ío) –

Igno

rado

eso

si te

lo re

spon

de

inse

rtarb

otel

laen

auto

clav

e N

eces

ito q

ue m

e lo

pre

gunt

es d

e ot

ra m

aner

a...

(men

saje

vac

ío) -

Des

pués

de

2 m

ensa

jes

inco

rrec

tos

y a

mi e

spal

da lo

s m

ater

iale

s pa

rece

in

serta

rbot

ella

enau

tocl

ave

Nec

esito

que

me

lo p

regu

ntes

de

otra

man

era.

.. (m

ensa

je v

acío

) - D

espu

és d

e 2

men

saje

s in

corr

ecto

s

pero

y c

onte

sta

a ca

da m

ensa

je c

on

esa

mie

rda

o q?

in

serta

rbot

ella

enau

tocl

ave

Nec

esito

que

me

lo p

regu

ntes

de

otra

man

era.

.. (m

ensa

je v

acio

)

com

o la

vo la

bot

ella

? in

serta

rbot

ella

enau

tocl

ave

Aho

ra n

o ne

cesi

tas

la b

otel

la

Deb

es a

utoc

lava

r la

bote

lla in

trodu

cién

dola

en

un

auto

clav

e, p

ara

ello

sue

lta la

bot

ella

cer

ca d

el a

utoc

lave

.

no p

uedo

sol

tar l

a bo

tella

in

serta

rbot

ella

enau

tocl

ave

Aho

ra n

o ne

cesi

tas

la b

otel

la

Deb

es a

utoc

lava

r la

bote

lla in

trodu

cién

dola

en

un

auto

clav

e, p

ara

ello

sue

lta la

bot

ella

cer

ca d

el a

utoc

lave

.

Tabl

a. X

I.

Res

ulta

do d

e la

impl

emen

taci

ón d

e so

luci

ones

par

a pr

oble

mas

enc

ontra

dos

en la

s pr

áctic

as

Page 122: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

8 REFERENCIAS

Page 123: EVALUACIÓN Y MEJORA DE UN SISTEMA DE DIÁLOGO PARA …oa.upm.es/55926/1/TFM_CAROLINA_MONSERRATTE_LOPEZ... · esquema completo de la arquitectura del sit con interacciÓn en lenguaje

108

[1] J. Paladines and J. Ramirez, "Sistema inteligente de tutoría para entrenamiento procedimental apoyado en un diálogo adaptado al contexto," Hamut´ay, vol. 2, no. 4, pp. 17-29, 2017.

[2] M. Rico, J. Ramirez, D. Riofrio and A. De Antonio, "An Architecture for Virtual Labs in Engineering," Proceedings of the 2012 IEEE Global Engineering Education Conference (EDUCON), pp. 1-5, 2012.

[3] D. Ríofrio, "Propuesta de un Modelo de Comportamiento Colectivo de Estudiantes para un Sistema Inteligente de Tutoría dirigido al Entrenamiento Procedimental," UPM: Tesis Doctoral, Madrid, 2017.

[4] R. Fernandéz Sánchez, "Implementación de un Sistema de Diálogo en Lenguaje Natural basado en Watson para un Sistema Inteligente de Tutoría," UPM: Tesis Fin de Grado, Madrid, 2019.

[5] R. García Mejía, "Módulo de Soporte para el Gestor de Diálogo en Lenguaje Natural de un Sistema Inteligente de Tutoría," UPM: Tesis Fin de Grado, Madrid, 2019.

[6] G. Lara López, "Modelo Computacional para la Generación de Indicaciones en la Localización de Objetos en Entornos Virtuales: Aspectos espaciales y perceptivos," UPM: Tesis Doctoral, Madrid, 2016.

[7] OpenSimulator, "http://opensimulator.org," 25 04 2019. [Online]. Available: http://opensimulator.org/wiki/Main_Page. [Accessed 01 05 2019].

[8] T. Murray, "Authoring Intelligen Tutorying Systems: An Analysis of the state of the art," Internatonal Journal Of Artificial Intelligence in Ecducation, vol. 10, pp. 98-129, 1999.

[9] IBM Cloud, "Watson Assistant," [Online]. Available: https://cloud.ibm.com/docs/services/assistant?topic=assistant-dialog-overview. [Accessed 06 06 2019].

[10] X. Wang, D. Zhang, T. Gu and H. K. Pung, "Ontology Based Context Modeling and Reasoning using OWL," Percom workshops, vol. 18, p. 22, 2004.

[11] J. Clemente, J. Ramírez and A. De Antonio, "A proposal for student modeling based on ontologies and diagnosis rules," Expert Systems with Applications, vol. 38, no. 7, pp. 8066-8078, 2011.