ES2878137T3 - Método y dispositivo de activación de voz y dispositivo electrónico - Google Patents
Método y dispositivo de activación de voz y dispositivo electrónico Download PDFInfo
- Publication number
- ES2878137T3 ES2878137T3 ES18823086T ES18823086T ES2878137T3 ES 2878137 T3 ES2878137 T3 ES 2878137T3 ES 18823086 T ES18823086 T ES 18823086T ES 18823086 T ES18823086 T ES 18823086T ES 2878137 T3 ES2878137 T3 ES 2878137T3
- Authority
- ES
- Spain
- Prior art keywords
- voice
- voice activation
- activation pattern
- voice data
- training
- 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.)
- Active
Links
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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- 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/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- 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/26—Speech to text systems
-
- 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/02—Feature extraction for speech recognition; Selection of recognition unit
- G10L2015/025—Phonemes, fenemes or fenones being the recognition units
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0631—Creating reference templates; Clustering
-
- 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/08—Speech classification or search
- G10L2015/088—Word spotting
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
- Electric Clocks (AREA)
Abstract
Un método de activación de voz implementado por ordenador, que comprende: entrenar un patrón de activación de voz con datos de voz generales, en donde el entrenamiento incluye: optimizar iterativamente los parámetros en el patrón de activación de voz con los datos de voz generales a través de un método de descenso de gradiente estocástico asíncrono hasta que el entrenamiento converja; adquirir datos de voz específicos de palabras clave, y entrenar el patrón de activación de voz con los datos de voz específicos de palabras clave, en donde una tasa de aprendizaje utilizada en el entrenamiento con los datos de voz específicos de palabras clave es menor que la utilizada en el entrenamiento del patrón de activación de voz con los datos de voz generales; ingresar (S202) datos de voz en el patrón de activación de voz entrenado con los datos de voz generales y los datos de voz específicos de palabras clave; y generar (S204), mediante el patrón de activación de voz, un resultado para determinar si se ejecuta la activación de voz, en donde el patrón de activación de voz comprende una Red Neuronal Profunda, DNN, y un Clasificador Temporal Conexionista, CTC en secuencia.
Description
DESCRIPCIÓN
Método y dispositivo de activación de voz y dispositivo electrónico
Campo técnico
Esta especificación se refiere al campo de las tecnologías de software informático y, en particular, a un método, aparato y dispositivo electrónico de activación de voz.
Técnica antecedente
Con el rápido desarrollo de los dispositivos móviles, las tecnologías relacionadas con la voz también se están volviendo cada vez más comunes. Por ejemplo, el reconocimiento de voz se utiliza en asistentes de conversación cada vez más populares como Siri de Apple, Cortana de Microsoft, y Alexa de Amazon para mejorar la experiencia del usuario y el nivel natural de interacción humano-ordenador.
Una tecnología de interacción de voz importante es la Detección de Palabras Clave (KWS), la cual también puede denominarse en general como activación de voz. Con base en la técnica anterior, existe la necesidad de una solución de activación de voz que no dependa únicamente de datos de voz específicos de palabras clave.
ZHANG et al, Deep Recurrent Convolutional Neural Network: Improving Performance for Speech Recognition, CORR (ARXIV), vol. 1611.07174v2, 27 de Diciembre de 2016, páginas 1-11, XP055524882, se refiere a la arquitectura para el modelado de secuencias y al reconocimiento de voz utilizando redes convolucionales recurrentes profundas con aprendizaje residual profundo.
HORI et al, Advances in Joint CTC-Attention Based End-to-End Speech Recognition with a Deep CNN Encoder y RNN-LM, ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 8 de Junio de 2017, XP080768573, se refiere a un patrón de Reconocimiento Automático de Voz (ASR) de extremo a extremo en el cual una red CTC se ubica en la parte superior de un decodificador y se entrena conjuntamente con el decodificador con base en la atención, y donde el proceso de búsqueda de haz combina predicciones CTC, las predicciones del decodificador con base en la atención, y un patrón de lenguaje LSTM entrenado separadamente.
TIAN et al, Frame Stacking and Retaining for Recurrent Neural Network Acoustic Model, ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY, 17 de Mayo de 2017, XP080948417 se refiere a un método de retención de marco aplicado a la decodificación.
WANG et al, Small-Footprint Keyword Spotting Using Deep Neural Network y Connectionist Temporal Classifier, Al Deparment, Ant Financial Group, Hangzhou, China, 11 de Septiembre de 2017 [obtenido el 25 de Marzo de 2019], obtenido de https://arxiv.org/pdf/1709.03665.pdf, se refiere a un sistema de Detección de Palabras Clave (KWS) que utiliza una Red Neuronal Profunda (DNN) y un Clasificador Temporal Conexionista (CTC) en dispositivos móviles de huella reducida con restricción de energía.
ZHANG et al. Wake-up-Word Spotting Using End-to-End Deep Neural Network System, in 23rd International Conference on Pattern Recognition (ICPR), Cancún, México, IEe E 2016, páginas 2878-83, XP033086067, se refiere a un sistema de detección de palabras para activación (WUW) con base en una arquitectura de extremo a extremo y divulga un sistema WUW liviano con base en el proceso de refinamiento del patrón orientado a WUW y el transductor de estado finito ponderado (WFST) con base en la detección de WUW y la estimación de la puntuación de confianza.
Resumen de la invención
Las reivindicaciones independientes exponen la invención reivindicada. Las realizaciones específicas se exponen en las reivindicaciones dependientes.
Al menos una de las soluciones técnicas anteriores adoptadas en las realizaciones de esta especificación puede lograr los siguientes efectos beneficiosos: el patrón de activación de voz puede entrenarse con datos de voz generales accesibles y datos de voz específicos de palabras clave, y luego el patrón de activación de voz entrenado puede ser utilizado para la activación de voz, lo cual es favorable para mejorar la precisión de la activación de voz.
Breve descripción de los dibujos
Con el fin de describir las soluciones técnicas en las realizaciones de esta especificación o en la técnica anterior más claramente, los dibujos adjuntos que se utilizarán en la descripción sobre las realizaciones o la técnica anterior se introducirán brevemente a continuación. Es evidente que los dibujos adjuntos que se describen a continuación son simplemente algunas realizaciones divulgadas en esta especificación. Los expertos en la técnica pueden obtener además otros dibujos adjuntos de acuerdo con estos dibujos adjuntos sin esfuerzos creativos.
La Figura 1 es un diagrama esquemático de una arquitectura general involucrada en una solución de esta especificación en un escenario de aplicación real;
La Figura 2 es un diagrama de flujo esquemático de un método de activación de voz de acuerdo con un ejemplo de esta especificación;
La Figura 3 es un diagrama esquemático de un esquema conceptual del patrón de activación de voz en la Figura 2 de acuerdo con una realización de esta especificación;
La Figura 4 es un diagrama esquemático de extracción de características del módulo de extracción de características de la Figura 3 en un escenario de aplicación real de acuerdo con una realización de esta especificación;
La Figura 5 es un diagrama estructural esquemático de una Red Neuronal Profunda (DNN) de la Figura 3 en un escenario de aplicación real de acuerdo con una realización de esta especificación;
La Figura 6 es un diagrama estructural esquemático de un Clasificador Temporal Conexionista (CTC) en la Figura 3 en un escenario de aplicación real de acuerdo con una realización de esta especificación; y
La Figura 7 es un diagrama estructural esquemático de un aparato de activación de voz correspondiente a la Figura 2 de acuerdo con una realización de esta especificación.
Descripción detallada
En las realizaciones de esta especificación se proporcionan un método, aparato, y dispositivo electrónico de activación de voz.
Con el fin de permitir que los expertos en la técnica comprendan mejor las soluciones técnicas en esta especificación, las soluciones técnicas en las realizaciones de esta especificación se describirán de manera clara y completamente a continuación con referencia a los dibujos adjuntos en las realizaciones de esta especificación. Es evidente que las realizaciones descritas son simplemente algunas, y no todas, las realizaciones de esta solicitud. Todas las demás realizaciones obtenidas por los expertos en la técnica con base en el alcance de las reivindicaciones adjuntas, deberán estar todas incluidas dentro del alcance de protección de esta solicitud.
Para facilitar la comprensión, la idea de las soluciones de esta especificación se explica a continuación. En esta especificación, un patrón de activación de voz que incluye una Red Neuronal Profunda (DNN) y un Clasificador Temporal Conexionista (CTC) se entrena con datos de voz generales. El patrón de activación de voz entrenado se puede utilizar para la activación de voz y soporte de palabras clave definidas por el usuario desencadenadas por la activación de voz. Además, el patrón de activación de voz se puede utilizar en dispositivos de bajo consumo tales como teléfonos móviles y electrodomésticos, debido a que la DNN que se incluye en el patrón de activación de voz puede ser relativamente no tan complicada y, por ejemplo, solo puede tener tres o cuatro capas con doscientos o trescientos nodos en cada capa. El patrón de activación de voz puede denominarse CTC-KWS, y el KWS aquí es la detección de palabras clave que se menciona en el antecedente.
La DNN es un perceptrón de múltiples capas, el cual tiene una capa oculta entre una capa de entrada y una capa de salida y puede simular relaciones complejas no lineales. El CTC es un clasificador configurado para realizar una tarea de etiquetado de etiquetas, y no requiere una alineación forzada entre la entrada y la salida.
La Figura 1 es un diagrama esquemático de una arquitectura general involucrada en una solución de esta especificación en un escenario de aplicación real. Dos partes están involucradas principalmente en la arquitectura general: datos de voz y un patrón de activación de voz. El patrón de activación de voz incluye una DNN y un CTC. La activación de voz se puede implementar introduciendo los datos de voz en el patrón de activación de voz para el procesamiento.
La solución de esta especificación se describe en detalle a continuación con base en la idea anterior y la arquitectura general.
La Figura 2 es un diagrama de flujo esquemático de un método de activación de voz de acuerdo con un ejemplo de esta especificación. A partir de la perspectiva de los programas, el cuerpo ejecutivo del flujo puede ser un programa en un servidor o un terminal, por ejemplo, un programa de entrenamiento de patrón, un programa de reconocimiento de voz, una aplicación de activación de voz, etc. A partir de la perspectiva de los dispositivos, el posible cuerpo ejecutivo del flujo es, pero no se limita a, al menos uno de los siguientes dispositivos que pueden servir como servidores o terminales: un teléfono móvil, una tableta, un dispositivo portátil inteligente, una máquina de automóvil, un ordenador personal, un ordenador de tamaño mediano, un grupo de ordenadores, etc.
El flujo de la Figura 2 puede incluir las siguientes etapas.
En S202, los datos de voz se ingresan en un patrón de activación de voz entrenado con datos de voz generales.
En la realización de esta especificación, el cuerpo ejecutivo u otro cuerpo puede monitorizar la voz para obtener los datos de voz. Cuando se monitoriza la voz, un usuario puede expresar una palabra clave predeterminada para desencadenar el patrón de activación de voz para ejecutar la activación de voz.
En S204, el patrón de activación de voz genera un resultado para determinar si se debe ejecutar la activación de voz, en donde el patrón de activación de voz incluye una DNN y un CTC.
En la realización de esta especificación, comparado con los datos de voz específicos de palabras clave mencionados en el antecedente, los datos de voz generales descritos en la etapa S202 están menos restringidos y, por lo tanto, son fácilmente accesibles. Por ejemplo, puede ser un corpus de Reconocimiento de Voz Continuo de Vocabulario Grande (LVCSR) o similar.
En la realización de esta especificación, la DNN que se incluye en el patrón de reconocimiento de voz puede predecir una distribución de probabilidad posterior de una secuencia de fonemas de pronunciación correspondiente a características de voz de entrada. La DNN puede ser seguida por el CTC para dar una puntuación de confianza correspondiente a la secuencia de fonemas de pronunciación predicha. Se puede generar un resultado para determinar si se debe ejecutar la activación de voz con base en la puntuación de confianza.
Con el método de la Figura 2, en lugar de depender de datos de voz específicos de palabras clave, el patrón de activación de voz se puede entrenar con los datos de voz generales accesibles, y además el patrón de activación de voz entrenado se puede utilizar para la activación de voz, lo cual es favorable para mejorar la precisión de la activación de voz.
El patrón de activación de voz también rompe las restricciones de los datos de voz específicos de palabras clave y soportar palabras clave activadas desencadenadas por el usuario. Por lo tanto, es más conveniente y flexible en aplicaciones reales y favorable para mejorar la experiencia del usuario.
Con base en el método de la Figura 2, se proporcionan además algunas soluciones de implementación específicas y soluciones ampliadas del método en las realizaciones de la especificación, las cuales se describen a continuación.
Para facilitar la comprensión, se proporciona un diagrama esquemático de un esquema conceptual del patrón de activación de voz de la Figura 2 en una realización de esta especificación, como se muestra en la Figura 3.
El esquema conceptual de la Figura 3 incluye un módulo de extracción de características, una DNN, y un CTC en secuencia. En la etapa S204, la generación, mediante el patrón de activación de voz, de un resultado para determinar si ejecutar la activación de voz puede incluir específicamente:
extraer características acústicas a partir de los datos de voz de entrada;
ingresar las características acústicas en la DNN para el procesamiento con el fin de obtener una probabilidad de clase de las características acústicas correspondientes respectivamente a cada fonema de pronunciación;
ingresar la probabilidad de clase en el CTC para el procesamiento con el fin de obtener una puntuación de confianza de un término de activación de voz correspondiente a una secuencia de fonema de pronunciación; y
determinar si se debe ejecutar la activación de acuerdo con la puntuación de confianza, y generar un resultado de determinación.
Diversas partes del esquema conceptual de la Figura 3 se describen en detalle en combinación adicional con la Figura 4, la Figura 5, y la Figura 6 de acuerdo con el anterior flujo de activación de voz.
La Figura 4 es un diagrama esquemático de extracción de características del módulo de extracción de características en la Figura 3 en un escenario de aplicación real de acuerdo con una realización de esta especificación.
En la Figura 4, cuando se monitoriza actualmente una sección de voz “Zhi Ma Kai Men”, una secuencia de etiqueta objetivo correspondiente a la misma es una secuencia de fonemas de pronunciación, la cual se puede expresar como: “zhilma2kailmen2”, en donde los números representan tonos. Además de los fonemas tales como iniciales y finales, los fonemas de tono también se tienen en cuenta como una unidad de modelado. En una aplicación real, se pueden tomar en cuenta todos los fonemas independientes o dependientes del contexto, entre los cuales el último es más numeroso. Sin embargo, en consideración de reducir la carga computacional posterior de la DNN, es preferible considerar solo los fonemas independientes del contexto, específicamente 72 unidades de fonemas chinos independientes del contexto, que incluyen una unidad en blanco.
Las características acústicas se pueden extraer mediante el módulo de extracción de características a partir de los datos de voz de entrada, los cuales pueden incluir específicamente la extracción de marcos de características acústicas de los datos de voz de entrada a partir de una ventana de acuerdo con un intervalo especifico de tiempo, en donde cada uno de los marcos de características acústicas son energías del banco de filtros de registro multidimensional; apilar una pluralidad de marcos de características acústicas adyacentes respectivamente; tomar los marcos de características acústicas apiladas respectivamente como características acústicas extraídas a partir de los datos de voz generales; y además, los marcos de características acústicas apilados se pueden utilizar como entradas de la DNN respectivamente.
Las energías del banco de filtros de registro se refieren a señales de energía extraídas por un banco de filtros de registro, las cuales pueden expresarse como un vector en la solución de esta especificación para facilitar el procesamiento del patrón. La multi-dimensión en lo anterior representa múltiples dimensiones del vector.
Por ejemplo, una longitud especificada de una ventana de tiempo puede ser de 25 milisegundos, cada ventana de tiempo puede moverse por 10 milisegundos, y la multi-dimensión puede ser, por ejemplo, de 40 dimensiones. En un eje de tiempo de los datos de voz, se pueden utilizar milisegundos a partir de 0 a 25 como una ventana, y las energías del banco de filtros de registro de 40 dimensiones se extraen correspondientemente a partir de los datos de voz para que sirvan como un primer marco de características acústicas; se pueden utilizar milisegundos a partir de 10 a 35 como una ventana, y las energías del banco de filtros de registro de 40 dimensiones se extraen correspondientemente a partir de los datos de voz para que sirvan como un segundo marco de características acústicas; y se pueden extraer múltiples marcos de características acústicas de la misma manera.
Además, el objetivo de apilar una pluralidad de marcos de características acústicas adyacentes es permitir más información a partir de un contexto de un marco actual, lo cual conduce a mejorar la precisión de los resultados de predicción posteriores. Siguiendo el ejemplo anterior, el marco actual, los diez marcos consecutivos adyacentes antes del marco actual, y los cinco marcos consecutivos adyacentes después del marco actual pueden apilarse, por ejemplo, para obtener una característica de apilamiento de 640 dimensiones para ingresar a la DNN posterior. Además, el medio cepstral y la normalización de la varianza se pueden llevar a cabo en las dimensiones de la característica de apilamiento, y luego se puede llevar a cabo la entrada hacia atrás.
Se debe observar que la manera de extracción de características y los parámetros adoptados en el ejemplo anterior son solo de ejemplo, y pueden ajustarse de acuerdo como sea necesario en aplicaciones reales.
La Figura 5 es un diagrama estructural esquemático de la DNN en la Figura 3 en un escenario de aplicación real de acuerdo con una realización de esta especificación.
En la Figura 5, diversas neuronas de la DNN están completamente conectadas. Las características acústicas extraídas por el módulo de extracción de características de la Figura 3 se ingresan en la DNN. La DNN puede describir una relación entre una característica xqER"0 acústica de entrada y una unidad j de modelado en una capa de salida de acuerdo con el siguiente mapeo de función:
donde Xi^ £ R ni es una salida de una capa oculta, Wi £Rni X ni-1 y Bi £Rni son pesos y parámetros de desplazamiento respectivamente, n es el número de nodos en la capa iésima, 9={Wi, Bi}, “ T denota la transposición de una matriz, N es el número de capas ocultas, y a es una función de activación no lineal, por ejemplo, una función de Unidad Lineal Rectificada (ReLU) a(z) = max(z, 0). La fórmula III es una función softmax, que representa la parte posterior estimada de una unidad j de etiqueta.
En una aplicación real, también se puede utilizar una Red Neuronal Recurrente (RNN) junto con el CTC. Sin embargo, en el caso de que los datos de entrenamiento estén restringidos, tal como en el Antecedente, los requisitos mínimos de consumo de energía y computación de los dispositivos móviles se pueden cumplir más fácilmente utilizando la DNN junto con el CTC. Con el fin de reducir la complejidad en el cálculo, la DNN con aproximadamente cientos de nodos en una capa oculta es más adecuado.
La Figura 6 es un diagrama estructural esquemático del CTC en la Figura 3 en un escenario de aplicación real de acuerdo con una realización de esta especificación.
El CTC está diseñado específicamente para tareas de etiquetado secuenciales. A diferencia del criterio de entropía cruzada para la alineación a nivel de marco entre las características de entrada y las etiquetas objetivo, el CTC tiene como objetivo aprender automáticamente la alineación entre los datos de voz y las secuencias de etiquetas (por ejemplo, fonemas o caracteres, etc.), eliminando así la necesidad de alineación forzada de datos, y la entrada no es necesariamente la misma que la longitud de la etiqueta.
En la Figura 6, se extrae una unidad de modelado específica a partir de L, y el CTC se ubica en una capa softmax de la DNN. La DNN se compone de una unidad |L| y una unidad en blanco. La introducción de la unidad en blanco alivia la carga de la predicción de etiqueta, ya que los símbolos no se generan de manera correspondiente durante la incertidumbre.
y tj (j e[0, | l |], t e [0, T)) se define como una probabilidad de que la DNN genera j en una etapa t de tiempo. Se dan una secuencia xt de entrada de una longitud T de marco y una etiqueta FT objetivo, y li eL Una ruta CTC n=(nb,...,n'T-i) es
una secuencia de etiquetas a nivel de marco, la cual es diferente a partir de / en que la ruta CTC permite la aparición de etiquetas repetidas que no están en blanco y unidades en blanco.
La ruta n de CTC se puede mapear con su secuencia / de etiquetas correspondiente eliminando las etiquetas repetidas y las unidades en blanco. Por ejemplo, T(“aa-b-c") = T(“abbcc-) = “abc". Una función de mapeo de diversos a uno se define como t, y “-” representa un espacio en blanco. Si se da x T, y se asume que una condición de probabilidad de salida de cada etapa de tiempo es independiente, la probabilidad de la ruta n es:
P(n \x)6) = njTo1^ ; (fórmula IV)
Entonces, la probabilidad de / puede calcularse con base en t sumando las probabilidades de todas las rutas mapeadas a /. En aplicaciones reales, es problemático sumar todas las rutas en el CTC en términos de cálculo. Con respecto a este problema, se puede adoptar un algoritmo de programación dinámica hacia adelante y hacia atrás. Todas las posibles rutas de CTC se representan de manera compacta como cuadrículas con base en el algoritmo, tal como se muestra en la Figura 6.
En el momento del entrenamiento, el CTC tiene como objetivo habilitar 0* = argmine l ( x,i)es -/og(p(/|x; 0)), donde S representa los datos de entrenamiento utilizados. En el momento de la decodificación, cuando la puntuación de confianza generada por el CTC es mayor que un umbral establecido, un motor de detección puede tomar una decisión positiva en consecuencia, y se puede considerar que se han detectado las palabras clave correspondientes. El umbral establecido se puede ajustar con base en un conjunto de datos de verificación.
En la realización de esta especificación, el patrón puede entrenarse mediante un método de descenso de gradiente, preferiblemente mediante un método de descenso de gradiente aleatorio asincrónico, para optimizar iterativamente los parámetros en el patrón de activación de voz hasta que el entrenamiento converja.
Por ejemplo, la DNN y el CTC pueden entrenarse en un servidor que tiene una Unidad de Procesamiento de Gráficos (GPU). Los parámetros de Red se inicializan aleatoriamente para distribuirse uniformemente dentro de un rango de ( 0.02, 0.02), una tasa de aprendizaje inicial es 0.008, y un momento es 0.9.
Para facilitar la comprensión, la tasa de aprendizaje y su función se describen a continuación.
La tasa de aprendizaje es un parámetro utilizado en el método de descenso de gradiente. En el método de descenso de gradiente, se puede inicializar primero una solución, y con base en esta solución, se determina una dirección de movimiento y un tamaño de etapa de movimiento, de tal modo que después de que la solución inicial se mueva de acuerdo con la dirección y el tamaño de etapa, se puede reducir la salida de una función objetivo. Luego se actualiza a una nueva solución, se busca continuamente una siguiente dirección de movimiento y un tamaño de etapa siguiente, y después de que este proceso se realiza de forma iterativa, la función objetivo se reduce constantemente, para finalmente encontrar una solución, de tal modo que la función objetivo sea relativamente pequeña. En el proceso de encontrar la solución, si el tamaño de la etapa es demasiado grande y la búsqueda no es lo suficientemente cuidadosa, se puede omitir una buena solución, y si el tamaño de la etapa es demasiado pequeño, el proceso de búsqueda de la solución procederá con demasiada lentitud. Por lo tanto, es importante definir el tamaño de la etapa de manera adecuada. La tasa de aprendizaje se utiliza para ajustar el tamaño de la etapa original. En el método de descenso de gradiente, el tamaño de la etapa en cada ajuste es igual a la tasa de aprendizaje multiplicada por un gradiente.
En el entrenamiento anterior, también se puede utilizar un conjunto de datos de verificación para una verificación cruzada del patrón de activación de voz para determinar si el entrenamiento converge.
Con el fin de mejorar el rendimiento y la robustez del patrón de activación de voz, se proporcionan además más medidas en las soluciones de esta especificación.
Una medida es el entrenamiento adaptativo. Específicamente, de acuerdo con la invención, se ajusta un patrón general con datos de voz de algunas palabras clave específicas y con una tasa de aprendizaje relativamente baja. Con base en esta consideración, cuando se entrena el patrón de activación de voz, también se adquieren datos de voz específicos de palabras clave, y el patrón de activación de voz se entrena con los datos de voz específicos de palabras clave. Una tasa de aprendizaje utilizada en el entrenamiento es menor que la utilizada en el entrenamiento del patrón de activación de voz con los datos de voz generales.
Otra medida es el aprendizaje por transferencia. Específicamente, los parámetros de red pueden no inicializarse aleatoriamente, sino que se refieren a una red correspondiente existente la cual tiene la misma estructura de topología que la red objetivo, excepto por unidades detalladas en la capa de salida, y puede utilizar un criterio de entropía cruzada. La transferencia de aprendizaje se puede considerar especialmente cuando los datos de entrenamiento tienen una gran escala.
Otras medidas incluyen, por ejemplo, el uso de instrucciones vectoriales relacionadas con la arquitectura (por ejemplo, ARM's NEON) para acelerar aún más la multiplicación, y así sucesivamente.
Como se mencionó anteriormente, la solución de esta especificación puede soportar fácilmente palabras clave de activación de voz definidas por el usuario. Se puede determinar una secuencia de etiquetas objetivo correspondiente a dichas palabras clave definidas por el usuario a través de un diccionario.
Un método de activación de voz proporcionado en la realización de esta especificación es como se describe en lo anterior. Con base en la misma idea de especificación, se proporciona además un aparato correspondiente en una realización de esta especificación, como se muestra en la Figura 7.
La Figura 7 es un diagrama estructural esquemático de un aparato de activación de voz correspondiente a la Figura 2 de acuerdo con una realización de esta especificación. El aparato puede estar ubicado en el cuerpo ejecutivo del flujo de la Figura 2, que incluye un módulo 701 de entrada y un patrón 702 de activación de voz.
Los datos de voz son ingresados por el módulo 701 de entrada al patrón 702 de activación de voz entrenado con datos de voz generales, y el patrón 702 de activación de voz genera un resultado para determinar si se debe ejecutar la activación de voz, en donde el patrón de activación de voz incluye una DNN y un CTC.
Opcionalmente, los datos de voz generales incluyen un corpus LVCSR.
El aparato incluye además un módulo 703 de entrenamiento; y el entrenamiento, por el módulo 703 de entrenamiento, el patrón de activación de voz con los datos de voz generales incluye:
optimizar iterativamente, mediante el módulo 703 de entrenamiento, los parámetros en el patrón de activación de voz con los datos de voz generales mediante un método de descenso de gradiente estocástico asincrónico hasta que el entrenamiento converja.
El módulo 703 de entrenamiento adquiere además datos de voz específicos de palabras clave; y entrena el patrón de activación de voz con los datos de voz específicos de palabras clave, en donde una tasa de aprendizaje utilizada en el entrenamiento es menor que la utilizada en el entrenamiento del patrón de activación de voz con los datos de voz generales.
Opcionalmente, el módulo 703 de entrenamiento verifica de manera cruzada el patrón de activación de voz con un conjunto de datos de verificación en el entrenamiento para determinar si el entrenamiento converge.
Opcionalmente, la generación, mediante el patrón 702 de activación de voz, de un resultado para determinar si ejecutar la activación de voz incluye específicamente:
extraer, mediante el patrón 702 de activación de voz, características acústicas a partir de los datos de voz de entrada; ingresar las características acústicas en la DNN que se incluye en el patrón 702 de activación de voz para el procesamiento con el fin de obtener una probabilidad de clase de las características acústicas correspondientes respectivamente a cada fonema de pronunciación;
ingresar la probabilidad de clase en el CTC que se incluye en el patrón 702 de activación de voz para el procesamiento con el fin de obtener una puntuación de confianza de un término de activación de voz correspondiente a una secuencia de fonemas de pronunciación; y
determinar si se debe ejecutar la activación de acuerdo con la puntuación de confianza, y generar un resultado de determinación.
Opcionalmente, la extracción, mediante el patrón 702 de activación de voz, las características acústicas a partir de los datos de voz de entrada incluyen específicamente:
extraer, mediante el patrón 702 de activación de voz, marcos de características acústicas de los datos de voz de entrada a partir de una ventana de acuerdo con un intervalo de tiempo especificado, en donde cada uno de los marcos de características acústicas son energías del banco de filtros de registro multidimensionales;
apilar una pluralidad de marcos de características acústicas adyacentes, respectivamente; y
tomar los marcos de características acústicas apiladas respectivamente como características acústicas extraídas a partir de la voz monitorizada.
Con base en la misma idea de especificación, se proporciona además un dispositivo electrónico correspondiente en un ejemplo de esta especificación, que incluye:
al menos un procesador; y
una memoria comunicativamente conectada a al menos un procesador; en donde
la memoria almacena una instrucción ejecutable por el al menos un procesador, y la instrucción es ejecutada por el al menos un procesador para permitir que el al menos un procesador:
ingrese datos de voz a un patrón de activación de voz entrenado con datos de voz generales, y generar, mediante el patrón de activación de voz, un resultado para determinar si se debe ejecutar la activación de voz, en donde el patrón de activación de voz incluye una DNN y un CTC.
Con base en la misma idea de especificación, un medio de almacenamiento informático no volátil correspondiente con una instrucción ejecutable por ordenador almacenada en el mismo se proporciona además en un ejemplo de esta especificación, en donde la instrucción ejecutable por ordenador está configurada para:
ingresar datos de voz a un patrón de activación de voz entrenado con datos de voz generales, y generar, mediante el patrón de activación de voz, un resultado para determinar si se debe ejecutar la activación de voz, en donde el patrón de activación de voz incluye una DNN y un CTC.
En lo anterior se han descrito las realizaciones específicas de esta especificación. Otras realizaciones caen dentro del alcance de las reivindicaciones adjuntas. Bajo algunas circunstancias, las acciones o etapas descritas en las reivindicaciones pueden realizarse en una secuencia diferente a la de las realizaciones y aún pueden lograr un resultado deseado. Además, los procesos representados en los dibujos adjuntos no son necesariamente requeridos para lograr el resultado deseado de acuerdo con la secuencia específica o secuencia consecutiva mostrada. El procesamiento multitarea y el procesamiento paralelo también son posibles o pueden ser ventajosos en algunas formas de implementación.
Las realizaciones en la especificación se describen progresivamente, se pueden obtener partes idénticas o similares de las realizaciones con referencia entre sí, y cada realización enfatiza una parte diferente a partir de otras realizaciones. Especialmente, las realizaciones del aparato, dispositivo electrónico, y medio de almacenamiento informático no volátil son básicamente similares a las realizaciones del método, por lo tanto, se describen de manera simple. Para las partes relacionadas, consultar las descripciones de las partes en las realizaciones del método.
El aparato, el dispositivo electrónico, y el medio de almacenamiento informático no volátil que se proporciona en las realizaciones de esta especificación corresponden al método. Por tanto, el aparato, el dispositivo electrónico, y el medio de almacenamiento informático no volátil también tienen efectos técnicos beneficiosos similares a los del método correspondiente. Como los efectos técnicos beneficiosos del método se han descrito en detalle en lo anterior, los efectos técnicos beneficiosos del aparato, el dispositivo electrónico, y el medio de almacenamiento informático no volátil no se detallarán aquí.
En la década de 1990, una mejora de una tecnología se puede distinguir obviamente como una mejora en el hardware (por ejemplo, una mejora en la estructura de un circuito tal como un diodo, un transistor, y un interruptor) o una mejora en el software (una mejora en un procedimiento del método). Sin embargo, con el desarrollo de tecnologías, las mejoras de diversos procedimientos de métodos en la actualidad pueden considerarse como mejoras directas en las estructuras de circuitos de hardware. Casi todos los diseñadores programan los procedimientos de métodos mejorados en circuitos de hardware para obtener las estructuras de circuito de hardware correspondientes. Por lo tanto, es inapropiado asumir que la mejora de un procedimiento del método no se puede implementar mediante el uso de un módulo de entidad de hardware. Por ejemplo, un Dispositivo Lógico Programable (PLD) (por ejemplo, una Matriz de Puerta Programable en Campo (FPGA)) es un dicho circuito integrado, y sus funciones lógicas están determinadas por un dispositivo de programación del usuario. Los diseñadores programan por sí mismos para “integrar” un sistema digital en un PLD, sin solicitarle al fabricante del chip que diseñe y fabrique un chip de circuito integrado dedicado. Además, en la actualidad, la programación se implementa principalmente mediante el uso de software compilador lógico en lugar de fabricar manualmente un chip de circuito integrado. El software del compilador lógico es similar a un compilador de software utilizado para desarrollar y escribir un programa, y los códigos originales antes de compilar también deben escribirse utilizando un lenguaje de programación específico, lo cual se denomina como Lenguaje de Descripción de Hardware (HDL). Existen diversos tipos de HDLs, tales como Lenguaje de Expresión Booleano Avanzado (ABEL), Lenguaje de Descripción de Hardware Altera (AHDL), Confluencia, Lenguaje de Programación de Universidad de Cornell (CUPL), HDCal, Lenguaje de Descripción de Hardware Java (JHDL), Lava, Lola, MyHDL, PALASM, y Lenguaje de Descripción de Hardware Ruby (RHDL), entre los cuales el Lenguaje de Descripción de Hardware de Circuito Integrado de Muy Alta Velocidad (VHDL) y Verilog se utilizan con mayor frecuencia en la actualidad. Los expertos en la técnica también deben saber que un circuito de hardware para implementar el procedimiento del método lógico puede obtenerse fácilmente programando de manera lógicamente ligera el procedimiento del método utilizando los diversos lenguajes de descripción de hardware anteriores y programándolo en un circuito integrado.
Se puede implementar un controlador de cualquier manera adecuada. Por ejemplo, el controlador puede emplear una forma de un microprocesador o un procesador y un medio legible por ordenador que almacena códigos de programa legibles por ordenador (tales como software o firmware) ejecutables por el microprocesador o procesador, una puerta lógica, un interruptor, un Circuito Integrado Específico de la Aplicación (ASIC), un controlador lógico programable, y un microcontrolador incorporado. Los ejemplos del controlador incluyen, pero no se limitan a, los siguientes microcontroladores: ARC 625D, Atmel AT91sA m , Microchip PIC18F26K20, y Silicone Labs C8051F320. El controlador de la memoria se puede implementar además como una parte de la lógica de control de la memoria. Los expertos en la técnica también saben que, además de implementar el controlador mediante el uso de códigos de programa legibles por ordenador, es completamente factible programar lógicamente las etapas del método para permitir que el
controlador implemente la misma función en una forma de una puerta lógica, un interruptor, un ASIC, un controlador lógico programable, y un microcontrolador incorporado. Por lo tanto, dicho controlador puede considerarse como un componente de hardware, y los aparatos que se incluyen en el controlador y configurados para implementar diversas funciones también pueden considerarse como estructuras dentro del componente de hardware. O bien, los aparatos configurados para implementar diversas funciones pueden incluso considerarse como módulos de software configurados para implementar el método y estructuras dentro del componente de hardware.
El sistema, aparatos, módulos o unidades que se ilustran en las realizaciones anteriores pueden implementarse específicamente mediante un chip de ordenador o una entidad, o implementarse mediante un producto que tiene una función específica. El dispositivo de implementación atípico es un ordenador. Específicamente, por ejemplo, el ordenador puede ser un ordenador personal, un ordenador portátil, un teléfono celular, un teléfono con cámara, un teléfono inteligente, un asistente digital personal, un reproductor multimedia, un dispositivo de navegación, un dispositivo de correo electrónico, una consola de juegos, una tableta, un dispositivo portátil, o una combinación de cualquiera de estos dispositivos.
Para facilitar la descripción, el aparato se divide en diversas unidades con base en funciones, y las unidades se describen de manera separada. En una implementación de esta especificación, las funciones de diversas unidades también se pueden implementar en una o más piezas de software y/o hardware.
Los expertos en la técnica deben comprender que las realizaciones de esta especificación pueden proporcionarse como un método, un sistema, o un producto de programa informático. Por lo tanto, las realizaciones de esta especificación pueden implementarse en una forma de una realización de hardware completa, una realización de software completa, o una realización que combina software y hardware. Además, las realizaciones de esta especificación pueden estar la forma de un producto de programa informático implementado en uno o más medios de almacenamiento utilizables por ordenador (que incluyen, pero no se limitan a, una memoria de disco magnético, un CD-ROM, una memoria óptica y similares) que incluyen los códigos de programa utilizables por ordenador.
Esta especificación se describe con referencia a diagramas de flujo y/o diagramas de bloques del método, el dispositivo (sistema) y el producto de programa informático de acuerdo con las realizaciones de esta especificación. Debe entenderse que se pueden utilizar instrucciones de programas informáticos para implementar cada proceso y/o bloque en los diagramas de flujo y/o diagramas de bloques y combinaciones de procesos y/o bloques en los diagramas de flujo y/o diagramas de bloques. Las instrucciones del programa informático se pueden proporcionar a un ordenador de propósito general, un ordenador de propósito especial, un procesador incorporado o un procesador de otro dispositivo de procesamiento de datos programable para generar una máquina, tal como el ordenador o el procesador de otro dispositivo de procesamiento de datos programable ejecutan una instrucción para generar un aparato configurado para implementar funciones designadas en uno o más procesos en un diagrama de flujo y/o uno o más bloques en un diagrama de bloques.
Las instrucciones del programa informático también pueden almacenarse en una memoria legible por ordenador que puede guiar al ordenador u otro dispositivo de procesamiento de datos programable para trabajar de una manera específica, de tal modo que la instrucción almacenada en la memoria legible por ordenador genera un artículo de fabricación que incluye un aparato de instrucción, y el aparato de instrucción implementa funciones designadas por uno o más procesos en un diagrama de flujo y/o uno o más bloques en un diagrama de bloques.
Las instrucciones del programa informático también pueden cargarse en el ordenador u otro dispositivo de procesamiento de datos programable, de tal modo que se ejecuten una serie de etapas de operación en el ordenador u otro dispositivo programable para generar un procesamiento implementado por ordenador y, por lo tanto, la instrucción ejecutada en el ordenador u otro dispositivo programable proporciona etapas para implementar funciones designadas en uno o más procesos en un diagrama de flujo y/o uno o más bloques en un diagrama de bloques.
En una configuración típica, el dispositivo informático incluye una o más unidades centrales de procesamiento (CPUs), una interfaz de entrada/salida, una interfaz de red, y una memoria.
La memoria puede incluir medios legibles por ordenador, tales como una memoria volátil, una Memoria de Acceso Aleatorio (RAM), y/o una memoria no volátil, por ejemplo, una Memoria de Solo Lectura (ROM) o una memoria RAM flash. La memoria es un ejemplo de un medio legible por ordenador.
El medio legible por ordenador incluye medios no volátiles y volátiles, así como medios móviles y no móviles, y puede implementar el almacenamiento de información a través de cualquier método o tecnología. La información puede ser una instrucción legible por ordenador, una estructura de datos, y un módulo de un programa u otros datos. Un ejemplo del medio de almacenamiento de un ordenador incluye, pero no se limita a, una memoria de cambio de fase (PRAM), una memoria estática de acceso aleatorio (SRAM), una memoria dinámica de acceso aleatorio (DRAM), otros tipos de RAM, una ROM, una memoria de solo lectura programable y borrable eléctricamente (EEPROM), una memoria flash u otras tecnologías de memoria, una memoria de disco compacto de solo lectura (CD-ROM), un disco versátil digital (DVD) u otros almacenamientos ópticos, una cinta de casete, un almacenamiento en cinta magnética/disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que no sea de transmisión, y se puede
utilizar para almacenar información accesible al dispositivo informático. De acuerdo con la definición en este texto, el medio legible por ordenador no incluye los medios transitorios, tales como una señal de datos modulada y un portador.
Cabe señalar además que los términos “incluye”, “comprende” o cualquier otra variación de los mismos están destinados a cubrir la inclusión no exclusiva, de tal modo que un proceso, método, producto o dispositivo que incluye una serie de elementos no solo incluye los elementos, sino también incluye otros elementos no enumerados expresamente, o incluye además elementos inherentes al proceso, método, producto o dispositivo. En ausencia de más limitaciones, un elemento definido por “que incluye un/una...” no excluye que el proceso, método, producto o dispositivo que incluye el elemento tenga además otros elementos idénticos.
Esta especificación se puede describir en un contexto general de una instrucción ejecutable por ordenador ejecutada por un ordenador, por ejemplo, un módulo de programa. En general, el módulo de programa incluye una rutina, un programa, un objeto, un conjunto, una estructura de datos, y similares utilizados para ejecutar una tarea específica o implementar un tipo de datos abstractos específicos. Esta especificación también se puede implementar en entornos informáticos distribuidos. En estos entornos informáticos distribuidos, se ejecuta una tarea mediante el uso de dispositivos de procesamiento remoto conectados a través de una red de comunicaciones. En los entornos informáticos distribuidos, el módulo de programa puede estar ubicado en un medio de almacenamiento informático local y remoto que incluye un dispositivo de almacenamiento.
Las realizaciones en la especificación se describen progresivamente, se pueden obtener partes idénticas o similares de las realizaciones con referencia entre sí, y cada realización enfatiza una parte diferente de otras realizaciones. Especialmente, la realización del sistema es básicamente similar a las realizaciones del método, por lo tanto, se describe de manera simple. Para las partes relacionadas, consultar las descripciones de las partes en las realizaciones del método.
La descripción anterior es simplemente de realizaciones de esta especificación, y no se utiliza para limitar esta aplicación.
Claims (7)
1. Un método de activación de voz implementado por ordenador, que comprende:
entrenar un patrón de activación de voz con datos de voz generales, en donde el entrenamiento incluye: optimizar iterativamente los parámetros en el patrón de activación de voz con los datos de voz generales a través de un método de descenso de gradiente estocástico asíncrono hasta que el entrenamiento converja;
adquirir datos de voz específicos de palabras clave, y entrenar el patrón de activación de voz con los datos de voz específicos de palabras clave, en donde una tasa de aprendizaje utilizada en el entrenamiento con los datos de voz específicos de palabras clave es menor que la utilizada en el entrenamiento del patrón de activación de voz con los datos de voz generales;
ingresar (S202) datos de voz en el patrón de activación de voz entrenado con los datos de voz generales y los datos de voz específicos de palabras clave; y
generar (S204), mediante el patrón de activación de voz, un resultado para determinar si se ejecuta la activación de voz,
en donde el patrón de activación de voz comprende una Red Neuronal Profunda, DNN, y un Clasificador Temporal Conexionista, CTC en secuencia.
2. El método de la reivindicación 1, en donde los datos de voz generales comprenden un corpus LVCSR de Reconocimiento Continuo de Voz de Vocabulario Extenso.
3. El método de la reivindicación 1, comprendiendo además:
una verificación cruzada del patrón de activación de voz con un conjunto de datos de verificación en el entrenamiento para determinar si el entrenamiento converge.
4. El método de cualquiera de las reivindicaciones 1 a 3, en donde la generación, mediante el patrón de activación de voz, de un resultado para determinar si ejecuta la activación de voz comprende:
extraer características acústicas a partir de los datos de voz de entrada;
ingresar las características acústicas en la DNN comprendida en el patrón de activación de voz para el procesamiento con el fin de obtener una probabilidad de clase de las características acústicas correspondientes respectivamente a cada fonema de pronunciación;
ingresar la probabilidad de clase en el CTC comprendido en el patrón de activación de voz para el procesamiento con el fin de obtener una puntuación de confianza de un término de activación de voz correspondiente a una secuencia de fonemas de pronunciación;
determinar si ejecuta la activación de acuerdo con la puntuación de confianza; y
generar un resultado de determinación.
5. El método de la reivindicación 4, en donde la extracción de características acústicas a partir de los datos de voz de entrada comprende:
extraer marcos de características acústicas de los datos de voz de entrada a partir de una ventana de acuerdo con un intervalo de tiempo especificado, en donde cada uno de los marcos de características acústicas son energías del banco de filtros de registro multidimensional;
apilar una pluralidad de marcos de características acústicas adyacentes respectivamente; y
tomar los marcos de características acústicas apiladas respectivamente como características acústicas extraídas a partir de la voz monitorizada.
6. Un dispositivo electrónico, que comprende:
al menos un procesador; y
una memoria conectada comunicativamente a el al menos un procesador, en donde la memoria almacena instrucciones ejecutables por el al menos un procesador y las instrucciones son ejecutadas por el al menos un procesador para hacer que el dispositivo electrónico realice el método de cualquiera de las reivindicaciones 1 a 5.
7. Un medio legible por ordenador que almacena instrucciones las cuales, cuando son ejecutadas por al menos un procesador de un dispositivo electrónico, hacen que el dispositivo electrónico realice el método de cualquiera de las reivindicaciones 1 a 5.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710514348.6A CN107358951A (zh) | 2017-06-29 | 2017-06-29 | 一种语音唤醒方法、装置以及电子设备 |
| PCT/CN2018/092899 WO2019001428A1 (zh) | 2017-06-29 | 2018-06-26 | 一种语音唤醒方法、装置以及电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2878137T3 true ES2878137T3 (es) | 2021-11-18 |
Family
ID=60274110
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES18823086T Active ES2878137T3 (es) | 2017-06-29 | 2018-06-26 | Método y dispositivo de activación de voz y dispositivo electrónico |
Country Status (11)
| Country | Link |
|---|---|
| US (2) | US20200013390A1 (es) |
| EP (1) | EP3579227B1 (es) |
| JP (1) | JP6877558B2 (es) |
| KR (1) | KR102181836B1 (es) |
| CN (1) | CN107358951A (es) |
| ES (1) | ES2878137T3 (es) |
| PH (1) | PH12019501674A1 (es) |
| PL (1) | PL3579227T3 (es) |
| SG (1) | SG11201906576WA (es) |
| TW (1) | TWI692751B (es) |
| WO (1) | WO2019001428A1 (es) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107358951A (zh) * | 2017-06-29 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种语音唤醒方法、装置以及电子设备 |
| CN108320733B (zh) * | 2017-12-18 | 2022-01-04 | 上海科大讯飞信息科技有限公司 | 语音数据处理方法及装置、存储介质、电子设备 |
| CN108182937B (zh) * | 2018-01-17 | 2021-04-13 | 出门问问创新科技有限公司 | 关键词识别方法、装置、设备及存储介质 |
| US11488002B2 (en) * | 2018-02-15 | 2022-11-01 | Atlazo, Inc. | Binary neural network accelerator engine methods and systems |
| CN108597523B (zh) * | 2018-03-23 | 2019-05-17 | 平安科技(深圳)有限公司 | 说话人认证方法、服务器及计算机可读存储介质 |
| WO2019222996A1 (en) * | 2018-05-25 | 2019-11-28 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for voice recognition |
| CN110619871B (zh) * | 2018-06-20 | 2023-06-30 | 阿里巴巴集团控股有限公司 | 语音唤醒检测方法、装置、设备以及存储介质 |
| US11257481B2 (en) | 2018-10-24 | 2022-02-22 | Tencent America LLC | Multi-task training architecture and strategy for attention-based speech recognition system |
| CN111276138B (zh) * | 2018-12-05 | 2023-07-18 | 北京嘀嘀无限科技发展有限公司 | 一种语音唤醒系统中处理语音信号的方法及装置 |
| CN109886386B (zh) * | 2019-01-30 | 2020-10-27 | 北京声智科技有限公司 | 唤醒模型的确定方法及装置 |
| CN109872713A (zh) * | 2019-03-05 | 2019-06-11 | 深圳市友杰智新科技有限公司 | 一种语音唤醒方法及装置 |
| CN110310628B (zh) * | 2019-06-27 | 2022-05-20 | 百度在线网络技术(北京)有限公司 | 唤醒模型的优化方法、装置、设备及存储介质 |
| US11081102B2 (en) * | 2019-08-16 | 2021-08-03 | Ponddy Education Inc. | Systems and methods for comprehensive Chinese speech scoring and diagnosis |
| JP7098587B2 (ja) * | 2019-08-29 | 2022-07-11 | 株式会社東芝 | 情報処理装置、キーワード検出装置、情報処理方法およびプログラム |
| CN110634468B (zh) * | 2019-09-11 | 2022-04-15 | 中国联合网络通信集团有限公司 | 语音唤醒方法、装置、设备及计算机可读存储介质 |
| CN110648668A (zh) * | 2019-09-24 | 2020-01-03 | 上海依图信息技术有限公司 | 关键词检测装置和方法 |
| CN110648659B (zh) * | 2019-09-24 | 2022-07-01 | 上海依图信息技术有限公司 | 基于多任务模型的语音识别与关键词检测装置和方法 |
| CN110970016B (zh) * | 2019-10-28 | 2022-08-19 | 苏宁云计算有限公司 | 一种唤醒模型生成方法、智能终端唤醒方法及装置 |
| CN110853629A (zh) * | 2019-11-21 | 2020-02-28 | 中科智云科技有限公司 | 一种基于深度学习的语音识别数字的方法 |
| CN110992929A (zh) * | 2019-11-26 | 2020-04-10 | 苏宁云计算有限公司 | 一种基于神经网络的语音关键词检测方法、装置及系统 |
| US11341954B2 (en) * | 2019-12-17 | 2022-05-24 | Google Llc | Training keyword spotters |
| JP7438744B2 (ja) * | 2019-12-18 | 2024-02-27 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
| CN111640426A (zh) * | 2020-06-10 | 2020-09-08 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
| CN111883121A (zh) * | 2020-07-20 | 2020-11-03 | 北京声智科技有限公司 | 唤醒方法、装置及电子设备 |
| CN112233655B (zh) * | 2020-09-28 | 2024-07-16 | 上海声瀚信息科技有限公司 | 一种提高语音命令词识别性能的神经网络训练方法 |
| CN112669818B (zh) * | 2020-12-08 | 2022-12-02 | 北京地平线机器人技术研发有限公司 | 语音唤醒方法及装置、可读存储介质、电子设备 |
| CN112733272A (zh) * | 2021-01-13 | 2021-04-30 | 南昌航空大学 | 一种解决带软时间窗的车辆路径问题的方法 |
| CN112882760A (zh) * | 2021-02-22 | 2021-06-01 | 北京声智科技有限公司 | 一种智能设备的唤醒方法、装置及设备 |
| US12236939B2 (en) * | 2021-03-12 | 2025-02-25 | Samsung Electronics Co., Ltd. | Method of generating a trigger word detection model, and an apparatus for the same |
| CN113113007A (zh) * | 2021-03-30 | 2021-07-13 | 北京金山云网络技术有限公司 | 语音数据的处理方法和装置、电子设备和存储介质 |
| US11967322B2 (en) | 2021-05-06 | 2024-04-23 | Samsung Electronics Co., Ltd. | Server for identifying false wakeup and method for controlling the same |
| KR102599480B1 (ko) * | 2021-05-18 | 2023-11-08 | 부산대학교 산학협력단 | 키워드 음성인식을 위한 자동 학습 시스템 및 방법 |
| CN113160823B (zh) * | 2021-05-26 | 2024-05-17 | 中国工商银行股份有限公司 | 基于脉冲神经网络的语音唤醒方法、装置及电子设备 |
| CN113744734A (zh) * | 2021-08-30 | 2021-12-03 | 青岛海尔科技有限公司 | 一种语音唤醒方法、装置、电子设备及存储介质 |
| KR20230068087A (ko) * | 2021-11-10 | 2023-05-17 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
| CN113990296B (zh) * | 2021-12-24 | 2022-05-27 | 深圳市友杰智新科技有限公司 | 语音声学模型的训练方法、后处理方法和相关设备 |
| CN114333798A (zh) * | 2022-01-04 | 2022-04-12 | 厦门快商通科技股份有限公司 | 语音识别唤醒的方法、装置、终端设备及计算机可读介质 |
| CN114373461A (zh) * | 2022-01-21 | 2022-04-19 | 贝壳找房网(北京)信息技术有限公司 | 门的控制方法和装置、电子设备和存储介质 |
| CN115223555B (zh) * | 2022-06-09 | 2025-11-25 | 中国科学技术大学 | 语音唤醒方法、声学模型的训练方法及相关装置 |
| CN115171736B (zh) * | 2022-07-13 | 2025-04-04 | 成都市联洲国际技术有限公司 | 语音活性检测模型的生成方法、处理器与电子设备 |
| US20240119925A1 (en) * | 2022-10-10 | 2024-04-11 | Samsung Electronics Co., Ltd. | System and method for post-asr false wake-up suppression |
| CN115862604B (zh) * | 2022-11-24 | 2024-02-20 | 镁佳(北京)科技有限公司 | 语音唤醒模型训练及语音唤醒方法、装置及计算机设备 |
| WO2025047998A1 (ko) * | 2023-08-29 | 2025-03-06 | 주식회사 엔씨소프트 | 지정된 텍스트에 대응하는 음성 신호를 식별하기 위한 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체 |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05128286A (ja) * | 1991-11-05 | 1993-05-25 | Ricoh Co Ltd | ニユーラルネツトワークによるキーワードスポツテイング方式 |
| JP2007179239A (ja) * | 2005-12-27 | 2007-07-12 | Kenwood Corp | スケジュール管理装置及びプログラム |
| US9117449B2 (en) * | 2012-04-26 | 2015-08-25 | Nuance Communications, Inc. | Embedded system for construction of small footprint speech recognition with user-definable constraints |
| US9177547B2 (en) * | 2013-06-25 | 2015-11-03 | The Johns Hopkins University | System and method for processing speech to identify keywords or other information |
| CN104378723A (zh) * | 2013-08-16 | 2015-02-25 | 上海耐普微电子有限公司 | 具有语音唤醒功能的麦克风 |
| US9715660B2 (en) * | 2013-11-04 | 2017-07-25 | Google Inc. | Transfer learning for deep neural network based hotword detection |
| US9443522B2 (en) * | 2013-11-18 | 2016-09-13 | Beijing Lenovo Software Ltd. | Voice recognition method, voice controlling method, information processing method, and electronic apparatus |
| CN105096935B (zh) * | 2014-05-06 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种语音输入方法、装置和系统 |
| US10783900B2 (en) * | 2014-10-03 | 2020-09-22 | Google Llc | Convolutional, long short-term memory, fully connected deep neural networks |
| BR112017021673B1 (pt) * | 2015-04-10 | 2023-02-14 | Honor Device Co., Ltd | Método de controle de voz, meio não-transitório legível por computador e terminal |
| CN106297774B (zh) * | 2015-05-29 | 2019-07-09 | 中国科学院声学研究所 | 一种神经网络声学模型的分布式并行训练方法及系统 |
| TWI639153B (zh) * | 2015-11-03 | 2018-10-21 | 絡達科技股份有限公司 | 電子裝置及其透過語音辨識喚醒的方法 |
| JP6679898B2 (ja) * | 2015-11-24 | 2020-04-15 | 富士通株式会社 | キーワード検出装置、キーワード検出方法及びキーワード検出用コンピュータプログラム |
| WO2017100298A1 (en) | 2015-12-07 | 2017-06-15 | The University Of Florida Research Foundation, Inc. | Pulse-based automatic speech recognition |
| CN106887227A (zh) * | 2015-12-16 | 2017-06-23 | 芋头科技(杭州)有限公司 | 一种语音唤醒方法及系统 |
| CN105632486B (zh) * | 2015-12-23 | 2019-12-17 | 北京奇虎科技有限公司 | 一种智能硬件的语音唤醒方法和装置 |
| US10229672B1 (en) * | 2015-12-31 | 2019-03-12 | Google Llc | Training acoustic models using connectionist temporal classification |
| CN105931633A (zh) * | 2016-05-30 | 2016-09-07 | 深圳市鼎盛智能科技有限公司 | 语音识别的方法及系统 |
| CN106098059B (zh) * | 2016-06-23 | 2019-06-18 | 上海交通大学 | 可定制语音唤醒方法及系统 |
| CN106611597B (zh) * | 2016-12-02 | 2019-11-08 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音唤醒方法和装置 |
| CN106782536B (zh) * | 2016-12-26 | 2020-02-28 | 北京云知声信息技术有限公司 | 一种语音唤醒方法及装置 |
| CN107221326B (zh) * | 2017-05-16 | 2021-05-28 | 百度在线网络技术(北京)有限公司 | 基于人工智能的语音唤醒方法、装置和计算机设备 |
| CN107358951A (zh) * | 2017-06-29 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种语音唤醒方法、装置以及电子设备 |
-
2017
- 2017-06-29 CN CN201710514348.6A patent/CN107358951A/zh active Pending
-
2018
- 2018-03-14 TW TW107108572A patent/TWI692751B/zh active
- 2018-06-26 SG SG11201906576WA patent/SG11201906576WA/en unknown
- 2018-06-26 EP EP18823086.6A patent/EP3579227B1/en active Active
- 2018-06-26 ES ES18823086T patent/ES2878137T3/es active Active
- 2018-06-26 WO PCT/CN2018/092899 patent/WO2019001428A1/zh not_active Ceased
- 2018-06-26 PL PL18823086T patent/PL3579227T3/pl unknown
- 2018-06-26 JP JP2019539235A patent/JP6877558B2/ja active Active
- 2018-06-26 KR KR1020197022130A patent/KR102181836B1/ko active Active
-
2019
- 2019-07-19 PH PH12019501674A patent/PH12019501674A1/en unknown
- 2019-09-16 US US16/571,468 patent/US20200013390A1/en not_active Abandoned
-
2020
- 2020-01-28 US US16/774,422 patent/US10748524B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP3579227B1 (en) | 2021-06-09 |
| EP3579227A1 (en) | 2019-12-11 |
| CN107358951A (zh) | 2017-11-17 |
| TW201905897A (zh) | 2019-02-01 |
| EP3579227A4 (en) | 2020-02-26 |
| KR102181836B1 (ko) | 2020-11-25 |
| TWI692751B (zh) | 2020-05-01 |
| WO2019001428A1 (zh) | 2019-01-03 |
| JP2020517977A (ja) | 2020-06-18 |
| PH12019501674A1 (en) | 2020-06-01 |
| SG11201906576WA (en) | 2019-08-27 |
| PL3579227T3 (pl) | 2021-10-18 |
| US20200013390A1 (en) | 2020-01-09 |
| KR20190134594A (ko) | 2019-12-04 |
| US10748524B2 (en) | 2020-08-18 |
| US20200168207A1 (en) | 2020-05-28 |
| JP6877558B2 (ja) | 2021-05-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2878137T3 (es) | Método y dispositivo de activación de voz y dispositivo electrónico | |
| KR102167719B1 (ko) | 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치 | |
| Ravanelli et al. | Light gated recurrent units for speech recognition | |
| Dahl et al. | Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition | |
| US10777188B2 (en) | Time-frequency convolutional neural network with bottleneck architecture for query-by-example processing | |
| Sak et al. | Fast and accurate recurrent neural network acoustic models for speech recognition | |
| CN111798840B (zh) | 语音关键词识别方法和装置 | |
| Chen et al. | Query-by-example keyword spotting using long short-term memory networks | |
| Povey et al. | Purely sequence-trained neural networks for ASR based on lattice-free MMI. | |
| Lu et al. | A study of the recurrent neural network encoder-decoder for large vocabulary speech recognition | |
| KR101970041B1 (ko) | 하이브리드 지피유/씨피유(gpu/cpu) 데이터 처리 방법 | |
| US9600764B1 (en) | Markov-based sequence tagging using neural networks | |
| Glass | Towards unsupervised speech processing | |
| Zhuang et al. | Unrestricted Vocabulary Keyword Spotting Using LSTM-CTC. | |
| WO2018118442A1 (en) | Acoustic-to-word neural network speech recognizer | |
| KR102870187B1 (ko) | 복수 의도어 획득을 위한 합성곱 신경망을 가진 장치 및 그 방법 | |
| Lugosch et al. | Donut: Ctc-based query-by-example keyword spotting | |
| CN110119505A (zh) | 词向量生成方法、装置以及设备 | |
| CN110119507A (zh) | 词向量生成方法、装置以及设备 | |
| Li et al. | Towards end-to-end speech recognition for Chinese Mandarin using long short-term memory recurrent neural networks. | |
| KR102292921B1 (ko) | 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치 | |
| Gumelar et al. | Bilstm-cnn hyperparameter optimization for speech emotion and stress recognition | |
| Chauhan et al. | Exploring on-device learning using few shots for audio classification | |
| Kandala et al. | Speaker Adaptation for Lip-Reading Using Visual Identity Vectors. | |
| Soltau et al. | Reducing the computational complexity for whole word models |