scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

El principal objetivo ha sido el desarrollo de la infraestructura de una plataforma web de docencia distribuida aplicada a la logopedia que finalmente presenta una estructura donde los centros son independientes en funcionamiento. Esta plataforma está dotada de una gestión de perfiles de usuario para profesores, alumnos, administradores y padres, garantizando la condencialidad, la seguridad de los datos y la eficacia de los métodos de procesado de señal que estarán distribuidos entre cliente y servidor. Una parte importante de la arquitectura del sistema es que permitirá a dos clientes realizar concurrentemente una misma actividad, de forma que se potencie la participación en grupo de los alumnos en algunas actividades que serán cooperativas. Además incluye la adaptación de las actividades que ya estaban presentes en "Vocaliza". Se ha implementado un servidor para un centro de educación de pruebas basado en una máquina virtual que podrá ser instalado en todos aquellos centros que lo requieran. Otro objetivo ha sido el de mejorar el reconocimiento automático del habla en el caso de los niños, ya que no se dispone de sucientes datos (grabaciones) para generar modelos adaptados a ellos. Para cumplir este objetivo se ha implementado en el reconocedor del grupo método de Normalización de la Longitud del Tracto Vocal del locutor. Esto mitigará las diferencias fisiológicas entre hablantes adultos y niños reduciendo en parte la tasa de error en el reconocimiento automático del habla en el caso de los niños. Escartín Villellas, José Manuel; Lleida Solano, Eduardo

Full text

Universidad de Zaragoza Escuela de Ingenier´ıa y Arquitectura Proyecto Fin de Carrera Dise˜no de una plataforma web de docencia distribuida aplicada a la logopedia y comunicaci´on en educaci´on especial Ingenier´ıa de Telecomunicaci´on Especialidad: Comunicaciones AUTOR: Jos´e Manuel Escart´ın Villellas DIRECTOR: Dr. Eduardo Lleida Solano Departamento de Ingenier´ıa Electr´onica y Comunicaciones ´ Area de Teor´ıa de la Se˜nal y Comunicaciones Zaragoza, Agosto de 2011 Agradecimientos Me gustar´ıa mostrar mi agradecimiento a todas las personas que han colaborado y me han ayudado a lo largo de la realizaci´on de este proyecto. Al colegio Alborada y en conreto a Jos´e Manuel por el inter´es mostrado y sus opiniones sobre la aplicaci´on. A Antonio Miguel Artiaga por su dedicaci´on y ayuda en los comienzos del proyecto. A Jos´e Vicente Ruiz por su tiempo y soluciones aportadas. A Jos´e Enrique Garc´ıa, por su disponibilidad a la hora de ayudar de forma desinteresada en todo momento. A Eduardo LLeida por su disposici´on personal y dedicaci´on a la direcci´on de este proyecto. A todos, muchas gracias. iv Dise˜no de una plataforma web de docencia distribuida aplicada a la logopedia y comunicaci´on en educaci´on especial RESUMEN Este proyecto se enmarca dentro del Grupo de Tecnolog´ıas de las Comunicaciones (GTC) en colaboraci´on con Colegio P´ublico de Educaci´on Especial Alborada (CPEE Alborada) y sigue la l´ınea de proyectos anteriores que ya desarrollaron este tipo de herramientas. El principal objetivo ha sido el desarrollo de la infraestructura de una plataforma web de docencia distribuida aplicada a la logopedia que finalmente presenta una estructura donde los centros son independientes en funcionamiento. Esta plataforma est´a dotada de una gesti´on de perfiles de usuario para profesores, alumnos, administradores y padres, garantizando la confidencialidad, la seguridad de los datos y la eficacia de los m´etodos de procesado de se˜nal que estar´an distribuidos entre cliente y servidor. Una parte importante de la arquitectura del sistema es que permitir´a a dos clientes realizar concurrentemente una misma actividad, de forma que se potencie la participaci´on en grupo de los alumnos en algunas actividades que ser´an cooperativas. Adem´as incluye la adaptaci´on de las actividades que ya estaban presentes en “Vocaliza”. Se ha implementado un servidor para un centro de educaci´on de pruebas basado en una m´aquina virtual. Que podr´a ser instalado en todos aquellos centros que lo requieran. Tambi´en se ha habilitado una aplicaci´on de pruebas en la red, para que los interesados puedan probar la plataforma antes de su instalaci´on. Otro objetivo ha sido el de mejorar el reconocimiento autom´atico del habla en el caso de los ni˜nos, ya que no se dispone de suficientes datos (grabaciones) para generar modelos adaptados a ellos. Para cumplir este objetivo se ha implementado en el reconocedor del grupo m´etodo de Normalizaci´on de la Longitud del Tracto Vocal del locutor. Esto mitigar´a las diferencias fisiol´ogicas entre hablantes adultos y ni˜nos reduciendo en parte la tasa de error en el reconocimiento autom´atico del habla en el caso de los ni˜nos. vi ´ Indice general 1 Introducci´on 5 1.1 Objetivos .................................... 5 1.2 Estadodelarte ................................. 6 1.2.1 Tecnolog´ıas del habla como apoyo a la logopedia . . . . . . . . . . . 7 1.3 Metodolog´ıadetrabajo............................. 7 1.3.1 Definici´on de requisitos de Vocaliza 2.0 . . . . . . . . . . . . . . . . 7 1.3.2 Dise˜no y desarrollo de la aplicaci´on “Vocaliza 2.0” . . . . . . . . . . 8 1.3.3 An´alisis de prestaciones de las tecnolog´ıas del habla utilizadas . . . 8 2 La aplicaci´on Vocaliza 2.0 9 2.1 Vocaliza: Objetivos y cuestiones a resolver . . . . . . . . . . . . . . . . . . 9 2.2 LaM´aquinaVirtual............................... 10 2.2.1 OracleVM VirtualBox . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Estructuradelservidor............................. 10 2.4 Estructura de la aplicaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 Diagrama de bloques . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2 Interfazdeusuario ........................... 11 2.4.3 Actividades ............................... 14 2.4.4 Normalizacion de la longitud del tracto vocal del locutor (VTLN) . 29 2.4.5 Gesti´on de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.6 Gesti´on de Elementos . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.4.7 Bloque de Reconocimiento Autom´atico del Habla . . . . . . . . . . 33 2.4.8 Bloque de Verificaci´on de la Pronunciaci´on . . . . . . . . . . . . . 34 2.4.9 Bloque de S´ıntesis de Voz . . . . . . . . . . . . . . . . . . . . . . . 34 2.5 Modelos del lenguaje: Generaci´on Din´amica . . . . . . . . . . . . . . . . . 35 2´ INDICE GENERAL 3 VTLN: Normalizaci´on de la Longitud del Tracto Vocal del locutor 37 3.1 Descripci´on del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 ElTractoVocal................................. 37 3.3 M´etodoVTLN ................................. 39 3.4 Implementaci´on del m´etodo . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4.1 Elreconocedor ............................. 40 3.4.2 Modocalibraci´on ............................ 41 3.4.3 Modonormal .............................. 41 3.5 Resultadosdelm´etodo ............................. 42 4 Conclusiones 43 4.1 Difusi´ondelproyecto.............................. 43 4.2 La adaptaci´on del reconocedor autom´atico del habla a la longitud del tracto vocaldelhablante................................ 44 4.3 L´ıneas futuras: La aplicaci´on Vocaliza 2.0 en la nube . . . . . . . . . . . . 45 A Introducci´on a las tecnolog´ıas del habla 47 A.1 Reconocimiento autom´atico del habla . . . . . . . . . . . . . . . . . . . . . 47 A.1.1 Clasificaci´on............................... 47 A.2 Fundamentote´orico............................... 48 A.2.1 Par´ametros ac´usticos: MEL-cepstrum . . . . . . . . . . . . . . . . . 49 A.2.2 Modelos Ocultos de Markov (HMM) . . . . . . . . . . . . . . . . . 50 A.2.3 Modeladoac´ustico ........................... 51 A.2.4 Modelado del lenguaje . . . . . . . . . . . . . . . . . . . . . . . . . 52 A.2.5 Evaluaci´on................................ 53 A.3 Adaptaci´onallocutor.............................. 54 A.3.1 Estimaci´on de M´axima Verosimilitud (ML) . . . . . . . . . . . . . 54 A.3.2 Estimaci´on M´aximo a Posteriori (MAP) . . . . . . . . . . . . . . . 54 B Instalaci´on del servidor 55 B.1 VMVirtualBox................................. 55 B.1.1 Instalaci´on................................ 55 B.1.2 Configuraci´on de la m´aquina virtual . . . . . . . . . . . . . . . . . . 55 B.1.3 Configuraci´on de la red . . . . . . . . . . . . . . . . . . . . . . . . . 61 Bibliograf´ıa 67 ´ Indice de figuras 2.1 Esquemadelservidor.............................. 12 2.2 Diagramadebloques.............................. 13 2.3 Ventana acceso usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Ventana principal administrador . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5 Ventana principal usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.6 Ventana de informaci´on de usuario . . . . . . . . . . . . . . . . . . . . . . 18 2.7 Ventana de creaci´on de frases . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8 Ventana de creaci´on de palabras . . . . . . . . . . . . . . . . . . . . . . . . 20 2.9 Ventana de creaci´on de adivinanzas . . . . . . . . . . . . . . . . . . . . . . 21 2.10 Ventana asignaci´on de palabras . . . . . . . . . . . . . . . . . . . . . . . . 22 2.11 Actividad Pronunciaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.12 Actividad Adivinanzas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.13ActividadFrases ................................ 26 2.14 Sala de espera actividad multijugador . . . . . . . . . . . . . . . . . . . . . 27 2.15 Actividad Tablero Multijugador . . . . . . . . . . . . . . . . . . . . . . . . 28 2.16 Estad´ısticas de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.17Gesti´ondeUsuarios............................... 31 3.1 ´ Organos de producci´on del habla . . . . . . . . . . . . . . . . . . . . . . . 38 B.1 InstaladorOracleVM.............................. 56 B.2 Ventana de inicio Oracle VM . . . . . . . . . . . . . . . . . . . . . . . . . . 57 B.3 Nombre nueva m´aquina virtual y sistema operativo . . . . . . . . . . . . . 58 B.4 Asignaci´on de memoria a la m´aquina virtual . . . . . . . . . . . . . . . . . 59 B.5 Discodurovirtual................................ 60 B.6 Resumen nueva m´aquina virtual . . . . . . . . . . . . . . . . . . . . . . . . 61 B.7 Ventana inicio Oracle VM, con m´aquina virtual instalada . . . . . . . . . . 62 B.8 Configuraci´ondelared............................. 63 B.9 Selecci´on tarjeta de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 10 Cap´ıtulo 2. La aplicaci´on Vocaliza 2.0 su mantenimiento, hizo que finalmente se hiciera necesario el desarrollo de una versi´on que ser´ıa desplegada en la red local de cada centro en lugar de ser una aplicaci´on en la nube como habr´ıa gustado en un principio. Esto hizo replantear la situaci´on y comenzar la b´usqueda de nuevas soluciones para nuestro caso. Tras barajar otras soluciones que fueron descartadas para no depender de los sistemas operativos locales o para no tener problemas con otras instalaciones se lleg´o a la siguiente soluci´on, la m´aquina virtual. 2.2 La M´aquina Virtual 2.2.1 OracleVM VirtualBox Ante los nuevos hechos y tras algunas reuniones, se ide´o la creaci´on de una m´aquina virtual, en la cual se encontrar´ıa todo lo necesario para el uso de la aplicaci´on y quedar´ıa instalado como una m´aquina m´as dentro de la red local del centro. Para ello se utilizar´ıa como herramienta principal Oracle VM VirtualBox Oracle VM VirtualBox es un software de virtualizaci´on para arquitecturas x86, creado originalmente por la empresa alemana innotek GmbH. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualizaci´on. Por medio de esta aplicaci´on es posible instalar sistemas operativos adicionales, conocidos como “sistemas invitados”, dentro de otro sistema operativo “anfitri´on”, cada uno con su propio ambiente virtual. En nuestro caso dado que uno de los requisitos es que la aplicaci´on fuera de libre distribuci´on se opt´o como sistema invitado por una distribuci´on Linux, m´as concretamente Ubuntu, debido a su interfaz gr´afica m´as intuitiva. Actualmente existe la versi´on propietaria Oracle VM VirtualBox, que es gratuita ´unicamente bajo uso personal o de evaluaci´on, y est´a sujeta a la licencia de “Uso Personal y de Evaluaci´on VirtualBox” (VirtualBox Personal Use and Evaluation License o PUEL) y la versi´on Open Source, VirtualBox OSE, que es software libre, sujeta a la licencia GPL. En cuanto a la emulaci´on de hardware, los discos duros de los sistemas invitados son almacenados en los sistemas anfitriones como archivos individuales en un contenedor llamado Virtual Disk Image, incompatible con los dem´as software de virtualizaci´on. Gracias a esta herramienta conseguimos instalar nuestra m´aquina virtual como si se tratase de un equipo m´as de una red local. Cada centro tendr´a su servidor, con su base de datos separada del resto de centros. Las instrucciones para la instalaci´on de la m´aquina virtual para la creaci´on del servidor de la aplicaci´on est´an expuestas en el anexo B. 2.3 Estructura del servidor En la figura 2.1 podemos ver c´omo queda la estructura del servidor. Como vemos, la m´aquina virtual, que act´ua como servidor, estar´ıa dividido en tres partes principales, la aplicaci´on propiamente dicha, una base de datos MySQL donde se 2.4 Estructura de la aplicaci´on 11 Figura 2.1: Esquema del servidor almacenan todos los datos de la aplicaci´on, y el back-end del reconocedor de voz, donde se ejecutan las operaciones necesarias para el reconocimiento que no se ejecutan en cliente. La aplicaci´on tambi´en est´a conectada a la base de datos de pictogramas de ARASAAC de manera que podamos encontrar nuevos pictogramas conforme ´esta se actualiza. 2.4 Estructura de la aplicaci´on 2.4.1 Diagrama de bloques Las distintas funcionalidades de la aplicaci´on se pueden agrupar en diversos bloques, que se relacionan entre s´ı como se muestra en la figura 2.2. Cada bloque de la Figura 2.1 agrupa una o varias funcionalidades de la aplicaci´on e intercambia informaci´on con otros bloques mediante interfaces representados por flechas de colores. El color de cada flecha indica que tipo de informaci´on se intercambia, tal y como se indica en la leyenda, bajo la figura, mientras que la orientaci´on indica en qu´e sentido va dicha informaci´on. A continuaci´on se explican brevemente los distintos tipos de informaci´on que pueden intercambiar entre s´ı los diversos bloques: •Informaci´on de Control y Gesti´on (flecha roja): es toda la informaci´on que se env´ıa desde un bloque para controlar alguna opci´on o funcionalidad de otro. •Flujo de Audio (flecha azul): es informaci´on de audio, capturada por el micr´ofono o dirigida a un dispositivo de reproducci´on (por ejemplo, unos altavoces). •Informaci´on del Habla del Usuario (flecha amarilla): son los par´ametros extra´ıdos directamente de la voz del usuario, que definen su forma de hablar, y que definen el modelo ac´ustico adaptado al usuario. Los apartados siguientes explican los distintos bloques de la Figura 2.2 12 Cap´ıtulo 2. La aplicaci´on Vocaliza 2.0 Figura 2.2: Diagrama de bloques 2.4.2 Interfaz de usuario La aplicaci´on “Vocaliza 2.0” trabaja fundamentalmente con la voz del usuario, debido a ello adem´as de los perif´ericos habituales para el control de cualquier aplicaci´on se hacen indispensables un micr´ofono para capturar la voz del usuario, y unos altavoces, ya que en algunas actividades la aplicaci´on va a reproducir las palabras que el usuario debe repetir. Desde este bloque el usuario puede acceder a las diversas opciones de configuraci´on, tanto para introducir o modificar elementos de las distintas actividades, como para gestionar la informaci´on de los usuarios. Igualmente puede acceder a los distintas actividades, o iniciar la calibraci´on, que permitir´a adaptar el modelo ac´ustico a la longitud del tracto vocal de un sujeto. Como requisito de dise˜no, la aplicaci´on“Vocaliza 2.0”deb´ıa ser muy sencilla de manejar para el usuario, y a su vez deb´ıa de poseer muchas opciones de configuraci´on, lo que la convertir´ıa en una potente y vers´atil herramienta de trabajo para los educadores. Por ello dependiendo del rol que juega en la aplicaci´on el usuario, al intentar acceder a la misma mediante su nombre de usuario y contrase˜na 2.3, se le mostrar´a una ventana principal u otra, por ejemplo los administradores o s´uper usuarios acceder´an directamente a la ventana principal de gesti´on de la aplicaci´on como muestra la figura 2.4 , mientras que los usuarios normales acceder´an directamente a su ventana de actividades como se muestre en la figura 2.5 En el desarrollo de la interfaz gr´afica se ha prestado especial atenci´on en que el resultado sea una interfaz accesible, sencilla aunque completa a su vez, y muy intuitiva. De modo que no se requiera de instrucciones especiales para su uso. Desde aqu´ı, como vemos, el interesado tiene acceso directo a todo aquello que le con- 2.4 Estructura de la aplicaci´on 13 Figura 2.3: Ventana acceso usuario Figura 2.4: Ventana principal administrador 14 Cap´ıtulo 2. La aplicaci´on Vocaliza 2.0 Figura 2.5: Ventana principal usuario cierne, por ejemplo el administrador puede acceder con un solo clic tanto a la informaci´on o configuraci´on de usuario (figura 2.6), a la creaci´on de uno nuevo como a la gesti´on de elementos necesarios para actividades como las frases (figura 2.7). Cada s´uper usuario controla un aula, en ella podr´a crear tantos usuarios como quiera, y podr´a asignar diferentes actividades a cada usuario, as´ı como configurar cada actividad para un usuario concreto a partir de los elementos para las actividades que posee el s´uper usuario. Por ejemplo el s´uper usuario crea palabras o adivinanzas (Figuras 2.8, 2.9) y luego las asigna libremente a cada usuario como en el caso de las palabras (Figura 2.10). 2.4.3 Actividades “Vocaliza 2.0”pretende tratar las patolog´ıas del habla mediante diversos juegos, que trabajan distintos niveles del lenguaje. Todos los juegos funcionan de forma similar: la aplicaci´on muestra una o varias im´agenes que pueden llevar texto asociado y reproduce un sonido que el sujeto debe relacionar con una o varias palabras y pronunciarlas adecuadamente. En caso de hacerlo correctamente, el sujeto habr´a superado el juego con ´exito. Por tanto, los juegos necesitar´an un reconocedor autom´atico del habla, que interprete la respuesta dada por el sujeto. Cada una de las actividades se comenta brevemente a continuaci´on. A- Pronunciaci´on Este juego trabaja el lenguaje en su nivel fonol´ogico, es decir, pretende que el usuario practique la correcta pronunciaci´on de los fonemas o sonidos que componen una palabra. 2.4 Estructura de la aplicaci´on 15 Figura 2.6: Ventana de informaci´on de usuario Figura 2.7: Ventana de creaci´on de frases 16 Cap´ıtulo 2. La aplicaci´on Vocaliza 2.0 Figura 2.8: Ventana de creaci´on de palabras Figura 2.9: Ventana de creaci´on de adivinanzas 2.4 Estructura de la aplicaci´on 17 Figura 2.10: Ventana asignaci´on de palabras La actividad de pronunciaci´on es el m´as b´asico de los cinco juegos que se plantean. En ´el la aplicaci´on muestra un pictograma por pantalla y reproduce un sonido asociado a la palabra que representa dicho pictograma, normalmente la misma palabra. El sujeto simplemente debe pronunciar dicha palabra con la mayor precisi´on posible. Si la palabra se ha pronunciado correctamente el sujeto superar´a el juego, y recibir´a una calificaci´on estimada por el bloque de Evaluaci´on de Pronunciaci´on, en funci´on de lo bien que lo haya hecho. Podemos ver la actividad de pronunciaci´on en la figura 2.11. B- Adivinanzas Este juego trabaja el lenguaje en su nivel sem´antico, esto es, obliga al usuario a razonar y asociar im´agenes y sonidos con ideas y significados concretos. El juego consiste en plantear una adivinanza al sujeto, que en t´erminos de la aplicaci´on es simplemente una pregunta con tres posibles respuestas (figura 2.12). La aplicaci´on reproduce la pregunta que tambi´en se muestra por pantalla, al tiempo que muestra tres im´agenes asociadas a las posibles respuestas. El usuario debe pronunciar adecuadamente la respuesta correcta para superar el juego con ´exito. C- Frases El juego de las frases trabaja el lenguaje en su nivel sint´actico, ayudando al usuario a comprender como se forman oraciones y el orden que tienen las palabras en las mismas. El juego consiste en mostrar una sucesi´on de im´agenes que forman una oraci´on (figura 2.13). El usuario debe decir la oraci´on correspondiente, en esta ocasi´on no es tan importante la pronunciaci´on de cada palabra como el orden en las palabras y la continuidad a la hora de pronunciarlas. El juego se supera con ´exito si todas las palabras que forman la oraci´on son pronunciadas en el orden mostrado y con cierta fluidez. D- Evocaci´on 18 Cap´ıtulo 2. La aplicaci´on Vocaliza 2.0 Figura 2.11: Actividad Pronunciaci´on Figura 2.12: Actividad Adivinanzas 2.4 Estructura de la aplicaci´on 19 Figura 2.13: Actividad Frases Figura 2.14: Sala de espera actividad multijugador El juego de evocaci´on no est´a dise˜nado para trabajar ning´un nivel del lenguaje en concreto sino que permite al sujeto que lo utiliza practicar libremente las palabras que desee sin que sea la aplicaci´on la que obligue a pronunciar esas palabras, como suced´ıa en el juego de pronunciaci´on. Este juego no muestra ninguna imagen ni reproduce ning´un sonido a priori. Es el usuario el que debe pronunciar la palabra que el desee practicar, de forma que si lo hace adecuadamente, la aplicaci´on mostrar´a la imagen asociada a dicha palabra, confirmando la buena pronunciaci´on del sujeto. En principio esta actividad era la menos valorada por los logopedas, pero se ha mantenido ya que se ha mejorado levemente su funcionamiento. E- Tablero multijugador Es la principal novedad en cuanto a actividades, es la primera multijugador. Est´a basado en peticiones ajax al servidor tanto s´ıncronas como as´ıncronas. Pensada como actividad colaborativa, en esta actividad varios usuarios entran en una sala de espera, y cuando alguno lo cree conveniente, pulsa el bot´on de comenzar actividad (figura 2.14). Entonces se carga el tablero con pictogramas y los usuarios deben pronunciar las diferentes palabras que corresponden a los pictogramas que se muestran, conforme la aplicaci´on reconoce las palabras que el usuario pronuncia, tacha la palabra del tablero(figura 2.15), cuando todas las palabras son tachadas, el juego concluye y muestra el tiempo total que se ha empleado en resolver el tablero. 26 Cap´ıtulo 2. La aplicaci´on Vocaliza 2.0 Cap´ıtulo 3 VTLN: Normalizaci´on de la Longitud del Tracto Vocal del locutor 3.1 Descripci´on del trabajo Actualmente no se dispone de suficientes datos (grabaciones) del habla de los ni˜nos como para generar modelos adaptados al habla de ´estos y as´ı poder usar los m´etodos de adaptaci´on que se vienen utilizando para los adultos. En este caso introducimos un nuevo m´etodo para intentar resolver en parte el problema de las diferencias fisiol´ogicas de diferentes locutores sin necesitad de tener muchos datos sobre el habla de un locutor. VTLN o Normalizaci´on de la Longitud del Tracto Vocal [12] es un m´etodo para reducir los efectos de la diferencia de longitud en el tracto vocal de diferentes hablantes. 3.2 El Tracto Vocal El tracto vocal incluye todo lo que se encuentra entre las cuerdas vocales y los labios. Las partes principales son la faringe, la cavidad nasal y las diferentes partes de la boca (Figura 3.1). Cuando cambiamos la forma del tracto vocal se obtienen diferentes sonidos debido a que diferentes formas del tracto vocal se convierten en diferentes frecuencias de resonancia. En las vocales y en las consonantes sonoras, las frecuencias de resonancia son llamadas formantes. Para calcular las frecuencias de resonancia necesitamos un modelo simplificado del tracto vocal. Un modelo simple es el del tubo sin perdidas. Para alcanzarlo, enderezamos el curvado tracto vocal y hacemos de ´el un cilindro. Dado que un cilindro es un modelo demasiado simple para nuestro prop´osito, concatenamos varios cilindros de diferentes radios. Si asumimos que no hay perdidas por fricci´on entre el aire y el tubo y que el tubo no vibra, entonces este es el modelo del tubo sin perdidas o el modelo de los tubos concatenados sin perdidas [13]. 28 Cap´ıtulo 3. VTLN: Normalizaci´on de la Longitud del Tracto Vocal del locutor Figura 3.1: ´ Organos de producci´on del habla De acuerdo con Holmes [12], las formantes, o frecuencias de resonancia, est´an equiespaciadas a: fHz =(2n+ 1)Vs 4L(3.1) (con n=0, 1, 2, 3, ...). Donde Vses la velocidad del sonido (en metros por segundo)y L es la longitud del tubo (en metros) que simula la longitud del tracto vocal. Esto explica porque las formantes en los ni˜nos est´an desplazadas a frecuencias m´as altas. Una mayor complejidad presenta el hecho de que las longitudes de las diferentes partes del tracto vocal no var´ıan con la misma proporci´on con la edad de los ni˜nos. Por ejemplo, normalmente la garganta crece m´as que la boca. Para compensar completamente este efecto se requerir´ıa una transformaci´on ac´ustica muy compleja pero solo el escalado lineal ha sido modelado en los sistemas de reconocimiento del habla. 3.3 M´etodo VTLN Actualmente las t´ecnicas RAH funcionan bastante bien con voces de adultos para permitir aplicaciones pr´acticas. Pero cuando se reconoce a ni˜nos, los resultados decaen considerablemente. ¿Por qu´e ocurre esto? La principal causa de este hecho es que no se disponen de suficientes datos para construir modelos adaptados al habla de los ni˜nos(grabaciones del habla) y poder usar los m´etodos de adaptaci´on que se vienen utilizando para los adultos correctamente. Debido a este hecho debemos recurrir a otros m´etodos que ayuden a la adaptaci´on sin necesidad de tener tantos datos sobre el habla para su correcto ajuste. Los ni˜nos difieren tanto f´ısicamente como en pronunciaci´on con los adultos. Las diferencias en condiciones f´ısicas vienen por el hecho de que los ni˜nos tienen un tracto vocal 3.4 Implementaci´on del m´etodo 29 m´as corto y cuerdas vocales m´as cortas. Esto hace que su frecuencia fundamental y su frecuencia formante est´en desplazadas hacia frecuencias superiores. Para ni˜nos de cinco a siete a˜nos las primeras tres formantes est´an desplazadas alrededor de un 65 % comparadas con los adultos [12]. Cuando los ni˜nos pierden los dientes de leche, lo que ocurre cuando tienen alrededor de 6 a˜nos, su pronunciaci´on pierde calidad por alg´un tiempo hasta que obtienen sus dientes permanentes. En los ni˜nos m´as peque˜nos tambi´en puede ocurrir que no hayan aprendido a pronunciar correctamente todav´ıa. Algunas de estas diferencias pueden ser compensadas, pero aun as´ı los resultados empeoran. Esto es debido a que los ni˜nos tienen menos vocabulario y hablan m´as espont´aneamente y menos gramaticalmente que los adultos. Tambi´en se encuentra que los resultados del reconocimiento del habla de ni˜nos var´ıa de muy pobre hasta tan bueno como adultos [14] Esto hace a uno creer que las diferencias no pueden ser compensadas tan solo adaptando los modelos al habla de los ni˜nos o escalando el VTLN para hacer m´as parecido el habla al de los adultos. La diferencia entre ambos seguir´a presente. Las voces m´as brillantes de los ni˜nos son debidas en gran parte a la longitud m´as corta de su tracto vocal. Para compensar este hecho, el m´etodo VTLN puede ser de ayuda. La idea b´asica es estrechar el eje frecuencial para concentrar la potencia m´as o menos en el mismo lugar que se encuentra en el habla en adultos. Como ya hemos comentado, si vocales id´enticas producidas por dos tractos vocales de diferentes longitudes son comparadas, se podr´a ver que las formantes del tracto vocal m´as corto est´an desplazadas a frecuencias m´as altas comparadas con las formantes del tracto vocal m´as largo. Esto puede ser compensado estrechando o comprimiendo el eje frecuencial del espectro, antes del reconocimiento autom´atico del habla. Si se aplica el m´etodo VTLN, el estrechamiento/compresi´on se produce durante la parametrizaci´on (MFCC), mediante la reestimaci´on de los bancos de filtros de Mel, despu´es del efectuar el enventanado y la transformada de Fourier. Para la implementaci´on del metodo necesitaremos efectuar un barrido del factor de transformaci´on αy recalcular los bancos de filtros de Mel para cada caso, el factor de transformaci´on afecta en el c´alculo de los centros del banco de filtros del siguiente modo: fα Hz(kMfmel) = 700(10kMfmel/2595 −1)/α (3.2) 3.4 Implementaci´on del m´etodo En nuestro caso nos interesa reducir la diferencia entre adultos y ni˜nos el m´aximo posible debido a que vamos a trabajar principalmente con ni˜nos, y nos interesa que el reconocedor ofrezca resultados aceptables para ellos, por lo cual vamos a implementar el m´etodo VTLN dentro del reconocedor del grupo. Para ello han sido necesarios dos tipos de cambios en el reconocedor Por un lado los que tienen que ver con el c´alculo del factor de transformaci´on ´optimo (Modo calibraci´on), y los que permiten al reconocedor usar el factor de transformaci´on 30 Cap´ıtulo 3. VTLN: Normalizaci´on de la Longitud del Tracto Vocal del locutor ´optimo en el reconocedor durante el funcionamiento normal de las actividades (Modo normal), describiremos estos cambios a continuaci´on. 3.4.1 El reconocedor El reconocedor sigue una arquitectura cliente-servidor, en la que el cliente es un applet java (m´odulo o programa realizado en java, y que se puede incrustar en cualquier p´agina web). Dicho cliente se ejecutar´a en cualquier navegador web, siempre que ´este tenga habilitado java. El cliente de reconocimiento de voz realiza las funciones de adquisici´on de audio, parametrizaci´on (MFCC), y compresi´on de los par´ametros ac´usticos (DVQ) y envio en tiempo real al servidor, para reducir el ancho de banda de env´ıo hasta 2.1 Kbps. Por otra parte, el servidor de reconocimiento es un programa capaz de gestionar varias conexiones simult´aneas de distintos applets , de forma que recibe los par´ametros ac´usticos codificados, y detecta el fin del audio mediante un VAD(Voice Activity Detection) extrae los vectores de caracter´ısticas MFCC a partir de ´estos, y aplica el algoritmo de reconocimiento enviando la respuesta al applet. Adem´as, en cada proceso de reconocimiento, cada conexi´on asociada a un applet deber´ıa haber recibido la gram´atica enviada por ´este previamente. M´as informaci´on en ViVoLab [15] 3.4.2 Modo calibraci´on En adultos se parte del factor de transformaci´on α= 1, normalmente para ni˜nos este factor estar´a en torno al 0.8, en nuestro caso efectuaremos un barrido desde 0.7 a 1.1 para este factor. En este caso fue necesario cambiar el modo de comunicaci´on habitual entre el cliente y el servidor del reconocedor del grupo. Normalmente el cliente enviaba trama a trama, casi en tiempo real, el audio hacia el servidor mientras se produc´ıa el habla, y ´este era el encargado de la detecci´on del habla para despu´es calcular la respuesta y la enviarla al cliente, cortando la comunicaci´on. •Detecci´on de principio y fin del habla en el cliente. Implementaci´on de un detector de actividad del habla VAD. •Parametrizaci´on con recalculo de los centros del banco de filtros de Mel para cada factor de transformaci´on como se ha explicado anteriormente y env´ıo al servidor. •Captura de las confianzas devueltas por el servidor para la estimaci´on del factor de transformaci´on ´optimo que se devolver´a a la aplicaci´on para ser guardado en la base de datos de usuario y su posterior uso, sin cerrar la comunicaci´on hasta que el bucle se haya completado. Una vez haya finalizado el barrido, nos quedaremos con el factor de transformaci´on que produjo la m´axima confianza en el reconocedor. Devolvi´endolo a la aplicaci´on y guard´andolo en la base de datos. 3.5 Resultados del m´etodo 31 Este m´etodo es m´as lento como es l´ogico debido a que efectuar´a el reconocimiento de m´ultiples secuencias (barrido del factor de transformaci´on entre 0.7 y 1.1) pero solamente es necesario efectuarlo una vez por locutor. Para que el reconocedor funcione en modo calibraci´on deberemos pasarle el par´ametro calibraci´on(calibracion=“true”) 3.4.3 Modo normal En este caso se sigue el m´etodo de comunicaci´on habitual. La diferencia es que se incluye un nuevo par´ametro externo,“alpha”. ´ Este es el par´ametro que se calcul´o en la calibraci´on de usuario y viene marcado por el usuario de la aplicaci´on. Este factor “alpha” provocar´a una reestimaci´on de los bancos de filtros de Mel, para que est´en adaptados al locutor que est´e usando la aplicaci´on. Para el uso del reconocedor en este modo debemos pasarle el par´ametro de transformaci´on “alpha” (ej:alpha=“0.9”) Si no se le env´ıa ning´un factor de transformaci´on “alpha” al reconocedor, ´este sigue funcionando como hasta ahora, lo mismo ocurre con el par´ametro calibraci´on, asegurando la compatibilidad del reconocedor actualizado con las aplicaciones que lo utilizan hasta ahora, con el factor de transformaci´on “alpha=1” . 3.5 Resultados del m´etodo Este m´etodo ha probado ser particularmente efectivo cuando existe poca informaci´on de adaptaci´on del locutor (como es nuestro caso) incluso en modo no supervisado, as´ı que lo utilizaremos reduciendo el tiempo de calibraci´on de la herramienta respecto a m´etodos como la estimaci´on de M´axima Verosimilitud (ML), o incluso a la estimaci´on M´aximo a Posteriori (MAP) pese a que no es tan efectivo como ´estos. Recordar que para usar estos m´etodos es necesario disponer de m´as informaci´on sobre el habla del locutor para la elaboraci´on de modelos del habla, informaci´on de la cual no disponemos en el caso de los ni˜nos. Al ser necesaria la grabaci´on de una ´unica frase para la calibraci´on de la herramienta no parece que vaya a ser un proceso incomodo para los usuarios como ha ocurrido en otras ocasiones. De este modo conseguimos reducir el impacto de la diferencia de la longitud del tracto vocal en ni˜nos. Con el m´etodo VTLN en solitario se pueden producir reducciones en la tasa de errores de hasta el 10 % [13] 32 Cap´ıtulo 3. VTLN: Normalizaci´on de la Longitud del Tracto Vocal del locutor Cap´ıtulo 4 Conclusiones En el cap´ıtulo 1 se defin´ıa una serie de objetivos en las dos l´ıneas diferenciadas de trabajo que comprende este proyecto. En este cap´ıtulo se recopilan las conclusiones alcanzadas en ambas l´ıneas, as´ı como la evaluaci´on de lo conseguido y las posibilidades de mejora en un futuro. 4.1 Difusi´on del proyecto El objetivo principal del proyecto era el desarrollo de “Vocaliza 2.0”, una plataforma libre y en castellano de apoyo a la logopedia y comunicaci´on en educaci´on especial, que aprovecha las diversas tecnolog´ıas del habla estudiadas. La aplicaci´on ha sido creada de un modo funcional, accesible e intuitiva para el usuario final, gracias en parte a la realmientaci´on recibida por los usuarios colaboradores del Colegio P´ublico de Educaci´on Especial Alborada (CPEE Alborada), dentro del marco de colaboraci´on con el Grupo de Tecnolog´ıas de las comunicaciones (GTC) de la Universidad de Zaragoza. Por otro lado, aunque la aplicaci´on en principio fue pensada para ser una aplicaci´on en la nube, este punto tuvo que variarse debido a diversos inconvenientes como vimos en el cap´ıtulo 2(Confidencialidad de los datos, mantenimiento del servidor principal....). La soluci´on adoptada finalmente nos llev´o a la creaci´on de una m´aquina virtual para generar una versi´on distribuida, instalable en las redes locales de cada centro que desee utilizarlo, que puede funcionar incluso sin conexi´on al exterior. Esta aplicaci´on ser´a utilizada, tras la finalizaci´on del proyecto, en el CPEE Alborada, y en cualquier otro centro p´ublico que la considere necesaria, para que todas aquellas personas con patolog´ıas del lenguaje puedan practicar y mejorar su habla. M´as all´a de las actividades que se han incluido en esta versi´on, se han sentado las bases para la inclusi´on dentro de la plataforma creada de otros proyectos como “Prelingua”[3] y “Cu´entame”[4]. Debido a la modularidad de la aplicaci´on es f´acilmente extensible a las necesidades que vayan surgiendo, igualmente ser´an aplicables todas aquellas mejoras que se practiquen en el reconocedor del grupo sin necesidad de reconfiguraci´on de la aplicaci´on. Por supuesto una aplicaci´on de este tipo siempre es mejorable, tanto desde el punto de vista gr´afico como tecnol´ogicamente, a continuaci´on se exponen las principales mejoras que podr´ıan aplicarse en la siguiente versi´on. 34 Cap´ıtulo 4. Conclusiones •Dotar de mayor configurabilidad a los administradores y s´uper usuarios sobre las aplicaci´on. Permitir la asignaci´on de deberes o permitir realimentaciones positivas y negativas configurables en funci´on del usuario. •Creaci´on de nuevas actividades multiusuario ´utiles para los logopedas, aprovechando el modo de comunicaci´on creado en la actividad Tablero Multijugador. •Con la llegada en los pr´oximos meses de Grails 2.0, mejorar la comunicaci´on intercentros, con su mejorada gesti´on de m´ultiples bases de datos. •Mejora en las estad´ısticas de usuario en funci´on de los datos m´as ´utiles para los logopedas. •Y lo m´as importante, seguir mejorando su funcionalidad logop´edica y educativa. En cierto momento del proyecto se medit´o la posibilidad de crear un editor de actividades para que los logopedas pudieran crear sus propias actividades y pudieran integrarlas en la plataforma, pero la tecnolog´ıa usada actualmente no permite este tipo de integraci´on al menos de un modo asequible para el desarrollador desde el punto de vista temporal, as´ı que fue descartado. Seguramente en futuras versiones de las tecnolog´ıas usadas se pueda desarrollar este tipo de editor, lo que har´ıa la plataforma todav´ıa m´as ´util e interesante. 4.2 La adaptaci´on del reconocedor autom´atico del habla a la longitud del tracto vocal del hablante Otro objetivo importante del proyecto era la mejora de resultados del reconocimiento autom´atico del habla en ni˜nos, para ello se decidi´o implementar en el Reconocedor Autom´atico del Habla del grupo, el m´etodo de Normalizaci´on de la Longitud del Tracto Vocal del locutor. Con este m´etodo se intenta mermar el efecto nocivo que las caracter´ısticas fisiol´ogicas del hablante causan en los resultados de reconocimiento en el caso de los ni˜nos, como ya hemos visto en el cap´ıtulo 3. Esta normalizaci´on mejora los resultados en ni˜nos en parte, ya que este m´etodo no puede corregir, por ejemplo, la falta de aprendizaje del idioma propia de los ni˜nos y la espontaneidad con la que los ni˜nos a veces se comunican. Se buscaba que esta mejora se produjera sin la necesidad de mucho tiempo de grabaci´on por parte del usuario, que en muchas ocasiones es tedioso, y seg´un las realimentaci´on recibida del uso de otras herramientas de este tipo, estos m´etodos de grabaci´on acaban por no ser usados. En este caso solamente ser´a necesaria una frase de grabaci´on, lo que en principio no ser´a muy incomodo. Con esta mejora aunque todav´ıa se est´a algo lejos del resultado de reconocimiento por parte de una voz adulta, ha hecho que las distancias se recorten considerablemente como se ha visto en otros estudios [7]. Ser´ıa conveniente crear un estudio sobre los resultados reales que la implantaci´on del m´etodo VTLN ofrece en nuestro caso, en esta ocasi´on no ha sido posible debido a la limitaci´on en tiempo que tiene el proyecto as´ı como por la dificultad para realizar el estudio con ni˜nos de las edades necesarias. Por supuesto lo m´as interesante es poder crear modelos adaptados para los ni˜nos, pese a que todav´ıa no se disponen de datos suficientes para crearlos, ´este es un requisito 4.3 L´ıneas futuras: La aplicaci´on Vocaliza 2.0 en la nube 35 fundamental para ofrecer unos resultados excelentes en el reconocimiento autom´atico del habla en ni˜nos En esta l´ınea de trabajo se puede seguir trabajando, intentando mejorar los resultados obenidos. Combinando otros t´ecnicas con el VTLN podemos optimizar los resultados, por ejemplo, combinando este m´etodo con la t´ecnica de Maximum Likelihood Linear Regresion (MLLR) [13]. Tambi´en ser´ıa conveniente la integraci´on dentro de la plataforma de otros servicios web creados por el GTC. Por ejemplo el applet para cliente que permite hacer grabaciones y adaptaci´on, usando un servidor distinto (que tambi´en valdr´ıa para la verificaci´on). 4.3 L´ıneas futuras: La aplicaci´on Vocaliza 2.0 en la nube El objetivo futuro de este proyecto es poder presentar una plataforma libre, accesible y en castellano de apoyo a la logopedia en la nube. Este hecho facilitar´ıa mucho la comunicaci´on intercentros, la realimentaci´on para la mejora de la aplicaci´on, etc. En el momento que haya recursos suficientes y evolucione el tratamiento de los datos sensibles, este objetivo podr´ıa ser cumplido. Mientras tanto deber´ıa aprovecharse para integrar todas las tecnolog´ıas del habla disponibles y unificar los diferentes proyectos y servicios realizados por el GTC en la plataforma, y as´ı poder tratar todos los aspectos del lenguaje desde la misma herramienta, para que llegado el momento, esta plataforma evolucionada pueda ser la referencia en apoyo a la logopedia. 42 Cap´ıtulo A. Introducci´on a las tecnolog´ıas del habla Una vez decidida la unidad ac´ustica que se utilizar´a para reconocer, deben asignarse a la misma una secuencia de estados. La longitud de esa secuencia depender´a de la unidad elegida: por ejemplo, los fonemas suelen modelarse con tres estados, que indican el comienzo, el centro y el fin del fonema, mientras que los subfonemas, como ya realizan dicha divisi´on a nivel de unidad, se suelen modelar con un ´unico estado. Conocidos los estados del HMM, el algoritmo de Baum-Welch [13] permite calcular el resto de par´ametros que definen el Modelo Oculto de Markov, si se dispone de un n´umero de medidas ac´usticas observadas suficientemente grande. A.2.4 Modelado del lenguaje El conocimiento ling¨ u´ıstico es una necesidad importante en los sistemas de reconocimien- to del habla continua. La obtenci´on de un modelo del lenguaje es necesaria para poder determinar la probabilidad de que se de una agrupaci´on de palabras dada seg´un las reglas sint´acticas y gramaticales. De esta forma, se podr´an descartar en la fase de reconocimien- to frases que el modelo ac´ustico da como muy probables, pero que no tengan sentido ling¨ u´ıstico. Supongamos una secuencia espec´ıfica de palabras W=w1w2..wq, la probabilidad de que se de esa secuencia de palabras se podr´a calcular teniendo en cuenta la dependencia de cada palabra con las anteriores: P(W) = P(w1w2..wq) = P(w1)∆P(w2|w1)∆P(w3|w1w2)∆..∆P(wq|w1..wq−1) (A.6) Este modelo es muy complejo, especialmente cuando se considera la probabilidad de aparici´on de una palabra condicionada a las Q−1 precedentes. Para ello, se reduce este c´alculo a considerar la probabilidad condicionada a las Npalabras m´as pr´oximas. El caso m´as sencillo ser´ıa considerar s´olo pares de palabras v´alidas o no, definiendo: P(wj|wk) = 1wkwjvlido 0resto (A.7) En el caso general de usar Npalabras para el c´omputo de la probabilidad, ´esta queda: PN(W) = Q Y i=1 P(wi|wi−1, wi−2, .., wi−N+1) (A.8) El c´alculo de estas probabilidades se realiza simplemente con las frecuencias de aparici´on de conjuntos de palabras en un texto suficientemente largo y significativo. As´ı: ˆ P(wi|wi−1, wi−2, .., wi−N+1) = P(wi, wi−1, wi−2, .., wi−N+1) P(wi−1, wi−2, .., wi−N+1)(A.9) Esta forma de c´alculo acarrea problemas debido a las limitaciones impuestas por el tama˜no del texto, ya que puede haber secuencias de palabras v´alidas que, sin embargo, no aparezcan en el texto y asignemos P(wi, wi−1, wi−2, .., wi−N+1) = 0 sin serlo. Para evitar esto, se hacen algoritmos de alisado que no s´olo tienen en cuenta la probabilidad de todo A.2 Fundamento te´orico 43 el conjunto de palabras, sino de subconjuntos de palabras dentro del propio conjunto. Para el caso N= 3, se define: ˆ P(w3|w1, w2) = p1∆F(w1, w2, w3 w1, w2 +p2∆F(w1, w2 w1 +p3∆F(w1) PF(wi)(A.10) Donde tomamos en cuenta la probabilidad de que aparezcan las tres palabras juntas, y la probabilidad de que se den dos o una de ellas por separado. Los pesos incluidos en la f´ormula de alisado deben cumplir la condici´on de ser no negativos y sumar uno. A.2.5 Evaluaci´on Para evaluar las prestaciones de un sistema de RAH se suele utilizar el n´umero de errores que se cometen en las palabras reconocidas, medidos como WER (Word Error Rate). En esta medida influyen los tres tipos de errores que se pueden tener en reconocimiento: •Sustituciones: Se produce una sustituci´on cuando una palabra de la frase correcta se reconoce como una palabra diferente. Por ejemplo, reconocer:“La noche del ganador” en vez de “La noche del cazador”. •Borrados: Un borrado se da cuando una palabra que aparece en la frase correcta es omitida en la frase reconocida. Por ejemplo: “Noche del cazador” en vez de “La noche del cazador”. •Inserciones: Tendremos una inserci´on cuando en la frase reconocida se introduce una palabra que no exist´ıa en la frase correcta. Por ejemplo: “La noche del la cazador” en vez de “La noche del cazador” Contando estos tres tipos de errores se obtiene la WER: WER( %) = Sustituciones +Borrados +Inserciones Palabras ∆100 % (A.11) Donde en el denominador se cuentan las palabras de la frase correcta, y no las de la frase reconocida, que pueden ser diferentes seg´un las inserciones y borrados producidos. De esta forma, si por ejemplo la frase a reconocer es “La noche del cazador”, y el reconocedor devuelve la frase “Noche del no cazador”, la WER ser´a del 50 %, ya que el n´umero de palabras es cuatro, y se han producido dos errores, un borrado (“la”), y una inserci´on (“no”). La obtenci´on de la tasa de error no es tan directa y sencilla como pueda parecer, ya que si hacemos una correspondencia de palabras directa entre las frases del ejemplo anterior, obtendr´ıamos: Frase Correcta La noche del cazador Frase Reconocida La noche del no cazador Donde se podr´ıa pensar que la tasa de error es del 75 %, con tres sustituciones (“Noche” en lugar de “La”; “del” en lugar de “noche”, y “no” en lugar de “del”) sobre cuatro palabras totales; cuando ya hemos visto que la WER real es el 50 %. 44 Cap´ıtulo A. Introducci´on a las tecnolog´ıas del habla A.3 Adaptaci´on al locutor La adaptaci´on de un sistema RAH al locutor es el proceso por el cual se estiman los par´ametros del Modelo Oculto de Markov que rige la producci´on del habla de ese locutor determinado, en base a un conjunto de observaciones o corpus del habla del locutor. Existen varios m´etodos para adaptar un sistema de RAH al locutor. A continuaci´on se describen los dos m´etodos m´as utilizados. A.3.1 Estimaci´on de M´axima Verosimilitud (ML) Dado un conjunto de secuencias de medidas ac´usticas del habla de un locutor X1, X2, .., XN , la Estimaci´on de M´axima Verosimilitud [16] trata de estimar el modelo que maximiza la verosimilitud conjunta vista como una probabilidad: φ=argmaxφ[ N Y i=1 P(Xi|φ)] (A.12) Esto es justamente lo que hace el algoritmo de Baum-Welch [13] para estimar los par´ametros de un Modelo Oculto de Markov a partir de un conjunto de secuencias de medidas ac´usticas. El principal inconveniente de este m´etodo es que requiere una gran cantidad de observaciones para conseguir una buena estimaci´on. Este m´etodo se utiliza normalmente partiendo de medidas ac´usticas pertenecientes a diversos locutores, con la intenci´on de estimar un modelo para un sistema RAH independiente del locutor, pero no es resulta muy interesante para crear modelos adaptados al locutor, pues requerir´ıa adquirir gran cantidad de observaciones del habla del usuario. A.3.2 Estimaci´on M´aximo a Posteriori (MAP) Ciertamente, aunque distintas observaciones de medidas ac´usticas asociadas a un mismo estado pueden presentar diferencias considerables, que se pueden acentuar cuando las observaciones provienen de locutores distintos, todos los locutores pronuncian los mismos fonemas de forma similar, esto es, las medidas ac´usticas asociadas a un mismo estado tendr´an ciertas semejanzas que las har´an muy distintas de otras medidas asociadas a otros estados. Por tanto, se puede aprovechar la informaci´on contenida en un modelo ac´ustico estimado con m´ultiples locutores, independiente del locutor, para ir adapt´andola al habla de un locutor concreto, a partir de unas pocas observaciones de su habla. Esto resolver´ıa el problema de requerir gran cantidad de observaciones del habla del locutor, pues bastar´ıa con un n´umero mucho menor que simplemente matizara el modelo independiente del locutor para convertirlo en un modelo adaptado al mismo. Para ello se utiliza el m´etodo de estimaci´on MAP [17], o estimaci´on bayesiana. Ap´endice B Instalaci´on del servidor En este anexo se pretende mostrar el proceso de instalaci´on de la parte servidora en la red local del centro donde se quiere instalar la aplicaci´on. Se incluyen varias imagenes para explicar los pasos de manera m´as visual. B.1 VM VirtualBox B.1.1 Instalaci´on •Abrir un explorador de red y visitar la siguiente URL : http://www.oracle.com/technetwork/serverstorage/virtualbox/downloads/index.html •Una vez ah´ı, descargar la ´ultima versi´on para el sistema operativo que tengamos instalado en el equipo servidor. •Ejecutamos el instalador una vez descargado y nos encontramos con la figura B.1 , en el caso de Windows: •Hacemos click en Next, opciones por defecto y continuamos. La instalaci´on se completar´a autom´aticamente. B.1.2 Configuraci´on de la m´aquina virtual •Abrimos VM VirtualBox y nos encontramos con la figura B.2 •Hacemos click sobre nueva, para crear una nueva m´aquina virtual. •En el siguiente paso le damos un nombre a la nueva m´aquina virtual, y elegimos sistema operativo (Ubuntu,Linux). Como se indica en la figura B.3 •El siguiente paso es asignar memoria RAM a nuestra m´aquina virtual como se ve en la figura B.4 •Despu´es debemos seleccionar el disco duro de la m´aquina, usaremos un disco duro existente:“Vocaliza.vdi”, que estar´a incluido en el paquete de instalaci´on. Figura B.5 46 Cap´ıtulo B. Instalaci´on del servidor Figura B.1: Instalador Oracle VM Figura B.2: Ventana de inicio Oracle VM B.1 VM VirtualBox 47 Figura B.3: Nombre nueva m´aquina virtual y sistema operativo Figura B.4: Asignaci´on de memoria a la m´aquina virtual 48 Cap´ıtulo B. Instalaci´on del servidor Figura B.5: Disco duro virtual Figura B.6: Resumen nueva m´aquina virtual •Al hacer click en siguiente accederemos al resumen de nuestra configuraci´on de la nueva m´aquina virtual como se muestra en la figura B.6 •Hacemos click en terminar y volveremos a la ventana inicial, donde vemos nuestra m´aquina virtual instalada correctamente, figura B.7 B.1.3 Configuraci´on de la red •El siguiente paso es configurar la red, para ello haremos click en Configuraci´on accediendo a la figura B.8 •En la ventana de red, seleccione la opci´on “conectado a: adaptador puente”. Para hacer un puente y que la m´aquina virtual sea vista como un equipo m´as de la red. B.1 VM VirtualBox 49 Figura B.7: Ventana inicio Oracle VM, con m´aquina virtual instalada Figura B.8: Configuraci´on de la red 50 Cap´ıtulo B. Instalaci´on del servidor Figura B.9: Selecci´on tarjeta de red •En la opci´on “nombre” seleccione la tarjeta de red que utiliza para conectarse a internet. Figura B.9 •Por ´ultimo ejecute su m´aquina virtual y abr´a un terminal, figura B.10 •Ejecute el comando ifconfig. La direcci´on correspondiente a la que est´a marcada en rojo(“Direccion inet: ” en la figura B.11), ser´a la direcci´on de la m´aquina virtual en su red. •Deje corriendo la m´aquina virtual en el equipo y desde cualquier ordenador de su red entre a: http://sudireccionEnrojo/vocaliza y aparecer´a la p´agina principal de la aplicaci´on. Enhorabuena, la aplicaci´on ha sido instalada correctamente. El usuario avanzado que quiera realizar otro tipo de instalaci´on tiene a su disposici´on el vocaliza.war pero requisito indispensable es una instalaci´on mysql con una base de datos vocaliza, en el puerto 3306 de la misma m´aquina. B.1 VM VirtualBox 51 Figura B.10: M´aquina virtual iniciada, ejecutar Terminal Figura B.11: Obtener direcci´on IP de la m´aquina virtual