Reconocimiento de Voz

Calificaciones


Evaluación del Curso:

2 Examenes: 20% (10 % cada uno) - un examen a la mitad del curso y otro en las fechas de exámenes finales-

8 Tareas / Proyectos: 80%



Temario del Curso

Notas adicionales Interfaces Humano Computadora.

Notas sobre Diseņo de Interfaces Humano Computadora.

Notas sobre XML, TTS y Sistemas de Diálogo.


Introducción

What is Speech Technology.html

Datos y citas:
El habla es la interfaz "ideal". "Es como deberíamos poder interactuar con las computadoras. Pero cuando debería empezar a sustituir el mouse y el teclado?" (Bruce Armstrong, Mgr. del Gpo. Speech Technologies, The Novell Applications Group, 1994).

AT&T introdujo su Voice Recognition Call Processing System en: 1992 (llamadas por cobrar, por cargo a tarjeta de crédito, cargos a terceros) a finales de 1993 procesaba 50 millones de llamadas al mes. En 1995 teléfonos celulares ya ofrecían servicios de marcado activado por voz.

En los 1990's —en el sector Salud se inicia la generación de reportes clínicos en salas de emergencia ( fomentado por las empresas se seguros Blue Cross y Blue Shield). Posteriormente se amplió a diversas areas de hospitales como radiología, cardiología, etc.

En 1995 se desarrollan los primeros prototipos de aparatos electrodomésticos —Whirlpool Corp.

Actualmente las PC's integran utilerías de voz. Microsoft Corp.: Facilidades para construir objetos de comandos de voz (voice-command objects) en Win95. Creative Labs integra Procesamiento automático en la mayoría de sus tarjetas soundblaster. Compaq y Pure Speech desarrollan conjuntamente tecnología de voz. Seagate Tech compró 25% de Dragon Systems.

En general crece la publicidad y la curiosidad hacia los sistemas de voz.



1.1 Procesamiento Automático de Voz

Automatic Speech Processing.html

1.1.1 ¿Por qué? (Razones de mercado, técnico, etc.)

*Mayor productividad

*Recuperación rápida de la inversión
*Acceso a nuevos mercados
*Control del ambiente
*Naturalidad

*Diferencia entre compañias o productos

1.1.2 El Desafío


*Cantidad de información en una señal de voz
*Escasez de información en una señal de voz
*Flujo continuo de voz (habla)
*Variabilidad entre las locuciones (utterances) del mismo locutor
*Variabilidad entre locutores
*Ruido, calidad del micrófono, etc.


1.1.3 Respaldo Tecnológico

*Microprocesadores más poderosos
*Miniaturización de componentes
*Integración de computadoras y telefonía
*Crecimiento de multimedia

1.2 Breve Historia del Reconocimiento de Voz


1870's Alexander Graham Bell:

Quería construir un sistema/dispositivo que hiciera el habla visible a las personas con problemas auditivos. Resultado: el teléfono

1880's Tihamir Nemes:

Solicita permiso para una patente para desarrollar un sistema de transcripción automática que identificara secuencias de sonidos y los imprimiera (texto). Pero fue rechazado como "Proyecto no Realista"

*30 años después AT&T Bell Laboratories:

Construye la primera máquina capaz de reconocer voz (basada en Templates) de los 10 dígitos del Inglés. Requería extenso reajuste a la voz de una persona, pero una vez logrado tenía un 99% de certeza. Por lo tanto surge la esperanza de que el reconocimiento de voz es simple y directo.

*A mediados de los 60's :

La mayoría de los investigadores reconoce que era un proceso mucho más intrincado y sutil de lo que habían anticipado. Por lo tanto empiezan a reducir los alcances y se enfocan a sistemas más específicos:

Estos sistemas empiezan a incorporar técnicas de normalización del tiempo (minimizar diferencia en velocidad del habla)
Además, ya no buscaban una exactitud perfecta en el reconocimiento.

Después:

IBM y CMV trabajan en reconocimiento de voz contínuo pero no se ven resultados hasta los 1970's.

Principios 1970's : se produce el 1er Producto de reconocimiento de voz, el VIP100 de Threshold Technology Inc. (utilizaba un vocabulario pequeño, dependiente del locutor, y reconocía palabras discretas ). Gana el U.S. National Award en 1972.

Luego:
Nace el interes de ARPA del U.S. Department of Defense, y gracias al lanzamiento de grandes proyectos de investigacióny financiamiento por parte del gobierno se precipita la época de la inteligencia artificial.

El proyecto financiado por ARPA busca el reconocimiento de habla contínua, de vocabulario grande. Impulsa que los investigadores se enfoquen al entendimiento del habla.
Los sistemas empiezan a incorporar módulos de:

Este proyectos (el mas grande es de los años 70's ) termina en 1976 con el resultado de que CMU, SRI, MIT crearon sistemas para el proyecto ARPA SUR (Speech Understanding Research).

80's a 90's:
Surgen los sistemas de vocabulario amplio, que ahora son la norma. (más de1000 palabras) . Adicionalmente bajan los precios de estos sistemas.
Empresas importantes actualmente:

2. ¿Qué es un sistema de reconocimiento de voz?

Study of Speech.doc

Reconocimiento de voz generalmente es utilizado como una interfaz entre humano y computadora para algún software.

Debe cumplir 3 tareas:

Componentes en una aplicación
 

Entrada de Voz-> Preprocesamiento->Reconocimiento->Comunicación<->Sw de aplicación
Existe una comunicación bilateral en aplicaciones, en las que la interfaz de voz está íntimamente relacionada al resto de la aplicación. Estas pueden guiar al reconocedor especificando las palabras o estructuras que el sistema puede utilizar. Otros sistemas sólo tienen una comunicación unilateral.

Los Procesos de pre-procesamiento, reconocimiento y comunicación deberían ser invisibles al usuario de la interfaz. El usuario lo nota el desempeño del sistema de manera indirecta como: certeza en el reconocimiento y velocidad. Estas características las utiliza para evaluar una interfaz de reconocimiento de voz.


2.1 Los Datos del Reconocimiento de Voz

Los sistemas de reconocimiento de voz se enfocan en las palabras y los sonidos que distinguen una palabra de la otra en un idioma. Estas son los fonemas. Por ejemplo, "tapa", "capa", "mapa", "napa", son palabras diferentes puesto que su sonido inicial se reconocen como fonemas diferentes en Español.

Existen varias maneras para analizar y describir el habla. Los enfoques más comúnmente usados son:

  1. Articulación: Análisis de cómo el humano produce los sonidos del habla.

  2. Acústica: Análisis de la señal de voz como una secuencia de sonidos.

  3. Percepción Auditiva: Análisis de cómo el humano procesa el habla.


Los tres enfoques proveen ideas y herramientas para obtener mejores y mas eficientes resultados en el reconocimiento.

2.1.1 Articulación

La articulación centra su atención en el aparato vocal: Garganta, boca, nariz, en donde se producen los sonidos del habla.

Clasificación de los fonemas:


Para consistencia en el análisis y facilitan la comunicación entre investigadores se han definido diferentes sistemas notacionales para clasificar los sonidos del habla de todas las lenguas del mundo.

Sistemas notacionales:


CONSONANTES

Labios

Labios+Dientes

(Entre los labios)

Puente Alveolar

Paladar Duro

Vellum

Glottis

Stops

P, B

 

 

T, D

 

K, G

 

Fricativos

 

F, V

D, H (that)

S, (Z) tzin

Sh

X

 

Africativos

 

 

 

 

Ch

 

 

Nasales

M

 

 

N

 

Ng

 

Semivocales

W

 

 

L

J

 

 

Flaps (Vibrantes)

 

 

 

R simple

RR multiple

 

 

 



Diptongos:

Nasal:

Alveolar

Vibrantes:

Africativo:

Semivocales:

Cuatro = kc k w a tc t r o
Cuento = kc k w e n tc t o

Fricativos :

Oclusivos:


En resúmen, la ARTICULACION provee información valiosa sobre la forma de producción de la voz.

2.1.2 La Señal (Acústica)

Un reconocedor no puede analizar los movimientos en la boca!. En su lugar, la fuente de información es la señal de voz misma.

El Habla es una señal analógica , es decir, un flujo contínuo de ondas sonoras y silencios.

El conocimiento de la ciencia de la acústica se utiliza para identificar y describir los atributos del habla que son necesarios para un reconocimiento de voz efectivo.

Cuatro características importantes del análisis acústico son:

Frecuencia y amplitud

Todos los sonidos causan movimientos entre las moléculas del aire. Algunos sonidos, tales como los que produce una cuerda de guitarra, producen patrones regulares y prolongados de movimiento del aire. Los patrones de sonidos más simples son los sonidos puros (pure tones) , y se pueden representar gráficamente por una onda sinoidal.

Es un patrón simple y cíclico. La amplitud de una onda sonora fisiológicamente representa (corresponde) al movimiento del tímpano de oido.

Frecuencia: Número de vibraciones (ciclos) del tono por segundo 100 por segundo = 100 ciclos/segundo = 100 Hz.

Tonos altos = Mayor frecuencia
Tonos bajos = Menor frecuencia
El volúmen de un sonido refleja la cantidad de aire que es forzada a moverse.
Se describe y representa como amplitud de la onda y se mide en decibeles dB.


Resonancia

La mayoría de los sonidos incluyendo del habla tienen una frecuencia dominante llamada frecuencia fundamental.

La percibimos como el pitch (tono) combinado con frecuencias secundarias

En el habla, la frecuencia fundamental es la velocidad a la que vibran las cuerdas vocales al producir un fonema sonoro.

Sumadas a la frecuencia fundamental hay otras frecuencias que contribuyen al timbre del sonido. (Son las que nos permiten distinguir una trompeta de un violín, etc. o las voces de diferentes personas)

Algunas bandas de la frecuencia secundarias juegan un rol importante en la distinción de un fonema de otro. Se les llama formantes y son producidas por la resonancia.

Resonancia: Se define como la habilidad que tiene una fuente vibrante de sonido de causar que otro objeto vibre (por ejemplo en una fábrica, una máquina hace que vibre el piso)

Las cámaras de resonancia en instrumentos de música responden a frecuencias específicas o anchos de banda específicos. Al ser estas cajas o cámaras de resonancia más grandes que la fuente del sonido amplifican las frecuencias a las que responden.

La garganta, boca y nariz son cámaras de resonancia que amplifican las bandas o frecuencias formantes contenidas en el sonido generado por las cuerdas vocales. Estas formantes amplificadas dependen del tamaño y forma de la boca y si el aire pasa o no por la nariz.

Los patrones de las formantes son más fuertes (distinguibles) para vocales que para las consonantes no sonoras.


Estructura Armónica y Ruido

El habla no es un tono puro es continuación de múltiples frecuencias y se representa como una onda compleja.

Vocales se componen de 2 o más ondas simples son ricos en frecuencias secundarias y contienen estructuras internas que incluyen ondas cíclicas y aciclicas.

Las ondas acíclicas no tienen patrones repetitivos generalmente llamados ruido forman parte de todos los fonemas sonoros, consonantes y semivocales.

Las frecuencias y características de los patrones acíclicos proveen información importante sobre la identidad de los fonemas.

La identidad de las consonantes también se revela por el cambio en las formantes que resultan cuando las articuladores se mueven de un fonema anterior a la consonante y de ella al siguiente fonema llamadas transiciones de formantes. Estas se analizan utilizando técnicas como la transformada rápida de Fourier (FFT) generando espectrogramas.
La complejidad de las formas de onda de los fonemas y las constantes transiciones de un patrón a otro dificultan el análisis de los patrones utilizando las representaciones complejas de las ondas.
Los patrones armónicos y de ruido se muestran con más claridad utilizando los espectrogramas de banda ancha.
La localización (la distancia entre ellas) y cambio en las formantes ayudan a identificar fonemas y palabras.

2.1.3 Coarticulación

Los fonemas aparentemente tienen parámetros acústicos claramente definidos, pero más bien:

Los fonemas tienden a ser abstracciones implicitamente definidas por la pronunciación de palabras en un lenguaje.

La forma acústica de un fonema depende fuertemente del contexto acústico en el que sucede. A éste efecto se le llama coarticulación.

Todo

Tipo Estornudo

Investigadores, utilizan este concepto para distinguir entre la característica conceptual de un sonido del habla (fonema) y una instancia o pronunciación específica de ese fonema (tono).

2.1.4 Percepción Auditiva

La variabilidad del habla producida por coarticulación y otros factores hacen del análisis de la voz extremadamente difícil.

La facilidad del humano en superar estas dificultades sugiere que un sistema basado en la percepción auditiva podría ser un buen enfoque. Desafortunadamente nuestro conocimiento de la percepción humana es incompleto.

Lo que sabemos es que el sistema auditivo está adaptado a la percepción de la de voz.

El oido humano detecta frecuencias de 20Hz a 20,000 Hz pero es más sensible al rango entre 1000 y 6000 Hz. También es más sensible a cambios pequeños en la frecuencia en el ancho de banda crítico para el habla. Además el patrón de sensibilidad a cambios en el tono (pitch) no corresponde a la escala lineal de frecuencias de ciclos por segundo de la acústica.

Para representar mejor al patrón de percepción del oído humano, se desarrollo una escala llamada mel-scale, la cual es una escala logarítmica.

Estudios recientes muestran que el humano no procesa frecuencias individuales independientemente, como lo sugiere el análisis acústico. En su lugar escuchamos grupos de frecuencias y somos capaces de distinguirlas de ruidos alrededor.

Speech coding - Codificación de la señal

La codificación de una señal se refiere a los métodos para codificar digitalmente el habla para utilizarlo en diversos ambientes, desde juguetes parlantes, CD’s hasta transmisiones vía telefónica.

Para utilizar la voz como dato en aplicaciones tan diversas como el voice mail, anotaciones en un texto o un directorio parlante, es necesario almacenar la voz de manera que una computadora pueda recuperarla.

La presentación digital de la voz nos provee también con las bases para el reconocimiento y síntesis de voz.

El método "convencional" o secuencial de almacenamiento de datos, la cinta magnética requiere de que se le adelante y regrese hasta encontrar la posición buscada. Es propensa a daño mecánico, no se pueden editar (cut/paste) y no duran mucho tiempo en uso.

Alternativa: métodos de codificación digital, manipular el sonido en memoria.

Por lo tanto la meta es capturar fielmente la señal con el menor número de bits.
Esto provoca que se tengan que tomar en cuenta diversos factores:


Waveform coders: Aprovechan el conocimiento sobre el habla en sí.

Source coders: Modelan la señal en términos de los órganos vocales (vocal tract).

Muestreo y Cuantización

El habla es una señal contínua y varia en el tiempo.
Las variaciones en la presión del aire se irradian desde la cabeza y se transmiten por el aire.
Un micrófono convierte esas variaciones en presión del aire a variaciones en voltaje : señal análoga.

Análoga: la señal se puede transmitir a través de un circuito telefónico (voltaje) o almacenados en una cinta magnética (flujo magnético).

Mundo Real: los estímulos sensoriales son análogos.

Si embargo, para las computadoras: es neceasrio digitalizar la señal (primera fase del procesamiento de la señal)

Series de valores numéricos con una frecuencia regular. (frecuencia de muestreo).

El número posible de valores está limitado por el número de bits disponible para representar a cada muestra.

PCM Pulse Code Modulation (simple rep.)

Algoritmos de codificación

Codificación y codificación

Consideraciones del codificador

Muestreo (Sampling)

Asigna un valor numérico a la señal en unidades discretas de tiempo (constante) .
La frecuencia Nyquist: Específica la frecuencia máxima de una señal que puede reproducirse completamente. Esta estabvlece que

Frecuencia muestreo = 2 veces la frecuencia máxima de la señal

para poder reproducirla.

Para poder reproducir la señal análoga debe pasar por un filtro pasa-bajas a la frecuencia de muestreo (quitar ruidos creados por el muestreo).

Al no cumplirse estas condiciones sucede el fenómeno de aliasing


Señal que varia lentamente: muestreada en una frecuencia T

Si la señal varía más rápido se requiere una T más pequeña por lo tanto un menor ancho de banda de frecuencias.

El humano produce señales de Voz desde los 100(hombre)-400(mujer) Hertz hasta los 15000Hz.

Teléfono : 3100Hz por lo tanto se muestrea a 8000 Hz, intelegible pero baja calidad.

Comparado con un CD, se muestrea a 44.1Hz

20Khz
El ancho de banda es mayor para instrumentos que para voz. Pero la diferencia es audible!!
Por lo tanto se requiere mayor espacio para almacenar y transmitirla.

Resolución: Cuantización

Cada muestra se representa con un valor digital limitando el rango de valores discretos correspondiente al original.

Ej.
Utilizando 4 bits se pueden representar 16 valores diferentes.
Con 8 bits ya son 256 valores.

Esto se puede ver como la resolución:

El error o diferencia entre la señal original y la reconstruida se percibe como ruido.

Por lo tanto, a mayor resolución mayor cuantizcación y menor ruido como consecuencia.

La resolución del "cuantizer" (# de bits por muestra) se describe generalmente en términos de la relación señal-a-ruido (signal to noise ratio o SNR)

A mayor SNR es mayor la fidelidad de la señal digitalizada.

SNR aprox 2 B (B=bits/muestra)

Es independiente de la frecuencia de muestreo.

Teléfono: 8bits/muestra , es decir, si muestreamos a 8kHz tenemos 8000 muestras por segundo y así 8000 x 8 = 64000 bits por segundo.

CD: 16bits/muestra, por lo tanto 44100 muestras por segundo x 16bits = 705600 bits por segundo (mono) para 2 canales (estéreo) se duplica.


Template-based Approach

Teoría que ha dado lugar a toda una familia de técnicas de reconocimiento de voz, causando un considerable avance durante las décadas de los 70’s y 80’s.




El principio es simple: Se almacenan patrones de voz típicos (templates) como modelos de referencia en un diccionario de palabras candidato. El reconocimiento se lleva a cabo comparando la expresión desonocida a los patrones almacenados (templates) seleccionando el que más se le parece.

Usualmente se construye patrones para las palabras completas.

Ventaja: Se evitan errores debidos a la segmentación o clasificación de unidades pequeñas que pueden variar mucho acústicamente, como los fonemas.

Desventaja: Cada palabra requiere de su patrón y el tiempo de preparar y compararlos se vuelve demasiado al incrementarse el tamaño del vocabulario.

Inicialmente se pensaba que se restringía sólo a reconocimiento dependiente del locutor. Sin embargo se logro un reconocimiento independiente del loc. Utilizando técnicas de "Clustering" para generar automáticamente grupos de patrones para cada palabra del vocabulario.

También pasó de ser para el reconocimiento de palabras aisladas a habla continua utilizando técnicas de programación dinámica para encontrar la mejor cadena de patrones.

a) Medición de características:

Se trata básicamente de una técnica de reducción de datos en la cual el grán número de datos en la señal grabada es transformados en un grupo más pequeño de carac’s que describen las propiedades importantes de la señal.

El tipo de características que se calculan depende de:

  1. Tiempo para calcularlas
  2. Espacio para almacenarlas
  3. Facilidad de Implementación.

Análisis mediante "banco de filtros" (Filter Bank)

Una muestra de voz se puede aproximar como una combinación lineal de muestras anteriores.

b) Determinación de similitud entere patrón de referencia de voz y serial capturada.

R(t) T(t)

Se busca una función de alinamiento w(t) que mapee R y las partes correspondientes de T.

El criterio de correspondencia es la mimización de una medida de distancia D(T,R)

Por lo tanto se busca una w(t) tal que mistica d(T(t), R(W(t))) función de ponderación deriva de w(t)

D(T,R)= min INTEGRAL

dw(t)

conjunto de funciones diferenciables que se incrementan monotónicamente

complicado snore puede resalren en general por lo tanto se debe discretizar.

Se buscan una alineación en tiempo "optima" a través de una curva que relacione el eje de tiempo m de R a el eje de tiempo del patrón T.

m=w(n)

Restricciones w(I)=1

W(NT)=NR

Para determinar el tipo de la alineación se propusieron diversas técnicas:

  1. alineamiento lineal m=w(n)=(n-1)[(NR-1)/(NT-1)]+1

  2. Mapeo de eventos temporales (significativos) en ambos patrones

  3. Máxima Correlación se varía la función para maximizar la correl entre RyT

  4. Dynamic Time Warping (-se calcula la distancia entre R y T)

Se debe encontrar una medida que indique qué tan similares con los patrones R y T. Para ello es necesario alinearlos de alguna forma.

C) Reglas de decisión

Nearest neighbors el candidato con la menor distancia o una lista ordenada por distancias (de menos a mayor)

Se usa cuando se tienen varios patrones de referencia para cada cantidad R.


3. Creación de un Reconocedor de Voz


Pasos

1) Entrenamiento- adquisición de los conjuntos de características para cada palabra en el vocabulario.

2) Clustering- Creación de los patrones de referencia.

3) Pruebas




MODELOS OCULTOS DE MARKOV


CORPORA DE VOZ

Speech corpora.doc

Entrenamiento de un Reconocedor de Voz


Pasos para la creación de un reconocedor de voz basado en redes neuronales utilizando el CSLU Toolkit Nota: para ello se necesita bajar un conjunto adicional de scripts: scripts.zip y tlatoa.zip

Síntesis de Voz


Speech synthesis.doc