Reconocimiento Automático del Habla

Slides:



Advertisements
Presentaciones similares
DISEÑO DE EXPERIMENTOS EXPERIMENTOS DE COMPARACIÓN SIMPLE
Advertisements

Planificación de Monoprocesadores
7ª Jornada sobre la Biblioteca Digital Universitaria JBDU2009 "La biblioteca universitaria en la web" 5 y 6 de noviembre de 2009 Biblioteca Central de.
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
Decisiones de diseño de bajo nivel
Medición de la usabilidad en aplicaciones de escritorio.
SERVIDORES VOCALES INTERACTIVOS: DESARROLLO DE UN SERVICIO DE PÁGINAS BLANCAS POR TELÉFONO CON RECONOCIMIENTO DE VOZ PROYECTO IDAS (Interactive telephone-based.
¿Cómo hacer para que una máquina comprenda el LN?
Problemas de Planificación para Máquina Única en Entornos Dinámicos Implementados con Metaheurística ACO y AEs de San Pedro M. Laboratorio de Tecnologías.
PROYECTO FIN DE CARRERA.  Introducción y Motivación  Fundamentos del Sistema QbH  Diseño e Implementación  Test y Resultados  Conclusiones  Trabajo.
DISEÑO Y GESTIÓN DE BASES DE DATOS Luciano H. Tamargo Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca INTRODUCCIÓN.
Asig. Interfaces de Usuario 1 Arquitecturas de Interfaces de Usuario Tema Elementos de un Interfaz de Usuario Elementos de Entrada Dispositivos.
Dpto. Señales, Sistemas y Radiocomunicaciones
GeNie GeNie: entorno de desarrollo para la
Conciencia Fonológica y Aprendizaje de la Lectura
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
CAPITULO 2 La Representación del Conocimiento
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Sistemas Evolutivos Introduccion.
Introducción a los SSOO Sebastián Sánchez Prieto.
REDES BAYESIANAS Y DECISIÓN ESTADÍSTICA
Control estadístico de Proceso
Sesión 2: Métodos Probabilísticos Básicos
Unidad VI: PRUEBAS DE HIPOTESIS
Clases 4 Pruebas de Hipótesis
Weka.
Actividad 6. Requisitos del software, referente a la estructura y base de datos. M.C. Juan Carlos Olivares Rojas Syllabus May,
Ingeniería de Software

TEORIA DE COLAS Integrantes: Luis Sibaja Edgar Castro Oscar Hurtado
Representando para Aprender
Modelos Ocultos de Markov
Sesión 5: Modelos Ocultos de Markov
Sesión 5: Modelos Ocultos de Markov
Aprendizaje (Machine Learning)  Pregunta interesante: Podemos hacer que las computadoras aprendan?  Aprender: mejorar automáticamente con la experiencia.
LAS GRANDES ETAPAS DEL DESARROLLO DEL LENGUAJE
Combinación de Clasificadores
MEDIDA DE LA USABILIDAD EN APLICACIONES DE ESCRITORIO
Perceptrón Multicapa Aplicaciones. Perceptrón Multicapa MLP Latitud Longitud... Altitud Radiación solar Aproximación de funciones MLP Estado de un reactor.
J. Troyano, Víctor Díaz, F. Enríquez y J. Barroso Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática Universidad de Sevilla.
An HMM-Based Threshold Model Approach for Gesture Recognition Hyeon-Kyu Lee and Jin H. Kim IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,
INVESTIGACION DE OPERACIONES
El análisis fonético y sus aplicaciones Aprendizaje de lenguas: corrección de la propia lengua y enseñanza de otras lenguas Aprendizaje de lenguas: corrección.
Programación de Sistemas
Sistemas de Diálogo Hablado Workshop-Brainstorming 30 abril 2013 Seminario de Lógica y Lenguaje. Universidad de Sevilla.
Ditribución del valor extremo Distribucion del maximo de N scores de matching de secuencias random independientes Si la probabilidad de este.
Integración de Redes Bayesianas con Programas Lógicos para Música Eduardo Morales L.Enrique Sucar Roberto Morales.
Una introducción a la computación evolutiva
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Construcción de Software
Capítulo 6. ANÁLISIS DE ALGORITMOS
Villahermosa, Tab. 21 septiembre MATERIA: Investigacion de operaciones TEMA: Lineas de espera ALUMNOS: Maria isabel vega chanona HORA: 11:00 am a.
Metodología de la programación
PLN Modelos del lenguaje1 Modelos Estadísticos del lenguaje Modelos del lenguaje (Language Models, LM) Noisy Channel model Modelos simples de Markov Smoothing.
7/24/2015Lingüística Computacional1 LINGÜÍSTICA COMPUTACIONAL Carlos Mario Zapata J.
Modelos ocultos de Markov (HMM)
Hidden Markov Models Angélica Minaya Francesca Barleta Jeanette velásquez Mónica Pajuelo Daniel Rueda.
G R U P O I B E R M Á T I C A Analítica Avanzada & Linked Data.
Estimación de proyectos de software
Enseñar con Aprendizaje Basado en Problemas
Técnica: es un procedimiento o conjunto de procedimientos, (reglas normas o protocolos), que tienen como objetivo obtener un resultado determinado, ya.
UNIDAD I 1.1 Conceptos y Aplicaciones de la hoja de cálculo
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Support Vector Machines.  Vocabulario básico: ◦ Repositorio de datos ◦ Atributos y Instancias ◦ Aprendizaje supervisado  Clasificación (Clase) ◦ Aprendizaje.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Félix Rivera National University College Online SEMI 1001 Tarea 4.1.
Transcripción de la presentación:

Reconocimiento Automático del Habla Eduardo Lleida Solano Dpt. de Ingeniería Electrónica y Comunicaciones Universidad de Zaragoza

Reconocimiento Automático del Habla una historia reciente Dificultades en el RAH ¿Cómo funciona? , las bases ¿Dónde estamos?, ¿a dónde vamos? Consejos: ¿Dónde utilizar RAH?

Algunas Referencias Interesantes Libros genéricos: John R. Deller, John G. Proakis, John H.L. Hansen “Discrete-Time Processing of Speech Signals” Macmillan Publishing Company, 1993 Douglas O’Shaughnessy “Speech Communications, Human and Machine” IEEE Press, 2000 Libros avanzados: Frederick Jelinek “Statistical Methods for Speech Recognition” MIT Press, 1997 Steve Young, Gerrit Bloothooft “Corpus-Based Methods in Language and Speech Processing” Kluwer Academic Publishers,1997 Internet: http://svr-www.eng.cam.ac.uk/comp.speech Socrates/Erasmus Thematic Network: Speech Communication Sciences http://tn-speech.essex.ac.uk/tn-speech

Reconocimiento Automático del Habla: una historia reciente Los inicios: años 50 Bell Labs .... Reconocimiento de dígitos aislados monolocutor RCA Labs .... Reconocimiento de 10 sílabas monolocutor University College in England .... Reconocedor fonético MIT Lincoln Lab .... Reconocedor de vocales independiente del hablante Los fundamentos: años 60 Comienzo en Japón (NEC labs) Dynamic time warping .... Vintsyuk (Soviet Union) CMU ... Reconocimiento del Habla Continua .... HAL 9000 Las primeras soluciones: años 70, el mundo probabilístico Reconocimiento de palabras aisladas LPC, programación dinámica IBM: inicio proyecto reconocimiento de grandes vocabularios Gran inversión en los USA: proyectos DARPA Sistema HARPY (CMU) primer sistema con exito

una historia reciente Reconocimiento del Habla Continua: años 80, expansión Algoritmos para el habla continua y grandes vocabularios Explosión de los métodos estadísticos: Modelos Ocultos de Markov utilizados inicialmente por IBM y Dragon Systems popularizados por Bell Labs Introducción de las Redes Neuronales en el reconocimiento de voz Sistema SPHINX Empieza el negocio: años 90, primeras aplicaciones Ordenadores y procesadores baratos y rápidos Sistemas de dictado Integración entre reconocimiento de voz y procesado del lenguaje natural. ¿Una realidad?: años 00, integración en el S.O. Integración teléfono y Voice Web browsers VoiceXML estandard

Algunas impresiones recientes:

Dificultades: 1. ¿El sistema de RAH tiene que reconocer la voz de una persona o varias personas (incluyendo, quizas, cualquier persona)? 2. ¿Cual es el tamaño del vocabulario a reconocer? 3. Sobre el modo de dirigirse al sistema de RAH, ¿nos dirigiremos con palabras incluyendo pausas entre ellas o hablaremos de forma continua? 4. Variabilidad acústica y confusión acústica del vocabulario 5. Entorno acústico en el que se utilizará el sistema de RAH 6. ¿Cómo activar o se activa el sistema de RAH? 7. ¿Qué conocimientos lingüísticos son necesarios incorporar en el sistema de RAH?

Mono vs. Independiente del locutor Monolocutor el sistema aprende utilizando la voz de una única persona resultados altos en tasas de reconocimiento modalidad necesaria para personas con problemas de dicción Independiente del locutor aprendizaje con grandes bases de datos de voz de muchas personas se reduce la tasa de reconocimiento necesario para aplicaciones telefónicas Adaptación al locutor aprendizaje inicial con multiples locutores aprendizaje posterior con el uso de una persona después de la adaptación comportamiento como monolocutor volver

Tamaño del Vocabulario Incremento de la dificultad de reconocimiento con el tamaño del vocabulario: p.e. El usuario no conoce todas las palabras que el sistema es capaz de reconocer Incremento en la complejidad con el tamaño del vocabulario: memoria, cálculo y algoritmos de búsqueda. Clasificación: pequeño vocabulario (1-99) vocabulario medio (100-999) grandes vocabularios (> 1000) volver

Palabras Aisladas vs. Habla Continua Reconocimiento de palabras aisladas las frases se pronuncian con pausas entre palabras pausas suficientemente largas facilidad en la localización del inicio y final de palabra se simplifican los algoritmos de reconocimiento modo no natural de comunicación Reconocimiento de habla continua las frases se pronuncian sin ningún tipo de restricción presencia de coarticulación entre palabras no hay conocimiento a priori de las fronteras entre palabras modo natural de comunicación fenómenos de habla espontanea volver

Variabilidad y Confusión Acústica Variabilidad acústica Diferencias en las pronunciaciones de sonidos una misma persona, entre personas coarticulación Unidad básica de reconocimiento fonemas, difonemas, trifonemas, semisílabas, sílabas, palabras Confusión acústica similitud acústica entre palabras del vocabulario estalagmita, estalagtita volver

Entorno Acústico volver Condiciones de laboratorio: voz de alta calidad sin ruidos, sin reverberación o ecos Condiciones reales ruido ambiental otras personas, equipos de sonido, aire acondicionado, ... Distorsiones del canal variaciones en los micrófonos, canal telefónico, salas, ... Ruidos de respiración, toses, labios, .... volver

Activación del Sistema de RAH Activación manual El usuario indica mediante, p.e. un pulsador, cuando debe reconocer Sistema fiable y robusto Sistema poco versátil Activación automática En sistemas de diálogo: Sistemas actuales: por turnos En el futuro: por turnos con interrupción Palabra de activación, tipo Start Trek En el futuro: por comprensión del diálogo Volver

Restricciones Lingüísticas Léxico: ¿Cómo se construyen las palabras a partir de las unidades de reconocimiento? fonemas, difonemas, trifonemas Sintáctico: ¿Cómo están relacionadas unas palabras con otras para formar una frase? Nivel de reconocimiento automático del habla Semántico: ¿Cúal es el significado de las palabras?, Necesario para mantener un diálogo Nivel de comprensión Pragmático Relaciones entre las palabras y sus usos a lo largo del diálogo “Me gusta” ---> hace referencia a algo ocurrido en el diálogo Nivel de diálogo

Reconocimiento Diálogo Comprensión volver

¿Cómo funciona?, Las bases Formulación matemática simple: teoría probabilística Sea O una secuencia de T medidas acústicas de la voz Sea W una secuencia of N palabras pertenecientes a un vocabulario fijo y conocido. P(W|O) es la probabilidad de que la secuencia de palabras W haya sido pronunciada, dado que la secuencia O de medidas acústicas ha sido observada El reconocedor decidirá a favor de la secuencia de palabras W que satisfaga W = arg maxW P(W|O) Es decir, el reconocedor dará como resultado la secuencia mas probable de palabras dadas la medidas acústicas obtenidas.

Fórmula del Reconocedor Las Bases Utilizando la fórmula de Bayes P(W) ... Probabilidad de que la secuencia de palabras W sea pronunciada P(O|W) ... Probabilidad de que cuando una persona pronuncia la secuencia de palabras W obtengamos la secuencia de medidas acústicas O P(O) ... Probabilidad de la secuencia de medidas acústicas O Fórmula del Reconocedor Modelo Acústico Modelo de Lenguaje

Componentes de un sistema de Reconocimiento voz texto Procesado Acústico Análisis Gramatical transcripción Análisis Léxico Hz Aprendizaje modelos acústicos Entrenamiento Modelado Acústico P(O|W) Modelado Lenguaje P(W) Reconocimiento Algoritmo de Reconocimiento Secuencia de Palabras Procesado Acústico Voz

Componentes de un sistema de Reconocimiento voz texto Procesado Acústico Análisis Gramatical transcripción Análisis Léxico Aprendizaje modelos acústicos Entrenamiento P(O|W) P(W) Modelado Acústico Modelado Lenguaje Reconocimiento Algoritmo de Reconocimiento Secuencia de Palabras Procesado Acústico voz

Modelado Acústico: ¿Qué y Cómo? ¿Qué queremos modelar? Unidades básicas de reconocimiento Modelos de palabras Modelos independientes del contexto: fonemas Modelos contextuales: modelan coarticulación fonemas en contextos concretos trifonema A-B+C difonema A-B or B+C ¿Cómo modelamos las unidades? Modelos Ocultos de Markov probabilidades de transición aij------> la parte oculta distribución de probabilidades de observación bj(ot) -----> la parte visible

Modelos Ocultos de Markov Reconocimiento Dado un Modelo Oculto de Markov (HMM) l Calcular la probabilidad de que dicho modelo genere la secuencia de medidas acústicas O={O1, O2, O3,.... OT}

Hidden Markov Models transition probabilities satisfy the stochastic constraint N number of states HMM state duration: exponential distribution, weak point because: Speech: gamma distribution Output probability distribution The acoustic measurements take values from a finite set Discrete probability densities Continuos probability densities Mixture of Gaussian probability density function

Hidden Markov Models Mixture Gaussian Output Distributions

Hidden Markov Models Speech modeling: Basic speech units Word models context independent models: phone models context dependent models: model coarticulation phones in a particular context triphone A-B+C biphones A-B or B+C

Forward-Backward Algorithm

Forward-Backward Algorithm

Modelos Ocultos de Markov Aproximación: secuencia más probable de estados Algoritmo de Viterbi Estado observación 1 2 3 T Inicialización d1(i) = pi bi(O1) y1(i) = 0 1  i  N

Algoritmo de Viterbi Estado 3 aij dt(j) 2 1 1 2 dt-1(i) T observación Recursión dt(j) = max [dt-1(i) aij] bj(Ot) 2  t  T 1  i  N yt(j) = arg max [dt-1(i) aij] 1  j  N

Algoritmo de Viterbi Estado observación 1 2 3 T Backtraking P* = max [dT(i)] 1  i  N qT*=arg max [dT(i)] qt* = yt+1( qt+1*) t = T-1, T-2, ...1

Estimacion de los Parámetros de un HMM Modos Entrenamiento: Aislado Continuo volver

Modelado de Lenguaje Controla la actividad de un reconocedor Restringe el proceso de reconocimiento, solo se buscan aquellas combinaciones de palabras permitidas por la gramática Tipos básicos de gramáticas: 1. Gramáticas de reglas o de estados finitos 2. Gramáticas de dictado o estocásticas

Modelado de Lenguaje: Gramáticas de Reglas La gramática le indica al reconocedor mediante reglas que es lo que espera que el usuario diga Reconocimiento rápido y bastante exacto Es necesario un diseño cuidadoso de las reglas para permitir una libertad de expresión razonable Ejemplo (Java Speech Grammar format) #JSFG v1.0 // Define the grammar name grammar SimpleCommands; // Define the rules public <Command>=[<Polite>]<Action><Object>(and <Object>)*; <Action> = open| close | delete; <Object> = the window | the file; <Polite> = please;

Modelado de Lenguaje: Gramáticas de Dictado Punto de vista probabilístico p( W ) = p( w1 w2 ...wN ) = p( w1 ) p( w2 / w1 ) ... p( wN / w1 w2 ...wN-1 ) n-gramas generalmente: n = 2 : bigramas n = 3 : trigramas p( wi / w1 w2 ...wi-1 ) = p( wi / wi-n+1 ...wi-1 ) Clases de palabras p( wi / w1 w2 ...wi-1 ) = p( wi / C(wi) ) p( C(wi) / C(wi-n+1) ...C (wi-1) ) Dificultad de una tarea: número promedio de transiciones desde una palabra: Perplejidad volver

Algoritmo de Reconocimiento voz Secuencia de palabras Algoritmo de Reconocimiento O W = w1 w2 ... wN Regla de búsqueda W = argmax { p( W/O ) } = argmax { p( O / W ) p( W ) } W Modelo de Lenguaje Modelo Acústico

Word String Search Maximization function W = argmax { p( W /O ) } = argmax { p( O / W ) p( W ) } W p( O / W) = Σ p( O , s / W) = Σ Π p( Ois / wi)  s i Acoustic model p( W ) = p( w1 w2 ...wN ) = p( w1) Π p( wi / wi-1) i Language model i W= argmax { p( w1) p( O1s / w1) Π p( Ois / wi) p( wi / wi-1) } W

Word String Search: Isolated Word Recognition GRAMMAR COMPUTATION

Word String Search: CSR Search Network o states Linear lexicon been B IH N seen S IY N a b c d e Word Acoustic models time word acoustic model

Word String Search : CSR intra-word transitions time a b c d e o states o Acoustic models

Word String Search : CSR inter-word transitions time a b c d e o states Acoustic models o Language model

Word String Search : CSR inter-word transitions time a b c d e o states Acoustic models o Write the predecessor from where the transition (d) is done and the initial time (i) i

Word String Search : CSR Backtraking time a b c d e o states Acoustic models o o o o o deb

Algoritmo de Reconocimiento Problemas Carga computacional no se pueden propagar todos los caminos Búsqueda en Haz Activar o desactivar caminos según su probabilidad caiga o no por debajo de un umbral dependiente del camino más probable. Gestión de Memoria Partial traceback cuando una palabra está reconocida, todos los caminos activos pasan por ella.

Partial Traceback e d c b a back Word “d” is recognized states time a b c d e o states Acoustic models o o o o o back

Current Error Rates for High-Performance Speech Recognition Corpus Type Vocabulary, # of words Word error rate Connected digits Read 10 < 0.3 % Airline travel system Spontaneous 2500 2 % Wall Street Journal Read 64000 7 % Broadcast news Read/Spontaneous 64000 30 % Call home Conversational 10000 50 %

¿Dónde estamos? Sistemas de Dictado Adaptado al locutor Gran vocabulario y ampliable Habla continua Servicios Telefónicos Acceso a información Encuestas Transacciones comerciales Centralitas manos libres

¿A dónde vamos?

Consejos: ¿Dónde y cuando utilizar RAH? Y para ir terminando .... Consejos: ¿Dónde y cuando utilizar RAH? Premisa: Las aplicaciones con RAH tienen éxito cuando el usuario está motivado en su uso Limitaciones: 1. Los sistemas de RAH no transcriben voz sin restricciones 2. Los sistema de RAH comenten muchos errores Necesidad: Verificar el resultado del reconocedor: confianza acústica

¿Dónde y cuando utilizar la voz? Utilizar cuando ... Evitar cuando ... La tarea requiera que el usuario hable con otras personas mientras utiliza la aplicación No se dispone de un teclado,p.e, sobre la red telefónica Tareas que requieran la utilización de las manos del usuario, p.e. editores gráficos El usuario trabaja en condiciones malas de ruido ambiental Usuarios que no pueden teclear o no están acostrumbrados al uso de un teclado Las tareas se pueden realizar de una forma mas sencilla y eficiente con un ratón y teclado Usuarios con discapacidades físicas que limitan el uso de las manos

tipos de errores Rechazos: el usuario habla pero el RAH no entiende lo que dice Sustituciones: el RAH reconoce palabras que son distintas a las que el usuario pronuncia Falsas Alarmas: el usuario no dice nada y el RAH devuelve una palabra reconocida

Causas problema causa Rechazo o Sustituciones Falsas Alarmas El usuario pronuncia una o mas palabras no contenidas en el vocabulario La frase pronunciada no se adapta a ninguna gramática activa El usuario habla antes de que el sistema esté listo para reconocer Palabras muy parecidas que producen confusión Pausas muy largas en el medio de frases El usuario habla con disfluencias (falsos comienzos,”umm”,”ehh”) El usuario tiene un acento muy marcado o está resfriado La voz del usuario difiere considerablemente del aprendizaje El micrófono no está bien ajustado Rechazo o Sustituciones Sonidos como risas, toses, etc. Voces lejanas El usuario está hablando con otra persona Falsas Alarmas