ES2278763T3 - Sistema y procedimiento de reconocimiento de voz con una pluralidad de motores de reconocimiento. - Google Patents
Sistema y procedimiento de reconocimiento de voz con una pluralidad de motores de reconocimiento. Download PDFInfo
- Publication number
- ES2278763T3 ES2278763T3 ES01953554T ES01953554T ES2278763T3 ES 2278763 T3 ES2278763 T3 ES 2278763T3 ES 01953554 T ES01953554 T ES 01953554T ES 01953554 T ES01953554 T ES 01953554T ES 2278763 T3 ES2278763 T3 ES 2278763T3
- Authority
- ES
- Spain
- Prior art keywords
- voice
- engine
- hypothesis
- person
- voice recognition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000001419 dependent effect Effects 0.000 claims abstract description 30
- 230000014509 gene expression Effects 0.000 claims description 48
- 239000000284 extract Substances 0.000 claims description 2
- 108700041286 delta Proteins 0.000 claims 5
- 230000036962 time dependent Effects 0.000 claims 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000012549 training Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 14
- 230000011218 segmentation Effects 0.000 description 12
- 230000006978 adaptation Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000003595 spectral effect Effects 0.000 description 10
- 230000003071 parasitic effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000001228 spectrum Methods 0.000 description 7
- 241001014642 Rasta Species 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 244000045947 parasite Species 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 101100343591 Caenorhabditis elegans lnkn-1 gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/32—Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
Landscapes
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
- Selective Calling Equipment (AREA)
- Circuit For Audible Band Transducer (AREA)
- Machine Translation (AREA)
- Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
Abstract
Un sistema de reconocimiento de voz (100), que comprende: - un procesador acústico (104) configurado para extraer unos parámetros de voz a partir de unas muestras de voz digitalizadas de una expresión de voz; - una pluralidad de motores de reconocimiento de voz (106, 108, 110) acoplados al procesador acústico (104), estando cada motor de reconocimiento de voz configurado para producir una hipótesis; y Una lógica de toma de decisiones que comprende: - unos medios para extraer unos parámetros de voz con un procesador acústico (104) a partir de unas muestras de voz digitalizadas de una expresión de voz; - unos medios para acoplar una pluralidad de motores de reconocimiento de voz al procesador acústico (104); y - unos medios para producir una pluralidad de hipótesis desde cada motor de reconocimiento de voz; - unos medios para comparar la hipótesis más verosímil del primer motor de reconocimiento de voz con la segunda hipótesis más verosímil del primer motor de reconocimiento de voz para formar una primera diferencia, delta 1; - unos medios para comparar la hipótesis más verosímil del segundo motor de reconocimiento de voz con la segunda hipótesis más verosímil del segundo motor de reconocimiento de voz para formar una segunda diferencia, delta 2; - unos medios para añadir delta 1 y delta 2 para formar una suma delta; y - unos medios para aceptar la hipótesis más verosímil del primer motor de reconocimiento de voz si la hipótesis más verosímil del primer motor de reconocimiento de voz es igual que la hipótesis más verosímil del segundo motor de reconocimiento de voz y la suma delta es mayor que un primer umbral predeterminado.
Description
Sistema y procedimiento de reconocimiento de voz
con una pluralidad de motores de reconocimiento.
La presente invención pertenece generalmente al
campo de las comunicaciones y más específicamente a un sistema y a
un procedimiento de reconocimiento de voz nuevos y
perfeccionados.
El reconocimiento de voz (RV) representa una de
las técnicas más importantes para dotar a una máquina de una
inteligencia simulada para reconocer unos comandos de usuario o unos
comandos activados por la voz del usuario y para facilitar una
interfaz humana con la máquina. El RV representa también una técnica
clave para la comprensión de la voz humana. Los sistemas que
emplean unas técnicas para recuperar un mensaje lingüístico desde
una señal acústica de frecuencia vocal se llaman reconocedores de
voz. Generalmente, el término "reconocedor de voz" se usa aquí
para denotar cualquier dispositivo que permita una interfaz con la
voz del usuario. Un reconocedor de voz comprende, típicamente, un
procesador acústico, un extractor de características y un
decodificador de palabras. El procesador acústico extrae una
secuencia de características de soporte de la información, o
vectores, que son necesarios para lograr un RV de la voz entrante
sin procesar. El decodificador de palabras decodifica la secuencia
de características, o vectores, para producir un formato de salida
significativo y deseado tal como una secuencia de palabras
lingüísticas correspondientes a la expresión de voz introducida.
El procesador acústico representa un subsistema
de análisis de voz frontal en un reconocedor de voz. En respuesta a
una señal de entrada de voz, el procesador acústico proporciona una
representación apropiada para caracterizar la señal de voz de
tiempo variable. El procesador acústico debería rechazar la
información irrelevante tal como el ruido de fondo, la distorsión
del canal, las características del usuario y la manera de hablar. Un
proceso acústico eficaz proporciona unos reconocedores de voz con
una potencia de discriminación acústica realzada. Hasta este
extremo, una característica útil que va a ser analizada es la de la
envoltura espectral de corta duración. Dos técnicas de análisis
espectral usadas comúnmente para caracterizar la envoltura espectral
de corta duración son la codificación lineal de predicciones (CLP)
y el modelado espectral basado en un banco de filtros. Las técnicas
CLP a modo de ejemplo, están descritas en la patente U.S. n°
5.414.796, titulada "Vocodificador de frecuencia variable
(Codificador vocal)", la cual está transferida al cesionario de
la presente invención y en el documento de L. B. Rabiner & R.
W. Schafer, Procesamiento Digital de las Señales de Voz, páginas
396-453 (1978).
El uso de un RV (conocido comúnmente como
reconocimiento de voz) se ha vuelto crecientemente importante por
razones de seguridad. Por ejemplo, se puede usar el RV para
sustituir la tarea manual de los pulsadores en un teclado de un
teléfono inalámbrico. Esto es especialmente importante cuando un
usuario esté iniciando una llamada telefónica mientras conduce un
coche. Cuando se se esté usando un teléfono sin RV, entonces el
conductor deberá apartar una mano del volante y mirar el teclado
del teléfono mientras pulsa los botones para marcar la llamada.
Estas acciones pueden aumentar la probabilidad de tener un accidente
de coche.
Un teléfono activado por la voz (es decir, un
teléfono diseñado para reconocer la voz) permitiría al conductor
realizar llamadas telefónicas mientras continua observando la
carretera.
Y un sistema de un conjunto manos libres para
coche permitiría adicionalmente que el conductor mantuviese las dos
manos sobre el volante durante el establecimiento de una
llamada.
Los dispositivos de reconocimiento de voz se
clasifican en dispositivos dependientes de la persona que habla
(SD) o independientes de la persona que habla (SI). Los dispositivos
dependientes de la persona que habla, los cuales son más comunes,
están preparados para reconocer los comandos de unos usuarios
particulares. Por el contrario, los dispositivos independientes de
la persona que habla son capaces de aceptar unos comandos de voz de
cualquier usuario. Para aumentar el rendimiento de un sistema RV
dado, ya sea dependiente de la voz o independiente de la voz de la
persona que habla, se requiere un adiestramiento (preparación) para
equipar al sistema con unos parámetros válidos. En otras palabras,
el sistema necesita aprender antes de que pueda funcionar
óptimamente.
Un dispositivo RV dependiente de la persona que
habla opera típicamente en dos fases, una fase de adiestramiento y
una fase de reconocimiento. En la fase de adiestramiento, el sistema
RV induce al usuario a pronunciar cada una de las palabras
contenidas en el vocabulario del sistema una o dos veces
(típicamente dos veces), de manera que el sistema pueda aprender
las características de la voz del usuario para estas palabras o
frases particulares. Un vocabulario a modo de ejemplo para un
conjunto manos libres de un coche podría incluir los dígitos del
teclado numérico; las palabras clave "llamar", "enviar",
"marcar", "cancelar", "aclarar", "añadir",
"borrar", "historia"; "programa", "si" y
"no"; y los nombres de un número predefinido de compañeros de
trabajo, de amigos o de miembros de la familia, que se llaman
comúnmente. Una vez que el adiestramiento haya sido completado,
entonces el usuario puede iniciar unas llamadas en la fase de
reconocimiento pronunciando las palabras clave preparadas, las
cuales reconoce el dispositivo RV comparando las expresiones de voz
con las expresiones preparadas previamente (almacenadas como
modelos) y seleccionando las que coincidan mejor. Por ejemplo, si el
nombre "John" fuese uno de los nombres preparados, entonces el
usuario podría iniciar una llamada simplemente diciendo la frase
"llamar a John". El sistema RV reconocería las palabras
"Llamar" y "John" y entonces marcaría el número que el
usuario haya introducido previamente como número de teléfono de
John.
Un dispositivo RV independiente de la persona
que habla usa también un modelo de prueba que contiene un
vocabulario prerregistado de un tamaño predefinido (por ejemplo, de
ciertas palabras de control, de los números cero hasta el nueve, y
"si" y "no"). Un gran número de personas que hablan (por
ejemplo, 100) deberán ser registradas pronunciando cada una de las
palabras contenidas en el vocabulario. Un ejemplo de un RV
independiente de la persona que habla es el motor de Deformación
Dinámica de Tiempo (DTW) descrito en la solicitud de patente U. S.
titulada "Procedimiento y aparato para construir unos modelos de
voz para un sistema de reconocimiento de voz independiente de la
persona que habla", presentada el 13 de Julio de 2000, Expediente
de Agente n° PA000017 del Procurador, la cual está transferida al
cesionario de la presente invención.
Unos dispositivos RV independientes de la
persona que habla distintos, pueden producir unos resultados
distintos. Por ejemplo, un motor Modelo Markow Oculto (HMM)
independiente de la persona que habla (SI) puede producir un
resultado distinto que un motor de Deformación Dinámica de Tiempo
(DTW) independiente de la persona que habla. Combinando los
resultados de estos dos motores puede dar como resultado un sistema
dotado de una mejor precisión de reconocimiento y de unas cotas de
rechazo más bajas que usando los resultados de uno solo de los
motores. Alternativamente, se podrían emplear dos motores idénticos
con una ligera perturbación añadida a uno de los motores o a la
señal de entrada de uno de los motores. Uno de dichos sistemas se
describe en la patente U.S. n° 5.754.978, titulada "Sistema de
reconocimiento de voz", la cual está transferida a Speech
Systems of Colorado, Inc.. El sistema descrito aquí usa una simple
comparación entre los resultados de dos motores, de esta manera
existe la necesidad de contar con un mecanismo de comparación
perfeccionado.
Un dispositivo RV dependiente de la persona que
habla y un dispositivo RV independiente de la persona que habla,
pueden producir unos resultados distintos. Un motor dependiente de
la persona que habla realiza un reconocimiento usando unos modelos
(plantillas) que pertenecen a un usuario específico. Un motor
independiente de la persona que habla realiza un reconocimiento
usando unos modelos que se generan utilizando unos ejemplares de un
colectivo de usuarios. Debido a que los modelos específicos de la
voz de un usuario están más cercanos a un estilo de voz de un
usuario determinado, entonces los motores SD proporcionan una mejor
precisión que los motores SI. No obstante, los motores SI tienen la
ventaja de que los usuarios no necesitan pasar a través del
"proceso de adiestramiento" antes de utilizar el sistema.
Es deseable un sistema y un procedimiento que
combinen unos motores de distintos tipos. Combinando un dispositivo
RV dependiente de la persona que habla con un dispositivo RV
independiente de la persona que habla proporcionaría una precisión
realzada y el uso de una gran cantidad de información en la señal de
entrada de voz. De esta manera, es deseable un sistema y un
procedimiento apropiados para resolver unos resultados distintos
desde un dispositivo RV dependiente de la persona que habla y desde
un dispositivo RV independiente de la persona que habla.
Las realizaciones descritas están dirigidas a un
sistema y a un procedimiento para reconocimiento de voz que usa
unos motores de reconocimiento de voz combinados, según se define en
las reivindicaciones adjuntas. En uno de los aspectos, un
procesador acústico está configurado para extraer unos parámetros de
voz a partir de unas muestras de voz digitalizadas de una expresión
de voz; una pluralidad de motores de reconocimiento de voz están
acoplados al procesador acústico, cada motor de reconocimiento de
voz produce una hipótesis; y el circuito lógico de toma de
decisiones toma las hipótesis como una entrada desde los motores de
reconocimiento de voz y selecciona una
hipótesis.
hipótesis.
En otro aspecto, está provisto un procedimiento
para combinar una pluralidad de motores de reconocimiento de voz
para mejorar el reconocimiento de voz. El procedimiento incluye,
ventajosamente, la extracción de unos parámetros de voz por medio
de un procesador acústico a partir de unas muestras de voz
digitalizadas de una expresión de voz; acoplar una pluralidad de
motores de reconocimiento de voz al procesador acústico; producir
una hipótesis a partir de cada uno de los motores de reconocimiento
de voz; y seleccionar una hipótesis entre las hipótesis producidas
por la pluralidad de motores de reconocimiento de voz.
En una realización, se combinan unos motores de
reconocimiento de voz independientes de la persona que habla. En
otra realización, se combinan unos motores de reconocimiento de voz
dependientes de la persona que habla. E incluso en otra
realización, un motor de reconocimiento de voz independiente de la
persona que habla se combina con un motor de reconocimiento de voz
dependiente de la persona que habla.
En una realización, un motor de reconocimiento
de voz independiente de la persona que habla es un motor de
reconocimiento de voz de Deformación Dinámica de Tiempo. En una
realización, un motor de reconocimiento de voz independiente de la
persona que habla es un motor Modelo Markow Oculto. En una
realización, un motor de reconocimiento de voz dependiente de la
persona que habla es un motor de reconocimiento de voz de
Deformación Dinámica de Tiempo. En una realización, un motor de
reconocimiento de voz dependiente de la persona que habla es un
motor Modelo Markow Oculto.
Las características, objetos y ventajas de la
presente invención se harán más aparentes a partir de la descripción
detallada descrita a continuación cuando se toma en consideración
conjuntamente con los dibujos, en los cuales los caracteres de
igual referencia se identifican correspondientemente en todo, y en
los que:
la Figura 1 muestra un sistema de reconocimiento
de voz;
la Figura 2 muestra los elementos del procesador
acústico;
la Figura 3 muestra un extractor de
características DTW-SD junto con un módulo de
coincidencias DTW-SD y un módulo de modelos
DTW-SD;
la Figura 4 muestra un extractor de
características DTW-SI junto con un módulo de
coincidencias DTW-SI y un módulo de modelos
DTW-SI;
la Figura 5 muestra un extractor de
características HMM junto con un módulo de coincidencias
HMM-SI y un módulo de modelos
HMM-SI;
la Figura 6 muestra los componentes del módulo
del circuito lógico de toma de decisiones en una realización;
la Figura 7 muestra un diagrama de flujo para el
motor y circuito lógico combinados para las palabras comando sin
adaptación a la persona que habla, en una realización;
la Figura 8 muestra el diagrama de flujo para el
motor y circuito lógico combinados para las palabras comando con
adaptación a la persona que habla; y
la Figura 9 muestra el diagrama de flujo para el
motor y circuito lógico combinados para las palabras comando y las
etiquetas de nombres con adaptación a la persona que habla.
En una realización, un sistema de reconocimiento
de voz 100 tiene tres tipos de motores de reconocimiento de voz
capaces de ejecutar unas tareas de reconocimiento de palabras
aisladas: un motor (DTW-SI) independiente de la
persona que habla de Deformación Dinámica de Tiempo, un motor
(DTW-SD) dependiente de la persona que habla de
Deformación Dinámica de Tiempo, un motor (HMM) modelo Markov oculto.
Estos motores se usan para el reconocimiento de una palabra comando
y el reconocimiento de un dígito para proporcionar unas interfaces
al usuario de habla melodiosa para unas tareas comunes realizadas
por un dispositivo sostenido con la mano, tal como un teléfono
móvil. En otra realización, el sistema de reconocimiento de voz 100
comprende un motor DTW-SI y un motor
DTW-SD. Incluso en otra realización, el sistema de
reconocimiento de voz 100 comprende un motor DTW-SI
y un motor HMM. Incluso en otra realización, el sistema de
reconocimiento de voz 100 comprende un motor DTW-SD
y un motor HMM. En una realización, el motor HMM es un motor
independiente de la persona que habla. En otra realización, el
motor HMM es un motor dependiente de la persona que habla.
De acuerdo con una realización, según se ha
ilustrado en la Figura 1, un sistema de reconocimiento de voz 100
incluye un convertidor analógico a digital (A/D) 102, un procesador
acústico frontal 104, unos extractores de características 106, 108,
110, unas bases de datos de modelos de voz 112, 114, 116, unos
circuitos lógicos de coincidencias 118, 120, 122 y un circuito
lógico de toma de decisiones 124. En una realización particular, el
procesador acústico 104 y los extractores de características 106,
108, 110 están implementados como un solo dispositivo, por ejemplo,
un extractor de parámetros.
El A/D 102 está acoplado al procesador acústico
104. El procesador acústico 104 está acoplado a los extractores de
características 106, 108, 110. Un extractor de características
DTW-SD 106 está acoplado a un circuito lógico de
coincidencias DTW-SD 118. Un extractor de
características DTW-SI 108 está acoplado a un
circuito lógico de coincidencias DTW-SI 120. Un
extractor de características HMM 110 está acoplado a un circuito
lógico de coincidencias HMM 122. Una base de datos 112 de modelos
de voz DTW-SD está acoplada al circuito lógico de
coincidencias DTW-SD 118. Una base de datos 114 de
modelos de voz DTW-SI está acoplada al circuito
lógico de coincidencias DTW-SI 120. Una base de
datos 116 de modelos de voz HMM-SI está acoplada al
circuito lógico de coincidencias HMM-SI 122. El
circuito lógico de coincidencias DTW-SD 118, el
circuito lógico de coincidencias DTW-SI 120 y el
circuito lógico de coincidencias HMM 122 están acoplados al circuito
lógico de toma de decisiones 124.
En otra realización, el sistema de
reconocimiento de voz 100 incluye un extractor de características
DTW-SD 106 y un extractor de características
DTW-SI, pero no incluye un extractor de
características HMM-SI 110. Incluso en otra
realización, el sistema de reconocimiento de voz 100 incluye un
extractor de características DTW-SI 108 y un
extractor de características HMM-SI 110, pero no
incluye un extractor de características DTW-SD 106.
Incluso en otra realización, el sistema de reconocimiento de voz 100
incluye un extractor de características DTW-SD 106
y un extractor de características HMM-SI 110, pero
no incluye un extractor de características DTW-SI
108.
El subsistema de reconocimiento de voz 100 puede
residir en, por ejemplo, un teléfono inalámbrico o en un conjunto
manos libres de un coche. Un usuario (no mostrado) pronuncia una
palabra o frase, generando una señal de voz. La señal de voz se
convierte en una señal de voz eléctrica, s(t), con un
transductor convencional (no mostrado). La señal de voz,
s(t), se proporciona al A/D 102, el cual convierte la señal
de voz en unas muestras de voz digitalizadas, s[n], de
acuerdo con un procedimiento de toma de muestras conocido tal como,
por ejemplo, una modulación codificada de impulsos (PCM),
principio-A, o principio-R.
Típicamente, en una realización existen unas muestras de voz de N
16-bits cada segundo. De esta manera, N = 8.000 para
una frecuencia de toma de muestras de 8.000 Hz y N = 16.000 para
una frecuencia de toma de muestras de 16.000 Hz.
Las muestras de voz s[n], se proporcionan
al procesador acústico 104 para determinar los parámetros. El
procesador acústico 104 produce un juego de parámetros que modela
las características de la señal de entrada de voz, s(t). Los
parámetros pueden ser determinados de acuerdo con una cualquiera, de
un número de técnicas de determinación de parámetros de voz
conocidas que incluyen, por ejemplo, una codificación de códigos de
voz, unos coeficientes basados en el cepstrum (DFT) de
transformación discreta Fourier (por ejemplo, unos coeficientes
basados en el cepstrum (FFT) de transformación rápida Fourier),
unos coeficientes de predicción lineales (LPC), o un análisis de la
escala de Bark, según se ha descrito anteriormente en la patente
U.S. n° 5.414.796 y en el documento de Lawrence Rabiner &
Biing-HwangJuang, Fundamentos del Reconocimiento de
Voz (1993). El juego de parámetros está basado, ventajosamente, en
unas secuencias (segmentado en unas secuencias periódicas). El
procesador acústico 104 puede ser implementado como un procesador de
señales digitales (DSP). El DSP puede incluir un codificador de
voz. Alternativamente, el procesador acústico 104 puede ser
implementado como un codificador de voz.
La Figura 2 muestra los elementos del procesador
acústico 104 de acuerdo con una realización. El procesador acústico
104 comprende un módulo de ajuste de secuencias 130, un módulo de
preénfasis (preamplificación) 132, un módulo de partición en
ventanas 134, un módulo (FFT) de transformación rápida Fourier 136,
un módulo de amplitud de espectro 138 y un módulo de escala de Bark
140. En una realización, las muestras de voz desde el convertidor
A/D son ajustadas secuencialmente por el módulo de ajuste de
secuencias 130. El módulo de ajuste de secuencias 130 ajusta
secuencialmente las muestras de voz en unos bloques solapados, con
un bloque cada 10 milisegundos. Cada bloque tiene de 128 a 256
muestras PCM.
El módulo de preénfasis (preamplificación) 132
es un filtro que procesa las secuencias del módulo de ajuste de
secuencias 130. En una realización, las secuencias se procesan a
través de un filtro de preénfasis tal como y (n) = x (n) - ax
(n-1). En una realización, el valor de "a" es
de 0,95 a 0,99.
La señal preamplificada se pasa a través del
módulo de partición en ventanas 134. El módulo de partición en
ventanas 134 es una función de partición en ventanas que proporciona
unas muestras partidas en ventanas a las secuencias filtradas. En
una realización, la función de partición en ventanas crea una
ventana de Hamming. En otra realización, la función de partición en
ventanas crea una ventana trapezoidal. Podría ser comprensible para
las personas expertas en la técnica que se puede usar cualquier
función de partición en ventanas conocida en la técnica. Por
ejemplo, se puede usar la ventana de Hamming descrita en el
documento de L.B. Rabiner & L.Y. Juang, Fundamentos del
Reconocimiento de Voz (1993). La función de partición en ventanas
evita los efectos adversos de añadir unos componentes de frecuencia
espurios (parásitos) debido al ajuste de secuencias.
Cada bloque de muestras partidas en ventanas del
módulo de partición en ventanas 134 se convierte a la frecuencia del
campo (dominio) a través del módulo FFT 136. El módulo FFT 136 es un
módulo de transformación rápida Fourier. En una realización, la
amplitud de espectro de cada bloque se calcula como A =
SQRT(Xt2+Y*2), en donde A es la amplitud de espectro, X e Y
son las partes reales e imaginarias de la FFT, respectivamente.
El módulo de amplitud de espectro 138 produce
las propiedades espectrales de la señal en una escala de frecuencia
lineal. La escala de frecuencia lineal es transformada por el módulo
de escala de Bark 140 en una escala de frecuencia del circuito
lógico aproximada, conocida como una escala de Bark. Existen 64
recipientes de frecuencia para 128 bloques de muestras y 128
recipientes de frecuencia para los 256 bloques de muestras. El
módulo de amplitud de espectro 138 produce unos resultados en 16
recipientes de la escala de Bark correspondientes a cada amplitud
de espectro. Es decir, que el módulo de amplitud de espectro 138
produce 16 amplitudes de Bark, una cada 10 microsegundos de la señal
de voz.
En una realización, el extractor de
características DTW-SI y el DTW-SD
son el mismo. La Figura 3 muestra un extractor de características
DTW-SD 106 junto con un módulo de coincidencias
DTW-SD 156 y un módulo de modelos
DTW-SD 158, de acuerdo con una realización. La
Figura 4 muestra un extractor de características
DTW-SI 108 junto con un módulo de coincidencias
DTW-SI 166 y un módulo de modelos
DTW-SI 168.
Los extractores de características
DTW-SD y DTW-SI comprenden un
detector de finalización 150, 160, un módulo de segmentación de voz
agrupada en el tiempo 152, 162 y un cuantificador de amplitud 154,
164, respectivamente. En otra realización, el extractor de
características DTW-SD 106 comprende también un
módulo de coincidencias DTW-SD 156 y un módulo de
modelos DTW-SD 158. En otra realización, el
extractor de características DTW-SI 108 comprende
también un módulo de coincidencias DTW-SI 166 y un
módulo de modelos DTW-SI 168.
En una realización, dentro del extractor de
características DTW-SD 106, el detector de
finalización 150 está acoplado al módulo de segmentación de voz
agrupada en el tiempo 152. El módulo de segmentación de voz agrupada
en el tiempo 152 está acoplado al cuantificador de amplitud 154. El
cuantificador de amplitud 154 está acoplado al módulo de
coincidencias DTW-SD 156. El módulo de modelos
DTW-SD 158 está acoplado al módulo de coincidencias
DTW-SD 156. En otra realización, el cuantificador de
amplitud 154 está acoplado al módulo de modelos
DTW-SD 158. El módulo de modelos
DTW-SD 158 comprende unos modelos
DTW-SD. En otra realización, los modelos
DTW-SD se crean durante una fase de adiestramiento,
en la cual la parte DTW-SD del sistema se prepara
para la entrada de señales de voz y proporciona los modelos
DTW-SD. En otra realización, el motor
DTW-SI, es decir, el extractor de características
DTW-SI 108, se usa para generar los modelos
DTW-SD "implícitos" durante el uso típico del
sistema. En estas realizaciones, el sistema tiene la ventaja de
ambos motores DTW-SD y DTW-SI,
mientras que los resultados de los motores DTW-SI y
DTW-SD estén combinados adecuadamente. Unos sistemas
y procedimientos de adiestramiento a modo de ejemplo se describen
en la solicitud de patente U.S. 09/248.513 titulada "Esquema de
rechazo de reconocimiento de voz", presentada el 8 de Febrero de
1999, la cual está transferida al cesionario de la presente
invención, en la solicitud de patente U.S. 09/255.891 titulada
"Sistema y procedimiento para la segmentación y reconocimiento de
las señales de voz", presentada el 4 de Enero de 1999, la cual
está transferida al cesionario de la presente invención y en la
solicitud de patente U.S. (QCPA000017), titulada "Procedimiento y
aparato para construir unos modelos de voz para un sistema de
reconocimiento de voz independiente de la persona que habla",
presentada el 13 de Julio de 2000, la cual está transferida al
cesionario de la presente invención.
En una realización, dentro del extractor de
características DTW-SI 108, el detector de
finalización 160 está acoplado al módulo de segmentación de voz
agrupada en el tiempo 162. El módulo de segmentación de voz agrupada
en el tiempo 162 está acoplado al cuantificador de amplitud 164. El
cuantificador de amplitud 164 está acoplado al módulo de
coincidencias DTW-SI 166. El módulo de modelos
DTW-SI 168 está acoplado al módulo de coincidencias
DTW-SI 166. El módulo de modelos
DTW-SI 168 comprende unos modelos
DTW-SI, los cuales se crean durante una fase de
adiestramiento, en la cual la parte DTW-SI del
sistema está preparada para la entrada de señales de voz.
En la Figura 5 se muestra otra realización. La
Figura 5 muestra un extractor de características HMM 110 junto con
un módulo de coincidencias HMM-SI 176 y un módulo de
modelos HMM-SI 178. El extractor de características
HMM 110 comprende un módulo de circuito lógico 170, un módulo de
procesamiento RASTA 172, y un módulo de transformación cepstral
174. El módulo de circuito lógico 170 está acoplado al módulo de
procesamiento RASTA 172. El módulo de procesamiento RASTA 172 está
acoplado al módulo de transformación cepstral 174. El motor Modelo
Markow Oculto (HMM) SI. El motor SI-HMM opera en el
campo cepstral. Las amplitudes de Bark se transforman en una escala
de circuito lógico por medio del módulo de circuito lógico 170. Los
logaritmos de Bark se filtran con un filtro de paso de banda
comprendido dentro del módulo de procesamiento RASTA 172. Podría ser
comprensible para las personas expertas en la técnica que se puede
usar cualquier tipo de procesamiento RASTA conocido en la técnica.
Un procesamiento RASTA a modo de ejemplo se describe en la patente
U.S. n° 5.450.522, titulada "Modelo auditivo para parametrización
de la voz", transferida a Hermansky y otros.
Una vez que los algoritmos de Bark hayan sido
filtrados, se toma entonces una transformación de coseno comprendida
dentro del módulo de transformación cepstral 174. En una
realización, los vectores de características resultantes se
comparan con los modelos HMM de las palabras objetivo (clave), es
decir, los modelos HMM-SI, usando un decodificador
Viterbi para encontrar la que coincide mejor. Los modelos HMM de las
palabras objetivo se generan durante el proceso de adiestramiento.
Un modelo separado para usuarios masculinos y femeninos se genera
durante el proceso de adiestramiento.
Cada secuencia de parámetros se proporciona al
extractor de características 106, 108. En el extractor de
características 106, 108, el detector de finalización 150, 160 usa
los parámetros extraídos para detectar la finalización de una
expresión de voz (es decir, de una palabra). En una realización, se
realiza ventajosamente la detección de finalización de acuerdo con
una técnica descrita en la solicitud de patente U.S. Serie n°
09/246.414, presentada el 8 de Febrero de 1999, titulada
"Procedimiento y aparato para indicar la finalización precisa de
la voz en presencia de ruido", transferida al cesionario de la
presente invención. De acuerdo con esta técnica, la expresión de
voz se compara con un primer valor umbral tal como, por ejemplo, un
valor umbral (SNR) de una proporción señal a ruido para determinar
el primer punto de comienzo y un primer punto de finalización de la
expresión de voz. Una porción de la expresión de voz que precede al
primer punto de comienzo se compara entonces con un segundo valor
umbral SNR para determinar un segundo punto de comienzo de la
expresión de voz. Una porción de la expresión de voz que sigue al
primer punto de finalización se compara entonces con el segundo
valor umbral SNR para determinar un segundo punto de finalización
de la expresión de voz. El primero y segundo de los valores
umbrales SNR son recalculados periódicamente de manera ventajosa y
el primer valor umbral SNR sobrepasa ventajosamente al segundo valor
umbral SNR.
Las secuencias de los parámetros de la
frecuencia de campo para la expresión de voz detectada se
proporcionan al módulo de segmentación de voz de agrupada en el
tiempo 152, 162, las cuales de acuerdo con una realización,
implementan una técnica de compresión descrita en la solicitud de
patente U.S. Serie n° 09/255.891, presentada el 4 de Enero de 1999,
titulada "Sistema y procedimiento para la segmentación y
reconocimiento de señales de voz", transferida al cesionario de
la presente invención. De acuerdo con esta técnica, cada secuencia
de voz en los parámetros de la frecuencia de campo está
representada por, al menos, un valor espectral asociado con la
secuencia de voz. Se determina entonces un valor de diferencia
espectral para cada par de secuencias adyacentes. El valor de
diferencia espectral representa una diferencia entre los valores
espectrales asociados con las dos secuencias en el par. Se fija un
límite de agrupación inicial entre cada par de secuencias
adyacentes, creando una agrupación en los parámetros y se asigna un
valor de variancia a cada agrupación. Ventajosamente, el valor de
variancia es igual a uno de los valores de diferencia espectral
determinado. Se calcula entonces una pluralidad de parámetros de
fusión de agrupamiento, estando cada uno de los parámetros de fusión
de agrupamiento asociados con un par de agrupamientos adyacentes.
Se selecciona un parámetro de fusión de agrupamiento mínimo entre
la pluralidad de parámetros de fusión de agrupamiento. Se forma
entonces un agrupamiento fusionado cancelando un límite de
agrupamiento entre los agrupamientos asociados con el parámetro de
fusión de agrupamiento mínimo y asignando un valor de variancia de
fusión al agrupamiento fusionado. El valor de variancia de fusión
representa los valores de variancia asignados a los agrupamientos
asociados con el parámetro de fusión de agrupamiento mínimo.
Ventajosamente, se repite el proceso a fin de formar una pluralidad
de agrupamientos de fusión y la señal de voz segmentada puede
formarse, ventajosamente, de acuerdo con la pluralidad de
agrupamientos de fusión.
Podría ser comprensible para aquellas personas
expertas en la técnica que el módulo de segmentación de voz
agrupada en el tiempo 152, 162 pueda ser sustituido con otros
dispositivos tales como, por ejemplo, un módulo de normalización
del tiempo. No obstante, podría apreciarse también por aquellas
personas expertas en la técnica que debido a que el módulo de
segmentación de voz agrupada en el tiempo 152, 162 limita las
secuencias que tienen unas diferencias mínimas según sean
comparadas con la secuencia previa dentro de los agrupamientos y
usa una media aritmética en vez de unas secuencias individuales, el
módulo de segmentación de voz agrupada en el tiempo 152, 162 usa
más información en las expresiones de voz procesadas. Podría
comprenderse también que el módulo de segmentación de voz agrupada
en el tiempo 152, 162 se usa, ventajosamente, conjuntamente con un
circuito lógico de comparación de modelos, el cual se encuentra en
el módulo del circuito lógico de toma de decisiones 124.
En una realización de la invención, el módulo
del circuito lógico de toma de decisiones 124 emplea un modelo
(DTW) de Deformación Dinámica de Tiempo según se conoce en la
técnica. En otra realización de la invención, el módulo del
circuito lógico de toma de decisiones 124 emplea un modelo HMM.
Incluso en otra realización, el módulo del circuito lógico de toma
de decisiones 124 emplea a la vez un modelo DTW y un modelo HMM.
Los medios de agrupamiento se proporcionan a un
normalizador del nivel de voz, es decir, al cuantificador de
amplitud 154, 164. En una realización el cuantificador de amplitud
154, 164 cuantifica las amplitudes de la voz asignando a cada medio
de agrupamiento dos bits por canal (es decir, dos bits por
frecuencia). En una realización alternativa en la cual se extraen
los coeficientes cepstral, no se usa entonces el cuantificador de
amplitud 154, 164 para cuantificar los medios de agrupamiento, como
podría ser comprensible para aquellas personas expertas en la
técnica. La salida generada por el cuantificador de amplitud 154,
164 está proporcionada por el extractor de características 106, 108
al circuito lógico de toma de decisiones 124.
Un juego de modelos para todas las palabras del
vocabulario del subsistema de reconocimiento de voz 100 está
almacenado en las bases de datos de los modelos 158, 168, 178. En
una realización, el juego de modelos está construido con un
subsistema de construcción de modelos independiente de la persona
que habla. Ventajosamente, las bases de datos de los modelos 158,
168, 178 son implementadas como cualquier forma convencional de
medio de almacenamiento no volátil, tal como, por ejemplo, la
memoria instantánea. Esto permite que los modelos permanezcan en la
base de datos de los modelos 158, 168, 178 cuando se desconecte la
potencia del subsistema de reconocimiento de voz 100.
En una realización, el circuito lógico de toma
de decisiones 124 comprende un circuito lógico de toma de
decisiones DTW-SD 188, un circuito lógico de toma de
decisiones DTW-SI 190 y un circuito lógico de toma
de decisiones HMM-SI 192, en donde el módulo de
coincidencias DTW-SD 118 está acoplado al circuito
lógico de toma de decisiones DTW-SD 188, el módulo
de coincidencias DTW-SI 120 está acoplado al
circuito lógico de toma de decisiones DTW-SI 190 y
el módulo de coincidencias HMM 122 está acoplado al circuito lógico
de toma de decisiones HMM-SI 192, según se muestra
en la Figura 6. En otra realización, el circuito lógico de toma de
decisiones DTW-SD 188, el circuito lógico de toma de
decisiones DTW-SI y el circuito lógico de toma de
decisiones HMM-SI están unificados. Podría hacerse
aparente para aquellas personas expertas en la técnica que los
circuitos lógicos de toma de decisiones 188, 190, 192 puedan estar
configurados en cualquier tipo de combinación.
El módulo de coincidencias 118, 120, 122 del
motor respectivo, compara los vectores de su extractor de
características 106, 108, 110 con todos los modelos almacenados en
la base de datos de modelos 112, 114, 116. Los resultados de la
comparación, o distancias, entre los vectores y todos los modelos
almacenados en la base de datos de modelos 112, 114, 116 se
proporcionan al circuito lógico de toma de decisiones 188, 190, 192,
respectivo. El circuito lógico de toma de decisiones 188, 190, 192
selecciona de la base de datos de modelos 112, 114, 116, respectiva,
el modelo que coincide más estrechamente con los vectores. En la
realización alternativa, el circuito lógico de toma de decisiones
188, 190, 192 puede usar un algoritmo de selección de
"mejor-N" convencional, el cual selecciona las
coincidencias N más cercanas que estén comprendidas dentro de un
umbral de coincidencias predefinido. Se interrogará entonces al
usuario acerca de cual selección hubiese sido la propuesta. La
salida del circuito lógico de toma de decisiones 188, 190, 192 es
la decisión en cuanto a qué palabra del vocabulario ha sido
pronunciada.
En una realización, los módulos de coincidencias
DTW 118, 120 y los circuitos lógicos de toma de decisiones 188, 190
usan una técnica DTW para comprobar la convergencia. La técnica DTW
se conoce en la técnica y está descrita en el documento de Lawrence
Rabiner & Biing-Hwang Juang, "Fundamentos del
reconocimiento de voz", páginas 200-238 (1993).
De acuerdo con la técnica DTW, se conforma un enrejado trazando una
secuencia de tiempo de la expresión de voz que va a ser probada
contra una secuencia de tiempo para cada una de las expresiones de
voz almacenadas en la base de datos de modelos 108. La expresión de
voz que está siendo probada se compara entonces, punto por punto,
(por ejemplo, cada 10 ms.), con cada una de las expresiones de voz
almacenadas en la base de datos de modelos 108, una expresión de
voz a la vez. Para cada expresión de voz almacenada en la base de
datos 108, la expresión de voz que está siendo probada se ajusta, o
se "deforma", en el tiempo, siendo comprimida o expandida en
unos puntos particulares hasta que se logre la coincidencia más
estrecha que sea posible con la expresión de voz almacenada en la
base de datos de modelos 108. En cada punto en el tiempo se
comparan las dos expresiones de voz y se declara, ya sea una
coincidencia en ese punto (costo cero), o bien se declara un
desajuste. En el caso de un desajuste en un punto particular,
entonces la expresión de voz que está siendo probada se comprime o
expande, o si fuese necesario, se desajusta. El proceso continúa
hasta que las dos expresiones de voz hayan sido comparadas
completamente entre sí. Es posible la existencia de un gran número
(típicamente cientos) de expresiones de voz que están ajustadas de
una manera distinta. Se selecciona entonces la expresión de voz
ajustada que tiene la función de costo más bajo (es decir, que
requiere el menor número de compresiones y/o de expansiones y/o de
desajustes). De la misma manera que un algoritmo de decodificación
Viterbi, la selección se realiza ventajosamente mirando hacia atrás
desde cada uno de los puntos en la expresión de voz almacenada en
la base de datos de modelos 108, para determinar la trayectoria que
tenga el menor costo total. Esto permite que se determine la
expresión de voz ajustada de costo más bajo (es decir, más
estrechamente coincidente) sin tener que recurrir al procedimiento
de "fuerza bruta" de generación de cada una de las posibles
expresiones de voz ajustadas de manera distinta. Las expresiones de
voz ajustadas de costos más bajos para todas las expresiones de voz
almacenadas en la base de datos de modelos 108 se comparan entonces
y una de las cuales que tenga el costo más bajo se selecciona como
la expresión de voz almacenada más estrechamente coincidente con la
expresión de voz probada.
Si bien los esquemas de coincidencias DTW 118,
120 y la decodificación Viterbi en unos sistemas HMM son
equivalentes, los motores DTW y HMM utilizan unos esquemas
frontales distintos, es decir, unos extractores de características,
para proporcionar unos vectores de características a la etapa de
coincidencia. Por este motivo, los modelos de error de los motores
DTW y HMM son muy distintos. Un sistema de reconocimiento de voz 100
con un motor combinado se aprovecha de la diferencia entre los
modelos de error. Combinando apropiadamente los resultados de los
dos motores, se puede lograr una mayor precisión de todo el
reconocimiento. Más importantemente, se pueden alcanzar unas cotas
de rechazo inferiores para la precisión del reconocimiento
deseada.
En un sistema de reconocimiento de voz aislado,
la probabilidad de hacer que una expresión de voz coincida con una
palabra clave se escribe de la manera siguiente:
P(W_{i}, X) =
max(\pi exp
((\Lambdaij-xj)/o'j)^{2})
W_{i} es la palabra clave i modelada por un
juego de vectores promedio \Lambdai y la variancia o'j. Además de
W_{i}, existe un modelo de información parásita Wg. Si una
expresión de voz X no corresponde a cualquiera de las palabras del
vocabulario W_{i}, Wg, se espera entonces que genere un costo muy
bajo, lo cual significa que la expresión de voz X es parásita y no
es ninguna de las palabras del vocabulario. Wg se construye durante
el proceso de adiestramiento. Podría ser comprensible para aquellas
personas expertas en la técnica, que se pueda usar cualquier
esquema de modelación parásito conocido en la técnica.
La expresión de voz X es la serie de vectores de
características xj. En una realización, la variancia o'j es
unitaria y la minimización se realiza siempre sobre unas 20
secuencias (es decir, j = 1..20) en el esquema DTW. La minimización
es el proceso de seleccionar la palabra hipótesis que tenga el costo
más bajo, Una hipótesis es una palabra, un signo, o una cadena de
palabras o de signos. Un signo es un segmento de voz que corresponde
a una frase, a una palabra o a una subpalabra.
En el esquema HMM de una realización, j = 1...N,
en donde N es la longitud de la expresión de voz. Además, se usa un
vector de covarianza diagonal para modelar en vez de un vector
unitario.
Otra diferencia distinta a las dos diferencias
anteriores entre DTW y HMM, es que ambos motores DTW y HMM generan
una medida de probabilidades para cada una de las palabras objetivo.
Esto implica la capacidad para multiplicar una probabilidad DTW
(PDTW(W_{i}, X)) y una probabilidad HMM
(PHMM(W_{i}, X)), para maximizar la probabilidad a través
de ambos motores. En la práctica, en vez de maximizar la
probabilidad, el costo de hacer que una expresión de voz X coincida
con una palabra W_{i}, se minimiza en concepto de una eficacia
computacional.
El costo se define como:
C(W_{i}, X) = -Log (P
(W_{i}, X) = min (\Sigma
((\Lambdaij-xj)/o'j)^{2})
De esta manera, el costo combinado de hacer que
una expresión de voz X coincida con la palabra W_{i}, se da
como:
C(W_{i}, X) = CDTW
(W_{i}, X) + y* CHMM (W_{i},
X)
\newpage
En donde \gamma es el factor de medición de
escala. Esto es igual que el costo de modelación del lenguaje usado
en unos sistemas de dictado de vocabularios extensos, en los que el
costo del modelo acústico y el costo del modelo de lenguaje están
combinados con unos factores de medición de escala apropiados.
En una realización, se combinan los motores de
reconocimiento de voz independientes de la persona que habla que
operan con el mismo juego de vocabulario. En otra realización, se
combinan los motores de reconocimiento de voz dependientes de la
persona que habla. Incluso en otra realización, un motor de
reconocimiento de voz independiente de la persona que habla se
combina con un motor de reconocimiento de voz dependiente de la
persona que habla, ambos motores operan con el mismo juego de
vocabulario. Incluso en otra realización, un motor de
reconocimiento de voz independiente de la persona que habla se
combina con un motor de reconocimiento de voz dependiente de la
persona que habla, ambos motores operan con unos juegos de
vocabulario distintos.
La Figura 7 muestra un diagrama de flujo para un
motor y un circuito lógico combinados sin adaptación a la persona
que habla, en una realización. La adaptación a la persona que habla
es el adiestramiento explícito e implícito de los modelos.
Y = 20/N, en donde N es la duración de la
expresión de voz en secuencias.
- D(i) = Costo para la Hipótesis i DTW
- H(i) = Costo para la Hipótesis i HMM
- C(i) = Costo para la Hipótesis i Combinada
- \Delta(D) = Costo Delta DTW = D(2) - D(1)
- \Delta(H) = Costo Delta HMM = H(2) - H(1)
- \Delta(C) = Costo Delta Combinado = C(parásito) - C(1).
Se usa el costo parásito para computar
\Delta(C).
En la primera etapa 200, el algoritmo comprueba
para ver si el candidato principal es el mismo para ambos motores
DTW y HMM. El costo delta total contra el umbral T1 se usa como una
comprobación límite 202. Si el Candidato Principal DTW y el
Candidato Principal HMM coinciden, entonces ambas hipótesis DTW y
HMM son aceptadas. Si ellos no coinciden, entonces el flujo de
control avanza hasta la segunda etapa 204.
En la segunda etapa 204, el algoritmo recupera
las expresiones de voz en las que DTW es correcto y HMM es el
segundo mejor. En la segunda etapa 204, comprobamos para ver si el
candidato principal DTW coincide con el segundo candidato HMM. Si
el candidato principal DTW coincide con el segundo candidato HMM,
entonces se acepta la hipótesis DTW. Si ellos no coinciden,
entonces el flujo de control avanza hasta la tercera etapa 208. El
umbral T2 del costo delta DTW se usa como un control límite
206.
En la tercera etapa 208, el algoritmo recupera
las expresiones de voz en las que HMM es correcto y DTW es el
segundo mejor. En la tercera etapa 208, el algoritmo comprueba para
ver si el candidato HMM coincide con el segundo candidato DTW. Si
el candidato HMM coincide con el segundo candidato DTW, entonces se
acepta la hipótesis HMM. Si ellos no coinciden, entonces el flujo
de control avanza hasta la cuarta etapa 212. El umbral T3 del costo
delta HMM se usa como una comprobación límite 210.
En la cuarta etapa 212, los resultados DTW y HMM
se combinan con un factor de medición de escala apropiado. En la
cuarta etapa 212 comprobamos para ver si \Delta(C) es mayor
que el umbral T4 y si la hipótesis principal combinada es la misma
que, ya sea la hipótesis principal DTW, o bien, la hipótesis
principal HMM. Si es la misma, entonces se acepta la hipótesis
combinada. Si no es la misma, entonces se avanza hasta la quinta
etapa 216. Para computar los costos delta combinados, el algoritmo
usa el costo parásito debido a que las palabras propuestas por
ambos motores no necesitan ser las mismas. El algoritmo se asegura
que el candidato principal coincide ya sea con DTW o con el
candidato principal HMM, como una comprobación límite.
En la quinta etapa 216, el algoritmo comprueba
Solamente el Rechazo Basado en DTW, el cual está basado en el costo
DTW, en el costo delta y en el costo parásito. Esta etapa opera
también como un esquema de rechazo único cuando solamente los
modelos DTW están cargados en una plataforma. Si la condición del
esquema de rechazo DTW es verdadera, entonces se acepta la
hipótesis principal DTW. Si la condición del esquema de rechazo DTW
es falsa, entonces el flujo de control avanza hasta la sexta etapa
220. La condición del esquema de rechazo DTW es verdadera cuando el
costo del candidato principal es menor que el umbral T5 y el costo
delta DTW \Delta(C) es mayor que el umbral T6.
En la sexta etapa 220, el algoritmo comprueba
Solamente el Rechazo Basado en HMM, el cual está basado en el costo
HMM, en el costo delta y en el costo parásito. Esta etapa opera
también como el esquema de rechazo único cuando solamente los
modelos HMM están cargados en la plataforma. Si la condición del
esquema de rechazo HMM es verdadera, entonces el algoritmo acepta
la hipótesis principal HMM. Si la condición del esquema de rechazo
HMM es falsa, entonces el flujo de control avanza hasta la séptima
etapa 226. La condición del esquema de rechazo HMM es verdadera
cuando el costo del candidato principal es menor que el umbral T7 y
el costo delta HMM \Delta(H) es mayor que el umbral T8.
Unos esquemas de rechazo a modo de ejemplo se
describen en la solicitud de patente U.S. 09/248.513, titulada
"Esquema de rechazo de reconocimiento de voz", presentada el 8
de Febrero de 1999, la cual está transferida al cesionario de la
presente invención.
En una realización, el motor y circuito lógico
combinados es para unas palabras comandos y tiene adaptación a la
persona que habla. La Figura 8 muestra un diagrama de flujo para un
motor y circuito lógico combinados para unas palabras comandos con
adaptación a la persona que habla de acuerdo con una realización.
S(.) corresponde a los resultados Adaptados a la Persona que Habla
del motor dependiente de la persona que habla. C(.) corresponde a
los resultados Independientes de la Persona que Habla del motor
combinado sin adaptación. A(.) corresponde a la fusión de los
resultados de SI y SA y a la reordenación de las hipótesis.
En la primera etapa 230, el algoritmo comprueba
para ver si el candidato principal es el mismo para ambas
C(1) y S(1). Se usa el costo delta total contra el
umbral T9 como una comprobación límite. Si la C(1) y la
S(1) coinciden, entonces se aceptan ambas hipótesis
C(1) y S(1) 232. Si ellas no coinciden, entonces el
flujo de control avanza hasta la segunda etapa 234.
En la segunda etapa 234, el algoritmo comprueba
si existen o no, menos de dos modelos adaptados a la persona que
habla. Si existen menos de dos modelos adaptados a la persona que
habla, entonces el flujo de control acepta la hipótesis 236
independiente de la persona que habla. Si no, entonces el flujo de
control avanza hasta la tercera etapa 238.
En la tercera etapa 238, se aplica un esquema de
rechazo DTW. Si la condición del esquema de rechazo DTW es
verdadera, entonces el algoritmo acepta la hipótesis 240 adaptada a
la persona que habla. Si la condición del esquema de rechazo DTW es
falsa, entonces el flujo de control avanza hasta la cuarta etapa
242.
En la cuarta etapa 242, se compara
\Delta(A) con el umbral T10. Si \Delta(A) es mayor
que el umbral T10 y A(1) es igual a D(1), H(1)
o S(1), entonces se acepta una hipótesis combinada 244. Si
no, entonces se rechaza 246 la hipótesis combinada.
Cuando existan menos de dos modelos adaptados a
la persona que habla se dará entonces más énfasis al motor SI
combinado. Cuando existan más de dos modelos adaptados a la persona
que habla, entonces se dará más énfasis al motor SD.
En otra realización, el motor y circuito lógico
combinados es para unas palabras y etiquetas de nombres comandos y
tiene adaptación a la persona que habla. Las etiquetas de nombres
son unas palabras de vocabulario que están inscritas por un
usuario. La Figura 9 muestra un diagrama de flujo para el motor y
circuito lógico combinados para unas palabras y etiquetas de
nombres comandos con adaptación a la persona que habla de acuerdo
con una realización.
SD(.) corresponde al motor Dependiente de la
Persona que Habla C(.) corresponde a los resultados Independientes
de la Persona que Habla sin adaptación. T(.) corresponde a la fusión
de los resultados de SI y SD y a la reordenación de las
hipótesis.
En la primera etapa 250, el algoritmo comprueba
para ver si el candidato principal es el mismo para ambas
C(1) y SD(1). El costo delta total contra el umbral
T11 se usa como una comprobación límite. Si la C(1) y la
SD(1) coinciden, entonces el comando 252 se acepta. Si no
coinciden, entonces el flujo de control avanza hasta la segunda
etapa 254.
En la segunda etapa 254, \Delta(C) se
compara con el umbral T12. Si \Delta(C) es menor que el
umbral T12, entonces se acepta la etiqueta de nombre 256. Si no,
entonces el flujo de control avanza hasta la tercera etapa 258.
En la tercera etapa 258, se aplica un esquema de
rechazo DTW. Si la condición del esquema de rechazo es verdadera,
entonces el algoritmo acepta el comando 260 independiente de la
persona que habla. Si la condición del esquema de rechazo DTW es
falsa, entonces el flujo de control avanza hasta la cuarta etapa
262.
En la cuarta etapa 262, se compara
\Delta(T) con el umbral T13. Si \Delta(T) es mayor
que el umbral T13 y T(1) es igual a D(1), H(1)
o SD(1), entonces se acepta una hipótesis combinada 264. Si
no, entonces se rechaza la hipótesis combinada 266.
En el esquema híbrido (mixto), el motor
dependiente de la persona que habla está generando unas hipótesis
de etiquetas de nombres. El motor independiente de la persona que
habla está generando unas hipótesis de palabras comandos.
Adicionalmente, si existen algunos modelos adaptados a la persona
que habla, entonces el motor dependiente de la persona que habla
genera unas hipótesis de palabras comandos.
\newpage
Típicamente, existen unas pocas decenas de
etiquetas de nombres y unas pocas palabras comandos (tales como
"Guía Telefónica", "Volver a Marcar", "Memoria de
Voz" y "Email").
El usuario puede pronunciar una etiqueta de
nombre o una palabra comando en el nivel principal.
Sin el motor híbrido, el usuario tendrá que
decir "Comando" seguido de la "Tarea" (por ejemplo,
Llamar-John-Jones;
Comando-Guía Telefónica). Con el motor híbrido, el
usuario puede decir "JohnJones" o Guía Telefónica. Los
resultados en una interfaz del usuario.
Los umbrales Ti usados en el circuito lógico
Combinado-Si, en el circuito lógico
Combinado-SA y en el circuito lógico
Combinado-Híbrido, se optimizan usando un juego de
producción de expresiones de voz desde un colectivo de personas que
hablan. En una realización, la optimización se hace manualmente.
En otra realización, se usa un procedimiento
automático tal como el proceso de Minimización de Mínimos Cuadrados
(LMS) para optimizar los umbrales Ti. En una realización, el
procedimiento automático considera cada una de las hipótesis
principales N de cada motor como la respuesta correcta y construye
un vector de parámetros para cada una de las hipótesis de cada
motor como la respuesta correcta y construye un vector de parámetros
para cada una de las hipótesis. En una realización, un ejemplo de
dicho vector es: [\Delta(D) \Delta(Dg)A (H)
\Delta(Hg)], en donde \Delta(?) es la diferencia de
costos entre la hipótesis que está siendo considerada y la
siguiente mejor hipótesis de ese motor. \Delta(Dg)
\Delta(Hg) corresponde a la diferencia de costos entre la
hipótesis que está siendo considerada y el costo parásito de los
motores DTW y HMM, respectivamente.
Como un ejemplo, se toman en consideración las
dos hipótesis principales de cada motor.
Debería haber como máximo cuatro (4) candidatos
para la respuesta, fuera de los cuales solamente uno es la
respuesta correcta. El proceso de adiestramiento genera un juego de
cuatro pesos a, b, c y d que maximizan la suma ponderada de (a*
\Delta(D) + b* \Delta(Dg) + c* \Delta(H)
+ d* \Delta(Hg) para la hipótesis correcta y minimizan la
suma ponderada para las hipótesis incorrectas.
De esta manera, un procedimiento y un aparato
nuevos y perfeccionados para combinar unos motores para el
reconocimiento de voz, han sido descritos. Aquellas personas
expertas en la técnica podrían comprender que las diversas etapas
ilustrativas de bloques, módulos y algoritmos lógicos descritas en
relación con las realizaciones reveladas aquí, pueden ser
implementadas como hardware electrónico, como software de ordenador
o como una combinación de ambos. Los diversos componentes
ilustrativos bloques, módulos, circuitos y etapas han sido descritos
generalmente en términos de su funcionalidad. Si la funcionalidad
es implementada o no como hardware o como software dependerá de las
limitaciones particulares de aplicación y de diseño impuestas a todo
el sistema. Las personas expertas en la técnica reconocen la ínter
cambiabilidad del hardware y del software bajo estas circunstancias
y la manera de cómo implementar mejor la funcionalidad descrita
para cada aplicación particular. Como unos ejemplos, las diversas
etapas ilustrativas de bloques, módulos y algoritmos lógicos
descritas conjuntamente con las realizaciones reveladas aquí pueden
ser implementadas o realizadas con un procesador que ejecute un
juego de instrucciones de microprogramación, una aplicación de un
circuito integrado (ASIC) específico, un conjunto de puertas
programables en un campo (FPGA) u otro dispositivo lógico
programable, puerta discreta o circuito lógico transistor, unos
componentes discretos de hardware tales como, por ejemplo, unos
registros, cualquier módulo de software programable convencional y
un procesador, o cualquier combinación de los mismos diseñadas para
realizar las funciones descritas aquí. Los extractores de
características 106, 108, 110, los módulos de coincidencias 118,
120, 122 y el circuito lógico de toma de decisiones 124 pueden ser
ejecutados ventajosamente en un microprocesador, no obstante en la
realización alternativa, los extractores de características 106,
108, 110, los módulos de coincidencias 118, 120, 122 y el circuito
lógico de toma de decisiones 124 pueden ser ejecutados en cualquier
procesador, controlador, microcontrolador o máquina de estado
convencionales. Los modelos pueden residir en la memoria RAM, en la
memoria instantánea, en la memoria ROM, en la memoria EPROM, en la
memoria EEPROM, en los registros, en el disco duro, en un disco
extraíble, en un CD ROM o en cualquier otro tipo de medio de
almacenamiento conocido en la técnica. Según se ilustra en la Figura
1, los módulos de coincidencias 118, 120, 122 están acoplados
ventajosamente a unos módulos de modelos 112, 114, 116,
respectivamente, para leer la información desde los módulos de
modelos 112, 114, 116, respectivamente. La memoria (no mostrada)
puede ser integral con cualquier procesador antes mencionado. Un
procesador y una memoria (no mostrados) pueden residir en un ASIC
(no mostrado). El ASIC puede residir en un teléfono.
La descripción previa de las realizaciones de la
invención está proporcionada de tal manera que permita que
cualquier persona experta en la técnica realice o use la presente
invención. Las diversas modificaciones a estas realizaciones se
harán fácilmente aparentes a aquellas personas expertas en la
técnica y los principios genéricos definidos aquí se pueden aplicar
a otras realizaciones sin tener que usar la facultad inventiva. De
esta manera, la presente invención no está propuesta para estar
limitada a las realizaciones mostradas aquí, no obstante, deberá
estar en consonancia con el alcance más amplio conforme con las
reivindicaciones adjuntas.
Claims (15)
1. Un sistema de reconocimiento de voz (100),
que comprende:
- -
- un procesador acústico (104) configurado para extraer unos parámetros de voz a partir de unas muestras de voz digitalizadas de una expresión de voz;
- -
- una pluralidad de motores de reconocimiento de voz (106, 108, 110) acoplados al procesador acústico (104), estando cada motor de reconocimiento de voz configurado para producir una hipótesis; y
Una lógica de toma de decisiones que
comprende:
- -
- unos medios para extraer unos parámetros de voz con un procesador acústico (104) a partir de unas muestras de voz digitalizadas de una expresión de voz;
- -
- unos medios para acoplar una pluralidad de motores de reconocimiento de voz al procesador acústico (104); y
- -
- unos medios para producir una pluralidad de hipótesis desde cada motor de reconocimiento de voz;
- -
- unos medios para comparar la hipótesis más verosímil del primer motor de reconocimiento de voz con la segunda hipótesis más verosímil del primer motor de reconocimiento de voz para formar una primera diferencia, delta 1;
- -
- unos medios para comparar la hipótesis más verosímil del segundo motor de reconocimiento de voz con la segunda hipótesis más verosímil del segundo motor de reconocimiento de voz para formar una segunda diferencia, delta 2;
- -
- unos medios para añadir delta 1 y delta 2 para formar una suma delta; y
- -
- unos medios para aceptar la hipótesis más verosímil del primer motor de reconocimiento de voz si la hipótesis más verosímil del primer motor de reconocimiento de voz es igual que la hipótesis más verosímil del segundo motor de reconocimiento de voz y la suma delta es mayor que un primer umbral predeterminado.
2. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 1, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor de
reconocimiento de voz independiente de la persona que habla.
3. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 1, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor de
reconocimiento de voz dependiente de la persona que habla.
4. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 2, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor de
reconocimiento de voz dependiente de la persona que habla.
5. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 4, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor
(108) de reconocimiento de voz de Deformación Dinámica de Tiempo
independiente de la persona que habla.
6. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 4, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor
(110) de reconocimiento de voz Modelo Markov Oculto independiente
de la persona que habla.
7. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 4, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor
(106) de reconocimiento de voz de Deformación Dinámica de Tiempo
dependiente de la persona que habla.
8. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 4, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor
(110) de reconocimiento de voz Modelo Markov Oculto dependiente de
la persona que habla.
9. El sistema de reconocimiento de voz (100)
reivindicado en la reivindicación 4, en el que la pluralidad de
motores de reconocimiento de voz (106, 108, 110) incluye un motor
(106) de reconocimiento de voz de Deformación Dinámica de Tiempo
dependiente de la persona que habla y un motor (108) de Deformación
Dinámica de Tiempo independiente de la persona que habla.
10. Un procedimiento para el reconocimiento de
la voz, que comprende:
- -
- extraer unos parámetros de voz con un procesador acústico (104) a partir de unas muestras de voz digitalizadas de una expresión de voz;
- -
- acoplar una pluralidad de motores de reconocimiento de voz (106, 108, 110) al procesador acústico (104); y
- -
- producir una pluralidad de hipótesis desde cada uno de los motores de reconocimiento de voz;
- -
- comparar la hipótesis más verosímil del primer motor de reconocimiento de voz con la segunda hipótesis más verosímil del primer motor de reconocimiento de voz para formar una primera diferencia, delta 1;
- -
- comparar la hipótesis más verosímil del segundo motor de reconocimiento de voz con la segunda hipótesis más verosímil del segundo motor de reconocimiento de voz para formar una segunda diferencia, delta 2;
- -
- añadir delta 1 y delta 2 para formar una suma delta; y
- -
- aceptar la hipótesis más verosímil del primer motor de reconocimiento de voz si la hipótesis más verosímil del primer motor de reconocimiento de voz es igual que la hipótesis más verosímil del segundo motor de reconocimiento de voz y la suma delta es mayor que un primer umbral predeterminado.
11. Un procedimiento según se reivindica en
la reivindicación 10, en el que cuando la hipótesis más
verosímil del primer motor de reconocimiento de voz no es igual
que la hipótesis más verosímil del primer motor de reconocimiento
de voz y/o la suma delta no es mayor que un umbral predeterminado,
el procedimiento comprende adicionalmente:
- -
- comparar la hipótesis más verosímil del primer motor de reconocimiento de voz con la segunda hipótesis más verosímil del segundo motor de reconocimiento de voz y, si la hipótesis más verosímil del primer motor de reconocimiento de voz es igual que la segunda hipótesis más verosímil del segundo motor de reconocimiento de voz y delta 1 es mayor que un segundo umbral predeterminado, aceptar entonces la hipótesis más verosímil del primer motor de reconocimiento.
12. Un procedimiento según se reivindica en la
reivindicación 11, en el que la hipótesis más verosímil del primer
motor de reconocimiento de voz no es igual que la segunda hipótesis
más verosímil del segundo motor de reconocimiento de voz y/o la
suma delta no es mayor que un umbral predeterminado, el
procedimiento comprende adicionalmente:
- -
- comparar la hipótesis más verosímil del segundo motor de reconocimiento de voz con la segunda hipótesis más verosímil del primer motor de reconocimiento de voz y, si la segunda hipótesis más verosímil del primer motor de reconocimiento de voz y delta 2 es mayor que un tercer umbral predeterminado, aceptar entonces la hipótesis más verosímil del segundo motor de reconocimiento de voz.
13. El procedimiento según se reivindica en la
reivindicación 10, en el que los motores de reconocimiento de voz
(106, 108, 110) se seleccionan entre el grupo que está formado por
los motores de Deformación Dinámica de Tiempo independiente de la
persona que habla, de Modelo Markov Oculto independiente de la
persona que habla, de Deformación Dinámica de Tiempo dependiente de
la persona que habla, de Modelo Markov Oculto dependiente de la
persona que habla.
14. El procedimiento según se reivindica en la
reivindicación 11, en el que los motores de reconocimiento de voz
(106, 108, 110) se seleccionan entre el grupo que está formado por
los motores de Deformación Dinámica de Tiempo independiente de la
persona que habla, de Modelo Markov Oculto independiente de la
persona que habla, de Deformación Dinámica de Tiempo dependiente de
la persona que habla, de Modelo Markov dependiente de la persona que
habla.
15. El procedimiento según se reivindica en la
reivindicación 12, en el que los motores de reconocimiento de voz
(106, 108, 110) se seleccionan entre el grupo que está formado por
los motores de Deformación Dinámica de Tiempo independiente de la
persona que habla, de Modelo Markov Oculto independiente de la
persona que habla, de Deformación Dinámica de Tiempo dependiente de
la persona que habla, de Modelo Markov Oculto dependiente de la
persona que habla.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US618177 | 2000-07-18 | ||
US09/618,177 US6671669B1 (en) | 2000-07-18 | 2000-07-18 | combined engine system and method for voice recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2278763T3 true ES2278763T3 (es) | 2007-08-16 |
Family
ID=24476623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01953554T Expired - Lifetime ES2278763T3 (es) | 2000-07-18 | 2001-07-17 | Sistema y procedimiento de reconocimiento de voz con una pluralidad de motores de reconocimiento. |
Country Status (10)
Country | Link |
---|---|
US (1) | US6671669B1 (es) |
EP (1) | EP1301922B1 (es) |
CN (1) | CN1188831C (es) |
AT (1) | ATE349751T1 (es) |
AU (1) | AU2001275991A1 (es) |
DE (1) | DE60125542T2 (es) |
ES (1) | ES2278763T3 (es) |
HK (1) | HK1057816A1 (es) |
TW (1) | TWI253056B (es) |
WO (1) | WO2002007148A1 (es) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003463B1 (en) | 1998-10-02 | 2006-02-21 | International Business Machines Corporation | System and method for providing network coordinated conversational services |
US6754629B1 (en) * | 2000-09-08 | 2004-06-22 | Qualcomm Incorporated | System and method for automatic voice recognition using mapping |
US20030004720A1 (en) * | 2001-01-30 | 2003-01-02 | Harinath Garudadri | System and method for computing and transmitting parameters in a distributed voice recognition system |
US20020143540A1 (en) * | 2001-03-28 | 2002-10-03 | Narendranath Malayath | Voice recognition system using implicit speaker adaptation |
US7941313B2 (en) | 2001-05-17 | 2011-05-10 | Qualcomm Incorporated | System and method for transmitting speech activity information ahead of speech features in a distributed voice recognition system |
US7203643B2 (en) * | 2001-06-14 | 2007-04-10 | Qualcomm Incorporated | Method and apparatus for transmitting speech activity in distributed voice recognition systems |
US7366673B2 (en) * | 2001-06-15 | 2008-04-29 | International Business Machines Corporation | Selective enablement of speech recognition grammars |
TW541517B (en) * | 2001-12-25 | 2003-07-11 | Univ Nat Cheng Kung | Speech recognition system |
US6996526B2 (en) * | 2002-01-02 | 2006-02-07 | International Business Machines Corporation | Method and apparatus for transcribing speech when a plurality of speakers are participating |
US7203652B1 (en) * | 2002-02-21 | 2007-04-10 | Nuance Communications | Method and system for improving robustness in a speech system |
JP4304952B2 (ja) * | 2002-10-07 | 2009-07-29 | 三菱電機株式会社 | 車載制御装置、並びにその操作説明方法をコンピュータに実行させるプログラム |
US20040138885A1 (en) * | 2003-01-09 | 2004-07-15 | Xiaofan Lin | Commercial automatic speech recognition engine combinations |
EP1603116A1 (en) * | 2003-02-19 | 2005-12-07 | Matsushita Electric Industrial Co., Ltd. | Speech recognition device and speech recognition method |
US7523097B1 (en) * | 2004-01-13 | 2009-04-21 | Juniper Networks, Inc. | Restoration of archived configurations for a network device |
KR100693284B1 (ko) * | 2005-04-14 | 2007-03-13 | 학교법인 포항공과대학교 | 음성 인식 장치 |
CN1963918A (zh) * | 2005-11-11 | 2007-05-16 | 株式会社东芝 | 说话人模板的压缩、合并装置和方法,以及说话人认证 |
US7970613B2 (en) | 2005-11-12 | 2011-06-28 | Sony Computer Entertainment Inc. | Method and system for Gaussian probability data bit reduction and computation |
US7778831B2 (en) | 2006-02-21 | 2010-08-17 | Sony Computer Entertainment Inc. | Voice recognition with dynamic filter bank adjustment based on speaker categorization determined from runtime pitch |
US8010358B2 (en) | 2006-02-21 | 2011-08-30 | Sony Computer Entertainment Inc. | Voice recognition with parallel gender and age normalization |
US8532984B2 (en) | 2006-07-31 | 2013-09-10 | Qualcomm Incorporated | Systems, methods, and apparatus for wideband encoding and decoding of active frames |
GB0616070D0 (en) * | 2006-08-12 | 2006-09-20 | Ibm | Speech Recognition Feedback |
US8239190B2 (en) | 2006-08-22 | 2012-08-07 | Qualcomm Incorporated | Time-warping frames of wideband vocoder |
US7813922B2 (en) * | 2007-01-30 | 2010-10-12 | Nokia Corporation | Audio quantization |
US8494847B2 (en) * | 2007-02-28 | 2013-07-23 | Nec Corporation | Weighting factor learning system and audio recognition system |
US7904410B1 (en) * | 2007-04-18 | 2011-03-08 | The Mathworks, Inc. | Constrained dynamic time warping |
US8352265B1 (en) | 2007-12-24 | 2013-01-08 | Edward Lin | Hardware implemented backend search engine for a high-rate speech recognition system |
US8639510B1 (en) | 2007-12-24 | 2014-01-28 | Kai Yu | Acoustic scoring unit implemented on a single FPGA or ASIC |
US8463610B1 (en) | 2008-01-18 | 2013-06-11 | Patrick J. Bourke | Hardware-implemented scalable modular engine for low-power speech recognition |
WO2010019831A1 (en) * | 2008-08-14 | 2010-02-18 | 21Ct, Inc. | Hidden markov model for speech processing with training method |
US8442833B2 (en) | 2009-02-17 | 2013-05-14 | Sony Computer Entertainment Inc. | Speech processing with source location estimation using signals from two or more microphones |
US8788256B2 (en) | 2009-02-17 | 2014-07-22 | Sony Computer Entertainment Inc. | Multiple language voice recognition |
US8442829B2 (en) | 2009-02-17 | 2013-05-14 | Sony Computer Entertainment Inc. | Automatic computation streaming partition for voice recognition on multiple processors with limited memory |
US8417526B2 (en) * | 2009-03-13 | 2013-04-09 | Adacel, Inc. | Speech recognition learning system and method |
US9026444B2 (en) | 2009-09-16 | 2015-05-05 | At&T Intellectual Property I, L.P. | System and method for personalization of acoustic models for automatic speech recognition |
US8812321B2 (en) * | 2010-09-30 | 2014-08-19 | At&T Intellectual Property I, L.P. | System and method for combining speech recognition outputs from a plurality of domain-specific speech recognizers via machine learning |
US20120168331A1 (en) * | 2010-12-30 | 2012-07-05 | Safecode Drug Technologies Corp. | Voice template protector for administering medicine |
US10032455B2 (en) | 2011-01-07 | 2018-07-24 | Nuance Communications, Inc. | Configurable speech recognition system using a pronunciation alignment between multiple recognizers |
US9153235B2 (en) | 2012-04-09 | 2015-10-06 | Sony Computer Entertainment Inc. | Text dependent speaker recognition with long-term feature based on functional data analysis |
CN104769668B (zh) | 2012-10-04 | 2018-10-30 | 纽昂斯通讯公司 | 改进的用于asr的混合控制器 |
US9240184B1 (en) * | 2012-11-15 | 2016-01-19 | Google Inc. | Frame-level combination of deep neural network and gaussian mixture models |
CN105027198B (zh) * | 2013-02-25 | 2018-11-20 | 三菱电机株式会社 | 语音识别系统以及语音识别装置 |
CN104143330A (zh) * | 2013-05-07 | 2014-11-12 | 佳能株式会社 | 语音识别方法和语音识别系统 |
US20140337030A1 (en) * | 2013-05-07 | 2014-11-13 | Qualcomm Incorporated | Adaptive audio frame processing for keyword detection |
US9225879B2 (en) * | 2013-12-27 | 2015-12-29 | TCL Research America Inc. | Method and apparatus for video sequential alignment |
PH12017500352B1 (en) * | 2014-08-28 | 2022-07-06 | Nokia Technologies Oy | Audio parameter quantization |
CN104616653B (zh) * | 2015-01-23 | 2018-02-23 | 北京云知声信息技术有限公司 | 唤醒词匹配方法、装置以及语音唤醒方法、装置 |
US10134425B1 (en) * | 2015-06-29 | 2018-11-20 | Amazon Technologies, Inc. | Direction-based speech endpointing |
US10536464B2 (en) * | 2016-06-22 | 2020-01-14 | Intel Corporation | Secure and smart login engine |
US10971157B2 (en) | 2017-01-11 | 2021-04-06 | Nuance Communications, Inc. | Methods and apparatus for hybrid speech recognition processing |
US10607601B2 (en) * | 2017-05-11 | 2020-03-31 | International Business Machines Corporation | Speech recognition by selecting and refining hot words |
CN109285548A (zh) * | 2017-07-19 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 信息处理方法、系统、电子设备、和计算机存储介质 |
GB2566759B8 (en) | 2017-10-20 | 2021-12-08 | Please Hold Uk Ltd | Encoding identifiers to produce audio identifiers from a plurality of audio bitstreams |
GB2566760B (en) * | 2017-10-20 | 2019-10-23 | Please Hold Uk Ltd | Audio Signal |
US12131228B2 (en) | 2019-04-02 | 2024-10-29 | International Business Machines Corporation | Method for accessing data records of a master data management system |
CN111128154B (zh) * | 2019-12-03 | 2022-06-03 | 杭州蓦然认知科技有限公司 | 一种聚合形成交互引擎簇的方法及装置 |
CN111694331B (zh) * | 2020-05-11 | 2021-11-02 | 杭州睿疆科技有限公司 | 生产工艺参数调整的系统、方法和计算机设备 |
US11664033B2 (en) * | 2020-06-15 | 2023-05-30 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
US11996087B2 (en) | 2021-04-30 | 2024-05-28 | Comcast Cable Communications, Llc | Method and apparatus for intelligent voice recognition |
CN115376513B (zh) * | 2022-10-19 | 2023-05-12 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器及计算机可读存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4587670A (en) * | 1982-10-15 | 1986-05-06 | At&T Bell Laboratories | Hidden Markov model speech recognition arrangement |
US4783804A (en) * | 1985-03-21 | 1988-11-08 | American Telephone And Telegraph Company, At&T Bell Laboratories | Hidden Markov model speech recognition arrangement |
US4852180A (en) * | 1987-04-03 | 1989-07-25 | American Telephone And Telegraph Company, At&T Bell Laboratories | Speech recognition by acoustic/phonetic system and technique |
US5167004A (en) * | 1991-02-28 | 1992-11-24 | Texas Instruments Incorporated | Temporal decorrelation method for robust speaker verification |
AU671952B2 (en) * | 1991-06-11 | 1996-09-19 | Qualcomm Incorporated | Variable rate vocoder |
US5222190A (en) * | 1991-06-11 | 1993-06-22 | Texas Instruments Incorporated | Apparatus and method for identifying a speech pattern |
US5450522A (en) * | 1991-08-19 | 1995-09-12 | U S West Advanced Technologies, Inc. | Auditory model for parametrization of speech |
CA2126380C (en) * | 1993-07-22 | 1998-07-07 | Wu Chou | Minimum error rate training of combined string models |
US5839103A (en) * | 1995-06-07 | 1998-11-17 | Rutgers, The State University Of New Jersey | Speaker verification system using decision fusion logic |
US5754978A (en) * | 1995-10-27 | 1998-05-19 | Speech Systems Of Colorado, Inc. | Speech recognition system |
US5819220A (en) * | 1996-09-30 | 1998-10-06 | Hewlett-Packard Company | Web triggered word set boosting for speech interfaces to the world wide web |
US6003002A (en) * | 1997-01-02 | 1999-12-14 | Texas Instruments Incorporated | Method and system of adapting speech recognition models to speaker environment |
US5893059A (en) * | 1997-04-17 | 1999-04-06 | Nynex Science And Technology, Inc. | Speech recoginition methods and apparatus |
US6014624A (en) * | 1997-04-18 | 2000-01-11 | Nynex Science And Technology, Inc. | Method and apparatus for transitioning from one voice recognition system to another |
US6526380B1 (en) | 1999-03-26 | 2003-02-25 | Koninklijke Philips Electronics N.V. | Speech recognition system having parallel large vocabulary recognition engines |
-
2000
- 2000-07-18 US US09/618,177 patent/US6671669B1/en not_active Expired - Lifetime
-
2001
- 2001-07-17 AU AU2001275991A patent/AU2001275991A1/en not_active Abandoned
- 2001-07-17 EP EP01953554A patent/EP1301922B1/en not_active Expired - Lifetime
- 2001-07-17 ES ES01953554T patent/ES2278763T3/es not_active Expired - Lifetime
- 2001-07-17 DE DE60125542T patent/DE60125542T2/de not_active Expired - Lifetime
- 2001-07-17 WO PCT/US2001/022761 patent/WO2002007148A1/en active IP Right Grant
- 2001-07-17 AT AT01953554T patent/ATE349751T1/de not_active IP Right Cessation
- 2001-07-17 CN CNB018145922A patent/CN1188831C/zh not_active Expired - Fee Related
- 2001-07-18 TW TW090117578A patent/TWI253056B/zh not_active IP Right Cessation
-
2004
- 2004-01-30 HK HK04100626A patent/HK1057816A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE60125542T2 (de) | 2007-10-11 |
TWI253056B (en) | 2006-04-11 |
US6671669B1 (en) | 2003-12-30 |
CN1188831C (zh) | 2005-02-09 |
AU2001275991A1 (en) | 2002-01-30 |
CN1454380A (zh) | 2003-11-05 |
HK1057816A1 (en) | 2004-04-16 |
ATE349751T1 (de) | 2007-01-15 |
DE60125542D1 (de) | 2007-02-08 |
EP1301922A1 (en) | 2003-04-16 |
EP1301922B1 (en) | 2006-12-27 |
WO2002007148A1 (en) | 2002-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2278763T3 (es) | Sistema y procedimiento de reconocimiento de voz con una pluralidad de motores de reconocimiento. | |
KR100901092B1 (ko) | 음성인식을 위하여 화자의존모드 및 화자독립모드에서dtw와 hmm의 결합 | |
EP1575030B1 (en) | New-word pronunciation learning using a pronunciation graph | |
Juang et al. | Automatic speech recognition–a brief history of the technology development | |
ES2275700T3 (es) | Procedimiento y aparato para crear plantillas de voz para un sistema de reconocimiento de voz independiente. | |
US20020091522A1 (en) | System and method for hybrid voice recognition | |
EP2048655B1 (en) | Context sensitive multi-stage speech recognition | |
US20070112568A1 (en) | Method for speech recognition and communication device | |
US20020196911A1 (en) | Methods and apparatus for conversational name dialing systems | |
KR100769029B1 (ko) | 다언어의 이름들의 음성 인식을 위한 방법 및 시스템 | |
KR19980070329A (ko) | 사용자 정의 문구의 화자 독립 인식을 위한 방법 및 시스템 | |
JP3535292B2 (ja) | 音声認識システム | |
KR20010024521A (ko) | 음성 인식 장치 및 방법, 내비게이션 장치, 휴대 전화장치 및 정보 처리 장치 | |
CN108806691B (zh) | 语音识别方法及系统 | |
JPH09265300A (ja) | 音声処理装置および音声処理方法 | |
JP3049235B2 (ja) | 複合的な文法ネットワークを用いる音声認識システム | |
Moore | Systems for isolated and connected word recognition | |
Li et al. | Speaker authentication | |
Sugamura et al. | Speech processing technologies and telecommunications applications at NTT | |
KR20060062287A (ko) | 문맥 요구형 화자 독립 인증 시스템 및 방법 | |
Akintola et al. | Speech Processing Algorithm for Automatic Speaker Recognition-Based Telephone Voice Dialing in Yorùbá | |
JPH0713587A (ja) | 隠れマルコフモデル連結学習方法 | |
Dansena et al. | A Survey Paper on Automatic Speech Recognition by Machine | |
KR20060075533A (ko) | 안티워드 모델을 이용한 음성인식 방법 | |
Catariov | Automatic speech recognition systems |