2011-12-05 10 views
9

¿Por qué el reconocimiento de voz es tan difícil? ¿Cuáles son los desafíos específicos implicados? Leí un question on speech recognition, que respondió parcialmente algunas de mis preguntas, pero las respuestas fueron en gran parte anecdóticas en lugar de técnicas. Además, todavía no respondía por qué todavía no podemos lanzar más hardware al problema.¿Por qué es difícil el reconocimiento de voz?

He visto herramientas que reducen el ruido automatizadas utilizando redes neuronales y análisis FFT ambiental con excelentes resultados, así que no veo razón por la que todavía estamos luchando contra el ruido excepto en escenarios difíciles como ruido de fondo ridículamente ruidoso o múltiples fuentes de habla

Más allá de esto, ¿no se trata simplemente de usar redes neuronales muy grandes, complejas y bien entrenadas para hacer el procesamiento y luego tirar hardware para que funcione lo suficientemente rápido?

Entiendo que los acentos fuertes son un problema y que todos tenemos nuestros coloquialismos, pero estos motores de reconocimiento aún se equivocan cuando la persona habla con un acento estadounidense o británico lento y claro.

Entonces, ¿cuál es el problema? ¿Qué problemas técnicos de existen que hacen que sea tan difícil que una computadora me entienda?

+0

Para la persona que marca cerrar esto como fuera de tema/no constructivo: no veo su razonamiento. Estoy pidiendo una respuesta específica, no una lista o respuesta subjetiva. También es un desafío altamente integrado en el campo de la programación, ya que es un desafío de programación específico que existe desde hace mucho tiempo, es decir, "crear un código que escuche mis palabras y las entienda". ¿Podría explicar por qué votó para cerrar? – Polynomial

+0

No lo es. ¿Necesita ver a un terapeuta del habla? (¿Incluso hacen reconocimiento de voz?) –

+0

No he marcado para cerrar, pero puedo ver por qué otros tienen. Probablemente se ajuste a lo siguiente: * esta pregunta probablemente solicitará opinión, debate, argumentos, encuestas o discusiones extensas. * –

Respuesta

11

Algunas razones técnicas:

  • es necesario una gran cantidad de datos de entrenamiento etiquetados , que puede ser difícil de adquirir una vez que se toma en acc oto todos los diferentes acentos, sonidos, etc.
  • Redes neuronales y gradientes de pendiente similares Los algoritmos no escalan tan bien - solo hacerlos más grandes (más capas, más nodos, más conexiones) no garantiza que aprendan para resolver su problema en un tiempo razonable. Ampliar el aprendizaje automático para resolver tareas complejas sigue siendo un problema difícil de resolver.
  • Muchos enfoques de aprendizaje automático requieren datos normalizados (por ejemplo, un punto de inicio definido, un paso estándar, una velocidad estándar). No funcionan bien una vez que te mueves fuera de estos parámetros. Existen técnicas tales como las redes neuronales convolucionales, etc. para abordar estos problemas, pero todas añaden complejidad y requieren una gran cantidad de ajustes precisos por parte de expertos.
  • El tamaño de los datos para voz puede ser bastante grande: el tamaño de los datos hace que los problemas de ingeniería y los requisitos de computación sean un poco más desafiantes.
  • Los datos del habla generalmente deben ser interpretados en contexto para una mejor comprensión: el cerebro humano es notablemente bueno en "rellenar los espacios en blanco" según el contexto entendido. Las informaciones faltantes y las diferentes interpretaciones se completan con la ayuda de otras modalidades (como la visión). Los algoritmos actuales no "entienden" el contexto por lo que no pueden usar esto para ayudar a interpretar los datos de voz. Esto es particularmente problemático porque muchos sonidos/palabras son ambiguos a menos que se tomen en contexto.

En general, el reconocimiento de voz es una tarea compleja. No imposible, pero lo suficientemente difícil como para no esperar ningún milagro repentino y sin duda mantendrá a muchos reasearchers ocupados durante muchos años más .....

+0

Este es el tipo de información que estaba buscando. Muy interesante. ¿Tiene alguna cita que pueda leer? – Polynomial

+0

No tengo ninguna referencia particular a mano, pero creo que un poco de Google lo ayudará a encontrar algunos detalles sobre la mayoría de estos temas. Vale la pena señalar que muchos de los problemas son comunes al aprendizaje automático en general, no solo al habla. – mikera

2

Los seres humanos utilizan más que sus oídos al escuchar, utilizan el conocimiento que tienen sobre el hablante y el sujeto. Las palabras no están secuenciadas arbitrariamente juntas, existe una estructura gramatical y redundancia que los humanos usan para predecir palabras aún no habladas. Además, los modismos y la forma en que 'generalmente' dicen que las cosas hacen que la predicción sea aún más fácil.

En Reconocimiento de voz, solo tenemos la señal de voz. Por supuesto, podemos construir un modelo para la estructura gramatical y usar algún tipo de modelo estadístico para mejorar la predicción, pero todavía existe el problema de cómo modelar el conocimiento del mundo , el conocimiento del hablante y el conocimiento enciclopédico. Nosotros podemos, por supuesto, no modelar el conocimiento del mundo exhaustivamente, pero una pregunta interesante es cuánto necesitamos en realidad en el ASR para medir hasta la comprensión humana .

habla se pronunció en un ambiente de sonidos, un reloj, un zumbido equipo , radio jugar algún lugar por el pasillo, otro altavoz humano en el fondo etc. Esto generalmente se llama ruido, es decir, no deseada información en la señal del habla En Speech Recognition tenemos que identificar y filtrar estos ruidos de la señal de voz. lenguaje hablado = El lenguaje escrito

1: el habla continua

2: Canal Variabilidad

3: Altavoz Variabilidad

4: Hablando de estilo

5: Velocidad de expresión

6: ambigüedad

Todos estos puntos deben tenerse en cuenta al construir un reconocimiento de voz, por eso es bastante difícil.

------------- Refirió desde http://www.speech.kth.se/~rolf/gslt_papers/MarkusForsberg.pdf

2

Un montón de problemas importantes en el reconocimiento de voz no están directamente relacionados con el lenguaje mismo:

personas
  • diferentes (las mujeres , hombres, niños, ancianos, etc.) tienen diferentes voces
  • veces la misma persona suena diferente, por ejemplo, cuando la persona tiene un resfriado
  • fondo diferente ruidos
  • habla cotidiana a veces contiene palabras de otros idiomas (como usted tiene la palabra alemana guardería en los EE.UU./Inglés)
  • algunas personas no desde el propio país aprendió la lengua (que suelen sonar diferente)
  • algunas personas parecen ser más rápido, otros hablan más lenta
  • calidad del micrófono
    etc.

Resolviendo estas cosas siempre es bastante difícil ... en la parte superior de la que tiene el idioma/pronunciación para cuidar de ...

Para referencia, véase el artículo de Wikipedia http://en.wikipedia.org/wiki/Speech_recognition - tiene una buena visión de conjunto que incluye algunos enlaces y referencias de libros que son un buen punto de partida ...

Desde el Punto de vista técnico, el "pre-procesamiento de audio" es sólo un paso en un largo proceso ... digamos que el audio es "claro criptográfico", entonces varios de los aspectos mencionados anteriormente (como tener un resfriado, tener una confusión en idiomas, etc.) aún deben ser resueltos.

Todo esto significa que para un buen reconocimiento de voz necesita tener un modelo del idioma que sea lo suficientemente minucioso como para explicar pequeñas diferencias (como "ate" versus "ocho") que generalmente implica algún análisis de contexto (es decir, conocimiento semántico y fáctico/mundial, consulte http://en.wikipedia.org/wiki/Semantic%5Fgap) etc.

Dado que casi todos los idiomas relevantes han evolucionado y no se diseñaron como modelos matemáticos, básicamente es necesario "aplicar ingeniería inversa" al conocimiento implícito y explícito disponible sobre un idioma en un modelo que es un gran desafío en mi humilde opinión.

Habiendo trabajado con redes neuronales puedo asegurarles que si bien proporcionan buenos resultados en algunos casos, no son "herramientas mágicas" ... casi siempre una buena red neuronal ha sido cuidadosamente diseñada y optimizada para los requisitos específicos. .. en este contexto, se necesita tanto una amplia experiencia/conocimiento de idiomas y redes neuronales PLUS amplia formación para lograr resultados útiles ...

+0

Solo una pequeña corrección; en el cuarto párrafo, has escrito mal el "claro como el cristal". – ozanmuyes

2

Sospecho que estás interesado en el reconocimiento de voz 'continuo', donde el hablante habla oraciones (no palabras sueltas) a velocidad normal.

El problema no es simplemente uno de análisis de señal, sino que también hay un gran componente de lenguaje natural. La mayoría de nosotros entiende el lenguaje hablado no analizando cada cosa que escuchamos, ya que eso nunca funcionaría porque cada persona habla de manera diferente, los fonemas son suprimidos, las pronunciaciones son diferentes, etc. Simplemente interpretamos una parte de lo que escuchamos y el resto es 'interpolado' por nuestro cerebro una vez que se establece el contexto de lo que se está diciendo. Cuando no tienes contexto, es difícil entender el lenguaje hablado.

1

Ha sido una década desde que tomé una clase de idioma en la universidad, pero por lo que recuerdo el lenguaje se puede dividir en phonemes. Los procesadores de lenguaje hacen todo lo posible para identificar estos fonemas, pero son únicos para cada individuo. Incluso una vez que se rompen, deben ser reensamblados en una construcción significativa.

Tomando este ejemplo, los humanos son bastante capaces de leer sin signos de puntuación y sin letras mayúsculas y sin espacios. Tarda un segundo, pero podemos hacerlo bastante rápido. Esto es lo que una computadora debe observar cuando recibe un bloque de fonemas. Sin embargo, las computadoras no son tan buenas para analizar estos datos. Una de las razones es que es difícil para las computadoras tener contexto. Los humanos pueden incluso entender bebés a pesar de que sus fonemas pueden estar completamente equivocados.

Incluso si tiene todos los fonemas correctos, entonces organizarlos en un orden que tenga sentido también es difícil.

Cuestiones relacionadas